1.2 PLC的构成及工作原理
1.2.1 PLC的硬件组成
PLC的硬件结构主要由中央处理器(CPU)、存储器(RAM, ROM)、输入/输出接口(I/O接口)、电源及编程设备几大部分组成。PLC的硬件结构框图如图1.1所示。
图1.1 PLC的硬件结构框图
1.中央处理器
中央处理器是PLC的核心,它在系统程序的控制下,完成逻辑运算、数学运算、协调系统内部各部分工作等任务。PLC中采用的CPU一般有三大类,一类为通用微处理器,如80286、80386等;一类为单片机芯片,如8031、8096等;另外还有位处理器,如AMD2900、AMD2903等。一般来说,PLC的档次越高,CPU的位数就越多,相应地,运算速度就越快,指令功能就越强。目前常见的PLC多为8位或者16位机。
2.存储器
存储器是PLC存放系统程序、用户程序及运算数据的单元。和一般计算机一样,PLC的存储器有只读存储器(ROM)和随机读写存储器(RAM)两大类。
PLC的存储器区域按用途不同,可分为程序区和数据区。程序区是用于存放用户程序的区域,一般有数千字节,而用于存放用户数据的区域一般要小一些。在数据区中,各类数据存放的位置都有严格的划分。由于PLC是为熟悉继电-接触器系统的工程技术人员使用的,因此PLC的数据单元都叫做继电器,如输入继电器、定时器、计数器等。不同用途的继电器在存储区中占有不同的区域,每个存储单元都有不同的地址编号。
3.输入/输出接口
输入/输出接口是PLC和工业控制现场各类信号连接的部分。输入口用来接收生产过程的各种参数,输出口用来送出PLC运算后得出的控制信息,并通过机外的执行机构完成工业现场的各类控制。PLC为不同的接口需求设计了不同的接口单元,主要有以下几种。
(1)开关量输入接口。它的作用是把现场的开关量信号变成PLC内部处理的标准信号。开关量输入接口按可接收的外信号电源的类型不同分为直流输入单元、交/直流输入单元及交流输入单元,各输入电路如图1.2~图1.4所示。
图1.2 直流输入电路
图1.3 交/直流输入电路
图1.4 交流输入电路
从图中可以看出,输入接口中都有滤波电路及隔离耦合电路。滤波有抗干扰的作用,耦合有抗干扰及产生标准信号的作用。图1.3中输入口的电源部分画在了输入口外(虚线框外),这是分体式输入口的画法,在一般整体式PLC中,直流输入口都使用PLC本机的直流电源供电,不再需要外接电源。
(2)开关量输出接口。它的作用是把PLC内部的标准信号转换成现场执行机构所需的开关量信号。开关量输出接口按PLC机内使用的器件不同可分为继电器型、晶体管型及晶闸管型。各类型输出电路如图1.5所示。
图1.5 开关量输出电路
从图中可以看出,各类型输出接口中也都具有隔离耦合电路。这里特别要指出的是,输出接口本身都不带电源,而且在考虑外驱动电源时,还需虑及输出器件的类型。继电器型的输出接口可用于交流和直流两种电源,但接通和断开的频率低;晶体管型的输出接口有较高的接通和断开频率,但只适用于直流驱动的场合;晶闸管型的输出接口仅适用于交流驱动的场合。
(3)模拟量输入接口。它的作用是把现场连续变化的模拟量标准信号转换成适合可编程序控制器内部处理的由若干位二进制数表示的信号。模拟量输入接口接收标准模拟信号,可以是电压信号或是电流信号。这里,标准信号是指符合国际标准的通用交互用电压电流信号值,如4~20mA的直流电流信号,1~10V的直流电压信号等。工业现场中模拟量信号的变化范围一般是不标准的,在送入模拟量接口时一般都需经过变换处理才能使用。
模拟量信号输入后一般经运算放大器放大后进行A/D转换,再经光电隔离后为PLC提供一定位数的数字量信号。
(4)模拟量输出接口。它的作用是将PLC运算处理后的数字量信号转换为模拟量输出,以满足生产过程现场连续控制信号的需求。模拟量输出接口一般由光电隔离、D/A转换和信号驱动等环节组成。
(5)智能输入/输出接口。为了适应复杂控制工作的需要,PLC还有一些智能控制单元,称为功能模块,如PID工作单元、高速计数器工作单元、温度控制单元等。这类单元大多是独立的工作单元,它们和普通输入/输出接口的区别在于具有单独的CPU,有专门的处理能力。在具体的工作中,每个扫描周期智能单元和主机的CPU交换一次信息,共同完成控制任务。从近期的发展来看,不少新型的PLC本身也具有PID运算、高速计数及脉冲输出等功能,但一般比专用单元的功能弱。
4.电源
PLC的电源包括为PLC各工作单元供电的开关电源及为掉电保护电路供电的后备电源,后者一般为电池。
1.2.2 PLC的软件组成
1.软件的分类
PLC的软件包含系统软件及应用软件两大部分。
(1)系统软件。系统软件含系统的管理程序、用户指令的解释程序,另外还包括一些供系统调用的专用标准程序块等。系统管理程序用以完成机内运行相关时间分配、存储空间分配管理、系统自检等工作。用户指令的解释程序用以完成用户指令转换为机器码的工作。系统软件在用户使用PLC之前就已装入机内,并永久保存,在各种控制工作中也不需要做什么更改。
(2)应用软件。应用软件也称用户软件,是用户为达到某种控制目的,采用专用编程语言自主编制的程序。一般采用两种表达方式:梯形图和指令表。应用程序是一定控制功能的表述,同一台PLC用于不同的控制目的时需要编制不同的应用程序。应用软件存入PLC后如需改变控制目的可多次改写。
2.应用软件常用的编程语言
应用程序的编制需使用PLC生产厂家提供的编程语言。PLC的编程语言及编程工具大体相同,常见的编程语言一般有以下3种。
(1)梯形图语言。梯形图语言形象直观,逻辑关系明显,电气技术人员容易接受,是目前使用最多的一种PLC编程语言,梯形图语言如图1.6所示。梯形图中的继电器、定时器、计数器等都不是物理器件,这些器件实际上是PLC存储器中的位,因此称之为软件继电器。当存储器中的某位为1时,表示相应的继电器线圈得电或者是相应的常开触点闭合、常闭触点断开。
图1.6 梯形图
梯形图是形象化的编程语言,梯形图左右两端的母线是不接任何电源的,所以梯形图中没有任何物理电流流过,但分析读图时,常假设有一个电流流过,输入信号为ON时,线圈得电,该线圈所带的常开触点闭合,常闭触点断开,这个电流是概念电流,或称假想电流。分析时可认为左母线是电源的相线,右母线是地线,概念电流只能从左向右流动,梯形图逻辑执行的顺序是从左到右,从上到下。概念电流是执行程序时满足输出执行条件的形象理解。
在PLC的梯形图中每个网络由多个梯级组成,每个梯级有一个或多个支路,并由一个输出元件构成,最右边的元件必须是输出元件。一个梯形图梯级的多少,取决于控制系统的复杂程度,但一个完整的梯形图至少应有一个梯级。
(2)指令表语言。这种编程语言是一种与计算机汇编语言类似的助记符语言,它由一系列操作指令组成的语句表将控制流程描述出来,并通过编程器送到PLC中。指令表是由若干条语句组成的程序,语句是程序的最小独立单元,每个操作功能由一条或几条语句来执行,每一条语句由操作码、操作数两部分组成。操作码用助记符表示,如LD、OR、LDI等,用来说明要执行的功能(需要PLC完成的操作),如逻辑与、逻辑或、计时、计数、移位等。操作数一般由标识符和参数组成,标识符表示操作数的类别,如输入继电器、输出继电器、计时器、计数器等;参数表明操作数的地址或一个预先的设定值。
(3)顺序功能图。顺序功能图也是一种编程方法,它是一种图形说明语言,用于表示顺序控制的功能,目前国际电工协会(IEC)正在实施发展这种新式的编程标准。现在,不同的PLC生产厂家对这种编程语言所用的符号和名称也是不一样的,三菱公司称其为功能图语言。图1.7表示一个顺序功能图的编程示例。采用功能图对顺序控制系统编程非常方便,同时也很直观,在功能图中用户可以根据顺序控制步骤执行条件的变化,分析程序的执行过程,可以清楚地看到在程序执行过程中每一步的状态,便于程序的设计和调试。
图1.7 功能图
1.2.3 PLC的工作原理
PLC的工作原理可以简单地表述为在系统程序的管理下,通过运行应用程序完成用户任务。PLC在确定了工作任务,装入了专用程序后成为一种专用机,它采用循环扫描的工作方式,系统工作任务管理及应用程序执行都是以循环扫描方式完成的。现叙述如下。
1.分时处理及扫描工作方式
PLC系统正常工作时所要完成的任务包括以下几个方面。
(1)计算机内部各工作单元的调度和监控。
(2)计算机与外部设备间的通信。
(3)用户程序所要完成的工作。
这些工作都是分时完成的,每项工作又都包含着许多具体的工作。以用户程序的完成来说又可分为以下三个阶段。
(1)输入处理阶段。输入处理也叫输入采样,在这个阶段,PLC读入输入口的状态,并将它们存放在输入状态暂存区中。
(2)程序执行阶段。在这个阶段,PLC根据本次读入的输入数据,依用户程序的顺序逐条执行用户程序。执行的结果存储在输出状态暂存区中。
(3)输出处理阶段。输出处理阶段称输出刷新阶段,它是一个程序执行周期的最后阶段。PLC将本次执行用户程序的结果一次性地从输出状态暂存区送到各个输出口,对输出状态进行刷新。
这三个阶段也是分时完成的。为了连续地完成PLC所承担的工作,系统必须周而复始地依一定的顺序完成这一系列的工作,故把这种工作方式叫做循环扫描工作方式。PLC用户程序执行阶段扫描工作的过程如图1.8所示。
图1.8 程序执行阶段扫描工作过程
2.PLC循环扫描工作的特点
(1)定时集中采样。PLC对输入端子的扫描只是在输入处理阶段进行。当CPU进入程序处理阶段后,输入端被封锁,直到下一个扫描周期的输入处理阶段才对输入状态端进行新的扫描。这种定时集中采样的工作方式保证了CPU执行程序时和输入端子隔离断开,输入端的变化不会影响CPU的工作,提高了PLC的抗干扰能力。
(2)集中输出。PLC的输出数据由输出暂存器送到输出锁存器,再经输出锁存器送到输出端子上。PLC在一个工作周期内,其输出暂存器中的数据随输出指令执行的结果而变化,而输出锁存器中的数据一直保持不变,直到第三阶段才对输出锁存器的数据进行刷新。这种集中输出的工作方式使PLC在执行程序时,输出锁存器一直与输出端子处于隔离断开状态,从而保证了PLC的抗干扰能力,提高了PLC的可靠性。
3.扫描周期及PLC的两种工作状态
PLC有两种基本的工作状态,即运行(RUN)状态与停止(STOP)状态。运行状态是执行应用程序的状态。停止状态一般用于程序的编制与修改。如图1.9所示给出了运行和停止两种状态下PLC不同的扫描过程。由图可知,在这两个不同的工作状态下,扫描过程所要完成的任务是不相同的。
图1.9 扫描过程示意图
只要PLC处在RUN状态,它就反复地循环工作。PLC的扫描周期就是PLC的一个完整工作周期,即从读入输入状态到发出输出信号所用的时间,它与程序的步数、时钟频率及所用指令的执行时间有关。一般输入采样和输出刷新只需要1~2ms,所以扫描时间主要由用户程序执行的时间决定。
4.PLC执行用户程序的过程
PLC执行用户程序的过程如图1.10所示。当PLC处于RUN状态时,在初始化之后,CPU对输入端进行扫描,将输入数据存入输入暂存器,此时,PLC内部程序计数器的内容为0000,它指出了用户的第一条指令为“LD X0”,这条指令让CPU进行取指令、译码及执行操作。CPU首先将输入暂存器中X0单元的内容存入结果寄存器,这个动作完成后,程序计数器自动加1, CPU再将第二条指令“AND X1”存入指令寄存器,译成机器语言后执行,所执行的操作是将结果寄存器中的内容和输入暂存器X1单元中的内容相“与”后,存入结果寄存器。当CPU完成上述操作后,程序计数器又自动加1,再将“OUT Y0”指令存入指令寄存器,CPU将结果寄存器中的内容送到输出暂存器Y0单元,……, CPU一直执行到程序的最后一条语句,才将输出暂存器中的内容送到输出锁存器,对输出信号进行刷新,然后程序计数器自动变为0000,又开始新一次自动执行程序的过程。
图1.10 PLC执行用户程序的过程
需要强调的是,PLC在执行用户程序时,所取的输入数据是在扫描周期的输入信号处理阶段存入输入暂存器中的数据,并不是直接从现场传感器获得的信号,所以PLC在执行用户程序的过程中,输入端的变化对程序的执行不起作用。对于PLC的输出,在用户程序中如果对其多次赋值,则最后一次为有效。
1.2.4 PLC的应用及发展
1.PLC的应用
随着PLC技术的不断发展和完善,目前它已广泛应用于机械制造、石油化工、冶炼、电力、轻纺、汽车、交通及各种机电产品的生产中,典型的应用如下所述。
(1)顺序控制。这是最早的一种应用方式,也是应用最广的领域,目前已经取代了继电器在顺序控制系统中的主导地位,如各种生产、装配、包装流水线的控制,化工工艺过程的控制,印刷机械、组合机床的控制,交通运输的控制等。
(2)过程控制。在工业生产过程中用PLC可以实现对温度、压力、流量、物位、成分等各种模拟量的控制。具有PID控制功能的PLC,通过其模拟量的输入/输出单元,可以实现闭环的过程控制,还可以和计算机组成集散控制系统。
(3)数据处理。PLC具有四则运算、数据传送、数据变换、数据比较等功能,可以方便地对生产过程中的数据进行处理,实现软件滤波、线性化处理、标度变换的功能,构成多路巡回监测系统、闭环控制系统及模糊控制系统。
(4)通信联网和显示打印。一台PLC可以和计算机连接或和其他PLC连接用在集散控制系统中,PLC的通信模块可以满足这些通信联网要求。此外,PLC还可以连接显示终端和打印机等外围设备,实现显示和打印功能。
2.PLC的主要生产厂家及其产品
这里简单介绍国外较著名的PLC生产厂家及其产品。
(1)美国生产PLC的厂商。
① 美国艾伦-布拉德里(Allen-Bradley)公司,简称AB公司。该公司创建于1903年,在世界各地有20多个附属机构,10个生产基地,PLC是它的重要产品。它的产品有适应单机和小型控制系统的SLC 100型PLC,以及适应大型控制系统的PLC-3型,其指令丰富,除了具有一般的逻辑指令外,还具有LOG、LN、SIN、COS及倒数、平均值与标准偏差等高级算术运算指令,还有顺序功能图(SFC)和PID指令等。
② 美国通用电气(GENERAL ELECTRIC)公司,简称GE公司。通用电气公司是世界上生产PLC最早的厂商之一,其主要的产品是GE系列PLC。其中IJ型为箱体结构,I、IP型为模块式结构。
③美国德州仪器(TEXAS INTRUMENTS)公司,简称TI公司。该公司的主要产品有TI系列,小型机有TI 510、520和TI 315、325、330等;中型机有TI 425、435、530和5TI等;大型机有TI 560、565等。TI 565的I/O点数可达8192点,PID控制回路可达64路,能完成相当复杂的生产控制和数据采集工作。
④ 美国西屋(WESTING HOUSE)公司。该公司生产的主要产品是Numa-Logic系列PLC。目前已由我国上海调节器厂引进其生产技术,并已生产出与其产品完全兼容的PLC产品。
⑤美国生产PLC的厂商还有歌德(GOUID MODICON)公司,简称GM公司,生产MI-CRO系列PLC产品。
(2)德国生产PLC的主要厂商。
① 西门子(SIEMENS)公司。西门子公司生产S系列的PLC,其中小型机有S5-95U、S5-100U;中型机有S5-115U;大型机有S5-135U、S5-155U。其最大的开关量I/O点数为6144点,模拟量I/O通道数为384路。1995年,西门子公司推出了性价比很高的S7-200、S7-300系列PLC, 1996年又推出了S7-400系列新产品、自带人机界面的C7系列PLC、与AT计算机兼容的M7系列PLC等多种新产品。
②德国生产PLC的厂商还有施耐德自动化公司。德国奔驰集团下的AEG公司在20世纪90年代初全资收购了莫狄康(Modicon)公司,现在称为AEG施耐德自动化公司。该公司拥有三家著名的PLC生产厂家,即美国的Modicon公司、Square D公司及法国的TE(Telemecanique)公司。AEG施耐德自动化公司在北美市场所占份额居第二位,也是最早进入中国市场的国外商家之一。它的产品主要有Modicon TSX系列Nano、Neza和Micro; 84系列,包括0085、0185、M84、184、484、884等。
(3)日本生产PLC的主要厂商。
①三菱(MITSUBISHI)公司。该公司于1981年推出了F系列PLC,近年来三菱公司又推出了FX系列,如FX2、FX1、FX2C、FX0、FX0N、FX0S、FX2N、FX2NC等,FX2N型PLC是三菱公司的近期产品。另外,三菱公司还生产A系列(MELSEC -A)PLC,主要的型号有AIN、A2N、A3N及近年的A2A、A2AS等产品。A系列PLC的点数都比较多,最多可达4096点,最大用户程序存储容量可达120K步,具有控制多模拟量系统的PID回路控制功能,可以方便地完成位置控制及几十个回路模拟量的PID控制,同时还具有很强的通信能力。它既有同轴电缆通信接口,又有光纤通信接口,同时具备26种智能式专用的功能模块,并配有丰富的系统软件,能方便地与上位计算机及各种外设进行通信,满足工厂自动化控制的各种要求。
② 立石(OMRON,欧姆龙)公司。该公司主要生产SYSMAC C系列大、中、小型PLC。其高档机C2000H可控制2048个I/O点,存储容量为32KB,基本指令执行时间为0.4~2.4ms,可组成双机系统(一个处于运行状态,另一个处在“热备”状态),具有运算、显示、通信等功能,还能实现中断控制、过程控制、远程控制,以及与上位机或下位机进行数据通信和控制等。
③ 日立(HITACHI)公司。该公司生产的EM系列PLC均采用模块式结构,由电源、CPU、若干I/O模块及与安装这些模块相适应的框架组合而成。其中I/O点数为24~320点,配置灵活,且可以节省安装面积。
④ 日本生产PLC的厂商还有东芝公司(EX系列PLC)、富士电机公司(NB、NJ、NS系列PLC)和松下公司(EP系列PLC)等。
以上是美、德、日等国部分PLC生产厂商及产品的简单介绍,仅供参考。
3.PLC的发展
PLC自问世以来,经过40多年的发展,已成为很多发达国家的重要产业,PLC在国际市场已成为最受欢迎的工业控制产品。随着科技的发展及市场需求量的增加,PLC的结构和功能也在不断地改进,生产厂家不停地将功能更强的PLC推向市场,平均3~5年就更新一次。PLC的发展方向主要有以下几个方面。
(1)向体积更小、速度更快的方向发展。虽然现在小型PLC的体积已经很小,但是微电子技术及电子电路装配工艺的不断改进,都会使PLC的体积变得更小,以便嵌入任何小型的机器和设备之中,同时PLC的执行速度也越来越快,目前大型PLC的程序执行速度可高达34ns,从而保证了控制作用的实时性,可使系统的控制作用及时、准确。
(2)向大型化、高可靠性、好的兼容性、多功能方向发展。现在的大型PLC向着容量大、智能高和通信功能强的方向发展。对于大规模、复杂系统进行综合自动控制的PLC,大多已采用多CPU的结构,如三菱公司的AnA系列PLC使用了世界上第一个在一块芯片上实现PLC全部功能的32位微处理器,即顺序控制专用芯片,其扫描一条基本指令的时间为0.15μs。松下公司的FP10SH系列PLC采用32位5级流水线RISC结构的CPU,可以同时处理5条指令,顺序指令的执行速度高达0.04μs,高级功能指令的执行速度也有很大的提高。在有两个通信接口、256个I/O点的情况下,FP10SH的扫描时间为0.27~0.42ms,大大提高了程序处理的速度。
在模拟量的控制方面,除了专门用于模拟量闭环控制的PID模块外,随着模糊控制技术的发展,已出现具有模拟量的模糊控制、自适应控制、参数自整定功能的PLC,应用方便,调试时间短,控制精度进一步得到提高。
(3)与其他工业控制产品的结合。在大型自动控制系统中,计算机和PLC在应用功能方面互相融合、互补、渗透,使控制系统的性价比不断提高。目前工业控制系统的趋势是采用开放式的应用平台,即网络、操作系统、监视及显示均采用国际标准或工业标准,如操作系统采用UNIX、MS-DOS、Windows、OS2等,这样可实现不同厂家的PLC产品可以在同一个网络中运行。
目前个人计算机主要用于PLC的编程器、操作站或人机接口终端。1988年,美国AB公司与DEC公司联合开发的金字塔集成器,使PLC和工业控制计算机有机地结合在一起,研制出了一种新型的IPLC型可编程控制器(集成PLC)。IPLC是能运行于DOS或Windows操作系统下的可编程控制器,它实际上是一个能用梯形图语言以实时方式控制的I/O计算机。近年来推出的以计算机和PLC结合应用的方式有:在PLC的CPU模块旁边加插Win-dows CPU或在计算机总线上插入PLC的CPU模块,采用这种方式后生产和管理更加便利,将数据处理、通信、控制程序统一起来,保留了PLC简单、易用和高可靠性的特点,同时又具有计算机强大的数据处理能力,使现场的生产数据、生产计划调度、管理可以直接上机操作获取。