13.2.3 FX2N系列的基本指令
基本逻辑指令是PLC中最基本的编程语言,掌握了它也就初步掌握了PLC的使用方法,各种型号的PLC的基本逻辑指令都大同小异,现在我们针对FX2N系列,逐条学习其指令的功能和使用方法。对于功能指令大家可参照相关手册学习使用。每条指令及其应用实例都以梯形图和语句表两种编程语言对照说明。
1.输入输出指令(LD、LDI、OUT)
LD、LDI、OUT指令与功能如表13-1所示。
表13-1 LD、LDI、OUT指令与功能
注:当使用M1536-M3071时,程序步加1。
指令说明:
LD、LDI指令用于将触点接到母线上。另外,与后面讲到的ANB指令组合,在分支起点处也可使用。
OUT指令是对输出继电器、辅助继电器、状态、定时器、计数器的线圈驱动指令,对输入继电器不能使用。
OUT指令可作多次并联使用。(如图13-9所示,在OUT M100之后接OUT T0)
0 LD X000
1 OUT Y000
2 LDI X001
3 OUT M100
4 OUT T0 K19——程序步自动管理空两步
5 OUT M101
6 AND T1
7 LD T0
8 OUT Y001
2.AND、ANI指令
AND、ANI指令与功能如表13-2所示。
表13-2 助记符与功能
指令说明:
用AND、ANI指令可进行1个触点的串联连接。串联触点的数量不受限制,该指令可多次使用。
OUT指令后,通过触点对其他线圈使用OUT指令,称之为纵接输出,(如图13-10所示的OUT M101 与OUT Y004)这种纵接输出,如果顺序不错,可多次重复。
串联触点数和纵接输出次数不受限制,但使用图形编程设备和打印机则有限制。建议尽量做到1行不超过10个触点和1个级圈,总共不要超过24行。
图13-10 AND、ANI指令的应用
0 LD X002
1 AND X000
2 OUT Y003
3 LD Y003
4 ANI X003
5 OUT M101
6 AND T1
7 OUT Y004
紧接着OUT M101以后通过触点T1可以驱动OUT Y004,如是驱动顺序相反,如图13-11(b)所示时,则必须使用后面讲到的MPS和MPP命令。
3.OR、ORI指令
OR、ORI指令与功能如表13-3所示。
表13-3 OR、ORI指令助记符与功能
注:当使用M1536-M3071时,程序步加1。
指令说明:
OR、ORI用作1个触点的并联连接指令。并联连接两个以上触点时,并将这种串联电路块与其他电路并联连接时,采用后面讲到的ORB指令。
OR、ORI是从该指令的步开始,与前面的LD、LDI指令步,进行并联连接。并联连接的次数不受限制,但使用图形编程设备和打印机时受限制(24行以下)。
如图13-12所示为OR、ORI 指令的应用。
0 LD X004
1 OR X006
2 ORI M102
3 OUT Y005
4 LDI Y005
5 AND X007
6 OR M103
7 ANI X010
8 OR M110
9 OUT M103
图13-11 OR、ORI指令应用
4.ORB指令
ORB指令的功能如表13-4所示。
表13-4 ORB指令助记符与功能
指令说明:
两个以上的触点串联连接的电路称为串联电路块。将串联电路并联连接时,分支开始用LD、LDI指令,分支结束用ORB指令。
ORB指令与后面讲的ANB指令等一样,是不带软元件地址号的独立指令。
有多个并联电路时,若对每个电路块使用ORB指令,则并联电路没有限制(见正确编程程序)。
ORB也可以成批地使用,但是由于LD、LDI指令的重复使用次数限制在8次以下,请务必注意(见编程不佳的程序)。
如图13-12所示为ORB指令的应用。
正确编程程序 编程不佳的程序
1 LD X000 1 LD X000
2 AND X001 2 AND X001
3 LD X002 3 LD X002
4 AND X003 4 AND X003
5 LDI X004 5 ORB
X6 AND X006 6 LDI X004
7 ORB 7 AND X006
8 ORB 8 ORB
9 OUT Y006 9 OUT Y00
5.ANB指令
ANB指令的功能如表13-5所示。
图13-12 ORB指令应用
表13-5 ANB指令助记符与功能
指令说明:
分支电路(并联电路块)与前面的电路串联连接时,使用ANB指令,分支的起点用LD、LDI指令,并联电路块结束后用ANB指令,与前面的电路串联。
若多个并联电路块按顺序和前面的电路串联连接时,则 ANB 指令的使用次数没有限制。也可成批地使用ANB指令,但在这种场合,与ORB指令一样,LD、LDI指令的使用次数是有限制的(8次以下),请务必请意。ANB指令的应用如图13-13所示。
图13-13 ANB 指令应用
0 LD X000 6 ORB
1 OR X001 7 OR X006
2 LD X002 8 ANB
3 AND X003 9 OR X003
4 LDI X004 10 OUT Y007
5 AND X005
6.LDP、LDF、ANDP、ANDF、ORP、ORF指令
LDP、LDF、ANDP、ANDF、ORP、ORF指令的功能如表13-6所示。
表13-6 指令助指符与功能
注:当使用M1536--M3071时,程序步加1,以上指令FX2N中才有。
指令说明:
LDP、ANDP、ORP指令是进行上升沿检测的触点指令,仅在指定位软件上沿时(即由OFF→ON变化时)接通1个扫描周期。
LDF、ANDF、ORF指令是进行下降沿检测的触点指令,仅在指定位软元件下降时(即由ON→OFF变化时)接通1个扫描周期。
LDP、LDF、ANDP、ANDF、ORP、ORF指令的应用如图13-14所示。
0 LDP X000
1 ORP X001
2 OUT M0
3 LD M8000
4 ANDP X002
5 OUT M1
0 LDF X000
1 ORF X001
2 OUT M0
3 LD M8000
4 ANDF X002
5 OUT M1
图13-14 LDP、LDF、ANDP、ANDF、ORP、ORF 指令应用
如图13-15所示为上升、下降沿时序图。
图13-15 为上升下降沿时序图
7.MPS、MRD、MPP指令
MPS、MRD、MPP指令的功能如表13-7所示。
表13-7 指令助记符与功能
指令说明:
在可编程序控制器中有11个存储器,用来存储运算的中间结果,被称为栈存储器。使用一次MPS指令就将此时刻的运算结果送入栈存储器的第1段,再使用 MPS 指令,又将此时刻的运算结果送入栈存储器的第1段,而将原先存入第一段的数据移到第二段。以此类推。使用 MPP指令,将最上段的数据读出,同时该数据从栈存储器中消失,下面的各段数据顺序向上移动。即所谓后进先出的原则。
MRD是读出最上段所存的最新数据的专用指令,栈存储器内的数据不发生移动。
这些指令都是不带软元件地址的独立指令。
如图13-16至图13-18所示为该指令的应用示例。
0 LD X004 6 OUT Y003
1 MPS 7 MRD
2 AND X005 8 OUT Y004
3 OUT Y002 9 MPP
4 MRD 10 AND X007
5 AND X006 11 OUT Y005
13-16 无嵌套的堆栈指令应用
0 LD X000 9 MPP
1 MPS 10 AND X004
2 AND X001 11 MPS
3 MPS 12 AND X005
4 AND X002 13 OUT Y002
5 OUT Y000 14 MPP
6 MPP 15 AND X006
7 AND X003 16 OUT Y003
8 OUT Y001
图13-17 嵌一次套的堆栈指令应用
图13-18 嵌二次套的堆栈指令应用
请对照如图13-18所示的梯形图与如图13-17所示的梯形图。
如图13-18所示,需要三重MPS指令编程,但是如果改成左面的电路,实现的效果一样。编程却很方便,不必采用MPS指令。如图13-19所示为无MPS的梯形图的应用示例。
0 LD X000
1 OUT Y004
2 AND X001
3 OUT Y003
4 AND X002
5 OUT Y002
6 AND X003
7 OUT Y001
8 AND X004
9 OUT Y000
图13-19 无MPS的梯形图
8.MC、MCR指令
MC、MCR指令的功能如表13-8所示。
表13-8 MC、MCR指令助记符与功能
指令说明:
在下面程序示例中,输入X000为接通时,直接执行从MC到MCR的指令,输入X000为断开时,成为如下形式:
保持当前状态:积算定时器、计数器、用置位/复位指令驱动的软元件。
变成OFF的软元件:非积算定时器,用OUT指令驱动的软元件。
主控(MC)指令后,母线(LD、LDI点)移动主控触点后,MCR为将其返回原母线的指令。
通过更改软元件地址号Y、M,可多次使用主控指令。但使用同一软元件地址号时,就和OUT指令一样,成为双线圈输出。如图13-20所示为没有嵌套的指令应用。
0 LD X000
1 MC N0 M100
4 LD X001
5 OUT Y000
6 LD X002
7 OUT Y001
8 MCR N0
图13-20 没有嵌套
如图13-21所示为有嵌套的用。
0 LD X000
1 MC N0 M100 3步指令
4 LD X001
5 OUT Y000
6 LD X002
7 MC N1 M101 3步指令
10 LD X003
11 OUT Y001
12 MCR N1 2步指令
14 LD X004
15 OUT Y002
16 MCR N0 2步指令
图13-21 有嵌套时
9.PLS、PLF指令
PLS、PLF指令的功能如表13-9所示。
表13-9 PLS、PLF指令助记符、名称
注:当使用M1536—M3071时,程序步加1。
指令说明:
使用PLF指令时,仅在驱动输入OFF后1个扫描周期内,软元件Y、M动作。
使用PLS指令时,仅在驱动输入ON后1个扫描周期内,软元件Y、M动作。
如图13-22所示为PLS、PLF 指令的应
0 LD X000
1 PLS M0 2步指令
3 LD M0
4 SET Y000
5 LD X001
6 PLF M1 2步指令
8 LD M1
9 RST Y000
图13-22 PLS、PLF指令的应用
如图13-21所示各元件的状态如图13-23所示。
图13-22 13-21中各元件的状态
10.SET、RST指令
SET、RST指令的功能如表13-10所示。
表13-10 指令助记符与功能
指令说明:
在下述程序示例中,X000一旦接通后,即使它再次成为OFF,Y000依然被吸合。X001一旦接通后,即使它再次成为OFF,Y000仍然是释放状态。
对同一种软元件,SET、RST可多次使用,顺序也可随意,但最后执行者有效。
此外,要使数据寄存器D、变址寄存器V、Z的内容清零时,也可使用RST指令。
积算定时器T246-T255的当前值的复位和触点复位也可用RST指令。
如图13-25所示为SET、RST指令的应用。
0 LD X000
1 SET Y000
2 LD X001
3 RST Y000
图13-24 SET、RST指令应用
11.计数器软元件的 OUT、RST指令
OUT、RST指令的功能如表13-11所示。
表13-11 OUT、RST指令助记符与功能
如图13-25所示为OUT、RST指令的应用示例。
图13-25 OUT、RST指令的应用
0 LD X010
1 RST C0 2步指令
3 LD X011
4 OUT C0 K10 (3步指令)
7 LD C0
8 OUT Y000
C0对X011的OFF-ON次数进行增计数,当它达到设定值K10时,输出触点C0动作,以后即使X011从OFF-ON,计数器的当前值不变,输出触点依然动作。为了清除这些当前值,让输出触点复位,则应令X010为ON。有必要在OUT指令后面指定常数K或用数据寄存器的地址号作间接设定。对于掉电保持用计数器,即使停电,也能保持当前值,以及输出触点的工作状态或复位状态。
235-C245的单相单输入计数器中,为了指定计数方向,采用特殊辅助继电器8234-M8245。如图13-26所示。
当X010为ON时,对应C***的M8***也ON,这时C***为减计数。
当X010为OFF时,对应C***的M8***也OFF,这时C***为增计数。
X011为ON时,计数器C***的输出触点复位,计数器的当前值也清零。
当X012为ON时,对依据计数器地址号确定的计数器输入X000-X005的ON/OFF进行计数。
计数器的当前值增加,通过设定值(K或D的内容)时输出触点置位。在减少方向上通过设定值复位。
0 LD X010
1 OUT M8 2步
3 LD X011
4 RST C 2步
6 LD XO12
7 OUT C K值(或D) 5步
12 LD C
13 OUT Y002
图13-26 特殊计数器的应用
12.NOP、END指令
NOP、END指令的功能如表13-12所示。
表13-12 NOP、END指令助记符与功能
指令说明:
NOP指令:
(1)将程序全部清除时,全部指令成为空操作。
(2)若在普通指令与指令之间加入空操作(NOP)指令,则可编程序控制器可继续工作,而与此无关。若在编写程序过程中加入空操作指令,则在修改或追加程序时,可以减少步序号的变化,但是程序步需要有空余。
(3)若将已写入的指令换成NOP指令,则电路会发生变化,务必请注意。
END指令:
(1)可编程序控制器反复进行输入处理、程序执行、输出处理。若在程序的最后写入END指令,则END以后的其余程序步不再执行,而直接进行输出处理。
(2)在程序中没有END指令时,则处理到最终的程序步再执行输出处理,然后返回0步处理程序。
(3)在调试期间,在各程序段插入END指令,可依次检测各程序段的动作。这种场合,在确认前面电路块动作正确无误后,依次删去END指令。
(4)RUN(运行)开始时的首次执行,从执行END指令开始。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。