开发阶段
基本概念
孪生空间整体的开发步骤,大致分成四步: 创建孪生空间、构建孪生体、配置数据源、管理孪生场景。
下面是后续操作会涉及到孪生引擎的一些核心概念。
前置准备
您需注册一个阿里云的账号,然后登录物联网平台,可以购买一个企业实例也可以先通过免费实例进行体验,免费实例也可进行demo体验。体验地址(需先登录阿里云账号):https://iot.console.aliyun.com/digital-twin-console/spaceDemo
创建孪生空间
创建孪生空间
在空间管理页面,点击“创建空间”按钮,输入空间名称,空间描述、空间坐标创建孪生空间,该空间包含孪生体、数据源及孪生场景,一个孪生空间可对应一个实际的项目。
构建孪生节点
在“孪生实体图”页面,点击“编辑孪生体”进行孪生体编辑器,通过右键“新建节点”或拖拽左上角孪生节点来添加新节点,用于构建孪生体节点关系结构。构建完成的孪生体用于描述客户的业务模型,后续数据源配置,孪生场景的搭建都是基于该孪生体模型进行。其中的节点可以和真实设备相对应,也可以是逻辑业务节点,我们按照在准备阶段梳理的业务流程创建对应的孪生节点。
添加物模型
我们按照准备阶段整理的各个设备物模型(光伏组件、逆变器、发电阵列、电站气象仪、光伏发电站),在对应的孪生节点上依次添加,如下图所示。
我们具体以逆变器_A1节点的实时发电量为例,按照以下方式创建属性,注意属性标识符我们后面会在配置数据映射时用到,其它属性按照前面表格描述的设备物模型逐一录入即可。
添加虚拟属性
对于各个设备虚拟属性,需要通过其他属性数据的计算得来,在IoT孪生引擎中通过孪生规则来实现,我们根据在准备阶段梳理的设备物模型,依次创建设备的孪生规则来构建虚拟属性。
节点运算规则分成两种类型:
l 自身节点规则 :自身节点物模型属性数据的计算规则
l 父子节点规则 :父子节点间物模型属性数据的计算规则
仍然以前面在逆变器_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。
运行结果
我们通过气筒模拟器设备来进行数据模拟上报,其中模拟器选择的设备就是上一步我们在数据映射配置的设备,具体操作如下:
然后可以通过查看孪生节点的快照、历史数据、运行日志等来观察孪生体的运行情况,下图为逆变器_A1的实时发电量。
场景配置
场景是数字孪生方案中的展示及交互页面,以3D方式展示孪生模型中的实时数据、状态及告警信息。可在场景中关联孪生模型中的数据源,配置状态及告警,完成配置后可预览并发布页面,页面发布完成后可嵌入至业务系统中进行展示,我们这里新建一个光伏商业电站的场景进行配置。
场景管理
点击“场景管理”页面,创建一个名称为“光伏商业电站”的场景,描述可选填。
若关闭提示面板,可在场景列表,单击场景卡片,或单击卡片右下角的更多图标后单击进入编辑工作台,进入场景编辑工作台。
3D资源管理
场景当中依赖的3D资源在此处进行上传和管理,将准备阶段制作的光伏电站3D模型(gltf/glb类型)文件进行上传。
场景编辑器
进入场景编辑器后将前一步上传的模型拖拽到场景中,本模型不做样式调整,仅调整角度及缩放比例。
场景数据配置
在场景编辑器中,点击“数据配置”TAB,再点击组件面板“+”添加一个组件,在右侧面板中依次对组件进行命名(选择一个有业务含义的名字,如本图中“A区电站-1号逆变器”),选择该组件对应的3D文件MESH(可选择多个),再选择该组件关联的孪生节点,之后该孪生节点的物模型属性数据可作为基础数据配置不同的数据看板,如下图所示配置了5个数据看板(可根据看板偏好选择仪表盘、趋势图、水位图等样式)。
以前面演示的实时发电量和当日累计发电量为例,看一下这两个数据面板和趋势图的配置,针对实时发电量,我们选择逆变器_A1节点的powerGeneration属性,然后样式选择仪表盘,分别再填写展示名称和展示单位,最后选择不同数据范围对应的颜色样式即可。
同理按照如下方式构建趋势面板,当月累计发电量。
告警配置:如下图所示,点击编辑组件面板告警标示,新建一个告警,告警内容为在“准备阶段-确定系统目标”章节定义的告警内容,即IGBT内心片温度大于120度,触发告警,此处可以使用简单的条件表达式,也可以自定义复杂表达式。
这样当关联的数据超过所设定的阈值后就可以以告警图标显示出来,点击告警图标后可以显示具体的告警内容及维修建议。
按照上述数据配置步骤将其他需要在3D模型上展示的数据及告警依次进行配置完成即可。
场景分享&预览
在所有数据配置完成之后,点击场景编辑器右上角“预览”图标,查看配置是否正常。若所有配置符合预期,点击场景编辑器右上角“分享”图标将页面分享给其他用户,其他用户可直接通过链接URL和密码查看已经配置好的光伏电站数字孪生运维系统,比如接入到监控大屏或在展会时直接通过URL访问向客户进行演示。
结语
通过阅读本文,相信您已经了解了构建数字孪生系统的基本步骤以及如何使用阿里云IoT孪生引擎来开发数字孪生系统。如果您后续想要进一步了解IoT孪生引擎可以通过我们的官方网站进行查看,或者直接通过下面的钉钉二维码联系我们合作。