变频器、可编程序控制器及触摸屏综合应用技术实操指导书(第3版)
上QQ阅读APP看书,第一时间看更新

知识准备

FX系列PLC基本指令使用技巧

FX系列PLC的基本指令包括触点指令、结合指令、线圈输出类指令、主控指令、其他指令等五类,分别见表2-1~表2-5。

2-1 触点指令

978-7-111-59091-0-Chapter02-1.jpg

(续)

978-7-111-59091-0-Chapter02-2.jpg

2-2 结合指令

978-7-111-59091-0-Chapter02-3.jpg

(续)

978-7-111-59091-0-Chapter02-4.jpg

2-3 线圈输出类指令

978-7-111-59091-0-Chapter02-5.jpg

2-4 主控指令

978-7-111-59091-0-Chapter02-6.jpg

2-5 其他指令

978-7-111-59091-0-Chapter02-7.jpg

1.LD、LDI指令

LD(LOAD)/LDI(LOAD INVERSE)指令用于软元件的常开/常闭触点与母线、临时母线、分支起点的连接,或者说是表示母线运算开始的触点。

LD/LDI指令可用的软元件有:X、Y、M、S、T、C。LD/LDI指令编程及时序图如图2-1、图2-2所示。

978-7-111-59091-0-Chapter02-8.jpg

图2-1 LD指令编程及时序图

978-7-111-59091-0-Chapter02-9.jpg

图2-2 LDI指令编程及时序图

在FX3U系列PLC中,LD和LDI指令可以通过变址(V、Z)进行修饰,如图2-3所示。

978-7-111-59091-0-Chapter02-10.jpg

图2-3 LD指令通过变址修饰情况

图2-3中,当V0=K11时,由X013决定Y000的输出情况。

2.OUT指令

OUT指令也叫作线圈驱动指令,用于线圈的连接。OUT指令可多次连续使用(这叫作并联输出)。OUT指令可使用的软元件有Y、M、S、T、C。

OUT指令编程示例如图2-4所示。

978-7-111-59091-0-Chapter02-11.jpg

图2-4 OUT指令编程示例

a)梯形图程序 b)指令表 c)时序图

定时器和计数器的线圈设定时,在OUT指令后要加上设定值,设定值以十进制数直接指定,也可以通过数据寄存器(D)或文件寄存器(R)间接指定,如图2-5、图2-6所示。

978-7-111-59091-0-Chapter02-12.jpg

图2-5 直接指定示例

978-7-111-59091-0-Chapter02-13.jpg

图2-6 间接指定示例

3.AND/ANI/与非指令

AND/ANI指令用于一个常开/常闭触点与其前面电路的串联连接(做“逻辑与”运算),串联触点的数量不限,该指令可多次使用。AND/ANI指令可用的软元件为X、Y、M、S、T、C等。使用参考如图2-7、图2-8示例所示。

978-7-111-59091-0-Chapter02-14.jpg

图2-7 AND指令使用示例

978-7-111-59091-0-Chapter02-15.jpg

图2-8 ANI指令使用示例

4.OR/ORI(或/或非)指令

OR/ORI指令用于一个常开/常闭触点与上面电路的并联连接(做“逻辑或”运算)。并联触点的数量不限,该指令可多次使用,但当使用打印机打印程序时,并联列数不要超过24行。OR/ORI指令可用的软元件为X、Y、M、S、T、C。使用参考如图2-9示例所示。

5.LDP、LDF、ANDP、ANDF、ORP、ORF指令

LDP、LDF、ANDP、ANDF、ORP、ORF指令是触点指令。这些指令表达的触点在梯形图中的位置与LD、AND、OR指令表达的触点在梯形图中的位置相同,只是两种指令表达的触点的功能有所不同。

LDP、ANDP、ORP指令是上升沿检测的触点指令。在指定软元件的触点状态由OFF→ON时刻(上升沿),其驱动的软元件接通1个扫描周期。

LDF、ANDF、ORF指令是下降沿检测的触点指令。在指定软元件的触点由ON→OFF时刻(下降沿),其驱动的软元件接通1个扫描周期。

