'启动电机往负方向走,查询零点或负限位感应器状态,如遇到感应器便立即停
d2410_t_vmove 0, 1
choose_X = 2
While (choose_X = 2)
'可显示一段文字来提示当前回零进展状态
AxisStatus_XO = d2410_axis_io_status(0)
If ((AxisStatus_XO And 2 ^ 14) = 1) Then
choose_X = 1
End If
If ((AxisStatus_XO And 2 ^ 13) = 1) Then
choose_X = 0
End If
Wend
D2410_imd_stop 0 '立即停
S elect Case choose_X
'3.1 在零点和正限位之间
Case 0
Home_From_Zero '调用从零点感应器回零程序
my_O_X = 1 '设置标记
'3.2 在零点和负限位之间
Case 1
Home_From_Lim '调用从负限位感应器回零程序
my_O_X = 1
End Select
End If
End If
'将位置计数器清零,确定当前位置为零点
d2410_set_position 0, 0
'结束回零点函数调用
End Function
'************************************************************************
'从零点回零子程序
Public Function Home_From_Zero()
'启动电机往正方向走,直到走出零点感应器区再减速停,然后调用带Z脉冲的回零函数'd2410_home_move(),控制卡专用函数
Dim AxisStatus_XO As Integer
d2410_t_vmove 0, 1
AxisStatus_XO = d2410_axis_io_status(0)
While ((AxisStatus_XO And 2 ^ 14) = 0)
'可显示一段文字来提示当前回零进展状态
AxisStatus_XO = d2410_axis_io_status(0)
Wend
d2410_decel_stop 0, 0.05
While (d2410_check_done(0) = 1)
'可显示一段文字来提示当前回零进展状态
Wend
'调用正常d2410_home_move() -- 带Z脉冲
d2410_home_move 0, 2, 1
While (d2410_check_done(0) = 1)
'可显示一段文字来提示当前回零进展状态
Wend
End Function
'************************************************************************
'从负限位回零子程序
Public Function Home_From_Lim()
Dim AxisStatus_XO As Integer
'在负限位上启动电机往正方向走,直到感应到零点感应器后急停,调用零点回零子程序
d2410_t_vmove 0, 1
AxisStatus_XO = d2410_axis_io_status(0)
While ((AxisStatus_XO And 2 ^ 14) = 1)
AxisStatus_XO = d2410_axis_io_status(0)
'可显示一段文字来提示当前回零进展状态
Wend
D2410_imd_stop 0 '立即停
Home_From_Zero '调用从零点感应器回零程序
End Function
'************************************************************************
6、结论
通过以上对2种回零基本结构的分析,在实际应用中可以结合自身设备的特点进行针对性的改变,在确保设备精准度和稳定性的同时又能节约硬件成本,从而取得双赢的结局。
可靠的回零除了需要清楚的理解各相关控制元件和执行元件的工作原理,机械设备项目本身的精度要求外,还需从实际出发对特定设备进行精心测试,以便有针对性的准确给出相关的硬件和软件方案,这样才能确保设备的精准度。
台达DOP-W系列提供10.4”/12”/15&rdqu…
JetNet 3005G · 5口全千兆RJ-45交换机 …
显示规格 一般规格 环境规格 结构规格 外形…
功能规格 …
功能规格 …
西门子SIMATIC S7-400PLC的主要特色为:极高的处理…