1
PLC编程实用指南
1.6.4.5 2.4.5  同步时序逻辑综合实例
2.4.5 同步时序逻辑综合实例

1.格兰码计数器设计

设计过程如下:

(1)信号分析。有效信号用脉冲信号pA,它是本控制的主令信号,用以驱动计数。

(2)状态分析。基本状态(用G0、G1、G2取值代表)有000、001、011、010、110、111、101、100,之后又回到000。

(3)画状态图:即图2-41。

(4)列表达式,可简单依据状态转换顺序列写。

从状态000到001,G0置位,即

SET(G0)=(000)∗pA

从状态001到011,G1置位;

SET(G1)=(001)∗pA

从状态011到010,G0复位;

RESET(G0)=(011)∗pA

从状态010到110,G2置位;

SET(G2)=(010)∗pA

从状态110到111,G0置位;

SET(G1)=(110)∗pA

从状态111到101,G1复位;

RESET(G1)=(111)∗pA

从状态101到100,G1复位;

RESET(G1)=(101)∗pA

从状态100到000,G2复位;

RESET(G2)=(100)∗pA

(5)根据所列表达式其梯形图程序如图2-42a所示。

这里用mG0、mG1、mG2记录G0、G1、G2。将此梯形图转化为起保停逻辑即为图2-42b所示程序(图2-42a的中间记录条9、10、11略)。再将多余触点去除即与图2-40所示的程序类似。

2.旋转自动门工作控制

设计一个旋转自动门控制梯形图逻辑。其要求是:当电源开关处于ON时,进入工作状态;反之,退出工作状态。在工作状态下,如检测到门前有人,则自动门正转;如检测不到门前有人,经若干延时,并到达给定位置后自动门停转。在正转时,如检测到自动门闯人或夹人,则自动门反转;这时,如检测到不再闯人或夹人,经若干延时,自动门又恢复正转。

从设计要求可知:

(1)信号分析。

主令信号有:电源开关信号,对应的有电源开关ON脉冲信号(Pd)及电源开关OFF脉冲信号(Pdn);

反馈信号有:检测门前是否有人,用光电开关。对应的有,检测到门前有人光电开关ON脉冲信号(Py),检测到门前有人光电开关OFF(门前没人)延时脉冲信号(Pyn);

检测到门是否闯人或夹人,用光电开关。对应的有,检测到门闯人或夹人光电开关ON脉冲信号(Pc),检测到门闯人或夹人光电开关OFF(不闯人或夹人)延时脉冲信号(Pcn);

自动门到位与否,用行程开关。对应的有,自动门到位脉冲信号(Pw)。

(2)状态分析。

基本工作状态有:

978-7-111-39745-8-Chapter03-118.jpg

图2-42 和利时或ABB PLC格兰码计数程序

状态0:自动门不工作。如检测到电源开关ON脉冲信号(Pd),则进入状态1。

状态1:自动门处工作状态。但既不正转,也不反转。如检测到门前有人光电开关ON脉冲信号(Py),则进入状态2。

状态2:自动门正转。如检测到门闯人或夹人光电开关ON脉冲信号(Pc),则进入状态4。如检测到门前有人光电开关OFF(门前没人)延时脉冲信号(Pyn),则进入状态3。

状态3:自动门正转。如检测到自动门到位脉冲信号(Pw),则进入状态1;如又检测到门前有人光电开关ON脉冲信号(Py),则又回到状态2;

状态4:自动门反转。如检测到门闯人或夹人光电开关OFF(不闯人或夹人)延时脉冲信号(Pcn),则又回到状态2。

可能状态有:

状态4A、状态4AA:处状态4时,自动门反转,但这时可能检测到Pyn信号。对此要用一个状态(状态4A)作记录,即从4转到4A,自动门仍应反转。这时,如检测到Pcn信号,也要用一个状态(状态4AA)对此作记录,但自动门仍正转。在状态4AA时,如接收到Pw信号,则转为状态1,自动门工作,但停转;如检测到Pc信号,那又要回到状态4A,自动门又反转。

状态1A、状态1AA:处状态1时,自动门处工作状态。但这时可能检测到Pc信号。这可用一个状态(状态1A)对此应作记录,并使自动门反转。这时,如检测到Pcn信号,则也要用一个状态(状态1AA)作记录,自动门转为正转。在状态1AA时,如接收到Pw信号,则转为状态1,自动门工作,但停转;如检测到Pc信号,那又要回到状态1A,自动门又反转。

