PLC又叫可编程逻辑控制器,可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统。
它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
一、什么是PLC编程:
PLC编程是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于使工业控制系统形成一个整体,易于扩充其功能的原则设计。
随着微处理器、计算机和数字通信技术的飞速发展,计算机控制已扩展到了几乎所有的工业领域。现代社会要求制造业对市场需求作出迅速的反应,生产出小批量、多品种、多规格、低成本和高质量的产品,为了满足这一要求,生产设备和自动生产线的控制系统必须具有极高的可靠性和灵活性,PLC编程正是顺应这一要求出现的,它是以微处理器为基础的通用工业控制装置。
二、plc编程的工作原理:
PLC是采用“顺序扫描,不断循环”的方式进行工作的。即在PLC运行时,CPU根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束,然后重新返回第一条指令,开始下一轮新的扫描,在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。
PLC的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。
PLC在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入,随即关闭输入端口,进入程序执行阶段。
PLC在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。
输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶间管)输出,驱动相应输出设备工作。
三、PLC编程的语言介绍:
PLC的用户程序,是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制规范,按照实际需要使用的功能来设计的。只要用户能够掌握某种标准编程语言,就能够使用PLC在控制系统中,实现各种自动化控制功能。
根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3),PLC有五种标准编程语言:梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、结构文本化语言(ST)。
(1)梯形图语言
梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。
梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。 梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。
(2)指令表语言
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。图3就是与图2PLC梯形图对应的指令表。
指令表编程语言的特点是:采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。其特点与梯形图语言基本一致。
(3)功能模块图语言
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。
功能模块图程序设计语言的特点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。
(4)顺序功能流程图语言
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。
顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。
(5)结构文本化语言
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。
四、PLC的工作原理:
当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
(1)输入采样在输入采样阶段,可编程逻辑控制器以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应的单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
(2)用户程序执行在用户程序执行阶段,可编程逻辑控制器总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
在程序执行的过程中如果使用立即I/O指令则可以直接存取I/O点。即使用I/O指令的话,输入过程映像寄存器的值不会被更新,程序直接从I/O模块取值,输出过程映像寄存器会被立即更新,这跟立即输入有些区别。
(3)输出刷新当扫描用户程序结束后,可编程逻辑控制器就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是可编程逻辑控制器的真正输出。
总结:根据上述过程的描述,可以对PLC工作过程的特点小结如下:
①PLC采用集中采样、集中输出的工作方式,这种方式减少了外界干扰的影响。
②PLC的工作过程是循环扫描的过程,循环扫描时间的长短取决于指令执行速度、用户程序的长度等因素。
③输出对输入的影响有滞后现象。PLC采用集中采样、集中输出的工作方式,当采样阶段结束后,输入状态的变化将要等到下一个采样周期才能被接收,因此这个滞后时间的长短又主要取决于循环周期的长短。此外,影响滞后时间的因素还有输入滤波时间、输出电路的滞后时间等。
④输出映像寄存器的内容取决于用户程序扫描执行的结果。
⑤输出锁存器的内容由上一次输出刷新期间输出映像寄存器中的数据决定。
⑥PLC当前实际的输出状态由输出锁存器的内容决定。
四、PLC的基本结构:
可编程逻辑控制器实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同,基本构成详细描述如下:
(1)电源电源用于将交流电转换成PLC内部所需的直流电,目前大部分PLC采用开关式稳压电源供电。
(2)中央处理单元中央处理器(CPU)是PLC的控制中枢,也是PLC的核心部件,其性能决定了PLC的性能。
中央处理器由控制器、运算器和寄存器组成,这些电路都集中在一块芯片上,通过地址总线、控制总线与存储器的输入/输出接口电路相连。中央处理器的作用是处理和运行用户程序,进行逻辑和数学运算,控制整个系统使之协调。
(3)存储器存储器是具有记忆功能的半导体电路,它的作用是存放系统程序、用户程序、逻辑变量和其他一些信息。其中系统程序是控制PLC实现各种功能的程序,由PLC生产厂家编写,并固化到只读存储器(ROM)中,用户不能访问。
(4)输入单元输入单元是PLC与被控设备相连的输入接口,是信号进入PLC的桥梁,它的作用是接收主令元件、检测元件传来的信号。输入的类型有直流输入、交流输入、交直流输入。
(5)输出单元输出单元也是PLC与被控设备之间的连接部件,它的作用是把PLC的输出信号传送给被控设备,即将中央处理器送出的弱电信号转换成电平信号,驱动被控设备的执行元件。输出的类型有继电器输出、晶体管输出、晶闸门输出。
PLC除上述几部分外,根据机型的不同还有多种外部设备,其作用是帮助编程、实现监控以及网络通信。常用的外部设备有编程器、打印机、盒式磁带录音机、计算机等。