

PMC比较指令如下:
序号
指令名称
功能号
功能
1
EQB
200
1字节二进制比较(=)
2
EQW
201
2字节二进制比较(=)
3
EQD
202
4字节二进制比较(=)
4
NEB
203
1字节二进制比较(≠)
5
NEW
204
2字节二进制比较(≠)
6
NED
205
4字节二进制比较(≠)
7
GTB
206
1字节二进制比较(>)
8
GTW
207
2字节二进制比较(>)
9
GTD
208
4字节二进制比较(>)
10
LTB
209
1字节二进制比较(<)
11
LTW
210
2字节二进制比较(<)
12
LTD
211
4字节二进制比较(<)
13
GEB
212
1字节二进制比较(≥)
14
GEW
213
2字节二进制比较(≥)
15
GED
214
4字节二进制比较(≥)
16
LEB
215
1字节二进制比较(≤)
17
LEW
216
2字节二进制比较(≤)
18
LED
217
4字节二进制比较(≤)
19
RNGB
218
范围比较(1字节)
20
RNGW
219
范围比较(2字节)
21
RNGD
220
范围比较(4字节)
22
COMPB
32
二进制数值大小判别
23
COMP
15
数值大小判别
24
COIN
16
一致性检测
1EQB(1字节二进制比较(=):SUB 200)
2EQW(2字节二进制比较(=):SUB 201)
3EQD(4字节二进制比较(=):SUB 202)
这组指令用于判断数据1是否等于数据2,根据操作数字节不同(1、2、4字节)使用不同的指令。
指令名称
指令号
数据类型
1
EQB
200
1字节长度数据
2
EQW
201
2字节长度数据
3
EQD
202
4字节长度数据
指令格式:

控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行,这时W1=0。
ACT=1:指令执行,结果输出到W1。
参数:
(a) 数据1
(b) 数据2
指定进行比较的数据,在此可以以常数或者存储地址的形式指定,可以指定操作数的范围如下:
EQB:-128至127
EQW:-32768至32767
EQD:-2147483648至2147483647
输出(W1):
W1=1:当ACT=1且数据1=数据2。
W1=0:当不执行比较指令时(ACT=0);
当执行数据比较指令(ACT=1)且数据1≠数据2时。
指令示例:(以SUB200为例)
该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=0(数据1≠数据2)。
R1000
1000
R1010
1001
输出结果为:
R0101.0
0
假设R1000和R1010相等,例如均为1000,则当R100.0为1时指令执行,输出R0101.0=1(数据1=数据2)。
R1000
1000
R1010
1000
输出结果为
R0101.0
1
4NEB(1字节二进制比较(≠):SUB 203)
5NEW(2字节二进制比较(≠):SUB 204)
6NED(4字节二进制比较(≠):SUB 205)
这组指令用于比较数据1和数据2是否相等,根据操作数字节不同分为如下三种:
指令名称
指令号
数据类型
4
NEB
203
1字节长度数据
5
NEW
204
2字节长度数据
6
NED
205
4字节长度数据
指令格式:

控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行,输出W1=0。
ACT=1:指令执行,结果输出到W1中。
参数:
(a) 数据1
(b) 数据2
数据1和数据2均可以以常数或者是存储地址形式指定,操作数的有效范围如下:
NEB:-128至127
NEW:-32768至32767
NED:-2147483648至2147483647
输出(W1):
W1=1:当ACT=1且数据1≠数据2。
W1=0:当不执行比较指令时(也就是ACT=0时);
当执行数据比较指令(ACT=1)且数据1=数据2时。
指令示例:(以SUB203为例)

该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=1(数据1≠数据2)。
R1000
1000
R1010
1001
输出结果为
R0101.0
1
7GTB(1字节二进制比较(>):SUB 206)
8GTW(2字节二进制比较(>):SUB 207)
9GTD(4字节二进制比较(>):SUB 208)
这组指令用于比较数据1是否大于数据2,根据操作数的字节不同分为3种指令:
指令名称
指令号
数据类型
7
GTB
206
1字节长度数据
8
GTW
207
2字节长度数据
9
GTD
208
4字节长度数据
指令格式:
控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行,输出W1=0。
ACT=1:指令执行,结果输出到W1中。
参数:
(a) 数据1
(b) 数据2
数据1和数据2均可以以常数或者是存储地址形式指定,数据的有效范围如下:
GTB:-128至127
GTW:-32768至32767
GTD:-2147483648至2147483647
输出(W1):
W1=1:当ACT=1且数据1>数据2。
W1=0:当不执行比较指令时(也就是ACT=0时);
当执行数据比较指令(ACT=1)且数据1≤数据2时。
指令示例:(以SUB206为例)

该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=0(数据1<数据2)。
R1000
1000
R1010
1001
输出结果为:
R0101.0
0
10LTB(1字节二进制比较(<):SUB 209)
11LTW(2字节二进制比较(<):SUB 210)
12LTD(4字节二进制比较(<):SUB 211)
这组指令用于比较数据1是否小于数据2,根据操作数的字节不同分为3种指令:
指令名称
指令号
数据类型
10
LTB
209
1字节长度数据
11
LTW
210
2字节长度数据
12
LTD
211
4字节长度数据
指令格式:

控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行,输出W1=0。
ACT=1:执行指令执行,结果输出到W1中。
参数:
(a) 数据1
(b) 数据2
数据1和数据2均可以以常数或者是存储地址形式指定,数据的有效范围如下:
NEB:-128至127
NEW:-32768至32767
NED:-2147483648至2147483647
输出(W1):
W1=1:当ACT=1且数据1<数据2。
W1=0:当不执行比较指令时(也就是ACT=0时);
当执行数据比较指令(ACT=1)且数据1≥数据2时。
指令示例:(以SUB209为例)

该程序指令中R1000为数据1的存储地址,假设数据1为1000;R1010为数据2的存储地址,假设数据2为1001。当R100.0为1时指令执行,输出R0101.0=1(数据1<数据2)。
R1000
1000
R1010
1001
输出结果为
R0101.0
1
本文转自:FANUC数控技术
