| 加入桌面 | 手机版 | 无图版

ABB机器人编程方式

放大字体  缩小字体 发布日期:2013-05-17  来源:网络  浏览次数:1725
核心提示:四、编程方式1、指令表IL  指令表(IL)由一系列指令组成。每条指令都由一个新行开始,包含一个操作符以及和操作符类型相关的一个

 

四、编程方式

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
AND
AND(
ANDN
ANDN(
P
操作数(操作数的反值)和CR的布尔AND(“与”运算)
OR
OR(
ORN
ORN(
P
操作数(操作数的反值)和CR的布尔OR(“或”运算)
XOR
XOR(
XORN
XORN(
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
功能调用

使用功能和功能块

A.调用一个功能

  在IL语言中,调用一个功能只是简单地写入该功能名即可。随后的实际参数用逗号分隔。这种语法和带有几个操作数的操作符的语法相同。

  功能的第一个参数是当前结果(CR)。因此必须正好在功能调用之前将该值装入CR中。用于功能调用的第一个操作数实际上是功能的第二个参数,并依次类推。

B.调用一个功能块

操作符CAL(或条件调用CALC和条件取反调用CALCN)可以激活一个功能块。

IEC61131-3描述IL语言中给一个FB传送参数的三种方法:

  1).使用一个调用,它包括在括号内的实际输入和输出参数的一个列表

  2).在调用FB前,装载和保存输入参数

  3).用输入参数作为操作符“隐性地”调用

第三种方法只对标准FB有效,不适合用户定义的FB。

2、结构化文本ST

T语言的优点(与IL语言相比较):编程任务高度压缩化的表达格式,在语句块中清晰的程序结构,

控制命令流的强有力结构

这些优点亦带来其本身的缺陷:

由于它借助于编译程序自动地执行程序,因此用户不能直接影响其翻译成机器码。

高度抽象导致效率降低(通常,编译程序的时间更长且执行速度更慢)

ST语句

关键字
说明
示例
说明
:=
赋值
d:=10
将右边的一个供计算的数值赋值给左边的标识符
 
调用FB
FBName(
Par1:=10,
Par2:=20);
调用另一个类型为FB的POU,包括其参数
RETURN
返回
RETURN
脱离当前的POU和返回到调用POU
IF
选择
IFd
通过布尔表达式选择替代值
CASE
多重选择
CASEfOF
1:g:=11;
2:g:=12;
ELSEg:=FunName();
END_CASE
根据表达式”f”的值选择一个语句块
FOR
跌代(1)
FORh:=1TO10BY2DO
F[h/2]:=h;
END_FOR
一个多循环语句块,带有起始和结束条件以及一个增量值
 
WHILE
跌代(2)
WHILEm>1DO
N:=n/2;
END_WHILE
一个多循环语句块,具有在开始端的结束条件
 
REPEAT
跌代(3)
 
一个多循环语句块,具有在结束端的结束条件
EXIT
循环的结束
EXIT
一个跌代语句的结束条件。
;
空白语句
;;
 

ST语言不包括跳转指令(GOTO)。

3、功能块图FBD

  功能块图(FBD)语言起源于信号处理领域,对信号处理而言,整数与/或浮点数是很重要的。

  使用图形化语言FBD或LD的POU表达式包括的部分与文本化语言相同。

  1).POU的引导部分和结束部分

  2).说明部分

  3).代码部分

代码部分,分为若干个网络。网络有助于构造POU的控制流。

一个网络包括1).网络标号2).网络注释3).网络图形

4、梯形图LD

  梯形图语言(LD)源自机电一体化的继电器系统的应用领域,它描述一个POU的网络自左至右的能量流。编程语言主要是设计用于处理布尔信号。

梯形图LD接点分类:

常开接点
常闭接点
上升沿接点
下降沿接点

梯形图LD线圈分类:

线圈
--()--
线圈的取反
--(/)--
置位(锁存)线圈
--(S)--
复位(解除锁存)线圈
--(R)--
保持(记忆)线圈
--(M)--
置位保持(记忆)线圈
--(SM)--
复位保持(记忆)线圈
--(RM)--
 
上升沿线圈
--(P)--
下降沿线圈
--(N)--

梯形图LD执行控制分类:

无条件返回
条件返回
无条件跳转
条件跳转

调用功能和功能块

 

 
 
[技术搜索] [] [告诉好友] [打印本文] [关闭窗口]
分享到:

免责声明:凡资讯来源注明为其他媒体来源的信息,均为转载自其他媒体,并不代表本网站赞同其观点,也不代表本网站对其真实性负责,当您对该文章的内容有任何疑问或质疑,请立即与我们联系(info@Chinarobotic.com.cn),本网站将迅速给您回应并做出恰当处理。

相关资讯
0条 [查看全部]  相关评论

推荐图文

点击排行