2.1 MELFA-BASIC V的详细规格
2.1.1 MELFA-BASIC V的详细规格
目前常用的机器人编程语言是MELFA-BASIC V,在学习使用MELFA-BASIC V之前,需要学习编程相关知识。
(1)程序名
程序名只可以使用英文大写字母及数字,长度为12个字母。如果要使用“程序选择”功能,则必须只使用数字作为程序名。
(2)指令
指令由以下部分构成:
1 Mov P1 Wth M_ Out(17)=1
①步序号或称为“程序行号”。
②指令。
③指令执行的对象:变量或数据。
④附随语句。
(3)变量
①变量分类 机器人系统中使用的变量可以分类如图2-1所示。
图2-1 变量的分类
【系统变量】 系统变量值有系统反馈的,表示系统工作状态的变量。变量名称和数据类型都是预先规定了的。
【系统管理变量】 表示系统工作状态的变量。在自动程序中只用于表示“系统工作状态”。例如当前位置P_CURR。
【用户管理变量】 是系统变量的一种。但是用户可以对其处理。例如输出信号:M_ OUT(18)=1。用户在自动程序中可以指令输出信号ON/OFF。
【用户自定义变量】 这类变量的名称及使用场合由用户自行定义,是使用最多的变量类型。
②用户变量的分类
【位置变量】 表示直交型位置数据,用P开头,例如P1、P20。
【关节型变量】 表示关节型位置数据(各轴的旋转角度),用J开头,例如J1、J10。
【数值型变量】表示数值,用M开头,例如M1、M5。
【字符串变量】 表示字符串。在变量名后加$,例如C1$=“OPENDOOR”。即变量C1$表示的是字符串“OPENDOOR”。
【文】 构成程序的最小单位,即指令及数据。
Mov P1
Mov——指令。
P1——数据。
【附随语句】
1 Mov P1 Wth M_ Out(17)=1
Wth M_ Out(17)=1为附随语句,表示在移动指令的同时,执行输出M_ Out(17)=1。
【程序行号】 编程序时,软件自动生成程序行号。但是GOTO指令、GOSUb指令不能直接指定行号,否则报警。
【标签(指针)】 标签是程序分支的标记。用“*+英文字母”构成。如:
GoTo *LBL
……
*LBL就是程序分支的标记。
2.1.2 有特别定义的文字
①英文大小写 程序名、指令均可大小写,无区别。
②下划线(_) 【下划线(_)】标注全局变量。全局变量是全部程序都可以使用的变量。在变量的第2字母位置用下划线表示时,这种类型变量即为全局变量。例如P_Curr,M_01,M _ABC。
③撇号(') 【撇号(')】表示后面的文字为注释。例如:
100 Mov P1'TORU,TORU就是注释。
④星号(*) 【星号(*)】在程序分支处做标签时,必须在第1位加星号(*),例:200*KAKUNIN
⑤逗号(,) 【逗号(,)】用于分隔参数、变量中的数据。例:P1=(200,150,…)
⑥句号(.) 【句号(.)】用于标识小数、位置变量、关节变量中的成分数据。
例:M1=P2.X 标志P2中的X数据。
⑦空格
a.在字符串及注释文字中,空格是有文字意义的;
b.在行号后,必须有空格;
c.在指令后,必须有空格;
d.数据划分,必须有空格。
在指令格式中,“□”表示必须有空格。
2.1.3 数据类型
(1)字符串常数
用双引号圈起来的文字部分即“字符串常数”。例如:
“ABCDEFGHIJKLMN”□“123”
(2)位置数据结构
位置数据包括坐标轴、形位(pose)轴、附加轴及结构标志数据。如图2-2所示。
图2-2 位置数据结构
①X/Y/Z——机器人“控制点”在直交坐标系中的坐标。
②A/B/C——以机器人“控制点”为基准的机器人本体绕XYZ轴旋转的角度,称为“形位(pose)”。
③L1/L2——附加轴运行数据。
④FL1——结构标志,表示控制点与特定轴线之间的相对关系。
⑤FL2——结构标志,表示各轴的旋转角度。