零基础轻松学会松下PLC
上QQ阅读APP看书,第一时间看更新

2.4 比较指令

松下FP1系列的比较指令共有36条。比较指令与基本顺序指令ST、AN、OR类似,不同的是基本顺序指令的操作数是各类继电器,而比较指令的操作数可以是两个相互比较的存储单元。

比较指令分为单字(16位)比较和双字(32位)比较,两个操作数可以是WX、WY、WR、SV、EV、DT、IX、IY和常数。需要注意的是,FP1系列PLC的C14型和C16型两种机型不支持这36条比较指令。

1.单字加载比较指令ST=、ST<>、ST>、ST>=、ST<、ST<=

(1)指令功能

ST=:相等时加载,S1等于S2时执行后续指令。

ST<>:不相等时加载,S1不等于S2时执行后续指令。

ST>:大于时加载,S1大于S2时执行后续指令。

ST>=:大于或等于(不小于)时加载,S1大于或等于S2时执行后续指令。

ST<:小于时加载,S1小于S2时执行后续指令。

ST<=:小于或等于(不大于)时加载,S1小于或等于S2时执行后续指令。

【例2-20】 编程实例

该实例的指令如下:

0 ST=

DT 0

K 50

5 OT Y0

实例程序的梯形图及时序图如图2-34所示。

978-7-111-46505-8-Chapter02-44.jpg

图2-34 实例程序的梯形图及时序图

a)梯形图 b)时序图

数据寄存器DT0的内容与常数K50比较,如果DT0=K50时,Y0为“ON”。

(2)指令使用说明

1)比较指令直接与左母线相连,相当于一个有条件的控制触点。

2)根据比较条件,将S1指定的单字数据和S2指定的单字数据进行比较,继电器的通断取决于比较结果。比较结果如图2-35所示。

2.单字串联比较指令AN=、AN<>、AN>、AN>=、AN<、AN<=

(1)指令功能

AN=:S1等于S2时进行“与”运算。

AN<>:S1不等于S2时进行“与”运算。

AN>:S1大于S2时进行“与”运算。

AN>=:S1大于或等于S2时进行“与”运算。

AN<:S1小于S2时进行“与”运算。

978-7-111-46505-8-Chapter02-45.jpg

图2-35 比较运算结果

AN<=:S1小于或等于S2时进行“与”运算。

【例2-21】 编程实例

实例程序指令如下:

0 ST<

DT 0

K 70

5 AN<>

DT 1

K 50

10 OT Y0

将数据寄存器DT0的内容和常数K70比较,数据寄存器DT1的内容和常数K50比较,如果DT0<K70,且DT1≠K50,则Y0得电。

梯形图、时序图如图2-36所示。

978-7-111-46505-8-Chapter02-46.jpg

图2-36 实例梯形图及时序图

a)梯形图 b)时序图

(2)指令使用说明

1)在程序中可以连续使用多个串联比较指令。

2)根据比较条件,将S1指定的单字数据和S2指定的单字数据进行比较,比较结果如图2-37所示。

978-7-111-46505-8-Chapter02-47.jpg

图2-37 比较运算结果

3.单字并联比较指令OR=、OR<>、OR>、OR>=、OR<、OR<=

(1)指令功能

OR=:S1等于S2时进行“或”运算。

OR<>:S1不等于S2时进行“或”运算。

OR>:S1大于S2时进行“或”运算。

OR>=:S1大于或等于S2时进行“或”运算。

OR<:S1小于S2时进行“或”运算。

OR<=:S1小于或等于S2时进行“或”运算。

【例2-22】 编程实例

程序指令如下所示:

0 ST<

DT 0

K 30

5 OR>

DT 1

K 40

10 OT Y0

数据寄存器DT0的内容和常数K30比较,数据寄存器DT1的内容和常数K40比较,如果DT0<K30或DT1>K40,则Y0得电。

实例梯形图、时序图如图2-38所示。

978-7-111-46505-8-Chapter02-48.jpg

图2-38 实例梯形图及时序图

