ABB机器人配件
指令表(IL)由一系列指令组成。每条指令都由一个新行开始,包含一个操作符以及和操作符类型相关的一个或多个操作数,并用逗号分开。在指令前可以有标号,后接一个冒号。
注解必须在一行的后,指令之间可以插入空行。
示例:
标号 操作符 操作数 注释
LD 17
ST lint (*comment*)
GE 5
JMPC next
LD idword
EQ istruct.sdword
STN test
Nest:
在IL语言中,可以使用下面的操作符和修饰符。
修饰符:
ABB机器人配件
JMP、CAL、RET中带C:指令在预置表达式结果为TRUE时执行。
JMPC、CALC、RETC中带N:指令在预置表达式结果为FALSE时执行。
其它指令中带N:操作数取反(不是累加器)。
操作符 修饰符 意义
LD N 使当前结果等于操作数
ST N 在操作数位置保存当前结果
S 如果当前位置为TRUE,置位布尔操作数为TRUE
R 如果当前位置为TRUE,复位布尔操作数为FALSE
AND N,( 位与
OR N,( 位或
XOR ( 位异或
ADD ( 加
SUB ( 减
MUL ( 乘
DIV ( 除
GT ( >
EQ ( =
NE ( <>
LT ( <=
JMP ( <
CAL ( 跳转到标号
PET CN 调用功能块
) CN 评估括号操作
下表为IL中全部的操作符及可能的修饰符和相关的意义:
IL是一种面向行的语言。
标号 : 操作符/功能 操作数(表) 注释
跳转标号 分隔符 IL操作符或功能名 用于操作符的零个,一个或多个常数、变量,或用于功能的输入参数,由逗号分隔。 在(*…*)中的注释,可选
通过不同的操作符组修改CR
影响CR数据类型的操作符组 缩写 操作符示例
Create(建立) C LD
Process(处理) P GT
Leaveunchanged(保持不变) U ST:JMPC
Settoundefined(设置为未定义的) CAL=功能块的无条件调用,
操作符 操作符组 描述
LD LDN C 装入操作数(操作数的反值)到CR
ANDAND( ANDNANDN( P 操作数(操作数的反值)和CR的布尔AND(“与”运算)
OROR( ORNORN( P 操作数(操作数的反值)和CR的布尔OR(“或”运算)
XORXOR( XORNXORN( p 操作数(操作数的反值)和CR的布尔XOR(“异或”运算)
ST STN U 将CR存到操作数
S U 若CR=1,则将操作数设置为TRUE
R U 若CR=1,则将操作数设置为FALSE
) U 结束括号:对递延操作求
带布尔操作数(BOOL类型)的操作符
用于类属数据类型(类型ANY)操作数的操作符
操作符 操作符组 描述
LD C 操作数装入CR
ST U 将CR存储到操作数
ADD ADD( P 加操作数,结果存入CR
SUB SUB( P 从CR减去操作数,结果存入CR
MUL MUL( P 操作数乘以CR
DIV DIV( P CR除以操作数
GT GT( P CR>操作数(大于)
GE GE( P CR>=操作数(大于或等于)
EQ EQ( P CR=操作数(等于)
NE NE( P CR<>操作数(不等于)
LE LE( P CR<=操作数(小于或等于)
LT LT( P CR<操作数(小于)
) U 结束括号
跳转和调用
操作符 操作符组
JMP -或U (无)/有条件跳转到一个跳转标号
JMPC JMPCN U
CAL -或U (无)/有条件调用一个功能块
CALC CALCN U
RET -或U (无)/有条件从一个功能或功能块返回
RETC RETCN U
功能名 P 功能调用