一. PLC的由来
在60年代,汽车生产流水线的自动控制系统基本上都是由继电器控制装置构成的。当时汽车的每一次改型都直接导致继电器控制装置的重新设计和安装。随着生产的发展,汽车型号更新的周期愈来愈短,这样,继电器控制装置就需要经常地重新设计和安装,十分费时,费工,费料,甚至阻碍了更新周期的缩短。为了改变这一现状,美国通用汽车公司在1969年公开招标,要求用新的控制装置取代继电器控制装置,并提出了十项招标指标,即:
1、编程方便,现场可修改程序;2、维修方便,采用模块化结构;3、可*性高于继电器控制装置;4、体积小于继电器控制装置;5、数据可直接送入管理计算机;6、成本可与继电器控制装置竞争;7、输入可以是交流115V;8、输出为交流115V,2A以上,能直接驱动电磁阀,接触器等;9、在扩展时,原系统只要很小变更;10、用户程序存储器容量至少能扩展到4K。
1969年,美国数字设备公司(DEC)研制出第一台PLC,在美国通用汽车自动装配线上试用,获得了成功。这种新型的工业控制装置以其简单易懂,操作方便,可*性高,通用灵活,体积小,使用寿命长等一系列优点,很快地在美国其他工业领域推广应用。到1971年,已经成功地应用于食品,饮料,冶金,造纸等工业。这一新型工业控制装置的出现,也受到了世界其他国家的高度重视。1971日本从美国引进了这项新技术,很快研制出了日本第一台PLC。1973年,西欧国家也研制出它们的第一台PLC。我国从1974年开始研制。于1977年开始工业应用。
PLC的基本概念 - PLC的定义
二. PLC的定义
PLC问世以来,尽管时间不长,但发展迅速。为了使其生产和发展标准化,美国电气制造商协会NEMA(National Electrical Manufactory Association)经过四年的调查工作,于1984年首先将其正式命名为PC(Programmable Controller),并给PC作了如下定义:
“PC是一个数字式的电子装置,它使用了可编程序的记忆体储存指令。用来执行诸如逻辑,顺序,计时,计数与演算等功能,并通过数字或类似的输入/输出模块,以控制各种机械或工作程序。一部数字电子计算机若是从事执行PC之功能着,亦被视为PC,但不包括鼓式或类似的机械式顺序控制器。”
以后国际电工委员会(IEC)又先后颁布了PLC标准的草案第一稿,第二稿,并在1987年2月通过了对它的定义:
“可编程控制器是一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。可编程控制器及其有关外部设备,都按易于与工业控制系统联成一个整体,易于扩充其功能的原则设计。”
总之,可编程控制器是一台计算机,它是专为工业环境应用而设计制造的计算机。它具有丰富的输入/输出接口,并且具有较强的驱动能力。但可编程控制器产品并不针对某一具体工业应用,在实际应用时,其硬件需根据实际需要进行选用配置,其软件需根据控制要求进行设计编制。
三. PLC的特点
PLC的主要特点
1、高可*性(1)所有的I/O接口电路均采用光电隔离,使工业现场的外电路与PLC内部电路之间电气上隔离。(2)各输入端均采用R-C滤波器,其滤波时间常数一般为10~20ms.(3)各模块均采用屏蔽措施,以防止辐射干扰。(4)采用性能优良的开关电源。(5)对采用的器件进行严格的筛选。(6)良好的自诊断功能,一旦电源或其他软,硬件发生异常情况,CPU立即采用有效措施,以防止故障扩大。(7)大型PLC还可以采用由双CPU构成冗余系统或有三CPU构成表决系统,使可*性更进一步提高。
2、丰富的I/O接口模块PLC针对不同的工业现场信号,如:交流或直流;开关量或模拟量;电压或电流;脉冲或电位;强电或弱电等。有相应的I/O模块与工业现场的器件或设备,如:按钮;行程开关;接近开关;传感器及变送器;电磁线圈;控制阀等直接连接。另外为了提高操作性能,它还有多种人-机对话的接口模块; 为了组成工业局部网络,它还有多种通讯联网的接口模块,等等。
3、采用模块化结构为了适应各种工业控制需要,除了单元式的小型PLC以外,绝大多数PLC均采用模块化结构。PLC的各个部件,包括CPU,电源,I/O等均采用模块化设计,由机架及电缆将各模块连接起来,系统的规模和功能可根据用户的需要自行组合。
4、编程简单易学PLC的编程大多采用类似于继电器控制线路的梯形图形式,对使用者来说,不需要具备计算机的专门知识,因此很容易被一般工程技术人员所理解和掌握。
5、安装简单,维修方便PLC不需要专门的机房,可以在各种工业环境下直接运行。使用时只需将现场的各种设备与PLC相应的I/O端相连接,即可投入运行。各种模块上均有运行和故障指示装置,便于用户了解运行情况和查找故障。由于采用模块化结构,因此一旦某模块发生故障,用户可以通过更换模块的方法,使系统迅速恢复运行。
PLC的功能
1、逻辑控制
2、定时控制
3、计数控制
4、步进(顺序)控制
5、PID控制
6、数据控制:PLC具有数据处理能力。
7、通信和联网
8、其它:PLC还有许多特殊功能模块,适用于各种特殊控制的要求,如:定位控制模块,CRT模块。
四、PLC的发展阶段
虽然PLC问世时间不长,但是随着微处理器的出现,大规模,超大规模集成电路技术的迅速发展和数据通讯技术的不断进步,PLC也迅速发展,其发展过程大致可分三个阶段:
1、早期的PLC(60年代末—70年代中期)早期的PLC一般称为可编程逻辑控制器。这时的PLC多少有点继电器控制装置的替代物的含义,其主要功能只是执行原先由继电器完成的顺序控制,定时等。它在硬件上以准计算机的形式出现,在I/O接口电路上作了改进以适应工业控制现场的要求。装置中的器件主要采用分立元件和中小规模集成电路,存储器采用磁芯存储器。另外还采取了一些措施,以提高其抗干扰的能力。在软件编程上,采用广大电气工程技术人员所熟悉的继电器控制线路的方式—梯形图。因此,早期的PLC的性能要优于继电器控制装置,其优点包括简单易懂,便于安装,体积小,能耗低,有故障指使,能重复使用等。其中PLC特有的编程语言—梯形图一直沿用至今。
2、中期的PLC(70年代中期—80年代中,后期)在70年代,微处理器的出现使PLC发生了巨大的变化。美国,日本,德国等一些厂家先后开始采用微处理器作为PLC的中央处理单元(CPU)。这样,使PLC得功能大大增强。在软件方面,除了保持其原有的逻辑运算、计时、计数等功能以外,还增加了算术运算、数据处理和传送、通讯、自诊断等功能。在硬件方面,除了保持其原有的开关模块以外,还增加了模拟量模块、远程I/O模块、各种特殊功能模块。并扩大了存储器的容量,使各种逻辑线圈的数量增加,还提供了一定数量的数据寄存器,使PLC得应用范围得以扩大。
3、近期的PLC(80年代中、后期至今)进入80年代中、后期,由于超大规模集成电路技术的迅速发展,微处理器的市场价格大幅度下跌,使得各种类型的PLC所采用的微处理器的当次普遍提高。而且,为了进一步提高PLC的处理速度,各制造厂商还纷纷研制开发了专用逻辑处理芯片。这样使得PLC软、硬件功能发生了巨大变化。
五、PLC的分类
1、小型PLC 小型PLC的I/O点数一般在128点以下,其特点是体积小、结构紧凑,整个硬件融为一体,除了开关量I/O以外,还可以连接模拟量I/O以及其他各种特殊功能模块。它能执行包括逻辑运算、计时、计数、算术运算、数据处理和传送、通讯联网以及各种应用指令。
2、中型PLC 中型PLC采用模块化结构,其I/O点数一般在256~1024点之间。I/O的处理方式除了采用一般PLC通用的扫描处理方式外,还能采用直接处理方式,即在扫描用户程序的过程中,直接读输入,刷新输出。它能联接各种特殊功能模块,通讯联网功能更强,指令系统更丰富,内存容量更大,扫描速度更快。
3、大型PLC 一般I/O点数在1024点以上的称为大型PLC。大型PLC的软、硬件功能极强。具有极强的自诊断功能。通讯联网功能强,有各种通讯联网的模块,可以构成三级通讯网,实现工厂生产管理自动化。大型PLC还可以采用三CPU构成表决式系统,使机器的可*性更高。
六. PLC的基本结构
PLC实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同,
1、中央处理单元(CPU)是PLC的控制中枢。它按照PLC系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。当PLC投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
为了进一步提高PLC的可*性,近年来对大型PLC还采用双CPU构成冗余系统,或采用三CPU的表决式系统。这样,即使某个CPU出现故障,整个系统仍能正常运行。
2、存储器存放系统软件的存储器称为系统程序存储器。存放应用软件的存储器称为用户程序存储器。
PLC常用的存储器类型
(1)RAM (Random Assess Memory) 这是一种读/写存储器(随机存储器),其存取速度最快,由锂电池支持。
(2)EPROM(Erasable Programmable Read Only Memory)这是一种可擦除的只读存储器。在断电情况下,存储器内的所有内容保持不变。(在紫外线连续照射下可擦除存储器内容)。(3)EEPROM(Electrical Erasable Programmable Read Only Memory)这是一种电可擦除的只读存储器。使用编程器就能很容易地对其所存储的内容进行修改。
PLC存储空间的分配
虽然各种PLC的CPU的最大寻址空间各不相同,但是根据PLC的工作原理,其存储空间一般包括以下三个区域:
(1)系统程序存储区
(2)系统RAM存储区(包括I/O映象区和系统软设备等)
(3)用户程序存储区系统程序存储区:在系统程序存储区中存放着相当于计算机操作系统的系统程序。包括监控程序、管理程序、命令解释程序、功能子程序、系统诊断子程序等。由制造厂商将其固化在EPROM中,用户不能直接存取。它和硬件一起决定了该PLC的性能。
系统RAM存储区:系统RAM存储区包括I/O映象区以及各类软设备,如:逻辑线圈;数据寄存器;计时器;计数器;变址寄存器;累加器等存储器。
(1)I/O映象区:由于PLC投入运行后,只是在输入采样阶段才依次读入各输入状态和数据,在输出刷新阶段才将输出的状态和数据送至相应的外设。因此,它需要一定数量的存储单元(RAM)以存放I/O的状态和数据,这些单元称作I/O映象区。一个开关量I/O占用存储单元中的一个位(bit),一个模拟量I/O占用存储单元中的一个字(16个bit)。因此整个I/O映象区可看作两个部分组成:开关量I/O映象区;模拟量I/O映象区。
(2)系统软设备存储区 :除了I/O映象区区以外,系统RAM存储区还包括PLC内部各类软设备(逻辑线圈、计时器、计数器、数据寄存器和累加器等)的存储区。该存储区又分为具有失电保持的存储区域和无失电保持的存储区域,前者在PLC断电时,由内部的锂电池供电,数据不会遗失;后者当PLC断电时,数据被清零。
1)逻辑线圈与开关输出一样,每个逻辑线圈占用系统RAM存储区中的一个位,但不能直接驱动外设,只供用户在编程中使用,其作用类似于电器控制线路中的继电器。另外,不同的PLC还提供数量不等的特殊逻辑线圈,具有不同的功能。
2)数据寄存器与模拟量I/O一样,每个数据寄存器占用系统RAM存储区中的一个字(16 bits)。 另外,PLC还提供数量不等的特殊数据寄存器,具有不同的功能。
3)计时器
4)计数器
用户程序存储区
用户程序存储区存放用户编制的用户程序。不同类型的PLC,其存储容量各不相同。
3、电源
PLC的电源在整个系统中起着十分重要得作用。如果没有一个良好的、可*得电源系统是无法正常工作的,因此PLC的制造商对电源的设计和制造也十分重视。一般交流电压波动在+10%(+15%)范围内,可以不采取其它措施而将PLC直接连接到交流电网上去。
七. PLC的工作原理
最初研制生产的PLC主要用于代替传统的由继电器接触器构成的控制装置,但这两者的运行方式是不相同的:
(1)继电器控制装置采用硬逻辑并行运行的方式,即如果这个继电器的线圈通电或断电,该继电器所有的触点(包括其常开或常闭触点)在继电器控制线路的哪个位置上都会立即同时动作。
(2)PLC的CPU则采用顺序逻辑扫描用户程序的运行方式,即如果一个输出线圈或逻辑线圈被接通或断开,该线圈的所有触点(包括其常开或常闭触点)不会立即动作,必须等扫描到该触点时才会动作。
为了消除二者之间由于运行方式不同而造成的差异,考虑到继电器控制装置各类触点的动作时间一般在100ms以上,而PLC扫描用户程序的时间一般均小于100ms,因此,PLC采用了一种不同于一般微型计算机的运行方式---扫描技术。这样在对于I/O响应要求不高的场合,PLC与继电器控制装置的处理结果上就没有什么区别了。
1、扫描技术 当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
(1)输入采样阶段
在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
(2)用户程序执行阶段
在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
(1)输出刷新阶段
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC的真正输出。
2、PLC的I/O响应时间
为了增强PLC的抗干扰能力,提高其可*性,PLC的每个开关量输入端都采用光电隔离等技术。为了能实现继电器控制线路的硬逻辑并行控制,PLC采用了不同于一般微型计算机的运行方式(扫描技术)。以上两个主要原因,使得PLC得I/O响应比一般微型计算机构成的工业控制系统满的多,其响应时间至少等于一个扫描周期,一般均大于一个扫描周期甚至更长。所谓I/O响应时间指从PLC的某一输入信号变化开始到系统有关输出端信号的改变所需的时间
八. PLC的I/O系统
1、I/O寻址方式
PLC的硬件结构主要分单元式和模块式两种。前者将PLC的主要部分(包括I/O系统和电源等)全部安装在一个机箱内。后者将PLC的主要硬件部分分别制成模块,然后由用户根据需要将所选用的模块插入PLC机架上的槽内,构成一个PLC系统。不论采取哪一种硬件结构,都必须确立用于连接工业现场的各个输入/输出点与PLC的I/O映象区之间的对应关系,即给每一个输入/输出点以明确的地址确立这种对应关系所采用得方式称为I/O寻址方式。
I/O寻址方式有以下三种:
(1)固定的I/O寻址方式这种I/O寻址方式是由PLC制造厂家在设计、生产PLC时确定的,它的每一个输入/输出点都有一个明确的固定不变的地址。一般来说,单元式的PLC采用这种I/O寻址方式。
(2)开关设定的I/O寻址方式这种I/O寻址方式是由用户通过对机架和模块上的开关位置的设定来确定的。
(3)用软件来设定的I/O寻址方式这种I/O寻址方式是有用户通过软件来编制I/O地址分配表来确定的
PLC程序设计语言介绍
在PLC中有多种程序设计语言,它们是梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本操作。功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能,它不仅在PLC中得到了广泛的应用,在集散控制系统的编程和组态时也常常被采用,由于它具有连接方便、操作简单、易于掌握等特点,为广大工程设计和应用人员所喜爱。
根据PLC应用范围,程序设计语言可以组合使用,常用的程序设计语言是:梯形图程序设计语言;布尔助记符程序设计语言(语句表);功能表图程序设计语言;功能模块图程序设计语言;结构化语句描述程序设计语言;梯形图与结构化语句描述程序设计语言;布尔助记符与功能表图程序设计语言;布尔助记符与结构化语句描述程序设计语言。
1、梯形图(Ladder Diagram)
程序设计语言梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。
在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用。梯形图程序设计语言的特点是:(1)与电气操作原理图相对应,具有直观性和对应性;
(2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;
(3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;
(4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查。
2、布尔助记符(Boolean Mnemonic)
程序设计语言布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。
布尔助记符程序设计语言具有下列特点:
(1)采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;
(2)在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;
(3)与梯形图有一一对应关系。其特点与梯形图语言基本类同。
3、功能表图(Sepuential Function Chart)
程序设计语言功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。
功能表图程序设计语言的特点是:
(1)以功能为主线,条理清楚,便于对程序操作的理解和沟通;
(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
(3)常用于系统的规模校大,程序关系较复杂的场合;
(4)只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的象死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程,所以,得到了文泛的应用。近几年推出的PLC和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利(Petri)网的一些基本概念,我在以后有机会时再介绍给各位,以有助于对功能表图的进一步理解。
4、功能模块图(Function Block)
程序设计语言功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等操作可以很方便实现。
功能模块图程序设计语言的特点是:
(1)以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
(2)功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;
(3)对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;
(4)由于每种功能模块需要占用一定的程序内存,对功能模块的执行需要一定的执行时间,因此,这种设计语言在大中型PLC和集散控制系统的编程和组态中才被采用。
5、结构化语句(Structured Text)
描述程序设计语言结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的PLC系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化程序设计语言具有下列特点:
(1)采用高级语言进行编程,可以完成较复杂的控制运算;
(2)需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
(3)直观性和易操作性等性能较差;
(4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。部分PLC的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制,同时,提供了与PLC间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余地。