这种工作方式是在系统程序的控制下顺序扫描各 输入点的状态,按用户程序进行运算处理,然后顺序向各输出点发出相应的控制信号。整个工作过程可分为输入处理、程序处理、输出处理三个阶段。
1)输入处理
PLC在执行程序前,将PLC的整个输入端子的ON/OFF状态写入到输入数据存储器中。在执行程序的过程中,即使输入变化,输入数据存储器的内容也不变,而在下一个周期的输入处理时,写入这种变化。输入滤波会造成输入响应滞后(约10ms),如采用数字滤波的输入端子,可以通过程序修改滤波时间。
2)程序处理
PLC根据程序存储器的指令内容,从输入数据存储器与其他软器件的数据存储器中读出各软器件的ON/OFF状态,从0步开始进行顺序运算,每次将结果写入数据存储器。因此,各软器件的数据存储器随着程序的执行逐步改变内容。而且,输出继电器的内部触点可利用输出数据存储器的内容执行。
3)输出处理
所有命令执行结束时,向输出数据存储器传送输出Y的数据存储器的ON/OFF状态,这成为PLC的实际输出。
对于用户来说,在编写用户程序或选择设备时,必须清楚下面介绍的三个阶段,即用户程序执行过程的原理。PLC采用集中处理的方法,即对输入扫描信号、执行用户程序和输出刷新都采用集中分批处理的工作方式。(1)输入扫描在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将输入信号存入输入映像区,输入映像存储器被刷新。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。如果输入设备能使PLC输入端形成闭合回路,对应输入端编号的内部输入继电器内保存为“1”,即相当于继电器线圈导通。在程序执行过程中,该编号对应的触点动作;如果输入设备能使输入开路,则对应输入端编号的内部输入继电器内保存为“0”,即相当于继电器线圈没导通,在程序执行过程中,该编号对应的触点不动作。如果在PLC处于非输入扫描的阶段,PLC外的输入设备状态发生了变化,内部输入继电器也不会发生变化,要等到下一个输入扫描阶段才能根据此时的输入状态来刷新。所以,对于少于十几毫秒的输入信号,经常采集不到。(2)执行程序在执行用户程序过程中,PLC按梯形图程序顺序自上而下、从左至右逐个扫描执行,即按助记符指令表的先后顺序执行。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,PLC从输入映像区中取出输入变量的当前状态,然后进行由程序确定的逻辑运算或其他运算,根据程序指令将运算结果存入相应的内部继电器中,包括输出继电器、内部辅助继电器、定时器、计数器等。输出继电器的信号存放在输出映像区,即输出继电器与PLC外部的同编号的输出点对应。在程序执行过程中,同一周期内,前面的逻辑结果影响后面的触点,即后执行的程序可能用到前面的最新中间运算结果;但同一周期内,后面的运算结果不影响前面的逻辑关系。该扫描周期内除输入继电器以外的所有内部继电器的最终状态(导通与否),将影响下一个扫描周期各触点的开与闭。(3)输出刷新程序执行阶段的运算结果被存入输出映像区,而不送到输出端口上。在输出刷新阶段,PLC将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合。全部输出设备的状态要保持一个扫描周期。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)