1.2 PLC的工作原理
1.2.1 PLC基本组成
PLC的基本组成可以归纳为4大部件:中央处理器单元(CPU)、存储器、输入/输出部件(I/O部件)和电源部件。其中CPU板是控制器的核心,存储器用于存放系统程序、用户程序及工作数据,I/O部件是连接现场设备与CPU之间的接口电路,电源部件为PLC内部电路提供能源。下面分别说明:
1.CPU
CPU主要包含运算器、控制器、寄存器,它是PLC的核心部分。PLC的CPU芯片其实就是微处理器或单片机。只是它是专用于PLC的,并且大部分是生产厂家为达到产品最佳性能配置而自行研制开发的。也有的PLC用的芯片就是通用的单片机,只是内部装有自己编写的监控程序,并靠这个监控程序来实现PLC的功能。
CPU芯片的性能直接关系着PLC处理控制信号的能力和速度,CPU位数越高,运算速度就越快,单位时间内系统处理的信息量也就越大。随着CPU芯片技术的飞跃发展,PLC所用的CPU芯片也越来越高档。在一些对可靠性要求特别高的大型工业应用场合,还有些采用了双CPU结构,构成冗余系统。这样,即使某个CPU出现故障,整个系统仍然可以正常运行。
2.存储器
存储器按照存储方式可以分为随机存储器(RAM)和只读存储器(ROM)。PLC内部所使用的存储器,按其用途一般可以分为系统程序存储器、用户程序存储器、内部数据存储器。
(1)系统程序存储器用来存放系统工作程序(监控程序)、模块化应用功能子程序、命令解释、功能子程序的调用管理程序和系统参数等。这是PLC正常工作的基本保证。系统工作程序是由PLC生产厂家编制、安装并固化在芯片内部的。
注意:系统程序存储器直接关系到PLC的性能,不能由用户直接存取。出于这种可靠性方面的考虑,PLC的系统程序存储器都采用ROM、EPROM等不可以由用户进行修改的存储器。
(2)用户程序存储器是用来存放用户程序的。用户程序由用户编制,通过编程器输入。所谓“编程”就是编写PLC用户程序。用户通过编制用户程序,来实现对生产过程的控制。
通常PLC产品资料中所指的存储器容量就是指用户程序存储器。在部分PLC中,用户程序存储器的存储容量以“步”为单位进行计算。PLC中的一步,指的是PLC一条最基本逻辑运算指令所占用的存储器容量。不同的PLC每步对应的实际存储器字节数是有所不同的。
用户程序一旦调试完成,除非设备的控制要求发生改变,才需要重新设计编写PLC程序,否则使用者一般不需要对程序进行更改。
(3)内部数据存储器是用来存放PLC程序执行的中间状态与信息的。PLC程序的中间处理结果等信息均存储在内部数据存储器中。内部数据存储器的存储容量与PLC规模及指令系统有关。PLC的规模越大,指令系统越复杂,内部数据存储器的存储容量也就越大。
内部数据存储器的状态需要在PLC程序执行过程中动态改变,所以必须采用动态RAM来进行存储,它的内容在关机时被自动清除。但由于设备连续工作或断电恢复的需要,有部分内部数据存储器可以用电池供电保持。
3.I/O部件
I/O部件是CPU与现场仪表、执行机构和其他智能设备之间的连接部件。I/O部件包括输入模块和输出模块。
输入模块用来接收和采集输入信号,实现外部信号到PLC内部信号的转换。数字量输入模块用来接收从生产设备或控制现场的各种开关、继电器等传来的数字量输入信号,通过输入接口电路,将开关量信号转换成PLC内部控制所需要的、CPU能够直接处理的TTL电平;模拟量输入模块用来接收传感器、变送器等提供的连续变化的模拟量电流、电压信号,通过A/D转换,变为PLC内部能处理的数字量。输入电路中一般设有RC滤波电路、稳压电路等,以防止由于输入触点抖动或外部干扰脉冲引起错误的输入信号。而且与内部计算机电路通过光耦元件隔离,如图1-1所示。
图1-1 输入信号图
输出模块用来输出各种控制信号,实现PLC内部信号到外部信号的转换。数字量输出模块用来控制接触器、电磁阀、指示灯、数字显示器等输出设备;模拟量输出模块用来控制变频器、调节阀等执行装置。输出电路内外也是电隔离的,靠光耦元件或输出继电器建立联系。输出电路还要进行功率放大,使其足以带动一般的工业控制元器件。
总之,PLC通过输入模块可以检测被控对象或被控生产过程的各种参数,通过输出模块将处理结果送给被控设备或工业生产过程,以实现控制。
I/O模块可与CPU放在一起,也可远程放置。通常,I/O模块上还具有状态显示,各I/O点的通断状态均用发光二极管显示。外部接线一般接在模块的接线端子排。
4.电源
PLC使用交流220V电源(AC 220V)或直流24V电源(DC 24V)。PLC内部电源主要向PLC内部的TTL集成电路与运算放大器等组件提供工作电源,将外部输入转换为DC 5V、DC±12V、DC±15V、DC 24V等不同电压。在部分机型中,还可以向外部提供DC 24V,供外部的开关信号、外部传感器使用。但PLC输出使用的电源,一般不可以由PLC提供(即使用DC 24V),必须另外准备负载电源。
PLC基本结构框图如图1-2所示。
图1-2 PLC基本结构框图
整体结构的PLC的4 个部分装在同一机壳内,也称为箱体式PLC,由主箱体和扩展箱体构成。主箱体由CPU单元、内存单元、I/O单元、外设接口、电源、箱体间接口及其他附件等构成。扩展箱体由I/O单元、电源、箱体间接口及其他附件等构成。
模块式结构的PLC的各部件独立封装,称为模块,通过机架和总线连接而成。每个模块又由不同单元组合而成。如CPU模块则由CPU单元、内存单元、接口单元等组合而成。又如输入/输出模块(I/O模块)则是由多个输入/输出电路、接线器及相应接口组合而成。
1.2.2 PLC工作过程
1.工作过程
作为一种特殊的工业控制计算机,PLC的工作过程与通用的计算机有很大的不同。而且,虽然它源于继电控制装置,最初研制生产的PLC主要用于代替传统的由继电器、接触器构成的控制装置,但这两者的运行方式又是不同的。
普通计算机一般采用事件驱动和消息机制,是一种等待命令的工作方式,如常见的键盘操作,当按下按键后,计算机转入相应的子程序运行。传统的继电器控制装置采用硬逻辑并行运行的方式,即如果一个继电器的线圈通电或断电,则该继电器所有的触点都会动作。而PLC的CPU则采用顺序扫描用户程序的运行方式,即如果一个逻辑线圈被接通或断开,则该线圈的所有触点不会立即动作,必须等扫描到这个触点时才会动作。
PLC采用不断循环的顺序扫描工作方式。每一次扫描所用的时间称为扫描周期或工作周期。PLC的工作过程如图1-3所示。
图1-3 PLC的工作过程图
简单讲,PLC上电时执行启动块(OB100),然后进入CPU循环(称为PLC扫描过程)。从用户的角度来说,PLC扫描过程就是从输入模块读取状态信号放入过程映像区,然后调用OB1块。如果有事件产生中断,则调用相应的块(功能)进行处理。最后把过程映像输出表送输出模块。
进一步讲,PLC整个扫描过程可以分为内部处理、通信服务、输入采样、用户程序执行、输出刷新5个阶段。
(1)内部处理阶段
内部处理过程运行的是PLC内部系统的管理程序,在这个阶段,PLC完成硬件自检工作和将监控定时器复位等内部工作。该程序是生产厂家在PLC出厂时就已经固化的,一般比较固定,与用户的控制程序无直接关联,其运行时间与用户程序运行时间相比,要短得多。
(2)通信服务阶段
在通信服务阶段,PLC处理与计算机、编程器以及各种智能装置的通信。
(3)输入采样阶段
PLC以扫描的方式工作,输入电路时刻监视着输入信号,并按顺序将信号读入到寄存输入状态的输入映像寄存器中存储,每一输入点都有一个对应的存储其信息的寄存器。输入寄存器与计算机内存交换信息通过计算机总线,并主要由运行系统程序来实现。PLC内存有专门开辟的存放输入信息的映像区。这个区的每一对应位(bit)称之为输入继电器,或称软接点。这些位为1,表示接点通,为0 表示接点断。由于它的状态是由输入刷新得到的,所以,它反映的就是输入状态。这个过程称为输入采样。这个采样结果将在PLC执行程序时被使用。
(4)用户程序执行阶段
PLC的用户程序由若干条指令组成,PLC从第一条指令开始,按顺序逐条对用户程序进行扫描。用户程序一般从输入映像寄存器、内部寄存器和输出映像寄存器中读取所需的数据进行运算、处理,再将程序执行的结果写入输出映像寄存器中暂存。
(5)输出刷新阶段
在执行完所有用户程序后,PLC将输出映像寄存器中的内容送到输出寄存器中,并通过输出电路产生相应的输出,再去驱动用户设备。
为了便于理解PLC程序的执行过程,通常也可近似地认为PLC的扫描工作过程为3个基本阶段:输入采样、用户程序执行、输出刷新。PLC在运行模式时,扫描工作是不断重复进行的,也就是说,以上3 个阶段是不断重复进行着的,其输入和输出存储器不断地被刷新。由于这个过程是永不停止、循环反复地进行着的,所以,输出总是反映输入的变化的。只是响应的时间上略有滞后。当然,这个滞后不宜太大,否则,所实现的控制不那么及时,也就失去控制的意义。为此,PLC的工作速度要快。速度快、执行指令时间短,是PLC实现控制的基础。事实上,PLC的速度是很快的,执行一条指令,多的几微秒、几十微秒,少的才零点几或零点零几微秒,而且这个速度还在不断提高之中。
2.PLC扫描工作方式优点
PLC扫描工作方式的优点如下:
(1)在执行程序时,读写的是输入/输出映像寄存器的值,而不是直接对实际的I/O点进行操作。
(2)整个程序执行阶段各输入继电器的状态是固定的,程序执行后再用输出映像寄存器的值更新所有的输出点,使得系统运行稳定。
(3)用户程序读写I/O映像寄存器比直接读写I/O点快的多,这样可以提高用户程序的运行速度。
(4)扫描工作方式具有较好的抗干扰能力,在一个扫描周期内,输入处理仅占用极少部分时间。在大部分时间内,干扰信号不会被采集到PLC系统。
3.PLC中断处理
PLC采用中断工作方式来应对紧急任务。一般的计算机系统中,CPU在每一条指令执行结束时都要询问有无中断申请。而PLC对中断的响应则是在相关程序块结束后查询有无中断申请,如果有中断申请,则转入执行相应的中断服务程序。待处理完中断,又返回运行原来程序。
在PLC中,中断源是通过输入点进入系统的,PLC扫描输入点是按照输入点编号的先后顺序进行的。系统接到中断申请后,顺序扫描中断源,可能只有一个中断源申请中断,也可能同时有多个中断源申请中断。系统在扫描中断源的过程中,会在存储器的特定区建立“中断处理表”,按顺序存放中断信息,中断源被扫描后,中断处理表也已建立完毕,系统就按照这个表的先后顺序调入相应的中断处理子程序。
与一般计算机系统的中断一样,PLC的中断也是分优先级的。当同时出现两个或多个中断申请时,则优先级别高的先处理,继而处理低级别的。直到中断申请全部处理完毕,再转而执行扫描程序。
需要指出的是,多个中断源可以有优先顺序,但无嵌套关系。即在中断程序执行中,如果有新的中断发生,不论新中断的优先顺序如何,都要等执行中的中断处理程序结束后,再进行新的中断处理。
4.PLC集中处理方式
PLC在工作过程中,对输入信号、执行过程、输出控制均采取集中批处理。PLC的这种集中批处理的工作方式,不仅避免了继电器、接触器控制系统中触点竞争和时序失配的问题,而且增强了系统的抗干扰能力,提高了工作稳定性。由于干扰一般是脉冲式的、短时的。只要PLC不是正好工作在输出刷新阶段,就不会受到干扰的影响。因此,瞬间干扰所造成的影响将会大大降低,从而增强了系统的抗干扰能力,这是PLC可靠性高的原因之一。
5.PLC时间滞后现象
PLC对输入和输出信号的响应是有延时的,这就是滞后现象。PLC输入/输出滞后时间又称为系统响应时间,是指从PLC的外部输入信号发生变化至其控制的外部输出信号发生变化的时刻之间的时间间隔。它由输入电路的滤波时间、输出电路的滞后时间、扫描工作方式产生的滞后时间组成。
PLC在执行用户程序时,使用的是在输入处理阶段读入并存放在输入映像寄存器中的数据,而不是当时可能已经发生变化的外部电路的最新状态的数据,所以造成了信号的滞后。
为了确保PLC在任何情况下都能正常无误地工作,一般情况下,输入信号的脉冲宽度必须大于一个扫描周期。
还应该注意的一个问题是输出信号的状态是在输出刷新时才送出的。因此,在一个程序中若给一个输出端多次赋值时,中间状态只改变输出映像区。只有最后一次赋的值才能被送到输出端。
造成PLC时间滞后现象是因为一个扫描周期内对所有的输出只刷新一次。而且还与电路特性有关(滤波电路的时间常数和输出继电器触点的机械滞后)。经分析,由扫描工作方式引起的滞后时间最长可达两三个扫描周期。
PLC总的响应延迟时间一般只有几毫秒至几十毫秒,对于一般的系统是无所谓的。
为了减少PLC的响应延迟时间,可以采用如下措施:
(1)选用扫描速度高的PLC;
(2)选用延迟时间短的输入/输出模块;
(3)可以使用立即输入指令和立即输出指令,或者使用输入中断功能。