首页 > 其他分享 >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-11 11:44:55浏览次数:26  
标签:RTU Modbus 测试 串口 路由器 连接 设备

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

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

 

说明

这节测试的是让设备作为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, 设备上面的按键重启

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

标签:RTU,Modbus,测试,串口,路由器,连接,设备
From: https://www.cnblogs.com/yangfengwu/p/18065760

相关文章

  • 11. 串口通信
    一、串口通信简介  串口通信是一种设备间常用的串行通信方式,串口按位(bit)发送和接收字节。串口通信的数据包由发送设备的TXD接口传输到接收设备的RXD接口。在串口通信的协议层中,规定了数据包的内容,它由起始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约......
  • ModbusTCP协议简介与编程流程图
      本文主要目的是为了写一个简单的ModbusTCP服务器-客户端程序而记录的知识点,里面包含了编程所需要的必要背景知识和协议解析流程图。Modbus基本数据类型  Modbus有四种基本数据类型:离散量输入:客户端只能读取它,由服务器提供,占1个比特位,可以传输现实中的开关量输入,比如接近......
  • Qt ModbusTCP通讯
    前言Modbus在工业控制中的应用非常多,由于其免费使用加上一定的历史环境,Modbus在PLC上的通讯应用非常多,本文主要介绍MosbusTCPmaster(主站)的实现。一、关于ModbusModbus是由MODICON公司开发的一种工业现场总线协议标准,随后施耐德推出了基于TCP/IP的MOdbus协议:Modbustcp;......
  • Qt 使用第三方libmodbus库实现Modbus通讯
    之前发表的Modbus通讯程序使用了QT自带的Modbus库,由于QT自带库的数据响应使用的是信号和槽来实现的,所以在一些读写频率较高的场景下,会引发很多异常问题,此篇文章使用C语言写的第三方Modbus库来实现modbus通讯。 经程序运行测试,调用该库进行modbus通讯完虐QT自带mosbus库。......
  • ModbusTCP协议报文详细分析
    ModbusTCP与ModbusUDP的报文格式是一样的,它们之间的区别其实就是TCP与UDP的区别,因此下面就针对ModbusTCP的协议进行分析,ModbusTCP与ModbusRtu(ModbusASCII)之间的区别如下图:从上图可以看出,ModbusTCP在Modbus串行通信的基础上,去除了校验(由于TCP本身就带有校验和)和设备地址(M......
  • Qt 基于QTcpSocket的ModbusTCP协议
    一、编写缘由1.发现问题最近项目上要把之前的modbusRTU改为TCP形式,因此之前的modbus通讯线程得重构,一开始当然是使用Qt自带的QModbusTcpClient类,很快就重构好线程,读取数据没有问题,但是只要一发送写数据请求,整个tcp连接就会断开,做了很多尝试,排除了从站的问题,即使直接连modbuss......
  • virtual box安装cendos7并配置外网及静态IP(转)
    一、前期准备工作:1、虚拟机下载VirtualBox版本:7.0.6下载VirtualBox的下载页面:https://www.virtualbox.org/wiki/DownloadsVMWare虚拟机软件(收费的,要使用请购买正版软件)的官网:https://www.vmware.comVMWare虚拟机的免费版VMWarePlayer:https://www.vmware.com/products/w......
  • spNet_旧项目升级_Startup_Program合并
    Program.cs和Startup.cs合并成Program.cs合并Startup.cs到Program.cs:将Startup.cs中的ConfigureServices方法中的代码移动到Program.cs中varbuilder=WebApplication.CreateBuilder(args);之后。将Startup.cs中的Configure方法中的代码移动到varapp=builder.Build();之......
  • CEIWEI CommMonitor 串口监控精灵v12.7 最新版 串口过滤; 串口监控; SerialPort M
    CEIWEICommMonitor串口监控精灵是用于RS232、RS422串口协议、ModbusRTU/ASCII协议过滤监控抓包的专业工具软件程序。CEIWEICommMonitor监控记录和分析系统中的所有串口活动,并不占用串行端口;追踪应用程序或驱动程序开发,串口设备测试和优化等过程中可能出现的问题的理想工具......
  • Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv
    最近,我在Python潮流周刊中分享了一个超级火爆的项目,这还不到一个月,它在Github上已经拿下了8Kstar的亮眼成绩,可见其受欢迎程度极高!国内还未见有更多消息,我趁着周末把一篇官方博客翻译出来了,分享给大家。作者:@charliermarsh译者:豌豆花下猫@Python猫英文:uv:Pythonpackag......