写点什么

快速开发光伏电站数字孪生运维系统——实践类

作者:阿里云AIoT
  • 2023-02-16
    浙江
  • 本文字数:5757 字

    阅读完需:约 19 分钟

项目背景

在碳达峰和碳中和的大背景下,全球各个国家对可持续能源的重视,光伏发电以其分布广发、安装灵活、清洁可持续等优点,已经成为主要的新能源生产方式之一。光伏电站一旦建设完成投入生产,就会进入长达 20 年以上的运维阶段,因此高效便捷的运维方式对于提高运维效率、降低运维过程中成本和风险就变得极为重要。


数字孪生技术通过各类传感器及联网设备,可以实时感知光伏电站的各项运行状态,通过经验规则及数据智能(大数据分析)方式及时检测出设备异常,第一时间通知运维人员进行故障处理以降低更大故障的发生,提高电站的发电效率,进而提升电站整体收益。3D 全场景模型应用往往可以提升大屏监控的效率及汇报展示的效果,因此 3D 应用系统常常会作为数字孪生系统的重要组成,与实时的核心数据联动,以清晰易懂的形式展示在 3D 模型上,帮助客户更好理解当前系统的运行状态。


在开发光伏电站数字孪生系统过程中,需要涉及物联网、孪生模型构建、实时数据计算、数据智能、3D 模型渲染及数据联动等多项复杂的工作,阿里云物联网平台及其 IoT 孪生引擎增值服务提供了开发数字孪生系统的多种核心功能,利用这些功能开发者可快速构建出符合自身业务特性的数字孪生系统。本文重点介绍如何从零开始构建出光伏电站数字孪生系统的详细步骤。


主要流程


准备阶段

梳理业务流程

所有的数字化系统都是为了特定业务目的而开发的,因此系统全面地梳理整个业务系统的运行流程、系统构成及特定规则等是构建数字孪生系统的核心基础。在此案例中,我们整理的业务架构图如下(发电阵列架构组成都一样,图上 B 区发电阵列省略了 PV 与组件):



整个光伏电站由四大部分组成:

  1. 光伏发电系统:由两个发电阵列(A 和 B)及气象仪组成,主要将光能转化成电能,是整个运维系统监控的核心。发电阵列是一个逻辑管理单元,是由下面多个逆变器组合而成,每个逆变器下又由多个 PV 组串构成,每个 PV 组串下面连接多个光伏组件;气象仪提供实时气象测量数据,辅助判断当前发电效率是否正常。

  2. 电器自用:光伏发电系统发的电首先给该集团内部的各种工厂设备及商用电器使用,优先保证电力的自给自足,这里面主要关心每天、每月及年度的电力使用量,取计量电表的数据。

  3. 电力储能站:光伏发电系统发的电如果自用有盈余,白天的时候可以将多余电力存入储能站,以便晚上无法发电时由储能站向自用的电器设备供电。储能站电表和多个主控组成,每个主控下又由多个电池堆组成,为了简化系统说明,我们只关注储能站的电表数据。

  4. 余电并网:光伏发电系统供给电器自用及储能站之后,如果还有盈余,则可以通过并网柜将多余的电量输送到电网中售卖以获得额外收入,为了简化系统说明,我们只关注余电并网中电表数据,以了解某个时间段内售卖给电网的电量。

确定系统目标

在光伏电站数字孪生运维系统建设完成之后,会通过实时采集各个设备上传的数据,并通过对历史数据比对、横向设备数据比对、数据实时计算、数据智能分析等方式,可以向客户提供:

  1. 系统状态实时感知,这是最基础的能力。如组件级、组串级、逆变器级、阵列级、电站级的实时发电量,通过实时计算获取到当日、当月及年度累计发电量;集团内电量的使用情况、储能站的充放电及输入到并网系统中的电量等。

  2. 发电系统异常及时感知及处理,以缩短故障处理时间,提高整个系统的发电效率。如逆变器过压过流异常、光伏组件的发电效率异常等,这里除了常规的经验规则阈值方法,还可以通过深度学习算法对历史数据进行训练学习,生成光伏发电领域的智能算法模型,通过对采集的数据进行智能分析来判断异常状态,如 I-V 曲线算法。

  3. 月度发电量预测,便于根据预测的发电量对用电进行合理规划。这个可以通过天气预报数据、历史发电数据、当前发电系统的状态等多维度数据,使用智能算法进行预测。