978-7-111-59091-0-Chapter02-16.jpg

图2-9 0R、ORI使用示例

LDP、LDF、ANDP、ANDF、ORP、ORF指令可用的软元件为X、Y、M、S、T、C。上升沿指令使用示例如图2-10所示。

978-7-111-59091-0-Chapter02-17.jpg

图2-10 上升沿指令使用示例

6.ORB(电路块或)指令

电路块:电路块是指由两个或两个以上的触点连接构成的电路。

ORB指令用于串联电路块的并联连接。ORB指令的用法和编程示例如图2-11所示。

978-7-111-59091-0-Chapter02-18.jpg

图2-11 ORB指令的用法和编程示例

使用ORB指令要点如下:

1)编程时,每一个电路块单独进行编程,即每个电路块都起始于LD/LDI指令。

2)ORB指令是块连接指令,编程时,指令后面没有软元件。

3)编写多个电路块的并联程序时,ORB指令可写于每个电路块后(见图2-11指令表),这样可并联无限多的电路块,ORB的使用次数没有限制,也可将所有电路块程序写完后,连续写多个ORB指令,但采取这种编程方式时,最多可连续写8次ORB指令。

7.ANB(电路块与)指令

ANB指令用于并联电路块的串联连接。ANB指令的用法和编程示例如图2-12所示。使用ANB指令要点如下:

1)每一个电路块要单独编程,即每一个电路块都起始于LD/LDI指令。

2)ANB指令是块连接指令,编程时,指令后面没有软元件。

3)编写多个电路块串联程序时,ANB指令可写于每个电路块后,这样可串联无限多的电路块,也可将所有电路块程序写完后,连续写多个ANB指令。但采取这种编程方式时,最多可连续写8次ANB指令。

978-7-111-59091-0-Chapter02-19.jpg

图2-12 ANB指令用法编程示例

8.MPS、MRD、MPP(运算结果进栈、读栈、出栈)指令

FX系列可编程序控制器中有11个被称为堆栈的内存,用于记忆运算的中间结果。MPS、MRD、MPP指令用于多重分支输出电路的编程。MPS、MRD、MPP指令基本结构如图2-13所示。

978-7-111-59091-0-Chapter02-20.jpg

图2-13 栈指令基本结构

MPS(PUSH)为进栈指令,该指令将当前的运算结果送入栈存储器。

MRD(READ)为读栈指令,该指令用于读出栈内由MPS指令存储的运算结果。栈内数据不改变。

MPP(POP)为出栈指令,该指令用于取出栈内由MPS指令存储的运算结果,同时该数据在栈内消失。

使用栈指令基本要点如下:

1)栈起点相当于电路的串联连接,写指令时使用AND、ANI指令。

2)MPS、MPP指令必须成对使用。

3)编程时,在MPS、MRD、MPP指令后没有软元件。

4)MPS指令可以重复使用,但使用次数不允许超过11次(或者说,最多可做11个分支点记忆),这在实际中被称为多层栈,如图2-14、图2-15所示。

978-7-111-59091-0-Chapter02-21.jpg

图2-14 二层栈编程示例

978-7-111-59091-0-Chapter02-22.jpg

图2-15 三层栈编程示例

9.MC、MCR主控指令

MC(Master Control):主控指令或公共触点串联连接指令(MC的意义是将母线转移到条件触点后面)。

MCR(Master Control Reset):主控复位指令(MCR的意义是将母线还原回来)。

MC、MCR指令用于一个或多个触点控制多条分支电路的编程。每一个主控程序均以MC指令开始,以MCR指令结束,它们必须成对使用。当执行指令的条件满足时,直接执行从MC到MCR的程序。例如,在图2-16中,当X001为ON时,执行MC到MCR间的程序,否则不执行这段程序。当X001为OFF时,即使此时X002为ON,Y001也为OFF。

978-7-111-59091-0-Chapter02-23.jpg

图2-16 主控指令编程示例

主控指令编程要点如下:

