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

简介: 在开发光伏电站数字孪生系统过程中,涉及物联网、孪生模型构建、实时数据计算、数据智能、3D模型渲染及数据联动等多项复杂工作,IoT孪生引擎帮助开发者快速构建出符合自身业务特性的数字孪生系统。

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

1. 准备阶段

在本实验中,本章节仅需要了解基础概念,无需实操。

一、梳理业务流程

所有的数字化系统都是为了特定业务目的而开发的,因此系统全面地梳理整个业务系统的运行流程、系统构成及特定规则等是构建数字孪生系统的核心基础。在此案例中,我们整理的业务架构图如下:

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

  1. 光伏发电系统:由两个发电阵列(A和B)及气象仪组成,主要将光能转化成电能,是整个运维系统监控的核心。发电阵列是一个逻辑管理单元,是由下面多个逆变器组合而成,每个逆变器下又由多个PV组串构成,每个PV组串下面连接多个光伏组件;气象仪提供实时气象测量数据,辅助判断当前发电效率是否正常
  2. 电器自用:光伏发电系统发的电首先给该集团内部的各种工厂设备及商用电器使用,优先保证电力的自给自足,这里面主要关心每天、每月及年度的电力使用量,取计量电表的数据
  3. 电力储能站:光伏发电系统发的电如果自用有盈余,白天的时候可以将多余电力存入储能站,以便晚上无法发电时由储能站向自用的电器设备供电。储能站电表和多个主控组成,每个主控下又由多个电池堆组成,为了简化系统说明,我们只关注储能站的电表数据
  4. 余电并网:光伏发电系统供给电器自用及储能站之后,如果还有盈余,则可以通过并网柜将多余的电量输送到电网中售卖以获得额外收入,为了简化系统说明,我们只关注余电并网中电表数据,以了解某个时间段内售卖给电网的电量

二、确定系统目标

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

  1. 系统状态实时感知,这是最基础的能力。如组件级、组串级、逆变器级、阵列级、电站级的实时发电量,通过实时计算获取到当日、当月及年度累计发电量;集团内电量的使用情况、储能站的充放电及输入到并网系统中的电量等
  2. 发电系统异常及时感知及处理,以缩短故障处理时间,提高整个系统的发电效率。如逆变器过压过流异常、光伏组件的发电效率异常等,这里除了常规的经验规则阈值方法,还可以通过深度学习算法对历史数据进行训练学习,生成光伏发电领域的智能算法模型,通过对采集的数据进行智能分析来判断异常状态,如I-V曲线算法
  3. 月度发电量预测,便于根据预测的发电量对用电进行合理规划。这个可以通过天气预报数据、历史发电数据、当前发电系统的状态等多维度数据,使用智能算法进行预测

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

  1. 系统状态的实时数据通过3D模型中点击特定区域展示出来,包括:
  2. PV组串:实时电流、实时电压、实时功率(实时计算而来)等时序数据,也包括厂商、型号、倾角、方位角等固定的静态数据
  3. 逆变器:安装区域(静态数据)、型号(静态数据)、版本(静态数据)、实时电压(实时计算获取,各PV组串累加)、实时电流(实时计算获取,下属PV的最大电流值)、实时功率(实时计算获取,实时电压*实时电流)、交流电压(U、V、W)、交流电流(U、V、W)、交流功率(U、V、W,实时计算获取,实时电压*实时电流)、IGBT内芯温度(时序数据)、当天发电量(实时计算,累加)、当月发电量(实时计算,累加)、年度发电量(实时计算,累加)
  4. 发电阵列及发电系统:当日、当月及年度累计发电量,这些都是通过下属的逆变器数据实时计算获取
  5. 集团自用电表/储能站电表/余电并网电表/气象仪:为了简化说明,全部采用静态数据,实际构建系统时需要获取实时数据。
  6. 系统异常分析采用简单的规则方式,对以下两种情况进行告警,并在3D模型上实时提示:
  7. 逆变器IGBT温度过高,当温度大于120°时进行告警,并提示运维人员处理建议:1.检查安装位置是否符合要求。2.尝试降低周围环境温度。3.关闭逆变器5分钟后重新启动
  8. 逆变器直流过压,当电流超过16A时进行告警,并提示运维人员处理建议:检查光伏组串的串联配置是否过多,导致开路电压高于逆变器最大输入电压。若属此情况,尝试减少组串的数量,使组串开路电压降至逆变器规格范围以内

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

