初学smart200,请教一下,使用smart200自由口通讯时,使用推荐的中断处理方式,一共8个站,其中一个站掉线,或者掉电,其他所有都通讯不上,请问如何处理的?
问题补充:
如果有站故障,此站依旧一直发,直到有反应为止,我想如果此站没有反应,就像@ WWCWWC所说的那样,超出一定时间跳过此站,执行下一个指令,但是在等待接收数据的过程中,我复位SM87.7,终止接收指令的执行,按理说此时sm86.7=1,但是不知为何终止不了,继续执行就会报错,显示XMT和RCV同时执行,初学西门子,请多多指教,谢谢谢谢各位。
最佳答案
一般自由口均采用轮询的工作机制,即上一个发送、接收完成标志位(done)触发下一个发送、接收指令的工作机制。该工作机制当某一个从站出现断电或从站故障时,主站会一直等待着从站的回传,这样就会使系统无法实现轮询工作。
严密的自由口轮询工作机制还需要增加一个用(BGN_TIME和CAL_TIME指令)检测发送、接收指令的工作时间,当超出了这个时间,发出报警信息并执行下一个指令的执行。
解决的办法:完善异常时的工作程序。
提问者对于答案的评价:
很感激各位的解答,尤其感激@WWCWWC工程师和@芳季工程师的解答,两人对我的解答都提供了很大的帮助,@WWCWWC的解答更是让我找到方向,谢谢谢谢。谢谢两位工程师的解答。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc370723.html