状态1AAA:处状态1A时,也可能检测到Py信号。故要用一个状态(状态1AAA)作记录,自动门仍应反转。直到检测到Pcn信号时,转到状态2,自动门正转。当然,在1AAA时,也可能又检测到Pyn信号,那又要回到状态1A。

另外,在所有状态下,只要检测到电源开关OFF脉冲信号(Pdn),则进入状态0,自动门不工作。

总之,自动门所有可能的状态都要考虑到,不能遗漏。应避免有的有效信号得不到反应或记录,那样,PLC将不可能按所要求的实现控制。

(3)画状态图。

根据以上状态的描述,初画出如图2-43所示的状态图。为了清晰,该图未把在任何状态下,如检测到Pdn信号,都转到状态0画出(只把状态1,检测到信号Pdn转到状态0画出)。

978-7-111-39745-8-Chapter03-119.jpg

图2-43 初画自动门控制状态图

对初画的状态图可进行化简。其原则是:两个或多个状态,如原输出相同,进入次状态的信号及产生的输出又相同,则可合并,可视为同一状态。如图2-43的状态1AA、4AA与状态3,可视为同一状态,可合并。状态4及状态1AAA也可视为同一状态,也可合并。经合并后的状态图见图2-44。

978-7-111-39745-8-Chapter03-120.jpg

图2-44 自动门控制状态图化简

再观测图2-44,状态1A与状态4A仍可合并,合并后如图2-45所示。到此没有可合并的状态了,因而也就完成了状态图的设计。

从本例可知,状态图设计与通电表唯一性设计是不同的。状态图设计是状态化简,逐步减少状态;而通电表设计是避免逻辑条件相混,逐步增加内部变量(在某种意义上讲,也可说是增加状态)。同时,状态图的化简不是必要的,也可不化简。这时,只是内部变量要多用一些,但仍可实现所要求的控制。而通电表唯一性设计则是必要的,唯一性原则不满足,将不能实现所要求的逻辑控制。

978-7-111-39745-8-Chapter03-121.jpg

图2-45 化简后自动门控制状态图

(4)确定变量。

状态变量:本例共有6个状态,用三个内部变量M3、M2、M1的不同取值,即可把这六个状态分开。如本例各状态用二进制编码:

000(M3=0、M2=0、M1=0)代表状态0;

001(M3=0、M2=0、M1=1)代表状态1;

010(M3=0、M2=1、M1=0)代表状态2;

011(M3=0、M2=1、M1=1)代表状态3;

100(M3=1、M2=0、M1=0)代表状态4;

101(M3=1、M2=0、M1=1)代表状态1A;

输出变量:本例的输出变量有:

工作,用输出点YY0控制;

正转,用输出点YY1控制;

反转,用输出点YY2控制。

没有以上三个输出,即为不工作。

(5)列写逻辑表达式。

有了化简后状态图及状态与输出变量,就可列写逻辑表达式。

状态变量逻辑表达式:

M1置位:在状态1、3及1A为1,从其他状态进入此状态应置位。从图2-45可知,须置位的有:状态0到状态1(Pd作用);状态2到状态1(Pyn作用);状态4到状态1A(Pc或Pyn作用)。

具体表达式为

SET(M1)=(000)∗Pd+(010)∗Pyn+(100)∗(Pc+Pyn)

M1复位:状态状态0、2及4为0,从其他状态进入此状态应复位。从图2-45可知,须复位的有:状态1到状态2(Py作用);状态1A到状态4(Py作用)。再有是检测到Pdn时,也要复位。表达式为

RSET(M1)=(001)∗Py+(101)∗Py+Pdn

M2置位:在状态2、3为1,从其他状态进入此状态应置位。从图2-45可知,须置位的有:状态1到状态2(Py作用);状态4到状态2(Pcn作用);状态1A到状态3(Pcn作用)。

具体表达式为

SET(M2)=(001)∗Py+(100)∗Pcn+(101)∗Pcn

M2复位:状态0、1、4及1A为0,从其他状态进入此状态应复位。从图2-45可知:须复位的有:状态2到状态4(Pc作用);状态3到状态1(Pw作用);状态3到状态1A(Pc作用)。再有是检测到Pdn时,也要复位。表达式为

RSET(M2)=(010)∗Pc+(011)∗Pw+(011)∗Pc+Pdn

M3置位:在状态4及1A为1,从其他状态进入此状态应置位。从图2-45可知,须置位的有:状态3到状态1A(Pc作用);状态2到状态4(Pc作用);状态1到状态1A(Pcn作用)。

