利用VB編寫(xiě)應(yīng)用程序以及調(diào)節(jié)PID控制算法可精確控制轉(zhuǎn)臺(tái)位置的角度_第1頁(yè)
利用VB編寫(xiě)應(yīng)用程序以及調(diào)節(jié)PID控制算法可精確控制轉(zhuǎn)臺(tái)位置的角度_第2頁(yè)
利用VB編寫(xiě)應(yīng)用程序以及調(diào)節(jié)PID控制算法可精確控制轉(zhuǎn)臺(tái)位置的角度_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、利用VB編寫(xiě)應(yīng)用程序以及調(diào)節(jié)PID控制算法可精確控制轉(zhuǎn)臺(tái)位置的角度    Abstract:This paper introduced the application of usingVB, and the concept of completing communica-tion for card I/ Oreading andwritingof portto ISA, andmakinguse ofthe PIDregulatingof calculatewayto at-tain the angles accurate control of set

2、position. Key words:dynamic linking library, proportional-integral-differential 摘要:介紹了利用VB編寫(xiě)應(yīng)用程序,通過(guò)對(duì)ISA接口卡I/O端口的讀寫(xiě)來(lái)完成基本的數(shù)據(jù)通訊,以及利用PID控制算法的調(diào)節(jié)達(dá)到對(duì)轉(zhuǎn)臺(tái)位置角度的精確控制。 關(guān)鍵詞:動(dòng)態(tài)鏈接庫(kù)(DLL)PID0 概述三自由度轉(zhuǎn)臺(tái)廣泛用于航空航天等國(guó)防領(lǐng)域利用轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)可實(shí)現(xiàn)對(duì)半實(shí)物進(jìn)行仿真與測(cè)試,模擬被測(cè)試對(duì)象的運(yùn)動(dòng)姿態(tài)。1 系統(tǒng)組成和工作原理轉(zhuǎn)臺(tái)位置測(cè)控系統(tǒng)主要有一臺(tái)帶有ISA接口插槽的控制計(jì)算機(jī),有模擬量輸

3、入/輸出和數(shù)字量輸入/輸出的多功能板接口卡,電機(jī)驅(qū)動(dòng)模塊和轉(zhuǎn)臺(tái)位置檢測(cè)編碼器,連同轉(zhuǎn)臺(tái)一起構(gòu)成轉(zhuǎn)臺(tái)位置測(cè)控系統(tǒng),其系統(tǒng)結(jié)構(gòu)如圖1所示。首先由計(jì)算機(jī)發(fā)出指令給出轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)角度,以數(shù)字量的形式傳送到多功能接口板上,利用接口板上的數(shù)模轉(zhuǎn)換功能以模擬量電壓的形式輸出來(lái),然后通過(guò)傳輸線路將電壓傳送給驅(qū)動(dòng)模塊,將電壓加以放大來(lái)驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng),通過(guò)電機(jī)的轉(zhuǎn)動(dòng)來(lái)帶動(dòng)轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng),通過(guò)安裝在轉(zhuǎn)臺(tái)軸上的軸角編碼器(把角度轉(zhuǎn)換為數(shù)字量)將轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)角度反饋給計(jì)算機(jī),通過(guò)比較計(jì)算機(jī)給出的轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)角度與轉(zhuǎn)臺(tái)實(shí)際轉(zhuǎn)動(dòng)角度偏差,通過(guò)PID控制算法的調(diào)節(jié)將角度的偏差轉(zhuǎn)換成可輸出的電壓信號(hào),再通過(guò)驅(qū)動(dòng)模塊驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng),來(lái)實(shí)現(xiàn)

4、對(duì)轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)角度的控制,直到轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)角度等于計(jì)算機(jī)給出的角度。由于輸出量要求的是模擬信號(hào)和輸入的反饋信號(hào)是數(shù)字量,因此,采用具有ISA總線接口的模擬量輸入/輸出和數(shù)字量輸入/輸出的多功能接口卡。為了隔離現(xiàn)場(chǎng)的各種干擾,傳輸線路采用金屬屏蔽電纜,以提高計(jì)算機(jī)測(cè)控系統(tǒng)的抗干擾能力。2 軟件計(jì)算機(jī)測(cè)控軟件必須完成以下功能:能夠直接輸入轉(zhuǎn)臺(tái)的角度(0360°);不管轉(zhuǎn)臺(tái)目前在何種角度位置,只需通過(guò)應(yīng)用程序界面輸入所需的轉(zhuǎn)臺(tái)位置角度,通過(guò)程序運(yùn)算功能和邏輯處理功能使轉(zhuǎn)臺(tái)能以最短路徑轉(zhuǎn)到所需轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)角度,以便在最短時(shí)間內(nèi)使轉(zhuǎn)臺(tái)轉(zhuǎn)到所需的位置角度;能夠檢測(cè)轉(zhuǎn)臺(tái)的實(shí)際轉(zhuǎn)動(dòng)角度,并能動(dòng)態(tài)顯

