代码转换指令:
序号 |
指令名称 |
功能号 |
功能 |
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常数 |
5ADD(BCD加法:SUB 19)
该指令能实现2位或4位BCD码的加法。
指令格式:
控制条件:
(a) 指定运算数据位数(BYT)
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行ADD指令,W1不改变。
ACT=1:执行ADD指令。
参数:
(a) 加数格式(常数/地址)
0:指定加数为常数。
1:指定加数为地址。
(b) 被加数地址
指定被加数的地址。
(c) 加数
由参数(a)指定加数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:正常运算。
W1=1:异常运算。
如果加法结果超过了控制条件(a)指定的长度,那么W1被置1。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行ADD指令。各情况下ADD指令执行结果如下表所示:
D100 |
D110 |
指令执行 |
D120 |
R110.0 |
1 |
21 |
R100.1=0 R100.0=1 |
22 |
0 |
0 |
0 |
0 |
0 |
|
99 |
8 |
7 |
1 |
6SUB(BCD减法:SUB 20)
该指令能实现2位或4位BCD码的减法。
指令格式:
控制条件:
(a) 指定运算数据位数(BYT)
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行SUB指令,W1不改变。
ACT=1:执行SUB指令。
参数:
(a) 减数格式(常数/地址)
0:指定减数为常数。
1:指定减数为地址。
(b) 被减数地址
指定被减数的地址。
(c) 减数
由参数(a)指定减数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:正常运算。
W1=1:异常运算。
如果加法结果超过了控制条件(a)指定的长度,那么W1被置1。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行SUB指令。各情况下SUB指令执行结果如下表所示:
D100 |
D110 |
指令执行 |
D120 |
R110.0 |
20 |
8 |
R100.1=0 R100.0=1 |
12 |
0 |
8 |
99 |
9 |
1 |
|
0 |
0 |
0 |
0 |
7MUL(BCD乘法:SUB 21)
该指令能实现2位或4位BCD码的乘法。
指令格式:
控制条件:
(a) 指定运算数据位数(BYT)
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行MUL指令,W1不改变。
ACT=1:执行MUL指令。
参数:
(a) 乘数格式(常数/地址)
0:指定乘数为常数。
1:指定乘数为地址。
(b) 被乘数地址
指定被乘数的地址。
(c) 乘数
由参数(a)指定乘数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:正常运算。
W1=1:异常运算。
如果加法结果超过了控制条件(a)指定的长度,那么W1被置1。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行MUL指令。各情况下MUL指令执行结果如下表所示:
D100 |
D110 |
指令执行 |
D120 |
R110.0 |
2 |
21 |
R100.1=0 R100.0=1 |
42 |
0 |
0 |
0 |
0 |
0 |
|
3 |
99 |
不变 |
1 |
8DIV(BCD除法:SUB 22)
该指令能实现2位或4位BCD码的除法。余数被丢弃,不会输出到余数输出寄存器中。
指令格式:
控制条件:
(a) 指定运算数据位数(BYT)
BYT=0:2位BCD码长度。
BYT=1:4位BCD码长度。
(b) 复位信号
RST=0:不复位。
RST=1:复位错误输出W1,置W1=0。
(c) 指令信号
ACT=0:不执行DIV指令,W1不改变。
ACT=1:执行DIV指令。
参数:
(a) 除数格式(常数/地址)
0:指定除数为常数。
1:指定除数为地址。
(b) 被除数地址
指定被除数的地址。
(c) 除数
由参数(a)指定除数的格式(常数或地址)。
(d) 运算结果地址
指定存储运算结果的地址。
错误输出(W1):
W1=0:正常运算。
W1=1:异常运算。如果除数为0,W1=1标志发生错误。
注意:
该指令的输出只允许单线圈。任何并到W1处的线圈、取反线圈、S置位或R复位都是不允许的。你必须放置单线圈指令作为这个指令的输出。
指令示例:
R100.0=0(2位BCD数据)、R100.1=0且R100.2=1时,执行DIV指令。各情况下DIV指令执行结果如下表所示:
D100 |
D110 |
指令执行 |
D120 |
R110.0 |
9 |
2 |
R100.1=0 R100.0=1 |
4 |
0 |
0 |
0 |
不变 |
1 |
|
9 |
0 |
不变 |
1 |
本文转自:FANUC数控技术
相关链接:
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。
评论列表(1条)