恭喜,你发布的帖子
发布于 2021-12-25 17:25:01
8楼
我写了很久的写优先程序,西门子官方的库一直用的不太好,我之前是用DONE位和ERROR作为下一组任务的触发的。但是实际应用中在从站设备上电或断电瞬间,总会出现没有DONE位和没有ERROR位的情况。
写优先任务时,遇上站点插队前面,想停读的站点总是停不掉,总是报8200错误代码。而且官方的库在使用过程中会出现一个通讯周期没有DONE位和没有ERROR位的情况。这样通讯就没法到下一个轮询,我又加入了看门狗功能,检测通讯站点未轮询,重启通讯过程。在通讯过程中又出现了BUSY位一直为1,站点也不报错误也不报完成。
这样的程序现场运行可想而知,用户意见很大,我们自己也疲于奔命,后来索性就用定时器轮询了,牺牲效率起码得到了稳定性。什么故障位完成位让他见鬼去吧!!!
请填写推广理由:
分享
只看
楼主