作者 主题 我是一颗小小草 侠圣 经验值: 2017 发帖数: 806 精华帖: 2 主题:遇到的“双线圈”问题 2011-11-05 10:27:42 楼主 经常谈到双线圈问题,看资料介绍,自己理解无非就是程序里面不能出现一个以上诸如OUT Y0 的指令
出现上述现象程序扫描会以最后一个线圈逻辑结果作为输出结果
问题1:是语法绝对禁止出现双线圈,还是允许可以存在双线圈
如果允许可以,出现双线圈我放弃前面线圈的逻辑,只要后面线圈的逻辑不就行了吗
如果坚决禁止,出现后最终逻辑不可预测,那么程序中就要坚决禁止了
前段时间我在现场修改一较大程序(可惜是台达PLC,不是西门子PLC),其中对输出点(例如Y0)用了大量的SET、 RST 指令,最后只输出一条 OUT 指令
监控发现有诸如下面的现象存在(见截图): 当 X0 导通时,其中只有Y2 导通,Y0、Y1 均不导通
查找此段程序以下没有任何RST Y0,RST Y1 指令
当时就怀疑是程序最后使用了OUT 指令引起的
现场紧急,来不及慢慢琢磨,立即删掉 OUT 指令,所有逻辑都想法使用SET /RST 指令,最终给解决了
但引出了: 问题2:对于同一输出点大量使用了SET /RST 指令后,还能不能再使用OUT 指令
(注:这个程序用三菱软件中语法检查工具检查,结果汇报有双线圈问题,台达软件好像没有这个功能,但程序能编译通过,可以下载运行) 上面谈到我在现场修改的程序结构是这样的:主程序中调用了两个子程序,并且有一个自动、手动跳转指令
(当然台达编程是在一起写的,不像 200 子程序已经分开编写了)
对于同一个输出主程序中全部使用了SET /RST 指令,子程序中以及跳转到的手动程序部分却使用了OUT 指令
(据了解这个程序现场使用也快两年了,感觉还是能正常使用) 问题3:对于同一个输出主程序中全部使用SET /RST 指