结合PLC的组成和结构分析PLC的工作原理更容易理解。PLC是采用周期循环扫描的工作方式,CPU连续执行用户程序和任务的循环序列称为扫描。CPU对用户程序的执行过程是CPU的循环扫描,并用周期性地集中采样、集中输出的方式来完成的。一个扫描周期主要可分为:
(1)读输入阶段。
每次扫描周期的开始,先读取输入点的当前值,然后写到输入映像寄存器区域。在之后的用户程序执行的过程中,CPU访问输入映像寄存器区域,而并非读取输入端口的状态,输入信号的变化并不会影响到输入映像寄存器的状态,通常要求输入信号有足够的脉冲宽度,才能被响应。
(2)执行程序阶段。
用户程序执行阶段,PLC按照梯形图的顺序,自左而右,自上而下的逐行扫描,在这一阶段CPU从用户程序的第一条指令开始执行直到最后一条指令结束,程序运行结果放入输出映像寄存器区域。在此阶段,允许对数字量I/O指令和不设置数字滤波的模拟量I/O指令进行处理,在扫描周期的各个部分,均可对中断事件进行响应。
(3)处理通信请求阶段。
是扫描周期的信息处理阶段,CPU处理从通信端口接收到的信息。
(4)执行CPU自诊断测试阶段。在此阶段CPU检查其硬件,用户程序存储器和所有I/O模块的状态。
(5)写输出阶段。每个扫描周期的结尾,CPU把存在输出映像寄存器中的数据输出给数字量输出端点(写入输出锁存器中),更新输出状态。然后PLC进入下一个循环周期,重新执行输入采样阶段,周而复始。
如果程序中使用了中断,中断事件出现,立即执行中断程序,中断程序可以在扫描周期的任意点被执行。
如果程序中使用了立即I/O指令,可以直接存取I/O点。用立即I/O指令读输入点值时,相应的输入映像寄存器的值未被修改,用立即I/O指令写输出点值时,相应的输出映像寄存器的值被修改。 |