Val编程-特殊函数使用
Waitendmove()和$Waitendmove()使用心得
这是两个部分,程序运行部分和运动堆栈部分,waitendmove是两个部分进行交互的一个函数。
一般情况下waitendmove()速度会降到0,相当于blend等于off.
代码:
begin cls() userPage() title("测试WaitEndMove函数") resetMotion() mNomSpeed.tvel=500 $setBoxcarFreq(10,10) wait(isPowered()) //往前三秒 movej(jJ[0],tTool,mNomSpeed) waitEndMove() gotoxy(0,0) put("往前0.9秒开始计时") l_nNum=clock() movej(jJ[1],tTool,mNomSpeed) $waitEndMove(-0.9) delay(1) gotoxy(0,1) put("先前0.9秒运行结束:"+toString(".3",clock()-l_nNum)) //正常 movej(jJ[0],tTool,mNomSpeed) waitEndMove() gotoxy(0,2) put("开始计时") l_nNum=clock() movej(jJ[1],tTool,mNomSpeed) waitEndMove() delay(1) gotoxy(0,3) put("运行结束:"+toString(".3",clock()-l_nNum)) //往后三秒 movej(jJ[0],tTool,mNomSpeed) waitEndMove() gotoxy(0,4) put("往后0.9秒开始计时") l_nNum=clock() movej(jJ[1],tTool,mNomSpeed) $waitEndMove(0.9) delay(1) gotoxy(0,5) put("往后0.9秒运行结束:"+toString(".3",clock()-l_nNum)) end
效果:
说明:
1.waitendmove(num time) 时间单位是秒。
2.通过时间来控制而非通过moveid来控制。
3.时间的值与boxcar相关。