
1.2 PLC的组成及工作原理
1.2.1 PLC的组成
可编程序控制器是专为工业环境下的应用而设计的工业计算机,其基本结构与一般计算机相似,为了便于操作、维护与扩充功能,提高系统的抗干扰能力,其结构组成又与一般计算机有所区别。
PLC系统通常由基本单元、扩展单元、扩展模块及特殊功能扩展模块等组成,如图1-4所示。

图1-4 PLC系统组成
基本单元内设中央处理器(CPU)、存储器、I/O和电源等,是PLC的主要部分,可独立工作。扩展单元内设电源,用于扩展I/O点数。扩展模块用于增加I/O点数和I/O点数比例,内无电源,由基本单元和扩展单元供电。扩展单元、扩展模块内无CPU,需要和基本单元一起才能工作。特殊功能单元是一些特殊用途的装置。
1.PLC的硬件
可编程序控制器的品种和类型很多,但其基本组成相同,主要由中央处理器(CPU)、存储器、输入/输出接口、电源及编程器等外围设备组成,如图1-5所示。

图1-5 可编程序控制器的基本组成

码1-2 PLC的组成
1)CPU。CPU一般由控制器、运算器和寄存器组成,这些电路集成在一块芯片内。CPU通过数据总线、地址总线和控制总线与存储单元、输入/输出接口电路相连。CPU是PLC的核心部件,整个PLC的工作过程都是在CPU的统一指挥和协调下进行的。它在生产厂家预先编制的系统程序控制下,通过输入装置读入现场输入信号并按照用户程序进行处理。CPU的性能直接影响PLC的性能。
CPU的主要作用包括:接收并存储用户程序和数据;诊断电源、PLC工作状态及编程的语法错误;接收输入信号,将其送入数据寄存器并保存;运行时顺序读取、解释和执行用户程序,完成用户程序的各种操作;将用户程序的执行结果送至输出端。
2)存储器。PLC的存储器是存放程序和数据的地方。可编程序控制器的存储器按用途分为系统程序存储器和用户存储器。系统程序存储器用于存放系统工作程序、模块化应用功能子程序、命令解释、功能子程序调用和管理等程序及各种系统参数,一般采用只读存储器ROM(PROM)。用户存储器用于存放用户编制的控制程序,分为随机存储器(CMOSRAM)、可擦写可编程只读存储器(EPROM)以及电可擦写可编程只读存储器(EEPROM)等。
3)输入/输出I/O接口。输入/输出接口是PLC与被控对象间传递输入/输出信号的接口部件。输入部件包括开关、按钮和传感器等。输出部件包括电磁阀、接触器和继电器。由于现场信号的类别不同,为适应控制的需要,输入/输出接口有开关量输入/输出接口和模拟量输入/输出接口。
4)外围设备。PLC可配有编程器、外部存储器、打印机、EPROM写入器和高分辨率屏幕监控系统等外围设备。
编程器用于用户程序的编制、编辑、调试检查和监视,以及调用和显示PLC内部状态和系统参数。编程器分为简易型和智能型两大类。简易型只能联机编程;智能型既能联机编程,又能脱机编程。简易型只能输入指令语句表编程;智能型既可输入指令语句表编程,又可输入梯形图编程。
外部存储器是指磁带和磁盘,工作时可将用户程序和数据存储在盒式录音机的磁带上或磁盘驱动器的磁盘中,作为程序备份。当PLC内存中的程序被破坏或丢失时,可将外部存储器中的程序重新装入。
打印机用来打印带注释的梯形图程序、语句表程序,以及各种报表。系统实时运行过程中,打印机用来提供运行过程中发生事件的记录。
5)电源。PLC内部配有一个专用开关式稳压电源,可将PLC外部连接的电源电压转化为CPU、存储器及输入/输出接口等电路工作所需的直流电源,并为外部输入元件提供24V直流电源。需要注意的是,PLC负载的电源一般是由用户另外提供的。
2.PLC的软件
(1)软件组成
PLC的软件包括系统监控程序和用户程序两大部分。
系统监控程序是由PLC的生产厂家编制的,用于控制PLC的运行,包括管理程序、用户指令解释程序及标准程序模块和系统调用三个部分。其中,管理程序主要实现的功能包括运行管理、生成用户元件和系统内部自检等。
用户程序又称用户软件和应用软件等,是PLC的使用者编制的针对控制问题的程序,可用梯形图、指令语句表、高级语言和汇编语言等编制,包括自动化系统控制程序及数据表格等。
(2)应用软件常用的编程语言
目前,PLC常用的编程语言包括梯形图、指令语句表、功能图、功能块图和高级编程语言等。
1)梯形图:梯形图是用图形符号在图中的相互关系来表示控制逻辑的编程语言。梯形图通过连线,可将许多功能强大的PLC指令的图形符号连在一起,以表达所调用的PLC指令及其前后顺序关系,是目前最为常用的可编程序控制器程序设计语言。
梯形图的优点是简单、直观。它是从继电器控制电气原理图变化过来的,因此,梯形图在形式上与继电器控制电气原理图相似,读图方法和习惯也相同。对从事电气专业的人员来说,易学、易懂。
图1-6所示为三菱FX2N系列PLC的简单梯形图实例。梯形图由左母线、右母线和逻辑行组成,逻辑行由各软元件的触点和线圈组成。右母线可省略不画。

图1-6 梯形图
a)左、右母线和逻辑行 b)右母线省略

