PLC编程实用指南(第2版)
上QQ阅读APP看书,第一时间看更新

2.4 同步时序逻辑编程

关键词:逻辑设计同步化、脉冲信号产生、前后逻辑条件一致、前后逻辑条件一致实现方法、表达式、状态图、同步时序逻辑分析、同步时序逻辑综合

2.4.1 异步时序逻辑同步化

1.3个要点

PLC异步时序逻辑同步化有3个要点:

(1)使用同步脉冲。除逻辑条件用持续的ON或OFF信号外,所有引起输出变量或内部状态变量变化的输入信号都使用脉冲信号,即用ON或OFF一个扫描周期的信号。以确保:只是在脉冲信号作用期间才有输出变量或内部状态变量变化;而无脉冲信号作用的扫描周期,输出变量或内部状态变量都不发生变化。

(2)保持同一扫描周期各个输出的输入逻辑条件保持一致。具体是,在存在脉冲作用的扫描周期中,应做到先执行的指令所引起的输出变量或内部状态变量变化,不改变后执行指令的执行条件。以确保如同步脉冲电路一样,在脉冲信号作用期间,所有输出变量及内部变量状态变量的变化都与脉冲信号作用前相同。

(3)I/O刷新应在同步时序相关的程序执行后进行,以确保控制动作能按同步要求实现。实现这点很容易,只要按这里要求,调用I/O刷新指令或由系统进行自动I/O刷新。

2.同步脉冲生成

同步脉冲产生的方法有:

(1)微分指令。多数PLC都有这个指令。如欧姆龙公司PLC的DIFU(三菱PLC用PLS),上升沿微分,即在信号从OFF到ON时,它ON一个扫描周期;DIFD(三菱PLC用PLF),下降沿微分,即在信号从ON到OFF时,它ON一个扫描周期。西门子公司PLC则用P指令作上升沿微分;用NOT加P指令作下降沿微分。其效果也是相同的。

(2)基本指令组合:图2-36中的MM1、MM2,就是脉冲信号。从图可知,左阀开不到位时,MM1、MM2全为OFF。一旦到位,先是MM1 ON,接着MM2 ON。但到了下一个扫描周期时,由于MM2常闭点作用,则使MM1 OFF。显然,当左阀开到位时,这里的MM1只ON一个扫描周期。

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

图2-36 控制延时脉冲信号

3.逻辑条件一致

有三种方法可做到前后逻辑条件一致:

(1)合理地安排指令的先后顺序。在脉冲信号作用下执行“某一梯级指令”,可能产生某输出或内部状态改变,而这个改变又可能改变“别的一组指令”的执行条件,则应把这“某一梯级指令”排在后面,后执行;而可能被其变化的而改变指令执行条件的这个“别的梯级指令”排在前面,先执行。这可使得这输出或内部状态改变不会在本扫描周期内对别的变量的处理产生影响,可做到前后逻辑条件一致。

但是,在关系较复杂的梯形图中,有时难以对所有的输出或内部状态变量都能达到上述要求。这时,就要用以下两种方法。

(2)利用有关输出或内部变量变化产生的脉冲信号,对变量的变化进行屏蔽。其目的是,在本脉冲作信号用周期中,如某个变量有所变化,但在其后的要执行的指令中,如有该变量,那该变量要按变化前的状态取值。

(3)对输出及内部状态作中间记录。在所设计的梯形图后面,加入一组逻辑,对输出及内部状态作中间记录,以把该梯形图的有关输出或内部变量变化记录下来。记录办法是,用有关输出或内部变量作为常开触点,去控制一个对应的内部变量,并用这个对应的内部变量去取代在原梯形图中,用以建立各个逻辑条件的原输出与内部变量。

这三种方法,较简单与便于使用的还是对输出作中间记录。尽管它可能要多用一些内部器件及增加一些指令。

图2-37所示程序为图2-2异步时序逻辑同步化的实例。所用方法是,对输出作中间记录。同步化后的功能与之前完全相同。

