数字孪生实操
一、核心概念
数字孪生:物理世界的数字化呈现,对物理世界的设备、流程、系统、场景等建立业务模型,对物理实体信息进行实时采集、运算分析、监控统计等,从而更精准地掌握业务模型动态变化,进而实现对实际生产过程的提效和降本目的。阿里物联网数字孪生功能主要包括业务建模,规则配置,数据映射。
孪生实例:描述物理世界的业务场景、流程、设备的业务模型,由多个实例节点组成。
实例节点:指业务场景中真实设备或虚拟功能模块。每个实例节点包括关系结构、物模型和虚拟设备。
孪生模板:快速构建业务模型的基础组件。
物模型:在物模型 1.0 基础上,新增属性运算规则配置,支持节点数据运算功能。
数据映射:将数据采集和场景建模解耦,通过数据映射把采集数据映射到孪生实例任意节点物模型属性。
二、各概念关系
业务建模
![](https://static001.geekbang.org/infoq/cb/cb870dc74f59de4d25ff2c5859a14772.png)
物模型
![](https://static001.geekbang.org/infoq/0a/0a325b0d0ad7077383c01954cc62a06b.png)
当前只支持属性,根据业务需求再扩展服务、事件能力
运算规则
![](https://static001.geekbang.org/infoq/d8/d8f8b4c80f7b3616e8aee131f4436cd0.png)
数据映射
![](https://static001.geekbang.org/infoq/a5/a594d896075e818eefd5503ef687e898.png)
三、操作流程
数字孪生是在物模型基础上进行功能升级,支持复杂业务场景的建模,提供关系结构描述,规则运算和数据映射的功能。操作流程如下:
![](https://static001.geekbang.org/infoq/a1/a16c1f3e08e72440e3625bc09273a41a.png)
数字孪生实例创建主流程包括:构建实例、配置规则、配置数据映射,后续进行详细说明。
四、操作详述
4.1 孪生实例
以飞天园区创建孪生实例进行说明:
创建孪生实例
![](https://static001.geekbang.org/infoq/f8/f8b8c32caf854bc7c3c3cf2a615dc861.png)
编辑节点关系
通过右键“新建节点”或拖拽左上角数字孪生节点来添加新节点,用于构建孪生实例节点关系结构。
![](https://static001.geekbang.org/infoq/88/889c9261a3f8df0fb72dcf0d98ffc376.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
编辑节点模型
1. 选中节点,配置实例节点物模型,当前只支持编辑属性配置。
![](https://static001.geekbang.org/infoq/18/184988ffde1c16610e650294ee534165.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
物模型属性编辑方式与当前物模型编辑保持一致。为方便说明规则运算功能,每个节点新增 temperature 和 degree 两个属性。
![](https://static001.geekbang.org/infoq/31/31fe5fd4dc08a99288bbc1010ce09ffa.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
同时创建华氏度温度属性,用于存储转换后的值:
![](https://static001.geekbang.org/infoq/ab/abab75143f866d1c8fb771f64c5f6646.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
2. 每个 sensor 物模型属性定义:
![](https://static001.geekbang.org/infoq/2e/2e90dc74a6f8bc6dc2d2863c63b407ea.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
编辑节点规则
节点规则包括:自身规则 --物模型自身功能定义规则运算 和 父子节点规则 --跨物模型功能定义之间的计算。
1. 编辑本节点规则
把采集设备上报温度单位为摄氏度转化为华氏度,自身节点规则支持数据量纲转换。
![](https://static001.geekbang.org/infoq/40/40f05b988dcdff3d1b19daf17414c2c6.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
2. 填写节点自身转换规则
![](https://static001.geekbang.org/infoq/1e/1eca93fc83d180629e253e265e554333.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
3. 添加父子节点规则-1. 编辑父节点物模型属性,父子节点规则支持多节点属性数据聚合运算。
![](https://static001.geekbang.org/infoq/71/71eaa3273208f6bdfdd3235bf010a0ba.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
-2. 添加父子节点物模型规则
-当前 room 平均温度由两个 sensor 华氏度温度进行计算,所以填写两个输入参数,通过 “添加参数”按钮录入其他参数,每个表达式最多支持 5 个参数。
![](https://static001.geekbang.org/infoq/d0/d0ce5e605ef262b4b68106b878533321.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
点击“添加参数”按钮录入多个表达式参数。
![](https://static001.geekbang.org/infoq/48/487c591ee2bf67e02942ec4503815322.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
备注:
采集设备的属性上报可触发多条规则运算,但不会把计算结果再作为入参触发新规则运算,所以 temperature 属性上报会触发自身规则 convert2degree 的运算,同时还会触发 computeAvgDegree 父子节点规则运算。如果 Degree 上配置父子节点规则,不会因为 temperature 的上报而在此触发。
查看 room 节点新增的运算规则:
![](https://static001.geekbang.org/infoq/ad/adea07008b09ac4ba7de430ba43636a7.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
4.2 孪生模板
为更方便构建孪生实例,可选中孪生实例中的节点生成孪生模板,会把选中节点的关系、物模型和规则都拷贝到模板中,然后再通过引用、拷贝模板的方式来构建孪生实例。
引用模式:新创建的实例节点复用模板中的物模型和规则,物模型和规则只允许在模板上进行编辑,编辑之后在多个引用实例上立即生效。
拷贝模式:拷贝模板中的物模型和规则到实例节点中,编辑模板对于拷贝的实例无效。
创建模板
选中实例节点,点击右键生成孪生模板,当前最多可选中 10 个实例节点生成模板。
![](https://static001.geekbang.org/infoq/6a/6a91e40ed97333d722f3883ac1a20d6a.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
填写模板名称,生成模板为异步过程,成功之后,左边栏会展示新生成的模板。
![](https://static001.geekbang.org/infoq/ca/ca6daa720ace80788d90e9aa0f6f97f8.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
![](https://static001.geekbang.org/infoq/5f/5fd65a515165ecf476f9f18661e94065.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
编辑模板
1. 选中模板,右键选择“编辑”按钮,跳转到编辑模板页,对模板结构关系、节点物模型和规则进行编辑。
![](https://static001.geekbang.org/infoq/f8/f83ed67ac3cc4fd727a73ef96f9cae01.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
![](https://static001.geekbang.org/infoq/1b/1b498b3dc6b34b1803431b905c6b7461.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
备注:
编辑模板节点物模型、规则的操作方式和实例一样,不再赘述。但编辑模板物模型和规则对于所有引用的实例节点同步生效,请提前评估好影响。
通过模板构建实例
1. 每栋建筑下都有相同物模型和规则的会议室,可以拖拽 parkRoom 模板到实例父节点下创建新的子节点关系。
![](https://static001.geekbang.org/infoq/05/05f960281544868237eb3978b0c6c0f4.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
选择引用模板方式创建新节点:
![](https://static001.geekbang.org/infoq/90/9052f3c402aa78f7e116273707130c32.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
![](https://static001.geekbang.org/infoq/86/869917ef66d81c198d6923f1c144da75.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
双击节点可对节点进行重命名:
![](https://static001.geekbang.org/infoq/02/029f63bb33c8e2ba9a2d62561ed299f9.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
实例节点重命名之后的关系结构:
![](https://static001.geekbang.org/infoq/6d/6d1153a3aa1121194089d38fa3a1a16e.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
4.3 数据映射
数据映射:把数据采集和场景建模进行解耦,可以把设备 A 采集的数据映射到孪生实例任意节点上。
创建数据采集产品
![](https://static001.geekbang.org/infoq/fd/fdc8c14d4ba328edeb87a44155fd47a2.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
免效验类型:对设备上报的数据不进行强效验。
创建数据采集设备
![](https://static001.geekbang.org/infoq/6f/6f0a2f1a859cd7b5a4ac2b7ab1aee7ed.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
配置数据映射
选中对应的孪生实例,并且选择创建数据映射
![](https://static001.geekbang.org/infoq/38/388708d6b356f859419bbcf591a57a56.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
这里选择的用户自定义协议,自定义协议脚本配置和标准物模型上报有一定区别。使用时候请留意。
![](https://static001.geekbang.org/infoq/48/4835b6c3916a2796f5f732bf4723e5e3.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
对应数据映射配置:因为不存在数据转换,脚本内容配置模板内容即可。
![](https://static001.geekbang.org/infoq/2e/2eae0829234228bc56a9b4b575dafb30.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
4.4 实例运行
模拟设备上报数据
模拟采集设备上报属性 temperature,temperature 属性上报会触发实例规则运算,把运算结果存储到目标实例属性。这里通过设备模拟器模拟真实设备属性上报。
![](https://static001.geekbang.org/infoq/50/50fa9cb26f1908d69cf421b8ac372a5f.png)
数据映射日志
点击“查看云端日志”查看上报属性映射到孪生实例的执行情况。
![](https://static001.geekbang.org/infoq/16/16926c54843bd312f30255879cd8181b.png)
自身节点规则运算数据
设备上报属性值会映射到孪生实例节点物模型属性,先存储至节点设备物模型属性数据,然后再触发后续规则运算,一个属性上报可触发多个规则运算。运算结果数据可点击孪生实例“运行状态”进行查看。
孪生设备节点属性和自身规则数据查看方式。
![](https://static001.geekbang.org/infoq/32/3223ea72c6e479e07471518bbe28729c.png)
![](https://static001.geekbang.org/infoq/91/917ac9299a2ecb0cf5e3f19408bfe90b.png)
父子节点规则运算数据
孪生父子节点规则运算结果存储到父节点设备物模型属性,可点击父节点属性进行查看。
![](https://static001.geekbang.org/infoq/28/28600553e9a09ddb6118ed5cb4e0d3b0.png)
![](https://static001.geekbang.org/infoq/6f/6fd2db947d73872fa4ab2399f46e2ab0.png)
查看孪生实例日志
![](https://static001.geekbang.org/infoq/05/0506190bc49f666812fb3ee42737d3ca.png)
![](https://static001.geekbang.org/infoq/c6/c6e9cb4d94b0e4e816b8b6ea93e1aaf3.png)
更多细节沟通,请扫码入群
评论