使用西门子200PLC调用子程序为什么程序里面有线圈输出,而PLC为什么不动作

使用西门子200PLC调用子程序为什么程序里面有线圈输出,而PLC为什么不动作,第1张

应该是程序编写的问题,建议你检查一下几个方面:

1、线圈前段使蠢粗能条件是否能满足,如果不能满足,让御那就不会有输出;

2、线圈是否重复使用,输出线圈编号如果在程序其他部分也被使用,那么二者之间有可能冲突带滑镇导致输出不正常;

3、线圈在子程序里使用,主程序里是否有子程序调用指令,如果有,调用指令使能条件是否满足。

你的程序这样写是不严谨的,临时变量的暂态会引起程序的袭卖误动作,这就是配禅侍你看见程序出错的缘故。

另外SR指令的 *** 作数位你定义是M10.0,所以你取的输出信号标志也是不可培吵取的,你所取得输入输出信号只是SR指令执行质量的检测。

建议你程序将M10.0替换成#输出(L0.2)并将类型改为输出类型(out),去掉线圈指令。

1 子程序嵌套调用可能存在问题。

2 在程序中,当一个子程序调用另一个子程序时,程乱帆消序的执行顺序可能会变得复杂,从而导致一些错误。

此外,如果嵌套调用过多,还可能会导致栈溢出的问题。

3 为轿缺避免上述问题,应该注意在程序编写时,合理地使用子程序嵌套调用,尽可能减少嵌套调用的层数,同时在子程序中,尽量避免修改传入的参数值。

此外,使用一些调试工具也可以帮助我们快哗知速排查子程序嵌套调用中遇到的问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12512800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存