如图2-37所示,节1、2为把XK1信号转换为脉冲信号pA。节3、4、5为程序主体。在执行中,它的输入条件除了脉冲信号,其他的都不变。节6、7、8为状态记录。把输出变化传递给内部状态变量,即WW1、WW2、WW3分别传递给mW1、mW3、mW3,为新的脉冲输入建立新的条件。仔细分析此逻辑可知,它也可用WW1、WW2及WW3显示刀架位置。

2.4.2 同步时序逻辑表达式与状态图

1.表达式

同步时序逻辑的表达式与异步时序逻辑的相同。也是分为启动与保持两个部分。也可用置位(S)及复位(R)指令处理。某个位的置位,其逻辑条件即为它的启动,与启动电路(Qi)对应,而复位则只是它的保持逻辑条件的非,与保持电路中Bi的非对应。为了方便,在同步时序逻辑中,置位(S)及复位(R)指令使用较多。

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

图2-37 刀架位置显示 同步时序逻辑

以上述刀架位置显示同步时序逻辑(见图2-37)为例,列写其表达式如下:

这里的梯级1、2是把XK1信号变为脉冲信号,其表达式略。

梯级3、4、5为程序主体。同步时序逻辑的特点是,在脉冲信号作用期间,其先执行指令引起的输出变化,不会改变后执行指令的执行条件。故其输出表达式较简单,为

WW1置位:pA∗mW3

WW1复位:pA∗mW1

WW2置位:pA∗mW1

WW2复位:pA∗mW2

WW3置位:pA∗mW2

WW3复位:pA∗mW3

梯级6、7、8为输出的记录。表达式更简单,这里略。

2.状态图

状态图由一系列状态节点(圆圈及在其上的状态标识)及节点间的有向连线组成。用以代表同步时序逻辑各个节拍的状态及其转换与输出。

每一状态的标识都用一组布尔变量的不同取值表示。其各个位的取值,要使代表其因子(变量或变量的非)的乘积项(逻辑与)为1。如某个状态,代表它的因子乘积项为978-7-111-39745-8-Chapter03-113.jpgZ,那就用101表示它的状态。因为只有当X取值为1,Y取值为0,Z取值为1时,代表这个状态的乘积项X YZ,才为1。为了简化,也可一个状态用另一个二进制变量做它的标识。此变量取值1代表它,0不代表它。只是这么处理须多用些变量。但这对内部器件丰富的PLC是可以接受的。

有向连线代表状态转换,要标注实现这个转换的当前脉冲信号输入(注在斜线的左方),还要标注这个转换后的输出(注在斜线的右方)。

图2-38即为一部分状态图。表示了有三个节点Si-1、Si及Si+1。Si-1到Si,由于输入Xi的作用。在此转换后,产生Yi的输出组合。Si到Si+1,由于输入Xi+1的作用。在此转换后,产生Yi+1的输出组合。

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

图2-38 部分状态图

有了这些约定,可很容易建立起状态图与通电表间的对应关系。状态图的节点与通电表的节拍对应,通电表某节拍的当前输入,即为状态图的状态转换的脉冲信号输入,等等。

状态图可用以分析异步时序逻辑,也可用以设计异步时序逻辑。

2.4.3 同步时序逻辑分析

同步时序逻辑分析也与异步时序逻辑分析一样,也是研究设计好的程序。也是在“纸面”上“运行”的程序。

具体方法是按照脉冲输入的实际顺序,逐一分析所有器件的状态,确定是0、OFF、不工作,还是1、ON、工作,进而弄清程序能否实现预定的功能。

显然,如果程序正确、可行,其输入、输出的对应关系也总是确定的。也就是说,对某个具体程序的分析,其答案只有一个。

以下为两个分析实例:

1.单按钮起、停电路

单按钮起、停电路,也可用S(置位)、R(复位)替代输出指令。替代后的同步化程序如图2-39所示。

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

图2-39 置位、复位指令单按钮起停