1)使用主控指令的触点称为主控触点,在梯形图中与一般触点相垂直。

2)使用主控触点后,相当于将母线移到主控触点的后面。

3)MC指令的输入触点断开时,积算定时器/计数器和用复位/置位指令驱动的软元件保持其当前的状态;非积算定时器和用OUT驱动的软元件变为OFF。

978-7-111-59091-0-Chapter02-24.jpg

图2-17 多重主控指令编程示例

4)在MC指令与MCR指令之间可再次使用MC/MCR指令,这叫作嵌套。主控触点回路内最多可有8层嵌套。嵌套次数可按顺序分为0~7级,嵌套层数为0~7层,用N0~N7表示(其嵌套编号须依序加大:N0→N1→N2→N3→N4→N5→N6→N7)。主控结束按N7~N0顺序表示(其嵌套编号须依次减小:N7→N6→N5→N4→N3→N2→N1→N0)。多重主控指令使用编程如图2-17所示。

5)主控指令MC可使用的软元件为Y、M。

10.PLS、PLF(脉冲沿微分输出)指令

PLS指令将指定信号上升沿进行微分后,输出一个脉冲宽度为一个扫描周期的脉冲信号。如图2-18所示,当X000的状态由OFF→ON时,M10接通一个扫描周期。

PLF指令将指定信号的下降沿进行微分后,输出一个脉冲宽度为一个扫描周期的脉冲信号。如图2-19所示,当X001的状态由ON→OFF时,M11接通一个扫描周期。

通常使用PLS/PLF指令将脉宽较宽的输入信号变成脉宽为一个扫描周期的触发信号,用该信号可对计数器进行初始化或复位。

PLS/PLF指令可使用的软元件为Y、M(特殊M除外)。

978-7-111-59091-0-Chapter02-25.jpg

图2-18 PLS指令编程示例

978-7-111-59091-0-Chapter02-26.jpg

图2-19 PLF指令编程示例

另外,图2-20中,使用OUT指令和PLS指令的功能是一样的。

978-7-111-59091-0-Chapter02-27.jpg

图2-20 OUT指令和PLS指令等效程序

11.SET(置位)、RST(复位)指令

SET指令用于对软元件置位,即将受控组件设定为ON并保持受控组件的状态。SET指令可使用的软元件为Y、M、S。

RST指令用于对软元件复位,即将受控组件设定为OFF,也就是解除受控组件的状态。RST指令可使用的软元件为Y、M、S、T、C、D、V、Z。

积算定时器T246~T255的当前值要复位,也必须使用RST指令。

将数据寄存器D、V、Z中的内容清0,除了可用RST指令外,还可使用MOV指令将K0传送到D、V、Z中。

SET、RST指令的用法如图2-21所示,当X000为ON时,执行SET指令,Y000置位为ON状态,并保持0N状态,即使X000变为OFF,Y000仍然为ON的状态。当X001为0N时,执行RST指令,Y000复位为OFF状态。若X000、X001均为ON时,则后执行的指令优先,图2-21中复位指令优先。

978-7-111-59091-0-Chapter02-28.jpg

图2-21 SET、RST指令的用法

12.NOP(空操作)指令

NOP指令是空操作指令,指令后没有软元件。执行NOP指令不做任何操作,但占用步序。编写程序时,加入一些NOP指令,可减少修改程序时步序号的变化。若用NOP指令替换程序中的某一指令,会改变电路的结构,使用时一定要注意。

13.END(程序结束)指令

END指令用于程序的结束,指令后没有软元件。

PLC以扫描方式执行程序,执行到END指令时,扫描周期结束,再进行下一个周期的扫描。END指令后面的程序不执行。

调试程序时,常常在程序中插入END指令,将程序进行分段调试。

14.INV指令

INV指令用于将执行INV指令之前的运算结果取反,INV指令后无软元件。INV指令只能在与AND、ANI、ANDP、ANDF指令相同位置处编程。

INV指令的用法编程示例如图2-22所示。

978-7-111-59091-0-Chapter02-29.jpg

图2-22 INV指令的用法编程示例