- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)string类型
•
字符串,包含图形字符和控制字符(ASC值为0.. 255中的
非可见字符)。字符串长度为0到80,以双引号(")包围。如果
在字符串中存在反斜杠字符或双引号字符,则必须将反斜杠字符
或双引号字符书写两次。
• VAR string name;
• name := "John Smith";
(2)num类型 数值型,用于表示-8388607至+8388608的整数(或小数) VAR num counter; counter := 250;
(3)dnum类型 数值型,用于表示-4503599627370496至+4503599627370496的整数
(或小数) VAR dnum value; value := 2E+43;
• "This is a string"
• "This string ends with the BEL control character \07"
• "This string contains a "" character"
• "This string contains a \\ character"
• posarr{i}.y := x;
!数组元素/分量
• assignment <VAR> := t emp + 5;
Байду номын сангаас
! 占位符使用
5.基本数据类型
rapid的基本数据类型有bool、num、dnum和string。 (1)bool类型
布尔型,其值为真或假(TRUE或FALSE) VAR bool active; active := TRUE;
6.记录型数据
记录类型为有序分量的复合型,记录型数据有pos、orient和 pose。 (1)pos型 pos型表示空间位置(x,y,z),pos型有三个分量 [x, y, z], 分别表示x轴、y轴、z轴。
例如 VAR pos p1; p1 := [ 10, 10, 55.7 ]; p1.z := p1.z + 250; p1 := p1 + p2;
(2)orient型
• orient型表示在空间中的方位。orient型有四个分量,即,[q1, q2, q3, q4],各个分量的类型为num。四元数表示法是表示空间
中的方位的最简洁表示法。
例如:
• VAR orient o1; o1 := [ 1, 0, 0, 0];
o1.q1 := -1; o1 := Euler(a1,b1,g1);
占位符
<TDN> <DDN> <RDN> <PAR> <ALT> <DIM> <SMT> <VAR>
<EIT> <CSE> <EXP> <ARG> <ID>
描述
数据类型定义 数据声明 程序声明 可选替换形参 可选形参
形式(一致)数组阶数
指令 数据对象(变量、永久数据对象或参数) 索引 if指令的else if子句 测试指令情况子句
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
• 例如 PERS num b
定义一个可变量 b
• 在对模块、例行程序等命名时,一定要符合以上的规定。
• 3.保留字
• 保留字是 rapid语言事先定义并赋予特殊意义的字符, 不能用作标识符,保留字为大写。下表为rapid中的保留 字。此外,还有许多预定义数据类型名称、系统数据、 指令和有返回值程序也不能用作标识符,如表所示。
!用欧拉角函数赋值
• (3)pose型
• pose型表示坐标系(位置+方位)。pose型有两个分量 [ trans, rot ]。trans为pos型,表示平移原点;rot为orient型,表示旋转。
• VAR pose p1;
• p1 := [[ 100, 100, 0 ], o1];
• p1.trans := homepos;
表达式 程调用参数 标识符
• 9.变量
• 用VAR 定义的数据变量,其值在程序运行中随时可被修改。
!给trans分量赋值
• 7.ALIAS
• ALIAS定义数据类型的别名 • ALIAS num level; !定义num类型的别名为level • CONST level low := 2.5; • CONST level high := 4.0;
• 8.占位符
• 离线编程工具和在线编程工具可利用占位符来临时表示 RAPID程序的“未定义”部分。 含占位符的程序在语法上是正确 的,可加载到任务缓冲区(也可从任务缓冲区保存)。 如果 RAPID程序中的占位符未引起语义错误,那么,该程 序甚至可被 执行,但遇到的占位符会引起执行错误,如表所示。
• 4.赋值
• Rapid使用“:= ”对变量、永久数据对象或参数进行赋值。 赋 值目标和表达式必须为同一类型。
• 赋值示例:
• count := count +1;
!整个变量的赋值
• home.x := x * sin(30); !分量赋值
• matrix{i, j} := temp; !数组元素赋值
ALIAS CONNECT DO ENDFUNC ENDRECORD ERROR FROM INOUT NOSTEPIN PERS RECORD SYSMODULE TRAP VAR XOR
RAPID 保留字
AND COSNT ELSE ENDIF ENDTEST EXIT FUNC LOCAL NOT PROC RETRY TEST TRUE VIEWONLY
数据类型与运算符
• 一、 数据类型
• 1.注释 • 注释是对程序代码的解释和说明,使代码更易于阅读与维护。
rapid程序注释以感叹号(!)开始,以换行符结束,占一整行, 不包含换行符。
• 2.标识符
• 标识符用于程序编写中对模块、例行程序、数据和标签命名。标 识符的首个字符必须为字母,其余部分可采用字母、数字或下划 线____组成。标识符最长不超过32个字符,不区分大小写。