7,763
社区成员
发帖
与我相关
我的任务
分享
Private Sub Command5_Click()
Dim result&
Dim chazhi As Double
result& = MMC_sendCommand("M" & "N" & "," & "M" & "A" & Round(Val(Text2.Text) * 145.6355328))
Call Sleep(2000) '先让工作台有个大范围的逼近,如果chazhi>=1,循环判断,小范围逼近
'比较工作台与显示值,判断工作台运动到与需要显示的位置
chazhi = Val(Text2.Text) - Val(Form1.Axis(0).Text)
While (Abs(chazhi) >= 1)
result& = MMC_sendCommand("M" & "N" & "," & "M" & "R" & Round(chazhi) * 145.6355328)
Call Sleep(1000)
chazhi = Val(Text2.Text) - Val(Form1.Axis(0).Text)
Wend
End Sub
MMC_sendCommand("MN,MR(" & lngDif & ")")
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
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