前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WIFI&蓝牙(ESP32)转CAN总线&串口TTL模块-C1-设备作为Modbus Slave实现RS485 Modbus RTU和Modbus Poll Modbus TCP转换通信

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

作者头像
杨奉武
发布2024-03-12 11:59:54
2020
发布2024-03-12 11:59:54
举报
文章被收录于专栏:知识分享知识分享

<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,打开这节的工程

2,修改说明

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

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

Modbus Slave服务器端口号为 502,也可以修改

3,提示

下面测试方式是让设备连接路由器, 不过和使用电脑连接设备的无线信号测试基本一样,所以两种方式就一块说过去;

下面测试方式是让设备连接路由器, 不过和使用电脑连接设备的无线信号测试基本一样,所以两种方式就一块说过去;

下面测试方式是让设备连接路由器, 不过和使用电脑连接设备的无线信号测试基本一样,所以两种方式就一块说过去;

4,修改连接的路由器名称

如果是使用电脑连接设备的无线信号测试就不需要任何修改;

5,先打开串口监视器,波特率选择为9600

6,把程序下载到设备

设备连接路由器以后会打印设备的IP地址;

如果是使用电脑连接设备的无线信号测试不需要看这个;

7,电脑也连接路由器

如果是使用电脑连接设备的无线信号的方式,则下面就选择为设备的无线 ModbusSlaveAP  密码为 11223344

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

9,我这边就使用 Modbus Poll 上位机测试, 先设置下协议

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

10,然后连接

注意: 如果是连接路由器测试的,下面的IP就填写设备上面日志上打印的IP;

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

11,正常情况下这里会获取到读取的数据

程序说明

1,buf里面是接收到的Modbus TCP数据; buf1是发送给RS485的Modbus RTU数据

2,rs485RcvBuf里面是通过RS485接收到的Modbus RTU数据; rs485RcvBufCopy是发送给Modbus TCP的数据

3, 设备上面的按键重启

.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
    • 这节测试的是让设备作为Modbus Slave
      • Modbus Poll 可以连接设备, Modbus Poll发送的Modbus TCP数据可以经过设备转换为Modbus RTU协议通过RS485输出.
        • 设备从RS485接收的Modbus RTU数据经过设备转换为Modbus TCP协议然后发送给Modbus Poll
        • 测试
          • 1,打开这节的工程
            • 2,修改说明
              • 测试的时候有两种测试方式,一种是使用电脑连接设备的无线信号,设备的IP地址固定为 192.168.4.1;
              • 另一种是设备连接路由器,然后电脑也连接路由器,设备的IP地址为路由器分配的IP; 如果使用这个方式修改下设备连接的路由器名称(修改为自己的路由器信息)
              • Modbus Slave服务器端口号为 502,也可以修改
            • 3,提示
              • 下面测试方式是让设备连接路由器, 不过和使用电脑连接设备的无线信号测试基本一样,所以两种方式就一块说过去;
              • 下面测试方式是让设备连接路由器, 不过和使用电脑连接设备的无线信号测试基本一样,所以两种方式就一块说过去;
              • 下面测试方式是让设备连接路由器, 不过和使用电脑连接设备的无线信号测试基本一样,所以两种方式就一块说过去;
            • 4,修改连接的路由器名称
              • 如果是使用电脑连接设备的无线信号测试就不需要任何修改;
            • 5,先打开串口监视器,波特率选择为9600
              • 6,把程序下载到设备
                • 设备连接路由器以后会打印设备的IP地址;
                • 如果是使用电脑连接设备的无线信号测试不需要看这个;
              • 7,电脑也连接路由器
                • 如果是使用电脑连接设备的无线信号的方式,则下面就选择为设备的无线 ModbusSlaveAP  密码为 11223344
              • 8,设备的RS485接口接上Modbus RTU通信的设备
                • 9,我这边就使用 Modbus Poll 上位机测试, 先设置下协议
                  • 这个要根据自己的RTU设备设置,我这边是03功能码读取设备的寄存器,然后读取7个
                • 10,然后连接
                  • 注意: 如果是连接路由器测试的,下面的IP就填写设备上面日志上打印的IP;
                  • 如果是使用电脑连接设备的无线信号的方式,IP地址就填写 192.168.4.1
                • 11,正常情况下这里会获取到读取的数据
                • 程序说明
                  • 1,buf里面是接收到的Modbus TCP数据; buf1是发送给RS485的Modbus RTU数据
                    • 2,rs485RcvBuf里面是通过RS485接收到的Modbus RTU数据; rs485RcvBufCopy是发送给Modbus TCP的数据
                      • 3, 设备上面的按键重启
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档