a)梯形图 b)时序图

(2)指令使用说明

1)在程序中可以连续使用多个并联比较指令。

2)根据比较条件,将S1指定的单字数据和S2指定的单字数据进行比较,比较结果如图2-39所示。

978-7-111-46505-8-Chapter02-49.jpg

图2-39 比较运算结果

4.双字加载比较指令STD=、STD<>、STD>、STD>=、STD<、STD<=

(1)指令功能

STD=:相等时执行后续指令。

STD<>:不相等时执行后续指令。

STD>:大于时执行后续指令。

STD>=:大于或等于时执行后续指令。

STD<:小于时执行后续指令。

STD<=:小于或等于时执行后续指令。

【例2-23】 编程实例

实例程序指令如下:

0 STD=

DT 0

K 30

9 OT Y0

实例梯形图、时序图如图2-40所示。

978-7-111-46505-8-Chapter02-50.jpg

图2-40 实例梯形图及时序图

a)梯形图 b)时序图

将数据寄存器(DT1,DT0)的内容和常数K30比较,如果(DT1,DT0)=K30,则Y0得电。

(2)指令使用说明

1)该指令在处理32位数据时,如果已指定低16位存储单元(S1,S2),则高16位存储单元自动指定为(S1+1,S2+1)。后面类似的情况不再重复说明。

2)根据比较条件,将(S1+1,S1)指定的双字数据和(S2+1,S2)指定的双字数据进行比较,触点的通断取决于比较结果。比较运算结果如图2-41所示。

978-7-111-46505-8-Chapter02-51.jpg

图2-41 比较运算结果

5.双字串联比较指令AND=、AND<>、AND>、AND>=、AND<、AND<=

(1)指令功能

AND=:相等时进行“与”运算。

AND<>:不相等时进行“与”运算。

AND>:大于时进行“与”运算。

AND>=:大于或等于时进行“与”运算。

AND<:小于时进行“与”运算。

AND<=:小于或等于时进行“与”运算。

【例2-24】 编程实例

实例程序指令表如下所示:

0 ST X0

1 AND>

DT 0

K 30

10 OT Y0

将数据寄存器(DT1,DT0)的内容和常数K30比较,如果(DT1,DT0)>K30且X0为“ON”,Y0得电。

实例梯形图、时序图如图2-42所示。

(2)指令使用说明

1)在程序中可以连续使用多个双字串联比较指令。

2)根据比较条件,将(S1+1,S1)指定的双字数据和(S2+1,S2)指定的双字数据进行比较,触点的通断取决于比较结果。比较运算结果如图2-43所示。

978-7-111-46505-8-Chapter02-52.jpg

图2-42 实例梯形图及时序图

a)梯形图 b)时序图

978-7-111-46505-8-Chapter02-53.jpg

图2-43 比较运算结果

6.双字并联比较指令ORD=、ORD<>、ORD>、ORD>=、ORD<、ORD<=

(1)指令功能

ORD=:相等时进行“或”运算。

ORD<>:不相等时进行“或”运算。

ORD>:大于时进行“或”运算。

ORD>=:大于等于时进行“或”运算。

ORD<:小于时进行“或”运算。

ORD<=:小于等于时进行“或”运算。

【例2-25】 编程实例

实例程序指令如下所示:

0 ST X0

1 ORD>

DT 0

K 30

10 OT Y0

将数据寄存器(DT1,DT0)的内容和常数K30比较,如果(DT1,DT0)>K30

或X0为“ON”时,Y0得电。

梯形图、时序图如图2-44所示。

(2)指令使用说明

978-7-111-46505-8-Chapter02-54.jpg

图2-44 实例梯形图及时序图

a)梯形图 b)时序图

1)在程序中可以连续使用多个双字并联比较指令。

2)根据比较条件,将(S1+1,S1)指定的双字数据和(S2+1,S2)指定的双字数据进行比较,触点的通断取决于比较结果。比较运算结果如图2-45所示。

978-7-111-46505-8-Chapter02-55.jpg

图2-45 比较运算结果