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连接示例)