我想问下,我在PLC扫描过程中,我通过外部更改中间变量M的值,这个值在PLC里面是立即改变还是需要到下一个扫描周期开始才改变这个值?
简单说就是PLC内部变量是不是在PLC扫描周期的任意时刻都是可以被外部改变的?而不像DI输入在扫描开始的时候读输入映像区?
问题补充:
那就是PLC在第三阶段运行过程中,外部改变M的值,这个值在PLC内部就立即修改。而DI的话,外部实际输入改变,只有运行到下一周期的第二步才会修改?
最佳答案
补充:差不多是你说的那样的。PLC周期只是对时间要求极高的程序才用考虑,一般情况下不用考虑,直接把程序放到OB35或OB1执行就可以了!
内部变量是第三阶段才会被读取或写入的。
第一阶段:输出
第二阶段:输入
第三阶段:OB、读取或写入M
第四阶段:中断
第五阶段:其他事件
提问者对于答案的评价:
谢谢
专家置评
这个问题有些复杂,要区分PLC,要区分通信方式,区分优先级。因为程序总是循环执行的,没有必要纠缠于此。如果有特殊的应用一定不允许执行中间更改数据,可以将可能被改的变量在程序开始赋给另一个不会被其它方式修改的变量。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc224275.html