ACCEL=10*SPEED DECEL=10*SPEED CREEP=1 FWD_IN=-1 REV_IN=-1 DATUM_IN=0 INVERT_IN(0,ON) DATUM(3) MOVE(-10000) WAIT IDLE DEFPOS(0)
IF IN(0)=0 AND g_zero_flag=1 THEN g_zero_flag=0
ENDIF VR(cur_couts)=108 ENDIF GOTO loop
答:回原点是一次性行为,没必要做一个循环。需要再次回原点,也只需再调用该程序一次。
FEEDHOLD_IN(FH_IN)设定一个进给保持(暂停)输入,就可以实现你想要的功能。该输入有效,机器就暂停,该输入又复位,机器就继续运行。
范例十二: 『原创』
' InitData'----------------------------------------------- GOSUB init_data
' Initialisation of serial ports----------------------------------------------- GOSUB init_serial
'Stops all movements and programs'----------------------------------------------- GOSUB stop_all
' Initialisation axis parameters'----------------------------------------------- RUN \
'Wait until process is stopped
WAIT UNTIL PROC_STATUS PROC(3)=0 WA(200) WDOG=ON WA(10)
'Return Machine Home When Power On GOSUB zero_m4
'---------------------------Main Cycle Start----------------------------------' WHILE(TRUE)
'Start the applic ation programs WDOG=ON
IF IN(safety_gate) = 0 AND IN(emg_stop)=0 AND IN(line_cut)=0 THEN TABLE(display_alarm,0) RUN \
WAIT UNTIL PROC_STATUS PROC(5)=1
RUN \
WAIT UNTIL PROC_STATUS PROC(6)=1 CLEAR_BIT(4,1) runflag=1 ENDIF
IF IN(safety_gate) = 1 THEN'Safety Gate Alarm TABLE(display_alarm,33) ENDIF
IF IN(emg_stop)=1 THEN'Emergency Alarm TABLE(display_alarm,35) ENDIF
IF IN(line_cut) = 1 THEN'Line Cut Alarm TABLE(display_alarm,36) ENDIF 'Main loop
'------------------------------------------ WHILE(runflag=1) ' Check for motion error IF MOTION_ERROR THEN '...
TABLE(display_alarm,34) GOSUB m_error runflag=0 ENDIF
' Check for Safety Gate Alarm and Emergency stop and Line Cut Alarm IF IN(1) = 1 OR IN(2)=1 OR IN(3)=1 OR READ_BIT(4,1)=1 THEN '...
GOSUB e_stop GOSUB data_reset WA(10)
CLEAR_BIT(4,1)'Reset Buttom runflag=0 ENDIF
' Check Manual Return Home
IF READ_BIT(2,0)=1 AND a_flag=0 THEN '... BASE(0) WA(2)
IF MTYPE = 0 THEN
SET_BIT(4,0)'Zero Led Display GOSUB zero_m4 WA(1)
CLEAR_BIT(4,0)'Zero Led Display ENDIF a_flag=1 ENDIF
IF READ_BIT(2,0)=0 THEN a_flag=0 WEND WEND
'---------------------------Main Cycle End----------------------------------' '---------------------------Sub Function Start------------------------------' m_error:
' Stop all movements GOSUB stop_all RETURN e_stop:
' Emergency Stop GOSUB stop_all RETURN stop_all:
GOSUB stop_all_program GOSUB stop_all_moves GOSUB wdog_off RETURN
stop_all_program: 'Stops all programs STOP \
WAIT UNTIL PROC_STATUS PROC(5)=0 STOP \
WAIT UNTIL PROC_STATUS PROC(6)=0 RETURN
stop_all_moves:
'Stops all possible moves ADDAX(-1) AXIS(0) ADDAX(-1) AXIS(1) ADDAX(-1) AXIS(2) ADDAX(-1) AXIS(3) ADDAX(-1) AXIS(4) RAPIDSTOP WA(20)
FOR i = 0 TO 7 BASE(i) CANCEL(1) WA(1) CANCEL(1) WA(1) CANCEL WAIT IDLE
DATUM(0) 'Reset the possible following error SERVO = OFF NEXT i
RETURN 'WDOG OFF wdog_off: BASE(0) 'Disable all axis WDOG=OFF RETURN init_data: safety_gate=1 emg_stop=2 line_cut=3 display_alarm=124 RETURN data_reset: '
TABLE(display_alarm,0) RETURN init_serial: 'ADDRESS=1
SETCOM(19200,7,2,2,1,5,1) WA(500) RETURN zero_m4:
'When Power On and Zero is Ok BASE(0)
UNITS=16384*16/((11*3.14159*15/70)*1000)'0.001mm SPEED=10*16384*16/UNITS CREEP=4*16384*16/UNITS
ACCEL=SPEED*100 'acc_time=10ms DECEL=SPEED*100 SERVO=0
DATUM_IN AXIS(0)=0 DATUM(3)
WAIT UNTIL DPOS AXIS(0)=0 CANCEL CANCEL
DEFPOS(0)AXIS(0) RETURN
'---------------------------Sub Function End---------------------------------'
范例十三:
螺旋插补指令(MHELICAL)
MHELICAL 螺旋插补
类型:运动控制指令
语法:MHELICAL(end1,end2,centre1,centre2,direction,distance3,[mode]) 说明:执行一个螺旋插补运动
在两个正交轴之间做圆弧插补,同时第三轴做线性运动,前五个参数和圆弧插补指令MOVECIRC()类似,第六个参数定义同时要走的第三轴的线性距离。End1和center1工作在当前的基本轴,End2和center2工作在下一轴。前四个距离和第六个参数是以各自轴的单位转换因子为单位。 参数:
end1BASE基准轴要停止的相对于起点的位置
end2BASE基准阵列中,下一个轴的要停止的相对于起点的位置 centre1圆心相对于BASE基准轴起点的位置
centre2圆心相对于BASE基准阵列,下一个轴的起点的位置
direction圆弧插补方向软件开关设成1为顺时针方向/ 设成0为逆时针方向 distance 3 BASE基准阵列中,第三轴走的线性距离
mode: 0 =标准的螺旋插补 1 =只插补前两个轴第三轴随动
例子:
例1下面的这段程序的功能是,通过轴1和轴2,使得工具绕圆角长方形运动,通过转动轴3让工具始终与长方形垂直。轴3单位是度
REP_OPTION AXIS(3)=ON ‘ 运动开始三个轴需要回零点 MERGE=ON
MOVEABS(360) AXIS(3) ‘校正3轴开始角度 WAIT IDLE AXIS(3) MOVE(0,12)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Trio范例(3)在线全文阅读。
相关推荐: