7-WIFI&蓝牙(ESP32)转CAN或RS485总线&串口TTL模块-CSDK--设备作为Modbus Slave实现RS485 Modbus RTU和Modbus Poll Modbus TCP转换通信

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESP32_CAN" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

说明

这节测试的是让设备作为Modbus Slave

Modbus Poll 可以连接设备, Modbus Poll发送的Modbus TCP数据可以经过设备转换为Modbus RTU协议通过RS485输出.

设备从RS485接收的Modbus RTU数据经过设备转换为Modbus TCP协议然后发送给Modbus Poll

 

测试

1,打开这节的工程

测试的时候有两种测试方式,一种是使用电脑连接设备的无线信号,设备的地址固定为 192.168.4.1:502

另一种是设备连接路由器,然后电脑也连接路由器,设备的IP地址为路由器分配的IP; 如果使用这个方式修改下设备连接的路由器名称(修改为自己的路由器信息)

也可以配置静态IP; Modbus Slave服务器端口号为 502,也可以修改

 

 

用户第一次打开工程记得先清理一下再编译,只需要清理一次即可,以后都不需要清理.

 

 

2,设备的RS485接口接上Modbus RTU通信的设备

 

3,我这边就使用 Modbus Poll 上位机测试, 根据自己的RS485设备设置下协议

 

这个要根据自己的RTU设备设置,我这边是03功能码读取设备的寄存器,然后读取10个

 

4,然后连接

 

 

如果是使用电脑连接设备的无线信号的方式,IP地址就填写 192.168.4.1

如果是连接路由器测试的, 如果设置了静态IP地址, 就填写静态IP地址, 如果没有设置静态IP; IP就填写设备日志上打印的IP; 

 

5,正常情况下会获取到读取的数据

 

程序说明

1,把接收到的modbus tcp数据通过RS485输出

 

 

2,把接收到的RS485数据发送到modbus tcp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

posted on 2024-04-15 14:14  广源时代  阅读(69)  评论(0编辑  收藏  举报

导航

支付宝 QQ群