用LabVIEW軟件編寫USB1020運動控制卡的定位控制程序,在本軟件設計中需要用到的相關驅動函數有:
該函數用于創(chuàng)建USB設備對象,并返回其設備對象句柄。若執(zhí)行成功,則返回對象句柄,否則返回錯誤代碼。
該函數的功能是初始化指定軸定長或連續(xù)驅動,需要設置的參數有hDevice設備對象句柄、pDL公共參數結構體指針、pLC直線和S曲線參數結構體指針。若執(zhí)行成功,返回TRUE,否則返回FALSE。
該函數的功能是啟動單軸直線S曲線驅動,需要設置的參數有hDevice設備對象句柄、AxisNum軸號。若成功,返回TRUE,否則返回FALSE。
該函數的功能是釋放設備對象所占用的系統(tǒng)資源及設備對象自身。需要設置的參數有hDevice設備對象句柄。若成功,則返回TRUE,否則返回FALSE。
該結構體的作用是用于設置伺服電機運動的倍率、初始速度、驅動速度、加減速度和加減速度變化率等參數。
該參數結構體主要用于設置伺服電機進行直線和S曲線運動的相關參數,例如軸號、定長或連續(xù)驅動配置等。了解了上述USB1020控制卡的驅動函數之后,就可以著手配置每個運動軸的控制驅動程序了??紤]到定位運動控制程序需要與后面的數據采集程序結合起來,且檢測平臺每次測量的點數較多,會使整個定位控制與數據采集系統(tǒng)的程序冗雜,因此宜把對四個運動控制軸的運動參數配置編寫成子程序,以方便整個系統(tǒng)控制程序對定位控制程序的調用。
在對可移動L型皮托管傳感器的移動控制上,并不要求控制四個伺服電機的X、Y、Z、R軸同步運動,也沒有嚴格的順序控制關系,而且USB1020運動控制卡可以實現(xiàn)對四個伺服電機的獨立運動控制,因此編寫X、Y、Z、U四軸的定位控制程序時采用LabVIEW軟件的順序控制結構來編寫X、Y、Z、R軸的控制程序。由于程序篇幅的限制,圖5-7給出了X軸的LabVIEW控制程序,Y、Z、R軸的控制程序與此相類似。
從上圖的X軸定位控制程序可以看出,需要對HANDLE CreateDevice函數、BOOLInitLVDV(HANDLE hDevice PUSB1020_PARA_DataListpDL,PUSB1020_PARA_LCDatapLC)函數、BOOLStarLVDV(HANDLE hDeviceLONG AxisNum)函數、BOOLReleaseDevice(HANDLE hDevice)函數都要設置它們的軸編號為0,表示控制的是X軸,同理對Y軸編號、Z軸編號、R軸編號分別為設置為1、2、3。在公用參數結構體、直線和S曲線參數結構體里設置X軸伺服電機的運動控制參數。
從圖5-7可知,相關的運動參數包括初始速度、驅動速度、加速度、減速度、加速度變化率、減速度變化率、驅動方式(定長驅動還是連續(xù)驅動)、減速方式(自動減速還是手動減速)、脈沖方式(CW/CCW方式還是CP/DIR方式)、驅動脈沖的方向(正方向還是負方向)、邏輯信號輸出的邏輯電平(設置為0時表示低電平為正方向,設置為1時表示高電平為正方向)、運動方式(直線運動還是曲線運動)、運動方向(正方向還是反方向)、定量輸出脈沖數等。
在本定位控制程序設置中,只需要對X軸來進行定位控制,因此可以根據實際運動的需要,把初始速度和驅動速度設置為相同值。加速度、減速度、加速度變化率、減速度變化率不做要求,采用默認值。運動方式選擇定長驅動,參數為0;減速方式采用默認值0,為自動減速;脈沖方式選擇CW/CCW方式,參數值設置為0,表示獨立2脈沖輸出方式。驅動脈沖的方向采用默認參數值0,表示正方向。定量脈沖輸出數是最為重要的參數,用于控制伺服電機的位移。定量脈沖數由伺服電機需要走的位移值與整個檢測平臺的一個脈沖當量的比值來決定。同理,其他軸的運動控制參數也是根據實際的運動控制要求來進行相關的設置。
上述運動控制子程序作為一個可供整個系統(tǒng)程序調用的子程序,提供了每個軸的運動控制參數的輸入端口,包括伺服電機運動的速度、方向和位移。運動控制程序的輸入端口如圖5-8所示。圖5-9為生成的運動控制子程序圖標。http://www.hddcyq.com