为了简化说明,本文只针对系统状态实时感知异常感知进行演示,以此作为整个系统建设完成后的目标。包括:

1.系统状态的实时数据通过 3D 模型中点击特定区域展示出来,包括:

  • a.PV 组串:实时电流、实时电压、实时功率(实时计算而来)等时序数据,也包括厂商、型号、倾角、方位角等固定的静态数据。

  • b.逆变器:安装区域(静态数据)、型号(静态数据)、版本(静态数据)、实时电压(实时计算获取,各 PV 组串累加)、实时电流(实时计算获取,下属 PV 的最大电流值)、实时功率(实时计算获取,实时电压*实时电流)、交流电压(U、V、W)、交流电流(U、V、W)、交流功率(U、V、W,实时计算获取,实时电压*实时电流)、IGBT 内芯温度(时序数据)、当天发电量(实时计算,累加)、当月发电量(实时计算,累加)、年度发电量(实时计算,累加)。

  • 发电阵列及发电系统:当日、当月及年度累计发电量,这些都是通过下属的逆变器数据实时计算获取。

  • 集团自用电表/储能站电表/余电并网电表/气象仪:为了简化说明,全部采用静态数据,实际构建系统时需要获取实时数据。

2.系统异常分析采用简单的规则方式,对以下两种情况进行告警,并在 3D 模型上实时提示:

  • 逆变器 IGBT 温度过高,当温度大于 120°时进行告警,并提示运维人员处理建议:1.检查安装位置是否符合要求。2.尝试降低周围环境温度。3.关闭逆变器 5 分钟后重新启动。

  • 逆变器直流过压,当电流超过 16A 时进行告警,并提示运维人员处理建议:检查光伏组串的串联配置是否过多,导致开路电压高于逆变器最大输入电压。若属此情况,尝试减少组串的数量,使组串开路电压降至逆变器规格范围以内。