三、整理各设备物模型

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

光伏组件

属性类型

属性名称

属性单位

数据类型

属性范围

上报间隔/规则

静态属性

厂商

-

string

AlibabaCloud

N/A

静态属性

型号

-

string

ACYQ2022-S2

N/A

静态属性

最大功率

W

int

365

N/A

静态属性

倾角

°

int

0

N/A

静态属性

方位角

°

int

180

N/A

静态属性

优化器配置

-

bool

Y,N

N/A

时序属性

实时电流

A

float

1分钟

时序属性

实时电压

V

float

1分钟

虚拟属性

实时功率

W

float

1分钟

逆变器

属性类型

属性名称

属性单位

数据类型

属性范围

上报间隔/规则

静态属性

SN

-

string

ACYQ202211001

N/A

静态属性

型号

-

string

ACYQ10

N/A

静态属性

所属电站

-

string

A区/B区

N/A

静态属性

国家标准

-

string

EN50549NL

N/A

静态属性

最大功率

W

float

110000

N/A

静态属性

逆变器版本

°

int

180

N/A

时序属性

设备在线

-

bool

true/false

1分钟

虚拟属性

实时功率

W

float

0-100000

PV1-PV20功率累加

虚拟属性

PV1-20电压

V

float

0-300

组件1到组件n累加

虚拟属性

PV1-20电流

A

float

0-300

组件1电流

虚拟属性

PV1-20功率

W

float

0-100000

PV电压*PV电流

时序属性

交流U电压

V

float

0-300

5分钟

时序属性

交流U电流

A

float

0-300

5分钟

时序属性

交流U频率

Hz

float

0-100

固定50Hz

虚拟属性

交流U功率

W

float

0-100000

交流U电压*交流U电流

时序属性

交流V电压

V

float

0-300

5分钟

时序属性

交流V电流

A

float

0-300

5分钟

时序属性

交流V频率

Hz

float

0-100

固定50Hz

虚拟属性

交流V功率

W

float

0-100000

交流U电压*交流U电流

时序属性

交流W电压

V

float

0-300

5分钟

时序属性

交流W电流

A

float

0-300

5分钟

时序属性

交流W频率

Hz

float

0-100

固定50Hz

虚拟属性

交流W功率

W

float

0-100000

交流U电压*交流U电流

时序属性

IGBT内芯温度

摄氏度

float

-20-200

1分钟

虚拟属性

当日发电量

kWh

float

0-1000000

1分钟

虚拟属性

当月发电量

kWh

float

0-1000000

当月所有天发电量累加,实时更新

虚拟属性

当年发电量

kWh

float

0-1000000

当年所有天发电量累加,实时更新

发电阵列

属性类型

属性名称

属性单位

数据类型

属性范围

上报间隔/规则

静态属性

阵列位置

-

string

N/A

N/A

静态属性

最大功率

W

float

10000000

N/A

虚拟属性

实时功率

W

float

0-10000000

下挂的逆变器实时功率累加

虚拟属性

当日发电量

kWh

float

0-1000000

下挂的逆变器当日发电量累加

虚拟属性

当月发电量

kWh

float

0-1000000

当月所有天发电量累加,实时更新

虚拟属性

当年发电量

kWh

float

0-1000000

当年所有天发电量累加,实时更新

电站气象仪

属性类型

属性名称

属性单位

数据类型

属性范围

上报间隔/规则

时序属性

直接辐射

W/㎡

int

0-10000000

60分钟

时序属性

