代码转换指令:
序号 |
指令名称 |
功能号 |
功能 |
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)中。另外,被加数、加数和结果输出地址的字节长度必须相同。
指令格式:
控制条件:
(a) 复位信号(RST)
RST=0:不复位。
RST=1:复位输出W1,置W1=0。
(b) 指令信号(ACT)
ACT=0:不执行ADDB指令,W1不改变。
ACT=1:执行ADDB指令。
参数:
(a) 指令格式
指定数据长度(1字节、2字节或4字节)和加数格式(常数或地址)。
(b) 被加数地址
指定存储被加数的地址。
(c) 加数数据/地址
参数(a)决定加数的格式。
(d) 结果输出地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:计算正确。
W1=1:计算错误。
如果计算结果超出了指定数据长度,W1=1。并且,结果将被输出、溢出标志位和其他标志位也会被输出到运算输出寄存器R9000中。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
运算输出寄存器(R9000):
运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:
注意:
要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到R、E等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。
指令示例:
R100.1=0且R100.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)中。另外,被减数、减数和结果输出地址的字节长度必须相同。
指令格式:
控制条件:
(a) 复位信号(RST)
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(b) 指令信号(ACT)
ACT=0:不执行SUBB指令,W1不改变。
ACT=1:执行SUBB指令。
参数:
(a) 指令格式
指定数据长度(1字节、2字节或4字节)和减数格式(常数或地址)。
(b) 被减数地址
指定存储被减数的地址。
(c) 减数值/地址
由(a)决定减数格式。
(d) 结果输出地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:运算正确。
W1=1:运算错误。
如果运算结果超过指定的数据长度,W1被置1。然后,运算结果被输出、溢出标志位和其他标志位被设置在运算输出寄存器中。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
运算输出寄存器(R9000):
运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:
注意:
要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到R、E等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。
指令示例:
R100.1=0且R100.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)中。另外,被乘数、乘数和结果输出地址的字节长度必须相同。
指令格式:
控制条件:
(a) 复位信号(RST)
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(b) 指令信号(ACT)
ACT=0:不执行MULB指令,W1不改变。
ACT=1:执行MULB指令。
参数:
(a) 指令格式
指定数据长度(1字节、2字节或4字节)和乘数格式(常数或地址)。
(b) 被乘数地址
指定存储被乘数的地址。
(c) 乘数值/地址
由参数(a)决定乘数的格式。
(d) 结果输出地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:运算正确。
W1=1:运算错误。
如果运算结果超过指定的数据长度,W1被置1。然后,运算结果被输出、溢出标志位和其他标志位被设置在运算输出寄存器中。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
运算输出寄存器(R9000):
运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:
注意:
要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到R、E等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。
指令示例:
R100.1=0且R100.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)中。另外,被乘数、乘数和结果输出地址的字节长度必须相同。
指令格式:
控制条件:
(a) 复位信号(RST)
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(b) 指令信号(ACT)
ACT=0:不执行DIVB,W1不改变。
ACT=1:执行DIVB。
参数:
(a) 指令格式
指定数据长度(1字节、2字节或4字节)和除数格式(常数或地址)。
(b) 被除数地址
指定存储被除数的地址。
(c) 除数值/地址
由参数(a)决定除数的格式。
(d) 结果输出地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:运算正确。
W1=1:运算错误。
如果运算结果超过指定的数据长度,W1被置1。然后,运算结果被输出、溢出标志位和其他标志位被设置在运算输出寄存器中。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
运算输出寄存器(R9000):
运算时这个寄存器被置位。如果寄存器的位为1,它们的意义如下:
注意:
要获取R9000的状态,需在紧接ADDB指令后将R9000的各位输出到R、E等地址。如果直接对R9000的各位进行跟踪或者观察,R9000的各位始终不变,但其间接输出的各位在满足条件的情况下会接通。
余数输出地址:
取决于它的长度,余数被存储在R9002~R9005的一个或多个寄存器。
注意:
要获取R9002~R9005的值,需在紧接ADDB指令后将R9002~R9005的值输出到R、E、D等地址。如果直接对R9002~R9005进行跟踪或者观察,R9002~R9005的值始终不变,但其间接输出的值会显示出计算的余数值。
指令示例:
R100.1=0且R100.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数控技术
相关链接:
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。
评论列表(2条)