设备管理 IoTDM(联通用户专用)-使用Modbus协议接入(联通用户专用):开发Modbus设备产品模型

时间:2023-11-01 16:20:05

开发Modbus设备产品模型

产品模型(也称Profile)是用于描述Modbus设备具备的能力,通过定义产品模型,在物联网平台构建一款设备的抽象在线开发Profile型,使平台理解该款Modbus设备支持的服务、属性、命令等信息,如温度、电量等。Modbus设备的产品模型定义分为两部分:包含Modbus设备的能力(图中红色框内容)和定义Modbus点位表(图中蓝色框内容),如图所示。属性和命令的定义请根据在线开发Profile,在定义属性和命令的基础上,再定义Modbus点位表,下面将详细介绍点位表的定义方法。

  1. 登录物联网平台控制台,点击右上角进入“开发中心”。
  2. 定义Modbus设备的属性和Modbus点位表,属性的定义请参考在线开发Profile文件,然后定义定位表(上图中的新增扩展描述)字段,原则如下表所示。

    参数名称

    参数说明

    Modbus读功能码

    读功能码分为“比特访问(Bit Access)”和“16比特访问(16 Bit Access)”,功能码均为十进制。

    比特访问功能码:

    • 01:读线圈(Read Coils)
    • 02:读输入离散量(Read Discrete Inputs)

    16比特访问功能码:

    • 03:读多个寄存器(Read Holding Registers)
    • 04:读单个寄存器(Read Input Register)

    Modbus写功能码

    写功能码分为“比特访问(Bit Access)”和“16比特访问(16 Bit Access)”,功能码均为十进制。

    说明:

    定义属性时,无需填写该字段。定义命令时,需要填写。

    比特访问功能码:

    • 05:写单个线圈(Write Single Coil)
    • 15:写多个线圈(Write Multiple Coils)

    16比特访问功能码:

    • 06:写单个寄存器(Write Single Register)
    • 16:写多个寄存器(Write Multiple Registers)

    寄存器起始地址

    寄存器起始地址,占16比特,例如:00 01

    寄存器数量

    属性对应的数据所在的寄存器个数,占16比特,例如:00 02

    交换寄存器内高低字节

    是否对寄存器内的数据进行高低位交换,默认:True。例如寄存器中存储的属性数据为:10011011,则IoT边缘节点获取的数据经过高低位交互后为:01100111。

    交互寄存器顺序

    是否对寄存器的位置进行交换,默认:True。例如寄存器的起始地址为0001,寄存器数量为0002,则将0002地址寄存器与0001地址寄存器进行交换。

    缩放因子

    对寄存器内的数据进行乘以缩放因子,得到所需的数据,例如获取的温度数据为365,缩放因子为0.1,则得到实际的温度数据为365*0.1=36.5

  3. 定义Modbus设备的属性和Modbus点位表,命令的定义请参考在线开发Profile文件,然后定义定位表(上图中的新增扩展描述)字段,点位表的填写原则如2中的表格所示。
  4. 定义完属性和命令后,请将Profile文件进行导入,然后根据添加Modbus设备操作,在设备管理服务中导入开发的Modbus设备产品模型。

support.huaweicloud.com/devg-IoT/iot_01_0054.html