川崎机器人案例码垛程序说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
码垛程序一般常见语言说明
●SPEED/SP 速度ALWAYS
指定下一条动作命令的运动速度,若追加ALWAYS则此命令指定的速度值将持续到执行下一条SPEED命令为止。
程序速度通常以百分比(0.01%~100%)指定,也可以通过指定速度单位MM/S(毫米/秒)或MM/MIN(毫米/分)来指定绝对速度。
示例:
SPEED 50 将下一条运动的速度指定为最大速度的50%
SPEED 100 将下一条运动的速度指定为最大速度
SPEED 200 将下一条运动的速度指定为最大速度(速度超过100%时
被看作为100%)
SPEED 20MM/S ALWAYS 工具坐标系原点的速度被指定为20MM/S,直到它被另一
SPEED命令改变。
SPEED 6000MM/MIN 将下一条运动中工具坐标系原点的速度被指定为
6000MM/MIN
SPEED 5S 设定下一条机器人运动的速度,使其在5S中到达
SPEED 100MM/S,50 指定下一条运动的速度。到达目标位姿所需时间长者优先●ACCURACY/ACCU 距离ALWAYS
指定下一条动作命令中判断机器人位姿时的精度,若追加ALWAYS则此命令指定的精度值将持续到执行下一条ACCURACY命令为止。
其中参数距离的单位为毫米。
示例:
ACCURACY 50 ALWAYS 将所有后继运动命令的精度范围设定为50毫米。
●BREAK/BRE
暂停程序中的下一步骤的执行,直到当前机器人运动完成后再继续。
示例:
……
LMOVE a
BREAK
SIGNAL 9
……
上述命令当机器人移动到a点时,输出外部信号9为ON。如果去掉BREAK命令,则有可能机器人在向a点运动的过程中(未达到a点时),提前输出外部信号9。
●JMOVE/JM 位姿变量
LMOVE/LM 位姿变量
移动机器人到指定位姿
JMOVE:机器人以关节插补动作移动
LMOVE:机器人以直线插补动作移动
示例:
JMOVE #pick 以关节插补移动到关节位移值“#pick”描述的位姿。
LMOVE ref+place 以直线插补移动到复合变换值“ref+place”描述的位姿
●HOME/HO 原点位姿编号
以关节插补动作,移动至以HOME或HOME2定义的位姿处
示例:
HOME 以关节插补移动到用SETHOME命令设定的原点处。
HOME 2 以关节插补移动到用SET2HOME命令设定的第2原点处。
●OPEN 夹紧编号
OPENI夹紧编号
输出夹紧打开信号,夹紧编号省略时,默认为1。
对于OPEN:不输出信号,要到下一动作开始时才输出信号
对于OPENI:a)如果机器人当前正在运动中,信号在运动结束后输出
B)如果机器人不在运动中,信号被立即输出。
●CLOSE 夹紧编号
CLOSEI 夹紧编号
输出夹紧闭合信号,夹紧编号省略时,默认为1。
对于CLOSE:不输出信号,要到下一动作开始时才输出信号
对于CLOSEI:a)如果机器人当前正在运动中,信号在运动结束后输出
B)如果机器人不在运动中,信号被立即输出。
●GOTO 标签IF 条件
跳转到带指定标签(不是步骤编号)的程序步骤处。标签为0至32767之间的任意整数
示例:
GOTO 100 无条件跳转到标签100处,若无标签100,则报错。
GOTO 100 IF n==3 当变量n等于3时,程序跳转到标签100处,如果不等于3,
则执行下一步骤,,若无标签100,则报错。
●IF 条件GOTO 标签
当给定的条件满足时,跳转到带指定标签(不是步骤编号)的程序步骤处。
示例:
IF n==3 GOTO 100 当变量n等于3时,程序跳转到标签100处,如果不等于3,
则执行下一步骤,,若无标签100,则报错。
IF flag GOTO 200 当变量flag不等于0时,程序跳转到标签200处,否则执行
下一步骤,,若无标签200,则报错。
●CALL 程序名
暂停当前程序的执行,并跳转到一个新的程序。且当心程序执行完后自动返回并继续执行CALL命令后的程序步骤。
示例:
CALL sub1 跳入名为sub1de子程序,当执行到子程序中的RETURN命
令时,返回原来的程序并执行CALL后面的程序。
●RETURNE
结束子程序的执行,并返回到子程序的调用程序中的CALL命令的下一步(如果该子程序不是被其他程序调用的,则程序结束)。
●TWAIT 时间
暂停程序的执行,直到指定的时间流逝,单位:秒。
示例:
TWAIT 0.5 等待0.5秒
TWAIT deltat 等待变量deltat设置的时间
●IF 逻辑表达式THEN
程序命令(1)
ELSE
程序命令(2)
END
如果逻辑表达式为真,则执行程序命令(1);如果逻辑表达式为假,则执行程序命令(2)
示例:
IF n〉5 THEN
sp=10
ELSE
sp=20
END
如果变量n大于5,则将10赋值给变量sp,否则将20赋值给变量sp。
*逻辑表达式可以是逻辑表达式或实数表达式,测试该值为真(/非0)或假(0),
例如:
IF SIG(1001)THEN
程序命令
END
如果外部输入信号1001为ON,则执行随后的程序命令。
IF SIG(1001,1002)==TRUE THEN
程序命令
END
如果外部输入信号1001和1002都为ON,则执行随后的程序命令。
IF m THEN
程序命令
END
如果m的值不为0,则执行随后的程序命令。
●FOR 循环变量=起始值TO 结束值STEP 步进值
程序命令
END
此程序将重复执行位于FOR和END语句之间的程序命令,在每次循环执行之后,循环变量增加给定的步进值(默认为1),并与结束值进行比较,若不等于结束值则继续循环,知道与结束值相等时跳出循环。该结构多用于已知循环次数的循环中。
示例:
FOR n=1 TO 10
……
LMOVE a [n]
……
END
机器人将从数组变量a [1],a [2],a [3],……依次移动到数组变量a [10]所描述的
位姿。
●CASE 索引变量OF