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数控技术
相关链接:
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。