项目1 PLC基础
任务1 可编程控制器的构成及工作原理
知识链接1 可编程控制器的硬件组成
PLC硬件结构主要由中央处理器(CPU)、存储器(RAM,ROM)、输入/输出接口(I/O接口)、电源及编程设备几大部分组成。PLC的硬件结构框图如图1.1所示。
图1.1 PLC的硬件结构框图
1.中央处理器(CPU)
中央处理器是可编程控制器的核心,它在系统程序的控制下,完成逻辑运算、数学运算、协调系统内部各部分工作等任务。可编程控制器中采用的CPU一般有三大类,一类为通用微处理器,如80286、80386等;一类为单片机芯片,如8031、8096等;另外还有位处理器,如AMD2900、AMD2903等。一般来说,可编程控制器的档次越高,CPU的位数也越多,运算速度也越快,指令功能也越强。现在常见的可编程控制器多为8位或者16位机。
2.存储器
存储器是可编程控制器存放系统程序、用户程序及运算数据的单元。和一般计算机一样,可编程控制器的存储器有只读存储器(ROM)和随机读写存储器(RAM)两大类。
可编程控制器的存储器区域按用途不同,可分为程序区和数据区。程序区为用来存放用户程序的区域,一般有数千个字节。用来存放用户数据的区域一般要小一些。在数据区中,各类数据存放的位置都有严格的划分。由于可编程控制器是为熟悉继电接触器系统的工程技术人员使用的,可编程控制器的数据单元都叫做继电器,如输入继电器、定时器、计数器等。不同用途的继电器在存储区中占有不同的区域。每个存储单元都有不同的地址编号。
3.输入/输出接口
输入/输出接口是可编程控制器和工业控制现场各类信号连接的部分。输入口用来接收生产过程的各种参数。输出口用来送出可编程控制器运算后得出的控制信息,并通过机外的执行机构完成工业现场的各类控制。可编程控制器为不同的接口需求设计了不同的接口单元。主要有以下几种。
(1)开关量输入接口。它的作用是把现场的开关量信号变成可编程控制器内部处理的标准信号。开关量输入接口按可接纳的外信号电源的类型不同分为直流输入单元、交/直流输入单元及交流输入单元几种,参考电路如图1.2、图1.3、图1.4所示。
图1.2 直流输入电路
图1.3 交/直流输入电路
图1.4 交流输入电路
从图中可以看出,输入接口中都有滤波电路及隔离耦合电路。滤波有抗干扰的作用,耦合有抗干扰及产生标准信号的作用。图1.3中输入口的电源部分画在了输入口外(虚线框外),这是分体式输入口的画法,在一般整体式可编程控制器中,直流输入口都使用可编程本机的直流电源供电,不再需要外接电源。
(2)开关量输出接口。它的作用是把可编程内部的标准信号转换成现场执行机构所需的开关量信号。开关量输出接口按可编程机内使用的器件可分为继电器型、晶体管型及可控硅型。内部参考电路如图1.5所示。
图1.5 开关量输出电路
从图中可以看出,各类输出接口中也都具有隔离耦合电路。这里特别要指出的是,输出接口本身都不带电源,而且在考虑外驱动电源时,还需虑及输出器件的类型。继电器式的输出接口可用于交流及直流两种电源,但接通断开的频率低;晶体管式的输出接口有较高的接通断开频率,但只适合用于直流驱动的场合;可控硅型的输出接口仅适用于交流驱动场合。
(3)模拟量输入接口。它的作用是把现场连续变化的模拟量标准信号转换成适合可编程序控制器内部处理的由若干位二进制数字表示的信号。模拟量输入接口接收标准模拟信号,可以是电压信号或是电流信号。这里,标准信号是指符合国际标准的通用交互用电压电流信号值,如4~20mA的直流电流信号,1~10V的直流电压信号等。工业现场中模拟量信号的变化范围一般是不标准的,在送入模拟量接口时一般都需经过变换处理才能使用。
模拟量信号输入后一般经运算放大器放大后进行A/D转换,再经光电隔离后为可编程控制器提供一定位数的数字量信号。
(4)模拟量输出接口。它的作用是将可编程控制器运算处理后的数字量信号转换为模拟量输出,以满足生产过程现场连续控制信号的需求。模拟量输出接口一般由光电隔离、D/A转换和信号驱动等环节组成。
(5)智能输入/输出接口。为了适应较复杂的控制工作的需要,可编程控制器还有一些智能控制单元,称为功能模块,如PID工作单元、高速计数器工作单元、温度控制单元等。这类单元大多是独立的工作单元。它们和普通输入/输出接口的区别在于具有单独的CPU,有专门的处理能力。在具体的工作中,每个扫描周期智能单元和主机的CPU交换一次信息,共同完成控制任务。从近期的发展来看,不少新型的可编程控制器本身也具有PID运算、高速计数及脉冲输出等功能,但一般比专用单元的功能弱。
4.电源
可编程控制器的电源包括为可编程控制器各工作单元供电的开关电源及为掉电保护电路供电的后备电源,后者一般为电池。
知识链接2 可编程控制器的软件组成
1.软件的分类
PLC的软件包含系统软件及应用软件两大部分。
(1)系统软件。系统软件含系统的管理程序、用户指令的解释程序,另外还包括一些供系统调用的专用标准程序块等。系统管理程序用以完成机内运行相关时间分配、存储空间分配管理、系统自检等工作。用户指令的解释程序用以完成用户指令变换为机器码的工作。系统软件在用户使用可编程控制器之前就已装入机内,并永久保存,在各种控制工作中也不需要做什么更改。
(2)应用软件。应用软件也叫用户软件,是用户为达到某种控制目的,采用专用编程语言自主编制的程序。一般采用两种表达方式:梯形图和指令表。应用程序是一定控制功能的表述,同一台PLC用于不同的控制目的时就需要编制不同的应用软件。用户软件存入PLC后如需改变控制目的可多次改写。
2.应用软件常用的编程语言
应用程序的编制需使用可编程控制器生产厂方提供的编程语言。可编程控制器的编程语言及编程工具大体差不多。一般常见的编程语言表达方式有如下几种。
(1)梯形图(Ladder Diagram)。梯形图语言是一种以图形符号及图形符号在图中的相互关系表示控制关系的编程语言,是从继电器电路图演变过来的。梯形图中所绘的图形符号和继电器电路图中的符号十分相似,而且梯形图与继电接触器图的结构也十分相似。这两个图相似的原因非常简单,一是因为梯形图是为熟悉继电器电路图的工程技术人员设计的,所以使用了类似的符号;二是两种图所表达的逻辑含义是一样的。因而,绘制梯形图的一种思想可以是这样的:将可编程控制器中参与逻辑组合的元件看成和继电器一样,具有常开、常闭触点及线圈,且线圈的得电、失电将导致触点的相应动作;再用母线代替电源线,用能量流概念来代替继电器电路中的电流概念;用绘制继电器电路图类似的思路绘出梯形图。需要说明的是,PLC中的继电器等编程元件不是实际物理元件,而只是计算机存储器中一定的位,它的所谓接通不过是相应存储单元置1而已。
(2)指令表(Instruction List)。指令表也叫做语句表。它和单片机程序中的汇编语言有点类似,由语句指令依一定的顺序排列而成。一条指令一般可分为两部分,一为助记符,二为操作数。也有只有助记符的,称为无操作数指令。指令表语言和梯形图有严格的对应关系。对指令表运用不熟悉的人可先画出梯形图,再转换为语句表。另一方面,程序编制完毕装入机内运行时,简易编程设备都不具备直接读取图形的功能,梯形图程序只有改写为指令表才有可能送入可编程控制器运行。
(3)顺序功能图(Sequential Function Chart)。顺序功能图常用来编制顺序控制类程序。它包含步、动作、转换三个要素。顺序功能编程法将一个复杂的顺序控制过程分解为一些小的工作状态,对这些小状态的功能分别处理后再将它们依顺序连接组合成整体的控制程序。顺序功能图体现了一种编程思想,在程序的编制中有很重要的意义。
知识链接3 可编程控制器的工作原理
可编程控制器的工作原理可以简单地表述为在系统程序的管理下,通过运行应用程序完成用户任务。PLC在确定了工作任务,装入了专用程序后成为一种专用机,它采用循环扫描的工作方式,系统工作任务管理及应用程序执行都是循环扫描方式完成的。现叙述如下。
1.分时处理及扫描工作方式
PLC系统正常工作所要完成的任务如下。
(1)计算机内部各工作单元的调度和监控。
(2)计算机与外部设备间的通信。
(3)用户程序所要完成的工作。
这些工作都是分时完成的。每项工作又都包含着许多具体的工作。以用户程序的完成来说又可分为以下三个阶段。
(1)输入处理阶段。输入处理也叫输入采样,在这个阶段中,可编程序控制器读入输入口的状态,并将它们存放在输入状态暂存区中。
(2)程序执行阶段。在这个阶段中,可编程控制器根据本次读入的输入数据,依用户程序的顺序逐条执行用户程序。执行的结果存储在输出状态暂存区中。
(3)输出处理阶段。也叫输出刷新阶段。这是一个程序执行周期的最后阶段。可编程序控制器将本次执行用户程序的结果一次性地从输出状态暂存区送到各个输出口,对输出状态进行刷新。
这三个阶段也是分时完成的。为了连续地完成PLC所承担的工作,系统必须周而复始地依一定的顺序完成这一系列的工作,故把这种工作方式叫做循环扫描工作方式。PLC用户程序执行阶段扫描工作的过程如图1.6所示。
2.扫描周期及PLC的两种工作状态
PLC有两种基本的工作状态,即运行(RUN)状态与停止(STOP)状态。运行状态是执行应用程序的状态。停止状态一般用于程序的编制与修改。如图1.7所示给出了运行和停止两种状态PLC不同的扫描过程。由图可知,在这两个不同的工作状态中,扫描过程所要完成的任务是不尽相同的。
PLC在RUN工作状态时,执行一次如图1.7所示的扫描操作所需的时间称为扫描周期,其典型值为1~100ms。PLC厂家一般给出每执行1K(1K=1024)条基本逻辑指令所需的时间(以ms为单位)。某些厂家在说明书中还给出了执行各种指令所需的时间。一般来说,一个扫描过程中,执行指令的时间占了绝大部分。
图1.6 程序执行扫描工作过程
图1.7 扫描过程示意图