可编程控制器(programmable controller)简称plc,是以微处理器为基础,融合了计算机技术、自动控制技术和通信技术等现代科技而发展起来的一种新型工业自动控制装置。随着计算机技术的发展,可编程控制器作为通用的工业控制计算机,其功能日益强大,性价比越来越高,已经成为工业领域的主流设备。
1.1 plc的诞生和发展
1.1.1 plc的产生和定义
在plc诞生之前,继电器控制系统已广泛应用于工业生产的各个领域,起着不可替代的作用。随着生产规模的逐步扩大,继电器控制系统已越来越难以适应现代工业生产的要求。继电器控制系统通常是针对某一固定的动作顺序或生产工艺而设计,他的控制功能也局限于逻辑控制、定时、计数等一些简单的控制,一旦动作顺序或生产工艺发生变化,就必须重新进行设计、布线、装配和调试,造成时间和资金的严重浪费。继电器控制系统体积大、耗电多、可靠性差、寿命短、运行速度慢、适应性差。为了改变这一现状,1968年美国 大的汽车制造商通用汽车公司(gm),为了适应汽车型号不断更新的需求,并能在竞争激烈的汽车工业中占有优势,提出要研制一种新型的工业控制装置来取代继电器控制装置,为此,拟定了10项公开招标的技术要求,即:
1、 编程简单,可在现场修改程序
2、 维护方便, 好是插件式
3 、可靠性高于继电器控制柜
4 、体积小于继电器控制柜
5 、可将数据直接送入管理计算机
6 、在成本上可与继电器控制柜竞争
7、输入可以是交流115v
8、输出可以是交流115v,2a以上,可直接驱动电磁阀等
9、 在扩展时,原有系统只要很小变更
10 、用户程序存储器容量至少能扩展到4k
根据招标的技术要求,第二年,美国数字设备公司(dec)研制出了世界上第一台plc,并在通用汽车公司自动装配线上试用成功。这种新型的工控装置,以其体积小、可变性好、可靠性高、使用寿命长、简单易懂、操作维护方便等一系列优点,很快就在美国的许多行业里得到推广应用,也受到了世界上许多国家的高度重视。1971年,日本从美国引进了这项新技术,很快研制出了他们的第1台plc。1973年,西欧国家也研制出他们的第1台plc。我国从1974年开始研制,到1977年开始应用于工控领域。在这一时期,plc虽然采用了计算机的设计思想,但实际上plc只能完成顺序控制,仅有逻辑运算等简单功能,所以人们将它称为可编程逻辑控制器(programmable logic controller)简称为plc。
20世纪70年代末至80年代初期,微处理器日趋成熟,使plc的处理速度大大提高,增加了许多功能。在软件方面,除了保持原有的逻缉运算、计时、计数等功能以外,还增加了算术运算、数据处理、网络通信、自诊断等功能。在硬件方面,除了保持原有的开关模块以外,还增加了模拟量模块、远程i/o模块、各种特殊功能模块,并扩大了存储器的容量,而且还提供一定数量的数据寄存器。为此,美国电气制造协会将可编程序逻辑控制器,正式命名为编程序控制器(programmable controller),简称pc。但由于pc容易和个人计算机pc(personal computer)混淆,故人们仍习惯地用plc作为可编程序控制器的简称。
1985年,国际电工委员会(iec)对plc作出如下定义:可编程序控制器是一种数字运算操作电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字的,模拟的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关的外围设备,都应按易于与工业控制系统形成一个整体、易于扩充其功能的原则设计。
由该定义可知:plc是一种由“事先存贮的程序”来确定控制功能的工控类计算机。
plc它是按照成熟而有效的继电器控制概念和设计思想,利用不断发展的新技术、新电子器件,逐步形成了具有特色的各种系列产品,是一种数字运算操作的专用电子计算机。它是将逻辑运算,顺序控制,时序和计数以及算术运算等控制程序,用一串指令的形式存放到存储器中,然后根据存储的控制内容,经过模拟,数字等输入输出部件,对生产设备和生产过程进行控制的装置。
1.1.2 plc的发展
1)、plc的发展现状
目前,随着大规模和超大规模集成电路等微电子技术的发展,plc已由 初一位机发展到现在的以16位和32位微处理器构成的微机化pc,而且实现了多处理器的多通道处理。如今,plc技术已非常成熟,不仅控制功能增强,功耗和体积减小,成本下降,可靠性提高,编程和故障检测更为灵活方便,而且随着远程i/o和通信网络、数据处理以及图象显示的发展,使plc向用于连续生产过程控制的方向发展,成为实现工业生产自动化的一大支柱。
现在,世界上有200多家plc生产厂家,400多品种的plc产品,按地域可分成美国、欧洲、和日本等三个流派产品,各流派plc产品都各具特色。其中,美国是plc生产大国,有100多家plc厂商,著名的有a-b公司、通用电气(ge)公司、莫迪康(modicon)公司。欧洲plc产品主要制造商有德国的西门子(siemens)公司、aeg公司、法国的te公司。日本有许多plc制造商,如三菱、欧姆龙、松下、富士等,韩国的三星(samsung)、lg等,这些生产厂家的产品占有80%以上的plc市场份额。
经过多年的发展,国内plc生产厂家约有三十家,国内plc应用市场仍然以国外产品为主。国内公司在开展plc业务时有较大的竞争优势,如:需求优势、产品定制优势、成本优势、服务优势、响应速度优势。
2)、plc的发展趋势
随着plc应用领域日益扩大,plc技术及其产品结构都在不断改进,功能日益强大,性价比越来越高。
(1)、在产品规模方面,向两极发展。一方面,大力发展速度更快、性价比更高的小型和超小型plc。以适应单机及小型自动控制的需要。另一方面,向高速度、大容量、技术完善的大型plc方向发展。随着复杂系统控制的要求越来越高和微处理器与计算机技术的不断发展,人们对plc的信息处理速度要求也越来越高,要求用户存储器容量也越来越大。
(2)、向通信网络化发展
plc网络控制是当前控制系统和plc技术发展的潮流。plc与plc之间的联网通信、plc与上位计算机的联网通信已得到广泛应用。目前,plc制造商都在发展自己专用的通信模块和通信软件以加强plc的联网能力。各plc制造商之间也在协商指定通用的通信标准,以构成更大的网络系统。plc已成为集散控制系统(dcs)不可缺少的组成部分。
(3)、向模块化、智能化发展
为满足工业自动化各种控制系统的需要,近年来,plc厂家先后开发了不少新器件和模块,如智能i/o模块、温度控制模块和专门用于检测plc外部故障的专用智能模块等,这些模块的开发和应用不仅增强了功能,扩展了plc的应用范围,还提高了系统的可靠性。
(4)、编程语言和编程工具的多样化和标准化
多种编程语言的并存、互补与发展是plc软件进步的一种趋势。 plc厂家在使硬件及编程工具换代频繁、丰富多样、功能提高的同时,日益向map(制造自动化协议)靠拢,使plc的基本部件,括输入输出模块、通信协议、编程语言和编程工具等方面的技术规范化和标准化。
1.2 plc的分类、特点和应用
1.2.1 plc可编程控制器的分类
1)按i/o点数分类
plc所能接受的输入信号个数和输出信号个数分别称为plc的输入点数和 输出点数。其输入、输出点数的数目之和称为plc的输入/输出点数,简称i/o点数。i/o点数是选择plc的重要依据之一。
一般而言,plc控制系统处理的i/o点数较多时,则控制关系比较复杂,用户要求的程序存储器容量也较大,要求plc指令及其他功能比较多。按plc输入、输出点数的多少可将plc分为以下三类。
(1)小型机
小型plc输入、输出总点数一般在256点以下,用户程序存储器容量在4k字左右。小型plc的功能一般以开关量控制为主,适合单机控制和小型控制系统。
(2)中型机
中型plc的输入、输出总点数在256~2048点之间,用户程序存储器容量达到8k字左右。中型机适用于组成多机系统和大型控制系统。
(3) 大型机
大型plc的输入、输出总点数载2084点以上,用户程序存储器容量达到16k字以上。大型机适用于组成分布式控制系统和整个工厂的集散控制网络。
上述划分没有一个十分严格的界限,随着plc技术的飞速发展,一些小型plc也具备中型或大型plc的功能,这也是plc的发展趋势。
2)按结构形式分类
按照plc的结构特点可分为整体式、模块式两大类。
(1)整体式结构
把plc的cpu、存储器、输入/输出单元、电源等集成在一个基本单元中,其结构经凑,体积小,成本低,安装方便。基本单元上设有扩展端口,通过电缆与扩展单元相连,可配接特殊功能模块。微型和小型plc一般为整体式结构,s7-200系列属整体式结构。
(2)模块式结构
模块式结构的plc由一些模块单元构成,这些标准模块括cpu模块、输入模块、输出模块、电源模块和各种特殊功能模块等,使用时将这些模块插在标准机架内即可。各模块功能是独立的,外形尺寸是统一的。模块式plc的硬件组态方便灵活,装配和维修方便,易于扩展。
目前,中、大型plc多采用模块式结构形式,如西门子的s7-300和s7-400系列。
1.2.2 plc可编程控制器的特点
1)、可靠性高,抗干扰能力强。工业生产一般对控制设备的可靠性要求很高,并且要有很强的抗干扰能力。plc能在恶劣的环境中可靠的工作,平均无故障时间达到数万小时以上,已被公认为 可靠的工业控制设备之一。
plc本身具有较强的自诊断功能,保证硬件核心设备(cpu、存储器、i/o总线等)在正常情况下执行用户程序,一旦出现故障则立即给出出错信号,停止用户程序的执行,切断所有输出信号,等待修复。plc的主要模块均采用大规模和超大规模集成电路,i/o系统设计有完善的通道保护与信号调理电路。在结构上对耐热、防潮、防尘、抗震等都有精确的考虑,在硬件上采用隔离,屏蔽、滤波、接地等抗干扰措施,在软件上采用数字滤波等措施。与继电器系统和通用计算机相比,plc更能适应工业现场环境要求。
2) 硬件配套齐全,使用方便,适应性强
plc是通过执行程序实现控制的。当控制要求发生改变时,只要修改程序即可, 大限度地缩短了工艺更新所需要的时间。plc的产品已标准化、系列化、模块化,而且plc及配套产品的模块品种多,用户可以灵活方便地进行系统配置组合成各种不同规模、不同功能的控制系统。在plc控制系统中,只需在plc的端子上接入相应的输入/输出信号线即可,不需要进行大量且复杂的硬接线,并且plc有较强的带负载能力,可以直接驱动一般的电磁阀和交流接触器。
3)、编程直观、易学易会
plc提供了多种编程语言,其中梯形图使用 普遍。plc是面向用户的设备,plc的设计者充分考虑到现场工程技术人员的技能和习惯,因此plc程序的编制采用梯形图的简单指令形式。梯形图与继电原理图相似,这种编程语言形象直观,易学易懂,不需要专门的计算机知识和语言,现场工程技术人员可在短时间内学会使用。用户在购买plc后,只需按说明书的提示,做少量的接线和进行简易的用户程序编制工作,就可灵活方便地将plc应用于生产实践。
4)、系统的设计、安装、调试工作量小,维护方便
plc用软件取代了继电器控制系统中大量的中间继电器、时间继电器、计数器等器件,使控制柜的设计、安装、接线工作量大为减少。同时plc的用户程序大部分可以在实验室进行模拟调试,模拟调试好后再将plc控制系统安装到生产现场,进行联机调试,既安全,又快捷方便。
plc的故障率很低,并且有完善的自诊断和显示功能。当发生故障时,可以根据plc的状态指示灯显示或编程器提供的信息迅速查找到故障原因,排除故障。
5)、体积小,能耗低
由于plc采用了半导体集成电路,其体积小,重量轻,结构紧凑、功耗低、便于安装,是机电一体化的理想控制器。对于复杂的控制系统,采用plc后,一般可将开关柜的体积缩小到原来的1/10~1/2。
1.2.3 plc的应用
目前,plc在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,随着其性能价格比的不断提高,应用的范围还在不断扩大,plc的应用大致可归纳为以下几类。
1)、开关量的逻辑控制
这是plc 基本、 广泛的应用领域。plc的逻辑控制取代传统的继电系统控制电路,实现逻辑控制、顺序控制,既可用于单机控制,也可用于多机群控及自动化生产线的控制等。如机床电气控制、装配生产线、电梯控制、冶金系统的高炉上料系统以及各种生产线的控制。
2)、运动控制
plc可以用于圆周运动或直线运动的控制。目前,大多数的plc制造商都提供拖动步进电机或伺服电机的单轴或多轴位置控制模块,这一功能可广泛用于各种机械,如金属切削机床、金属成型机床、机器人、电梯等。
3)、过程控制
过程控制是指对温度、压力、流量、速度等连续变化的模拟量的闭环控制。plc采用相应的a/d和d/a转换模块及各种各样的控制算法程序来处理模拟量,完成闭环控制。pid调节是一般闭环控制系统中用得较多的一种调节方法。过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛的应用。现代的大、中型plc一般都有闭环pid控制模块,这一功能可以用pid子程序来实现,而更多的是使用专用pid模块来实现。
4)、数据处理
plc具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。这些数据可以通过通信接口传送到指定的智能装置进行处理,或将它们打印备用。数据处理一般用于大型控制系统,如造纸、冶金、食品工业中的一些大型控制系统。
5)、通信及联网
plc通信括plc相互之间、plc与上位机、plc与其它智能设备间的通信。plc与其它智能控制设备一起,可以构成“集中管理、分散控制”的分布式控制系统,满足工厂自动化系统发展的需要。
● plc控制系统与继电器控制系统的区别 :
⑴ 组成器件不同:继电器控制线路是许多真正的硬件继电器组成,而梯形图则由许多所谓“软继电器”组成。
⑵ 触点数量不同:硬继电器的触点数量有限,用于控制的继电器的触 点数一般只有4~8对;而梯形图中每个“软继电器”供编程使用的触点数有无限对。
⑶ 实施控制的方法不同:在继电器控制线路中,实现某种控制是通过各种继电器之间硬接线解决的。而plc控制是通过梯形图即软件编 程解决的。
⑷ 工作方式不同:在继电器控制线路中,采用并行工作方式;而在梯形图的控制线路中,采用串行工作方式。
1.3 plc可编程控制器的基本组成
plc种类繁多,功能虽然多种多样,但其组成结构和工作原理基本相同。plc的控制系统由硬件和软件两大部分组成,硬件指plc本身及其外围设备,软件是指管理plc的系统软件和plc的应用程序
1.3.1 plc的硬件系统组成
plc实质上是一种工业控制计算机,plc与计算机的组成十分相似。只不过它比一般的计算机具有更强的与工业过程相连接的接口,以及更直接的适应控制要求的编程语言。从硬件结构看,它由cpu、存储器、输入/输出接口、电源等组成。plc的基本组成框图如图1所示。下面对plc控制系统的主要硬件部分进行介绍。
图1 plc的基本组成框图
1)、中央处理器(cpu)
一般由控制器、运算器和寄存器组成,这些电路都集成在一个芯片内。cpu通过数据总线、地址总线和控制总线与存储单元、输入/输出接口电路相连接。
与一般的计算机一样,cpu是整个plc的控制中枢,它按plc中系统程序赋予的功能指挥plc有条不紊的进行工作。cpu主要完成下述工作:
(1)接收、存储用户通过编程器等输入设备输入的程序和数据。
(2)用扫描的方式通过i/o部件接收现场信号的状态或数据,并存入输入映像寄存器或数据存储器中。
(3)诊断plc内部电路的工作故障和编程中的语法错误等。
(4) plc进入运行状态后,执行用户程序,完成各种数据的处理、传输和存储相应的内部控制信号,以完成用户指令规定的各种操作。
(5)响应各种外围设备(如编程器、打印机等)的请求。
plc采用的cpu随机型不同而不同, 目前,小型plc为单cpu系统,中型及大型则采用双cpu甚至多cpu系统。目前,plc通常采用的微处理器有三种:通用微处理器、单片微处理器(即单片机)、位片式微处理器。
2)、 存储器
plc系统中的存储器主要用于存放系统程序、用户程序和工作状态数据。plc的存储器括系统存储器和用户存储器。
(1)系统存储器
系统存储器用来存放由plc生产厂家编写的系统程序,并固化在rom内,用户不能更改。它使plc具有基本的功能,能够完成plc设计者规定的各项工作。系统程序质量的好坏很大程度上决定了plc的性能。
(2)用户存储器
用户存储器括用户程序存储器(程序区)和数据存储器(数据区)两部分。用户程序存储器用来存放用户针对具体控制任务采用plc编程语言编写的各种用户程序。用户程序存储器根据所选用的存储器单元类型的不同(可以是ram、eprom或eeprom存储器),其内容可以由用户修改或增删。用户数据存储器可以用来存放(记忆)用户程序中所使用器件的on/off状态和数据等。用户存储器的大小关系到用户程序容量的大小,是反映plc性能的重要指标之一。
为了便于读出、检查和修改,用户程序一般存于cmos静态ram中,用锂电池作为后备电源,以保证掉电时不会丢失信息。为了防止干扰对ram中程序的破坏,当用户程序经过运行正常,不需要改变,可将其固化在只读存储器eprom中。现在有许多plc直接采用eeprom作为用户存储器。
工作数据是plc运行过程中经常变化、经常存取的一些数据。存放在ram中,以适应随机存取的要求。在plc的工作数据存储器中,设有存放输入输出继电器、辅助继电器、定时器、计数器等逻辑器件的存储区,这些器件的状态都是由用户程序的初始设置和运行情况而确定的。根据需要,部分数据在掉电时用后备电池维持其现有的状态,这部分在掉电时可保存数据的存储区域称为保持数据区。
由于系统程序及工作数据与用户无直接联系,所以在plc 产品样本或使用手册中所列存储器的形式及容量是指用户程序存储器。当plc提供的用户存储器容量不够用,许多plc还提供有存储器扩展功能。
存储器主要有两种:一种是可读/写操作的随机存储器ram,另一种是只读存储器或可擦除可编程的只读存储器rom、prom 、eprom 和eeprom。
3)、输入/输出接口
输入/输出接口是plc与现场i/o设备或其它外部设备之间的连接部件。plc通过输入接口把外部设备(如开关、按钮、传感器)的状态或信息读入cpu,通过用户程序的运算与操作,把结果通过输出接口传递给执行机构(如电磁阀、继电器、接触器等)。
在输入/输出接口电路中,一般均配有电子变换、光耦合器和阻容滤波等电路,以实现外部现场的各种信号与系统内部统一信号的匹配和信号的正确传递,plc正是通过了这种接口实现了信号电平的转换。发光二极管(led)用来显示某一路输入端子是否有信号输入。当系统的i/o点数不够时,可通过plc的i/o扩展接口对系统进行扩展。
(1)输入接口电路
各种plc的输入接口电路结构大都相同,按其接口接受的外信号电源划分有两种类型:直流输入接口电路、交流输入接口电路。其作用是把现场的开关量信号变成plc内部处理的标准信号。plc的输入接口电路如图2所示。
在输入接口电路中,每一个输入端子可接收一个来自用户设备的离散信号,即外部输入器件可以是无源触点,如按钮、开关、形程开关等,也可以是有源器件,如各类传感器、接近开关、光电开关等。在plc内部电源容量允许条件下,有源输入器件可以采用plc输出电源(24v),否则必须外设电源。
图(a) 直流输入接口电路
图(b) 交流输入接口电路
在图(a) 直流输入接口电路中,当输入开关闭合时,光敏晶体管接收到光信号,并将接受的信号送入内部状态寄存器。即当现场开关闭合时,对应的输入映像寄存器为“1”状态,同时该输入端的发光二极管(led)点亮;当现场开关断开时,对应的输入映像寄存器为“0”状态。光电耦合器隔离了输入电路与plc内部电路的电气连接,使外部信号通过光电耦合变成内部电路能接收的标准信号。
图(b)交流输入接口电路中,当输入开关闭合时,经双向光电耦合器,将该信号送至plc内部电路,供cpu处理,同时发光二极管(led)点亮。
(2)输出接口电路
为适应不同负载需要,各类plc的输出都有三种类型的接口电路,即继电器输出、晶体管输出、晶闸管输出。其作用是把plc内部的标淮信号转换成现场执行机构所需的开关量信号,驱动负载。发光二极管(led)用来显示某一路输出端子是否有信号输出。
图(a) 继电器输出型接口电
图(b)晶体管输出型接口电路
图(c) 晶闸管输出型接口电路
图3 plc的输出接口电路
图(a)继电器输出型接口电路中,当cpu根据用户程序的运算把输出信号送入plc的输出映像区后,通过内部总线把输出信号送到锁存器中。当输出锁存器的对应位为“1”时,其对应的发光二极管(led)导通发光,继电器的线圈带电,其触点则把负载和电源连通起来,使得负载获得电流;当输出锁存器的对应位为“0”时,其对应的发光二极管(led)不导通,线圈不带电,其触点则把负载l和电源隔断,使得负载不会获得电流。
图(b)晶体管输出型接口电路中,当输出锁存器的对应位为“1”时,其对应的晶体管导通,把负载和电源连通起来,使得负载获得电流,发光二极管(led)导通;当输出锁存器的对应为“0”时,其对应的晶体管截止,把负载和电源隔断,使得负载不会获得电流,发光二极管(led)不导通。
图(c)晶闸管输出型接口电路中,当输出锁存器的对应位为“1”时,其对应的光耦合器导通,把负载和电源连通起来,使得负载获得电流,发光二极管(led)发光。当输出锁存器的对应位为“0”时,由于负载电源过零,其对应的光耦合器截止,把负载和电源隔断,使得负载不会获得电流,发光二极管(led)不导通。
上述三种类型的输出接口电路中,继电器输出型 常用,它适用于交、直流负载,其特点是带负载能力强,但动作频率与相应速度慢。晶体管输出型适用于直流负载,其特点是动作频率高,相应速度块,但带负载能力小。晶闸管输出型适用于交流负载,相应速度快,带带负载能力不强。
在输出接口电路中,外部负载直接与plc输出端子相连,负载电源由用户根据负载要求自行配备。在实际应用中,在考虑外驱动电源时,需考虑输出器件的类型,同时plc输出端子的输出电流不能超出其额定值。
4)、电源部分
plc内部配有一个专用开关型稳压电源,它将交流/直流供电电源变换成系统内部各单元所需的电源,即为plc各模块的集成电路提供工作电源。
plc一般使用220v的交流供电电源。plc内部的开关电源对电网提供的电源要求不高,与普通电源相比,plc电源稳定性好、抗干扰能力强。许多plc都向外提供直流24v稳压电源,用于对外部传感器供电。
对于整体式结构的plc,通常电源封装在机壳内部;对于模块式plc,有的采用单独电源模块,有的将电源与plc封装到一个模块中。
5)、编程器
编程器是plc开发应用、监测运行、检查维护不可缺少的器件。它是plc的外部设备,是人机交互的窗口。可用于编程、对系统作一些设定、监控plc及plc所控制的系统的工作状况,但它不直接参与现场控制运行。编程器可以是专用编程器,也可以是配有编程软件的通用计算机系统。专用编程器是由plc生产厂家,专供该厂家生产的某些plc产品使用,使用范围有限,价格较高。目前,大多是使用个人计算机为基础的编程器,用户只要购买plc厂家提供的编程软件和相应的硬件接口装置,就可以得到高性能的plc程序开发系统。
6)、扩展接口和外设通信接口
(1)外设通信接口
plc配有多种通信接口,plc通过这些通信接口可与编程器、打印机、其它plc、计算机等设备实现通信。可组成多机系统或连成网络,实现更大规模控制。
(2)扩展接口
用于连接i/o扩展单元和特殊功能单元。 通过扩展接口可以扩充开关量 i/o 点数和增加模拟量的i/0端子,也可配接智能单元完成特定的功能,使plc的配置更加灵活以满足不同控制系统的需要。i/0扩展接口电路采用并行接口和串行接口两种电路形式。
工业控制中,除了用数字量信号来控制外,有时还要用模拟量信号来进行控制。模拟量模块有三种:模拟量输入模块、模拟量输出模块、模拟量输入/输出模块。
(ⅰ) 模拟量输入模块
模拟量输入模块又称a/d模块,将现场由传感器检测而产生的连续的模拟量信号转换成plc的cpu可以接收的数字量,一般多为12位二进制数,数字量位数越多的模块,分辨率就越高。
(ⅱ) 模拟量输出模块
模拟量输出模块又称为d/a模块,把plc的cpu送往模拟量输出模块的数字量转换成外部设备可以接收的模拟量(电压或电流)。模拟量输出模块所接收的数字信号一般多为12位二进制数,数字量位数越多的模块,分辨率就越高。
1.3.2 plc的软件组成
plc控制系统的软件主要括系统软件和用户程序。系统软件由plc厂家固化在存储器中,用于控制plc的运作。用户程序由使用者编制录入,保存在用户存储器中,用于控制外部对象的运行。
1)、系统软件
系统软件括系统管理程序、用户指令解释程序、标准程序模块及系统调用。整个系统软件是一个整体,它的质量很大程度上影响了plc的性能。通常情况下,进一步改进和完善系统软件就可以在不增加任何设备条件下大大改善plc的性能,使其功能越来越强。
2)用户程序
plc的程序一般由三个部分构成:用户程序、数据块和参数块。用户程序是必选项,数据块和参数块是可选部分。
用户程序即应用程序,是用户针对具体控制对象编制的程序。plc是通过在run方式下,循环扫描执行用户程序来完成控制任务的,用户程序决定了一个控制系统的功能。
一个完整的用户程序应当含一个主程序、若干子程序和若干中断程序三大部分。
1.4 plc的工作原理
plc是一种工业控制计算机,它的工作原理建立在计算机工作原理之上,即通过执行反映控制要求的用户程序来完成。
1.4.1 plc可编程控制器的基本工作原理
plc以微处理器为核心,具有微机的许多特点,但它的工作方式却与微机有很大不同。
微机一般采用等待命令的工作方式工作。
plc是按集中输入、集中输出,周期性循环扫描的方式进行工作的。每一次循环扫描所用的时间称为一个扫描周期。
对每个程序,cpu从第一条指令开始执行,按顺序逐条地执行指令做周期性的程序循环扫描,如果无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至结束又返回第一条指令,如此周而复始不断循环。
plc在每次扫描工作过程中除了执行用户程序外,还要完成内部处理、输入采样、通信服务、程序执行、自诊断、输出刷新等工作。plc工作的全过程括三个部分,即上电处理、扫描过程和出错处理。plc工作的全过程可用图4所示的运行框图来表示。
在图4中,plc通电后,cpu在系统程序的控制下先进行内部处理,括硬件初始化、i/o模块配置检查、停电保持范围设定及其他初始化处理等工作。
plc有很强的自诊断功能,plc每扫描一次执行一次自诊断检查,确定plc自身的动作是否正常,如电源检测、内部硬件是否正常、程序语法是否有错等。如检查出异常时,cpu面板的led及异常继电器会接通,在特殊寄存器中会存入出错代码;cpu能根据错误类型和程度发出信号,甚至进行相应的出错处理,使plc停止扫描或强制变成stop状态。
plc运行正常时,扫描周期的长短与用户应用程序的长短、cpu的运算速度、i/o点的情况等有关。通常用plc执行1kb指令所需时间来说明其扫描速度(一般1-10ms/kb)。值得注意的是,不同指令执行时间是不同的,故选用不同指令所用的扫描时间将会不同。若用于高速系统要缩短扫描周期时,可从软硬件上同时考虑。plc周期性循环扫描工作方式的显著特点是:可靠性高、抗干扰能力强,但响应滞后、速度慢。
1.4.2 plc的扫描工作过程
plc执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,plc的扫描工作过程如图5所示。
(1)输入采样阶段。在这一阶段中,plc以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入对应的输入映像寄存器中。此时,输入映像寄存器被刷断。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,plc在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。一般来说,输入信号的宽度要大于一个扫描周期,否则可能造成信号的丢失。
(2)程序执行阶段。在执行用户程序过程中,plc按照梯形图程序扫描原则,一般来说,plc按从左至右、从上到下的步骤逐个执行程序。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,当指令中涉及输入、输出状态时,plc就从输入映像寄存器中“读入”对应输入端子状态,从输出映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后进行相应的运算,运算结果再存入输出映像寄存器中。对输出映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。
plc扫瞄工作过程
运行程序过程
图5 plc的扫描工作过程
(3)输出刷新阶段。程序执行阶段的运算结果被存入输出映像区,而不送到输出端口上。在输出刷新阶段,plc将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合,经过输出端子驱动外部负载。全部输出设备的状态要保持一个扫描周期。
● 输入/输出滞后问题:
当plc的输入端输入信号发生变化plc输出端对该输入变化做出反应需要一段时间,这种现象称为plc输入/输出响应滞后。
由上述分析可知,扫描周期的长短主要取决于程序的长短。扫描周期越长,响应速度越慢。由于每一个扫描周期只进行一次i/o刷新,即每一个扫描周期plc只对输人、输出状态寄存器更新一次,故使系统存在输人、输出滞后现象,这在一定程度上降低了系统的响应速度。工业现场的干扰常常是脉冲式的、短时的,plc的输入/输出响应滞后,对一般的工业控制要求,是完全允许的,还可以起到增强系统的抗干扰能力。
但是,对于控制时间要求严格、响应速度要求较快的系统,就要采取措施减小输入/输出滞后的不利影响。
1.5 plc的编程语言
plc的编程语言与一般计算机语言相比具有明显的特点,它既不同于一般高级语言,也不同于一般汇编语言,它既要易于编写又要易于调试。目前,还没有一种对各厂家产品都能兼容的编程语言。
目前,plc为用户提供了多种编程语言,以适应编制用户程序的需要,plc提供的编程语言通常有以下几种:梯形图、指令表、顺序功能图和功能块图
1、梯形图
梯形图编程语言是从继电器控制系统原理图的基础上演变而来的。plc的梯形图与继电器控制系统梯形图的基本思想是一致的,但是在使用符号和表达式等方面有一定区别。
梯形图具有形象、直观、简单明了,易于理解的特点,特别适合开关量逻辑控制,是plc 基本、 普遍的编程语言。
2、语句表(stl)
语句表是用助记符来表达plc的各种功能。它类似计算机的汇编语言,但比汇编语言通俗易懂,也是较为广泛应用的一种编程语言。使用语句表编程时,编程设备简单,逻辑紧凑、系统化,连接范围不受限制,但比较抽象。一般可以与梯形图互相转化,互为补充。目前,大多数plc都有语句表编程功能。
3、顺序功能图(sfc)
顺序功能图编程是一种图形化的编程方法,亦称功能图。它的编程方式采用画工艺流程图的方法编程,只要在每个工艺方框的输入和输出端,标上特定的符号即可。采用顺序功能图编程,可以使具有并发、选择等复杂结构的系统控制程序大为简化。许多plc都提供了用于sfc编程的指令,它是一种效果显著、深受欢迎的编程语言,目前国际电工委员会(iec)也正在实施并发展这种语言的编程标准。
4、 功能块图(fbd)
逻辑功能图是一种由逻辑功能符号组成的功能块来表达命令的图形语言,这种编程语言基本上沿用了半导体逻辑电路的逻辑方块图。对每一种功能都使用一个运算方块,其运算功能由方块内的符号确定。对于熟悉逻辑电路和具有逻辑代数基础的人员来说,使用非常方便。