具体表达式为

SET(M3)=(011)∗Pc+(010)∗Pc+(001)∗Pc

M3复位:状态0、1、2及3为0,从其他状态进入此状态应复位。从图2-45可知,须复位的有:状态1A到状态3(Pcn作用);状态4到状态2(Pcn作用)。再有是检测到Pdn时,也要复位。表达式为

RSET(M3)=(101)∗Pcn+(100)∗Pcn+Pdn

输出变量逻辑表达式:

978-7-111-39745-8-Chapter03-122.jpg

这式子可进行化简,但在此不做介绍。

(6)画梯形图:依化简后的逻辑表达式画出梯形图。

图2-46是它的梯形图程序,是按照未化简的逻辑关系画出的。有三个部分:状态转变逻辑;输出;中间记录。但未把脉冲信号的梯形图程序画出。因为M是西门子、三菱PLC的关键词,所以,图2-46b、c用H替代M,如H1替代M1,H22替代M22……。

3.煤气加热炉切阀、转换阀控制

图2-47为煤气加热炉切阀、转换阀工作示意图。左右切阀、转换阀要定时切换,或按要求切换,以实现储热节能及喷嘴不超温。其具体工作过程是,左、右煤气切阀交替开通,空气、烟气转换阀左右转换,总是处于图2-47a或b状态之一。处于图2-47a状态时,空气从左喷嘴进入炉子,并冷却左喷嘴(加温空气);而烟气从右喷嘴排出,加温右喷嘴(储热);左切阀进煤气,右切阀关闭。处于图2-47b状态时,空气从右喷嘴进入炉子,并冷却右喷嘴(加温空气);而烟气从左喷嘴排出,加温左喷嘴(储热);右切阀进煤气,左切阀关闭。

输出用3个变量LL、MM、RR,分别代表左煤气切阀、空气、烟气转换阀、右煤气切阀。根据以上描述,系统总是处于100(左切阀开,转换阀置左位置)或011(右切阀开,转换阀置右位置)状态之一。其切换的工艺要求是,每当送入控制脉冲AA,则先关已开的切阀,切阀关到位后,转换阀转向,换向到位后,再开原关闭的切阀。

阀动作反馈信号用相应的行程开关。具体有:左切阀开到位开关(Ld),左切阀关到位开关(Ln),右切阀开到位开关(Rd),右切阀关到位开关(Rn),转换阀置右位置开关(Md),转换阀置左位置开关(Mn)。

输出也用3个变量L、MM、R,分别代表左煤气切阀,空气烟气转换阀及右煤气切阀。

设计过程如下:

978-7-111-39745-8-Chapter03-123.jpg

图2-46 自动门控制梯形图程序

(1)信号分析。

有效信号有:脉冲信号pA,它是本控制的主令信号,用以驱动状态的转换。

反馈脉冲信号有:左煤气切阀开到位脉冲信号(pLd);左煤气切阀关到位脉冲信号(pLn);右煤气切阀开到位脉冲信号(pRd);右煤气切阀关到位脉冲信号(pRn);空气烟气转换阀置左位置到位脉冲信号(pMd);空气烟气转换阀置右位置到位脉冲信号(pMn)。

(2)状态分析。

基本状态(用L、MM,、R取值代表)有:

100:左煤气切阀开(1表示);空气烟气转换阀置左位置(0表示);右煤气切阀关(0表示)。100是稳定的工作状态。此时,若来脉冲信号pA,则转换为000,即左煤气切阀关(0表示),其他不变。

000:左煤气切阀关(0表示);空气烟气转换阀置左位置(0表示);右煤气切阀关(0表示)。此时,若伴随的是脉冲信号pLn,则转换为010,即空气烟气转换阀置右位置(1表示),其他不变;若伴随的是脉冲信号pMn,则也转换为100,左煤气切阀开(1表示),又回到状态100。显然,000只是过渡状态。

978-7-111-39745-8-Chapter03-124.jpg

图2-47 切阀、转换阀工作示意图

L—左切阀 R—右切阀 M—转换阀

010:左煤气切阀关(0表示);空气烟气转换阀置右位置(1表示);右煤气切阀关(0表示)。此时,若伴随的是脉冲信号pMd,则转换为011,即右煤气切阀开(1表示),其他不变;若伴随的是脉冲信号pRn,则也转换为100,又煤气切阀关(0表示),返回到状态100。显然,000也只是过渡状态。

