LOOP 10 DO PTP (ap0) PTP (ap0) END_LOOP
该指令执行两点之间的循环运动,且循环次数为10. RUN,KILL
RUN指令调用一个用户程序,该程序与主程序平行运行。RUN调用的程序必须用KILL指令终止。RUN调用的程序必须是该项目中的程序。
//in test.tip RUN Prog189
…
KILL Prog189
RETURN
该指令用于终止正在运行的程序。 GOTO…,IF…GOTO…,LABEL…
GOTO指令用于跳转到程序不同部分。跳转目标通过LABEL指令定义。不允许从外部跳转进入内部程序块。内部程序块可能是WHILE循环程序块或者IF程序块。
IF-GOTO指令相当于一个缩减的IF程序块。IF条件判断表达式必须是BOOL类型。假如条件满足,程序执行GOTO跳转命令,其跳转目标必须由LABEL指令定义。
LABEL指令用于定义GOTO跳转目标。 输入输出指令组—数字量输入输出指令
- 28 -
这些指令运用到输入输出模块的数字信号和模拟信号,数字与模拟信号经常与触发信息一起配合使用。
DIN.Wait
等待直到数字输入端口被设置或重置,或者直到可选的时间终止,例如:
din0.Wait (TRUE)
DOUT.Pulse
将数字输出端口设置为TRUE或者FALSE持续一段时间,可选参数设置脉冲是否在程序停止时能够被中断,如果可选参数没有被设置,那么该指令自动默认可选参数为FALSE。例如:
dout0.Pulse (TRUE,2000,TRUE)
该程序表示数字输出端口dout0将被设置为TRUE,如果程序没有被中断,那么2秒后数字输出端口dout0被设置为FALSE。如果在2秒内程序被中断,那么数字输出端口dout0输出FALSE,程序重新运行后数字输出端口dout0重新被设置为TRUE直到剩余的时间结束。
DOUT.Set
对数字输出端口进行设置,设置输出为TRUE或FLASE,例如:
dout0.Set (TRUE) DINW.Wait
这个指令会一直等待直到输入字适合设定值,或者直到可选的时间超时了。例如:
dinw0.Wait (16#0021,16#00FF,i0)
DINW.WaitBit
等待直到一个输入字指定位被设置或重置。例如:
dinw0.WaitBit (TRUE,7) DOUTW.Set
- 29 -
设置输出字为指定的值。例如:
doutw0.set (16#00FF) 输入输出指令组—模拟量输入输出指令 AIN.WaitLess,AIN.WaitGreater
该两种指令功能是等待直到模拟量输入值小于或大于指定的值,或者直至可选的时间超时。例如:
ain0.WaitLess (40.0),ain0.WaitGreater (100.0)
AIN.WaitInside,AIN.WaitOutside
这两种指令功能是等待直到模拟量输入值在一个数值区间内或者外,或者直至可选的时间超时。例如:
ain0.WaitInside (5.0,15.0),ain0.WaitOutside (0.5,4.0)
AOUT.Set
设置模拟量输出为指定的值。例如:
aout0.Set (4.0) 功能块指令组—触发器指令 OnDistance
触发器可以在从起点运动一定距离或者距离终点一定距离时触发。时间可选项表示机器人在运行到触发点前一定时间触发或者经过触发点后一定时间触发。
在程序中的指令为:
LIN (P0)
OnDistance (FROMBEGIN,20) DO Dout.Set (TRUE)
LIN (P1)
- 30 -
OnDistance图例如下
P0为起始点,P1为终点,机器人从起点P0运动20毫米时触发,然后执行Dout.Set指令。
OnParameter
在下一个运动段的某段触发。时间可选项表示在触发点的时间偏移,如果时间数值为负,表示机器人在到达触发点前的某一时间触发,如果时间数值为正,表示机器人到达触发点后某一时间触发。如果没有指定时间偏移,那么机器人到达触发点就会触发。时间偏移限制在-300ms~1000ms。
OnPlane
在笛卡尔空间里定义机器人在某一触发平面上触发。例如:OnPlane(YZPLANE,100)表示机器人末端在距离YZ平面100毫米时触发。例如:
RefSys (Rs1) Lin (Pos1)
OnPlane (YZPLANE,100.0,-100) DO Dout1.Set (TRUE)
Lin (Pos2) 该程序中参考系统为Rs1,机器人从Pos1到Pos2作直线运动时,在距离YZ平面100毫米处提前100ms触发。
OnPosition
该指令用于同步触发,当机器人经过指定位置时触发。例如:
- 31 -