请教一下各位,为什么我的modbus读写指令读取不到数据(modrw指令),现有的设备
台达PLC实体机器一台
通过电脑串口进行程序的下载和触摸屏的在线仿真(电脑主板自带串口不是USB转串口先)
通过USB转485数据线和电脑连接做modbus通讯
PLC和触摸屏通讯正常,可以正常的读取数据和写入数据(用台达触摸屏软件在线模拟的方式测试的)
学习到modbus的时候发现modrw指令读取不到数据,
//-------------------------------
通过这个指令 读取H2100寄存器的数据
MODRW k1 k3 H2100 D0 K1 读取H2100寄存器的数据存放在D0寄存器里
//------------------------------
程序如下
这里要说明一下,我是在电脑上安装了一个modbus从站模拟软件,这个软件可以模拟从站,当软件接收到主站发送过来的请求后,按照不同的指令返回不同的数据,从站显示主站发送过来的数据是正确的(和PLC程序数据是一样的),然后从站返回数据,从站模拟软件显示返回的数据已经返回给PLC了,
返回数据如下
然后用电脑的触摸屏软件在线仿真读取D0的数据,发现D0的数据一直都是0,没有任何变化.
我感觉报文格式也是没有问题的,反复测试,读取多个连续的地址也不行,各种可设置的都设置过还是不行,请问一下各位是什么问题
楼主最近还看过
可以参考我发布的台达PLC实现Modbus TCP、Modbus RTU、Modbus ASCII协议通信视频教程:
http://bbs.gongkong.com/d/202104/855915/855915_1.shtml
1、台达DVP-ES3实现Modbus TCP以太网通信客户端视频教程:
台达DVP-ES3做Modbus TCP客户端、Modbus Slave调试助手做Modbus TCP服务器,视频详细讲解了MCONF指令,并详细讲解了Modbus TCP报文,程序实现了02、0F、03和10功能码。
https://www.ixigua.com/6921904113026335240?utm_source=xiguastudio
2、台达DVP-ES3实现Modbus TCP以太网通信服务器视频教程:
台达DVP-ES3系列PLC做Modbus TCP以太网通信服务器、Modbus Poll调试助手和以太网调试助手做Modbus TCP以太网通信客户端,视频详细讲解了台达DVP-ES3系列PLC如何实现Modbus TCP以太网通信服务器,使用Modbus Poll调试助手和以太网调试助手对台达DVP-ES3系列PLC进行了读写测试,并详细讲解了Modbus TCP以太网通信协议报文格式。
https://www.ixigua.com/6922275414232531469?utm_source=xiguastudio
3、台达DVP-ES3实现Modbus RTU串口通信主站视频教程:
台达DVP-ES3系列PLC做Modbus RTU串口通信主站、Modbus Slave调试助手做Modbus RTU串口通信从站,视频详细讲解了台达DVP-ES3系列PLC做Modbus RTU串口通信主站编程组态过程,其中着重讲解MODRW指令,使用Modbus Slave调试助手对台达DVP-ES3系列PLC之Modbus RTU串口通信主站程序进行了读写测试,最后还详细讲解了Modbus RTU串口通信协议报文格式。
https://www.ixigua.com/6922646148318495239?utm_source=xiguastudio
4、台达DVP-ES3实现Modbus RTU串口通信从站视频教程:
台达DVP-ES3系列PLC做Modbus RTU串口通信从站、Modbus Poll调试助手和串口调试助手做Modbus RTU串口通信主站,视频详细讲解了台达DVP-ES3系列PLC如何实现Modbus RTU串口通信从站,使用Modbus Poll调试助手和串口调试助手对台达DVP-ES3系列PLC进行了读写测试,并详细讲解了Modbus RTU串口通信协议报文格式。
https://www.ixigua.com/6923036203281449479?utm_source=xiguastudio
5、台达DVP-ES3实现Modbus ASCII串口通信主站视频教程:
台达DVP-ES3系列PLC做Modbus ASCII串口通信主站、Modbus Slave调试助手做Modbus ASCII串口通信从站,视频详细讲解了台达DVP-ES3系列PLC做Modbus ASCII串口通信主站编程组态过程,其中着重讲解MODRW指令,使用Modbus Slave调试助手对台达DVP-ES3系列PLC之Modbus ASCII串口通信主站程序进行了读写测试,最后还详细讲解了Modbus ASCII串口通信协议报文格式。
https://www.ixigua.com/6923396422821741070?utm_source=xiguastudio
6、台达DVP-ES3实现Modbus ASCII串口通信从站视频教程:
台达DVP-ES3系列PLC做Modbus ASCII串口通信从站、Modbus Poll调试助手和串口调试助手做Modbus ASCII串口通信主站,视频详细讲解了台达DVP-ES3系列PLC如何实现Modbus ASCII串口通信从站,使用Modbus Poll调试助手和串口调试助手对台达DVP-ES3系列PLC进行了读写测试,并详细讲解了Modbus ASCII串口通信协议报文格式。
https://www.ixigua.com/6923744203373543943?utm_source=xiguastudio
7、台达DVP-ES3使用Socket编程实现以太网开放式通信客户端视频教程:
台达DVP-ES3系列PLC做以太网开放式通信客户端、以太网调试助手做服务器,程序实现了PLC和以太网调试助手相互发送接收8个字节数据,视频详细讲解了SCONF、SOPEN、SCLOSE和SSEND指令。
https://www.ixigua.com/6924236614499566087?utm_source=xiguastudio
8、台达DVP-ES3使用Socket编程实现以太网开放式通信服务器视频教程:
台达DVP-ES3系列PLC做以太网开放式通信服务器、以太网调试助手做客户端,程序实现了PLC和以太网调试助手相互发送接收8个字节数据,视频详细讲解了SCONF、SOPEN、SCLOSE和SSEND指令。
https://www.ixigua.com/6924627797642215944?utm_source=xiguastudio
9、台达DVP-ES3实现无协议串口通信主站视频教程:
台达DVP-ES3做无协议串口通信主站、串口调试助手做从站,视频详细讲解了COMRS指令,程序实现了台达DVP-ES3和串口调试助手相互发送接收8个字节功能。
https://www.ixigua.com/6925016300389564942?utm_source=xiguastudio
10、台达DVP-ES3实现无协议串口通信从站视频教程:
台达DVP-ES3做无协议串口通信从站、串口调试助手做主站,视频详细讲解了COMRS指令,程序实现了台达DVP-ES3和串口调试助手相互发送接收8个字节功能。
https://www.ixigua.com/6925403464201667079?utm_source=xiguastudio
"关育谋" 的回复,发表在10楼
对内容: 【1、台达DVP-ES3实现Modbus TCP以太网通信客户端视频教程:台达DVP-ES3做Modbus TCP客户端、Modbus Slave调试助手做Modbus TCP服务器,视频详细讲解了MC...】进行回复:
-----------------------------------------------------------------
感谢您的回复,我参考一下,我的PLC是DVP-EH3型号的,是在某宝上买的,其实我有点怀疑是买到仿品或者二手的,
我的程序是按照官方例程也参考了网上的程序,不论怎么测试,modrw指令可以正常发送数据,但是从站返回的数据没有办法接收到,因为modbus协议的特殊性,既然从站能正确的收到数据说明传说格式的设置都是正确的,
这都是用从站模拟软件进行的测试
后来我买了一个物理模块(数码管显示数据),数码管可以接收到显示的数据,但是数码管返回的数据PLC始终接收不到。我再好好研究一下,我在和台达技术那边联系一下,看是否是PLC本身的问题