更新时间:2025-08-19 GMT+08:00
分享

接入案例

当前以设施云自研的Modbus数采插件为例来配置设备点位通过数采方式接入,如果是伙伴自己开发的数采插件,流程也是类似,只是数采模板和对应应用的镜像地址这些容器配置会不同。

添加数采模板

  1. 保存以下模板保存到本地,文件名为Modbus-Tcp.json

    数采模板内容:

    {
        "tpl_id": "iotfm_general_modbustcp_V3",
        "name": "智能设施云平台自研ModbusTcp数采模板V3",
        "description": "智能设施云平台自研ModbusTcp数采模板V3",
        "datasource_meta": {
            "config_tabs": [
                {
                    "key": "connection_info",
                    "name": "连接信息",
                    "description": "连接信息",
                    "type": "object",
                    "quantity": 10,
                    "config_items": [
                        {
                            "key": "connection_ext_info",
                            "name": "连接扩展信息",
                            "description": "连接扩展信息,协议应用上线后模板增删字段需重建数采连接,新增扩展信息容纳后续新增的字段。",
                            "data_type": "string",
                            "required": false,
                            "crypted": false,
                            "max_length": 65535,
                            "example": "{\"xxx\": \"xxx\"}"
                        }
                    ]
                },
                {
                    "key": "array_info",
                    "name": "连接信息",
                    "description": "连接信息",
                    "type": "array",
                    "quantity": 10,
                    "config_items": [
                        {
                            "key": "endpoint",
                            "name": "服务端点信息",
                            "description": "服务端点信息,为json字符串数组格式",
                            "data_type": "string",
                            "required": true,
                            "crypted": false,
                            "max_length": 128,
                            "example": "{\"endpoint_id\":\"1\", \"endpoint_url\": \"127.0.0.1:123\"}"
                        }
                    ]
                }
            ],
            "default_values": {
                "drivername": "ModbusTcp"
            }
        },
        "point_meta": {
            "data_type_enums": [
                "bool",
                "short",
                "ushort",
                "int",
                "uint",
                "long",
                "ulong",
                "float",
                "double"
            ],
            "config_items": [
                {
                    "key": "endpoint_id",
                    "name": "终端节点ID",
                    "description": "Modbus终端节点ID,来源于数采连接配置,如配置失败,则将被丢弃。",
                    "data_type": "int",
                    "required": true,
                    "crypted": false,
                    "max_length": 256,
                    "example": 1
                },
                {
                    "key": "slave_id",
                    "name": "从站号",
                    "description": "modbus传感器从站号",
                    "data_type": "int",
                    "required": true,
                    "crypted": false,
                    "max_length": 256,
                    "example": 1
                },
                {
                    "key": "register_type",
                    "name": "寄存器类型",
                    "description": "寄存器类型",
                    "data_type": "string",
                    "required": true,
                    "crypted": false,
                    "max_length": 256,
                    "enum_value": "Coil_Status|Input_Status|Holding_Registers|Input_Registers",
                    "example": "Coil_Status"
                },
                {
                    "key": "register_address",
                    "name": "起始地址",
                    "description": "寄存器起始地址",
                    "data_type": "string",
                    "required": true,
                    "crypted": false,
                    "max_length": 256,
                    "example": "0x0"
                },
                {
                    "key": "cycle",
                    "name": "采集周期",
                    "description": "点位采集周期",
                    "data_type": "int",
                    "required": true,
                    "crypted": false,
                    "max_length": 65535,
                    "example": 10000
                },
                {
                    "key": "byte_swap",
                    "name": "寄存器高低位交换",
                    "description": "寄存器高低位交换",
                    "data_type": "bool",
                    "required": false,
                    "crypted": false,
                    "max_length": 256,
                    "default": false,
                    "example": true
                },
                {
                    "key": "register_swap",
                    "name": "寄存器顺序交换",
                    "description": "寄存器顺序交换",
                    "data_type": "bool",
                    "required": false,
                    "crypted": false,
                    "max_length": 256,
                    "default": false,
                    "example": true
                },
                {
                    "key": "point_ext_info",
                    "name": "点位扩展信息",
                    "description": "点位扩展信息,协议应用上线后模板增删字段需全量调整点位,新增扩展信息容纳后续新增的点位字段。",
                    "data_type": "string",
                    "required": false,
                    "crypted": false,
                    "max_length": 65535,
                    "example": "{\"field_a\": \"valueA\", \"field_b\": 123}"
                },
                {
                    "crypted": false,
                    "data_type": "string",
                    "description": "该物理点位枚举值和物模型点位枚举值的映射关系",
                    "example": "物理点位枚举值1:物模型点位枚举值1|物理点位枚举值2:物模型点位枚举值2",
                    "key": "enum_map",
                    "max_length": 256,
                    "name": "枚举值映射表",
                    "required": false
                }
            ]
        }
    }
  2. 导入上面文件到数采模板

    添加数采应用

添加应用版本

须知:该步骤将会为上述业务应用添加一个可用版本

【边缘管理】->【应用管理】->【驱动应用】->【操作--详情】->【添加版本】

  1. 基本配置,容器镜像地址可以使用:swr.cn-north-4.myhuaweicloud.com/huawei-iot-facility/iotfm-edge-app-plugins-modbus-tcp:2025.0113.1944.37

  2. 配置镜像地址

  3. 配置容器规格

  4. 高级配置

    数据存储

    本地卷名称

    类型

    主机目录

    容器目录

    权限

    config

    CONFIG

    /config

    /opt/iot/iotfm-edge-app-plugins-modbus-tcp/config

    读写

    logs

    LOG

    /tmp/iotfm-edge-app-plugins-modbus-tcp/logs

    /opt/iot/iotfm-edge-app-plugins-modbus-tcp/logs

    读写

  5. 端点无需配置

  6. 部署配置

    重启策略:总是重启

    网络类型:端口映射

  7. 确认信息,立即发布

插件部署

部署Modbus应用模块

  1. 【边缘管理】->【边缘设备】-> 【网关设备】 -> 【操作】 -> 【详情】 -> 【模块管理】 -> 【部署应用】

  2. 单击确定即开始进行Modbus插件安装,等待安装完成,状态为运行中

数采配置

  1. 创建数采连接

    【边缘管理】->【数采管理】-> 【数采配置】 -> 【连接通道】 -> 【创建数采连接】

    选择指定网关创建数采连接:

    创建数采连接

    服务短点信息配置:按照指定格式即可

    如:{"id":"1","url":"192.168.1.88:502"}

  2. 导入点位

    根据点位表模板,梳理完成点位表信息内容进行导入

  3. 下发配置,当单击下发配置后,连接状态为已连接,同步状态为已同步,即可完成数据采集

查看采集结果

  1. 查看机电设备详情

    【边缘管理】->【机电设备】

    找到对应数采的机电设备,单击设备详情:

    图1 机电设备详情
  2. 查看机电设备点位,跳转到机电设备详情页面,单击属性管理,就可以查看到当前这个机电设备点位上报值和上报时间,如果数采配置的点位都能看到有值,就说明该设备点位采集成功了,如下图所示:
    图2 机电设备属性管理

相关文档