三菱FX PLC,如何学习步进指令及其梯形图
上篇文章讲述了什么是顺序功能图(SFC),这次我们接着学习与其相关的步进指令和步进梯形图吧!
所谓“步进”,顾名思义,其实就是状态步的前进,即状态步的顺序执行,一步一步地往下走,直到整个顺序控制程序执行完毕(个人理解,但我觉得非常有道理哈哈)。
步进梯形图指令STL、RET步进梯形图指令包含步进指令STL和步进返回指令RET,在同一SFC的梯形图中缺一不可,如图19-1所示为它们的梯形图形式。看到这种成对出现的指令,大家是不是觉得似曾相识?
其实在之前的文章中也出现过许多这种形影不离的指令对,如子程序调用指令(CALL、SRET)、循环指令(FOR、NEXT)等,但STL指令和RET指令和这些成对的指令有所不同,什么?你问我哪里不同?
别急,我们接着往下看。
图19-1
STL指令和RET指令均无驱动条件,STL指令的适用软元件为状态继电器S,如图19-1中的S20,表示S20状态步的开始,有多少个状态步就有多少个STL,而RET指令在一个梯步进形图只出现一次,而且是在步进梯形图的结尾,表示步进梯形图的结束。
所以,知道STL指令、RET指令与上文所提的子程序调用指令、循环指令等的区别了吗?简单来说,虽然STL、RET指令在同一SFC的梯形图中缺一不可,但STL指令可以多次出现,而RET指令只出现一次,如下图19-2所示。
图19-2
状态的转移指令SET、OUT
前面说到,有多少个状态步就有多少个STL,那状态步与状态步之间的转移条件与转移方向又是怎样实现的呢?
这就用到另外两个指令了,那就是SET指令和OUT指令。SET指令和OUT指令都具有同样的功能,就是自动复位上一个状态,同时激活下一个状态,但OUT指令是用于向分离的状态转移,至于什么是分离的状态,大家可以看上一篇的文章哦。
SET指令用于同一个SFC的梯形图中实现各个状态步之间的各种转移,如图19-3所示,其中STL与SET之间为状态步的命令与动作,如SLT S20与SET S30之间的省略号部分内容。
转移条件为X1的接通,转移方向为SET所带的状态继电器编号,如SET S30中的S30。
图19-3
上篇文章提到,转移条件不一定是单个触点,也可以是一段程序,显然,程序也被包含在省略号中了。
相关软元件
与SFC的梯形图有关的软元件包括状态继电器S和部分特殊辅助继电器M,下图19-4所示为相关状态继电器的编号与功能,这在上一篇文章也有提及。
图19-4
相关特殊辅助继电器编号与功能在编程手册的截图如下图1-5所示,各特殊继电器的含义也写得很详细了,所示我在这里也不再过多解释。
不过M8000和M8002不仅是在SFC的梯形图中被用到,在大多数梯形图中,它们的身影也是很常见的。
图19-5
看到这里,结合上篇文章,我相信大家对于SFC的梯形图也有了比较清晰的了解,图19-6就是一个简单的SFC的梯形图示例。
这里我就稍微考考大家好了,有哪位小可爱可以根据这个梯形图画出SFC吗?当然啦,画不出也没关系,因为在编程软件中,本就具有将梯形图转SFC或将SFC转梯形图的功能。
图19-6
咦?好像有什么不得了的东西混进来了!没错,就是在编程软件中,本来就可以直接编写SFC,然后让软件自动将SFC转换为梯形图。
这里可能又有读者提问了,那在编程软件中怎么编写SFC图呢?
编程软件中的SFC图
首先,编程软件中怎么编写SFC图我在和就不详细讲解了,因为那是软件使用的问题,大家感兴趣的可以看对应课程,因为只是操作问题,相信大家看一遍也就会了。我在这里就针对几点重点内容简单讲一下即可。
图19-6所示为SFC的梯形图的示例,其中开头部分为初始化梯形图块,在SFC编程模式下直接独立为一块,因为它的编写跟普通梯形图一样,如下图19-7所示。
图19-7
图19-6中的STL S0 直至RET之间的梯形图,在SFC编程模式下就以SFC块的形式编写,一个状态步为一个SFC块,例如S0状态步中的程序段正如下图19-8所示。
图19-8
转移条件虽然可以是程序段,但其在SFC图中用短横线表示的部分编写基本是单个触点或几个触点的串并联组合,如下图19-9所示,用于驱动转移指令TRAN。
图19-9
显然,在SFC编程模式下,没有用到STL指令和RET指,而且结构清晰明了,各个状态步独立编写,非常有利于我们对顺控程序进行设计和分析。
温馨提示:如果你没有用过编程软件是尝试编写一下,那么这部分的内容,你可能会完全看不懂哟。所以,大家非常有必要装一个软件玩一玩。
步进梯形图中的相关注意事项
(1) 输出驱动的保持性
当状态步内有驱动输出时,一旦状态发生转移,该驱动输出就会随着其状态步的复位而被复位。除非它用SET指令进行保持,在此情况下,即使所处状态已经复位,该驱动输出仍保持为ON。
如下图19-10所示,S20状态向S30状态转移时,Y0被复位为OFF,而Y1保持为ON。
图19-10
(2)双线圈输出的处理
在普通梯形图中,同一输出继电器线圈不能重复使用,但在SFC中却可以,只要该输出继电器线圈处在不同状态步中即可,但不建议使用重复线圈编程。
另外,对定时继电器也可以使用重复编号,但在两个状态步之间的转移时间为一个扫描周期,在该扫描周期内这两个状态步同时处于激活状态。所以,同一编号的定时继电器不能出现在相邻状态步中,如下图19-11所示。
图19-11
(3)输出驱动的互锁
由于在状态转移的一个扫描周期内,两个状态同时处于激活状态,所以对某些不能同时接通的输出驱动,有必要设置互锁环节,如下图19-12所示,两个状态步中的Y1与Y2互锁。
图19-12
(4)状态内指令的应用
对于无触点的驱动输出应先编写,如下图19-13所示,Y0、Y1均无触点驱动,应放在前面先编写。
另外,在每一个STL指令与SET指令之间的程序段,只有首行与左母线相连,对应在SFC编程模式下的每个状态步内,也是只有首行与左母线相连。
图19-13
说到这个首行与左母线相连的问题,我在听课的时候听到这个,就赶紧用编程软件试了一下。你不是说只能首行嘛,那我就偏偏把每一行都与左母线相连,然后发现无法编译,尴尬……
说到步进指令,就不得不提那个非常典型的案例了,就是电动机的顺序启动和逆序停下案例。如有4台电动机,按下启动按钮,按每隔3秒时间顺序启动;按下停止按钮,按每隔4秒时间逆序停止,其梯形图如下图19-14所示。
图19-4
至此,本次关于步进指令与其梯形图的学习分享已结束!
注:本文章内容都是基于三菱FX PLC 2N所写
选自《三菱FX系列PLC顺序控制应用》第二章第5~6课时
(技成培训网原创,作者:杨思慧,未经授权不得转载,违者必究)
三菱FX系列PLC基本指令步进梯形图指令
三菱FX系列PLC基本指令.步进梯形图指令
FX 系列 PLC 有基本顺控指令 20 或 27 条、步进梯形图指令 2 条、应用(功能)指令 100 多条(不同系列有所不同)。以 FX2N 为例,介绍其基本顺控指令和步进指令及其应用。
FX1N,FX2N,FX2NC 共有 27 条基本顺控指令,2条步进梯形图指令。
FX 系列 PLC — 取指令与输出指令 (LD/LDI/LDP/LDF/OUT)
( 1 ) LD (取指令) 一个常开触点与左母线连接的指令,每一个以常开触点开始的逻辑行都用此指令。
( 2 ) LDI (取反指令) 一个常闭触点与左母线连接指令,每一个以常闭触点开始的逻辑行都用此指令。
( 3 ) LDP (取上升沿指令) 与左母线连接的常开触点的上升沿检测指令,仅在指定位元件的上升沿(由 OFF → ON )时接通一个扫描周期。
( 4 ) LDF (取下降沿指令) 与左母线连接的常闭触点的下降沿检测指令。
( 5 ) OUT (输出指令) 对线圈进行驱动的指令,也称为输出指令。
取指令与输出指令的使用如图 1 所示。
图 1 取指令与输出指令的使用
取指令与输出指令的使用说明:
1 ) LD 、 LDI 指令既可用于输入左母线相连的触点,也可与 ANB 、 ORB 指令配合实现块逻辑运算;
2 ) LDP 、 LDF 指令仅在对应元件有效时维持一个扫描周期的接通。图 3-15 中,当 M1 有一个下降沿时,则 Y3 只有一个扫描周期为 ON 。
3 ) LD 、 LDI 、 LDP 、 LDF 指令的目标元件为 X 、 Y 、 M 、 T 、 C 、 S ;
4 ) OUT 指令可以连续使用若干次(相当于线圈并联),对于定时器和计数器,在 OUT 指令之后应设置常数 K 或数据寄存器。
5 ) OUT 指令目标元件为 Y 、 M 、 T 、 C 和 S ,但不能用于 X 。
FX 系列 PLC — 触点串联指令 (AND/ANI/ANDP/ANDF)
( 1 ) AND (与指令) 一个常开触点串联连接指令,完成逻辑“与”运算。
( 2 ) ANI (与反指令) 一个常闭触点串联连接指令,完成逻辑“与非”运算。
( 3 ) ANDP 上升沿检测串联连接指令。
( 4 ) ANDF 下降沿检测串联连接指令。
触点串联指令的使用如图 1 所示。
图 1 触点串联指令的使用
触点串联指令的使用的使用说明:
1 ) AND 、 ANI 、 ANDP 、 ANDF 都指是单个触点串联连接的指令,串联次数没有限制,可反复使用。
2 ) AND 、 ANI 、 ANDP 、 ANDF 的目标元元件为 X 、 Y 、 M 、 T 、 C 和 S 。
3 )图 1 中 OUT M101 指令之后通过 T1 的触点去驱动 Y4 称为连续输出。
FX 系列 PLC — 触点并联指令 (OR/ORI/ORP/ORF)
( 1 ) OR (或指令) 用于单个常开触点的并联,实现逻辑“或”运算。
( 2 ) ORI (或非指令) 用于单个常闭触点的并联,实现逻辑“或非”运算。
( 3 ) ORP 上升沿检测并联连接指令。
( 4 ) ORF 下降沿检测并联连接指令。
触点并联指令的使用如图 1 所示。
图 1 触点并联指令的使用
触点并联指令的使用说明:
1 ) OR 、 ORI 、 ORP 、 ORF 指令都是指单个触点的并联,并联触点的左端接到 LD 、 LDI 、 LDP 或 LPF 处,右端与前一条指令对应触点的右端相连。触点并联指令连续使用的次数不限;
2 ) OR 、 ORI 、 ORP 、 ORF 指令的目标元件为 X 、 Y 、 M 、 T 、 C 、 S 。
FX 系列 PLC — 块操作指令 (ORB/ANB)
( 1 ) ORB (块或指令) 用于两个或两个以上的触点串联连接的电路之间的并联。 ORB 指令的使用如图 1 所示。
图 1 ORB 指令的使用
ORB 指令的使用说明:
1 )几个串联电路块并联连接时,每个串联电路块开始时应该用 LD 或 LDI 指令;
2 )有多个电路块并联回路,如对每个电路块使用 ORB 指令,则并联的电路块数量没有限制;
3 ) ORB 指令也可以连续使用,但这种程序写法不推荐使用, LD 或 LDI 指令的使用次数不得超过 8 次,也就是 ORB 只能连续使用 8 次以下。
( 2 ) ANB (块与指令) 用于两个或两个以上触点并联连接的电路之间的串联。 ANB 指令的使用说明如图 2 所示。
图 2 ANB 指令的使用
ANB 指令的使用说明:
1 )并联电路块串联连接时,并联电路块的开始均用 LD 或 LDI 指令;
2 )多个并联回路块连接按顺序和前面的回路串联时, ANB 指令的使用次数没有限制。也可连续使用 ANB ,但与 ORB 一样,使用次数在 8 次以下。
FX系列PLC — 置位与复位指令 (SET/RST)
( 1 ) SET (置位指令) 它的作用是使被操作的目标元件置位并保持。
( 2 ) RST (复位指令) 使被操作的目标元件复位并保持清零状态。
SET 、 RST 指令的使用如图 1 所示。当 X0 常开接通时, Y0 变为 ON 状态并一直保持该状态,即使 X0 断开 Y0 的 ON 状态仍维持不变;只有当 X1 的常开闭合时, Y0 才变为 OFF 状态并保持,即使 X1 常开断开, Y0 也仍为 OFF 状态。
图 置位与复位指令的使用
SET 、 RST 指令的使用说明:
1 ) SET 指令的目标元件为 Y 、 M 、 S , RST 指令的目标元件为 Y 、 M 、 S 、 T 、 C 、 D 、 V 、 Z 。 RST 指令常被用来对 D 、 Z 、 V 的内容清零,还用来复位积算定时器和计数器。
2 )对于同一目标元件, SET 、 RST 可多次使用,顺序也可随意,但最后执行者有效。
FX系列PLC — 微分指令 (PLS/PLF)
( 1 ) PLS (上升沿微分指令) 在输入信号上升沿产生一个扫描周期的脉冲输出。
( 2 ) PLF (下降沿微分指令) 在输入信号下降沿产生一个扫描周期的脉冲输出。
微分指令的使用如图 1 所示,利用微分指令检测到信号的边沿,通过置位和复位命令控制Y0的状态。
图 1 微分指令的使用
PLS 、 PLF 指令的使用说明:
1 ) PLS 、 PLF 指令的目标元件为 Y 和 M ;
2 )使用 PLS 时,仅在驱动输入为 ON 后的一个扫描周期内目标元件 ON ,如图 3-21 所示, M0 仅在 X0 的常开触点由断到通时的一个扫描周期内为 ON ;使用 PLF 指令时只是利用输入信号的下降沿驱动,其它与 PLS 相同。
FX 系列 PLC — 主控指令 (MC/MCR)
( 1 ) MC (主控指令) 用于公共串联触点的连接。执行 MC 后,左母线移到 MC 触点的后面。
( 2 ) MCR (主控复位指令) 它是 MC 指令的复位指令,即利用 MCR 指令恢复原左母线的位置。
在编程时常会出现这样的情况,多个线圈同时受一个或一组触点控制,如果在每个线圈的控制电路中都串入同样的触点,将占用很多存储单元,使用主控指令就可以解决这一问题。 MC 、 MCR 指令的使用如图 1 所示,利用 MC N0 M100 实现左母线右移,使 Y0 、 Y1 都在 X0 的控制之下,其中 N0 表示嵌套等级,在无嵌套结构中 N0 的使用次数无限制;利用 MCR N0 恢复到原左母线状态。如果 X0 断开则会跳过 MC 、 MCR 之间的指令向下执行。
图 1 主控指令的使用
MC 、 MCR 指令的使用说明:
1 ) MC 、 MCR 指令的目标元件为 Y 和 M ,但不能用特殊辅助继电器。 MC 占 3 个程序步, MCR 占 2 个程序步;
2 )主控触点在梯形图中与一般触点垂直(如图 3-22 中的 M100 )。主控触点是与左母线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用 LD 或 LDI 指令。
3 ) MC 指令的输入触点断开时,在 MC 和 MCR 之内的积算定时器、计数器、用复位 / 置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用 OUT 指令驱动的元件将复位,如图 3-22 中当 X0 断开, Y0 和 Y1 即变为 OFF 。
4 )在一个 MC 指令区内若再使用 MC 指令称为嵌套。嵌套级数最多为 8 级,编号按 N0 → N1 → N2 → N3 → N4 → N5 → N6 → N7 顺序增大,每级的返回用对应的 MCR 指令,从编号大的嵌套级开始复位。
FX系列PLC — 堆栈指令 (MPS/MRD/MPP)
堆栈指令是 FX 系列中新增的基本指令,用于多重输出电路,为编程带来便利。在 FX 系列 PLC 中有 11 个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。
( 1 ) MPS (进栈指令) 将运算结果送入栈存储器的第一段,同时将先前送入的数据依次移到栈的下一段。
( 2 ) MRD (读栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动。
( 3 ) MPP (出栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据从栈中消失,同时将栈中其它数据依次上移。
堆栈指令的使用如图 1 所示,其中图 1a 为一层栈,进栈后的信息可无限使用,最后一次使用 MPP 指令弹出信号;图 1b 为二层栈,它用了二个栈单元。
图 1 堆栈指令的使用
a) 一层栈 b) 二层栈
堆栈指令的使用说明:
1 )堆栈指令没有目标元件;
2 ) MPS 和 MPP 必须配对使用;
3 )由于栈存储单元只有 11 个,所以栈的层次最多 11 层。
FX系列PLC的逻辑反、空操作与结束指令 (INV/NOP/END)
( 1 ) INV (反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图 1 所示,如果 X0 断开,则 Y0 为 ON ,否则 Y0 为 OFF 。使用时应注意 INV 不能象指令表的 LD 、 LDI 、 LDP 、 LDF 那样与母线连接,也不能象指令表中的 OR 、 ORI 、 ORP 、 ORF 指令那样单独使用。
图 1 反指令的使用
( 2 ) NOP (空操作指令) 不执行操作,但占一个程序步。执行 NOP 时并不做任何事,有时可用 NOP 指令短接某些触点或用 NOP 指令将不要的指令覆盖。当 PLC 执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。
( 3 ) END (结束指令) 表示程序结束。若程序的最后不写 END 指令,则 PLC 不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有 END 指令,当扫描到 END 时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干 END 指令,将程序划分若干段,在确定前面程序段无误后,依次删除 END 指令,直至调试结束。
FX系列PLC的步进指令 ( STL/RET )
1 .步进指令 ( STL/RET )
步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。
FX2N 中有两条步进指令: STL (步进触点指令)和 RET (步进返回指令)。
STL 和 RET 指令只有与状态器 S 配合才能具有步进功能。如 STL S200 表示状态常开触点,称为 STL 触点,它在梯形图中的符号为
,它没有常闭触点。我们用每个状态器 S 记录一个工步,例 STL S200 有效(为 ON ),则进入 S200 表示的一步(类似于本步的总开关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号为 ON ,则关断 S200 进入下一步,如 S201 步。 RET 指令是用来复位 STL 指令的。执行 RET 后将重回母线,退出步进状态。
2 .状态转移图
一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。如图 1 所示,用状态器 S 记录每个状态, X 为转换条件。如当 X1 为 ON 时,则系统由 S20 状态转为 S21 状态。
图 1 状态转移图与步进指令
状态转移图中的每一步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。如图 1 中 S20 步驱动 Y0 ,当 X1 有效为 ON 时,则系统由 S20 状态转为 S21 状态, X1 即为转换条件,转换的目标为 S21 步。
3 .步进指令的使用说明
1 ) STL 触点是与左侧母线相连的常开触点,某 STL 触点接通,则对应的状态为活动步;
2 )与 STL 触点相连的触点应用 LD 或 LDI 指令,只有执行完 RET 后才返回左侧母线;
3 ) STL 触点可直接驱动或通过别的触点驱动 Y 、 M 、 S 、 T 等元件的线圈;
4 )由于 PLC 只执行活动步对应的电路块,所以使用 STL 指令时允许双线圈输出(顺控程序在不同的步可多次驱动同一线圈);
5) STL 触点驱动的电路块中不能使用 MC 和 MCR 指令,但可以用 CJ 指令;
6) 在中断程序和子程序内,不能使用 STL 指令。
相关问答
三菱fx3uplc步进指令的编程技巧?
在编写三菱FX3UPLC的步进指令时,首先需要明确步进电机的参数和要实现的运动轨迹,然后采用正确的指令格式,如LD、OUT、MOV等指令来控制步进电机的运动。在编程...
三菱plc交通灯步进指令编程实例?
为了编写三菱PLC交通灯步进指令编程实例,首先需要定义交通灯的步进动作,例如红灯亮、绿灯亮、黄灯亮等。然后利用梯形图编程,根据交通灯状态的变化,设置相应...
三菱plc步进指令?
答:三菱plc步进指令分为:状态步,活动步,转移步。步进指令有单循环,和循环程序比如:有4个电机,分别从1号电机启动间隔3秒,2号电机启动一直到4号电机启动...答...
三菱plc梯形图步进指令怎么加?
1步进指令是PLC程序中常用的一种指令,可以实现步进电机的控制。2在三菱PLC的梯形图编程中,步进指令的加法方式如下:第一步,选择需要控制的步进电机...1...
三菱plc的步进指令实例?
三菱plc步进指令实例,1、打开三菱plc的相关窗口,直接在梯形图输入的基础上确定LDX0。2、下一步需要通过梯形图输入,来继续确定FMOVK6D0K3。3、等转换编...
三菱plc编程一般用什么指令?那么多的指令全要记住么?
一般来说你学会用基本指令已经足够了、至于步进指令看你的工作环境咯、一般工厂里的流水线用基本指令都可以编出来的、过于追求高级指令只会令自己痛苦、只要...
三菱PLC控制步进电机的最简单的程序?
下面是三菱PLC控制步进电机的最简单程序:LDK100OUTY0//使能信号LD#10MOVD0//设定脉冲数LD#1MOVD1//设定速度LD#1MOVD2//设定方......
三菱PLC步进指令怎样分别设急停?
将急停的按钮的程序放在最前面就行,然后在步进程序中用辅助继电器M代替输出Y,[步进程序分二部分,前面用一般程序,后面用步进程序].然后在一般程序中用M来控...
三菱PLC控制步进电机的最简单的程序是什么?
三菱PLC控制步进电机的最简单的程序是状态。步进电机有状态位呗,先制作一个转一圈的程序,不知道你的电机分了多少位,定个简单的比如8位,从011(这个随意)再...
用三菱plc(FX2N)编程控制线性的运动,输出模块FX2N-4DA?
编程思路:1、初始化输出模块:参照FX2N-4DA手册用TO指令设置参数,模块置为-10v~10v输出模式。这样数字量0~1000对应输出0~5V。2、赋值D1=0,D2=1000,将用...