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