2.2 用户程序执行和输出刷新阶段
在输入采样结束后转入用户程序执行和输出刷新阶段,在这两个阶段即使输入数据和状态发生变化,但是I/O映像区相应输入单元中的数据和状态也不会变化
注意:
如果输入是一个脉冲信号的话,输入脉冲信号的宽度必须大于一个扫描周期,这样才能保证在任何情况下该信号都能被读入。
2.2.1 用户程序执行
PLC总是按照由上到下的顺序依次扫描用户程序,在扫描程序时按照先左后右、先上后下的顺序进行逻辑运算,逻辑运算的结果存于映像区,上面的逻辑运算结果会对下面的逻辑运算起作用,但是下面的逻辑运算结果只能到下一个扫描周期才能对上面的逻辑运算起作用(在编程中逻辑顺序很关键,不然很可能造成运算结果的错误)
2.2.2 输出刷新
当用户程序执行完之后,PLC就进入到输出刷新阶段,在此阶段PLC按照保存在I/O映像区的运算结果刷新所有对应的输出电路,再经输出电路驱动相应的外设,这时才是PLC的真正输出。
3、PLC的工作特点总结
结合PLC的工作过程,总结PLC的工作特点如下:
A、所有输入信号在程序处理运算前统一读入,并在程序处理过程中不再变化,而经程序运算处理后的结果也是在扫描周期的最后时段统一输出。
特点就是将连续的过程分解成若干静止的阶段。
B、PLC仅仅在扫描周期的起始阶段读取外部输入状态,该阶段相对较短,对输入信号抗干扰能力强。
C、但这种方式对于高速变化的过程可能漏掉变化的信号,也会带来系统相应的滞后,想要克服这些问题可利用立即输入输出、脉冲捕捉、高速计数器或中断技术等。
举例来说明:
从上面程序可以进行下对比:I0.1为外部的输入变量。
左面的程序只需要一个扫描周期就可以对M0.4的刷新,而右面的程序则需要4个扫描周期才能实现对M0.4的刷新。
在扫描周期极短,无时序配合时可能感觉不到这两个程序的差异,但是若有时序配合时就会产生很大的影响。
再来看一个双线圈输出的例子:
当I0.0按下时,Q0.0其实是不输出的,只有当I0.1按下时Q0.0才会输出。