散射辐射

W/㎡

int

0-10000000

60分钟

时序属性

日照时长

min

int

0-1440

10分钟

时序属性

温度

float

-50-70

60分钟

时序属性

湿度

%RH

int

0-100

6小时

时序属性

风向

°

int

0-360

60分钟

时序属性

风速

m/s

float

0-80

60分钟

时序属性

气压

hPa

float

900-1200

6小时

时序属性

雨量

mm

int

0-1000

60分钟

光伏发电站

属性类型

属性名称

属性单位

数据类型

属性范围

上报间隔/规则

虚拟属性

实时功率

kW

int

0-10000000

所有发电阵列实时功率累加

虚拟属性

当日发电量

kWh

float

0-1000000

所有发电阵列当日发电量累加

虚拟属性

当月发电量

kWh

float

0-1000000

当月所有天发电量累加,实时更新

虚拟属性

当年发电量

kWh

float

0-1000000

当年所有天发电量累加,实时更新

虚拟属性

未来30日发电预测

kWh

float

0-1000000

本期不适用

四、制作3D模型

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

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


2. 开发阶段

一、基本概念

使用IoT孪生引擎开发数字孪生系统整体开发分成四步: 创建孪生空间、构建孪生体(也叫孪生实例)、配置数据源、管理孪生场景。

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

概念

说明

孪生空间

孪生应用的顶层容器,包含应用信息、孪生实体图、数据源输入配置、3D模型资源及3D场景。

孪生实体图

简称“孪生实体”,由多个和多层级的孪生节点组成,用于构建物理世界的业务场景、业务流程和业务模型。

孪生节点

组成孪生实体图的节点,用于映射真实设备及其物模型数据。

孪生体模板

可复用的孪生体结构,可选中孪生体中一个或多个孪生节点生成孪生体模板。孪生体模板中新孪生节点,会拷贝源孪生节点间的关系、物模型定义和孪生规则,且新孪生节点信息支持单独修改。

您可引用或拷贝孪生体模板到孪生实体图中使用,快速构建完整的业务流程和模型。

物模型定义

在孪生体和孪生体模板中,支持为孪生节点配置物模型属性。属性数据可来自物理设备的数据映射,也可由孪生规则运算得出。

数据源

孪生实体图的数据输入源,可使用数据映射功能,将物理设备上报的Topic数据和API数据源,处理并传递给目标孪生节点的物模型属性。

场景

孪生应用中与孪生实体图对应的3D交互页面,以3D模型形式展示孪生体实时业务状态。

您需自行上传3D模型资源至IoT孪生引擎工作台,来搭建场景。

组件

可视化组件,包含状态数据卡、仪表盘、进度图、图表和水位图,关联3D模型的模块和孪生节点的数据,用于展示孪生体实时数据、状态和告警信息。

二、前置准备

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

三、创建孪生空间

创建孪生空间

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

构建孪生节点

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

添加物模型

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

添加虚拟属性(运算规则)

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

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

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

为方便使用编辑、开发,规则配置内置了25个运算符和32个函数,并且支持不同类型的数据计算,编辑器也可以自动进行语法补全。

孪生模版

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

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

创建孪生模版

选中希望复用孪生节点,点击右键生成孪生模板

通过模板构建孪生体

通过拖拽孪生模版,构建相同物模型、阶段运算规则的孪生体节点,简化客户配置的过程。

四、配置数据源

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

脚本配置

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

配置项

说明

数据源

数据源类型包含:

  • 设备Topic:指设备自定义Topic和物模型属性上报Topic。数据源作为脚本文件或输出文件的输入数据,其中自定义Topic数据是设备上报的原始数据格式,物模型属性上报Topic的数据格式。
  • API数据:指通过开放接口ImportDTData来触发数据映射配置,实现数据到孪生体的映射。

脚本文件

使用JavaScript语言编辑脚本,解析处理设备Topic的原始数据,最后输出JSON格式数据。文件大小不超过128 KB。

