摘要:本期介绍工业自动化产线设备由第三方数采网关(软件)采集数据后,如何快速接入到华为云数字工厂平台,实现生产自动化控制层与数字工厂应用层的数据集成和实时交互。
本文分享自华为云社区《数字工厂深入浅出系列(五):接入第三方网关设备数据》,作者: 云起MAE。
华为云数字工厂平台内置工业IoT数据引擎,基于同一业务对象对业务信息流和自动化设备控制流进行统一建模,能构建“主动感知、主动分析、主动执行”的智能化应用,实现IT业务层与OT控制层的实时融合。
华为云数字工厂平台接入设备数据有两种方法:
- 边缘连接器直连设备采集:在华为云数字工厂平台(前提条件:在开通数字工厂企业账号时,选择开通物联网服务)的“系统模块”下,自带“边缘连接器”功能,可实现在云端远程配置与下发设备点表,通过配套安装本地网关来直联和接入设备数据;
- 设备由第三方数采网关(软件)接入:由第三方数采网关(软件)连接设备后,按要求的设备数据格式,接入到华为云数字工厂平台。
本期重点介绍设备由第三方数采网关(软件)采集数据后,如何接入到华为云数字工厂平台,实现工业自动化产线设备与华为云数字工厂应用的数据集成交互。
(一)总体配置流程
(二)详细步骤说明
1.设备建模,扩展观测点属性
使用华为云数字工厂企业平台的“建模工作台>产品模型”系统功能,基于预置的“设备”模型,扩展所需采集的“观测点”字段。在扩展“设备”信息模型之前,需要先停用模型,然后我们选择在相应的业务领域下(比如“生产”),点击信息模型的“编辑器”图标,进入“信息模型配置器”:
按实际需求,新增信息组,“数据分类”选择“观测Metric”:
在信息组下,新增所需采集的IoT观测点字段:
2.注册第三方网关
我们在华为云数字工厂平台的“系统”模块下,使用“第三方IoT网关接入”功能,或者访问以下链接:https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/device/all-device 。
按实际需求,注册第三方数采网关,用于在第三方数采网关(或数采软件)连接平台上报数据时进行鉴权。
- 注册第三方网关
在“设备列表”页签下,点击“注册设备”按钮,根据页面窗口提示填写参数,其中所属资源空间选择默认资源空间“DefaultApp_XXX”,所属产品为“thirdGateway”,设备标识码填写第三方网关对应有业务含义的编码:
如果在默认资源空间 “DefaultApp_XXX”,找不到产品“thirdGateway”,用户可以手工创建一个产品模型:
产品模型创建完成后,如果需要向第三方网关下发数据,需要进一步定义产品模型:添加一个服务($edge_hub),以及在服务下面新建一个命令(set_properties):
接着介绍上面注册设备的步骤:按设备注册界面要求填写信息后,点击“确定”,完成第三方网关注册,平台自动为第三方网关生成用于网关鉴权的身份信息:“device_id”、“secret”:
- 第三方网关连接配置
第三方网关通过MQTT协议与华为云数字工厂平台的IoT设备接入服务建立连接,建立连接时,网关需要带上注册时生成的身份信息进行鉴权,详细配置方法参考官方文档:https://support.huaweicloud.com/api-iothub/iot_06_v5_3009.html 。
- 获取第三方网关接入地址
在华为云数字工厂平台的IoT设备接入服务的“总览”菜单下,查看获取到用于第三方网关与平台通信的接入地址信息:
- 获取第三方网关与平台数据通信Topic
在华为云数字工厂平台的IoT设备接入服务的“产品”菜单下,查看产品模型“thirdGateway”的详情,在“Topic管理”页签下,获取到第三方网关与平台的数据通信Topic:
(1)设备消息上报Topic:$oc/devices/{device_id}/sys/messages/up
(2)平台下发设备数据至第三方网关Topic:$oc/devices/{device_id}/sys/commands/request_id={request_id}
其中{device_id}在第三方网关与平台数据通信时,动态替换为前面注册第三方网关后生成的身份信息“device_id”。
3.创建设备实例主数据
在华为云数字工厂企业平台的“数据工作台>制造资源”模块下,我们使用预置的“设备”模型功能实例,来创建设备实例主数据:
设备主数据实例创建完成后,点击“编辑”,进去设备主数据详情页面,点击“感知服务”卡片,可获取到设备实例的全局唯一标识,以及所有IoT观测点字段编码,在第三方网关上报设备消息报文中需要用到这些信息:
(三)第三方网关数据通信
1.网关上报数据
- 网关连接鉴权
首先我们访问华为云IoT设备接入服务提供的参数生成工具:https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/,填写注册第三方网关后生成的设备ID(DeviceId)和密钥(DeviceSecret),生成网关连接鉴权所需的参数(ClientId、Username、Password):
我们使用MQTTX客户端软件,模拟第三方网关连接到华为云数字工厂平台:
在“Host”中填写前面“注册第三方网关”步骤获取的第三方网关与平台通信的接入地址,以及填写上面步骤生成的ClientId、Username、Password,然后点击“connect”按钮,建立连接:
- 网关上报设备消息
第三方网关连接鉴权成功后,即可上报设备消息,通过前面“注册第三方网关”步骤,可以获得设备消息上报Topic:
$oc/devices/{device_id}/sys/messages/up,其中{device_id}需要动态替换为网关注册生成的device_id。
上报的设备消息报文内容:
{
"content": {
"devices": [{
"device_id": "{mae_device_id}",
"properties": {
"{metric_attr_code}": "xxx"
},
"event_time": "2023-06-18T15:04:05.000Z"
}]
}
}
数据格式说明:
我们使用MQTTX客户端软件,模拟第三方网关上报设备消息到华为云数字工厂平台:
在“Topic”中填写前面“注册第三方网关”步骤获取的设备消息上报Topic,以及按“设备消息上报报文”的数据格式填写需要上报的设备属性数据,然后点击“发送”消息图标,向平台上报设备属性数据:
- 查看验证上报的设备属性数据
在华为云数字工厂企业平台的设备主数据实例详情页面,可查看上报的IoT观测点属性字段的最新上报值:
点击某观测点字段后方的“查看”图标,可以查看观测点的历史数据:
2.平台下发数据到网关
- 设备观测点数据反写
进入某设备主数据实例的详情页面,修改某个支持写入的观测点字段值,然后点击字段后方的“数据下发”图标,触发向网关下发当前设备观测点字段值:
- 网关订阅平台数据
第三方网关需要订阅命令下发topic: $oc/devices/{device_id}/sys/commands/ request_id={request_id},其中:
(1) {device_id}需要动态替换为网关注册生成的device_id;
(2) {request_id}用于唯一标识这次请求。第三方网关收到下行请求的topic带该参数时,上行响应的topic需要将该参数值返回给平台。第三方网关可以使用通配#来订阅平台命令下发的topic,即:$oc/devices/{device_id}/sys/commands/# 。
下发命令数据格式如下:
{
"paras": {
"device_id": "DefaultSite-sys_equipments-M10012301",
"properties": {
"taskID": "WJ20230619001"
}
},
"service_id": "$edge_hub",
"command_name": "set_properties"
}
下发的设备数据信息在参数“paras”中,其数据格式说明:
第三方网关订阅并处理平台下发的设备属性数据后,需通过命令响应消息 topic: $oc/devices/{device_id}/sys/commands/response/request_id={request_id}
来返回命令执行结果状态,命令响应消息格式如下:
{
"result_code": 0,
"paras": {
"result_code": "200",
"result_desc": "success"
}
}
数据格式说明:
(四)设备数据开放第三方应用
设备数据接入到华为云数字工厂平台存储后,支持数据同时开放给第三方应用实时订阅,具体配置步骤如下:
1.注册第三方应用
使用华为云数字工厂企业平台的“系统工作台>应用集成”功能,来注册第三方应用:
2.创建数据订阅规则
点击注册的第三方应用的“订阅管理”,然后“新建订阅规则”,并选择数据开放范围涉及的产品模型:
华为云数字工厂平台,以AMQP协议开放实时数据,点击并查看创建的“订阅规则”的编辑详情,可以获取到第三方应用订阅数据的AMQP接入信息:
3.第三方应用订阅消费数据
第三方应用携带上面步骤获取的AMQP接入信息:AMQP接入域名、接入队列名、接入名(access_key)和接入凭证(access_code)建立AMQP连接,建链成功后即可实时订阅获取设备实时数据。
第三方应用订阅到的数据格式如下:
{
"notify_data.body.content": {
"model_id": "4255a1e27aba4300bbd7fd85e6505d6b",
"devices": [
{
"device_id": "{mae_device_id}",
"properties": {
"{metric_attr_code}": "xxx"
},
"event_time": "2023-03-30T09:48:12.101+08:00"
}
]
}
}
华为云数字工厂平台内置工业IoT数据引擎,能够同时处理IT业务数据和OT设备数据,实现业务信息流与设备控制流的实时融合,帮助中小制造企业低成本构建敏捷型的统一制造协同应用平台。
添加华为云IoT小助手微信hwc-iot,回复“数字工厂”,申请体验华为云数字工厂
号外
7月7日,华为开发者大会2023 ( Cloud )将拉开帷幕,并将在国内30多个城市、海外10多个国家开设分会场,诚邀您参加这场不容错过的年度开发者盛会,让我们一起开启探索之旅!
我们将携手开发者、客户、合作伙伴,为您呈现华为云系列产品服务与丰富的创新实践,并与您探讨AI、大数据、数据库、PaaS、aPaaS、媒体服务、云原生、安全、物联网、区块链、开源等技术话题,展开全面深入的交流。
大会将汇聚全球科学家、行业领袖、技术专家、社区大咖,开设200多场开发者专题活动,为全球开发者提供面对面交流与合作的机会,共同探讨技术创新和业务发展。
大会官网:https://developer.huaweicloud.com/HDC.Cloud2023.html
参会购票:https://www.vmall.com/product/10086352254099.html?cid= 211761
点击参与开发者社区活动,观赏技术大咖秀、玩转技术梦工厂,有机会赢取4000元开发者礼包!
欢迎关注“华为云开发者联盟”公众号,获取大会议程、精彩活动和前沿干货。