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

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

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

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

代码转换指令: 

序号

指令名称

功能号

功能

1

ADDB

36

二进制加法

2

SUBB

37

二进制减法

3

MULB

38

二进制乘法

4

DIVB

39

二进制除法

5

ADD

19

BCD加法

6

SUB

20

BCD减法

7

MUL

21

BCD乘法

8

DIV

22

BCD除法

9

NUMEB

40

定义二进制常数

10

NUME

23

定义BCD常数

    

1ADDB(二进制加法:SUB 36)

  

该指令能实现1字节、2字节和4字节二进制数的加法。运算结果被输出到“结果输出地址”和“运算输出寄存器”(R9000)中。另外,被加数、加数和结果输出地址的字节长度必须相同。

指令格式:

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

 

控制条件:

(a)   复位信号(RST)

       RST=0:不复位。

       RST=1:复位输出W1,置W1=0

(b)   指令信号(ACT)

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

       ACT=1:执行ADDB指令。

 

参数:

(a)   指令格式

指定数据长度(1字节、2字节或4字节)和加数格式(常数或地址)。

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

(b)   被加数地址

指定存储被加数的地址。

(c)   加数数据/地址

参数(a)决定加数的格式。

(d)   结果输出地址

指定存储运算结果的地址。

错误输出(W1):

W1=0:计算正确。

W1=1:计算错误。

如果计算结果超出了指定数据长度,W1=1。并且,结果将被输出、溢出标志位和其他标志位也会被输出到运算输出寄存器R9000中。

注意:

该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。

运算输出寄存器(R9000)

运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:

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

注意:

要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到RE等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。

指令示例:

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

       R100.1=0R100.0=1时,执行ADDB指令。各情况下ADDB指令执行结果如下表所示:

D100

D110

指令执行

D120

R120

R110.0

1

21

R100.1=0

R100.0=1

22

**0***00

0

0

0

0

**0***01

0

127

8

-121

**1***10

1

-127

-100

29

**1***00

1

    

2SUBB(二进制减法:SUB 37)

  

该指令能实现1字节、2字节和4字节二进制数的减法。运算结果被输出到“结果输出地址”和“运算输出寄存器”(R9000)中。另外,被减数、减数和结果输出地址的字节长度必须相同。

 

指令格式:

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

 

控制条件:

(a)    复位信号(RST)

RST=0:不复位。

RST=1:复位错误输出W1,置W1=0

(b)    指令信号(ACT)

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

ACT=1:执行SUBB指令。

参数:

(a)    指令格式

指定数据长度(1字节、2字节或4字节)和减数格式(常数或地址)。

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

(b)    被减数地址

指定存储被减数的地址。

(c)    减数值/地址

(a)决定减数格式。

(d)    结果输出地址

指定存储运算结果的地址。

错误输出(W1)

       W1=0:运算正确。

       W1=1:运算错误。

如果运算结果超过指定的数据长度,W1被置1。然后,运算结果被输出、溢出标志位和其他标志位被设置在运算输出寄存器中。

注意:

该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。

运算输出寄存器(R9000)

运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:

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

注意:

要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到RE等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。

指令示例:

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

       R100.1=0R100.0=1时,执行SUBB指令。各情况下SUBB指令执行结果如下表所示:

D100

D110

指令执行

D120

R120

R110.0

1

8

R100.1=0

R100.0=1

-7

**0***10

0

0

0

0

**0***01

0

-10

127

119

**1***00

1

127

-127

-2

**1***10

1

3MULB(二进制乘法:SUB 38)

  

该指令能实现1字节、2字节和4字节二进制数的乘法。运算结果被输出到“结果输出地址”和“运算输出寄存器”(R9000)中。另外,被乘数、乘数和结果输出地址的字节长度必须相同。

指令格式:

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

 

控制条件:

(a)    复位信号(RST)

RST=0:不复位。

RST=1:复位错误输出W1,置W1=0

(b)    指令信号(ACT)

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

ACT=1:执行MULB指令。

参数:

(a)    指令格式

指定数据长度(1字节、2字节或4字节)和乘数格式(常数或地址)。

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

(b)    被乘数地址

指定存储被乘数的地址。

(c)    乘数值/地址

由参数(a)决定乘数的格式。

(d)    结果输出地址

指定存储运算结果的地址。

 

错误输出(W1)

       W1=0:运算正确。

       W1=1:运算错误。

如果运算结果超过指定的数据长度,W1被置1。然后,运算结果被输出、溢出标志位和其他标志位被设置在运算输出寄存器中。

注意:

该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。

运算输出寄存器(R9000)

运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:

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

注意:

要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到RE等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。

指令示例:

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

       R100.1=0R100.0=1时,执行MULB指令。各情况下MULB指令执行结果如下表所示:

D100

D110

指令执行

D120

R120

R110.0

4

-8

R100.1=0

R100.0=1

-32

**0***10

0

0

0

0

**0***01

0

50

8

不变

**1***00

1

-120

20

不变

**1***00

1

    

4DIVB(二进制除法:SUB 39)

  

该指令能实现1字节、2字节和4字节二进制数的除法。运算结果被输出到“结果输出地址”和“运算输出寄存器”(R9000)中。另外,被乘数、乘数和结果输出地址的字节长度必须相同。

指令格式:

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

 

控制条件:

(a)    复位信号(RST)

RST=0:不复位。

RST=1:复位错误输出W1,置W1=0

(b)    指令信号(ACT)

ACT=0:不执行DIVBW1不改变。

ACT=1:执行DIVB

参数:

(a)    指令格式

指定数据长度(1字节、2字节或4字节)和除数格式(常数或地址)。

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

(b)    被除数地址

指定存储被除数的地址。

(c)    除数值/地址

由参数(a)决定除数的格式。

(d)    结果输出地址

指定存储运算结果的地址。

错误输出(W1)

W1=0:运算正确。

       W1=1:运算错误。

如果运算结果超过指定的数据长度,W1被置1。然后,运算结果被输出、溢出标志位和其他标志位被设置在运算输出寄存器中。

注意:

该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。

运算输出寄存器(R9000)

运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:

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

注意:

要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到RE等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。

 

余数输出地址:

取决于它的长度,余数被存储在R9002~R9005的一个或多个寄存器。

注意:

  要获取R9002~R9005的值,需在紧接ADDB指令后将R9002~R9005的值输出到RED等地址。如果直接对R9002~R9005进行跟踪或者观察,R9002~R9005的值始终不变,但其间接输出的值会显示出计算的余数值。

指令示例:

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

       R100.1=0R100.0=1时,执行DIVB指令。各情况下DIVB指令执行结果如下表所示:

D100

D110

指令执行

D120

R9000

R130~R133

R110.0

50

8

R100.1=0

R100.0=1

6

**0***00

2

0

0

0

不变

**1***00

不变

1

-126

20

-6

**0***10

-6

0

-127

-20

6

**0***00

-7

0

本文转自: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):旋转控制指令

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

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

发表评论

登录后才能评论

评论列表(2条)

联系我们

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

联系微信:QQ594673193

联系邮箱:594673193@qq.com

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

QR code