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