S71200 串口通讯 4800波特率时串口助手接收到的数据不是发送数据

1200和串口助手通讯  9600波特率时发送AB 接收是AB,4800波特率时,接收到的不是AB

1200和串口助手波特率设置都是9600  或都是4800

问题补充:
只能用4800  因为下位设备是4800的

目前PLC和串口助手通讯,只有9600是正常的。
用的send_P2P指令,发送AB82 0082,串口助手接收到情况如下

4800:EC 00 00 00 00 
9600:AB 82 00 82 00 00 00 00 00 00 
19200:9E E6 18 C0 00 18 C0 00 00 00 00 00 00

最佳答案

难道信号被干扰了?波特率低,意味着每个bit传输的时间长。
试试19200或者38400,或者更高。

从你附的报文数据来看,比较怀疑波特率没有匹配好。
9600: AB       82 00      82 00 00 00 00 00 00 
19200:9E E6 18 C0 00 18 C0 00 00 00 00 00 00

9600下的0x82与19200下的0x18 0xC0对应,
假设发送的数据是9600下的0x82,那么如果用19200的波特率接收,每个9600下的bit数据会变成19200下的2个bit数据。
就会出现9600下的0x82(二进制1000 0010)变为19200下的0x18 0xC0(二进制的0001 1000, 1100 0000).
每个9600下的高电平1,变为19200下的2个高电平1.

给你的建议,修改波特率后,重新启动一次plc,再试试。

提问者对于答案的评价:
改波特率一定要重启

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc163614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月9日
下一篇 2017年6月9日

相关推荐