状态转移图(顺序功能图)是顺序功能图设计法编程的重要工具。其编程的一般设计思想是:将一个复杂的控制过程分解为若干个工作状态,弄清各工作状态的工作细节(状态功能、转移条件和转移方向),再依据总的控制顺序要求,将这些工作状态联系起来,就构成了状态转移图(SFC图),然后再转换为梯形图。其常用的编程方法有以下三种。
1.用PLC的专用步进指令进行编程
(1)用三菱F系列PLC的步进指令编程举例
1)某机床送料台车自动往返控制的要求。某机床送料台车的工作示意图如图3-56所示,其控制的要求如下。
①按下起动钮SB,电动机M正转,送料台车前进,碰到限位开关SQ1后,电动机M反转台车后退。
②送料台车后退碰到限位开关SQ2后,送料台车电动机M停转,送料台车停车5s后,第二次前进碰到限位开关SQ3,再次后退。
③当后退再次碰到限位开关SQ2时,送料台车停止。
2)建立SFC图的方法。
①首先将整个工作过程按工序要求分解。将整个工作过程按工序要求分解的图示如图3-57所示。
②然后对每个工序分配状态元件,说明每个状态的功能与作用、转移条件。工作分配状态列表见表3-6。
③根据状态表可绘出送料台车状态转移图如图3-58所示。图中初始状态S0要用双框,驱功S0的电路要在对应的状念梯形图中的开始处绘出。SFC图和状态梯形图结束时要使用RET和END。
图3-56 某机床送料台车的工作示意图
图3-57 将整个工作过程按工序要求分解的图示
表3-6 工序分配状态列表
图3-58 送料台车状态转移图
从图3-58可以看出,状态转移图具有以下特点。
①SFC将复杂的任务或过程分解成了若干个工序(状态)。无论多么复杂的过程均能分解为小的工序,有利于程序的结构化设计。
②相对某一个具体的工序来说,控制任务实现了简化,并给局部程序的编写带来了方便。
③整体程序是局部程序的综合。只要弄清各工序成立的条件、工序转移的条件和转移的方向,就可以进行这类图形的设计。
④SFC容易理解,可读性强,能清晰地反映全部控制工艺过程。
3)将状态转移图(SFC)转换成状态梯形图(STL)、指令表程序。根据编程规律,将状态转移图(SFC)转换成梯形图(STL)和指令表程序,如图3-59所示。
图3-59 送料台车的梯形图和指令表程序
4)编制SFC图的注意事项。
①对状态编程时必须使用步进接点指令STL,程序的最后必须使用步进返回指令RET,返回主母线。
②初始状态的软元件用S0~S9,并用双框表示;中间状态软元件用S20~S899等状态,用单框表示。若需要在停电恢复后继续原状态运行时,可使用S500~S899停电保持状态元件。此外S10~S19在采用状态初始化指令FNC 60(IST)时,可用于特殊目的。
③状态编程顺序为:先进行驱动,再进行转移,不能颠倒。
④当同一负载需要连续多个状态驱动时,可使用多重输出;在状态程序中,不同时“激活”“双线圈”是允许的。另外,相邻状态使用的T、C元件,编号不能相同。
⑤负载的驱动、状态转移条件可能为多个元件的逻辑组合,视具体情况,按串、并联关系处理,不能遗漏。
⑥顺序状态转移用置位指令SET。若顺序不连续转移,不能使用SET指令进行状态转移,应改用OUT指令进行状态转移。
(2)用西门子S7-200系列PLC的顺控指令编程举例(www.xing528.com)
1)某机床送料小车自动往返控制的要求。某机床送料小车的工作示意图如图3-60所示,其控制的要求如下:
设小车在初始位置时停在左边,限位开关I0.2为1状态。按下启动按钮I0.0后,小车向右运动(简称右行),碰到限位开关I0.1后,停在该处;3s后开始左行,碰到I0.2后返回初始步,停止运动。
图3-60 送料小车的工作示意图
2)建立SFC图。根据Q0.0和Q0.1状态的变化,显然一个工作周期可以分为左行、暂停和右行3步;另外还应设置等待启动的初始步;分别用S0.0~S0.3来代表这4步。启动按钮I0.0和限位开关的常开触点、T37延时接通的常开触点是各步之间的转换条件。依此画出送料小车SFC图,如图3-61所示。
3)设计梯形图。在设计梯形图时,用LSCR(梯形图中为SCR)和SCRE指令表示SCR段的开始和结束。在SCR段中用SM0.0的常开触点来驱动在该步中应为1状态的输出点(Q)的线圈,并用转换条件对应的触点或电路来驱动转换到后续步的SCRT指令。送料小车的梯形图如图3-62所示。
图3-61 送料小车的SFC图
如果用编程软件的“程序状态”功能来监视处于运行模式的梯形图,可以看到因为直接接在左侧电源线上,每一个SCR方框都是蓝色的,但是只有活动步对应的SCRE线圈通电,并且只有活动步对应的SCR区内的SM0.0的常开触点闭合,不活动步的SCR区内的SM0.0的常开触点处于断开状态,因此SCR区内的线圈受到对应的顺序控制继电器的控制,SCR区内的线圈还可以受与它串联的触点的控制。
首次扫描时SM0.1的常开触点接通一个扫描周期,使顺序控制继电器S0.0置位,初始步变为活动步,只执行S0.0对应的SCR段。如果小车在最左边,I0.2为1状态,此时按下启动按钮I0.0,指令“SCET S0.1”对应的线圈得电,使S0.1变为1状态,操作系统使S0.0变为0状态,系统从初始步转换到右行步,只执行S0.1对应的SCR段。在该段中SM0.0的常开触点闭合,Q0.0的线圈得电,小车右行。在操作系统没有执行S0.1对应的SCR段时,Q0.0的线圈不会通电。
右行碰到右限位开关时,I0.1的常开触点闭合,将实现右行步S0.1到暂停步S0.2的转换。定时器T37用来使暂停步持续3s。延时时间到时T37的常开触点接通,使系统由暂停步转换到左行步S0.3,直到返回初始步。
2.用启保停电路进行编程
根据顺序功能图编制梯形图时,可以用存储器位M来代表步。当某一步为活动步时,对应的存储器位为1状态;当某一转换实现时,该转换的后续步变为活动步,前级步变为不活动步。用启保停电路进行编程仅仅使用与触点和线圈有关的指令,任何一种PLC的指令系统都有这一类指令,因此这是一种通用的编程方法,可以用于任意型号的PLC。
图3-62 送料小车的梯形图
图3-43中给出了PLC控制机床油泵和主机的顺序功能图。设计启保停电路的关键是找出它的启动条件和停止条件。根据转换实现的基本规则,转换实现的条件是它的前级步为活动步,并且满足相应的转换条件,步M0.1变为活动步的条件是它的前级步M0.0为活动步,且两者之间的转换条件I0.0为1状态。在启保停电路中,则应将代表前级步的M0.0的常开触点和代表转换条件的I0.0的常开触点串联,作为控制M0.1的起动电路。
当M0.1和T37的常开触点均闭合时,步M0.2变为活动步,这时步M0.1应变为不活动步,因此可以将M0.2为1状态作为使存储器位M0.1变为OFF的条件,即将M0.2的常闭触点与M0.1的线圈串联。上述的逻辑关系可以用逻辑代数式表示为
在这个例子中,可以用T37的常闭触点代替M0.2的常闭触点。但是当转换条件由多个信号经“与、或、非”逻辑运算组合而成时,需要将它的逻辑表达式求反,再将对应的触点串并联电路作为启保停电路的停止电路,不如使用后续步对应的常闭触点这样简单方便。
根据上述的编程方法和顺序功能图,很容易画出梯形图(见图3-63)。以初始步M0.0为例,由顺序功能图可知,M0.3是它的前级步,T38的常开触点接通是两者之间的转换条件,所以应将M0.3和T38的常开触点串联,作为M0.0的启动电路。PLC开始运行时应将M0.0置为1,否则系统无法工作,故将仅在第一个扫描周期接通的SM0.1的常开触点与上述串联电路并联、启动电路还并联了M0.0的自保持触点。后续步M0.1的常闭触点与M0.0的线圈串联,M0.1为1状态时M0.0的线圈“断电”,初始步变为不活动步。
图3-63 PLC控制机床油泵和主机的梯形图
当控制M0.0启保停电路的启动电路接通后,M0.0的常闭触点使M0.3的线圈断电,在下一个扫描周期,因为后者的常开触点断开,使M0.0的启动电路断开,由此可知启保停电路的启动电路接通的时间只有一个扫描周期。因此必须使用不具有记忆功能的电路(例如启保停电路或置位/复位电路)来控制代表步的存储器位。
下面介绍设计顺序控制梯形图的输出电路部分的方法。由于步是根据输出变量的状态变化来划分的,它们之间的关系极为简单,可以分为以下两种情况来处理。
1)某一输出量仅在某一步中为ON,例如图3-63中的Q0.1就属于这种情况,可以将它的线圈与对应步的存储器位M0.2的线圈并联。
有人也许会说,既然如此,不如用这些输出位来代表该步,例如用Q0.1代替M0.2。当然这样做可以节省一些编程元件,但是存储器位M是完全够用的,多用一些不会增加硬件费用,在设计和输入程序时也多花不了多少时间。全部用存储器位来代表步具有概念清楚、编程规范、梯形图易于阅读和查错的优点。
2)如果某一输出在几步中都为ON,应将代表各有关步的存储器位的常开触点并联后,驱动该输出的线圈。图3-63中Q0.0在M0.1~M0.3这3步中均应工作,所以用M0.1~M0.3的常开触点组成的并联电路来驱动Q0.0的线圈。
如果某些输出量像Q0.0一样,在连续的若干步均为1状态,可以用置位、复位指令来控制它们(见图3-63)。
3.以转换为中心的顺序控制编程
在顺序功能图中,如果某一转换所有的前级步都是活动步并且满足相应的转换条件,则转换实现。即所有由有向连线与相应转换符号相连的后续步都变为活动步,而所有由有向连线与相应转换符号相连的前级步都变为不活动步。在以转换为中心的编程方法中,将该转换所有前级步对应的存储器位的常开触点与转换对应的触点或电路串联,该串联电路即为启保停电路中的启动电路,用它作为使所有后续步对应的存储器位置位(使用S指令),和使所有前级步对应的存储器位复位(使用R指令)的条件。在任何情况下,代表步的存储器位的控制电路都可以用这一原则来设计,每一个转换对应一个这样的控制置位和复位的电路块,有多少个转换就有多少个这样的电路块。这种设计方法特别有规律,梯形图与转换实现的基本规则之间有着严格的对应关系,在设计复杂的顺序功能图的梯形图时既容易掌握,又不容易出错。
图3-64 用以转换为中心的编程方法编制的梯形图程序
例如对于图3-49所介绍的剪板机床的顺序功能图,其用以转换为中心的编程方法编制的梯形图程序如图3-64所示。顺序功能图中共有9个转换(包括SM0.1),转换条件SM0.1只需对初始步M0.0置位。除了与并行序列的分支、合并有关的转换以外,其余的转换都只有一个前级步和一个后续步,对应的电路块均由代表转换实现的两个条件的触点组成的串联电路、一条置位指令和一条复位指令组成。在并行序列的分支处,用M0.3和I0.2的常开触点组成的串联电路对两个后续步M0.4和M0.6置位,和对前级步M0.3复位。在并行序列的合并处的水平双线之下,有一个选择序列的分支。剪完了计数器C0设定的块数时,C0的常开触点闭合,将返回初始步M0.0。所以应将该转换之前的两个前级步M0.5和M0.7的常开触点和C0的常开触点串联,作为对后续步M0.0置位和对前级步M0.5和M0.7复位的条件。没有剪完计数器C0设定的块数时,C0的常闭触点闭合,将返回步M0.1,所以将两个前级步M0.5和M0.7的常开触点和C0的常闭触点串联,作为对后续步M0.1置位和对前级步M0.5利M0.7复位的条件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。