42状态转移图的编程方法.pptx
文本预览下载声明
4.2 状态转移图的编程方法4.2.1 状态转移图的编程规则1. SFC图编制规则 在使用SFC图编制程序时,必须遵守如下规则: 1)顺序连续转移时,一般用SET指令;非连续转移时,则必须用OUT指令,并在相应状态标注“→”表示转移目标,如图4-6所示。图4-6 非连续状态转移图 2)转移条件可以是单个或多个,但转移条件使用时不能用ANB、ORB、MPS、MRD、MPP等指令,因此,遇到复合转移条件时应进行如图4-7的处理。图4-7 复合转移条件的处理 3)状态自复位时,要用符号“↓”表示,程序中用RST指令表示,如图4-8所示。 STL S20LD X0OUT Y0LD X1RST S20 图4-8 自复位处理 2. 相关注意事项 在使用SFC图编制程序时,必须注意如下的相关事项: 1)状态编程顺序:先驱动后转移,即先执行任务,再进行状态转移,顺序不能颠倒。 2)如前所述,STL步进接点指令具有建立子母线的功能,但并不是所有的基本指令都能在STL接点后使用,具体情况见表4-2。表4-2 基本指令在步进指令内可用情况表 指令状态LD/LDI/OUTAND/ANI/OR/ORISET/RST/PLS/PLFANB/ORBMPS/MRD/MPPMC/MCR初始状态可用可用不可用分支汇合状态输出处理转移处理不可用4.2.2 单流程状态转移图的编程单流程是指状态转移只有一种顺序,每一个状态只有一个转移条件和一个转移目标。单流程状态转移图编程是指根据状态转移图画出其相应的梯形图,并写出指令表程序。在编程时总要抓住状态转移图的三要素以及“先驱动、后转移”的编程顺序原则,初始状态可由其他状态驱动或初始条件驱动,如无初始条件,可用M8002驱动。 单流程状态转移图的编程应用示例如图4-9所示。LD M8002SET S0STL S0LD X0SET S20STL S20LDI Y1OUT Y0LD X2SET S21STL S21LDI Y0OUT Y1LD X1SET S22STLS22OUT T0 K100 LD T0SET S23STL S23LDI Y1OUT Y0LD X3SET S24STL S24LDI Y0OUT Y1LD X1OUT S0RETEND图4-9 台车自动往返控制系统编程 练习1:将状态图转换成相应的梯形图,并写出指令表程序。4.2.3 选择性分支与汇合的编程1. 选择性分支状态转移图的特点 从多个分支流程顺序中根据条件选择执行其中一个分支执行,而其余分支的转移条件不能满足,即每次只满足一个分支转移条件的分支方式称为选择性分支。 如图4-10所示就是一个选择性分支的状态转移图。特点:1)该SFC具有三个分支流程顺序。2)S20为分支状态。3)S50为汇合状态,它可有S22、S32、S42任一状态驱动在转移条件满足时发生状态转移。图4-10 选择性分支状态转移图 如当X11接通时,S20向S31转移,S20变为OFF,此后即使X1或X21再接通,S21或S41也不会被激活。 根据不同的条件(X1,X11,X21),选择执行其中一个条件满足的分支流程,其分支流程分解图如图4-11所示。(a)第一分支(X1接通) (b)第二分支 (X11接通)(c)第三分支(X21接通)图4-11 选择性分支流程分解图2.选择性分支与汇合的编程 选择性分支与汇合的编程一般按如下几个思路进行:(1)总编程原则先集中处理选择性分支状态,再集中处理汇合状态。(2)分支状态的编程 编程方法是先进行分支状态的驱动处理,再依顺序进行转移处理。 如图4-12所示,其中图4-12(a)是分支状态,图4-12(b)是分支状态程序。按分支状态的编程方法,首先对S20进行驱动处理(OUT Y0),然后按S21、S31、S41的顺序进行转移处理。STL S20OUT Y0LD X1SET S21LD X11SET S31LD X21SET S41 (b)分支状态程序 (a)分支状态图4-12 选择性分支状态及其编程(3)选择性分支汇合状态的编程先进行汇合前状态的驱动处理,再依顺序进行向汇合状态的转移处理。按照汇合状态的编程方法,依次将 S21、S22、S31、S32、S41、S42的输出进行处理,然后按顺序进行从 S22(第一分支)、S32(第二分支)、S42(第三分支)向S50的转移。图4-13(a)选择性汇合状态 STL S21第一分支汇合前处理OUT
显示全部