可编程控制器的程序设计方法.doc
《可编程控制器的程序设计方法.doc》由会员分享,可在线阅读,更多相关《可编程控制器的程序设计方法.doc(34页珍藏版)》请在沃文网上搜索。
1、第六章 可编程控制器的程序设计方法第一节 梯形图的编程规则PLC是专为工业控制而开发的装置,其主要使用者是工厂广大电气技术人员,为了适应他们的传统习惯和掌握能力,通常PLC不采用微机的编程语言,而常常采用面向控制过程、面向问题的“自然语言”编程。国际电工委员会(IEC)1994年5月公布的IEC1131-3(可编程控制器语言标准)详细地说明了句法、语义和下述5种编程语言:功能表图(sequential function chart)、梯形图(Ladder diagram)、功能块图(Function black diagram)、指令表(Instruction list)、结构文本(struc
2、tured text)。梯形图和功能块图为图形语言,指令表和结构文本为文字语言,功能表图是一种结构块控制流程图。一、梯形图概述梯形图是使用得最多的图形编程语言,被称为PLC的第一编程语言。梯形图与电器控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂电气人员掌握,特别适用于开关量逻辑控制。梯形图常被称为电路或程序,梯形图的设计称为编程。梯形图编程中,用到以下四个基本概念:1软继电器PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对
3、应。该存储单元如果为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。如果该存储单元为“0”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“0”或“OFF”状态。使用中也常将这些“软继电器”称为编程元件。2能流如图5-1所示触点1、2接通时,有一个假想的“概念电流”或“能流”(Power Flow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。能流只能从左向右流动。利用能流这一概念,可以帮助我们更好地理解和分析梯形图。图5-1a中可能有两个方向的能流流过触点5(经过触点1、5、4
4、或经过触点3、5、2),这不符合能流只能从左向右流动的原则,因此应改为如图5-1b所示的梯形图。图5-1 梯形图a)错误的梯形图 b)正确的梯形图3母线梯形图两侧的垂直公共线称为母线(Bus bar),。在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有一个左正右负的直流电源电压,母线之间有“能流”从左向右流动。右母线可以不画出。4梯形图的逻辑解算根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。梯形图中逻辑解算是按从左至右、从上到下的顺序进行的。解算的结果,马上可以被后面的逻辑解算所利用。逻辑解
5、算是根据输入映像寄存器中的值,而不是根据解算瞬时外部输入触点的状态来进行的。二、梯形图的编程规则尽管梯形图与继电器电路图在结构形式、元件符号及逻辑控制功能等方面相类似,但它们又有许多不同之处,梯形图具有自己的编程规则。1)每一逻辑行总是起于左母线,然后是触点的连接,最后终止于线圈或右母线(右母线可以不画出)。注意:左母线与线圈之间一定要有触点,而线圈与右母线之间则不能有任何触点。2)梯形图中的触点可以任意串联或并联,但继电器线圈只能并联而不能串联。3)触点的使用次数不受限制。4)一般情况下,在梯形图中同一线圈只能出现一次。如果在程序中,同一线圈使用了两次或多次,称为“双线圈输出”。对于“双线圈
6、输出”,有些PLC将其视为语法错误,绝对不允许;有些PLC则将前面的输出视为无效,只有最后一次输出有效;而有些PLC,在含有跳转指令或步进指令的梯形图中允许双线圈输出。5)对于不可编程梯形图必须难过等效变换,变成可编程梯形图,例如图5-1所示。6)有几个串联电路相并联时,应将串联触点多的回路放在上方,如图5-2a所示。在有几个并联电路相串联时,应将并联触点多的回路放在左方,如图5-2b所示。这样所编制的程序简洁明了,语句较少。图5-2 梯形图之二另外,在设计梯形图时输入继电器的触点状态最好按输入设备全部为常开进行设计更为合适,不易出错。建议用户尽可能用输入设备的常开触点与PLC输入端连接,如果
7、某些信号只能用常闭输入,可先按输入设备为常开来设计,然后将梯形图中对应的输入继电器触点取反(常开改成常闭、常闭改成常开)。第二节 典型单元的梯形图程序PLC应用程序往往是一些典型的控制环节和基本单元电路的组合,熟练掌握这些典型环节和基本单元电路,可以使程序的设计变得简单。本节主要介绍一些常见的典型单元梯形图程序。一、具有自锁、互锁功能的程序1具有自锁功能的程序利用自身的常开触点使线圈持续保持通电即“ON”状态的功能称为自锁。如图5-3所示的起动、保持和停止程序(简称起保停程序)就是典型的具有自锁功能的梯形图, X1为起动信号和X2为停止信号。图5-3 起保停程序与时序图a)停止优先 b)起动优
8、先图5-3a为停止优先程序,即当X1和X2同时接通,则Y1断开。图5-3b为起动优先程序,即当X1和X2同时接通,则Y1接通。起保停程序也可以用置位(SET)和复位(RST)指令来实现。在实际应用中,起动信号和停止信号可能由多个触点组成的串、并联电路提供。2具有互锁功能的程序利用两个或多个常闭触点来保证线圈不会同时通电的功能成为“互锁”。三相异步电动机的正反转控制电路即为典型的互锁电路,如图5-4所示。其中KMl和KM2分别是控制正转运行和反转运行的交流接触器。图5-4 三相异步电动机的正反转控制电路如图5-5所示为采用PLC控制三相异步电动机正反转的外部I/O接线图和梯形图。实现正反转控制功
9、能的梯形图是由两个起保停的梯形图再加上两者之间的互锁触点构成。图5-5 用PLC控制电动机正反转的I/O接线图和梯形图 应该注意的是虽然在梯形图中已经有了软继电器的互锁触点(X1与X0、Y1与Y0),但在I/O接线图的输出电路中还必须使用KM1、KM2的常闭触点进行硬件互锁。因为PLC软继电器互锁只相差一个扫描周期,而外部硬件接触器触点的断开时间往往大于一个扫描周期,来不及响应,且触点的断开时间一般较闭合时间长。例如Y0虽然断开,可能KM1的触点还未断开,在没有外部硬件互锁的情况下,KM2的触点可能接通,引起主电路短路,因此必须采用软硬件双重互锁。采用了双重互锁,同时也避免因接触器KM1或KM
10、2的主触点熔焊引起电动机主电路短路。二、定时器应用程序1产生脉冲的程序(1)周期可调的脉冲信号发生器如图5-6所示采用定时器T0产生一个周期可调节的连续脉冲。当X0常开触点闭合后,第一次扫描到T0常闭触点时,它是闭合的,于是T0线圈得电,经过1s的延时,T0常闭触点断开。T0常闭触点断开后的下一个扫描周期中,当扫描到T0常闭触点时,因它已断开,使T0线圈失电,T0常闭触点又随之恢复闭合。这样,在下一个扫描周期扫描到T0常闭触点时,又使T0线圈得电,重复以上动作,T0的常开触点连续闭合、断开,就产生了脉宽为一个扫描周期、脉冲周期为1s的连续脉冲。改变T0的设定值,就可改变脉冲周期。图5-6 周期
11、可调的脉冲信号发生器a)梯形图 b)时序图(2)占空比可调的脉冲信号发生器如图5-7所示为采用两个定时器产生连续脉冲信号,脉冲周期为5秒,占空比为3:2(接通时间:断开时间)。接通时间3s,由定时器T1设定,断开时间为2s,由定时器T0设定,用Y0作为连续脉冲输出端。图5-7 占空比可调的脉冲信号发生器a)梯形图 b)时序图(3)顺序脉冲发生器如图5-8a所示为用三个定时器产生一组顺序脉冲的梯形图程序,顺序脉冲波形如图5-8b所示。当X4接通,T40开始延时,同时Y31通电,定时l0s时间到,T40常闭触点断开,Y31断电。T40常开触点闭合,T41开始延时,同时Y32通电,当T41定时15s
12、时间到,Y32断电。T41常开触点闭合,T42开始延时同时Y33通电,T42定时20s时间到,Y33断电。如果X4仍接通,重新开始产生顺序脉冲,直至X4断开。当X4断开时,所有的定时器全部断电,定时器触点复位,输出Y31、Y32及Y33全部断电。图5-8 顺序脉冲发生器a)梯形图 b)时序图2断电延时动作的程序大多数PLC的定时器均为接通延时定时器,即定时器线圈通电后开始延时,待定时时间到,定时器的常开触点闭合、常闭触点断开。在定时器线圈断电时,定时器的触点立刻复位。如图5-9所示为断开延时程序的梯形图和动作时序图。当X13接通时,M0线圈接通并自锁,Y3线圈通电,这时T13由于X13常闭触点
13、断开而没有接通定时;当X13断开时,X13的常闭触点恢复闭合,T13线圈得电,开始定时。经过10s延时后,T13常闭触点断开,使M0复位,Y3线圈断电,从而实现从输入信号X13断开,经10s延时后,输出信号Y3才断开的延时功能。图5-9 断电延时动作的程序a)梯形图 b)时序图3多个定时器组合的延时程序一般PLC的一个定时器的延时时间都较短,如FX系列PLC中一个0.1s定时器的定时范围为0.13276.7s,如果需要延时时间更长的定时器,可采用多个定时器串级使用来实现长时间延时。定时器串级使用时,其总的定时时间为各定时器定时时间之和。如图5-10所示为定时时间为1h的梯形图及时序图,辅助继电
14、器M1用于定时启停控制,采用两个0.1s定时器T14和T15串级使用。当T14开始定时后,经1800s延时,T14的常开触点闭合,使T15再开始定时,又经1800s的延时,T15的常开触点闭合,Y4线圈接通。从X14接通,到Y4输出,其延时时间为1800s+1800s=3600s=1h。图5-10 用定时器串级的长延时程序a)梯形图 b)时序图三、计数器应用程序1应用计数器的延时程序只要提供一个时钟脉冲信号作为计数器的计数输入信号,计数器就可以实现定时功能,时钟脉冲信号的周期与计数器的设定值相乘就是定时时间。时钟脉冲信号,可以由PLC内部特殊继电器产生(如FX系列PLC的M8011、M8012
15、、M8013和M8014等),也可以由连续脉冲发生程序产生,还可以由PLC外部时钟电路产生。如图5-11所示为采用计数器实现延时的程序,由M8012产生周期为0.1s时钟脉冲信号。当启动信号X15闭合时,M2得电并自锁,M8012时钟脉冲加到C0的计数输入端。当C0累计到18000个脉冲时,计数器C0动作,C0常开触点闭合,Y5线圈接通,Y5的触点动作。从X15闭合到Y5动作的延时时间为180000.11800s。延时误差和精度主要由时钟脉冲信号的周期决定,要提高定时精度,就必须用周期更短的时钟脉冲作为计数信号。图5-11 应用一个计数器的延时程序a)梯形图 b)时序图延时程序最大延时时间受计
16、数器的最大计数值和时钟脉冲的周期限制,如图5-11所示计数器C0的最大计数值为32767,所以最大延时时间为:327670.13276.7s。要增大延时时间,可以增大时钟脉冲的周期,但这又使定时精度下降。为获得更长时间的延时,同时又能保证定时精度,可采用两级或多级计数器串级计数。如图5-12所示为采用两级计数器串级计数延时的一个例子。图中由C0构成一个1800s(30min)的定时器,其常开触点每隔30min闭合一个扫描周期。这是因为C0的复位输入端并联了一个C0常开触点,当C0累计到18000个脉冲时,计数器C0动作,C0常开触点闭合,C0复位,C0计数器动作一个扫描周期后又开始计数,使C0
17、输出一个周期为30min、脉宽为一个扫描周期的时钟脉冲。C0的另一个常开触点作为C1的计数输入,当C0常开触点接通一次,C1输入一个计数脉冲,当C1计数脉冲累计到10个时,计数器C1动作,C1常开触点闭合,使Y5线圈接通,Y5触点动作。从X15闭合,到Y5动作,其延时时间为180000.11018000s(5h)。计数器C0和C1串级后,最大的延时时间可达:327670.132767s29824.34 h1242.68天。图5-12 应用两个计数器的延时程序2定时器与计数器组合的延时程序利用定时器与计数器级联组合可以扩大延时时间,如图5-13所示。图中T4形成一个20s的自复位定时器,当X4接
18、通后,T4线圈接通并开始延时,20s后T4常闭触点断开,T4定时器的线圈断开并复位,待下一次扫描时,T4常闭触点才闭合,T4定时器线圈又重新接通并开始延时。所以当X4接通后,T4每过20s其常开触点接通一次,为计数器输入一个脉冲信号,计数器C4计数一次,当C4计数100次时,其常开触点接通Y3线圈。可见从X4接通到Y3动作,延时时间为定时器定时值(20s)和计数器设定值(100)的乘积(2000s)。图中M8002为初始化脉冲,使C4复位。图5-13 定时器与计数器组合的延时程序3计数器级联程序计数器计数值范围的扩展,可以通过多个计数器级联组合的方法来实现。图5-14为两个计数器级联组合扩展的
19、程序。X1每通/断一次,C60计数1次,当X1通/断50次时,C60的常开触点接通,C61计数1次,与此同时C60另一对常开触点使C60复位,重新从零开始对X1的通/断进行计数,每当C60计数50次时,C61计数1次,当C61计数到40次时,X1总计通/断50402000次,C61常开触点闭合,Y31接通。可见本程序计数值为两个计数器计数值的乘积。图5-14 两个计数器级联的程序四、其它典型应用程序1单脉冲程序单脉冲程序如图5-15所示,从给定信号(X0)的上升沿开始产生一个脉宽一定的脉冲信号(Y1)。当X0接通时,M2线圈得电并自锁,M2常开触点闭合,使T1开始定时、Y1线圈得电。定时时间2
20、s到,T1常闭触点断开,使Y1线圈断电。无论输入X0接通的时间长短怎样,输出Y1的脉宽都等于T1的定时时间2s。图5-15 单脉冲程序a)梯形图 b)时序图2分频程序在许多控制场合,需要对信号进行分频。下面以如图5-16所示的二分频程序为例来说明PLC是如何来实现分频的。图5-16 二分频程序a)梯形图 b)时序图图中,Y30产生的脉冲信号是X1脉冲信号的二分频。图5-16b中用了三个辅助继电器M160、M161和M162。当输入X1在t1时刻接通(ON),M160产生脉宽为一个扫描周期的单脉冲,Y30线圈在此之前并未得电,其对应的常开触点处于断开状态,因此执行至第3行程序时,尽管M160得电
21、,但M162仍不得电,M162的常闭触点处于闭合状态。执行至第4行,Y30得电(ON)并自锁。此后,多次循环扫描执行这部分程序,但由于M160仅接通一个扫描周期,M162不可能得电。由于Y30已接通,对应的常开触点闭合,为M162的得电做好了准备。等到t2时刻,输入X1再次接通(ON),M160上再次产生单脉冲。此时在执行第3行时,M162条件满足得电,M162对应的常闭触点断开。执行第4行程序时,Y30线圈失电(OFF)。之后虽然X1继续存在,由于M160是单脉冲信号,虽多次扫描执行第4行程序,Y30也不可能得电。在t3时刻,X1第三次ON,M160上又产生单脉冲,输出Y30再次接通(ON)
22、。t4时刻,Y30再次失电(OFF),循环往复。这样Y30正好是X1脉冲信号的二分频。由于每当出现X1(控制信号)时就将Y30的状态翻转(ON/0FF/ON/0FF),这种逻辑关系也可用作触发器。除了以上介绍的几种基本程序外,还有很多这样的程序不再一一列举,它们都是组成较复杂的PLC应用程序的基本环节。第三节 PLC程序的经验设计法一、概述在PLC发展的初期,沿用了设计继电器电路图的方法来设计梯形图程序,即在已有的些典型梯形图的基础上,根据被控对象对控制的要求,不断地修改和完善梯形图。有时需要多次反复地调试和修改梯形图,不断地增加中间编程元件和触点,最后才能得到一个较为满意的结果。这种方法没有
23、普遍的规律可以遵循,设计所用的时间、设计的质量与编程者的经验有很大的关系,所以有人把这种设计方法称为经验设计法。它可以用于逻辑关系较简单的梯形图程序设计。用经验设计法设计PLC程序时大致可以按下面几步来进行:分析控制要求、选择控制原则;设计主令元件和检测元件,确定输入输出设备;设计执行元件的控制程序;检查修改和完善程序。下面通过例子来介绍经验设计法。二、设计举例1送料小车自动控制的梯形图程序设计(1)被控对象对控制的要求 如图5-17a所示送料小车在限位开关X4处装料,20s后装料结束,开始右行,碰到X3后停下来卸料,25s后左行,碰到X4后又停下来装料,这样不停地循环工作,直到按下停止按钮X
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程控制器 程序设计 方法