版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)摘要摘 要本論文設(shè)計是基于VisualC+6.0軟件下實現(xiàn)雙油缸同步控制系統(tǒng)的編程, 探索同步控制的控制策略,并且完成高精度雙油缸同步控制實驗。 該系統(tǒng)控制界面 不僅簡潔實用,而且具有良好的人機(jī)交流功能。上位機(jī)控制系統(tǒng)所實現(xiàn)的功能有雙油缸的通訊、UP、暫停、DOWN、停機(jī)、位移顯示、曲線顯示等,在完成同步控制程序后探究反饋控制策略并編寫程序,實現(xiàn)雙油缸同步控制。在接口程序編程部分,本文采用EDC220控制器提供的接口函數(shù)實現(xiàn)PC機(jī)與控制器通訊,數(shù)據(jù)的發(fā)送與接收采用統(tǒng)一通訊協(xié)議,這種方法不 僅簡單,而且實用。本文采用控制器作為下位機(jī)來驗證上位機(jī)控制功能,控制器作為
2、下位機(jī)主要負(fù)責(zé)兩個油缸的各種參數(shù)數(shù)據(jù)的采集, 然后通過端口把數(shù)據(jù)發(fā)送給上 位機(jī),PC機(jī)作為上位機(jī)主要負(fù)責(zé)數(shù)據(jù)的分析處理和顯示。本文最后完成高精度雙 油缸同步控制實驗,驗證同步控制精度。關(guān)鍵詞:雙油缸,VC+,EDC220控制器,反饋,同步控制重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)ABSTRACTABSTRACTThis design's core is und er the software of Visual C+6.0, realizes the d ouble hydraulic cylinder synchronous control system programming, expl
3、ores control strategy of EDC220 con troll er, and completes experime nt for high-precisi on d ouble hydraulic cyli nder synchronous con trol. This con trol in terface has not only succ inct practical, but also has the good man-mach ine excha nge part.The superior machine system realizes the function
4、 has the double hydraulic cyli nder's Communi catio n, Up, Pause, Down, Stop, Displaceme nt demon strati on, Curve dem on strati on and so on. After complet ing synchronous con trol program, exploreing the feedback control strategy and programming, and Achieve double hydraulic cyli nder synchron
5、i zati on con trol. In terface program ming part, EDC220 provid es the use of in terface fun cti ons to achieve PC-c on troll er com muni cati on, the data tran smissi on and the receive uses the un ified com muni cati on protocol, this method is not only simpl e, but practical. I n this article use
6、s the EDC220 con troll er to confirm the superior machine control function as the lower position machine realizati on, the EDC220 con troll er as lower positi on mach ine primary cog nizance double hydraulic cylind er 's each kind of parameter data gathering. Then through the port the data trans
7、mission for the superior machine, PC machine takes the superior machi ne primary cog nizance data the an alysis process ing and the dem on stratio n. Fin ally, completed high-precisi on the d ouble hydraulic cyli nd er synchronous con trol experime nt, to verify the accuracy of synchroni zati on con
8、 trol.Key words: Double hydraulic cylinder, VC+; EDC220 controller, feedback, synchronous con trol#重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)目錄3摘要ABSTRACT.I緒論1 同步控制策略1.1 EDC220 控制器1.1.1同步化模塊1.1.2同步系統(tǒng)命令1.1.3同步數(shù)據(jù)處理1.2 MFC 類庫1.3反饋控制 102 GUI設(shè)計2.1主界面.2.2繪圖窗口2.3界面優(yōu)化.121.31.7接口通訊3.1 PC機(jī)與下位機(jī)通信方式3.2 VC實現(xiàn)接口通訊方法.控制系統(tǒng)程序編寫主要接口程序接口編程通訊連接同
9、步控制數(shù)據(jù)米集4.14.1.14.1.24.1.34.1.4.19.1.922222324254.2定時器模塊定點狀態(tài)顯示反饋控制數(shù)據(jù)處理4.5.1實時曲線繪制.4.5.2數(shù)據(jù)顯示與保存驗證實驗5.1實驗設(shè)備4.34.44.5262.7.28303.0.3.15.2實驗過程335.2.1接口程序數(shù)據(jù)傳輸實驗 345.2.2連接設(shè)備進(jìn)行通訊實驗345.2.3單個油缸運(yùn)動控制實驗 345.2.4兩個油缸同步控制實驗 365.3實驗結(jié)論36結(jié) 論參考文獻(xiàn)附錄A:程序致謝重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)緒論緒 論高精度雙油缸同步控制可應(yīng)用于很多工業(yè)與科研領(lǐng)域,它也是力學(xué)真三軸試驗 的基礎(chǔ)。而械及航天與
10、航空驅(qū)動裝置等對高精度的液壓同步驅(qū)動技術(shù)的需要迫切。 而影響同且油缸同步控制一直以來都是液壓行業(yè)的一個重要課題,在絕大數(shù)的場合下設(shè)備俯仰機(jī)構(gòu)采用的是雙油缸驅(qū)動,但由于兩個油缸在運(yùn)動時活塞桿所行走的位 移量不同直接導(dǎo)致被支撐結(jié)構(gòu)出現(xiàn)被扭曲或受扭轉(zhuǎn)載荷使得設(shè)備無法正常運(yùn)行。隨著現(xiàn)代實驗力學(xué)在航天航空技術(shù)和機(jī)械部件加工業(yè)等的發(fā)展,金屬加工設(shè) 備、冶金機(jī)械、工程機(jī)步精度的因素很多,比如液壓缸摩擦、制造精度、外負(fù)載、 泄漏、阻力、油液中氣泡及結(jié)構(gòu)彈性變形等,都會使得油缸運(yùn)行不同步,這就突現(xiàn) 了高精度雙油缸同步控制方法研究的重要性。國內(nèi)外的在同步控制及液壓油缸同步 控制的研究分析可知:(1) 通常傳統(tǒng)雙液
11、壓缸同步控制主要以機(jī)械剛性機(jī)械傳動同步、在回路中使用節(jié)流閥、回路中使用分流閥與集流閥或調(diào)速閥、使用獨立的定量泵供油、回路中采 用同步馬達(dá)、同步油缸等實現(xiàn),它們都有一個共同點具有非線性、時變的特點,沒 有實現(xiàn)所需要的高精度同步。(2) 20世紀(jì)80年代由Robert.D.Lorenz 教授和Y.Koren教授提出并發(fā)起的經(jīng) 典同步控制理論,主要分為同等方式(SMCA)、主從方式(MSA)和交叉耦合控制 (CCC)。在當(dāng)今工業(yè)領(lǐng)域仍被廣泛采用。這三種經(jīng)典同步控制方法適用于不同的場合,有著各自的優(yōu)點。SMCA在軋機(jī)控制中有著很高的控制精度和響應(yīng)速度;MSA 主要應(yīng)用于雙缸液壓系統(tǒng)、機(jī)器人等場合;CC
12、C可以有效的改善被控子系統(tǒng)間的相互運(yùn)動同步,極大提高了跟蹤精度。近年來,同步控制得到了很大的發(fā)展和完善, 已經(jīng)形成了各種解決各類協(xié)調(diào)問題的系統(tǒng)化設(shè)計方法,并在各類工程領(lǐng)域得到了廣泛的應(yīng)用。隨著航空航天、高級數(shù)控機(jī)床等領(lǐng)域中對高速高精度運(yùn)動要求的提高, 從經(jīng)典同步控制演變出了偏差耦合控制和環(huán)形耦合控制,效果不佳而且主要用于電機(jī)同步。(3) 隨著計算機(jī)技術(shù)和控制理論的發(fā)展,國內(nèi)外的一些研究多數(shù)研究者將模糊 控制、自適應(yīng)控制、神經(jīng)網(wǎng)絡(luò)控制、計算機(jī)智能控制 2、計算機(jī)網(wǎng)絡(luò)控制3等應(yīng)用 到同步控制技術(shù)中,并取得了大量的研究成果,但這些研究大多還處在仿真研究的 階段離實際應(yīng)用還存在一定的差距。隨著微電子技
13、術(shù)的發(fā)展,應(yīng)用上位機(jī)實現(xiàn)現(xiàn)場的采集與控制越來越被大家所重 視,上位機(jī)提供良好的人機(jī)界面,使現(xiàn)場監(jiān)控更直接、簡潔可靠和穩(wěn)定。應(yīng)用上位 機(jī)實現(xiàn)現(xiàn)場監(jiān)控,主要是通過上位機(jī)本身配置的串行口, 通過串行通訊技術(shù),控制和管理下位機(jī)。由于上位機(jī)界面的應(yīng)用給現(xiàn)場監(jiān)控提供的極大的方便,所以上位機(jī)控制界面的設(shè)計也成為工業(yè)控制的重點內(nèi)容。在Visual C+6.0界面下完成上位機(jī)的編程具有自己獨特的優(yōu)勢,當(dāng)VB成功推出后,microsoft又將C+包裝成為了面向windows的visual C+(以下簡稱VC)。從VC1.0到VC6.0,每一個版本 的推出都凸顯各自優(yōu)勢。VC借助傳統(tǒng)的C/C+加上microsoft
14、強(qiáng)大優(yōu)勢,使廣大 的程序員和專業(yè)編程人員紛紛投靠在 VC的大旗下4 o在遇到一些高載荷、大功率、長行程的系統(tǒng)是,傳統(tǒng)的雙油缸同步控制已經(jīng)不 能達(dá)到目的,在冶金、建筑和水利等領(lǐng)域中,液壓同步系統(tǒng)已經(jīng)實現(xiàn)了軋機(jī)同步、 大型屋架整體提升及多閘門同步放落提升等技術(shù)應(yīng)用,如鉆機(jī)桅桿油缸的同步控制5、液壓工作平臺升降的同步控制、提升系統(tǒng)液壓提升器同步控制等等。它們可 以完成的運(yùn)動控制精度高、行程遠(yuǎn)、遠(yuǎn)非傳統(tǒng)同步控制所能達(dá)到?;赩C的雙油缸同步控制不僅能完成伸縮控制、 速度控制,而且能依靠多套伺服系統(tǒng)的配合,完 成高載荷、大功率、長行程等控制和復(fù)雜的空間曲線運(yùn)動的控制。 所以本文主要介 紹基于VC的接口編
15、程和控制器組成的雙油缸同步控制。在工業(yè)控制領(lǐng)域,往往需要組成上位機(jī)一下位機(jī)系統(tǒng),上位機(jī)一般為PC機(jī),下位機(jī)一般為下位機(jī)系統(tǒng)7,或者控制器系統(tǒng)。上位機(jī)主要完成數(shù)據(jù)的發(fā)送、采集、 顯示、以及控制命令傳輸?shù)龋刂破髯鰹橄挛粰C(jī)本主要負(fù)責(zé)雙油缸的各種參數(shù)數(shù)據(jù) 的采集和、模數(shù)轉(zhuǎn)換和精度控制。利用VC+編程上位機(jī)控制界面可以解決很多工業(yè)控制中出現(xiàn)的難題,傳統(tǒng)的上位機(jī)控制界面參數(shù)給定更改比較麻煩,需要浪費大量時間從新更改程序。而 VC+的上位機(jī)控制界面就很容易實現(xiàn),只需對程序中設(shè)置的參數(shù)、相關(guān)按鈕及控 制函數(shù)程序更換即可,以達(dá)到為了不同的目的可以實時更新功能。 特別是上位機(jī)一 般都是計算機(jī),隨著計算機(jī)技術(shù)的發(fā)
16、展,計算機(jī)的功能也越來越強(qiáng)大,很多復(fù)雜算 法很容易實現(xiàn),也為工業(yè)的中出現(xiàn)的復(fù)雜算法提供方便。在更變復(fù)雜算法時,由 VC+編程上位機(jī)控制界面也十分方便。所以利用什么方法,使用什么控制策略,如何能達(dá)到兩個油缸同步高精度,提 高生產(chǎn)效率,是油缸同步控制系統(tǒng)首先要解決的問題。 經(jīng)過實驗測試,本文的控制 方法的控制精度高,穩(wěn)定性好,并且具有同步協(xié)調(diào)加載能力。本文利用理論力學(xué)、實驗力學(xué)、計算機(jī)測控技術(shù)、VC+面向?qū)ο蟮某绦蛟O(shè)計等所學(xué)知識和德國doli控制器EDC220使用說明書,完成雙油缸同步控制策略、同 步控制GUI設(shè)計、串口通訊、程序編制、驗證實驗進(jìn)行闡述,利用編制程序進(jìn)行雙 油缸同步控制實驗,有效驗
17、證了控制精度。整個過程可以加強(qiáng)自主學(xué)習(xí)能力,提高 實際操作能力,提升探索控制策略的創(chuàng)新精神。5重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)同步控制策略1同步控制策略同步控制是一種常用的工控技術(shù)。同步就是要按照一定比率來協(xié)調(diào)控制主部件 和從部件之間的位置、轉(zhuǎn)速、位移、扭矩等量,同步控制器一般有兩類:一類是和張力系統(tǒng)連同一起來使用,比如張力控制器也是一種同步控制器件,這類型的同步 是以轉(zhuǎn)速和扭矩等量的同步來實現(xiàn)的;另一類是空間定位控制器,就是位置同步, 一般應(yīng)用于數(shù)控機(jī)床,機(jī)器人,飛剪等系統(tǒng)軸間聯(lián)動使用,是一種軸間的位置跟蹤 定位。目前同步控制器有一些嵌入式設(shè)定參數(shù)的, 也有一些事直接可編程類的,隨 著信息技
18、術(shù)的發(fā)展,可編程類的應(yīng)用慢慢超過前者,代表了同步技術(shù)的發(fā)展方向, 它可通過現(xiàn)場總線等通訊技術(shù)與其他設(shè)備進(jìn)行連接,并進(jìn)一步操作。本文雙油缸同步是指兩個油缸行程實時同步。 雙油缸同步控制是指用可編程的VC程序發(fā)出一個指令,通過 EDC220控制器協(xié)調(diào)控制,由于EDC220控制器利用 非線性校正技術(shù),可以對傳感器采用非線性校正技術(shù),同時EDC220含有同步控制模塊,有效地提高整個系統(tǒng)的測量精度,再加上反饋控制功能,兩個油缸可以達(dá) 到實時高精度同步的一種控制方法。而且 VC具有可擴(kuò)展性、通用性、易維護(hù)性、 可移植性等特點,便于根據(jù)需要實時修改程序?,F(xiàn)對 EDC220控制器、VC面向?qū)?象的程序設(shè)計和反
19、饋控制三個方面對本次設(shè)計作介紹和分析。1.1 EDC220控制器DOLI控制器是德國DOLI公司的代表產(chǎn)品18。集閉環(huán)控制和數(shù)據(jù)采集為一體, 作為測量通道和基本實驗儀器,而且具備一個輸出通道來控制設(shè)備。DOLI控制器的電液伺服控制系統(tǒng)應(yīng)用非常廣泛,例如在動態(tài)試驗機(jī)中的應(yīng)用。并且得到了很大 的認(rèn)可,但絕大多數(shù)情況下,該控制器是在單通道電液伺服系統(tǒng)中使用。主板上具備分辨率達(dá)到土 180000碼的負(fù)荷放大器,用來驅(qū)動功率放大器的輸出信號在土 10V之前,具有SSI、LVDT、10、力、應(yīng)變、閥控制、增量傳感器、安全防護(hù)裝 置等接口。該控制器可以實現(xiàn)位置同步、力值同步、變形同步等功能,功能強(qiáng)大且 穩(wěn)定
20、。經(jīng)過多年發(fā)展,該控制器已經(jīng)日趨完善,它廣泛應(yīng)用于高精度、復(fù)雜工業(yè)控 制和大噸位加載設(shè)備中。除了這些,EDC220控制器還利用非線性校正技術(shù),可以對力傳感器和變形傳 感器采用非線性校正技術(shù),有效地提高整個系統(tǒng)的測量精度。該控制器經(jīng)過不斷改 進(jìn)和升級,完善了動態(tài)試驗系統(tǒng)功能,而且還可以很有效利用在雙通道甚至多通道 系統(tǒng)中,在本次控制系統(tǒng)設(shè)計中該控制器的優(yōu)點更加明顯,方便之處在于該控制器 的設(shè)置方式和多通道協(xié)調(diào)加載等功能。對于多通道系統(tǒng)而言,協(xié)調(diào)加載至關(guān)重要??刂破魍ㄟ^以太網(wǎng)或者USB與PC機(jī)連接,可以有效完成多通道控制,而且穩(wěn)定 性、安全性和速度不受外界影響12。1.1.1同步化模塊控制器同步化
21、模塊用于對多套EDC220系統(tǒng)的數(shù)據(jù)采集及控制實行同步化。所 有必要的控制信號和通訊都通過 RS485總線傳輸。主控EDC220只需在X11插頭 處插上一個總線端,而且其余 EDC220控制器均需要用RS485相連,最后一臺 EDC220控制器在接頭X12處插上總線端。主控控制器系統(tǒng)生成系統(tǒng)時鐘,即系統(tǒng) 時間,位移控制時間基點和其他所需信號。為了達(dá)到最佳效果即實現(xiàn)高精度同步控 制,需要將所有需要同步化的控制器系統(tǒng)設(shè)置相同的系統(tǒng)時間和位移控制基點。PC機(jī)與控制器連接如圖1所示。9圖1 PC機(jī)與控制器連接構(gòu)圖EDC220控制器同步包括同步控制和同步采集13。對同步控制而言,系統(tǒng)中所 有的控制器在某
22、一時間點必須統(tǒng)一內(nèi)部時鐘(TIME),然后一起執(zhí)行命令,才可以達(dá) 到同步功能。在用VC編寫控制EDC220執(zhí)行同步命令時,有兩點需要注意:(1) 每臺EDC220控制器需要執(zhí)行的命令可以完全一樣,也可以不一樣, 但執(zhí)行時間的起點必須一致。每臺EDC220控制器需要執(zhí)行的命令是執(zhí)行之前收到的命令,所以只要上 位機(jī)向主控制器(Master)發(fā)送執(zhí)行命令的開始信號便可以激活同步命令的執(zhí)行。Em:圖2同步控制通訊連接示意圖在控制系統(tǒng)中,兩臺EDC220控制器之間要連接同步時鐘線,來確定時鐘始終 完全一致。DOLI控制器需要選擇好一個主控制器,另一個設(shè)置為從控制器。在 EDC220控制器的初始設(shè)置文件中
23、,Ge neral data項設(shè)置主控制器為Master,從 EDC220 控制器為 Slave(Synch State: 0 = Master; 1 = Slave),并且主控制器的 FunctionID項參數(shù)設(shè)置為1,從控制器設(shè)置為2。同步控制過程中需要保證主控制 器和從控制器的位移控制頻率(PosT)、速度控制頻率(SpeedT)和數(shù)據(jù)采樣頻率 (DaRate)相同。同步控制通訊連接示意圖如圖 2所示。在兩臺EDC220執(zhí)行同步命令時,PC機(jī)需要調(diào)用同步控制函數(shù)指令功能,再 向EDC220控制器發(fā)送所需要執(zhí)行的命令,但是此時接收到的命令并不立即執(zhí)行。 需要等一切準(zhǔn)備就緒后,PC機(jī)向EDC
24、220控制器發(fā)送啟動同步命令信號,各個 EDC220控制器調(diào)整各內(nèi)部時鐘,然后控制器同步執(zhí)行控制任務(wù)。計算機(jī)與計算機(jī)或計算機(jī)與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通 訊兩種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳輸時, 避免了多條線路特性的不一致而被廣泛采用。在串行通訊時,要求通訊雙方都采用一個標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來進(jìn)行通訊。EDC220控制器通過以太網(wǎng)、USB串口通訊與上位機(jī)進(jìn)行通訊,并且Doli公司提供了豐富的控制函數(shù)。 如此一來,用VC很方便就能控制EDC220控制器的所有操作。為了實現(xiàn)雙油缸同步控制,計算機(jī)需要通過以太網(wǎng)接口與一臺集線器進(jìn)行連
25、接,然后集線器連接兩臺EDC220控制器。同步并不是意味著多個內(nèi)部時鐘一起調(diào) 整為零,也可以按照實驗需要在不同控制器之間有固定的相位差,即各個控制器保持固定的時間差來執(zhí)行各自的命令,這也是一種同步的概念。本文是實時同步控制, 即內(nèi)部時鐘一起調(diào)整為零。雙油缸同步控制系統(tǒng)中主要的部分就是 EDC220控制器同步,只有保證 EDC220控制器同步的前提下才能有效保證兩個油缸同步,即兩個EDC220控制器在接收到PC機(jī)的啟動同步命令信號后,EDC220控制器調(diào)整好內(nèi)部時鐘,兩個 EDC220控制器同步執(zhí)行控制油缸同步運(yùn)行。由于控制器的控制精度非常高、穩(wěn)定 性好,所以該控制器的使用完全可以應(yīng)用到高精度雙
26、油缸同步控制系統(tǒng)中。1.1.2同步系統(tǒng)命令有兩種命令(DoPESynchronizeSystemMode, DoPESynchronizeSystemStart)來 控制兩種或兩種以上的EDC220控制系統(tǒng)“,如果設(shè)置了同步選項,并且確定兩 個及兩個以上EDC220控制系統(tǒng)連接正確,那么這兩種命令也是唯一有用的命令。(1)同步系統(tǒng) Mode(DoPESynchronizeSystemMode)。如果模式是 SSM_SYNC MOVE,下一個移動指令I(lǐng)KEDoPE Pos DoPECosine或任何其他移動命令將被推遲, 直到同步條件為真。該系統(tǒng)將用 DoPESy nchro nize Syst
27、emStart命令進(jìn)行同步。對 聲明函函數(shù) extern unsigned DLLAPI DoPESynchronizeSystemMode(DoPE_HANDLE DoPEHdl , unsigned short Mode, cbuble Time, WORD *lpusTAN)進(jìn)行說明: DoPEHdl:該函數(shù)返還一個 Error常量(DoPERR_xxxx),然后DoPE連接句柄; Mode:SSM_SYNCMOV模式,如果Time為零,則發(fā)送同步命令信息后開始 執(zhí)行;如果Time不為零,則發(fā)送同步命令Time時間過后才開始執(zhí)行;SSM_YSTEMTIME模式,需要設(shè)置 EDC220 系
28、統(tǒng)時間為 Time ; SSM_DISCARD模式, 去除前一個 DoPESynchronizeSystemMode 命令; Time:延遲或系統(tǒng)時間設(shè)置在下一個 DoPESy nchro ni zeSystemStart命令; *lpusTAN:指針參數(shù)。(2) 同步系統(tǒng) Start(DoPESynchronizeSystemStart)。此功能只能在主 EDC220控 制器里面進(jìn)行,數(shù)字同步信號將被激活,并且將由DoPESy nchroni zeSystemMode設(shè)置下一個系統(tǒng)時鐘和所有涉及 EDC220控制器啟動前需要定義的操作。對聲明函 函數(shù) extern unsigned DLLA
29、PI DoPESynchronize SystemStart(DoPE_HANDLE DoPEHdl , WORD *lpusTAN)進(jìn)行說明: DoPEHdl:該函數(shù)返還一個 Error常量(DoPERR_xxxx),然后DoPE連接主 EDC220控制器的句柄; *lpusTAN:指針參數(shù)。OqP E Synch« GTRL_SYNCHWA1T 朗抽=戚.*art Of mouwii圖3同步系統(tǒng)Mode、Start命令與同步狀態(tài)的關(guān)系1.1.3同步數(shù)據(jù)處理(1)同步數(shù)據(jù)Data(DoPESynchronizeData)。通過DoPE句柄啟動采樣同步,傳 遞一個空鏈表(第一項為NU
30、LL)停止采樣同步。也可以初始化、選擇設(shè)置或關(guān)閉 一個甚至多個環(huán)節(jié)停止采樣同步。聲明函數(shù) extern un sig ned DLLAPIDoPESynchronizeData(DoPE_HANDLE DoPEHdl,DoPE_HANDLE, *pMaster)進(jìn) 行說明:重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)同步控制策略DoPEHdl:該函數(shù)返還一個 Error常量(DoPERR_xxxx),且DoPE連接句柄 數(shù)組 DoPEHdl。*pMaster:指針存儲,為了讓主EDC220控制器DoPE連接句柄(2) 同步數(shù)據(jù)處理程序(DoPESetOnSynchronizeDataHdlr)。對聲明函數(shù)
31、 extern un sig ned DLLAPI DoPESet OnSyn chro nizeDataHdlr (DoPE On Sy nchron izeDataHdlr Hdlr, LPVOID lpParameter)進(jìn)行說明:每一個接收到的同步采樣都要調(diào)用該函數(shù), lpParameter為用戶特定指針。用于同步數(shù)據(jù)事件的用戶函數(shù)有: un sig ned CALLBACK On Sy nchro nizeData(DoPE_HANDLE DoPEHdl, DoPE OnSynchroni zeData *Data, LPVOID lpParameter):對于該函數(shù),DoPE 可以
32、連接句柄, 指針接收數(shù)據(jù),攜帶有 DoPESetOn SystemMsgHdlr特定用戶指針; typedef struct un sig ned DoPError, un sig ned n Data, DoPEL in kData *Sample, double Occupied DoPE On Sy nchron ize Data:對于該函數(shù),DoPERR_NOERRO事件 是確定的,nData是測量數(shù)據(jù)的數(shù)目,*Sample是測量數(shù)據(jù)的數(shù)組,Occupied表示 數(shù)據(jù)緩沖區(qū)占用百分比; typedef struct DoPE_HANDLE DP , DoPEData DataDoPEL
33、i nk Data:于該函數(shù),DoPE可以連接句柄,Data表示記錄測量數(shù)據(jù)1.2 MFC類庫Visual C+6.0簡稱VC或者VC6.0,是微軟推出的一款C+編譯器,將“高 級語言”翻譯為“機(jī)器語言(低級語言)”的程序。VisualC+是一個功能強(qiáng)大的可 視化軟件開發(fā)工具。是目前綜合性最高、最強(qiáng)大,也是最為復(fù)雜的Windows應(yīng)用程序開發(fā)軟件。VisualC+6.0是一個功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出VisualC+1.0 后,隨著其新版本的不斷問世, VisualC+ 已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。Visual C+6.0不僅是一個C+編譯
34、器,而且是一個基于 Windows操作系統(tǒng) 的可視化集成開發(fā)環(huán)境。Visual C+6.0由許多組件組成,包括編輯器、調(diào)試器以 及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。這些組件通過一個名為 Developer Studio的組件集成為和諧的開發(fā)環(huán)境 。VC+是微軟公司開發(fā)的C+語言開發(fā)環(huán)境,VC的特點是微軟公司做了一個 自己獨有的類庫MFC,里面封裝了絕大多數(shù)的 API函數(shù),使得 WINDOWS程序的 開發(fā)變的高效和易于理解,如果用 API直接開發(fā)WINDOWS程序的話,將會是一 件非常煩瑣的工作,WINDOWS對資源的管理是非常嚴(yán)格的這與 DOS可直接用中 斷
35、處理程序和I/O指令操作硬件端口是截然相反的;所以這個MFC就是VC和其他公司出產(chǎn)的編譯器的最大區(qū)別了,當(dāng)然了其他公司也有自己封裝API的類庫比如DELPHI等,所以他們的編譯器與其他公司的相比有其獨到的優(yōu)勢。使用MFC類庫,程序結(jié)構(gòu)采用模塊化設(shè)計,因此具有可擴(kuò)展性、通用性、易 維護(hù)性、可移植性等特點。在程序編寫過程中,利用面向?qū)ο蟮某绦蛟O(shè)計語言,串 口采用同步方式進(jìn)行控制,使得程序各模塊之間、PC以及控制器之間能相互安全、 準(zhǔn)確地傳輸數(shù)據(jù)9】。1.3反饋控制反饋控制最早運(yùn)用于1788年英國科學(xué)家James Watt為內(nèi)燃機(jī)設(shè)計的飛錘調(diào)帶 器,隨后1946年Eve ns由根軌跡分析技術(shù)提出了線
36、性反饋系統(tǒng),而1981年美國學(xué)者Zames得到基于Hardy控件范數(shù)最小化方法的一種魯棒最優(yōu)控制理論19。 同開環(huán)控制系統(tǒng)相比,閉環(huán)控制具有一系列優(yōu)點。但反饋回路的引入增加了系統(tǒng)的 復(fù)雜性,而且增益選擇不當(dāng)時會引起系統(tǒng)的不穩(wěn)定。為提高控制精度,在擾動變量可以測量時,也常同時采用按擾動的控制(即前饋控制)作為反饋控制的補(bǔ)充而構(gòu) 成復(fù)合控制系統(tǒng)。本文用反饋控制是為了減少在doli控制器同步控制部分產(chǎn)生的不可避免誤差。 上位機(jī)把同步命令發(fā)送給 EDC220控制器,并且確定好同步時鐘,EDC220控制器 開始準(zhǔn)備執(zhí)行,當(dāng)收到上位機(jī)傳輸?shù)耐饺蝿?wù)后,EDC220開始執(zhí)行同步任務(wù),兩個油缸開始運(yùn)動。反饋控
37、制是將兩個油缸位移行程相比較, 程序自適應(yīng)判斷位移行 程差并改變控制變量系數(shù),以防止偏差發(fā)展或繼續(xù)存在,達(dá)到兩個油缸行程高精度 同步。當(dāng)上位機(jī)接收數(shù)據(jù)后,程序判斷兩個油缸的行程是否在一定的精度范圍內(nèi), 如果達(dá)到,則EDC220控制器繼續(xù)執(zhí)行同步任務(wù);如果沒有達(dá)到一定精度范圍,則 程序選擇性調(diào)用控制參數(shù),EDC220控制器再次執(zhí)行同步任務(wù),直到接收到的數(shù)據(jù) 誤差在一定范圍內(nèi)。EDC220控制器自身包含同步控制模塊,有著良好的穩(wěn)定性和高精度特性,而 且反饋控制有程序判斷是否已達(dá)到精度要求,所以在設(shè)備誤差允許的情況下,本次雙油缸同步控制可以達(dá)到較高的同步精度。本設(shè)計的反饋控制流程如圖4所示。同爭兩臺
38、EDC 嘉絨時鈾井別向兩臺EEIC傳運(yùn)任務(wù) 和任夯目標(biāo)是否出縊NEDQ拜枱血行 任勢油缸開始運(yùn)行上位機(jī)産擺EDCm_DoPEErr=OoPESynchronizeSysteniModefDoPEHdl,SSMSYSTEIvmME.G.8llpu5TAN_1jm_DoPEErr=DoPESynchronizSysteniModefDoPEH dl_1 .SSMS YNC MO Vt .0 r u?TAN_i)雪賒同鑒命令 并退出,臉宜 同爭時鐘和任m_DoPEErFDoPESynchronizeSystemStarl(DoPEHdl_l &lpusTAN_1)丟集頻據(jù)Vm_DoPEErr
39、=DoP ESync hro rtizeSy st &m St a il (D &PEH川&lpuSM_1)取隼執(zhí)據(jù)肓,迭取同一婁型埶據(jù)相差比較,在VC中利用殺件固句判斷差值是否在蒂度氾宙程序判斷同步顯示相關(guān)數(shù)擁 弁鎧制曲絨達(dá)到同歩I空制圖4反饋控制流程圖11重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)GUI設(shè)計2 GUI設(shè)計2.1主界面上位機(jī)是指可以直接發(fā)出操作控制命令的計算機(jī),一般是PC/host computer/master computer/upper computer ,屏幕上顯示各種信號變化,例如液壓,水位, 溫度,速度,位移等。上位機(jī)是控制者和提供服務(wù)者,可實現(xiàn)上位
40、機(jī)界面設(shè)計的軟 件有 VC+、Labview、Visual Studio、CAI、Delphi、VB。該操作界面操作簡單, 具有條件讀取、主界面繪圖窗口定點顯示、極限設(shè)置、曲線顯示及協(xié)調(diào)加載等功能。 本文采用VisualC+6.0來完成上位機(jī)操作界面設(shè)計,如圖 5所示。圖5雙油缸同步控制主界面主界面控件參數(shù)設(shè)置是較為重要一步。首先打開VC+6.0集成開發(fā)環(huán)境對主界面控件參數(shù)設(shè)置,選擇菜單File/New,在出現(xiàn)的對話框中選中Projects標(biāo)簽中的 MFCAppWizard(exe),然后在Project Name框中填入 WSJ_SYG可根據(jù)需要命名), 之后點0K按鈕。在接著出現(xiàn)的對話框中
41、選中Dialog Based項,然后點NEXT按鈕。 主界面的各對話框的控制按鈕或?qū)υ捒蚨及凑杖笔≡O(shè)置,如此一來即可生成一個基 于對話框的應(yīng)用程序。在資源編程器中會出現(xiàn)其對話框模板。 在對話框中添加相應(yīng) 應(yīng)用的控件,再對參數(shù)進(jìn)行屬性設(shè)置,如設(shè)置ID。2.2繪圖窗口在基VC的系統(tǒng)曲線顯示設(shè)計中,以圖形化的方式顯示數(shù)值結(jié)果同樣有助于直 觀地查看控制數(shù)據(jù)、分析效果、探究控制策略,以便解決控制過程中可能出現(xiàn)的問 題。曲線的實時動態(tài)顯示方法有開發(fā)具有便捷繪圖功能的 ActiveX控件10和充分利 用VC的畫筆繪圖??丶越M件方式無縫嵌入控制程序,界面美觀、簡潔,支持發(fā) 布和封裝。畫筆可以自定義,程序運(yùn)行
42、不受 PC機(jī)改變而改變。在雙油缸同步控制 過程中,需要采集油缸的實際位移,并實時顯示到控制界面上,這樣可以輕松的觀 察的速度曲線的實時變化。目前,VC中用于繪圖的控件主要有IDL、TeeChart、MSChart等,它們功能較 強(qiáng)。TeeChart是優(yōu)秀的ActiveX圖形控件,它使得實時數(shù)據(jù)的統(tǒng)計圖表更加直觀和 易于理解,以達(dá)到有效解決圖形顯示問題的目的,具有許多優(yōu)良的特性El。但是該控件收到運(yùn)行環(huán)境影響,需要在 VC中注冊控件,所以不具備通用性。本文采用 自定義畫筆繪圖方法,結(jié)合一個實際的油缸精度檢測項目,給出運(yùn)用自定義畫筆設(shè) 計程序代碼,實現(xiàn)雙油缸同步控制系統(tǒng)中數(shù)據(jù)實時顯示的功能。VC自
43、定義繪圖工具由MFC的CgdiObject類及其派生類描述?;纠L圖工具包括 畫筆、畫刷、字體、位圖、調(diào)色板等。這些工具都有對應(yīng)的 MFC類來描述,畫圖之 前可以創(chuàng)建滿足上位機(jī)所需功能的繪圖工具,然后選擇畫圖的環(huán)境即可完成。結(jié)合本次設(shè)計所需,自定義繪圖初始化需要完成的工作有繪圖窗口網(wǎng)格劃分、坐標(biāo)定義、坐標(biāo)軸設(shè)計、刻度定義、字體設(shè)置、添加標(biāo)題等工作。由此可以得到 VC程序自定 義繪圖窗口,如圖6所示。Q.3T5T/s丨丨丨I I I I I丨II I I I I I I金14251J&T5此2刃Z.525王QQQ3375 3J5O4.5QQQ4JW圖6 VC程序自定義繪圖窗口 本次自定義
44、繪圖的初始化函數(shù)代碼示例如下: int nO riginX = 62;/X 軸坐標(biāo)原點 int nO rigi nY = 601;/Y 軸坐標(biāo)原點 int nXLe ngth = 720;/X 軸長度 int nYLe ngth = 470;/Y 軸長度 int nStepLength = 30;/每兩個刻度之間的點數(shù) int m_n Page=1;int m_dRate=2;每一長度單位代表5cmCDC* pDC = GetDC();CPen NewPen1,用來畫坐標(biāo)網(wǎng)格NewPen2,用來畫坐標(biāo)軸NewPen3,用來畫刻度*pOldPe n;pDC->SetBkColor(RGB(
45、255, 255, 255); pDC->SetBkMode(TRANSPARENT);/畫網(wǎng)格線,每格刻度位40像素NewPe n1.CreatePe n(PS_DOT1, RGB(25, 200, 200); pOldPen = pDC->SelectObject( &NewPen1 );/水平/垂直for(int i = nOriginY; i >= (nOriginY - nYLength); i -= nStepLength) pDC->MoveTo( nOriginX, i);pDC->Li neTo( nO riginX + n XLe ng
46、th), i);for(i = nOriginX; i <= (nOriginX + nXLength); i += nStepLength)pDC->MoveTo(i, (nOriginY - nYLength); pDC->LineTo(i, nOriginY);/畫坐標(biāo)軸NewPe n2.CreatePe n(PS_SOLID,3,RGB(25, 25, 25); pOldPe n=pDC->SelectObject(&NewPe n2);pDC->MoveTo(nOriginX, (nOriginY - nYLength - 20); pDC-&g
47、t;Li neTo( nO riginX, nO rigi nY);pDC->MoveTo( nOriginX, nO rigi nY);pDC->Li neTo( nO riginX + nXLe ngth + 20), nO rigi nY);/畫垂直箭頭pDC->MoveTo(nOriginX - 5), (nOriginY - nYLength - 20 + 10);pDC->LineTo(nOriginX, (nOriginY - nYLength - 20);pDC->LineTo(nOriginX + 5), (nOriginY - nYLength
48、 - 20 + 10);/畫水平箭頭pDC->MoveTo(nOriginX + nXLength + 20 - 10), nOriginY - 5);pDC->Li neTo( nO riginX + nXLe ngth + 20), nO rigi nY);pDC->Li neTo( nO riginX + nXLe ngth + 20 - 10), nO rigi nY + 5);/畫刻度NewPe n3.CreatePe n(PS_SOLID,1,RGB(88, 160, 168);pOldPe n=pDC->SelectObject(&NewPe n3
49、);for(i = n Orig inY; i >= (n Orig inY - n YLe ngth); i -= n StepLe ngth / 2)pDC->MoveTo( nOriginX, i);pDC->Li neTo( nO riginX + 10), i);for(i = n Orig inX; i <= (n Orig inX + nXLen gth); i += n StepLe ngth / 2)pDC->MoveTo(i, nOriginY - 10);pDC->LineTo(i, nOriginY);pDC->SelectOb
50、ject(pOldPe n);/創(chuàng)建字體CFo nt NewFo nt4,*pOldFo nt;int n Width = 8;int nH eight = 20;CStri ng strDigits;n Width = 6;nH eight = 15;NewFo nt4.CreateFo nt(nH eight ,n Width,0,0,FW_BOLD,0,0,0,ANSI_CHARSETUT_CHARACTER_PRECIS,CLIP_CHARACTER_ PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,NULL);pOldFo nt =
51、pDC->SelectObject(&NewFo nt4);for(i = 0; i <= (n YLe ngth / nStepLe ngth); i+)寫垂直坐標(biāo)值strDigits.Format("%d", i * m_dRate);pDC->TextOut(nOriginX - 25), (nOriginY - 8) - i * nStepLength), strDigits);switch(key_id)case 0:for(i = 0; i <= (nXLe ngth / nStepLe ngth); i += 2)/ 寫水平坐標(biāo)
52、值strDigits.Format("%2.3f", key_l ength*i / (nXLength / nStepLength);pDC->TextOut(nOriginX - 5) + i * nStepLength, nOriginY + 10, strDigits);pDC->SelectObject(pOldFo nt);pDC->TextOut( nOriginX+nXLe ngth+5, nOrigi nY-25,"T/s");pDC->TextOut( nOriginX-40, nOrigi nY- nYLe
53、ngth-35,"L/cm");break;case 1:for(i = 0; i <= (nXLe ngth / nStepLe ngth); i += 2)/ 寫水平坐標(biāo)值 strDigits.Format("%2.3f, key_l ength*i / (nXLength / nStepLength);pDC->TextOut(nOriginX - 5) + i * nStepLength, nOriginY + 10, strDigits); pDC->SelectObject(pOldFo nt);pDC->TextOut( nO
54、riginX+nXLe ngth+5, nOrigi nY-25,"T/s");pDC->TextOut( nOriginX-40, nOrigi nY- nYLe ngth-35,"L/cm"); break;default:AfxMessageBox("請選擇輸出圖形方式");ReleasEDC220(pDC);17重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)GUI設(shè)計2.3界面優(yōu)化界面優(yōu)化包括按鈕圖標(biāo)實現(xiàn)、圖像編輯控件、窗口背景加載、按鈕圖片加載、 定義靜態(tài)文本顏色和字體等。按鈕圖標(biāo)添加可以通過CButtonST類實現(xiàn),Cbutton
55、ST是目前最強(qiáng)大功能最全的 CButton派生類,CButtonST類主要包括BtnSTh、BtnST cpp、BCMenu.h和 BCMenu. cpp 四個文件,在 VC+ 中導(dǎo)入以上的 四個文件之后,然后在 SdtAfx.h文件中添加合適的in elude語句,如#i nclude"BtnST.h"。還可以用圖像編輯控件KoDak,但是它不能單獨使用,必須和其他幾個 控件(特別是Imgcmn. dll)一同使用,而且該方法主要運(yùn)用于動態(tài)圖片加載。本 文需要添加窗口背景圖片和按鈕背景圖片,所以可以采用picture控件和Bitmap背景圖,但是考慮到picture控件加
56、載后會覆蓋其他控件,對于窗口背景加載不合適, 所以可以采用Bitmap實現(xiàn)。利用Bitmap實現(xiàn)美化,需要做bmp格式加載圖片準(zhǔn)備工作,需要設(shè)計的bmp 格式圖片,所需要設(shè)計的圖片包含窗口圖、文本框圖、各按鈕圖。設(shè)計程序代碼(選 取主要部分代碼)方法如下:按鈕圖標(biāo)圖片加載。在DOPE.h頭文件里面定義Cbit map Butt on m_BitButt on。然后在IDB_BITMAP屬性里面添加圖片地址鏈接,最后在On I ni tDial o g()函數(shù)里面添加 m_BitButton.LoadBitmaps(IDB_BITMAP)。(2) 窗口背景圖片加載。在背景加載函數(shù) DrawBg(
57、)里面添加如下代碼:CPaintDC oc(this);CRect rect;GetClie ntRect(& rect);CDC <cMem;dcMem.CreateCompatiblEDC220(&dc);CBitmap bmpBackgro und;bmpBackgrou nd.LoadBitmap(IDB_BITMAP_BG);BITMAP bitMap;bmpBackgro un d.GetBitmap(&bitMap);CBit map *pbmpOld=d cMem.SelectObject(&bmpBackgrou nd);de.StretchBlt(O,O,rect.Width(),rect.Height(),&d cMem,0,0,bitMap.bmWidth,bitM ap.bmHeight,SRCCOPY);(3) 定義靜態(tài)文本顏色和字體大小。這里需要在OnCtlCoor(CDC* pDC, CWnd*pWnd, UINT nCtlColor
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 監(jiān)制研究開發(fā)合同范例
- 買房額寫合同范例
- 員工雙向選聘合同范例
- 產(chǎn)品加工制作合同范例
- 新店開業(yè)租賃合同范例
- 定制家居合作合同范例
- 調(diào)貨協(xié)議合同范例
- 供電水合同范例
- 商場烤肉轉(zhuǎn)讓合同范例
- 商業(yè)買賣合同合同范例
- 中級計量經(jīng)濟(jì)學(xué)知到智慧樹章節(jié)測試課后答案2024年秋浙江工業(yè)大學(xué)
- 教科版二年級上冊科學(xué)期末試卷及答案
- 2024年保密工作履職報告
- 幼兒園班級幼兒圖書目錄清單(大中小班)
- (高清版)JGT 225-2020 預(yù)應(yīng)力混凝土用金屬波紋管
- 中國地理(廣州大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年廣州大學(xué)
- 2024浙江省旅游投資集團(tuán)總部管理人員招聘筆試參考題庫附帶答案詳解
- 貴州省黔東南州2022-2023學(xué)年八年級上學(xué)期期末文化水平測試數(shù)學(xué)試卷(含答案)
- 鋼筋統(tǒng)計表(插圖有尺寸)
- 船舶氣囊上岸方案
- HIV檢測報告單(新)(共1頁)
評論
0/150
提交評論