011:左煤气切阀关(0表示);空气烟气转换阀置右位置(1表示);右煤气切阀开(1表示)。011也是稳定的工作状态。此时,若来脉冲信号pA,则转换为010,即左煤气切阀关(0表示),其他不变。

可能状态:

在工作开始时,可能系统未进入两个稳定状态(100、011)之一,而处于000状态。此时如接收到A脉冲信号,应进入100状态。

其他状态,如101、001、111,偶尔也可能出现。为了可靠,则应强制使其转入临近的稳定状态。如101转为100,如001转为011,如111转为011。

(3)画状态图。

根据以上状态分析,可画出对应的状态图,如图2-48所示。

(4)列表达式:

L置位:在状态100为1,从状态000进入此状态应置位。从图2-48可知,须置位的有:状态000到状态100(pMn或pA作用)。

978-7-111-39745-8-Chapter03-125.jpg

图2-48 切阀、转换阀控制状态图

具体表达式为SET(L)=(000)∗(pMn+A)

L复位:状态000、010、001、011为0,从其他状态进入此状态应复位。从图2-48可知,须复位的有:状态100到状态000(pA作用);处状态111,应自动复位。

具体表达式为RSET(Y1)=(100)∗pA+(111)

MM置位:在状态010、011为1,从其他状态进入此状态应置位。从图2-48可知,须置位的有:状态000到状态010(pLn作用)。

具体表达式为SET(MM)=(000)∗pLn

MM复位:状态000为0,从其他状态进入此状态应复位。从图2-48可知,须复位的有:状态010到状态000(pRn作用);处状态110应自动复位。

具体表达式为RSET(MM)=(010)∗pRn+110

R置位:在状态011为1,从其他状态进入此状态应置位。从图2-48可知,须置位的有:状态010到状态011(pMd作用);处状态001应自动置位。

具体表达式为SET(R)=(010)∗pMd+001

R复位:状态010为0,从其他状态进入此状态应复位。从图2-48可知,须复位的有:状态011到状态010(pA作用);处状态101应自动复位。

具体表达式为RSET(R)=(011)∗pA+101

(5)画梯形图:依化简后的逻辑表达式画出梯形图。

根据以上表达式画出的梯形图如图2-49所示。图2-49a、b用KEEP指令替代SET与RESET指令。脉冲生成程序略。

4.组合机床动力头运动控制

本例的工艺要求同本章第3节例3。它的输出有两个变量,进与慢,用DT1、DT2表示。DT1 ON进、DT2 ON快,反之为退、慢。

依题意,主轴在原位时(1XK合上),给出起动信号(用脉冲信号Q),主轴快(DT1 DT2取值为11),以使主轴快速接近工件。

主轴快进到2XK合上(这时1XK早已松开),则利用它的脉冲作用使主轴转为慢进(DT1DT2取值为10),以进行加工。

主轴加工前进到3XK合上,(这时2XK也早已松开),则利用它的脉冲作用使主轴转为快退(DT1 DT2取值为01),以便于钻头排屑。

主轴后退到2XK合上(这时3XK早已松开),再利用它的脉冲作用使主轴转为快进(DT1DT2取值为11),使主轴接近工件未加工的部分。

主轴快进到3XK合上(这时2XK早已松开),则利用它的脉冲作用使主轴转为慢进(DT1DT2取值为10),以进行未加工部分的加工。

主轴加工前进到4XK合上,(这时3XK也早已松开),则利用它的脉冲作用使主轴转为快退(DT1 DT2取值为01),直到主轴回到原位,1XK合上,完成一个工作循环。

按以上要求,用状态图法设计如下:

(1)信号分析。

有效主令信号为起动信号pQ。

反馈信号有动力头到位行程开关XK1、XK2、XK3、XK4 ON发出的相应脉冲信号p1XK、p2XK、p3XK、p4XK及XK1、XK1、XK2、XK4 OFF发出的相应脉冲信号p1OFF、p2OFF、p3OFF、p4OFF。

(2)状态分析。

状态0:动力头处原位,XK1 ON,其他开关XK2、XK3、XK4 OFF。输出DT1、DT2为00。在此状态时,按下起动按钮QQ,接收相应的脉冲信号pQ后,进入状态1。

状态1:动力头第一次快进。输出DT1、DT2为11。这时,接收到脉冲信号p2XK,则进入状态2。

状态2:动力头第一次工进。输出DT1、DT2为10。这时,接收到脉冲信号p3XK,则进入状态3。

978-7-111-39745-8-Chapter03-126.jpg

图2-49 切阀、转换阀控制梯形图程序

