建设数字工厂:华为云数字工厂平台接入第三方网关设备数据

摘要:本期介绍工业自动化产线设备由第三方数采网关(软件)采集数据后,如何快速接入到华为云数字工厂平台,实现生产自动化控制层与数字工厂应用层的数据集成和实时交互。

本文分享自华为云社区《数字工厂深入浅出系列(五):接入第三方网关设备数据》,作者: 云起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元开发者礼包!

欢迎关注“华为云开发者联盟”公众号,获取大会议程、精彩活动和前沿干货。

 

点击关注,第一时间了解华为云新鲜技术~

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4526289/blog/10084184