ABB机器人编程
作为世界机器人“四大家族”之一,ABB 是全球机器人技术的领军企业,也是*早在中国开展工业机器人本地研发及本地生产的跨国企业之一。
1、指令表IL
指令表(IL)由一系列指令组成。每条指令都由一个新行开始,包含一个操作符以及和操作符类型相关的一个或多个操作数,并用逗号分开。在指令前可以有标号,后接一个冒号。
注解必须在一行的*后,指令之间可以插入空行。
示例:
| 标号 | 操作符 | 操作数 | 注释 |
|
|
LD | 17 |
|
|
|
ST | lint | (*comment*) |
|
|
GE | 5 |
|
|
|
JMPC | next |
|
|
|
LD | idword |
|
|
|
EQ | istruct.sdword |
|
|
|
STN | test |
|
| Nest: |
|
|
|
在IL语言中,可以使用下面的操作符和修饰符。
修饰符:
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 | 功能调用 | |||

平台热线
