Modbus连接示例

本文会给你好好介绍如何快速连接Modbus RTU设备 。 假定你已经了解Modbus协议并且你的将要连接的设备也支持Modbus通讯 ,那么请继续,否则请先阅读Modbus连接说明

一、使用产品
操作系统: windows 7、windows 10 (32/64位)
开发平台:海创-IIoT
在这里插入图片描述
Modbus Slave调试工具(模拟Modbus通讯协议)
在这里插入图片描述
二、搭建Modbus 服务器
打开Modbus Slave软件,配置设备ID为1,功能码03,寄存器地址0值预设为1,寄存器地址1值预设为2。
Modbus连接示例_第1张图片
打开Modbus Slave软件,Connection->Connect…, Connection选项卡中选择TCP/IP,TCP/IP使用502端口,点击OK启动站点监听。
Modbus连接示例_第2张图片
三、平台采集配置
inject周期性触发输入时间戳或者相应的字符
在这里插入图片描述

Modbus用于读取Modbus通信协议设备的数据
在这里插入图片描述

debug用于调试节点输出
在这里插入图片描述

打开海创-IIoT可视化平台
在桌面打开海创Box智能采集网关可视化开发平台进入可视化编辑器。本次教程需要用到如下节点,在左侧节点栏中拖拽出使用,如下图所示:
Modbus连接示例_第3张图片
然后画上连接线如下图所示:
Modbus连接示例_第4张图片

inject主要当触发流程使用,无需配置
debug在右侧调试窗口输出调试结果,无需配置
ModbusModbus通讯协议:通讯设备指令,配置请看下文
配置Modbus 节点
双击Modbus 节点,看到节点属性:
Modbus连接示例_第5张图片
节点名称:(可选); FC: 埴写 “Modbus Slave软件”设置的 FC 3 ; 然后点击进入“笔状按键”进入连接详细页面,填写如下信息,注:地址为你的 “Modbus Slave软件”安装电脑所用的IP地址
Modbus连接示例_第6张图片

埴写数据字典,数据字典是对应该设备的寄存器地址,点击右下“方+添加”各项参数:
单元ID: 每次采集对应Modbus的设备ID,上面的属性配置中已全局设置,这里可以不填
地址:对应Modbus寄存器地址
长度:数据返回长度
数据类型:数据返回类型
算法:对返回值进值运算,如%s/10
Modbus连接示例_第7张图片

四、完成部署
按照以上教程配置好流程后,点击部署,部署成功后程序开始运行,就会在调试窗口输出相应的结果,调试结果如下
Modbus连接示例_第8张图片

五、示例
以上教程可以通过拷贝下面代码实现快速复用,在新建的流程中点击界面右侧菜单栏-导入-剪贴板,在文本框中粘贴下面代码后点击确定,即可快速复用

[
{
“id”: “b3bb7e2.e68d28”,
“type”: “iot-modbus”,
“z”: “2d09479e.50f728”,
“name”: “”,
“server”: “4f40e51a.38713c”,
“fc”: “HoldingRegister”,
“columns”: [
{
“Key”: “地址1”,
“Label”: “addr1”,
“UnitId”: “”,
“Address”: “0”,
“Quantity”: “1”,
“ValueType”: “Int16BE”,
“Arithmetic”: “”
},
{
“Key”: “地址2”,
“Label”: “addr2”,
“UnitId”: “”,
“Address”: “1”,
“Quantity”: “1”,
“ValueType”: “Int16BE”,
“Arithmetic”: “”
}
],
“x”: 335,
“y”: 220,
“wires”: [
[
“824a1771.8c3ce8”
]
]
},
{
“id”: “c03ac5cb.fda5d8”,
“type”: “inject”,
“z”: “2d09479e.50f728”,
“name”: “”,
“topic”: “”,
“payload”: “”,
“payloadType”: “date”,
“repeat”: “”,
“crontab”: “”,
“once”: false,
“onceDelay”: 0.1,
“x”: 195,
“y”: 220,
“wires”: [
[
“b3bb7e2.e68d28”
]
]
},
{
“id”: “824a1771.8c3ce8”,
“type”: “debug”,
“z”: “2d09479e.50f728”,
“name”: “调试”,
“active”: true,
“tosidebar”: true,
“console”: false,
“tostatus”: false,
“complete”: “payload”,
“x”: 535,
“y”: 220,
“wires”: []
},
{
“id”: “4f40e51a.38713c”,
“type”: “iot-modbus-client”,
“z”: “”,
“name”: “”,
“clienttype”: “Modbus-TCP”,
“host”: “192.168.7.162”,
“post”: “502”,
“tcptype”: “Defautl”,
“serialport”: “COM1”,
“serialtype”: “RTU-Buffered”,
“baudrate”: “9600”,
“databits”: “8”,
“stopbits”: “1”,
“parity”: “None”,
“unitid”: “1”,
“timeout”: “2000”,
“connectiondelay”: “100”
}
]

你可能感兴趣的:(Modbus连接示例)