这里,条0(图2-39c为1、2)产生脉冲信号pA。条1、2(图2-39c为3、4)为程序主体,当MQ OFF时,置位;而当MQ ON时,复位。而条3(图2-39c为5)为MQ对Q状态的记录。实际两者的状态是相同的。所差的只是,不使Q的变化在本脉冲周期起作用。这也正是同步逻辑的特点。

可知,Q OFF时,经脉冲信号作用,将ON、置位;而在Q ON时,经脉冲信号作用,将OFF、复位。图2-39b所示的即是它的状态图。

2.“格兰码”计数器

图2-40所示为“格兰码”计数器。主令信号pA为脉冲信号(图中未列出它的产生)。G0、G1、G2为输出,而mG0、mG1、mG2用以记录G0、G1、G2。

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

图2-40 脉冲计数梯形图程序

起始时,G2、G1、G0全为0,其状态用000表示。mG2、mG1、mG0也全为0。这时,如计数脉冲pA ON,在执行计数段指令时,mG2、mG1、mG0状态不会变,仍然全为0,从分析G0、G1、G2起动逻辑可知,G0起动条件为1,将工作,ON。而G2、G1起动条件均为0,不可能工作,仍都为0。

之后,执行中间记录处的几条指令。执行后mG0、mG1、mG2对G2、G1、G0的变化了的状态作了记录,为以后计数脉冲的作用提供新的逻辑条件。但不会对本扫描周期计数段指令的执行起作用。因为到了下一个扫描周期,计数脉冲已OFF,G1、G2不可能起动。G0则由于计数脉冲的非为1,保持条件为1,肯定将继续ON。可知,000状态,接受一个计数脉冲后,将变为001。

在001时,若计数脉冲pA再ON,在执行计数段指令时,mG2、mG1、mG0状态不变,为001,从分析可知,G0保持条件为1,将保持工作,仍为ON。而G1起动条件为1,将起动、工作,变为ON。而G2起动条件为0,不能工作,仍为0。之后,执行中间记录处的几条指令。执行后,mG2、mG1、mG0将记录为011。又为下一次计数做准备。可知,001状态,接受一个计数脉冲pA后,将变为011。

在011时,若计数脉冲pA再ON,在执行计数段指令时,mG2、mG1、mG0状态不变,为011,从分析可知,G0保持条件为0,起动条件也为0,G0将停止工作,转为OFF。而G1保持条件为1,将保持工作,仍为ON。而G2起动条件为0,不能工作,仍为0。之后,执行中间记录处的几条指令。执行后,mG2、mG1、mG0将记录为010。又为下一次计数做准备。可知,011状态,接受一个计数脉冲后,将变为010。

在010时,若计数脉冲pA再ON,还可作类似的分析,可知它将为110。再接着为111。再接着为101。再接着为100。再接着为000。

把上述分析,按状态图的约定,即可得出它的状态图,如图2-41所示。

从状态图分析可知,这里状态的变化正是按“格兰码”计数器的计数规律变化的。

2.4.4 同步时序逻辑综合

梯形图逻辑状态图法综合的目的也是,要编写出满足设计要求,并满足设计条件约束的PLC程序,是分析的反问题。

用状态图法,综合的步骤是:

(1)信号分析:确定有效主令信号及反馈信号,并使其变为所需要的脉冲信号。

(2)状态分析:确定基本工作状态、可能工作状态及不使用状态,及这些状态间的转换与转换条件。

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

图2-41 “格兰码”计数器状态图

(3)画状态图:按确定的状态及其转换,初画状态图。

(4)简化状态图:依据状态图化简原则,简化状态图。简化的原则是,两个或多个状态,如原输出相同,进入次一个状态的信号及产生的输出又相同,则可合并、视为同一个状态。

(5)定变量:确定用以表达状态的变量及其编码,确定输出变量。

(6)列表达式:依各变量在状态图中的关系,列写各变量的逻辑表达式,并化简各表达式。

(7)画梯形图:依据化简后的表达式画出梯形图。

以下用实例说明状态图法综合的过程。

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。