在設計測試平臺的定位程序時,為了減少程序的耦合,提高程序運行的效率,需要考慮采用模塊化思想,將定位程序分解成單獨的子程序,各模塊之間可以互相調用?;谝陨系南敕?,把控制每個軸的程序設計成一個獨立的子程序,且設置必要的輸入、輸出參數(shù)的接口,方便對每個伺服軸的控制。
下圖5-21是任意伺服軸的定位控制程序的LabVIEW前面板,它提供了對伺服軸進行控制的輸入、輸出參數(shù)的接口,可以通過前面板來設置電機的倍率(倍率的范圍:1—500,用于增大或減小伺服電機的速度和加速度)、軸號(賦值十六進制數(shù)0表示X軸、賦值十六進制數(shù)1表示Y軸、賦值十六進制數(shù)2表示Z軸、賦值十六進制數(shù)F表示所有軸)、伺服電機的運動方向(0表示控制伺服電機的反向運轉1表示伺服電機的正向運轉)、速度脈沖數(shù)(參數(shù)范圍是在默認倍率為1時為1—8K,可用倍率來調整放大倍數(shù),當倍率取值500時,速度脈沖數(shù)可達4MHz值)、定位脈沖數(shù)(賦值范圍為0—268435455,用于在定長驅動模式下設置伺服電機一次走過的脈沖數(shù))。
圖5-22是該定位控制子程序的LabVIEW后面板,主要由控制伺服電機工作的幾個函數(shù)構成。其工作原理是:通過CreateDevice函數(shù)產生一個控制伺服電機的設備句柄,以賦給后續(xù)相關進行伺服電機驅動控制的參數(shù);通過InitLVDV函數(shù)來初始化伺服電機的驅動控制參數(shù),例如軸號、倍率、伺服電機運動方向、速度、位移等;通過SetINPOSEnable函數(shù)和SetALARMEnable函數(shù)的設置可分別使能接收伺服電機的定位完成信號和伺服報警信號;通過StarLVDV函數(shù)來啟動伺服電機;當伺服電機走完定長脈沖數(shù)后,通過ReleaseDevice函數(shù)來釋放對伺服電機設備的控制驅動。
http://97saosao.com