PLC程序设计的方法通常有解析法(逻辑设计法)、翻译法(经验设计法)和顺序功能图设计法(逐步探索法)等。
1.解析法(逻辑设计法)
解析法是较为简单的一种编程方法,它是以布尔代数为理论基础,列出检测元件、中间记忆元件和执行元件的逻辑表达式,再转换成梯形图。用它设计出的梯形图简单,占用的元件内存少,这种方法适合于逻辑关系较为简单、明确的控制对象,例如一些机床、简单加工装置等。当系统较为复杂,难以用列表达式表示清楚各元件的状态变化时,设计变得复杂难以掌握,设计周期也较长。用解析法进行PLC程序设计的步骤如下:
1)用不同的逻辑变量来表示各输入/输出信号,并设定对应输入/输出信号各种状态时的逻辑值;
2)根据控制要求,列出状态表或画出时序图;
3)由状态表或时序图写出相应的逻辑函数,并进行化简;
4)根据化简后的逻辑函数画出梯形图。
【例6-1】 解析法举例。
某矿井通风系统共有4台通风机,要求在以下几种运行状态下发出不同的信号。
1)3台及3台以上开机时,绿灯常亮;
2)2台开机时,绿灯以10Hz的频率闪烁;
3)1台开机时,红灯以10Hz的频率闪烁;
4)全部停机时,红灯常亮,蜂鸣器尖叫。
(1)I/O分配
设4台通风机的编号为1#,2#,3#,4#,对应的输入信号为X0,X1,X2,X3,输出信号为红灯Y0,绿灯Y1,蜂鸣器Y2,作I/O分配如表6-1所示。
表6-1 【例6-1】的I/O分配表
(2)作真值表和逻辑表达式,转换成梯形图程序
设定对应输入/输出信号各种状态时的逻辑值如下:通风机开机为“1”,停为“0”;灯亮为“1”,灯灭为“0”;蜂鸣器叫为“1”,不叫为“0”。
1)红灯常亮和蜂鸣器叫的程序设计。
红灯Y0常亮、蜂鸣器Y2叫的前提是4台通风机X0~X3都停机,据此可列出逻辑真值表,再根据真值表求出输入/输出逻辑表达式,然后转换成梯形图程序,设计过程可用图6-11表示。
图6-11 红灯常亮的程序设计
2)绿灯常亮的程序设计。
绿灯Y1常亮的条件是3台或3台以上通风机开机,将所有的组合情况排列出来可得到真值表,再根据真值表转换成逻辑表达式,将化简后的逻辑表达式转换成梯形图,整个设计过程可以用图6-12表示。
3)红灯闪烁的程序设计。
红灯闪烁的条件是只要1台通风机开机就行,因此有4种组合情况。要使红灯以10Hz的频率闪烁,可以借助0.1s的时钟脉冲继电器R901A,将真值表化成逻辑表达式,再将化简后的逻辑表达式转换成梯形图,整个设计过程参见图6-13。
4)绿灯闪烁的程序设计。
当2台通风机开机时,要求绿灯闪烁,因此绿灯闪烁的组合情况最复杂,有6种。列出其逻辑真值表,再将真值表转化成逻辑表达式并化简,同样欲使绿灯以10Hz的频率闪烁,可借助0.1s的时钟脉冲继电器R901A,将化简后的逻辑表达式转换成梯形图,整个绿灯闪烁的程序设计过程参见图6-14。
图6-12 绿灯常亮的程序设计
图6-13 红灯闪烁的程序设计
(3)整合
以上只是题目4中间的小程序,虽然采用逻辑法已经画出各自的PLC程序,但还不是完整的PLC程序,即使能执行也不能符合本题题意,达不到控制的目的,因此需要将这4个小程序整合成一个整体。整合后的PLC程序如图6-15所示。
2.翻译法
翻译法是一种依据继电器控制线路原理图,用PLC对应符号翻译成梯形图的方法。图6-16是电动机起停自保持电路的电气控制梯形图和PLC梯形图。
从图中不难看出,二者基本是一致的,只是具体表达上有一定的区别。对于广大熟悉继电器控制技术的电气人员来说,在掌握继电器控制技术的基础上,画出PLC梯形图,再进一步优化及完善,十分方便快捷、形象直观,翻译法又称为经验设计法,一般多用于机床线路的PLC改造。
图6-14 绿灯闪烁的程序设计
图6-15 整合后的PLC程序梯形图
图6-16 电气控制图翻译成PLC梯形图
从上述可知,要使用翻译法编程,由继电器控制图来转换PLC梯形图是基础,除要熟悉继电器控制技术外,搞清梯形图与继电器控制图的异同是非常必要的,现将它们比较如下:
1)梯形图与继电器控制图的电路形式和符号基本相同,相同电路的输入和输出信号也基本相同,但是它们的控制实现方式是不同的。
2)继电器控制系统中的继电器触点在PLC中是存储器中的“数”,继电器的触点数量有限,设计时需要合理分配使用继电器的触点,而PLC中存储器的“数”可以反复使用,因为控制中只使用“数”的状态“1”或“0”。
3)继电器控制系统中梯形图就是电线连接图,施工费力,更改困难,而PLC中的梯形图是利用计算机制作的,更改简单,调试方便。
继电器控制系统中继电器按照触点的动作顺序和时间延迟,逐个动作,而PLC是按照扫描方式工作,首先采集输入信号,然后对所有梯形图进行计算,当计算完成后,将计算结果输出,由于PLC的扫描速度快,输入信号到输出信号的改变似乎是在一瞬间完成的。
梯形图左右两侧的母线对继电器控制系统来说则是系统中继电器的电源线,而在PLC中这两根线已经失去了意义,只是为了维持梯形图的形状。梯形图按行从上至下编写,每一行从左向右顺序编写。在继电器控制系统中,控制电路的动作顺序与梯形图编写的顺序无关,而PLC中对梯形图的执行顺序与梯形图编写的顺序一致,因为PLC视梯形图为程序。在分析梯形图中的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线之间有一个左正右负的直流电源电压。
梯形图的最右侧必须连接输出元素,在继电器控制系统中,梯形图的最右侧是各种继电器的线圈,而在PLC中,在梯形图最右侧可以是表示线圈的存储器“数”,还可以是计数器、定时器等PLC上的输出元素或指令。
梯形图中的触点可以串联和并联,输出元素在PLC中只允许并联,不允许串联,而在继电器控制系统中,继电器线圈是可以串联使用的(只要所加电压合适)。
在PLC中的梯形图必须有结束标志,松下电工PLC的结束标志是ED。
如果在PLC外部采用了常闭触点,当PLC通电运行程序时,由于常闭的触点已经使PLC的输入端子构成了回路,所以PLC内部对应的输入继电器的状态已经为“ON”。为了保证控制逻辑的正确性,必须在PLC的程序中使用常开触点,因为此时常开触点的状态也对应为“ON”,而其常闭触点的状态对应为“OFF”,PLC的执行结果是要根据PLC程序和外部输入信号的状态共同决定的,PLC外部使用常闭触点,PLC内部使用常开触点,正好符合了“对按钮或开关不施加任何动作,则该点对应的操作结果为使信号通过”。
【例6-2】 翻译法举例。
电动机自耦减压起动继电器控制原理如图6-17所示。
起动时,按下控制按钮SB0,KM3接通并自保,触点KM3的闭合,使得KM2,KT通电,经过一定的延时,KA1接通,KM3,KM2断开,KM1通电,电动机正常运转,从而完成自耦减压起动。当按下停止按钮SB1时,KM1断开,电动机停止运转。图中L1为运行指示灯,L2为停止指示灯,L3为故障指示灯。当系统发生故障,热保护动作时,FR闭合,KA2接通并自保,L3指示灯接通报警,同时断开KM1,电动机停止运转。
(1)I/O分配
根据前面讲述的确定输入/输出点数的原则,确定输入/输出点数并进行I/O及其他继电器的地址分,如表6-2所列。
图6-17 电动机自耦减压起动继电器控制原理图
表6-2 【例6-2】中的I/O分配表
(2)翻译
用上述确定的I/O及其他继电器对图6-17电路一对一替换“翻译”,翻译后的电路图如图6-18所示。
(3)优化
PLC梯形图和继电器电路图有着本质的区别。继电器是硬件,只要接通电源,整个系统处于带电状态,继电器的动作顺序同它在电路图上的位置和顺序无关,称为并行工作,而PLC是一种软件,串行工作,即PLC的CPU同一时刻只能处理一条指令。因此通过一对一替换后的梯形图并不一定是合理、正确的梯形图,需进一步优化。按照PLC编程原则,图6-18梯形图中存在以下问题:
1)触点处于垂直分支上,见图中标识1的X1和R1。
2)输出继电器Y2后仍有触点,没有处于逻辑行的最右端,见图中标识2。
3)存在输入/输出后的滞后现象。梯形图中各输出指示灯,第一次进入循环扫描,虽然起动开关已接通,但第一个扫描到的是触点Y0,由于这时Y0为非动作状态,所以扫描过程结束,进入输出刷新阶段,起动指示灯不亮,而停止指示灯亮,直至第二次循环扫描,起动指示灯才亮,出现了输入/输出的滞后现象。针对上述问题,逐步优化解决如下:
首先,将位于垂直分支上的触点X1,R1按照编程原则改写,并注意它们的控制范围。
其次,将输出继电器Y2改写至右母线的最右端。
再次,为解决输入/输出的滞后现象,改变程序指令的执行顺序。
最后,得到优化后的梯形图程序如图6-19所示。
图6-18 一对一替换梯形图
图6-19 优化后梯形图
一般在转化时,还应分析解决PLC和继电器因工作原理不同产生的不良影响。这一点应在实际生产中具体情况具体分析,在图6-18中,电动机自耦减压起动控制过程正是利用了继电器通电后,常闭触点断开,常开触点后接通这一特性达到一定的控制目的,但若为PLC控制,软继电器没有这一特性,使得系统较易发生短路,可靠性降低,因此在梯形图程序中要进行处理,可用常开触点接通一个短延时定时器,再用定时器的常开触点接通控制对象,以实现常闭和常开动作的时间差,如图6-19中的定时器T1。该PLC系统的I/O接线如图6-20所示。
图6-20 硬件接线图
3.顺序控制设计法(逐渐探索法)
所谓顺序控制,就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动、有秩序地进行操作。使用顺序控制设计法时首先要根据系统的工艺过程,画出顺序功能图,然后根据顺序功能图画出梯形图。根据工艺流程画出顺序功能图是顺序控制设计法的关键。
(1)顺序功能图的由来和组成
顺序功能图是描述控制系统的控制过程、功能和特性的一种图形,顺序功能图并不涉及所描述的控制功能的具体技术,它是一种通用的技术语言,可以供进一步设计和不同的专业人员之间进行技术交流。
在法国的TE公司研制的Grafcet的基础上,1978年法国公布了用于工业过程文件编制的法国标准Afcet,第二年公布了功能图(FunctionChart)的国家标准Grafcet,它提供了所谓的步(Step)和转换(Transition)这两种简单的结构,这样可以将系统划分简单的单元,并定义出这些单元之间的顺序关系。
1994年5月公布的IEC可编程序控制器标准IEC1131-3中,顺序功能图被确定为可编程序控制器位居首位的编程语言,我国在1986年颁布了顺序功能图的国家标准GB6988.6—1986。顺序功能图主要由步、有向连线、转换、转换条件和动作(或命令)组成。
1)步。顺序控制设计法最基本的思想是将系统的一个工作周期划分为若干个相连的阶段,这些阶段称为“步(Step)”,并用编程元件(例如内部存储器R)来代表各步。步是根据输出量的“状态”变化来划分的,在任何一步之内,各输出量的ON/OFF状态不变,但是相邻两步输出量的状态是不同的。步的这种划分使代表各步的编程元件的状态与各输出量的状态之间有着极为简单的逻辑关系。
例如图6-21a是某组合机床动力头的进给运动,根据控制动力头运动的3个电磁阀输出量0/1状态的变化,一个工作周期可分为等待起动停在左边时的初始阶段,按下起动按钮后动力头向右快速进给(简称快进)阶段,碰到限位开关X1后变为工作进给(简称工进)阶段,碰到X2后快速退回(简称快退)4个阶段,即一个机床动力头工作周期可以分为初始、快进、工进和快退4步。用矩形方框表示步,在方框中用数字或者用代表该步的编程元件的地址表示该步的编号,画出描述该机床动力头进给运动的顺序功能图如图6-21b所示。
图6-21 某机床动力头进给顺序功能图
a)动力头的进给运动示意图 b)顺序功能图
与系统的初始状态相对应的步称为初始步,初始状态一般是系统等待起动命令的相对静止状态。初始步用双线方框表示,第一个顺序功能图至少应该有一个初始步。
2)与步对应的动作或命令。可以将一个控制系统划分为被控系统和施控系统,例如在数控车床系统中,数控装置是施控系统,而车床是被控系统。对于被控系统,在某一步中要完成某些动作;对于施控系统,在某一步中则要向被控系统发出某些命令。为了叙述方便,下面将命令或动作统称为动作,并用矩形框中的文字或符号表示,该矩形框应与相应步的符号相连。
如果某一步有几个动作,可以用图6-22中的两种画法表示,但是并不隐含这些动作之间的任何顺序。
图6-22 步动作的画法
当系统正处于某一步所在的阶段时,该步处于活动状态,称该步为活动步。当处于活动状态时,相应的动作被执行,处于不活动状态时,相应的非存储型动作被停止执行。
3)有向连线。在顺序功能图中,随着时间的推移和转换条件的实现,步的活动状态将会发生进展,这种进展按有向连线规定的路线和方向进行,在画顺序功能图时,将代表各步的方框按它们成为活动步的先后次序顺序排列,并用有向连线将它们连接起来。步的活动状态通常的进展方向是从上到下,或从左到右,在这两个方向上的有向连线的箭头可以省略。如果不是上述的方向,应在有向连线上用箭头注明进展方向。在可以省略箭头的有向连线上,为了更易于理解也可以加箭头。
如果在画图时有向连线必须中断(例如在复杂的图中,或用几个图来表示一个顺序功能图时),应在有向连线中断之处标明下一步的标号和所在的页数,如步50,5页。
4)转换。转换时用有向连线上与有向连线垂直的短画线来表示,转换将相邻两步隔开,步的活动状态的进展是由转换的实现来完成的,并与控制过程的发展相对应。
5)转换条件。使系统由当前步进入下一步的信号称为转换条件,顺序控制设计法用转换条件控制代表各步的编程元件,让它们的状态按一定的顺序变化,然后用代表各步的编程元件去控制可编程序控制器的各输出位。
转换条件可以是外部的输入信号,如按钮、指令开关、限位开关的接通/断开等,也可以是可编程序控制器内部产生的信号,如定时器、常开触点的接通等,转换条件还可能是若干个信号的与、或、非逻辑组合。
转换条件可用文字语言、布尔代数表达式或图形符号标注在表示转换的短线旁边,使用最多的是布尔代数表达式。
(2)顺序功能图的基本结构
1)单向结构。单向结构由一系列相继激活的步组成,每一步的后面仅有一个转换,每一个转换的后面只有一个步,如图6-23a所示。
2)选择结构。选择结构的开始称为分支,转换符号只能标在水平连线之下,如图6-23b所示。如果步3是活动步,并且转换条件h=1,则发生由步3→步4的进展。如果步3是活动步,并且k=1,则发生由步3→步6的进展。如果选择条件k和h同时为ON时,将优先选择h对应的结构。选择有双向选择和多向选择,一般只允许同时选择一个方向,选择结构的结束称为合并,当满足合并条件时,则退出选择结构,进入步8。
(www.xing528.com)
图6-23 顺序功能图基本结构
a)单向结构 b)选择分支结构 c)并行分支结构
3)并行结构。并行结构的开始称为分支,当转换的实现导致几个结构同时激活时,这些结构称为并行结构,如图6-23c所示。当步3是活动的,并且转换条件e=1,4和6这两步同时变为活动步,同时步3变为不活动步。为了强调转换的同步实现,水平连线用双线表示。并行结构的结束称为合并,在表示同步的水平双线之下,只允许有一个转换符号。当直接在双线下的所有前级步(步5、步7)都处于活动状态,并且转换条件i=1,才会发生步5、步7到步8的进展。
4)子步(MicroStep)。在顺序功能图中,某一步可以包含一系列子步和转换,通常这些结构表示系统的一个完整的子功能,子步的使用使系统的设计者在总体设计时容易抓住系统的主要矛盾,用更加简洁的方式表示系统的整体功能和概貌,而不是一开始就陷入某些细节之中。设计者可以从最简单的对整个系统的全面描述开始,然后画出更详细的顺序功能图。子步中还可以包含更详细的子步,这种设计方法的逻辑性很强,可以减少设计中的错误,缩短总体设计和查错需要的时间,参见图6-24。
(3)顺序功能图中转换实现的基本规则
1)转换实现的条件。在顺序功能图中,步的活动状态的进展是通过转换的实现来完成的。转换实现必须同时满足两个条件:
①该转换所有的前级步都是活动步。
图6-24 子步
②相应的转换条件得到满足。
如果转换的前级步或后续步不止一个,转换的实现则称为同步实现,为了强调同步实现,有向连线的水平部分用双线表示。
2)转换实现应完成的操作。转换实现时应完成以下两个操作:
①使所有由有向连线与相应转换符号相连的后续步都变为活动步。
②使所有由有向连线与相应转换符号相连的前级步都变为不活动步。
以上规则可以用于任意结构中的转换,其区别如下:在单向结构中,一个转换仅有一个前级步和一个后续步;在并行结构的分支处,转换有几个后续步,在转换实现时应同时将它们对应的编程元件全部置位,在并行结构的合并处,转换有几个前级步,它们均为活动步时才有可能实现转换,在转换实现时应将它们对应的编程元件全部复位;在选择结构的分支与合并处,一个转换实际上只有一个前级步和一个后续步,但是一个步可能有多个前级步或多个后续步。
转换实现的基本规则是根据顺序功能图设计梯形图的基础,它适用于顺序功能图中的各种基本结构和各种顺序控制梯形图的编程方法。
(4)绘制顺序功能图时的注意事项
下面是针对绘制顺序功能图时常见的错误所提出的注意事项。
1)两个步不能直接相连,必须用一个转换将它们隔开。
2)两个转换也不能直接相连,必须用一个步将它们隔开。
3)顺序功能图中的初始步一般对应于系统等待启动的初始状态,这一步可以没有什么输出处于ON状态,因此有的初学者在画顺序功能图时很容易遗漏这一步。初始步是必不可少的,一方面该步与它们的相邻步相比,从总体上说输出变量的状态各不相同,另一方面如果没有该步,无法表示初始状态,系统也无法返回停止状态。
4)自动控制系统应能多次重复执行同一工艺过程,因此在顺序功能图中一般应有由步和有向连线组成的闭环,即在完成一次工艺过程的全部操作之后,应从最后一步返回初始步,系统停留在初始状态(单周期操作),在连续循环工作方式时,将从最后一步返回下一工作周期开始运行的第一步。
5)在顺序功能图中,只有当某一步的前级步是活动步时,该步才有可能变成活动步。如果用没有断电保持功能的编程元件代表各步,进入RUN工作方式时,它们均处于OFF状态,必须用初始化脉冲如R9013等作为转换条件,将初始步预置为活动步,否则因顺序功能图中没有活动步,系统将无法工作。如果系统有自动、手动两种工作方式,顺序功能图是用来描述自动工作过程的,这时还应在系统由手动工作方式进入自动工作方式时,用一个适当的信号将初始步置为活动步。
由于顺序控制设计法是以“步”而论的,即以“步”为核心,一步一步设计下去,一步一步修改调试,直至完成整个程序的设计,所以,顺序控制设计法通常又叫做“逐步探索法”。由于PLC内部继电器数量大,其触点在内存允许的情况下可重复使用,具有存储数量大、执行快等特点,初学者采用此法可缩短设计周期,有经验的工程师,也会提高设计的效率,程序的调试,修改和阅读也很方便。因此顺序控制设计法是一种先进的设计方法,对于初学者来说,建议采用“逐步探索法”。
(5)顺序控制设计法举例
【例6-3】 液体混合控制。
液体混合装置如图6-25所示,上限位、下限位和中限位液位传感器被液体淹没时为1状态,阀A、阀B、阀C为电磁阀,线圈通电时打开,线圈断电时关闭。开始时容器是空的,各阀门均关闭,各传感器均为0状态。按下启动按钮后,打开阀A、液体A注入容器,中限位开关变为ON时,关闭阀A,打开阀B,液体B流入容器。液面升到上限位开关时,关闭阀B,电动机M开始运行,搅拌液体,60s后停止搅拌,打开阀C,放出混合液。当液面降至下限位开关之后再过5s,容器放空,关闭阀C,打开阀A,又开始下一周期的操作。按下停止按钮,当前工作周期中的操作结束后,才停止操作(返回并停在初始状态)。
图6-25 液体混合系统
第1步:I/O分配。
本例I/O分配如表6-3所示。
表6-3 【例6-3】的I/O分配表
第2步:依据题意画顺序功能图。
本题顺序功能图可以分解成6步,注意下一步一般要清除上一步动作,在液体注入容器时,下限位X0先“ON”,到中限位X1“ON”时,才开始打开阀门B,注入液体B;在放出混合液时,下限位X0由“ON”变成“OFF”,5s后全部放空,根据是否按下停止按钮X4,决定是否进入下一个工作周期。画出的顺序功能图见图6-26。
第3步:依据顺序功能图编写出PLC梯形图程序,如图6-27所示。
在设计较为复杂的程序时,为了保证程序逻辑的正确以及程序的易读性,常将一个控制过程分为若干个阶段(过程),在每一个阶段均设立一个状态控制标志,每个状态用一个PLC内部继电器R表示,这样的继电器称为该状态的特征继电器,简称状态继电器。每个状态与一个转移条件相对应,为了保证状态的转移严格按照预定的顺序逐步展开,不发生错误转移,当系统处于某状态工作的情况下,一旦该状态之后的转移条件满足,即启动下一个状态,同时关断本状态。按照控制系统每个阶段的状态变化去分析设计梯形图程序,可使程序更为逻辑清晰、结构完整、避免遗漏、减少错误,所以,顺序功能图法又叫状态设计法。
在控制过程中,任何一个输出的控制信号(包括中间信号)的产生,都可以归结为一个置位或复位的逻辑关系,各种控制的条件(即输入信号,有时也包括中间信号)都能被包含在这种逻辑关系中,有的将这种逻辑关系称为基本控制逻辑。因此,当使用状态继电器来编程时,常使用SET置位命令和RST复位命令。用SET指令来设定某一个阶段的标志状态,当这一阶段结束时,利用SET指令设定下个状态的标志,同时使用RST指令复位上一个阶段的状态标志。在程序结束需要循环时,当最后的一个阶段结束时,重新启动需要循环的阶段标志,这样的程序清晰明了,易读易懂。
注意,在编程时应使下一个状态的启动在前,而本状态的关断在后,否则状态转移不能进行。
图6-26 液体混合系统顺序功能图
【例6-4】 交通灯控制。
十字路口交通灯控制如图6-28所示。
图6-27 液体混合系统梯形图
图6-28 交通灯控制示意图
当合上控制开关K后,东西方向机动车道绿灯首先亮8s后灭,然后黄灯亮2s后灭,接着红灯亮10s后灭,再绿灯亮循环,与此同时,东西方向人行道绿灯亮10s后,红灯亮10s,如此不断循环;对应东西方向机动车道绿灯和黄灯亮的时候,南北方向机动车道红灯亮,然后绿灯亮8s后灭,黄灯亮2s后灭,接着红灯亮10s循环,与此同时,南北方向人行道红灯亮10s后,绿灯亮10s,如此不断循环。断开控制开关后,所有的灯都熄灭。
第1步:I/O分配。
输入仅有1个控制开关信号,输出较为复杂,其中在机动车道上,东西方向有绿灯、黄灯、红灯各3个,南北方向有绿灯、黄灯、红灯各3个;在人行横道上,东西方向、南北方向各有红、绿灯各2个。将它们I/O分配列表如表6-4所示。
表6-4 【例6-4】的I/O分配表
第2步:设立状态继电器。
为了编程方便,将整个控制过程分为东西方向和南北方向2个主分支,每个分支又分机动车道和人行横道2个小分支。
在机动车道小分支上设立绿灯亮、黄灯亮、红灯亮3个阶段的3个状态继电器为R1,R2,R3,对应东西方向,南北方向绿灯亮、黄灯亮、红灯亮3个阶段设立3个状态继电器R4,R5,R6。
在人行横道小分支上设立东西方向绿灯亮、红灯亮2个阶段的2个状态继电器为R21,R23,对应东西方向,南北方向绿灯亮、红灯亮2个阶段设立2状态继电器R24,R26。因此各个阶段的状态继电器表具体如表6-5所示。
表6-5 状态继电器表
注意如果东西方向绿灯亮,则在南北方向表现为红灯亮,而且人行横道没有黄灯,因此各状态继电器在运行时对应情况如表6-6所列。
表6-6 状态继电器运行情况表
很显然,这是一个并行分支,进入并行分支的条件是X0=ON↑,当X0=ON↑时,系统同时进入4个分支(东西、南北各2个分支)。并行分支汇合的条件是X0=OFF,当满足汇合条件时,同时退出系统。根据控制要求,每个标志的转移过程如图6-30所示。
根据图6-29,并依据以上各表,画出交通灯控制的状态流程图,如图6-30所示。
图6-29 标志转移过程
在图6-30状态流程图中,共用到10个定时器,结合题意,将它们列成表6-7。
图6-30 交通灯控制顺序功能图
表6-7 【例6-4】所用定时器列表
现在可以设计出满足该控制要求的PLC程序了。设计时需要注意,当某个状态继电器的转移条件成立时,即进入该状态,触发该状态继电器置位,同时将上一个(前级)状态继电器复位。所设计的程序见图6-31。
松下电工公司的PLC指令系统中,有一组步进指令,步进指令的结构(如前文)和顺序功能图的基本结构相似。利用步进指令,将控制系统的工作周期分成若干个过程,依据触发条件进入新的过程并关闭旧的过程,用CSTP关闭指定的过程,用STPE结束整个过程。这样设计出来的程序同样逻辑清晰、结构完整,而且方便快速,便于调试。
【例6-5】机械手控制。
机械手是典型的机电一体化设备,在许多自动化生产线上都采用它来代替手工操作。如图6-32所示是一台工件传送机械手的动作示意图,其作用是将工件从A位传送到B位,动作方式有上升、下降、右移、左移、抓紧和放松。机械手上装有5个限位开关(SQ1~SQ5),控制对应工步的结束,传送带上设有一个光电开关(SQ6),检测工件是否到位。假设机械手的原始位置在B处,从B处到A处取到工件后放在B处,机械手放松时延迟2s,I/O分配如表6-8所示,试设计机械手取物的PLC程序。
图6-31 交通灯控制程序
表6-8 【例6-5】I/O分配表
图6-32 机械手工作情况示意图
图6-33 机械手控制流程图
解法1:利用步进指令。
利用步进指令,将机械手整个操作分解成9个过程,画出其控制流程图如图6-33所示,并注意到在一个工作周期中,有2次上升过程和2次下降过程,编写的PLC程序如图6-34所示。
解法2:利用状态继电器。
设置9个状态继电器,见图6-33机械手控制流程图左边点画线框内对应9个过程的状态继电器R1~R9,利用状态继电器方法,设计机械手取物的PLC程序如图6-34和图6-35所示。
图6-34 机械手梯形图程序(利用步进指令)
解法3:利用移位寄存器。
由于移位寄存器具有保持顺序状态和通过相关继电器触头去控制输出的能力,因而,在某些控制问题中,采用移位寄存器指令比采用“与”、“或”、“非”构成的等效逻辑网络要简单得多。
这种设计方法,主要是利用移位寄存器作为控制系统的状态转换控制器,从分析控制系统的输入信号状态入手,从而得到系统的状态转换图,这是设计控制程序的关键。本例中,利用PLC的内部继电器R0来记忆系统的工作状态,R1作为移位脉冲,通过赋值指令设置机械手的初始状态,WR1的第0位到第8位(R10~R18)代表各工步的状态,用定时器T0来实现放物品延时2s的控制。
使用移位寄存器进行PLC程序设计,其具体设置方法如下。
1)位数设置:移位寄存器的位数应设置成比状态转换表或状态流程图中的状态数多1位(如本例共有9个状态,除设置对应的9个状态继电器的位数R10~R18外,还多了1位是R19),从移位寄存器的首位到倒数第二位,依次分别与状态流程图的各状态对应。移位寄存器的每一位成为与之对应的状态特征继电器。
图6-35 机械手控制梯形图(利用状态继电器)
2)复位信号:移位寄存器的复位信号由移位寄存器的最末位担任(在本例中为R19)。
3)移位信号:移位寄存器的移位信号,由所有的有效状态转换信号并联而成。有效状态转换信号是由某状态继电器的常开触点与该状态之后的状态转换信号串联组成。在本例中,移位信号是R1,但R1是由9个有效状态转换信号并联而成。而这9个状态转换信号则是由R10~R18的常开触点及各状态之后的状态转换信号X5~T0串联组成。
4)数据输入信号:每个工作循环中,只能有1个状态继电器接通,因此移位寄存器的数据输入端在一个工作周期中只能有1个输入脉冲。这个“1”在移位脉冲作用下依次从首位向最末位移动。因此,可以用从状态“0”到最后状态的所有状态继电器的常闭触点串联,作为移位寄存器的数据输入信号,但最简单的是用R9011常开继电器作数据输入信号。利用移位寄存器编写的PLC程序见图6-36。移位寄存器的工作情况如下:
①当PLC启动时,各状态继电器均未启动;
②当按下启动按钮发出工作循环启动信号后,移位寄存器的首位置“1”;
③在移位信号R1触发移位后,使首位的数据“1”移动到第二位;
④此后,直至一个工作周期的结束,由于数据输入信号R9011一直为“0”,因此,一个工作循环中总是只有一个状态继电器为“1”;
⑤当最后一个状态继电器R19启动时,移位寄存器末位状态为“1”,使移位寄存器复位,即让所有状态继电器全部复位;
图6-36 机械手梯形图程序(利用移位寄存器)
⑥尔后传送指令又允许移位寄存器首位置“1”,重新准备下一个工作循环的开始,如此构成一个PLC控制系统。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。