现在项目中有一个CP440需要对不同协议格式及字长的两个设备通讯,所以采用轮询的方式通过更改FB10“SEND_440”中的DB_NO和LEN变量来执行,但在切换的过程中经常通讯自动停止,求高手赐教。。。
图片说明:
最佳答案
1、请参考下述资料,其中第3章就描述如何轮询的方法,轮询的参数采用一个DB块来执行,DB块结构图见上传的图片1。应用OB35每中断一次命令号加1,这样来实现轮询。
《Siemens CP440模块实现LECOM协议的研究》下载:
http://www.go-gddq.com/down/2011-11/11112823303994.zip
2、在切换的过程中经常通讯自动停止?
、你的程序应用一个100ms的定时器进行轮询,这个100ms是否合适?可以试用其他时长试试。如果应用OB35也涉及到中断时间设置多少,一般先用默认的200ms试起。
、程序中要有根据回应的控制字符ACK,ANK进行执行其他程序或重新发送的控制,见上传的图片2。
图片说明:
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc231844.html