1 基本RAPID编程
1.1.1 简介
1 基本RAPID编程
1.1 程序结构 1.1.1 简介
指令
本程序由多个对机械臂工作加以说明的指令构成。因此,不同操作对应的是不同的指 令,如,移动机械臂对应一个指令,设置输出对应一个指令。
指令通常包含多个相关参数,这些参数可定义按特定指令会出现的情况。如,重置输 出的指令包括一个明确要重置哪个输出的参数,如Reset do5。确定这些参数的方式 如下:
? 数值,如5或4.6; ? 数据索引,如reg1; ? 表达式,如5+reg1*2; ? 函数调用,如Abs(reg1); ? 串值,如\。
程序
程序分为三类—无返回值程序、有返回值程序和软中断程序。 ? 无返回值程序用作子程序。
? 有返回值程序会返回一个特定类型的数值。此程序用作指令的参数。
? 软中断程序提供了一种中断应对方式。一个软中断程序对应一次特定中断,如, 设置一个输入,若发生对应中断,则自动执行该输入。
数据
可按数据形式保存信息,如工具数据,包含对应工具的所有相关信息,如工具的工具 中心接触点及其重量等;数值数据,也有多种用途,如计算待处理的零件量等。数据 分为多种类型,不同类型所含的信息也各有不同,如工具、位置和负载等。由于此类 数据是可创建的,且可赋予任意名称,因此其数量不受限(除来自内存的限制外)。 既可遍布于整个程序中,也可能只在某一程序的局部。 数据分为三类—常量、变量和永久数据对象。
? 常量表示的是静态值,只能通过人为方式赋予新值。 ? 另外,在程序执行期间,也可赋予变量一个新值。
? 永久数据对象也可被视作“永久”变量。保存程序时,初始化值呈现的就是永久数 据对象的当前值。
其他特征
语言中还有其他特征,如下所示: ? 程序参数
? 算术表达式和逻辑表达式 ? 自动错误处理器 ? 模块化程序
下一页继续
技术参考手册 - RAPID语言概览
3HAC050947-010 修订: B
? 版权所有 2004-2015 ABB。保留所有权利。
11
1 基本RAPID编程
1.1.1 简介 续前页
? 多任务处理
这种语言不区分大小写,如同一字母的大小写形式无区别。
12
? 版权所有 2004-2015 ABB。保留所有权利。
技术参考手册 - RAPID语言概览
3HAC050947-010 修订: B
1 基本RAPID编程
1.1.2 基本元素
1.1.2 基本元素
标识符
用标识符对模块、程序、数据和标签命名,如:
MODULE module_name PROC routine_name() VAR pos data_name; label_name: 标识符中的首个字符必须为字母,其余部分可采用字母、数字或下划线(_)组成。 任一标识符最长不超过32个字符,每个字符都很重要。字符相同的标识符相同,除非 字符是大写形式。
保留字
下列字为保留字。它们在 RAPID语言中都有特殊意义,因此不能用作标识符。 此外,还有许多预定义数据类型名称、系统数据、指令和有返回值程序也不能用作标 识符。
ALIAS CONNECT DO ENDFUNC ENDRECORD ERROR FROM INOUT NOSTEPIN PERS RECORD SYSMODULE TRAP VAR XOR
AND CONST ELSE ENDIF ENDTEST EXIT FUNC LOCAL NOT PROC RETRY TEST TRUE VIEWONLY
BACKWARD DEFAULT ELSEIF ENDMODULE ENDTRAP FALSE GOTO MOD NOVIEW RAISE RETURN THEN TRYNEXT WHILE
CASE DIV ENDFOR ENDPROC ENDWHILE FOR IF MODULE OR
READONLY STEP TO UNDO WITH
空格和换行符
RAPID编程语言是一种自由格式语言,也就是说任何地方都可用空格,除了: ? 标识符中; ? 保留字中; ? 数值中; ? 占位符中。
只要可用空格的地方就可用换行符、制表符和换页符,在注释中除外。 标识符、保留字和数值之间必须用空格、换行符或换页符隔开。
下一页继续
技术参考手册 - RAPID语言概览
3HAC050947-010 修订: B
? 版权所有 2004-2015 ABB。保留所有权利。
13
1 基本RAPID编程
1.1.2 基本元素 续前页
数值
数值有如下两种表示方式: ? 整数,如 3、-100或3E2等; ? 小数,如3.5、-0.345或-245E-2等。
数值必须在《浮点数算术标准》(ANSI IEEE 754)规定的范围内。
逻辑值
逻辑值可表示为TRUE或FALSE。
串值
串值为一个由字符(ISO 8859-1(Latin-1))和控制字符(用0~255这一数字代码范 围表示的非ISO8859-1(Latin-1)字符)组成的序列。其中可含字符代码,使其能包 含字符串中的不可见字符(二进制数据)。字符串的最长长度为80个字符。 例子:
\
\
若其中包含一个反斜线(表示字符代码)或双引号字符,则该字符必须写两次。 例子:
\\
注释
注释可帮助理解程序。绝不会影响程序的意义。
注释以感叹号(!)开始,以换行符结束,占一整行,不会出现在模块声明之外的其 他地方。
! comment
IF reg1 > 5 THEN ! comment reg2 := 0; ENDIF
占位符
可用占位符暂时代表程序中尚未定义的部分。从句法方面来看,含占位符的程序没错, 可载入程序内存。
占位符
描述
数据类型定义 数据声明 程序声明 可选替换形参 可选形参
形式(一致)数组阶数 指令
数据对象(变量、永久数据对象或参数)索引 if指令的else if子句
下一页继续
14
? 版权所有 2004-2015 ABB。保留所有权利。
技术参考手册 - RAPID语言概览
3HAC050947-010 修订: B
1 基本RAPID编程
1.1.2 基本元素
续前页
占位符
描述
测试指令情况子句 表达式 过程调用参数 标识符
文件标题
一份程序文件的开头就是文件标题(非强制性要求),如下所示:
%%%
VERSION:1
LANGUAGE:ENGLISH %%%
语法 标识符
数值
|
|
e | f
逻辑值;
字符串值
e | f
备注
下一页继续
技术参考手册 - RAPID语言概览
3HAC050947-010 修订: B
? 版权所有 2004-2015 ABB。保留所有权利。
15