欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Thingsboard modbus协议

程序员文章站 2022-07-09 15:21:46
...

一直没有整理,今天测试整理一下,方便以后配置。

Modbus协议

modbus协议是一种应用层协议,可以通过OSI第四-7层传输层协议TCP/IP协议来传输,也可以通过OSI第1-2-7层串行链路上的RTU和ASCII来传输。

一般来说,通讯数据量少而且主要是文本的通讯则采用MODBUS ASCII规约,通讯数据数据量大而且是二进制数值时,多采用MODBUS RTU规约。

modbus-rtu 半双工

modbus RTU/TCP/UDP

 

准备工作配置Modubus环境;

软件准备

支持win10

vspdpro虚拟串口模拟

https://www.eltima.com/vspdpro-post-download.html

https://www.eltima.com/

 

modbus工具下载modbus slave、modbus poll、文档等

https://www.modbustools.com/download.html

在rtu协议中,poll主站仿真软件;slave是从站仿真软件

 

环境配置准备

1、安装工具vspdpro、modbus slave、modbus poll

2、如图配置了vspdpro模拟串口 com1 > com2

Thingsboard modbus协议

如果成功,会在设备管理器上如图显示,如果不成功google,我是因为vspdpro版本太低配置失败;

左侧配置成功的图,右侧是失败的图

Thingsboard modbus协议Thingsboard modbus协议

 

3、modbus slave配置com2>com1 ;modbus poll配置com1>com2

4、检查 ;tx增加,此时修改slave和poll的数据,两边会同步更新,表示没有问题了;如此环境准备就绪;

Thingsboard modbus协议

Gateway modbus rtu配置

rtu的测试只能在本机,只有本机模拟了串口;

thingsboard gateway和modbus配置;

然后将poll关闭,com1留个gateway配置

协议配置方面和slave要一致

Thingsboard modbus协议

Thingsboard modbus协议

Thingsboard modbus协议

{
        "type":"MODBUS",
        "configuration":{
            "servers":[
                {
                    "transport":{
                        "type":"rtu",
                        "portName":"COM1",
                        "encoding":"rtu",
                        "timeout":5000,
                        "baudRate":9800,
                        "dataBits":8,
                        "stopBits":1,
                        "parity":"even"
                    },
                    "devices":[
                        {
                            "unitId":1,
                            "deviceName":"testDevice1",
                            "attributesPollPeriod":1000,
                            "timeseriesPollPeriod":1000,
                            "attributes":[

                            ],
                            "timeseries":[
                                {
                                    "tag":"test",
                                    "type":"long",
                                    "pollPeriod":1000,
                                    "functionCode":3,
                                    "address":0,
                                    "registerCount":1,
                                    "bit":0,
                                    "byteOrder":"BIG"
                                }
                            ]
                        }
                    ]
                }
            ],
        }

 其他的thingsboard配置,和gateway启动就不详细介绍了,可以见我的其他博客和官网

使用modbus slave模拟modbus TCP/UDP

在connection中选择,比较简单就不记录了