码1-3 PLC的编程语言
PLC梯形图与继电器控制电气原理图元器件符号有一定的对应关系,如图1-7所示。图1-8为继电器控制电气原理图与相应的PLC梯形图的比较示例。

图1-7 PLC梯形图与继电器控制电气原理图元器件符号

图1-8 继电器控制电气原理图与相应的PLC梯形图的比较示例
a)继电器控制电气原理图 b)PLC梯形图
2)指令语句表:指令语句用来规定可编程序控制器中CPU如何动作。每个控制功能由一个或多个语句组成的程序来执行,语句是指令语句表的基本单元。PLC的指令是一种与微型计算机的汇编语言指令类似的助记符表达式。基本指令语句的基本格式包括地址(或步序)、助记符和操作元件等部分,图1-6所示的PLC梯形图所对应的指令语句如图1-9所示。其中,助记符常用2~4个英文字母组成,表示操作功能。操作元件为执行该指令所用的元件和设定值等。某些基本指令仅有助记符,无操作元件,而有些则有两个或更多操作元件。
3)功能图:功能图又称状态流程图,是用状态来描述控制过程的流程图,如图1-10所示,它包含状态、转移条件和动作三要素。功能图的特点是逻辑功能清晰,输入与输出关系明确,适用于顺序控制系统的程序编制(详见第4章)。

图1-9 指令语句表

图1-10 功能图
4)功能块图:功能块图是一种类似数字逻辑门电路的编程语言。该语言用类似“与门”和“或门”的方框表示逻辑运算关系,方框左侧为逻辑运算的输入变量,右侧为逻辑运算的输出变量,输入、输出端的小圆圈表示“非”运算。用“导线”把方框连接起来,信号从左向右流动,如图1-11所示。
5)高级编程语言:随着PLC技术的发展,大型、高档的PLC具有很强的运算与数据处理等功能,为方便用户编程,增加程序的可移植性,许多高档PLC都配备了BASIC或C等高级编程语言。

图1-11 功能块图的实例
1.2.2 PLC的工作原理

码1-4 PLC的工作原理
PLC程序执行时的工作原理如图1-12所示。PLC通过循环扫描输入端口的状态,执行用户程序,实现控制任务。CPU在每个扫描周期开始时扫描输入模块的信号状态,并将其状态送入输入映像寄存器区域。然后,根据用户程序中的程序指令来处理传感器信号,并将处理结果送到输出映像寄存器区域,在每个扫描周期结束时送入输出模块。

图1-12 PLC程序执行时的工作原理图
图1-13所示为循环扫描的工作过程。每一次扫描所用的时间称为一个扫描周期。在一个扫描周期内,可编程序控制器的工作过程分为如下3个阶段。

图1-13 循环扫描的工作过程
1.输入采样
可编程序控制器把所有外部输入电路的接通/断开(ON/OFF)状态读入输入映像寄存器。外接的输入电路接通时,对应的输入映像寄存器为“1”,梯形图中对应的输入继电器的常开触点接通,常闭触点断开。外接的输入电路断开时,对应的输入映像寄存器为“0”,梯形图中对应的输入继电器的常开触点断开,常闭触点接通。需要注意的是,只有采样时刻,输入映像寄存器中的内容才与输入信号一致,而其他时间范围内输入信号的变化是不会影响输入映像寄存器中的内容的,输入信号的变化状态只能在下一个扫描周期的输入处理阶段被读入。
2.程序执行
在没有跳转指令时,CPU从第一条指令开始,逐条顺序地执行用户程序,直到用户程序结束之处,并根据指令的要求执行相应的逻辑运算,并将运算的结果写入对应的元件映像寄存器中。因此,各编程元件的映像寄存器(输入映像寄存器除外)的内容随着程序的执行而变化。
3.输出刷新
CPU将输出映像寄存器的“0”或“1”状态传送到输出锁存器。梯形图中某一输出继电器的线圈“通电”时,对应的输出映像寄存器为“1”状态。某一编程元件对应的映像寄存器为“1”状态时,称该编程元件为ON;映像寄存器为“0”状态时,称该编程元件为OFF。
1.2.3 可编程序控制器与继电-接触器控制的区别
1.在组成器件方面
继电-接触器控制电路是由各种真正的硬件继电器和接触器组成的,继电器和接触器触点易磨损。而PLC梯形图则由许多所谓的软继电器组成,这些软继电器实质上是存储器中的某一位触发器,可以置“0”或置“1”,软继电器无磨损现象。
2.在工作方式方面
继电-接触器控制电路工作时,电路中继电器和接触器都处于受控状态,凡符合条件吸合的继电器和接触器都处于吸合状态,受各种制约条件不应吸合的继电器和接触器都处于断开状态,属于“并行”的工作方式。PLC梯形图中各软继电器都处于周期循环扫描工作状态,受同一条件制约的各个软继电器的线圈工作和它的触点动作并不同时发生,属于“串行”的工作方式。
3.在元件触点数量方面
继电-接触器控制电路的硬件触点数量是有限的,一般只有4~8对。而PLC梯形图中软继电器的触点数量无限,在编程时可无限次使用。
4.控制电路实施方式不同
继电-接触器控制电路是依靠硬件接线来实施控制功能的,其控制功能通常是不变的,当需要改变控制功能时必须重新接线。PLC控制电路是采用软件编程来实现控制的,可进行在线修改,控制功能可根据实际要求灵活实施。