ModbusV3协议接入说明
1 使用流程说明
提示
1.品类功能定义和设备实际点位无需完全一致
2.点位可以多于功能定义,此时品类功能定义满足业务对数据需求即可,当需要新的点位功能,也可以继续在原有品类新增功能
3.功能定义可以多于设备点位,此时功能定义中多余数据,设备上线后不会更新数据,操作指令也会下发失败
2 添加协议
2.1 选择项目
登录阿里云应用服务平台后,找到需要配置的项目。
2.2 选择对应网关的设备集成
进入项目内,找到边缘一体机-网关管理,如下图所示。点击网关对应的设备集成
2.3 添加ModbusV3协议
点击网关右侧的设置按钮中的“添加协议”
点击网关右侧的设置图标,首先,在弹出菜单中选择“添加协议”,然后,在下拉选择的协议列表中选择“ModbusV3(官方)”,然后选择协议版本,建议选择最新版本进行添加,如下图所示:
3 配置点位
3.1 添加通道
如下图所示,通过点击“ModbusV3”驱动,右侧展现驱动管理页,进入“通道配置”TAP页,点击“创建通道”按钮
添加配置
参数说明
名称 | 说明 |
通道编号 | 用于点位与通道关联,自行定义,需要保证协议内唯一性 |
传输方式 | 默认选择“TCP” |
IP地址 | 设备端IP地址 |
端口号 | 设备端端口号 |
指令操作间隔时间(单位ms) | 设备限制的最小指令操作间隔,设备没有限制时可填0 |
通道备注 | 自定义一个备注信息,方便维护 |
3.2 添加点位
如下图所示,通过点击“ModbusV3”驱动,右侧展现驱动管理页,进入“点位表”TAP页,点击“创建点位”按钮
点位的参数请按下图所示进行配置:
参数说明
名称 | 说明 |
连接通道 | 点位连接通道 |
点位编号 | 点位编号,全局唯一 |
从站ID | 设备从站号 |
寄存器地址 | 点位寄存器地址,十六进制 |
寄存器操作类型 | 操作点位寄存器的类型功能码 |
数据类型 | 点位数据类型,操作类型为“线圈状态”系列和“离散量输入”时,数据类型只支持bool;操作类型为“保持寄存器”系列和“输入寄存器”时,数据类型支持:int16、uint16、int32、uint32、int64、uint64、float、double、string、bool、custom、bits |
比特位置 | 点位数据为采样数据的指定比特位置,数据类型为bits有效 |
寄存器个数 | 点位的寄存器个数,数据类型为custom和string时有效 |
是否交换寄存器内16位数据的高低字节 | 是否交换16位数据的高低字节序,数据类型为int16、uint16、int32、uint32、int64、uint64、float、double时有效。例:原数据:0xAB,真实数据,0xBA |
是否交换寄存器内32位数据顺序 | 是否交换32位数据顺序,数据类型为int32、uint32、int64、uint64、float、double时有效。例:原数据:0xABCD,真实数据,0xCDAB |
缩放因子 | 点位真实数据与采集数据相比的缩放系数,不能为0,数据类型为int32、uint32、int64、uint64、float、double时有效 |
数据采样周期 | 点位数据的采样时间间隔,单位ms |
数据上报方式 | 点位数据的上报方式,支持安时上报和变更上报 |
点位备注 | 点位的备注信息 |
3.3 批量导入
3.3.1 下载批量导入模版
首先下载批量导入模版,如下图所示:
3.3.2 导入模版填入通道信息
打开导入模版,进入“通道配置表”TAP页,基于甲方提供的<IoT设备信息表>中的<modbusV3通道信息>TAB页的通道列表填入所有通道配置,如下图所示:
3.3.3 导入模版中填入点位信息
进入“点位表”TAP页,如下图所示:
3.3.4 导入操作
基于导入模版填充好所需导入的配置信息后,点击上传文件,选择所需导入的文件后点击确定按钮,首先会基上传的文件进行预校验,预校验过程主要校验配置内容的合法性,预校验过程中确定按钮为不可点击状态,如下图所示
预校验通过后,确定按钮变为可点击状态,点击后进行实际配置导入,如下图所示:
整个导入过程可能需要耗费几分钟时间,请耐心等候(具体由所需导入的点位数),导入进度的展现如下图所示:
3.3.5 预检查失败情况处理
当配置数据存在不合法的情况,预校验会不通过,可下载文件进行失败原因的查看,可基于失败原因对导入文件进行修改,入下图所示:
通道配置表预校验失败原因查看,如下图所示:
点位表预校验失败原因查看,如下图所示:
4 添加设备
4.1 设备创建
如下图所示,通过点击“ModbusV3”驱动,右侧展现驱动管理页,进入“设备表”TAP页,点击“创建设备”按钮
设备的参数请按下图所示进行配置:
参数说明
名称 | 说明 |
设备名称 | 设备的IoT编码 |
设备别名 | 设备的备注名称 |
设备品类 | 设备的物模型品类 |
4.2 点位映射
点击下拉列表可以进行点位的选择
点击查看点位可以查询选择的点位的详情
4.3 批量导入
4.3.1 基于导入模版中录入设备信息
查看设备对应的品类信息,本例为遥信遥控智能仪表,在品类管理页找到该品类,导出设备模版,如下图所示:
打开导出的模版,红框部分为该品类所具备的功能属性定义,需要拷贝至导入模版<设备表>TAP页,如下图所示:
然后在导入模版<设备表>TAP页补充IoT设备ID,IoT设备中文名称,点位编号信息
参数说明
名称 | 说明 |
IoT设备ID | 设备的IoT编码 |
IoT设备中文名称 | 设备的备注名称 |
点位编号 | 设备的点位编号,全局唯一 |
设备表预校验失败原因查看,如下图所示:
4.4 部署设备配置
在完成驱动和设备的配置后,点击部署,进行设备配置的协议下发到边缘服务器。如下图所示。
特别提醒:驱动部署时,网关侧对应驱动将重启,该驱动下的所有设备将出现离线后在线。这期间设备不可用,请部署人员提前与甲方沟通部署时间
点击部署后可以查看设备配置下发的状态和部署进度。
5 新增品类
5.1 新建分组
弹出页面如下图所示:
参数说明
名称 | 说明 |
分组名称 | 品类分组名称 |
编码 | 品类分组名称对应的英文名称。编码要求支持英文字母、数字和下划线,长度限制1~10 |
5.2 新建品类
把鼠标放到对应分组右上方会出现个齿轮,把鼠标放到齿轮上,然后会出现新建品类,点击新建品类,如下图所示:
弹出页面如下图所示:
参数说明
名称 | 说明 |
品类名称 | 品类名称 |
编码 | 品类名称对应的英文名称。编码要求支持英文字母、数字和下划线,长度限制1~10 |
5.3 新建模型
把鼠标放到对应分组,点击新建模型,如下图所示:
弹出页面,如下图所示:
参数说明
名称 | 说明 |
模型名称 | 品类的模型名称 |
接入协议 | 该模型的设备接入协议,固定为“自定义协议” |
编码 | 模型名称对应的英文名称。编码要求支持英文字母、数字和下划线,长度限制1~10 |
5.4 新增功能
选择5.3里新建模型遥信遥控智能仪表_霍尼韦尔,点击新增功能,进行点位添加,如下图所示:
参数说明
名称 | 说明 |
功能名称 | 该功能的功能名称 |
标识符 | 功能标识符,用于标识该功能 |
数据类型 | 数据类型包括:int(原生)、float(原生)、double(原生)、text(原生)、date(String类型UTC毫秒)、bool(0或1的int类型)、enum(int类型,枚举项定义方法与bool类型定义0和1的值方法相同)、struct(结构体类型,可包含前面7种类型,下面使用"specs":[{}]描述包含的对象)、array(数组类型,支持int、double、float、text、struct) |
取值范围 | 数据的取值范围,超出取值范围的数据会被丢弃,数据类型为int、float、double有效 |
步长 | 数据变化的最小粒度,数据类型为int、float、double有效 |
单位 | 根据实际情况选择,可选无,数据类型为int、float、double有效 |
数据长度 | 最大10240,数据类型为text有效 |
元素个数 | 最大512,数据类型为array有效 |
布尔值 | 布尔值(0/1)对应的参数描述,数据类型为bool有效 |
枚举项 | 枚举项对应的参数描述,数据类型为enum有效 |
读写类型 | 数据的读写类型,读写或只读 |