清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计 图424(a)为单流程SFC:只有一个转移条件并转向一个分支的 单流程状态编程。图4.24(b)为选择结构SFC:要按不同转移 条件选择转向不同分支,执行不同分支后再根据不同转移条件汇 合到同一分支。图424(c)为并行结构SFC:要按同一转移条件 同时转向几个分支,执行不同的分支后再汇合到同一分支 X000 X000 x000 S20 Y00 S20 Y00 Y000 x001 x001 X001 X004 S21 Y002 S21 Y00)s23Y004 21}(00)[s23}(0) +x005 X002 X004 x002 X002 S22 Y003 S24 y005 s22(Y003 S22 (0)[s34m0 x003 x003 X03 0[s(0 S26 006 x007 x007 〔a)单流程SFC 〔b〕选择结构SFC 〔c〕并行结构SFC 图424三种基本结构SFC
4.2.4 多流程状态程序设计 1 图4.24(a)为单流程SFC:只有一个转移条件并转向一个分支的 单流程状态编程。图4.24(b)为选择结构SFC:要按不同转移 条件选择转向不同分支,执行不同分支后再根据不同转移条件汇 合到同一分支。图4.24(c)为并行结构SFC:要按同一转移条件 同时转向几个分支,执行不同的分支后再汇合到同一分支。 图4.24 三种基本结构SFC
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计2 1.选择结构状态的编程 (1)选择结构状态流程的特点 在多个分支结构中,当状态的转移条件在一个以上时 需要根据转移条件来选择转向那个分支,这就是选择结 构状态流程。在图4.24(b)所示选择结构的SFC中, S20称分支状态,其下面有2个分支,根据不同的转移 条件X001和X004来选择转向其中的一个分支。此2个分 支不能同时被选中,当X001接通时,状态将转移到S21 而当X004接通时,状态将转移到S23,所以要求转移 条件X001和X004不能同时闭合。当状态S21或S23接通 时,S20就自动复位。S26称为汇合状态,状态S22或 S24根据各自的转移条件X003或ⅹ006向汇合状态转移。 当状态S26接通时,前一状态S22或S24就自动复位
4.2.4 多流程状态程序设计 2 1.选择结构状态的编程 (1)选择结构状态流程的特点 在多个分支结构中,当状态的转移条件在一个以上时, 需要根据转移条件来选择转向那个分支,这就是选择结 构状态流程。在图4.24(b) 所示选择结构的SFC中, S20称分支状态,其下面有2个分支,根据不同的转移 条件X001和X004来选择转向其中的一个分支。此2个分 支不能同时被选中,当X001接通时,状态将转移到S21 ,而当X004接通时,状态将转移到S23,所以要求转移 条件X001和X004不能同时闭合。当状态S21或S23接通 时,S20就自动复位。S26称为汇合状态,状态S22或 S24根据各自的转移条件X003或X006向汇合状态转移。 一当状态S26接通时,前一状态S22或S24就自动复位
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计3 1.选择结构状态的编程 (2)选择结构状态的编程 选择结构状态的编程与一般状态编程一样,也必须遵循 上节中已经指出的规则。无论是从分支状态向各个流程 分支散转时,还是从各个分支状态向汇合状态汇合时, 都要正确使用这些规则。 例43对图424(b)所示选择结构SFC编程,写出相应指令表 解:对应图424(b)所示选择结构SFC的指令表如图425所示。 ①选择性分支的编程 从分支状态S20散转的指令如步序7~13所示,转移条件Ⅹ001和 X004在同一时刻只能一个有效,一旦程序转移,另一转移条件 再有效时程序也不会理会。选择性分支的用户程序仍遵循先负载 驱动,后转移处理。步序15~18的指令是先对左边分支的状态 S21编程,步序20~23的指令是后对右边分支的状态S23编程
4.2.4 多流程状态程序设计 3 1.选择结构状态的编程 (2)选择结构状态的编程 选择结构状态的编程与一般状态编程一样,也必须遵循 上节中已经指出的规则。无论是从分支状态向各个流程 分支散转时,还是从各个分支状态向汇合状态汇合时, 都要正确使用这些规则。 例4.3 对图4.24(b)所示选择结构SFC编程,写出相应指令表。 解:对应图4.24(b)所示选择结构SFC的指令表如图4.25所示。 ① 选择性分支的编程 从分支状态S20散转的指令如步序7~13所示,转移条件X001和 X004在同一时刻只能一个有效,一旦程序转移,另一转移条件 再有效时程序也不会理会。选择性分支的用户程序仍遵循先负载 驱动,后转移处理。步序15~18的指令是先对左边分支的状态 S21编程,步序20~23的指令是后对右边分支的状态S23编程
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计4 步序指令 步序指令 4 LD XO00 25STLS22汇合前先从左至 5 SET S20 26OUTY003右负载驱动 7STLS20选择分支的编程 27 STL S24 8OUTY000先负载驱动 280UTY005 9 LD XO01 29 STL S26 10SETS21后转移至左边分支 30 OUTY006 12LDX004 31LDX007 13SETS23后转移至右边分支 32 OUTS2 15STLS21先对左分支S21编程34STLS22从左分支转移至 16 OUTY002 35LDX003汇合点 17LDX002 36 SET S26 1 8 SET S22 38STLS24从右分支转移至 20STLS23再对右分支S23编程39LDX006汇合点 21 UTY004 40 SET S26 22LDX005 42 RET 23 SET S24 43 END 图425指令表
4.2.4 多流程状态程序设计 4 步序 指 令 4 LD X000 5 SET S20 7 STL S20 选择分支的编程 8 OUT Y000 先负载驱动 9 LD X001 10 SET S21 后转移至左边分支 12 LD X004 13 SET S23 后转移至右边分支 15 STL S21 先对左分支S21编程 16 OUTY002 17 LD X002 18 SET S22 20 STL S23 再对右分支S23编程 21 OUTY004 22 LD X005 23 SET S24 步序 指 令 25 STL S22 汇合前先从左至 26 OUTY003 右负载驱动 27 STL S24 28 OUTY005 29 STL S26 30 OUTY006 31 LD X007 32 OUTS2 34 STL S22 从左分支转移至 35 LD X003 汇合点 36 SET S26 38 STL S24 从右分支转移至 39 LD X006 汇合点 40 SET S26 42 RET 43 END 图4.25 指令表
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计5 ②选择汇合的编程 两个分支至S22和S24时,将向S26汇合。汇合状态的编程,也是 先进行汇合前的负载驱动,然后从左至右向汇合状态转移,这是 为了自动生成SFC图而追加的规则。步序25~32的指令就是先进 行汇合前的状态S22、S24和S26的负载驱动,步序34~40的指令 则是后对从左至右向汇合状态S26转移的编程。在汇合程序中, 每个状态都两次使用了STL指令,第一次是引导状态进行负载驱 动,第二次则是为状态转移指示方向 注意,分支与汇合的处理程序中,不能用MPS、MRD、MPP、 ANB、ORB指令 (3)选择结构SFC与步进梯形图的转换 对选择结构SFC与梯形图转换时,关键是对分支和汇合 状态编程的处理。 分支状态编程处理:先分支状态的驱动连接,再依次按
4.2.4 多流程状态程序设计 5 ② 选择汇合的编程 两个分支至S22和S24时,将向S26汇合。汇合状态的编程,也是 先进行汇合前的负载驱动,然后从左至右向汇合状态转移,这是 为了自动生成SFC图而追加的规则。步序25~32的指令就是先进 行汇合前的状态S22、S24和S26的负载驱动,步序34~40的指令 则是后对从左至右向汇合状态S26转移的编程。在汇合程序中, 每个状态都两次使用了STL指令,第一次是引导状态进行负载驱 动,第二次则是为状态转移指示方向。 注意,分支与汇合的处理程序中,不能用MPS、MRD、MPP、 ANB、ORB指令。 (3)选择结构SFC与步进梯形图的转换 对选择结构SFC与梯形图转换时,关键是对分支和汇合 状态编程的处理。 分支状态编程处理:先分支状态的驱动连接,再依次按
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计6 转移条件置位各分支的首转移状态组件,再从左至右对 首转移状态先负载驱动,后转移处理 汇合状态编程处理:先进行汇合前各分支的最后一个状 态和汇合状态的驱动连接,再从左至右对汇合状态进行 转移连接。可见,每个状态也都两次使用了ST指令。 例44将图424(b)选择结构SFC图转换成相应的步进梯形图 解:对应图4.24(b)选择结构SFC图的步进梯形图如图426所示 ①选择性分支的梯形图 从分支状态S20散转的梯形图如图426中7~12步序间所画,可看 到,选择性分支的梯形图,仍遵循先负载驱动,后转移处理。左 边分支的状态S21和右边分支的状态S23的梯形图如15~22步序间 所画,也是从左至右,逐个编程的。 ②选择性汇合的梯形图 两个分支至S22和S24时,将向S26汇合。先进行汇合前的状态
4.2.4 多流程状态程序设计 6 转移条件置位各分支的首转移状态组件,再从左至右对 首转移状态先负载驱动,后转移处理。 汇合状态编程处理:先进行汇合前各分支的最后一个状 态和汇合状态的驱动连接,再从左至右对汇合状态进行 转移连接。可见,每个状态也都两次使用了STL指令。 例4.4 将图4.24(b)选择结构SFC图转换成相应的步进梯形图。 解:对应图4.24(b)选择结构SFC图的步进梯形图如图4.26所示 ① 选择性分支的梯形图 从分支状态S20散转的梯形图如图4.26中7~12步序间所画,可看 到,选择性分支的梯形图,仍遵循先负载驱动,后转移处理。左 边分支的状态S21和右边分支的状态S23的梯形图如15~22步序间 所画,也是从左至右,逐个编程的。 ② 选择性汇合的梯形图 两个分支至S22和S24时,将向S26汇合。先进行汇合前的状态
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计7 S20 S22、S24和汇合状态S26负载驱动, x001 其梯形图如步序25~31间所画。后从 HSET S21 x004 左至右向汇合状态S26转移,其梯形121 S21 I $2 图如步序3438间所画。在汇合梯形1 x002 图中状态S28和S24都两次使用了STL12HBEI2 接点。第一次是引导状态进行负载驱 100) x005 动,第二次则是为状态转移指示方向2232 2.并行结构状态的编程 y003 S24 y005 (1)并行结构状态流程的特点 S26 y006 若某个状态的转移条件满足,将同时 007 执行两个和两个以上分支,称为并行 S22 x003 结构分支。图424(c)所示即为并34 SET S26 S24X006 行结构的状态流程图,S20称分支状 SET S26 态,其下面有2个分支,当转移条件 图426步进梯形图
4.2.4 多流程状态程序设计 7 S22、S24和汇合状态S26负载驱动, 其梯形图如步序25~31间所画。后从 左至右向汇合状态S26转移,其梯形 图如步序34~38间所画。在汇合梯形 图中状态S22和S24都两次使用了STL 接点。第一次是引导状态进行负载驱 动,第二次则是为状态转移指示方向 2.并行结构状态的编程 (1)并行结构状态流程的特点 若某个状态的转移条件满足,将同时 执行两个和两个以上分支,称为并行 结构分支。图4.24(c)所示即为并 行结构的状态流程图,S20称分支状 态,其下面有2个分支,当转移条件 图4.26 步进梯形图
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计8 X001接通时,2个分支将同时被选中,并同时并行运行。当状态 S21和23接通时,S20就自动复位。S26为汇合状态,当两条分支 都执行到各自最后状态,S22和S24会同时接通。此时,若转移 条件ⅹ003接通,将一起转入汇合状态S26。一当状态S26接通, 前一状态S22和24就自动复位。用水平双线来表示并行分支,上 面一条表示并行分支的开始,下面一条表示并行分支的结束。 (2)并行结构状态的编程 并行结构状态的编程与一般状态编程一样,先进行负载驱动, 后进行转移处理,转移处理从左到右依次进行。无论是从分支 状态向各个流程分支并行转移时,还是从各个分支状态向汇合 状态同时汇合时,都要正确使用这些规则 例45对图424(c)并行结构SFC图编程,写出相应指令表 解:对应图424(c)所示并行结构SFC图的指令表如图427。 ①并行分支的编程
4.2.4 多流程状态程序设计 8 X001接通时,2个分支将同时被选中,并同时并行运行。当状态 S21和23接通时,S20就自动复位。S26为汇合状态,当两条分支 都执行到各自最后状态,S22和S24会同时接通。此时,若转移 条件X003接通,将一起转入汇合状态S26。一当状态S26接通, 前一状态S22和24就自动复位。用水平双线来表示并行分支,上 面一条表示并行分支的开始,下面一条表示并行分支的结束。 (2)并行结构状态的编程 并行结构状态的编程与一般状态编程一样,先进行负载驱动, 后进行转移处理,转移处理从左到右依次进行。无论是从分支 状态向各个流程分支并行转移时,还是从各个分支状态向汇合 状态同时汇合时,都要正确使用这些规则。 例4.5 对图4.24(c)并行结构SFC图编程,写出相应指令表。 解:对应图4.24(c)所示并行结构SFC图的指令表如图4.27。 ① 并行分支的编程
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计9 步序指令 步序指令 4 DX000 24STLS22汇合前先从左 SET 520 2 OUTY003至右负载驱动 7STLS20并行分支编程 26 STL S24 8OUTY00先负载驱动 27 OUT Y005 9LDX001后并行转移 28STLS26汇合状态负载 10SETS21转向左边分支 29 oUTY006驱动 12SETS23转向右边分支 30 LD X007 14STLS21先左分支S21编 31 OUT S2 oUTY002程 33STLS22从左右分支 16LDX002 34 STLS24同时向S26汇 17 SET S22 35 LDX003合点 19STLS23再右分支S23编 36 SET $26 20 OUT Y004 程 38 RET 21LDX005 39 END 22 SET S24 图427指令表
4.2.4 多流程状态程序设计 9 图4.27 指令表 步序 指 令 4 LD X000 5 SET S20 7 STL S20 并行分支编程 8 OUT Y00 先负载驱动 9 LD X001 后并行转移 10 SET S21 转向左边分支 12 SET S23 转向右边分支 14 STL S21 先左分支S21编 15 OUT Y002 程 16 LD X002 17 SET S22 19 STL S23 再右分支S23编 20 OUT Y004 程 21 LD X005 22 SET S24 步序 指 令 24 STL S22 汇合前先从左 25 OUT Y003 至右负载驱动 26 STL S24 27 OUT Y005 28 STL S26 汇合状态负载 29 OUT Y006 驱动 30 LD X007 31 OUT S2 33 STL S22 从左右分支 34 STL S24 同时向S26汇 35 LD X003 合点 36 SET S26 38 RET 39 END
清华大学出版社 TSINGHUA UNIVERSITY PRESS 42.4多流程状态程序设计10 从分支状态S20并行转移指令如步序7~12,S20有效时只要转移 条件ⅹ001接通,程序将同时向左右两分支转移,注意到这里用 了两个连续的SET指令,这是并行分支程序的特点。接着,先对 左分支S21编程,再对右分支S23编程,如步序14~22,可见, 并行分支的用户程序仍遵循先负载驱动,后转移处理的。 ②并行汇合的编程 两分支至S22和S24时,将向S26汇合。从左至右,先进行汇合前 状态S22、S24和汇合状态S26负载驱动,其指令如步序24~31。 此后将从左至右向汇合状态S26转移,其指令如步序33~36。注 意到用了两个连续的STL指令,这也是并行分支程序的特点。在 汇合程序中,这种连续的STL指令最多能使用8次 (3)并行结构SFC与步进梯形图的转换 并行结构SFC与梯形图的转换时,关键是对并行分支和并行汇合 编程处理
4.2.4 多流程状态程序设计 10 从分支状态S20并行转移指令如步序7~12,S20有效时只要转移 条件X001接通,程序将同时向左右两分支转移,注意到这里用 了两个连续的SET指令,这是并行分支程序的特点。接着,先对 左分支S21编程,再对右分支S23编程,如步序14~22,可见, 并行分支的用户程序仍遵循先负载驱动,后转移处理的。 ② 并行汇合的编程 两分支至S22和S24时,将向S26汇合。从左至右,先进行汇合前 状态S22、S24和汇合状态S26负载驱动,其指令如步序24~31。 此后将从左至右向汇合状态S26转移,其指令如步序33~36。注 意到用了两个连续的STL指令,这也是并行分支程序的特点。在 汇合程序中,这种连续的STL指令最多能使用8次。 (3)并行结构SFC与步进梯形图的转换 并行结构SFC与梯形图的转换时,关键是对并行分支和并行汇合 编程处理