|
楼主 |
发表于 2009-12-29 10:13:51
|
显示全部楼层
Private Sub Command5_Click() '点击这个按钮平台开始运动
Dim result&
Dim lngDif As Long, lngTune As Long
Dim sngPauseTime As Single, sngStart As Single
result& = MMC_sendCommand("M" & "N" & "," & "M" & "A" & Round(Val(Text2.Text) * 145.6355328)) '发送平台绝对运动的命令,首先想让平台运动Sleep(2000)这样的时间内到达一个绝对位置,光栅尺有个测量值显示在AxiS.Text里。
Call Sleep(2000) '让运动时间间隔2秒
sngPauseTime = 0.2 '这以后都是在大的绝对位置上相对运动,所以时间短,每次只等待0.2秒钟.
lngDif = Text2 - Ax '看Text2.Text的输入值与AxiS.Text显示值的差别
While Abs(lngDif) > 1 '如果误差大于1微米(误差要求在1微米之内)
result& = MMC_sendCommand("MN,MR(Text2 - Ax)") '给微动工作台发相对运动命令让它增加 Text2 - Ax 微米.
sngStart = Timer '等待微动工作台运动0.2秒
Do While Timer < sngStart + sngPauseTime
DoEvents
Loop
lngDif = Text2 - Ax'获得新的差值,如果为0了就表示相对运动没有了
Wend
End Sub
这个思路怎么样? |
|