工控自动化技术文摘:PLC的知识

来源:百度文库 编辑:神马文学网 时间:2024/04/30 03:06:26
PLC的知识
广东泰科
   
从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
CPU的构成
CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。
I/O模块
PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。
常用的I/O分类如下:
开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。
模拟量:按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。
除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。
按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。
电源模块
PLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。
底板或机架
大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。
可靠性高,抗干扰能力强
高可靠性是电气控制设备的关键性能。PLC由于采用现代大规模集成电路技术,采用严格的生产工艺制造,内部电路采取了先进的抗干扰技术,具有很高的可靠性。例如三菱公司生产的F系列PLC平均无故障时间高达30万小时。一些使用冗余CPU的PLC的平均无故障工作时间则更长。从PLC的机外电路来说,使用PLC构成控制系统,和同等规模的继电接触器系统相比,电气接线及开关接点已减少到数百甚至数千分之一,故障也就大大降低。此外,PLC带有硬件故障自我检测功能,出现故障时可及时发出警报信息。在应用软件中,应用者还可以编入外围器件的故障自诊断程序,使系统中除PLC以外的电路及设备也获得故障自诊断保护。这样,整个系统具有极高的可靠性也就不奇怪了。
配套齐全,功能完善,适用性强
PLC发展到今天,已经形成了大、中、小各种规模的系列化产品。可以用于各种规模的工业控制场合。除了逻辑处理功能以外,现代PLC大多具有完善的数据运算能力,可用于各种数字控制领域。近年来PLC的功能单元大量涌现,使PLC渗透到了位置控制、温度控制、CNC等各种工业控制中。加上PLC通信能力的增强及人机界面技术的发展,使用PLC组成各种控制系统变得非常容易。
易学易用,深受工程技术人员欢迎
PLC作为通用工业控制计算机,是面向工矿企业的工控设备。它接口容易,编程语言易于为工程技术人员接受。梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。为不熟悉电子电路、不懂计算机原理和汇编语言的人使用计算机从事工业控制打开了方便之门。
系统的设计、建造工作量小,维护方便,容易改造
PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。更重要的是使同一设备经过改变程序改变生产过程成为可能。这很适合多品种、小批量的生产场合。
体积小,重量轻,能耗低
以超小型PLC为例,新近出产的品种底部尺寸小于100mm,重量小于150g,功耗仅数瓦。由于体积小很容易装入机械内部,是实现机电一体化的理想控制设备。
PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
(一) 输入采样阶段
在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
(二) 用户程序执行阶段
在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
(三) 输出刷新阶段
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是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)网,由于它具有图形表达方式,能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的象死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程,所以,得到了文泛的应用。近几年推出的可编程控制器和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利(Petri)网的一些基本概念,我在以后有机会时再介绍给各位,以有助于对功能表图的进一步理解。
4、功能模块图(Function Block)程序设计语言
功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等操作可以很方便实现。
功能模块图程序设计语言的特点是:
(1)以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
(2)功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;
(3)对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;
(4)由于每种功能模块需要占用一定的程序内存,对功能模块的执行需要一定的执行时间,因此,这种设计语言在大中型可编程控制器和集散控制系统的编程和组态中才被采用。
5、结构化语句(Structured Text)描述程序设计语言
结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。
结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化程序设计语言具有下列特点:
(1)采用高级语言进行编程,可以完成较复杂的控制运算;
(2)需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
(3)直观性和易操作性等性能较差;
(4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。 部分可编程序控制器的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制,同时,提供了与可编程序控制器间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余地。
图1.1 PLC典型开机流程

输入刷新--再运行用户程序--再输出刷新--再输入刷新--再运行用户程序--再输出刷新……永不停止地循环反复地进行着。
图1.1所示的流程图反映的就是上述过程。它也反映了信息的时间关系。
有了上述过程,用PLC实现控制显然是可能的。因为:有了输入刷新,可把输入电路监控得到的输入信息存入PLC的输入映射区;经运行用户程序,输出映射区将得到变换后的信息;再经输出刷新,输出锁存器将反映输出映射区的状态,并通过输出电路产生相应的输出。又由于这个过程是永不停止地循环反复地进行着,所以,输出总是反映输入的变化的。只是响应的时间上,略有滞后。当然,这个滞后不宜太大,否则,所实现的控制不那么及时,也就失去控制的意义。
为此,PLC的工作速度要快。速度快、执行指令时间短,是PLC实现控制的基础。事实上,它的速度是很快的,执行一条指令,多的几微秒、几十微秒,少的才零点几,或零点零几微秒。而且这个速度还在不断提高中。
图1.1所示的过程是简化的过程,实际的PLC工作过程还要复杂些。除了I/O刷新及运行用户程序,还要做些公共处理工作。
公共处理工作有:循环时间监控、外设服务及通讯处理等。
监控循环时间的目的是避免"死循环",避免程序不能反复不断地重复执行。办法是用"看门狗"(Watchingdog)。只要循环超时,它可报警,或作相应处理.
外设服务是让PLC可接受编程器对它的操作,或通过接口向输出设备如打印机输出数据.
通讯处理是实现PLC与PLC,或PLC与计算机,或PLC与其它工业控制装置或智能部件间信息交换的。这也是增强PLC控制能力的需要。
也就是说,实际的PLC工作过程总是:公共处理--I/O刷新--运行用户程序--再公共处理--……反复不停地重复着。
可编程控制器实现控制的方式
用这种不断地重复运行程序实现控制称扫描方式。是用计算机进行实时控制的一种方式。此外,计算机用于控制还有中断方式。在中断方式下,需处理的控制先申请中断,被响应后正运行的程序停止运行,转而去处理中断工作(运行有关中断服务程序)。待处理完中断,又返回运行原来程序。哪个控制需要处理,哪个就去申请中断。哪个不需处理,将不被理睬。显然,中断方式与扫描方式是不同的。
在中断方式下,计算机能得到充分利用,紧急的任务也能得到及时处理。但是,如果同时来了几个都要处理的任务该怎么办呢?优先级高的还好办,低的呢?可能会出现照顾不到之处。所以,中断方式不大适合于工作现场的日常使用。
但是,PLC在用扫描方式为主的情况下,也不排斥中断方式。即,大量控制都用扫描方式,个别急需的处理,允许中断这个扫描运行的程序,转而去处理它。这样,可做到所有的控制都能照顾到,个别应急的也能进行处理。
PLC的实际工作过程比这里讲的还要复杂一些,分析其基本原理,也还有一些理论问题。有关人员如果能把上面介绍的入出变换、物理实现--信息处理、I/O电路--空间、时间关系--扫描方式并辅以中断方式,作为一种思路加以研究,弄清了它,也就好理解PLC是怎样去实现控制的,也就好把握住PLC基本原理的要点了。