;********************************************** ;* 函数名 : AXIS_MOVE.SPF ;* 功能 : 测量时轴按指定方式移动 ;* 输入参数: 无 ;* 输出参数: 无 ;* 开发者 : Martin ;* 开发日期: 20201121 ;* 机器名 : CNC ;* 备注 : ;********************************************** N10 Proc AXIS_MOVE ;DISPLOF SBLOF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;变量声明;;;;;;;;;;;;;;;;;;;; DEF AXIS AXIS_REF ;轴索引 DEF REAL Pos_Start,Pos_STEP,Pos_Pass,Pos_Distance,Pos_gaptime DEF REAL AXIS_Speed,Pos_Target DEF INT Pos_direction,Pos_num ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;初始化;;;;;;;;;;;;;;;;;;;; AXIS_REF=AXNAME("X") ;运行轴名 为通道轴名(XYZ除外) AXIS_Speed=3000 ;轴速 Pos_Start=0 ;起始点 Pos_STEP=200 ;间隔距离 绝对值 Pos_Pass=5 ;越程距离 绝对值 Pos_Distance=3000 ;总行程 绝对值 Pos_gaptime=5 ;间隔时间 Pos_direction=1 ;默认正向 反向设为-1 Pos_num=3 ;循环次数 ;;;;;;;;;;;;;;;;;;;;;;;;;;计算;;;;;;;;;;;;;;; Pos_Target=Pos_Start+Pos_Distance*Pos_direction ;计算目标值 ;;;;;;;;;;;;;;;;;;;;;;;;;;运动开始;;;;;;;;;;;;;;; MARK: G1 G90 F=AXIS_Speed AX[AXIS_REF]=Pos_Start-Pos_Pass*Pos_direction AX[AXIS_REF]=Pos_Start M0 REPEAT G1 G91 AX[AXIS_REF]=Pos_STEP*Pos_direction G4F=Pos_gaptime UNTIL ABS($AA_IM[AXIS_REF]-Pos_Target)< Pos_STEP G1 G90 AX[AXIS_REF]=Pos_Target+Pos_Pass*Pos_direction AX[AXIS_REF]=Pos_Target G4F5 REPEAT G1 G91 AX[AXIS_REF]=-Pos_STEP*Pos_direction G4F=Pos_gaptime UNTIL ABS($AA_IM[AXIS_REF]-Pos_Start)< Pos_STEP REPEAT MARK P=Pos_num-1 M30