原来写西门子300的程序时,块里面有边沿指令,主程序多次调用该块,则多次调用结果会互相干扰,造成程序错乱。西门子200中多次调用子程序,也是这样的。不知道有没有什么好的解决办法没有,难道真的要每次把边沿指令放主程序里面?另外西门子200即使把边沿指令作为子程序的一个输入参数,而不在子程序内部,程序也不会正常执行,真这么麻烦么?
最佳答案
没有你说的那么麻烦,有两个办法:
1.300中不要用FC,用FB功能块来编写你的子程序,程序中使用STAT变量来作为上升沿的保持位,这样每次调用会自动分配背景数据块中的地址给它,多次调用不会冲突。
2.采用形参来做,对于少量应用是可以的,如果程序中需要太多的脉冲保持位还是不要用这种方法,显得程序太杂乱了。
提问者对于答案的评价:
谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc302544.html