1. 首页
  2. 技术文章
  3. FANUC

FANUC PMC功能指令详解(06):比较指令二

FANUC PMC功能指令详解(06):比较指令二

FANUC PMC功能指令详解(06):比较指令二

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

一致性检测

13GEB(1字节二进制比较(≥):SUB 212)

14GEW(2字节二进制比较(≥):SUB 213)

15GED(4字节二进制比较(≥):SUB 214)

这组指令用于比较数据1是否大于等于数据2,根据操作数的字节不同分为3种指令:

指令名称

指令号

数据类型

13

GEB

212

1字节长度数据

14

GEW

213

2字节长度数据

15

GED

214

4字节长度数据

指令格式:

FANUC PMC功能指令详解(06):比较指令二

控制条件:

(a)    输入信号(ACT)

ACT=0:指令不执行,输出W1=0

ACT=1:指令执行,结果输出到W1中。

参数:

(a)    数据1

(b)    数据2

数据1和数据2均可以以常数或者是存储地址形式指定,数据的有效范围如下:

GEB-128127

GEW-3276832767

GED-21474836482147483647

输出(W1)

W1=1:当ACT=1且数据1≥数据2

W1=0:当不执行比较指令时(也就是ACT=0)

当执行数据比较指令(ACT=1)且数据1<数据2时。

指令示例:(SUB212为例)

FANUC PMC功能指令详解(06):比较指令二

该程序指令中R1000为数据1的存储地址,假设数据11000R1010为数据2的存储地址,假设数据21001。当R100.01时指令执行,输出R0101.0=0(数据1<数据2)

R1000

1000

R1010

1001

输出结果为

R0101.0

0

16LEB(1字节二进制比较(≤):SUB 215)

17LEW(2字节二进制比较(≤):SUB 216)

18LED(4字节二进制比较(≤):SUB 217)

这组指令用于比较数据1是否小于等于数据2,根据操作数的字节不同分为3种指令:

指令名称

指令号

数据类型

16

LEB

215

1字节长度数据

17

LEW

216

2字节长度数据

18

LED

217

4字节长度数据

 

指令格式:

FANUC PMC功能指令详解(06):比较指令二

 

控制条件:

(a)    输入信号(ACT)

ACT=0:指令不执行,输出W1=0

ACT=1:指令执行,结果输出到W1中。

参数:

(a)    数据1

(b)    数据2

数据1和数据2均可以以常数或者存储地址形式指定,数据的有效范围如下:

LEB-128127

LEW-3276832767

LED-21474836482147483647

 

输出(W1)

W1=1:当ACT=1且数据1≤数据2

W1=0:当不执行比较指令时(也就是ACT=0)

当执行数据比较指令(ACT=1)且数据1>数据2时。

指令示例:(SUB215为例)

FANUC PMC功能指令详解(06):比较指令二 

该程序指令中R1000为数据1的存储地址,假设数据11000R1010为数据2的存储地址,假设数据21001。当R100.01时指令执行,输出R0101.0=1(数据1<数据2)

R1000

1000

R1010

1001

输出结果为

R0101.0

1

19RNGB(范围比较(1字节):SUB 218)

20RNGW(范围比较(2字节):SUB 219)

21RNGD(范围比较(4字节):SUB 220)

这组指令用于进行范围的比较,当满足如下条件时W1的输出将变为1

数据1≤输入数据数据2或者数据2≤输入数据数据1,根据操作数节数的不同分为3种指令:

指令名称

指令号

数据类型

19

RNGB

218

1字节长度数据

20

RNGW

219

2字节长度数据

21

RNGD

220

4字节长度数据

指令格式:

FANUC PMC功能指令详解(06):比较指令二

 

控制条件:

(a)    输入信号(ACT)

ACT=0:指令不执行,输出W1=0

ACT=1:指令执行,结果输出到W1中。

 

参数:

(a)    数据1

(b)    数据2

数据1和数据2均可以以常数或者存储地址的形式指定,数据的有效范围如下:

NEB-128127

NEW-3276832767

NED-21474836482147483647

 

输出(W1)

W1=1:当不执行比较指令时(也就是ACT=0)

当执行数据比较指令(ACT=1)且输入数据大小不在数据1和数据2之间时。

W1=0:当ACT=1且数据1≤输入数据数据2

ACT=1且数据2≤输入数据数据1

指令示例:(SUB218为例)

FANUC PMC功能指令详解(06):比较指令二

 该程序指令中R1000为比较的下限值存储地址(假设为50)R1100为比较的上限值存储地址(假设为100)R1200为比较数据的存储地址,假设为70,则当R100.01的时候输出R101.0=1(数据1≤输入数据数据2)

下限数据R1000

50

上限数据R1100

100

比较数据

70

输出结果为:

R101.0

0

22COMPB(二进制数值大小判别:SUB 32)

该指令用于比较124字节数据的大小,结果将输出至运算结果输出寄存器(R9000)中。

 

指令格式:

FANUC PMC功能指令详解(06):比较指令二

 

控制条件:

(a)    输入信号

ACT=0:指令不执行。

ACT=1:指令执行。

 

参数:

(a)    格式指定

指定124字节的数据长度以及输入数据(“常数或者地址数据”)

FANUC PMC功能指令详解(06):比较指令二

(b)    输入数据

指定用于比较的输入数据的地址。

(c)    比较数据

指定比较数据,以地址或者常数形式指定。

运算结果寄存器(R9000)

数据的计算结果输出到该寄存器中,寄存器各位的具体含义如下:

FANUC PMC功能指令详解(06):比较指令二

以下表格显示了输入数据,比较数据和操作寄存器相关位的关系

R9000.5

R9000.1

R9000.0

输入数据=比较数据

0

0

1

输入数据>比较数据

0

0

0

输入数据<比较数据

0

1

0

溢出

1

0

0

 

指令示例:

FANUC PMC功能指令详解(06):比较指令二

R9000.5

R9000.1

R9000.0

R1000R1010

0

1

0

该程序指令中参数1001表示比较的数据为1字节的二进制数以地址形式进行指定,参数R1000为输入数据地址,设其值为1000R1010为比较数据地址,设其值为1001。则当R100.01的时候

23COMP(数值大小判别 :SUB 15)

该指令用于BCD码大小的比较。

 

指令格式:

FANUC PMC功能指令详解(06):比较指令二

 

控制条件:

(a)    指定数据(BYT)

BYT=02BCD码数据比较。

BYT=14BCD码数据比较。

(b)    输入信号(ACT)

ACT=0:指令不执行,W1不改变。

ACT=1:指令执行,结果输出到W1

 

   参数:

(a)    格式指定

0:指定输入数据为常数。

1:指定输入数据为地址。

(b)    输入数据

输入数据通过格式指定指定为整数或者是存储该值的地址。

(c)    比较数据地址

指定比较数据的存储地址。

   

输出(W1)

        W1=0:输入数据>比较数据。

        W1=1:输入数据比较数据。

 

指令示例:

FANUC PMC功能指令详解(06):比较指令二

    程序指令中R9091.0为常0信号,这样BYT=0操作数为2BCD码,参数0001指定了操作数通过地址指定,R1000为输入数据地址设其值为34, R2000为比较数据地址设其值为45。当R100.0=1是输出R300.0=1

输出数据R1000

34

比较数据R2000

45

输出结果为:

R300.0

1

24COIN(一致性检测 :SUB 16)

一致性检测功能指令将对输入数据和比较数据进行一致性比较,数据均为BCD码编码。

 

指令格式:

FANUC PMC功能指令详解(06):比较指令二

 

控制条件:

(a)    指定数据类型(BYT)

BYT=01字节BCD码数据比较。

BYT=12字节BCD码数据比较。

(b)    输入信号(ACT)

ACT=0:指令不执行,W1不改变。

ACT=1:指令执行,结果输出到W1中。

 

   参数:

(a)    格式指定

0:指定输入数据为常数。

1:指定输入数据为地址。

(b)    输入数据

输入数据可以指定为整数或者是存储该值的地址,通过格式指定进行选择。

(c)    比较数据地址

指定比较数据的地址。

 

    输出(W1)

W1=0:输入数据比较数据。

 W1=1:输入数据=比较数据。

指令示例:

FANUC PMC功能指令详解(06):比较指令二

程序指令中R9091.0为常0信号,则BYT=02位的BCD码,参数0001表示为操作数以地址形式表示,R1000为输入数据地址设其值为34R2000为比较数据地址设定为34,则当R100.0=1时输出R300.0=1(输入数据=比较数据)

输入数据R1000

34

比较数据R2000

34

输出结果为:

R300.0

1

本文转自:FANUC数控技术

相关链接:

FANUC PMC功能指令详解(01):定时器篇

FANUC PMC功能指令详解(02):计数器篇

FANUC PMC功能指令详解(03):数据传送一

FANUC PMC功能指令详解(04):数据传送二

FANUC PMC功能指令详解(05):比较指令一

FANUC PMC功能指令详解(06):比较指令二

FANUC PMC功能指令详解(07):位操作指令

FANUC PMC功能指令详解(08):代码转换指令一

FANUC PMC功能指令详解(09):代码转换指令二

FANUC PMC功能指令详解(10):运算指令一

FANUC PMC功能指令详解(11):运算指令二

FANUC PMC功能指令详解(12):运算指令三

FANUC PMC功能指令详解(13):系统功能指令一

FANUC PMC功能指令详解(14):系统功能指令二

FANUC PMC功能指令详解(15):程序控制指令一

FANUC PMC功能指令详解(16):程序控制指令二

FANUC PMC功能指令详解(17):旋转控制指令

FANUC PMC功能指令详解(06):比较指令二

 
问答社区  发起问答  报警查询  技术文章  维修服务  资料下载  加交流群  申请 VIP   

本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

评论列表(1条)

联系我们

在线咨询:点击这里给我发消息

联系微信:QQ594673193

工作时间:08:00~20:00

QR code