第 4章 三菱 FX 2系列 PLC的步进指令本章要求
– 本章介绍步进顺控指令及其编程方法--状态转移图法 。 要求掌握用 SFC语言来描述步进顺控过程的设计思路,掌握单流程结构,选择与并行分支结构以及循环结构的状态编程;要求能用结构化程序设计来分析与设计用 SFC语言编制的分支与汇合的组合状态流程;要求能熟练的使用 FXGP软件,设计步进梯形图,指令表和 SFC,并能将 SFC转换成步进梯形图 。
4.1 状态转移图 SFC
例 3.2对图 3.4动力头 1的 运动控制,分解为几个工步,
以流程图形式来表示其每个工步的动作,从而得到图
3.5动力头 1的工作流程图。
图 4.1 动力头 1的状态编程
816
比较图 4.1( a)和图 3.5,可看出,用 SFC语言编制的流程图,要比梯形图编制的程序来得形象、直观、以及可读性好,清晰地反映了控制的全过程。而且,它将一个复杂的控制过程,分解成若干个工步,起到了化难为简的作用,也符合结构化程序设计的特点。
在图 3.5中将工步 1~工步 3用状态 S20~ S22来代替,将原位状态用 S2表示;启动按钮 SB2用 X000来表示,行程开关输入 SQ2,SQ4和 SQ1是工步间切换主令,正好相应地用 X002,X004和 X001来表示各状态间的转换条件;这样就可以得到动力头 1状态转移图,如图 4.1( b
)所示。
4.1 状态转移图 SFC 2
4.1.2 FX2的状态软组件 3
表 4.1FX2系列 PLC1000个状态组件(状态寄存器),是构成状态转移图的基本组件。状态 S0~ S9用作 SFC的初始状态,S10~ S19用作多运行模式中返回原点状态;
S20~ S499用作 SFC的中间状态; S500~ S899是电池后备,即使在掉电时也能保存其动作的状态; S900~
S999用作报警组件。
表 4.1 FX2状态寄存器一览表
4.1.2 FX2的状态软组件 4
目标组件 Y,M,S,T,C和 F均可由状态 S的接点来驱动,也可由各种接点的组合来驱动。当前状态可由单独接点作为转移条件,也可由各种接点的组合作转移条件。当 CPU执行步进顺控程序时,扫描与某状态相连的梯形图,同扫描与主控接点相连的梯形图是一样的。若该状态为 1,相当于主控触点闭合;若该状态为
0,相当于主控触点断开。
图 4.1( b)中,S2作为动力头运动的初始状态。当按下
SB2,即常开 X000接通时,S2转移条件满足,状态 S20
投入工作。对应动力头 1进入第 1工步,电动机 M正转,
动力头 1向前移动。当动力头 1压下终点限位开关 SQ2时
,常开 X002接通,常闭 X002断开,状态从 S20转移到
S21,对应动力头 1进入第 2工步。在 S21状态,因常闭
4.1.2 FX2的状态软组件 5
X002断开,输出线圈 Y001失电,电机停转,动力头 1
处在等待状态。同时,因常开 X002闭合,将同时起动动力头 2前进。(图 3.4中没有画出动力头 2,完整的图请看第 3章习题中的图 3.52)。 当动力头 2压下终点限位开关 SQ4时,常开 X004接通,状态从 S21转移到 S22
,动力头 1进入第 3工步。在 S22状态,常开 X004接通,
输出线圈 Y003得电,电机 M反转,动力头 1后退(常开
X004接通,也将同时使动力头 2后退,但在梯形图中未画)。当动力头 1到达原位后压下原位行程开关 SQ1,
使常闭 X001断开,电动机 M停转,动力头停在原位,
完成一次工作循环。
4.1.3 状态 转移 图的编制方法 1
例 4.1 画出例 3.2动力头 1的状态转移图。
解,( 1)状态分配工作过程按工步分解,工步对应状态,状态分配如第 1,2列。
( 2)状态输出状态输出 是要明确每个状态的负载驱动与功能,如第 3列。
( 3)状态转移状态转移 是要明确状态转移条件和方向,如第 4列。转移条件
X000成立时,将从状态 S2到 S20,即动力头 1前进;转移条件表 4.2 动力头 1的状态分配
4.2 步进指令与状态编程 1
X002成立时,将从 S20转移到 S21,即动力头 1等待;转移条件
X004成立时,将从 S21转移到 S22,即动力头 1后退;转移条件
X001成立时,将从 S22回到初始状态 S2。由此可给出动力头 1状态转移图,如图 4.1( b)。
4.2.1 步进指令 STL,RET
1.指令用法
STL和 RET是一对步进指令,表示步进开始和结束。
2
表 4.3 步进指令
4.2 步进指令与状态编程 2
2.指令说明
( 1) STL(步进阶梯):与主母线连接常开接点指令
STL接点是用两个小矩形组成的常开接点来表示的:
( 2) RET(返回):返回主母线指令。
3.由实例初识步进指令图 4.2( a)~( c)为动力头 1的部分状态转移图、步进梯形图和指令表。
( 1) STL接点(步进接点)左端总是与左母线相连,
而与其右端相连的接点要用 LD或 LDI指令,如图 4.2( c
)中,16 LD X004和 20 LDI X001等。 STL有建立子母线功能,当某状态被激活时,母线就移到子母线上,
所有操作均在子母线上进行。步进指令具有主控功能。
4.2 步进指令与状态编程 3
( 2) STL指令仅对状态组件 S有效,不能用于非状态组件,只有步进接点才能驱动状态组件 S,如图中的
STL
图 4.2 动力头 1部分状态的编程
4.2 步进指令与状态编程 4
S21。使用 STL指令后的状态组件,才具有步进控制功能。当不用于状态时,状态组件 S与普通继电器完全一样,可以使用 LD,LDI,AND,ANI,OR,ORI,OUT
,SET和 RST等指令。无论 S组件是否用于状态,其接点都可当作普通继电器的接点一样地使用。
( 3)当一个新的状态被 STL指令置位时,其前一状态就自动复位。如图中的 S22被驱动时,S21就自动复位。
( 4)步进接点接通时,与其相连的电路才可执行,此时也可直接或用普通的常开 /常闭接点驱动线圈,如步序 14~ 15用普通常闭接点驱动线圈 Y002。步进接点断开时,与其相连的电路就会停止执行;若要保持普通线圈的输出,可使用具有自保功能的 SET和 RST指令,如
13
4.2 步进指令与状态编程 5
图中的步序 21 OUT Y003,改为 SET Y003,就能保持
Y003的输出。
( 5)当把 LD或 LDI点返回主母线时,需要使用步进返回指令 RET。步序 25 RET指令指示状态流程的结束,
返回主程序,即在主母线上继续执行非状态程序。
4.2.2 单流程 SFC与步进梯形图编程
1.单流程 SFC
在状态转移图中单流程的 SFC是最基本的结构流程。单流程结构 SFC由顺序排列、依次有效的状态序列组成,
每个状态的后面只跟一个转移条件,每个转移条件后面也只连接一个状态,如图 4.3( a)所示 SFC就是一个单流程的结构。
4.2.2 单流程 SFC与步进梯形图编程 1
S20有效时,若条件 X001接 通,就
S20→ S21,转移完成,S20同时复位。依次类推,直至最后一状态

