本人使用无线模块作为200plc自由口通讯的接收数据源,plc信息提示RCV和XMT同时使用端口0。通讯程序存在的问题,希望大神帮忙查看一下,谢谢!现程序调试不通,上电后smb86值为零,i0.0(人工测试点)触发后cpu sf灯亮黄灯,plc提示信息如上。
问题补充:
和无线模块通讯过程中,本人只使用plc接收数据包,不发送。无线模块用串口软件测试过,能够正常接收数据包。
图片说明:
最佳答案
看了你的程序,你仅仅只调用了prot0的接收完成中断,这么有发送指令XMT同时使用的报警?莫非程序没有上传完整。
如果,通讯状态字节SMB86等于0,说明通讯没有建立起来。
图3中,为什么要将已经定义好的控制字节再次赋值SMB87 = 0?莫非你需要断开通讯连接?
建议先用串口调试软件测试后,再进行你需要的测试。
补充问题回复:
你的问题应该在初始化通讯参数时,应该首先启用接收指令,再在接收完成中断里编辑接收指令这样符合轮询工作机制。
而你且且在主程序上用外部I0.0再次触发接收指令,会造成多次同时调用发送或者接收指令的报警。
提问者对于答案的评价:
嗯 不错。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc369155.html