发布于 2011-11-30 12:29:17
14楼
花了我一天时间看了两本书类似的解释,我才弄明白了
现在可以告诉大家了
大家都知道PLC在执行用户程序时第一阶段是输入刷新,第二阶段是执行我们编写的程序,第三阶段为输出阶段,在执行每一阶段时另外两个都是处于屏蔽状态的。这里不包果直接指令啊,比如立即输入和输出。
重要的是第二阶段在执行程序时是把输入输出的值先读进来的,然后结合个软件的状态来运算的,运算出每条指令的结果并把结果存储到相应的寄存器中的。(如果是Q就存在映像寄存中)
大家都知道PLC在执行每条指令时是从左到右,从上到下的,就这样循环执行的。关键在并行时它是从左到右到了并行连接线时它就先处理下一行了,还是从左到右的,当两行有一行为1 或多行为1它就给并行连接线后面为1,这样能流可以到Q0.0线圈了,其实Q0.0线圈是在这个扫描周期内一直接通的,并没有自锁,只是存在映像寄存器里了,到下个扫描周期因为前面没有一个网络改变Q0.0的输出,接着它才利用M0.0的常闭和Q0.0常开接通后锁上的。
在这还要重复一下,上一行的处理结果只会影响后面的和下一个扫描周期的。不会影响到上一行的或前面的。除非后面你重复存入,比如后面还有Q0.0这样会覆盖前面的Q0.0。
它的动作图是这样的
I0.0接通的第一个扫描周期
网络1
I0.0=1 P=1 M0.0=1
网络2
M0.0=1 Q0.0=0 Q0.0=1 重要的是因为在这里连接线前面有一行或多行为1,结果Q0.0有能流进入为1,
M0.0=1 Q0.0=0 在这个网络处理完后Q0.0状态就已经存入输出影响寄存器了。
下一个扫描周期
网络一
I0.0=1 P=0 M0.0=0
网络2
M0.0=0 Q0.0=1 Q0.0=1 在这里Q0.0才锁上的。
M0.0=0 Q0.0=1
我说的只对我发帖的这个图啊不包果其它指令。
有建议可以提啊热烈欢迎,我是刚进论坛的,各位大侠多多照顾小弟啊,谢了