- 三菱PLC与变频器控制电路识图自学通
- 郑凤翼编著
- 10字
- 2020-08-27 10:28:19
1.3 FX2N系列PLC的指令系统
1.3.1 基本指令及其应用
1. 逻辑取及输出线圈指令(LD、LDI、OUT)
(1)LD、LDI、OUT指令格式及功能(见表1-3-1)。
表1-3-1 LD、LDI、OUT指令格式及功能
(2)LD、LDI、OUT指令说明及编程示例。
① 在分支电路开始处,LD、LDI指令还作为分支的起点指令,与后叙的AND与ORB指令配合使用。
② OUT指令是对输出继电器、辅助继电器、状态继电器、定时器、计数器的线圈的驱动指令,但不能用于驱动输入继电器。
OUT指令驱动定时器T、计数器C时,必须有设定值。
③ 对应梯形图的一逻辑行,指令表以LD或LDI开始,以OUT结束。
④ LD、LDI、OUT编程示例(见图1-3-1),梯形图中左边一条竖线称为左母线,右边一条竖线称为右母线。
图1-3-1 LD、LDI、OUT指令应用
2. 触点串联指令(AND、ANI)和触点并联指令(OR、ORI)
(1)AND、ANI和OR、ORI指令格式及功能(见表1-3-2)。
表1-3-2 AND、ANI和OR、ORI指令格式及功能
(2)AND、ANI指令和OR、ORI说明及编程示例。
① 用AND、ANI指令可进行一个触点的串联连接。AND用于动合触点串联,ANI用于动断触点串联。串联触点的个数没有限制,该指令可以多次重复使用。
② OR、ORI指令是从当前步开始,将一触点与前面的LD、LDI指令步进行并联连接。也就是说,将一个动合触点或动断触点接到左母线上。对于两个或两个以上的串联触点组的并联连接,将用到后面介绍的ORB指令。
③ 串联、并联触点的数目虽然没有限制,但由于图形编程器和打印机的功能有限制,因此尽量做到一行不超过10个触点和1个线圈,连续输出总共不超过24行。
④ AND、ANI指令和OR、ORI编程示例如见图1-3-2所示。
图1-3-2 AND、ANI和OR、ORI指令应用
3. 边沿检测脉冲指令(LDP、LDF、ANDP、ANDF、ORP和ORF指令)
(1)LDP、LDF、ANDP、ANDF、ORP和ORF指令格式(见表1-3-3)。
表1-3-3 脉冲指令格式
(2)LDP、LDF、ANDP、ANDF、ORP和ORF指令说明及编程示例。
① LDP、ANDP、ORP指令是用来检测触点状态变化的上升沿(OFF→ON变化时)的指令,当上升沿到来时,使其操作对象接通一个扫描周期,又称上升沿微分指令。
② LDF、ANDF、ORF指令是用来检测触点状态变化的下降沿(ON→OFF变化时)的指令,当下降沿到来时,使其操作对象接通一个扫描周期,又称下降沿微分指令。
上述指令操作数全为位元件,即X、Y、M、S、T、C。
③ LDP、LDF、ANDP、ANDF、ORP和ORF编程示例见图1-3-3,在X2的上升沿或X3的下降沿,Y0有输出,且接通一个扫描周期。对于M0输出,仅当M3接通,T5的上升沿接通时,M0输出一个扫描周期。工作波形图如图1-3-3(c)所示。
图1-3-3 边沿检测脉冲指令的应用
4. 电路块并联指令(ANB)和电路块串联指令(ORB)
(1)ANB和ORB指令格式(见表1-3-4)。
表1-3-4 ANB和ORB指令格式
(2)ANB和ORB指令说明及编程示例。
① 由含有一个或多个触点的串联电路形成的并联分支电路称为并联电路块。并联电路块与前面电路串联连接时,要使用ANB指令。串联电路的起始点用LD、LDI指令。并联电路块结束后,使用ANB指令与前面电路串联起来。ANB指令是无操作数的独立指令。
② 两个或两个以上的触点串联连接的电路称为串联电路块。串联电路块并联连接时,分支的开始用LD、LDI指令,分支的结束用ORB指令。ORB指令也是无操作数的独立指令。
③ 多个并联电路块进行串联连接时,串联的电路块数没有限制。
④ 多个串联电路块进行并联连接时,并联的电路块数没有限制。
⑤ ANB、ORB编程示例见图1-3-4,可以看出:
图1-3-4 ANB、ORB指令的应用
● 当串联电路块进行并联连接时,起始用LD、LDI指令,结束用ORB指令。并联电路块进行串联连接时,起始用LD、LDI指令,结束用ANB指令。
● 无论是在电路块中并联一触点,还是在当前位置并联一触点到左母线,均采用OR或ORI指令。
● 如果串联电路块中含有并联电路块,则对串联电路块开始用LD、LDI指令,结束用ANB指令;而对其中的每一个并联电路块,开始都要用LD、LDI指令,结束都要用ORB指令。
5. 多重输出指令(MPS、MRD、MPP)
(1)MPS、MRD、MPP指令格式(见表1-3-5)。
表1-3-5 MPS、MRD、MPP指令格式
(2)MPS、MRD、MPP指令说明。
MPS、MRD、MPP这组指令的功能是将连接点的结果存储起来,以方便连接点后面电路的编程。PLC中有11个存储运算中间结果的存储器,称为堆栈存储器,如图1-3-5所示。堆栈采用先进后出的数据存储方式。
图1-3-5 堆栈存储器
MPS:入栈指令,把中间运算结果送入堆栈的第一个堆栈单元(栈顶),同时让堆栈中原有的数据顺序下移一个堆栈单元。再次使用MPS指令时,当时的运算结果送入堆栈的第一个堆栈单元(栈顶),先送入的数据依次向下移一个堆栈单元。图1-3-5堆栈存储器中的① 是第一次入栈的数据,② 是第二次入栈的数据。
MRD:读栈指令,仅仅读出栈顶的数据。该指令操作完成后,堆栈中的数据维持原状。MRD指令可多次连续重复使用,但不能超过24次。
MPP:出栈指令,弹出堆栈中第一个堆栈单元的数据(该数据在堆栈中消失),同时使堆栈中第二个堆栈单元至栈底的所有数据顺序上移一个单元,原第二个堆栈单元的数据进入栈顶。
MPS和MPP指令必须成对使用,而且连续使用次数应少于11次。
电路中的一组支路有公共触点且各自拥有专用触点时,可以使用堆栈指令来编程。
(3)一层堆栈编程示例(见图1-3-6)。
图1-3-6 一层堆栈应用程序
6. 主控触点指令(MC、MCR)
(1)MC、MCR指令格式(见表1-3-6)。
表1-3-6 MC、MCR指令格式
(2)MC、MCR指令说明。
MC:主控指令,又名公共触点串联的连接指令,用于表示主控区的开始,该指令的操作元件为Y、M(不包括特殊辅助继电器)。
MCR:主控复位指令,又名公共触点串联的清除指令,用于表示主控区的结束,该指令的操作元件为主控指令的使用次数N(N0~N7)。
在编程时,经常遇到许多线圈同时受一个或一组触点控制的情况,如图1-3-7所示。如果在每个线圈电路中都串有同样的触点,将占用很多存储单元,使用主控指令可解决这一问题。使用主控指令的触点称为主控触点,它在梯形图中与一般的触点垂直,它是与母线相连的动合触点,是控制一组电路的总开关。
图1-3-7 许多线圈同时受一个或一组触点控制
与主控触点相连的触点必须用LD或LDI指令。执行MC指令后,母线移到主控触点的后面,执行MCR指令,母线回到原来的位置。
在MC指令内使用MC指令称为嵌套。在MC和MCR指令中包含嵌套的层数N0~N7,N0为最高层,N7为最低层。在没有嵌套结构时,通常用N0编程,使用次数没有限制。
(3)MC、MCR指令编程示例。
用主控指令实现图1-3-7电路的方法如图1-3-8所示。
图1-3-8 用主控指令实现图1-3-7所示电路
主控指令相当于借助辅助继电器M100,利用它的动合触点在M100后新开了一条子母线,该母线后的所有触点与它之间都用LD进行连接,其关系如同M100与主母线之间的关系。当M100控制的诸条逻辑行结束后,应用MCR指令撤销该子母线,后面X6动合触点开始的程序中各触点的连接仍依原母线进行。
在图1-3-8中,X1闭合时,执行MC与MCR之间的指令;当输入条件断开时,不执行MC和MCR之间的指令,这时,非积算定时器、用OUT指令驱动的编程元件均复位,但积算定时器、计数器、用SET/RST指令驱动的编程元件保持当前的状态。使用MC指令后,相当于母线移到主控触点后面,MCR使母线回到原来的位置。
用MC指令连接某些辅助继电器(M100~M177)的动合触点,此动合触点的一端与公共母线相连,另一端连接着一条“子母线”,与“子母线”相连的其他触点用LD(LDI)指令连接。用MCR指令消除对应辅助继电器所形成的“子母线”,使该指令后面的LD(LDI)又回到与原来的母线相连。
7. 置位及复位指令(SET、RST)
(1)SET、RST指令格式(见表1-3-7)。
表1-3-7 SET、RST指令格式
(2)SET、RST指令说明及编程示例。
① SET为置位指令,其功能是:驱动线圈,使操作对象置“1”,并具有自锁功能,维持接通状态;RST为复位指令,使操作对象置“0”,即线圈断开复位,维持断开状态。
② 对同一元件可以多次使用SET、RST指令,顺序可任意,但在最后执行的一条才有效。
③ RST指令还可以使数据寄存器(D)、变址寄存器(V、Z)的内容清零。此外积算定时器T246~T255当前值的清零和触点的复位也可使用RST指令,计数器C的当前值清零及输出触点复位也可以使用RST指令。
④ SET/RST指令的应用如图1-3-9所示。当X0闭合时,使Y0接通,此后不管X0是何状态,Y0一直保持接通;而当X1接通时,将Y0断开,即复位状态,此后不管X1是何状态,Y0一直保持断开。
图1-3-9 SET/RST指令的应用
8. 脉冲输出指令(PLS、PLF)
(1)PLS、PLF指令格式(见表1-3-8)。
表1-3-8 PLS、PLF指令格式
(2)PLS、PLF指令说明。
PLS指令在输入信号上升沿产生一个扫描周期的脉冲输出。
PLF指令在输入信号下降沿产生一个扫描周期的脉冲输出。
① 使用PLS指令,元件Y、M仅在驱动输入接通后的一个扫描周期内动作。
② 使用PLF指令,元件Y、M仅在驱动输入断开后的一个扫描周期内动作。
③ 特殊继电器不能用作PLS或PLF的操作元件。
④ 在驱动输入接通时,PC由运行(RUN)→停机(STOP)→运行(RUN)时,其输入信号仍为ON,执行“PLS M0”将会输出一个脉冲,但“PLS M600”不动作。这是因为M600是保持继电器,即使在断电停机时其动作也能保持。
(3)PLS、PLF指令编程示例。
PLS、PLF指令的应用说明如图1-3-10所示。图1-3-10(a)为PLS、PLF指令应用梯形图,图1-3-10(b)为其指令表,图1-3-10(c)为PLS、PLF指令应用的时序图。
图1-3-10 PLS、PLF指令的应用
9. 取反指令(INV)
INV指令格式见表1-3-9。INV指令在梯形图中用一条45 °短斜线表示,它将对INV指令之前的运算结果取反,无操作元件。INV指令不能单独占用一条电路支路,也不能直接与左母线相连。
表1-3-9 INV指令格式
图1-3-11所示为INV指令的应用梯形图、指令语句表和功能时序图。
图1-3-11 INV指令的应用
10. 空操作指令(NOP)的格式(见表1-3-10)及说明
表1-3-10 NOP指令格式
NOP为空操作指令,该指令是一条无动作、无目标元件、占一个程序步的指令。空操作指令使该步序进行空操作。
① 用NOP指令代替已写入的指令,可以改变电路。
② 在程序中加入NOP指令,在改变或追加程序时,可以减少步序号的改变。
③ 执行完清除用户存储器操作后,用户存储器的内容全部变为空操作指令。
11. 结束指令(END)
(1)END指令格式(见表1-3-11)。
表1-3-11 END指令格式
(2)END指令说明及编程示例。
END指令用来标记用户程序存储区最后一个存储单元。PLC反复进行输入处理、程序运算、输出处理。若在程序最后写入END指令,则END以后的程序步就不再执行,直接进行输出处理。如图1-3-12所示,在程序调试过程中,按段插入END指令,可以顺序扩大对各程序段动作的检查。采用END指令将程序划分为若干段,在确认处于前面电路块的动作正确无误后,依次删去END指令。
图1-3-12 END指令的应用