需要注意的是,系统告警后除了在 3D 模型上进行展示提醒外,往往还会通过电话、短信或邮件等方式通知到运维人员进行及时处理,对于通知能力的集成可以通过物联网平台的事件响应服务(服务链接:https://help.aliyun.com/document_detail/473962.html)完成。

整理各设备物模型

业务流程梳理完成,并且确定好了系统目标,接下来需要对相关的设备进行物模型的定义,即每个设备的静态属性(属性值不会变化,如厂商、型号等)有哪些,会实时上报哪些数据及上报频率(这些为时序属性),还有哪些数据(这些数据成为虚拟属性)是通过上报的数据进行实时计算获取到的,如果是通过实时计算,计算的规则是什么等等。本文中为了简化开发,我们仅对光伏组件、逆变器、发电阵列、电站气象仪、光伏发电站 5 个部分进行物模型的梳理说明,详情信息如下所示:

光伏组件

逆变器



发电阵列

电站气象仪

光伏发电站


制作 3D 模型

整个光伏电站的实时状态展示及告警展示我们使用 IoT 孪生引擎的场景编辑器进行开发,需要根据电站的实际情况进行 3D 模型的制作,制作完成之后生成 GLB 或 GLTF 格式的文件导入到 IoT 孪生引擎中使用。我们准备的 3D 模型如下所示:



准备好 3D 模型后,我们就可以进入实际的系统开发阶段了。


开发阶段

基本概念

孪生空间整体的开发步骤,大致分成四步: 创建孪生空间、构建孪生体、配置数据源、管理孪生场景。



下面是后续操作会涉及到孪生引擎的一些核心概念。


前置准备

您需注册一个阿里云的账号,然后登录物联网平台,可以购买一个企业实例也可以先通过免费实例进行体验,免费实例也可进行 demo 体验。体验地址(需先登录阿里云账号):https://iot.console.aliyun.com/digital-twin-console/spaceDemo



创建孪生空间

创建孪生空间

在空间管理页面,点击“创建空间”按钮,输入空间名称,空间描述、空间坐标创建孪生空间,该空间包含孪生体、数据源及孪生场景,一个孪生空间可对应一个实际的项目。



构建孪生节点

在“孪生实体图”页面,点击“编辑孪生体”进行孪生体编辑器,通过右键“新建节点”或拖拽左上角孪生节点来添加新节点,用于构建孪生体节点关系结构。构建完成的孪生体用于描述客户的业务模型,后续数据源配置,孪生场景的搭建都是基于该孪生体模型进行。其中的节点可以和真实设备相对应,也可以是逻辑业务节点,我们按照在准备阶段梳理的业务流程创建对应的孪生节点。



添加物模型

我们按照准备阶段整理的各个设备物模型(光伏组件、逆变器、发电阵列、电站气象仪、光伏发电站),在对应的孪生节点上依次添加,如下图所示。



我们具体以逆变器_A1 节点的实时发电量为例,按照以下方式创建属性,注意属性标识符我们后面会在配置数据映射时用到,其它属性按照前面表格描述的设备物模型逐一录入即可。



添加虚拟属性

对于各个设备虚拟属性,需要通过其他属性数据的计算得来,在 IoT 孪生引擎中通过孪生规则来实现,我们根据在准备阶段梳理的设备物模型,依次创建设备的孪生规则来构建虚拟属性。

节点运算规则分成两种类型:

  • 自身节点规则 :自身节点物模型属性数据的计算规则

  • 父子节点规则 :父子节点间物模型属性数据的计算规则

仍然以前面在逆变器_A1 添加的 powerGeneration 属性为例,我们现在要计算日累计发电量,应该如何去做?先在逆变器_A1 节点定义一个虚拟属性 dayTotalPowerGeneration



dayTotalPowerGeneration 的来源是自身规则,即 dayTotalPowerGeneration=powerGeneration+dayTotalPowerGeneration 自身发电量的累加,我们按照如下的方式进行配置。即逆变器_A!节点的属性 powerGeneration 变化时,会触发该规则,进行累加输出回 dayTotalPowerGeneration 属性。



孪生模版

为更方便构建孪生实体,可选中孪生实体图中的节点生成孪生模板,会把选中节点的关系、物模型和规则都拷贝到模板中,然后再通过引用、拷贝模板的方式来构建孪生实体图。

在光伏电站场景中,逆变器、光伏组件都是需要复用创建的,因此我们都把第一个创建的孪生节点及其物模型通过创建模板的方式进行复用,以节省整个开发时间,操作步骤如下所述。

创建孪生模版

选中希望复用孪生节点,比如选择逆变器_A1 和它的子节点,点击右键生成孪生模板。



通过模板构建孪生体

通过拖拽孪生模版(将模板拖拽到响应的节点下面),即可构建相同物模型、阶段运算规则的孪生体节点,简化配置的过程。例如本次我们通过模板导入的方式添加一组逆变器,将模板_逆变器拖拽到 A 区_发电阵列上即可,需要注意的是,拖拽后的节点名称需要按需金总重新编辑,比如逆变器_A2:



配置数据源

逆变器、光伏组件、电站气象仪三类设备实时上报的数据会先到物联网平台上,通过数据源配置将这三类设备的数据映射到孪生实体的具体节点属性上,以达到孪生实体实时感知物理设备状态的目的。

脚本配置

孪生实体与物理设备之间是解耦关系,可使用数据映射功能,将物理设备的原始数据映射到孪生实体的业务模型中,即孪生节点的物模型属性上。数据映射由以下 3 部分组成:


我们仍然以逆变器_A1 的 powerGeneration 为例,配置一个设备,通过数据映射将其属性映射到逆变器_A1 节点的 powerGeneration 属性,此处我们选择设备通过物模型上报,以及具体的设备和 topic,如下图所示。



然后通过下面的 destConfig 将设备属性映射到孪生节点的具体属性,其中配置如下,iotId 为逆变器_A1 节点的节点 id(点击节点详情即可看到),identifier 为逆变器_A1 节点的属性标识符,key 为设备上报的物模型数据,设备上报的属性 key 为 powerGeneration,由于需要从物模型的标准流转数据格式中解析到该 key 的值,所以完整的 key 为 items\\.powerGeneration\\.value。

[	{		"identifier": "powerGeneration",		"iotId": "sGTmVQUGWJxSAb2hEI5Mg6pa00",		"key": "items\\.powerGeneration\\.value",		"name": "逆变器A01"	}]
复制代码


运行结果

我们通过气筒模拟器设备来进行数据模拟上报,其中模拟器选择的设备就是上一步我们在数据映射配置的设备,具体操作如下:



然后可以通过查看孪生节点的快照、历史数据、运行日志等来观察孪生体的运行情况,下图为逆变器_A1 的实时发电量。




场景配置

场景是数字孪生方案中的展示及交互页面,以 3D 方式展示孪生模型中的实时数据、状态及告警信息。可在场景中关联孪生模型中的数据源,配置状态及告警,完成配置后可预览并发布页面,页面发布完成后可嵌入至业务系统中进行展示,我们这里新建一个光伏商业电站的场景进行配置。

场景管理

点击“场景管理”页面,创建一个名称为“光伏商业电站”的场景,描述可选填。



若关闭提示面板,可在场景列表,单击场景卡片,或单击卡片右下角的更多图标后单击进入编辑工作台,进入场景编辑工作台。



3D 资源管理

场景当中依赖的 3D 资源在此处进行上传和管理,将准备阶段制作的光伏电站 3D 模型(gltf/glb 类型)文件进行上传。



场景编辑器

进入场景编辑器后将前一步上传的模型拖拽到场景中,本模型不做样式调整,仅调整角度及缩放比例。



场景数据配置

在场景编辑器中,点击“数据配置”TAB,再点击组件面板“+”添加一个组件,在右侧面板中依次对组件进行命名(选择一个有业务含义的名字,如本图中“A 区电站-1 号逆变器”),选择该组件对应的 3D 文件 MESH(可选择多个),再选择该组件关联的孪生节点,之后该孪生节点的物模型属性数据可作为基础数据配置不同的数据看板,如下图所示配置了 5 个数据看板(可根据看板偏好选择仪表盘、趋势图、水位图等样式)。



以前面演示的实时发电量和当日累计发电量为例,看一下这两个数据面板和趋势图的配置,针对实时发电量,我们选择逆变器_A1 节点的 powerGeneration 属性,然后样式选择仪表盘,分别再填写展示名称和展示单位,最后选择不同数据范围对应的颜色样式即可。



同理按照如下方式构建趋势面板,当月累计发电量。



告警配置:如下图所示,点击编辑组件面板告警标示,新建一个告警,告警内容为在“准备阶段-确定系统目标”章节定义的告警内容,即 IGBT 内心片温度大于 120 度,触发告警,此处可以使用简单的条件表达式,也可以自定义复杂表达式。



这样当关联的数据超过所设定的阈值后就可以以告警图标显示出来,点击告警图标后可以显示具体的告警内容及维修建议。




按照上述数据配置步骤将其他需要在 3D 模型上展示的数据及告警依次进行配置完成即可。

场景分享 &预览

在所有数据配置完成之后,点击场景编辑器右上角“预览”图标,查看配置是否正常。若所有配置符合预期,点击场景编辑器右上角“分享”图标将页面分享给其他用户,其他用户可直接通过链接 URL 和密码查看已经配置好的光伏电站数字孪生运维系统,比如接入到监控大屏或在展会时直接通过 URL 访问向客户进行演示。



结语

通过阅读本文,相信您已经了解了构建数字孪生系统的基本步骤以及如何使用阿里云 IoT 孪生引擎来开发数字孪生系统。如果您后续想要进一步了解 IoT 孪生引擎可以通过我们的官方网站进行查看,或者直接通过下面的钉钉二维码联系我们合作。


物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn


阿里云物联网平台客户交流群

用户头像

阿里云AIoT

关注

物联网内容搬运者 2022-04-22 加入

还未添加个人简介

评论

发布
暂无评论
快速开发光伏电站数字孪生运维系统——实践类_阿里云_阿里云AIoT_InfoQ写作社区