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