1.2 可编程控制器的结构和工作原理
1.2.1 可编程控制器的硬件组成
可编程控制器种类繁多,但其基本结构和工作原理相同。可编程控制器的功能结构区由CPU(中央处理器)、存储器和输入模块/输出模块三部分组成,如图1-1所示。
图1-1 可编程控制器结构框图
(1)CPU(中央处理器)
CPU的功能是完成PLC内所有的控制和监视操作,一般由控制器、运算器和寄存器组成。CPU通过数据总线、地址总线和控制总线与存储器、输入/输出接口电路连接。
(2)存储器
在PLC中使用两种类型的存储器:一种是只读类型的存储器,如EPROM和EEPROM;另一种是可读/写的随机存储器RAM。PLC的存储器分为5个区域,如图1-2所示。
图1-2 存储器的区域划分
程序存储器的类型是只读存储器(ROM),PLC的操作系统存放在这里,程序由制造商固化,通常不能修改。有的PLC厂商对部分PLC产品(如西门子的S7-1200和S7-200 SMART)提供操作系统升级服务。存储器中的程序负责解释和编译用户编写的程序、监控I/O口的状态、对PLC进行自诊断、扫描PLC中的程序等。系统存储器属于随机存储器(RAM),主要用于存储中间计算结果和数据、系统管理,有的PLC厂家用系统存储器存储一些系统信息,如错误代码等,系统存储器不对用户开放。I/O状态存储器属于随机存储器,用于存储I/O装置的状态信息,每个输入模块和输出模块都在I/O映像表中分配一个地址,而且这个地址是唯一的。数据存储器属于随机存储器,主要用于数据处理功能,为计数器、定时器、算术计算和过程参数提供数据存储。有的厂家将数据存储器细分为固定数据存储器和可变数据存储器。用户存储器,其类型可以是随机存储器、可擦除存储器(EPROM)和电擦除存储器(EEPROM),高档的PLC还可以用FLASH。用户存储器主要用于存放用户编写的程序。存储器的关系如图1-3所示。
图1-3 存储器的关系
只读存储器可以用来存放系统程序,PLC断电后再上电,系统内容不变且重新执行。只读存储器也可用来固化用户程序和一些重要参数,以免因偶然操作失误而造成程序和数据的破坏或丢失。随机存储器中一般存放用户程序和系统参数。当PLC处于编程工作时,CPU从RAM中取指令并执行。用户程序执行过程中产生的中间结果也在RAM中暂时存放。RAM通常由CMOS型集成电路组成,功耗小,但断电时内容消失,所以一般使用大电容或后备锂电池保证掉电后PLC的内容在一定时间内不丢失。
(3)输入模块/输出模块
可编程控制器的输入和输出信号可以是开关量或模拟量。输入/输出接口是PLC内部弱电(low power)信号和工业现场强电(high power)信号联系的桥梁。输入/输出接口主要有两个作用,一是利用内部的电隔离电路将工业现场和PLC内部进行隔离,起保护作用;二是调理信号,可以把不同的信号(如强电、弱电信号)调理成CPU可以处理的信号(5V、3.3V或2.7V等),如图1-4所示。
图1-4 输入/输出接口1
输入/输出接口模块是PLC系统中最大的部分,通常需要电源,输入电路的电源可以由外部提供,对于模块化的PLC还需要背板(安装机架)。
①输入接口电路 输入接口电路的组成和作用。输入接口电路由接线端子、输入调理和电平转换电路、状态显示电路、电隔离电路和多路选择开关模块组成,如图1-5所示。现场的信号必须连接在输入端子才可能将信号输入到CPU中,它提供了外部信号输入的物理接口;调理和电平转换电路十分重要,可以将工业现场的信号(如强电220V AC信号)转化成电信号(CPU可以识别的弱电信号);电隔离电路主要利用电隔离器件将工业现场的机械或者电输入信号和PLC的CPU的信号隔开,它能确保过高的电干扰信号和浪涌不串入PLC的微处理器,起保护作用,有三种隔离方式,用得最多的是光电隔离、其次是变压器隔离和干簧继电器隔离;当外部有信号输入时,输入模块上有指示灯显示,这个电路比较简单,当线路中有故障时,它帮助用户查找故障,由于氖灯或LED灯的寿命比较长,因此这个灯通常是氖灯或LED灯;多路选择开关接受调理完成的输入信号,并存储在多路开关模块中,当输入循环扫描时,多路开关模块中信号输送到I/O状态寄存器中。输入接口的内部电路如图1-6所示。
图1-5 输入接口的结构
图1-6 输入接口的内部电路
关键点
从图1-6可以看到:数字量输入回路有光电隔离,所以一般数字量输入回路只要不把较大的电压(如交流110V)误接入电路,错误的接线通常不会造成输入回路的烧毁。但模拟量输入回路一般不设计光电隔离,所以在接线要特别注意,不能短路,否则容易烧毁通道。
输入信号的设备的种类。输入信号可以是离散信号和模拟信号。当输入端是离散信号时,输入端的设备类型可以是限位开关、按钮、压力继电器、继电器触点、接近开关、选择开关、光电开关等,如图1-7所示。当输入为模拟量输入时,输入设备的类型可以是压力传感器、温度传感器、流量传感器、电压传感器、电流传感器、力传感器等。
图1-7 输入/输出接口2
②输出接口电路 输出接口电路的组成和作用。如图1-7所示为输入/输出接口2。输出接口电路由多路选择开关模块、信号锁存器、电隔离电路、状态显示电路、输出电平转换电路和接线端子组成,如图1-8所示。在输出扫描期间,多路选择开关模块接受来自映像表中的输出信号,并对这个信号的状态和目标地址进行译码,最后将信息送给锁存器;信号锁存器是将多路选择开关模块的信号保存起来,直到下一次更新;输出接口的电隔离电路作用和输入模块的一样,但是由于输出模块输出的信号比输入信号要强得多,因此要求隔离电磁干扰和浪涌的能力更高;输出电平转换电路将隔离电路送来的信号放大成足够驱动现场设备的信号,放大器件可以是双向晶闸管、三极管和干簧继电器等;输出端的接线端子用于将输出模块与现场设备相连接。
图1-8 输出接口的结构
可编程控制器有三种输出接口形式:继电器输出、晶体管输出和晶闸管输出形式。继电器输出形式的PLC的负载电源可以是直流电源或交流电源,但其输出响应频率较慢,其内部电路如图1-9所示。晶体管输出的PLC负载电源是直流电源,其输出响应频率较快,其内部电路如图1-10所示。晶闸管输出形式的PLC的负载电源是交流电源,欧姆龙CP1L系列PLC的CPU模块暂时还没有晶闸管输出形式的产品出售,但三菱FX系列有这种产品。选型时要特别注意PLC的输出形式。
图1-9 继电器输出内部电路
图1-10 晶体管输出内部电路
输出信号的设备的种类。输出信号可以是离散信号和模拟信号。当输出端是离散信号时,输出端的设备类型可以是电磁阀的线圈、电动机启动器、控制柜的指示器、接触器线圈、LED灯、指示灯、继电器线圈、报警器和蜂鸣器等,如图1-7所示。当输出为模拟量输出时,输出设备的类型可以是流量阀、AC驱动器(如交流伺服驱动器)、DC驱动器、模拟量仪表、温度控制器和流量控制器等。
关键点
PLC的继电器型输出虽然响应速度慢,但其驱动能力强,一般为2A,这是继电器型输出PLC的一个重要的优点。有的特殊型号的PLC,如西门子的某些型号驱动能力可达5A和10A,能直接驱动接触器。此外,从图1-9可以看出继电器型输出形式的PLC,对于一般的误接线,一般不会引起PLC内部器件的烧毁(高于交流220V电压是不允许的)。因此,继电器输出形式是选型时的首选,在工程实践中,用得比较多。
晶体管输出的PLC的输出电流一般小于1A,欧姆龙的CP1L的输出电流是0.3A,这个电流输出的驱动能力相对较小。此外,图1-10可以看出晶体管型输出形式的PLC,对于一般的误接线,可能会引起PLC内部器件的烧毁,所以要特别注意。
【例1-1】 某学生按如图1-11所示接线,之后按下SB1、SB2和SB3按钮,发现输入端的指示灯没有显示,PLC中没有程序,但灯HL常亮,接线没有错误,+24V电源也正常。学生的分析是输入和输出接口烧毁,请问学生的分析是否正确。
图1-11 例1-1接线图
【解】 分析如下。
①一般输入端口不会烧毁,因为输入接口电路有光电隔离电路保护,除非有较大电压(如交流220V)的误接入,而且烧毁输入接口一般也不会所有的接口同时烧毁。经过检查,发现输入侧的接线端子COM是“虚接”,压紧此接线端子后,输入端恢复正常。
②误接线容易造成晶体管输出回路的器件烧毁,晶体管的击穿会造成回路导通,从而造成灯HL常亮。
1.2.2 可编程控制器的工作原理
PLC是一种存储程序的控制器。用户根据某一对象的具体控制要求,编制好控制程序后,用编程器将程序输入到PLC(或用计算机下载到PLC)的用户程序存储器中寄存。PLC的控制功能就是通过运行用户程序来实现的。
PLC运行程序的方式与微型计算机相比有较大的不同,微型计算机运行程序时,一旦执行到END指令,程序运行结束。而PLC从0号存储地址所存放的第一条用户程序开始,在无中断或跳转的情况下,按存储地址号递增的方向顺序逐条执行用户程序,直到END指令结束。然后从头开始执行,并周而复始地重复,直到停机或从运行(RUN)切换到停止(STOP)工作状态。把PLC这种执行程序的方式称为扫描工作方式。每扫描完一次程序就构成一个扫描周期。另外,PLC对输入、输出信号的处理与微型计算机不同。微型计算机对输入、输出信号实时处理,而PLC对输入、输出信号是集中批处理。下面具体介绍PLC的扫描工作过程。其运行和信号处理示意如图1-12所示。
图1-12 PLC内部运行和信号处理示意
PLC扫描工作方式主要分为三个阶段:输入扫描、程序执行、输出刷新。
(1)输入扫描
PLC在开始执行程序之前,首先扫描输入端子,按顺序将所有输入信号,读入到寄存器-输入状态的输入映像寄存器中,这个过程称为输入扫描。PLC在运行程序时,所需的输入信号不是现时取输入端子上的信息,而是取输入映像寄存器中的信息。在本工作周期内这个采样结果的内容不会改变,只有到下一个扫描周期输入扫描阶段才被刷新。PLC的扫描速度很快,取决于CPU的时钟速度。
(2)程序执行
PLC完成了输入扫描工作后,按顺序从0号地址开始的程序进行逐条扫描执行,并分别从输入映像寄存器、输出映像寄存器以及辅助继电器中获得所需的数据进行运算处理。再将程序执行的结果写入输出映像寄存器中保存。但这个结果在全部程序未被执行完毕之前不会送到输出端子上,也就是物理输出是不会改变的。扫描时间取决于程序的长度、复杂程度和CPU的功能。
(3)输出刷新
在执行到END指令,即执行完用户所有程序后,PLC上将输出映像寄存器中的内容送到输出锁存器中进行输出,驱动用户设备。扫描时间取决于输出模块的数量。
从以上的介绍可以知道,PLC程序扫描特性决定了PLC的输入和输出状态并不能在扫描的同时改变,例如一个按钮开关的输入信号的输入刚好在输入扫描之后,那么这个信号只有在下一个扫描周期才能被读入。
扫描周期。上述三个步骤是PLC的软件处理过程,可以认为就是程序扫描时间。扫描时间通常由三个因素决定:一是CPU的时钟速度,越高档的CPU,时钟速度越快,扫描时间越短;二是I/O模块的数量,模块数量越少,扫描时间越短;三是程序的长度,程序长度越短,扫描时间越短。一般的PLC执行容量为1K的程序需要的扫描时间是1~10ms。
1.2.3 可编程控制器的立即输入、输出功能
比较高档的PLC都有立即输入、输出功能。
(1)立即输出功能
所谓立即输出功能就是输出模块在处理用户程序时,能立即被刷新。PLC临时挂起(中断)正常运行的程序,将输出映像表中的信息输送到输出模块,立即进行输出刷新,然后回到程序中继续运行,立即输出过程如图1-13所示。注意,立即输出功能并不能立即刷新所有的输出模块。
图1-13 立即输出过程
(2)立即输入功能
立即输入适用于要求对反应速度很严格的场合,例如几毫秒的时间对于控制来说十分关键的情况下。立即输入时,PLC立即挂起正在执行的程序,扫描输入模块,然后更新特定的输入状态到输入映像表,最后继续执行剩余的程序,立即输入过程如图1-14所示。
图1-14 立即输入过程