上位机与485电表通信返回值错误
初学MODBUS,如有不对之处,敬请各位谅解指教。通过USB-485模块连接电脑和RS485的电表,用串口助手调试。发送命令给电表,电表返回的信息每次都不一样,请问这可能是什么原因呢?
通讯不成功我想到了以下原因:
1.检查波特率,从机地址,校验位,数据位等是否正确
2.接线是否正确。
既然电表有数据的回复说明接线没有问题吧?同时我也找人帮忙看了接线,说是没有问题。
对于波特率等我也进行了确认,并没有问题。
请问各位路过的大大指教下,有没有其他原因引起这种情况呢? 还可能是电表坏了吗? 我又换了一块,还是一样的结果 去仔细看看电表的协议说明,你肯定是用的不对。 chunyang 发表于 2014-10-24 18:18 static/image/common/back.gif
去仔细看看电表的协议说明,你肯定是用的不对。
那我在看看,谢谢春阳老师,有结论了我会发上来 chunyang 发表于 2014-10-24 18:18 static/image/common/back.gif
去仔细看看电表的协议说明,你肯定是用的不对。
因为是临时需求,又没有相关的基础,不知道自己注意的全面不全面。
我觉的以下几点应该是关键的几个地方:
1、接线。如图,我觉得图和实物不太一样,不太懂,找了两个人帮忙接的,都说没错误。
2、仪表参数设置。如图,重点就是从机地址、波特率、数据格式吧,另外接线方式我不懂,所以两种都实验了下。
3、数据格式和仪表支持的功能码。如图,有注意到。
4、通信举例与寄存器地址。如图,这都是具体的信息帧要知道的。
不知道做这些是否满足通信的基本需求了呢?
为了排除串口助手的原因,我从仪表官网下载了专用的通信测试工具,未果。
为了排除电表的原因,我实验了两块电表。
现在只有USB-485转换器没换过了,难道是它的原因?
各位大神闲暇之余帮忙看看。不胜感激!!!
为啥图片发不成功···· 建议你还是先下功夫搞明白ModBus协议格式本身,硬件接线方法看手册就应该能明白了。关于ModBus协议的一些解释,可以去我的Blog中找相关资料。 chunyang 发表于 2014-10-27 14:15 static/image/common/back.gif
建议你还是先下功夫搞明白ModBus协议格式本身,硬件接线方法看手册就应该能明白了。关于ModBus协议的一些解 ...
MODBUS协议规范我已经看过了并且在使用的过程中一直有回顾,另外还阅读了一些样例程序,自己也动手写过了,所以我猜想应该不是这方面的原因,毕竟协议看懂后发送一段信息帧还是不难的(在这个试验当中唯一需要我做的)。
不管怎样,随着学习的深化我想我会找到原因的,日后会发上来。
谢谢春阳老师。 既然仪表能回复信息,那么你说回复的数据在变话,你得确定,你读取仪表的寄存器的数据是不会变化的? 可以直接下载一个 modbus poll软件去读取一下。
modbus 读数据格式: 从站地址(1字节)+功能码(1字节)+开始地址(2字节)+寄存器个数(2字节)+CRC校验码(2字节) 首先电表回数据了,说明线没有接错,那么就要查一下波特率、停止位、校验位之类的是否正确,如果这些都正确,那么可以用万用表量一下TxD和RxD两个脚,当数据一直处于发送接收时,能看到波形,看一下电压,是不是低了,当电压较低的时候,也可能出现回数据,而数据内容不正确的情况,这个时候要加一个有源中继。建议先下载一个串口通讯助手,看看通讯是否正常,如果不正常,就很有可能是硬件的问题。
页:
[1]