CPU是SR20, 我按照官网的教学视频单独编写XMT指令程序可以实现发送数据给串口调试助手,但我又单独编写RCV指令时串口调试助手发送的数据plc接收不了,用官网的例程也接收不了.RCV和XMT程序是单独的两个程序。我想单独测试接收和发送功能。
关于阿鸣前辈说的串口调试软件和PLC编程软件使用自由口通信模式时对串口的占用,在同一时刻只允许一个!否则就会出错!!!我用的以太网实现编程软件和plc的连接应该不会占用串口,另外我直接用官网的例程也实现不了接收数据的功能,程序的控制字节的配置和条件应该是正确的。接线是PLC的端口0接485/232转换器的485口,485/232转换器的232口接232转USB线。附上程序图,请高手们指教一下,急急急!!!!!
问题补充:
请问我需要用两台电脑吗,1台电脑监控程序,1台电脑监控串口调试助手,还是一台电脑就可以了
图片说明:
最佳答案
阿鸣老师指出的问题你可能误解了。
老师说是对于rs485口上通讯,基于串口通讯的原理(半双工),就是说在一条通讯回路上,只能允许存在一种通讯方式正在工作。
比如,发送指令正在发送时,接收指令是不允许启用的,同样的道理一条发送指令被激活,其它的发送指令需要先等待这条发送指令发送完成后才能激活。
与其。急!急!急!到不如静下心来仔仔细细、反反复复地推敲阿鸣老师的那几句话吧。
补充问题回复:
如果你有2台电脑可以的。
但操作这样的通讯测试,1台电脑照样可以的,调试时,缩小软件窗口和串口调试软件串口就可以了。
提问者对于答案的评价:
您好,我控制字节只设置了起始条件为空闲时间检测时间为0ms,结束条件为超时10s,这样的接受条件应该很容易满足,可是接收不了数据,状态字节smb86的值为0,好像plc根本就没有执行过RCV指令,如果有执行过的话,smb86的值应该会变化,然后我又把控制字节设置了起始条件为起始字符和结束条件为结束字符,a为开始和结束字符,串口助手发送a123a,plc还是接收不了,状态字节smb86的各个位的值一直是0,单独的发送指令程序可以发送数据。很是不懂,请您指教一下。
最佳答案作者回复:
你接收起始符定义了“a”?一个很矛盾的问题是你如何让PLC判断这个a那个算起始,那个a算结束?你仔细思考一下这个问题。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc126151.html