输出文件

使用规定的JSON数据格式,将设备Topic数据或通过脚本处理后的数据,映射到指定孪生节点的物模型属性上。文件大小不超过256 KB。

然后选择具体的数据源类型,以及数据来源,来编写脚本和输出文件,其中脚本文件是可选的(原始的来源数据直接映射到孪生节点)。

运行结果

可以通过查看孪生节点的快照、历史数据、运行日志等来观察孪生体的运行情况,下图为某个PV组件1小时的电压数据。

五、场景配置

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

场景管理

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

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

3D资源管理

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

场景编辑器

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

场景数据配置

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

告警配置:如下图所示,单击编辑组件面板中的告警标示,新建一个告警,告警内容为在“准备阶段-确定系统目标”章节定义的告警内容,这样当关联的数据超过所设定的阈值后就可以以告警图标显示出来,点击告警图标后可以显示具体的告警内容及维修建议。

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

补充说明:IoT孪生引擎抽象了一套模型用于串联孪生体和3D文件,其中场景是具体孪生实体的可视化方案,场景有多个组件组成,组件一侧关联孪生实体的节点作为数据源,一侧关联3D文件的MESH(3D模型拆分的基本单元)。组件关联的孪生数据源又支持status多种状态面板、alert自定义告警规则表达式,widget自定义可视化组件。后端将孪生实体的节点数据和规则数据进行实时计算推给前端,用于3D模型的动态渲染。同时我们设计了一套dsl,用户可以自定义渲染样式来关联后端孪生体的数据源,操作更灵活。整体的操作步骤如下:


3. 发布阶段

场景预览&分享

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


4. 实验总结

通过本实验,相信您已经了解了构建数字孪生系统的基本步骤以及如何使用阿里云物联网平台和IoT孪生引擎来开发一个数字孪生系统。如果您后续想要进一步了解IoT孪生引擎,可以通过我们的官方网站进行查看,也欢迎您加入阿里云IoT物联网在线交流群,如果实验有任何问题,可以进群咨询。

实验链接:https://developer.aliyun.com/adc/scenario/52f21f42835e4ce99b50347fa4c70298

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
71 3
|
1月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
42 2
|
1月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
52 3
|
1月前
|
运维 监控 中间件
数据中心运维监控系统产品价值与优势
华汇数据运维监控系统面向IT基础架构及IT支撑平台的监控和运维管理,包含监测、分析、展现和告警。监控范围涵盖了网络设备、主机系统、数据库、中间件和应用软件等。
58 4
|
2月前
|
运维 监控 安全
高效运维管理:提升系统稳定性的策略与实践
【10月更文挑战第13天】 本文探讨了高效运维管理的关键策略和实践,旨在帮助运维团队提升系统的稳定性。通过分析常见问题,提出具体的解决方案,包括监控与告警、自动化工具的应用、故障排查与恢复、性能优化以及安全防护等方面。通过这些策略和实践,可以帮助企业构建一个稳定、可靠且高效的IT系统。
92 1
|
2月前
|
运维 Java Linux
【运维基础知识】掌握VI编辑器:提升你的Java开发效率
本文详细介绍了VI编辑器的常用命令,包括模式切换、文本编辑、搜索替换及退出操作,帮助Java开发者提高在Linux环境下的编码效率。掌握这些命令,将使你在开发过程中更加得心应手。
39 2
|
1月前
|
运维 监控 网络协议
自动化运维的魔法——打造高效、可靠的系统
【10月更文挑战第32天】在数字化时代的浪潮下,运维不再是简单的硬件维护和故障排除。它已经演变成一场关乎效率、稳定性和创新的技术革命。自动化运维,作为这场革命的核心,正引领着企业走向更加智能和高效的未来。本文将带你探索自动化运维的世界,揭示其背后的原理和实践,让你领略到自动化带来的无限可能。
28 0
|
2月前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
51 0
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
65 4
|
23天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####

热门文章

最新文章

下一篇
DataWorks