发布于 2014-04-04 16:43:44
93楼
这个问题与plc程序执行顺序有关。输入采样阶段、程序执行阶段、输出刷新阶段。在第二个阶段和第三个阶段之间有个缓冲区,也就是映象。这个映象是统一的,它的输出也是统一的,也就是说所有的输出都会输出,而不是说你没有用这个量它就不输出。在第二阶段并不是所有的映象都更新的,程序没有改变的映象,CPU是不会动的,它原来是什么样现在就是什么样。所以在第三阶段,将映射输出时,不变的映象会照旧输出。这里的输出不仅包括物理的输出如Q点,也包括数据区如 M区、V区。
打个比方吧,vb0这个字节如果在程序中没有改变,那么它原有的内容将一直存在,它可以是空的——所有的位都是off,它也可以是一个数值(如果用编程软件写入一个数),它将一直存在,直到被改变(可以是再被写入另一个数,或断电丢失(如果不保持的话))。Q点也是这样的,如果Q0.0被置位,而在程序中没有对它改变,那么它会一直输出。