1.2 PLC的基本组成及工作原理
PLC主要由CPU、存储器、输入/输出接口电路、电源、外设接口、I/O扩展接口等组成。PLC采用循环扫描的工作方式。
1.PLC的基本组成
PLC的生产厂商很多,产品种类繁多,但它们的基本组成相似,都是以微处理器为核心,采用计算机结构,主要包括CPU、存储器、输入/输出接口电路、电源、外设接口、I/O扩展接口,其内部也是采用总线结构,进行数据和指令的传输,如图1-1所示。
图1-1 PLC硬件结构图
1)中央处理器CPU(Central Processing Unit) CPU是可编程控制器的核心部件,主要由运算器、控制器、寄存器及实现它们之间联系的地址总线、数据总线和控制总线构成,CPU中的控制器控制PLC工作,由它读取指令,解释并执行指令,工作的时序(节奏)则由振荡信号控制。CPU中的运算器用于完成算术或逻辑运算,在控制器的指挥下工作。CPU中的寄存器参与运算,并存储运算的中间结果,它也是在控制器的指挥下工作的。
CPU的主要功能如下:
- 接收从编程器或计算机输入的程序和数据,并送入用户程序存储器中存储;
- 采集由现场输入装置送来的状态或数据,并送入PLC的寄存器中;
- 监视电源、内部电路的工作状态及诊断编程过程中的语法错误;
- 从用户程序存储器中逐条读取指令,并执行各种运算程序;
- 将操作结果送到输出端;
- 响应各种外部设备(编程器、打印机等)的任务处理请求。
2)存储器 存储器指PLC系统中的内存,主要用于存放系统程序、用户程序及工作数据等。PLC中的存储器一般包括系统程序存储器、用户程序存储器两部分。
系统程序存储器用于存放检查程序、翻译程序、监控程序。系统程序是由PLC制造商编写的,关系到PLC的性能,而且在PLC使用过程中不会变动,所以由制造商直接固化在ROM中,用户不能修改。
用户程序存储器包括用户程序存储区和工作数据存储区。用户程序存储区用于存储用户根据工艺要求或控制功能设计的控制程序,早期一般采用随机读/写存储器(Random Access Memory,RAM),其中的存储内容可读出并更改。为了防止RAM中的程序和数据因电源停电而丢失,常用高效的锂电池作为后备电源,锂电池的寿命一般为3~5年。目前倾向于采用电可擦除的可编程只读存储器(Electrical Erasable Programmable Read Only Memory,EEPROM或E2PROM)或闪存(Flash Memory),免去了后备电源的麻烦。工作数据存储区则包括输入/输出状态寄存器区、计时器/定时器的设定值和经过值存储区、各种内部编程元件(内部辅助继电器、计数器、定时器等)状态及特殊标志位存储区、存放暂存数据和中间运算结果的数据寄存器区等。
3)输入/输出接口电路 PLC的对外功能主要是通过各种I/O接口电路与外界联系来实现的,输入电路和输出电路是PLC与现场I/O装置或设备之间的连接部件,起着PLC与外部设备之间传递信息的作用。输入接口电路采用由发光二极管和光敏晶体管组成的光电耦合电路,将限位开关、手动开关、编码器等现场输入设备的控制信号转换成CPU所能接收和处理的数字信号。采用光电耦合电路与现场输入信号相连是为了防止现场的强电干扰进入PLC。PLC输入接口电路如图1-2所示。
图1-2 PLC输入接口电路(直流输入型)
输出接口电路一般采用光电耦合电路,将CPU处理过的信号转换成现场需要的强电信号输出,以驱动接触器、电磁阀等外部设备的通/断电。常见的类型有以下3种:继电器输出型、晶体管输出型、晶闸管输出型。PLC输出接口电路如图1-3所示。
图1-3 PLC输出接口电路
继电器输出型为有触点输出方式,用于接通或断开开关频率较低的直流负载或交流负载回路;晶体管输出型为无触点输出方式,用于接通或断开开关频率较高的直流电源负载,分为PNP集电极开路和NPN集电极开路两种类型;晶闸管输出型为无触点输出方式,用于接通或断开开关频率较高的交流电源负载或交流负载回路。
除上面介绍的I/O接口外,PLC上还配有与各种外围设备的接口,均用插座引出到外壳上,可配接编程器、计算机、打印机、录音机,以及A/D、D/A、串行通信模块等,可以十分方便地用电缆进行连接。
4)电源 电源部件将交流电源转换成供PLC的中央处理器、存储器等电子电路工作所需要的直流电源,使PLC能正常工作。PLC内部电路使用的电源是整体的能源供给中心,它的好坏直接影响PLC的功能和可靠性,因此目前大部分PLC采用开关式稳压电源供电。
5)I/O扩展接口 I/O扩展接口用来扩展输入/输出点数。当用户所需的输入/输出点数超过主机(控制单元)的输入/输出点数时,可通过I/O扩展接口与I/O扩展单元连接,以扩充I/O点数。A/D、D/A单元及链接单元一般也通过该接口与主机连接。
2.PLC的工作原理
PLC虽然具有微机的许多特点,但它的工作方式却与微机有很大不同。微机一般采用等待命令的工作方式,如常见的键盘扫描方式或I/O扫描方式,有键按下或I/O动作则转入相应的子程序,无键按下则继续扫描。而PLC采用循环扫描的工作方式。PLC的工作过程可分为3个阶段进行,如图1-4所示。
图1-4 PLC的扫描工作过程
1)输入刷新阶段 在输入刷新阶段,PLC以扫描方式顺序读入所有输入端子的状态(触点接通还是断开),并将此状态存入输入锁存器。如果输入端子上外接电器的触点闭合,锁存器中与端子编号相同的那一位就为“1”,否则为“0”。在把输入各端子的状态全部扫描完毕后,PLC将输入锁存器的内容(即反映当前各输入端子的状态)输入到输入映像寄存器中。不难想象,输入映像寄存器中的内容直接反映了各输入端子此刻的状态。这一过程就是输入刷新阶段。随着输入数据输入到输入映像寄存器,标志着输入刷新阶段的结束。所以输入映像寄存器中的内容只是本次输入刷新时各端子的状态。在输入刷新阶段结束后,PLC接着转入用户程序执行阶段。在用户程序执行和刷新期间,输入端子同输入锁存器之间的联系被切断,即使输入端子的状态发生变化,输入锁存器的内容也不会改变,要想改变,也只能在下一个周期开始的输入刷新阶段才能进行。
2)用户程序执行阶段 在输入刷新阶段结束后,PLC进入用户程序执行阶段。在用户程序执行阶段,PLC总是按先左后右、先上后下的顺序逐句执行控制程序的每条指令。从输入映像寄存器中读入输入端子和内部元件寄存器(内部继电器、定时器、计数器等)的状态,按照控制程序的要求进行逻辑运算和算术运算,并将每步运算结果写入输出元件映像存储器相关元件对应单元(位),若程序运行中需要读入某输出状态或中间状态,则也在此时从输出元件映像寄存器读入,然后进行逻辑运算,运算结果再存入输出元件映像寄存器中。对于每个元件,反映各输出元件状态的输出元件映像寄存器中所存储的内容,会随着程序执行的进程而变化,当所有程序全都执行完毕后,输出元件映像寄存器的内容固定下来。
3)输出刷新阶段 待所有指令执行完毕后,PLC进入输出刷新阶段。把输出元件映像寄存器的内容存入输出锁存器,由输出接口电路驱动电路输出,这才是PLC的真正输出。
以上3个阶段构成PLC的一个扫描周期,如此周而复始不断循环,因此称为循环扫描方式。
由输入和输出操作的过程可以看出,在刷新期间若输入变量状态发生变化,则在本次扫描期间,PLC的输出端会相应地发生变化,也就是说输出对输入立刻产生了响应。若在一次I/O刷新之后输入变量才发生变化,则在本次扫描期间PLC的输出保持不变,而要到下一次扫描期间输出才对输入产生响应。即只有在采样(刷新)时刻,输入映像寄存器中的内容才与输入信号一致,其他时间范围内输入信号的变化不会影响输入映像寄存器的内存。PLC根据用户程序要求及当前输入状态进行处理,结果存放在输出映像寄存器中。在程序执行结束(或下次扫描用户程序前)后,PLC才将输出映像寄存器的内容通过锁存器输出到端子上,刷新后的输出状态要保持到下次刷新为止。这种循环扫描的工作方式存在一种信号滞后的现象,但对于工作速度不是很快的电气传动控制系统来说,响应速度不是主要的指标,所以PLC的这种扫描工作方式不但没有坏处反而可以增强系统的抗干扰能力。因为干扰常常是脉冲式的、短时的,只要PLC不是正好工作在输入刷新阶段,就不会受到干扰的影响。因此瞬间干扰所引起的误动作会大大减少,故而增加了系统的抗干扰能力。
当某些设备需要输出对输入做出快速响应时,可采取快速响应模块、高速计数模块及中断处理等措施来尽量减少滞后时间。