5、示轉(zhuǎn)臺(tái)的實(shí)際轉(zhuǎn)動(dòng)角度;針對(duì)不同的情況可設(shè)定轉(zhuǎn)臺(tái)的速度(快、中、慢三種速度可供選擇);能夠在緊急狀態(tài)下隨時(shí)停止轉(zhuǎn)臺(tái)運(yùn)轉(zhuǎn);為了確保整個(gè)系統(tǒng)的可靠性和安全性,可通過(guò)設(shè)定一定的時(shí)間要求轉(zhuǎn)臺(tái)轉(zhuǎn)過(guò)一定的角度,否則當(dāng)轉(zhuǎn)臺(tái)在給定的時(shí)間內(nèi)不能轉(zhuǎn)動(dòng)時(shí)能夠給出故障提示并中止轉(zhuǎn)臺(tái)運(yùn)行。為了方便用戶(hù)的使用,能夠通過(guò)測(cè)控畫(huà)面可看到轉(zhuǎn)臺(tái)的動(dòng)態(tài)轉(zhuǎn)動(dòng)畫(huà)面。這里采用可視化的編程語(yǔ)言VB,作為本W(wǎng)indows應(yīng)用程序開(kāi)發(fā)平臺(tái),相對(duì)其它語(yǔ)言來(lái)說(shuō),投資少,開(kāi)發(fā)周期短。不過(guò),在工業(yè)控制中對(duì)計(jì)算機(jī)的底層硬件進(jìn)行訪問(wèn),以及利用各種控制接口板進(jìn)行數(shù)據(jù)采集和時(shí)間控制,僅靠VB是無(wú)法解決的。解決這樣的問(wèn)題可以間接使用動(dòng)態(tài)鏈接庫(kù)DLL(Dynami

6、c Link Library)來(lái)實(shí)現(xiàn)。程序人員利用DLL可以實(shí)現(xiàn)應(yīng)用程序共享代碼和資源,DLL與用戶(hù)的程序完全分開(kāi)。一般情況下所使用接口卡的公司都為我們提供了相關(guān)的動(dòng)態(tài)鏈接庫(kù)(DLL),這樣更有利于我們開(kāi)發(fā)出所需的測(cè)控程序,使上述功能得以實(shí)現(xiàn)。3 軟件的實(shí)現(xiàn)動(dòng)態(tài)鏈接庫(kù)雖然是一個(gè)可執(zhí)行模塊,但它并不可以直接運(yùn)行,它只是提供一群函數(shù)供Windows應(yīng)用程序或其它動(dòng)態(tài)鏈接庫(kù)調(diào)用,以完成其特殊任務(wù)。由于動(dòng)態(tài)鏈接庫(kù)是在應(yīng)用程序運(yùn)行期間被連接起來(lái)的,故稱(chēng)為動(dòng)態(tài)鏈接庫(kù)。動(dòng)態(tài)鏈接庫(kù)只有在別的模塊中調(diào)用了它的某個(gè)函數(shù)以后,該動(dòng)態(tài)鏈接庫(kù)才發(fā)生作用。DLL函數(shù)或過(guò)程必須在全局模塊(*.BAS)中正確說(shuō)明才

7、有效。VB是用Declare語(yǔ)句把一個(gè)DLL函數(shù)引入VB中的,它告訴VB在哪里找到DLL函數(shù),并且讓VB知道DLL需要哪種類(lèi)型的參數(shù),同時(shí)返回哪種類(lèi)型的值。當(dāng)某個(gè)DLL函數(shù)用Declare語(yǔ)句正確聲明以后,就可以像使用其它函數(shù)一樣使用這個(gè)DLL函數(shù)。在VB應(yīng)用程序的全局模塊中聲明api32.DLL,并將其放入Windows system目錄下,這樣就可以象使用Windows API一樣可以使用api32.DLL中的函數(shù)。例如,我們可以使用api32.DLL中的數(shù)字量輸入函數(shù)DRVDIDigitalIn和模擬量輸出函數(shù)DRVAO-VoltageOut對(duì)接口板進(jìn)行讀寫(xiě)。Declare Functi

8、on DRVDIDigitalIn Lib“api32.dll”(ByVal DriverHandleAsLong, DioReadBitAs PTDioRe-adBit) As Long聲明數(shù)字量輸入函數(shù)Declare Function DRVAOVoltageOut Lib“api32.dll”(ByVal DriverHandle As Long, AOVoltageOut AsPTAOVoltageOut) As Long聲明模擬量輸出函數(shù)下面的程序示范了使用api32中的DRVAOVolt-ageOut函數(shù)Device = DRVDeviceOpen(0, DeviceHandle)打開(kāi)接口卡的模擬量輸出端口AOConfig.MaxValue = 5設(shè)定輸出模擬量最大電壓值A(chǔ)OConfig.MinValue = 0設(shè)定輸出模擬量最小電壓值A(chǔ)OVoltageOut.OutputValue = Speed.value指定轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)速度Voltage = DRVAOVo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論