状态3:动力头第一次快退。输出DT1、DT2为01。这时,接收到2XK OFF脉冲信号p2OFF,则进入状态4。

状态4:动力头第二次快进。输出DT1、DT2为11。这时,接收到脉冲信号p2OFF,则进入状态5。

状态5:动力头第二次工进。输出DT1、DT2为10。这时,接收的p4XK脉冲信号,则进入状态6。

状态6:动力头第二次快退。输出DT1、DT2为01。这时,接收的p1XK脉冲信号,则进入状态0。

(3)画状态图:按确定的状态及其转换,画出的状态图如图2-50所示。

(4)确定变量。

图2-50有7个状态,为了简化,其中1~6分别用MM1~MM66个变量代表它。哪一个ON,即进入相应的那一个状态。这些变量全为OFF即为状态0。也可用动力头在原位,即XK1 ON代表状态0。

978-7-111-39745-8-Chapter03-127.jpg

图2-50 动力头运动控制状态图

(5)列表达式。

MM1置位:在状态1时为1。从图2-50知,在状态0时,经pQ作用,应置位,进入本状态。

具体表达式为SET(MM1)=XK1∗pQ)

MM1复位:本状态为1,其他状态均为0。从图2-50可知,经p2XK作用,进入状态2,应复位。

具体表达式为RSET(MM1)=MM1∗p2XK

MM2置位:在状态2时为1。从图2-50可知,在状态1时,经p2XK作用,应置位,进入本状态。

具体表达式为SET(MM2)=MM1∗p2XK

MM2复位:本状态为1,其他状态均为0。从图2-50可知,经p3XK作用,进入状态3,应复位。

具体表达式为RSET(MM2)=(MM2)∗p3XK

MM3置位:在状态3时为1。从图2-50可知,在状态2时,经p3XK作用,应置位,进入本状态。

具体表达式为SET(MM3)=MM2∗p3XK

MM3复位:本状态为1,其他状态均为0。从图2-50可知,经p2OFF作用,进入状态4,应复位。

具体表达式为RSET(MM3)=(MM3)∗p2OFF

MM4置位:在状态4时为1。从图2-50可知,在状态3时,经p2OFF作用,应置位,进入本状态。

具体表达式为SET(MM3)=MM3∗p2FF

MM4复位:本状态为1,其他状态均为0。从图2-50可知,经p3XK作用,进入状态5,应复位。

具体表达式为RSET(MM4)=(MM4)∗p3XK

MM5置位:在本状态时为1。从图2-50可知,在状态4时,经p4XK作用,应置位,进入本状态。

具体表达式为SET(MM5)=MM4∗p3XK

MM5复位:本状态为1,其他状态均为0。从图2-50可知,经p4XK作用,进入状态6,应复位。

具体表达式为RSET(MM5)=(MM5)∗p4XK

MM6置位:在本状态时为1。从图2-50可知,在状态5时,经p4XK作用,应置位,进入本状态。

具体表达式为SET(MM6)=MM5∗p4XK

MM6复位:本状态为1,其他状态均为0。从图2-50可知,经p1XK作用,进入状态0,应复位。

具体表达式为RSET(MM6)=(MM6)∗p1XK

(6)画梯形图:依化简后的逻辑表达式画出梯形图。

根据所列表达式,画出的梯形图程序如图2-51所示。图2-51a、d用符号地址,M6为MM6、M5为MM5……图2-51b用直接地址,M6为辅助继电器M0.6、M5为M0.5……图2-51c也用直接地址,M6为辅助继电器M6、M5为M5……

978-7-111-39745-8-Chapter03-128.jpg

图2-51 动力头运动控制梯形图程序

图2-51a、d的微分处理过程未画出。但图2-51b、c已画出。图2-51b用指令P,而图2-51c用向上箭头。同时,图2-51b、c的脉冲输入也用了直接地址。其对应关系是:

图2-51b中,I0.0常开触点加指令P,表示pQ;I0.1常开触点加指令P,表示p2XK;I0.2常开触点加指令P,表示p2XK;I0.3常开触点加指令P,表示p3XK;I0.4常开触点加指令P,表示p4XK。用I0.2加指令NOT、再加指令P,表示p2OFF。

图2-51c中,X000常开触点加向上箭头,表示pQ,X001常开触点加向上箭头,表示p2XK;X002常开触点加向上箭头,表示p2XK;X003常开触点加向上箭头,表示p3XK;X004常开触点加向上箭头,表示p4XK。用X002常开触点加向下箭头,表示p2OFF。