图 4.2 动力头 1部分状态的编程步序 指 令
7 STL S20
8 OUT Y000
9 LD X001
10 SET S21
12 STL S21
13 OUT Y002
14 LD X002
15 SET S22
17 STL S22
18 OUT Y003
19 LD X003
20 SET S26
22 STL S26
23 OUT Y006
24 LD X004
( c) 指令表
4.2.2 单流程 SFC与步进梯形图编程 2
2.步进梯形图程序设计在梯形图中引入步进接点和步进返回指令后,就可从
SFC图转换成相应的步进梯形图和指令表。从图 4.3抽出一有代表性的状态 S21,其相应的 SFC、步进梯形图和指令表,如图 4.4( a)~( c)所示。比较它们之间的关系,提供了一个从 SFC转换成步进梯形图和指令表的 模板 。
图 4.4 状态编程的模板
4.2.2 单流程 SFC与步进梯形图编程 3
( 1)状态编程规则每个状态具有三个功能:
驱动负载指定转移方向指定转移条件后两个功能是必不可少的,没有负载的状态就不必进行负载驱动。抽出 S21状态来看的图 4.4( b)中,当 STL
接点接通,S21有效,先用 OUT驱动负载 Y002,后用
SET S22决定转移方向,下一状态为 S22。
① 初始状态的编程初始状态是指一个顺控工艺过程最开始的状态,对应于状态转移图起始位置的状态就是初始状态。 S0~ S9专用作初始状态。
4.2.2 单流程 SFC与步进梯形图编程 4
初始状态编程须在其它状态前,开始运行后,初始状态可由其它状态来驱动,如图 4.1( b) 中是用 S22来驱动初始状态 S2的 。 但首次开始运行时,初始状态必须用其它方法预先驱动,否则状态流程就不能进行 。 可利用系统的初始条件,如可由 PLC从 STOP→ RUN切换瞬间的初始脉冲使 M8002接通来驱动初始状态,如图 4.5所示 。 更好的初始状态编程可用后述的 IST指令来编制 。
每一初始状态下的分支数总和不能超过 16个,从每一个分支点上引出的分支不能超过 8个,所以超过 8个的分支不能集中在一个分支点上引出 。
2
图 4.5 初始状态 S2的驱动梯形图
4.2.2 单流程 SFC与步进梯形图编程 5
② 一般状态的编程一般状态组件须在其它状态后加入 STL指令,来进行驱动,即不能用除状态组件之外的其它方式驱动 。 一般状态编程时,必须 先负载驱动,后转移处理 。 所以,都要使用步进接点 STL指令,以保证负载驱动和状态转移都是在子母线上进行 。
如在图 4.3( b) 中,拿状态 S20来看,当 S20的 STL接点被接通后,先是用 OUT指令驱动输出线圈 Y000,然后才是用 SET S21指令决定转移方向,转向下一相邻状态
S21。 状态组件不可重复使用 。
③ 相邻的两状态中不能用同一定时器,否则会导致定时器没有复位机会,而引起混乱;在非相邻的状态中可使用同一个定时器,如图 4.6所示 。
4.2.2 单流程 SFC与步进梯形图编程 6
④ 连续转移用 SET,非连续转移用 OUT
如在图 4.3( b) 中,从状态 S22向初始状态 S2转移时,
程序中用的是 OUT指令,而不能用 SET指令 。
⑤ 在 STL与 RET指令间不能用 MC,MCR指令; MPS指令也不能紧接着 STL指令后用 。 在子程序或中断服务程序中,不能使用 STL指令;在状态内部最好不用跳转指令 CJ,以免引起混乱 。
图 4.6 相邻状态不能使用同一个定时器
4.2.2 单流程 SFC与步进梯形图编程 7
( 2) 状态编程的特点每次只考虑一个状态,而不必考虑其它状态,使编程更容易,特别适用于时间和位移等顺序的控制过程 。
只有 STL接点接通,该状态的负载驱动和状态转移才能被扫描执行 。 反之,就不能执行 。 因此,除初始状态外
,其它状态只有在转移条件成立时才能被前一状态置位而激活,一旦下一状态激活,前一状态就自动关闭,就象是一环扣一环的链表,不相邻状态间的繁杂联锁关系将不复存在 。
在状态编程的最后,须用步进返回指令 RET,从子母线返回主母线 。 如在图 4.23( b) 中,若没有 RET指令,
会将后面的所有程序还看成是当前状态 S22中的指令,
也包括了最开始处的指令,就会引起程序出错 。
1,FXGP的版本信息可以用如图 4.7所示菜单命令:,帮助 _ 关于 SW0PC-
FXGP/WIN-C”来查看软件的版本信息 。 跳出的版本信息窗如图 4.8所示,本书使用的是该软件 V3.00版 。
4.2.3 用三菱 FXGP软件设计 SFC 1
图 4.7 FXGP帮助菜单 图 4.8 FXGP的版本信息
2,视图菜单梯形图视窗编辑梯形图,指令视窗编辑指令表,SFC视窗和内置梯形图视窗编辑 SFC图 。
4.2.3 用三菱 FXGP软件设计 SFC 2
可用图 4.9所示视图菜单来选择进入不同的视窗:
图 4.9 视图菜单其用法是:
①,视图_梯形图,,进入梯形图编辑窗口 。
②,视图_指令表,,进入指令表编辑窗口 。
③,视图_ SFC”,进入 SFC编辑窗口 。
④ 用视图菜单命令:,视图_内置梯形图,,进入内置梯形图编辑窗口 。
35
4.2.3 用三菱 FXGP软件设计 SFC 3
3,SFC视窗进入 FXGP并新建或打开一个程序文件后,就可用菜单命令:,视图_ SFC”,进入 SFC窗口,如图 4.10所示
。 ( 1) 工具栏中的视图与转换按钮图 4.10 SFC视窗工具栏按钮 菜单栏功能键,F1~ F10 状态栏指令表梯形图转换
4.2.3 用三菱 FXGP软件设计 SFC 4
使用图 4.10 SFC视窗上部的工具栏按钮将使操作更为快捷,下面是几个比较常用的视图与转换按钮 。
① 梯形图按钮,进入梯形图编辑窗口 。
② 指令表按钮,进入指令表编辑窗口 。
③ 转换按钮,将梯形图 ( 包括内置梯形图 ) 或 SFC
图转换为指令表 。
梯形图,指令表和 SFC可以互相转换,它们之间关系如图 4.11.所示 。 如果在 SFC视窗中画好了一个 SFC图 ( 包括其内置梯形图 ),只要用鼠标左键单击转换按钮,那么再单击指令表按钮,就可得到对应的指令表,单击梯形图按钮,就可得到对应的梯形图 。 如果先画好的是梯形图,情况也一样 。 这种互相转换的关系,使得用户只
4.2.3 用三菱 FXGP软件设计 SFC 5
要编出一种程序,就可以得到另外两种,大大提高了编辑用户程序的效率 。 注意,不但在画好了每一个内置梯形图后,要按转换按钮,在画好整个 SFC后,也要按转换按钮,或用,工具_转换,命令,都能进行转换 。
图 4.11 梯形图、指令表和 SFC图之转换关系
( 2) 功能键功能键是用来输入各种 SFC图的符号的,每个功能键能在 SFC程序中输入的符号如表 4.4所示 。 说明如下:
① 表中的第一列为,事项,,表示产生的 SFC符号的名称;表中的第二列为,屏幕显示的符号,,表示产生的 SFC符号;表中的第三列为,功能键,,表示产生第二列的 SFC符号要按下的功能键;表中的第四列为,备注,,作了一些必要的说明 。
② 表中的符号 是表示按下 Shift键不放,同时单击 F4功能键按钮 ( 或按 F4功能键 ) 。
③ 从表 4.4的第 3,4行可以看到,初始状态是双线框,而一般状态是单线框,但是它们都是用 来产生的,怎样区分呢
? 正如表 4.4第 3行的备注栏所说,软件会根据状态号自动区分 。
④ 表 4.4中最后三行是画分支汇合线,需要通过练习来体会掌握画法,软件也会按所画符号位置自动识别为选择或并行分支线 。
4.2.3 用三菱 FXGP软件设计 SFC 6
shift F4
shift F4
表 4.4
功能键输入
SFC
程序中的符号表 7
4.2.3 用三菱 FXGP软件设计 SFC 8
图 4.10 SFC视窗左下部的有 10个功能键按钮,如图 4.12
所示 。 其功能同按功能键 F1~ F10一样 。
图 4.12 10个功能键按钮图 4.13 按下 Shift键后的 10个功能键按钮如果按下 Shift键不放,将会显示另外 10个功能按钮:
( 3) 光标位置与符号输入
SFC视窗编辑区被划分成许多格子,每个格子从上到下又被划分成 5个光标小区域 。 光标处于这些区域时能输入的符号如下面的图 4.14所示 。
4.2.3 用三菱 FXGP软件设计 SFC 9
图 4.14 光标所处区域与能输入的符号关系
4.2.3 用三菱 FXGP软件设计 SFC 10
每个光标域能输入的符号说明如下:
① 光标域 1:状态输入位,可输入用 输入的状态框,
并可调用菜单命令建立该状态对应的内置梯形图;可用 F8输入阶梯块符号,并可调用菜单命令建立该阶梯块对应的内置梯形图;还可用 F6或 F7输入跳转和重置 ( Reset) 符号 。
② 光标域 2:连接位,状态与下一步骤的连接位置 。
③ 光标域 3:分支汇合位,可选择分支或并行分支的汇合处,在此位置可以用,和 画各种分支汇合线 。 软件能按所画符号位置自动识别为选择或并行分支线 。
④ 光标域 4:过渡条件位,在此位置可以用 输入转移条件,并可调用菜单命令建立该转移条件对应的内置梯形图 。
⑤ 光标域 5:分支汇合位,并行分支或可选择分支的汇合处,在此位置可以用,和 画各种分支汇合线 。 软件能按所画符号位置自动识别为选择或并行分支线 。
shift F4
shift F6 shift F7 shift F8
shift F5
4.2.3 用三菱 FXGP软件设计 SFC 11
4,SFC编程实例以图 4.1( b) 的 SFC为例 。 建立 SFC程序:先确定流程
,后画内置梯形图 。 两 部分应该单独编程 。
( 1) SFC部分如图 4.15( a),SFC部分由阶梯块和状态块组成,编程时主要是输入 SFC符号,以确定流程,。
( 2) 内置梯形图部分如图 4.15( b),它是通过先选中相应的梯形块,状态块或转移条件后,用菜单命令,视图 _ 内置梯形图 来画的,在内置梯形图中要确定状态的负载输出和状态的转移条件 。
注意:在状态块后创建阶梯块时,FXGP将自动插入
RET指令,用户不必输入 RET指令 。
4.2.3 用三菱 FXGP软件设计 SFC 12
图 4.15 用 FXGP对图 4.1( b)中的 SFC编程
4.2.3 用三菱 FXGP软件设计 SFC 13
( 3) SFC部分的行与列包括阶梯块在内的每个状态都有自己的行数,行数最多不能超过 250行;每个状态都有自己的列数,
列数最多不能超过 16列 。
例 4.2 用三菱的 FXGP编程软件
,画出图 4.1( b) 动力头 1的
SFC图,并将其转换成相应的步进梯形图和指令表 。
解:
( 1) 单击 FXGP执行图标:
进入 FXGP软件的窗口 。 图 4.16 SFC部分的行与列
4.2.3 用三菱 FXGP软件设计 SFC 14
( 2) 单击新文件按钮 _出现如图 4.17PLC类型设置对话框,选实际所用的 PLC( 缺省为 FX2N/FX2NC) _按确认钮 。
用菜单命令:文件_另存为 _ 将新建文件命名为
EX42.PMW。 当然,也可以在步进梯形图画好后关闭时
,按程序提示将文件取名为 EX42.PMW存盘 。
( 3) 用菜单命令:视图_ SFC_进入 SFC窗口,如图
4.18所示 。
图 4.17 PLC类型设置
4.2.3 用三菱 FXGP软件设计 SFC 15
图 4.18 SFC窗口
4.2.3 用三菱 FXGP软件设计 SFC 16
( 4) 在 SFC窗口中画出图 4.1( b) 所示的状态转移图,如图 4.23
( a) 所示 ( 也可见图 4.18的 SFC窗口左边 ) 。 具体画法如下:
① 光标定位后 ( 光标域 1),按功能键 F8,即出现标注为
Ladder 0的框,该框如图 4.23( a) 的状态转移图中的最上面所示 。 在 Ladder 0框选中后,用图 4.9所示视图菜单命令:,视图
_内置梯形图,画出对应的梯形图,画好后按转换按钮:,所画梯形图如图 4.19所示 。
21
图 4.19 Ladder 0的内置梯形图
② 回到 SFC窗口,光标定位在 Ladder0框下一格的光标域 1处 。 按功能键 F5,即出现一个单线框 。 输入 S2并按回车,单线框即变成了双线框,这就是初始步框 S2。 选中 S2框下的横线,用命令
:视图_内置梯形图,画好其内置梯形图,如图 4.20所示 。
4.2.3 用三菱 FXGP软件设计 SFC 17
③ 回到 SFC窗口,光标定位在 S2框的下一格的光标域 1处 。 按功能键 F5,即出现一个单线框 。 输入 S20并按回车,这就是工作步框 S20。 选中 S20框,用菜单命令:视图_内置梯形图,画好相应的内置梯形图,如图 4.21所示 。 选中 S20框下的横线,用同样方法画好其内置梯形图,也如图 4.21所示 。
图 4.20 S2的内置梯形图图 4.21 S20的内置梯形图
④ 同样画好 S21~ S22工作步框及其相应的转移的内置梯形图

⑤ 回到 SFC窗口,光标定位在 S22框的下一格的光标域 1处 。 按
4.2.3 用三菱 FXGP软件设计 SFC 18
⑦ 全部画好后的状态转移图如图 4.23( a) 所示 。 再按 按钮
,可得到相应的步进梯形图,如图 4.23( b) 所示 。 按 按钮
,可得相应的指令表,如图 4.23( c) 所示 。 为了便于比较,将图 4.23( a) 状态转移图和图 4.23( b) 梯形图也粘贴在图 4.18窗口中 。
图 4.22 Ladder 1的内置梯形图功能键 F6,即出现一个黑色的箭头,在其旁标有 Jump,输入 S2
并按回车,参看图 4.23( a) 。
⑥ 回到 SFC窗口,光标定位在 Jump的下一格的光标域 1处 。 按功能键 F8,即出现 Ladder 1框 。 画好 Ladder 1框对应的内置梯形图为 END,如图 4.22所示 。
4.2.3 用三菱 FXGP软件设计 SFC 19
图 4.22 Ladder 1的内置梯形图