第2章 基本指令及应用
2.1 基本顺序指令
松下PLC中的基本顺序指令反映了继电器控制电路各元件的基本连接关系,用于执行以位为单位的逻辑操作,共有19条。这些指令适用于FP1系列PLC的各个机型,各条指令的功能及简述见表2-1所示。
表2-1 基本顺序指令
1.初始加载和输出指令ST、ST/、OT
(1)指令功能
ST:逻辑运算开始。表示与母线连接的常开触点,或逻辑块开始的常开触点。
ST/:逻辑运算开始。表示与母线连接的常闭触点,或逻辑块开始的常闭触点。
ST和ST/的操作数:X、Y、R、C、T。
OT:线圈驱动指令,将运算结果输出到指定的继电器。
OT的操作数:Y、R。
【例2-1】 编程实例
该程序指令如下:
0 ST X0
1 OT Y0
2 ST/ X1
3 OT Y1
梯形图和时序图如图2-1所示。
图2-1 梯形图及时序图
a)梯形图 b)时序图
1)当X0为“ON”时,Y0得电输出(ON);X0为“OFF”时,Y0失电(OFF)。
2)当X1为“ON”时,Y1失电(OFF);X1为“OFF”时,Y1得电输出(ON)。
注明:上面程序中所说的X0为“ON”,是指当输入继电器X0外部连接的开关信号接通时其线圈处于得电的状态,此时对应的触点动作,常开触点闭合,常闭触点断开。X0为“OFF”是指当输入继电器X0外部连接的开关信号断开时其线圈处于失电的状态,此时对应的触点为常态,常开触点断开,常闭触点闭合。本书此后类似的情况不再重复说明。
(2)指令使用说明
OT指令不能直接从左母线输(+)(步进指令除外),不能串联使用,但可以连续使用,相当于并联输出。在梯形图中位于逻辑行的末尾,紧靠右母线。如未作特别设置(输出线圈使用设置),程序中OT指令的任一编号的继电器线圈(Y、R)只能使用一次。
2.非指令/
非指令是将该指令前的运算结果取反,可以单独使用,也可以和ST、AN、OR连用,构成ST/、AN/、OR/。
【例2-2】 编程实例
“/”指令在编程应用时指令如下所示,程序的梯形图及时序图如图2-2所示。
1)当X0、X1都为“ON”时,Y0得电输出(ON),Y1失电(OFF)。
2)当X0、X1中任一个为“OFF”时,Y0失电(OFF),Y1得电输出(ON)。
3.与和与非指令AN、AN/
(1)指令功能
AN:串联常开触点。
AN/:串联常闭触点。
AN和AN/的操作数为X、Y、R、C、T。
图2-2 梯形图及时序图
a)梯形图 b)时序图
【例2-3】 编程实例
该程序指令如下所示,其梯形图及时序图如图2-3所示。
图2-3 梯形图及时序图
a)梯形图 b)时序图
只有X0、X1都为“ON”,而X2为“OFF”时,Y0得电输出,否则Y0失电。
(2)指令使用说明
1)串联单个常开触点时使用AN指令,串联单个常闭触点时使用AN/指令。
2)AN和AN/可以连续使用,如图2-4所示,并且连续使用同一个或不同继电器的常开和常闭触点的次数没有限制。
图2-4 梯形图
4.或和或非指令OR、OR/
(1)指令功能
OR:并联常开触点。
OR/:并联常闭触点。
OR和OR/的操作数为X、Y、R、C、T。
【例2-4】 编程实例
该实例的指令如下所示:
0 ST X0
1 OR X1
2 OR/ X2
3 OT Y0
程序的梯形图及时序图如图2-5所示。
图2-5 梯形图及时序图
a)梯形图 b)时序图
只有当X0为“ON”、X1为“ON”、X2为“OFF”三个中任意一个条件具备时,Y0得电输出(ON),否则Y0失电。
(2)指令使用说明
OR和OR/将触点并联,进行逻辑“或”。OR和OR/可以连续使用。
5.组与和组或指令ANS、ORS
(1)指令功能
ANS:实现逻辑块的逻辑“与”运算。
ORS:实现逻辑块的逻辑“或”运算。
ANS和ORS指令没有操作数,操作对象是该指令助记符前的逻辑块。
【例2-5】 编程实例
1)ANS指令在编程应用指令如下所示:
0STX0
1 OR X2
2 ST X1
3 OR X3
4 ANS
5 OT Y0
上述指令梯形图及时序图如图2-6所示。
在X0、X2中一个为“ON”,同时X1、X3中一个也为“ON”时,Y0得电输出(ON)。
图2-6 梯形图及时序图
a)梯形图 b)时序图
2)ORS指令在编程应用时的指令如下:
0 ST X0
1 AN X1
2 ST X2
3 AN X3
4 ORS
5 OT Y0
上述梯形图和时序图如图2-7所示。
图2-7 梯形图及时序图
a)梯形图 b)时序图
当X0、X1同时为“ON”和X2、X3同时为“ON”,这两个条件至少具备一个时,Y0得电输出(ON),否则Y0失电(OFF)。
(2)指令使用说明
ANS和ORS指令用在较复杂的有多个逻辑块的梯形图中,指令表编程有两种方法:一种是先输入两个逻辑块,用ANS(或ORS)指令将其串联或并联,然后再输入另一个逻辑块,再用ANS(或ORS)指令,依此类推;另一种方法是先输入各个逻辑块,然后连续使用ANS(或ORS)指令将其全部串联(或并联),如表2-2所示。
6.入栈、读栈和出栈指令PSHS、RDS、POPS
(1)指令功能
PSHS:将该指令前的运算结果存储起来(入栈),以供反复使用,表示分支结构的开始。
RDS:读出由PSHS指令存储的运算结果(读栈),以引出中间的分支结构(支路)。
POPS:读出并清除由PSHS指令存储的运算结果(出栈),以引出最后一个分支结构。
表2-2 多个逻辑块串联(并联)
【例2-6】 编程实例
程序的指令如下所示。
0 ST X0
1 PSHS
2 AN X1
3 OT Y0
4 RDS
5 AN X2
6 OT R0
7 POPS
8 AN X3
9 OT Y1
该程序的梯形图及时序图如图2-8所示。
图2-8 梯形图及时序图
a)梯形图 b)时序图
(2)指令使用说明
PSHS指令:用在梯形图分支点处最上面的支路,将分支处左边的运算结果保存起来;
RDS指令:用在PSHS指令支路以下,POPS指令以上的所有支路,它能反复读出由PSHS指令存储的运算结果,以供后面程序使用;
POPS指令:用在梯形图分支点处最下面的支路,它的功能是读出由PSHS指令存储的运算结果,同前面支路进行逻辑运算,然后将PSHS指令存储的内容清除,结束分支结构的编程。
7.保持指令KP
(1)指令功能
KP指令使操作数R或Y置位或复位并保持当前状态。它相当于一个锁存器,只在复位信号到来时改变状态。
【例2-7】 编程实例
编程指令如下所示。
0 ST X0
1 ST X1
2 KP Y0
该程序的梯形图及时序图如图2-9所示。
图2-9 实例梯形图及时序图
a)梯形图 b)时序图
当X0为“ON”时,Y0得电输出(ON)并保持;
当X1为“ON”时,Y0失电(OFF)。
(2)指令使用说明
1)KP指令不能对同一线圈重复使用。
2)KP指令的控制,当置位端接通时,无论置位端的信号如何变化,输出得电并保持;只有当复位端接通时才停止输出。
3)复位端比置位端的优先级高,当复位端和置位端同时接通时,复位端起作用,停止输出。
4)两个控制端可以由多个触点按一定的逻辑关系组成。在进行指令编程时应先写出两个控制端的各个触点的逻辑关系,最后写出KP指令。
5)当工作方式改变(从RUN变为PROG)或PLC失电时,KP指令不再保持。
8.上升沿和下降沿微分指令DF、DF/
指令功能
DF:上升沿微分,在检测到信号上升沿时使对象仅接通一个扫描周期。
DF/:下降沿微分,在检测到信号下降沿时使对象仅接通一个扫描周期。
【例2-8】 编程实例
程序指令如下:
实例程序时序图及梯形图见图2-10所示。
0 ST X0
1 DF
2 OT Y0
3 ST X0
4 DF/
5 OT Y1
图2-10 实例程序梯形图及时序图
a)梯形图 b)时序图
在X0接通(由“OFF”变为“ON”)时,Y0得电(ON)一个扫描周期;
当X0断开(由“ON”变为“OFF”)时,Y1得电(ON)一个扫描周期。
9.置位和复位指令SE/、RST
(1)指令功能
SET:置位指令,强制对象接通并保持。
RST:复位指令,强制对象断开并保持。
SET和RST的操作数为R或Y。
【例2-9】 编程实例
编程指令如下所示:
0 ST X0
1 SET Y0
4 ST X1
5 RST Y0
当X0为“ON”时,Y0得电并保持;
当X1为“ON”时,Y0失电(OFF)并保持。
实例梯形图及时序图如图2-11所示。
图2-11 实例梯形图及时序图
a)梯形图 b)时序图
(2)指令使用说明
SET和RST指令的功能和KP指令相似,不同的是SET与RST是相互独立的,不存在优先级,只按程序的先后顺序执行。当满足SET指令执行条件后,不管控制触点如何变化,输出始终保持接通;而当满足RST指令执行条件后,不管控制触点如何变化,输出始终保持断开。
与OT和KP指令不同的是,对于编号相同的继电器(R和Y)可以不限次数地重复使用SET和RST指令。
10.空操作(NOP)指令
空操作(NOP)指令不产生任何实际的操作。在没有输入用户程序时,程序存储器中的各地址单元均自动存放NOP指令。在程序中插入NOP指令可对程序进行分段,或作为查找标记,以便于检查、修改和调试程序。