国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于混合編程的《自動(dòng)控制原理》輔助教學(xué)系統(tǒng)開發(fā)

2013-01-10 03:42李靖平
關(guān)鍵詞:自動(dòng)控制原理控件自動(dòng)控制

李靖平,汪 嵐

(1. 黎明職業(yè)大學(xué) 信息與電子工程學(xué)院,福建 泉州 362000;2. 黎明職業(yè)大學(xué) 機(jī)電工程與自動(dòng)化學(xué)院)

《自動(dòng)控制原理》是電子信息、自動(dòng)化和測(cè)控技術(shù)等專業(yè)的必修課程,主要研究自動(dòng)控制的基本原理、常用基本控制系統(tǒng)的分析和設(shè)計(jì)方法.它以《工程數(shù)學(xué)》等課程為基礎(chǔ),同時(shí)又是后續(xù)《過程控制技術(shù)》、《先進(jìn)控制技術(shù)》等專業(yè)課程的基礎(chǔ),在教學(xué)環(huán)節(jié)中起著承上啟下的重要作用.但是該課程對(duì)數(shù)學(xué)基礎(chǔ)要求較高,理論分析往往來源于復(fù)雜的數(shù)學(xué)運(yùn)算和推導(dǎo),這將導(dǎo)致學(xué)生把大量時(shí)間用于手工數(shù)學(xué)運(yùn)算,過度關(guān)注信號(hào)與系統(tǒng)分析的數(shù)學(xué)過程,而忽視分析結(jié)果在控制工程中的實(shí)際應(yīng)用,并且高職高專的電類學(xué)生數(shù)學(xué)基礎(chǔ)又都較為薄弱,因此一味采用傳統(tǒng)式教學(xué),純粹依靠做習(xí)題來鞏固和理解教學(xué)內(nèi)容,并不利于教學(xué)質(zhì)量的提高.

基于此,本文利用混合編程技術(shù)[1~3],開發(fā)出一套《自動(dòng)控制原理》課程的輔助教學(xué)系統(tǒng)平臺(tái)軟件,利用該平臺(tái),用戶無需掌握編程技術(shù),只需在人機(jī)界面上輸入相關(guān)參數(shù),即可在后臺(tái)自動(dòng)完成復(fù)雜的數(shù)值計(jì)算,并通過界面將結(jié)果或圖形表達(dá)出來,教師就能結(jié)合圖形來輔助教學(xué).任課教師可以有更多的時(shí)間和精力把教學(xué)重點(diǎn)放在對(duì)知識(shí)的實(shí)際應(yīng)用上,不僅能使上課效率有所提高,而且能讓學(xué)生在理論夠用的基礎(chǔ)上,看到更為直觀易懂的可視化計(jì)算結(jié)果,提高學(xué)生的學(xué)習(xí)興趣和主動(dòng)性,從而有效的提高教學(xué)質(zhì)量.

1 系統(tǒng)實(shí)現(xiàn)

Matlab[4]是美國(guó)MathWorks公司開發(fā)的一款用于數(shù)學(xué)的軟件,專用于數(shù)值計(jì)算、分析、數(shù)據(jù)可視化和算法優(yōu)化的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,主要包括Matlab和Simulink兩大部分.基于這款軟件,用戶可免于繁雜的數(shù)學(xué)運(yùn)算分析、可輕松完成各種圖形的繪制和編輯,實(shí)現(xiàn)計(jì)算結(jié)果仿真,非常利于用戶學(xué)習(xí)和掌握.

Matlab軟件內(nèi)部自帶有控制系統(tǒng)工具箱,且具有很好的數(shù)值運(yùn)算能力,已成為《自動(dòng)控制原理》及其工程應(yīng)用領(lǐng)域有效的計(jì)算和仿真工具,但Matlab存在保密性低、界面開發(fā)功能較弱等缺點(diǎn).而Visual Basic是一種非常有利于界面開發(fā)的應(yīng)用軟件,若能將二者混合編程,便可實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ).因此,系統(tǒng)的實(shí)現(xiàn)基于VB6.0和MATLAB7.0混合編程方法,開發(fā)出能提高數(shù)值計(jì)算能力和圖形處理效率,利于《自動(dòng)控制原理》課程教學(xué)的應(yīng)用系統(tǒng).因自控這門課程主要利用Matlab的編程與框圖建模來實(shí)現(xiàn)對(duì)控制系統(tǒng)的分析與仿真,所以軟件設(shè)計(jì)過程中所用的關(guān)鍵技術(shù)如下:

1.1 VB和Matlab混合編程技術(shù)

Matlab與VB混合編程的方法可根據(jù)編程時(shí)是否需要Matlab運(yùn)行環(huán)境分為兩大類:Matlab在后臺(tái)運(yùn)行和可脫離Matlab環(huán)境運(yùn)行.具體方法有:①M(fèi)atrixVB技術(shù).②利用ActiveX自動(dòng)化服務(wù)技術(shù).③利用DDE技術(shù).④利用可執(zhí)行M文件技術(shù).⑤利用Matlab COM Builder.

鑒于本文設(shè)計(jì)的目的是開發(fā)一種能脫離Matlab運(yùn)行環(huán)境而獨(dú)立使用的應(yīng)用軟件,故采用最后一種方法.以PID整定分析為例,說明混合編程的實(shí)現(xiàn)方法如下[4~5]:

①編寫PID整定模塊對(duì)應(yīng)的m文件“PID.m”.利用Matlab COM Builder的“mypid”工程中添加“PID.m”函數(shù)并編譯,生成mypid_1_0.dll組件.

②將生產(chǎn)的COM組件打包并生產(chǎn)能自解壓執(zhí)行的程序,將其復(fù)制到將要運(yùn)行軟件的目標(biāo)計(jì)算機(jī)上執(zhí)行.

③在VB界面中添加諸如“仿真”、“返回”等相關(guān)控件后,在Tool->OLE/COM Object Viewer->選中新建的組件mypid,并生成mypid_1_0.h和mypid_1_0.c文件.

④將生成的mypid_1_0.h和mypid_1_0.c文件添加到工程中并設(shè)置VB使用COM組件所對(duì)應(yīng)的頭文件路徑,添加所需的頭文件和庫文件;為軟件界面添加其余控件和相應(yīng)的代碼.

這樣,M函數(shù)文件轉(zhuǎn)變成為獨(dú)立的進(jìn)程內(nèi)COM組件,該組件作為獨(dú)立的COM對(duì)象,供VB直接調(diào)用,沒有必要進(jìn)行環(huán)境切換,因此可獲得最快的運(yùn)行速度,且編程風(fēng)格一致,可讀性較好.

1.2 SIMULINK仿真技術(shù)

Matlab7.0中自帶內(nèi)容豐富的控制系統(tǒng)工具箱Simulink具有非常強(qiáng)大的功能,可非常方便的實(shí)現(xiàn)控制系統(tǒng)的建模、仿真和動(dòng)態(tài)分析.實(shí)現(xiàn)方法是:首先,用戶在VB環(huán)境中輸入的相應(yīng)系統(tǒng)參數(shù),并傳輸給Simulink仿真環(huán)境下動(dòng)態(tài)結(jié)構(gòu)圖,獲得輸出響應(yīng).其次,在系統(tǒng)模型增加一個(gè)輸出模塊,可將仿真數(shù)據(jù)輸出值Matlab中的Workspace.最后,在VB中利用Image控件,將Matlab的仿真曲線在VB環(huán)境中顯示出來.

1.3 仿真曲線、文本和圖形顯示

Matlab擁有強(qiáng)大的計(jì)算和繪圖能力,可在Simulink環(huán)境中利用示波器scope觀察控制系統(tǒng)對(duì)應(yīng)的輸出圖形和曲線.但是,scope生成的相關(guān)圖形卻無法在VB環(huán)境下輸出.為了在VB中觀察對(duì)應(yīng)的輸出曲線,可先將Matlab軟件生成的圖形保存為BMP格式文件,然后嵌入VB中的picturebox控件中,這樣仿真曲線就可在VB的環(huán)境中顯示出來.

同樣,Matlab仿真過程中的文本和圖片則可利用VB中的richtext控件來實(shí)現(xiàn).先在word中輸入要顯示的文本內(nèi)容,將其保存為rtf類型的文件,然后將其嵌入VB中的richtext控件中,即可顯示對(duì)應(yīng)的文本內(nèi)容.

2 系統(tǒng)結(jié)構(gòu)

整個(gè)軟件系統(tǒng)主要包括三大模塊:Matlab計(jì)算及仿真模塊,即在Matlab環(huán)境下實(shí)現(xiàn)6個(gè)部分的計(jì)算與分析,分別為典型環(huán)節(jié)性能分析、二階系統(tǒng)時(shí)域分析、二階系統(tǒng)頻域分析、線性系統(tǒng)根軌跡分析、系統(tǒng)的PID調(diào)節(jié)以及系統(tǒng)幫助.其中,系統(tǒng)幫助模塊則是介紹系統(tǒng)使用說明.數(shù)據(jù)庫模塊,即基于COM組件技術(shù),通過ADO接口訪問SQL Server數(shù)據(jù)庫,獲取各部分計(jì)算的數(shù)據(jù),仿真的曲線等信息.VB系統(tǒng)界面設(shè)計(jì)模塊,即負(fù)責(zé)人機(jī)界面及其相應(yīng)的操作.具體系統(tǒng)結(jié)構(gòu)框圖如圖1所示.

圖1 系統(tǒng)軟件結(jié)構(gòu)圖

3 系統(tǒng)應(yīng)用實(shí)例

基于上述所選的VB和Matlab混合編程技術(shù),完成軟件的開發(fā),分別以二階系統(tǒng)時(shí)域分析和PID調(diào)節(jié)分析來介紹系統(tǒng)的應(yīng)用.二階系統(tǒng)時(shí)域分析中的動(dòng)態(tài)性能指標(biāo)分析界面如圖2所示.

圖2 動(dòng)態(tài)性能指標(biāo)分析界面

在圖2中,選擇二級(jí)時(shí)域分析下拉菜單選擇動(dòng)態(tài)性能指標(biāo),則系統(tǒng)切換到動(dòng)態(tài)性能指標(biāo)分析界面.界面分為左右兩部分,其中右邊有輸入和輸出功能.首先,在參數(shù)設(shè)定框中輸入傳遞函數(shù)對(duì)應(yīng)的分子分母系數(shù),在傳遞函數(shù)框就會(huì)顯示與之對(duì)應(yīng)的表達(dá)式,點(diǎn)擊“仿真”按鈕,則在左邊圖形框內(nèi)顯示傳遞函數(shù)對(duì)應(yīng)的動(dòng)態(tài)仿真曲線,且在右邊的仿真結(jié)果框中顯示包括上升時(shí)間、調(diào)節(jié)時(shí)間等4個(gè)二階系統(tǒng)動(dòng)態(tài)性能指標(biāo)數(shù)值.

系統(tǒng)的PID調(diào)節(jié)界面如圖3和圖4所示.

圖3 PID模型界面

圖4 PID參數(shù)整定界面

圖3的左邊是要分析的系統(tǒng)Simulink模型,在右邊的參數(shù)設(shè)定中,輸入預(yù)整定的PID參數(shù),如比例系數(shù)、采樣時(shí)間和采樣個(gè)數(shù)等參數(shù).點(diǎn)擊“仿真”按鈕,則系統(tǒng)界面切換到圖4,在圖4的左邊顯示對(duì)應(yīng)系統(tǒng)模型的響應(yīng)曲線.在圖4中,也可直接在右邊輸入?yún)?shù),再次獲得曲線,無需切換回圖3進(jìn)行參數(shù)切換.

對(duì)于《自動(dòng)控制原理》課程而言,教學(xué)內(nèi)容中對(duì)應(yīng)的數(shù)據(jù)模型相對(duì)比較固定,主要教學(xué)重點(diǎn)是固定模型中不同參數(shù)對(duì)于各自動(dòng)控制系統(tǒng)的性能影響.通過上述兩個(gè)應(yīng)用實(shí)例發(fā)現(xiàn),系統(tǒng)界面簡(jiǎn)單易操作,而應(yīng)用該輔助教學(xué)軟件,學(xué)生無需了解具體的Matlab編程及代碼函數(shù)、無需進(jìn)行繁雜的計(jì)算,即可通過形象直觀的仿真曲線或數(shù)值來分析系統(tǒng)的性能好壞,提高學(xué)生的學(xué)習(xí)興趣.

4 結(jié)論

本文基于混合編程技術(shù)及COM組件,將Matlab強(qiáng)大的數(shù)值計(jì)算功能和VB完美的人機(jī)界面開發(fā)能力結(jié)合起來,開發(fā)出了《自動(dòng)控制原理》輔助教學(xué)系統(tǒng).應(yīng)用該系統(tǒng),可實(shí)現(xiàn)對(duì)《自動(dòng)控制原理》課程的改革,使課程內(nèi)容更具有實(shí)際意義,教學(xué)效果得到明顯的提高.而且,系統(tǒng)操作簡(jiǎn)單、圖形顯示和數(shù)值讀取清晰明了,學(xué)生能很直觀的理解自動(dòng)控制系統(tǒng)相關(guān)的分析方法和相關(guān)理論知識(shí),大大的提高了學(xué)生學(xué)習(xí)的主動(dòng)性.

參考文獻(xiàn):

[1]王永虎,王欣,王紅梅.VB與MATLAB混合編程在CAI系統(tǒng)中的應(yīng)用[J].航空技術(shù),2010(1):71-74.

[2]陳飛,陳惠俠.基于LabVIEW和Matlab的自動(dòng)控制虛擬實(shí)驗(yàn)系統(tǒng)[J].實(shí)驗(yàn)科學(xué)與技術(shù),2008,7(1):75-77.

[3]羅朝明,李文,李延平,劉杰.基于Matlab和VB的《信號(hào)與系統(tǒng)》虛擬實(shí)驗(yàn)系統(tǒng)[J].湖南理工學(xué)院學(xué)報(bào),2007,20(1):59-61.

[4]楊高波,亓波.精通MATLAB7.0混合編程[M].北京:電子工業(yè)出版社,2006.

[5]孟力力,楊其長(zhǎng).VB調(diào)用Matlab的COM組件實(shí)現(xiàn)而這混合編程[J].電腦開發(fā)與應(yīng)用,2008,21(6):24-26.

猜你喜歡
自動(dòng)控制原理控件自動(dòng)控制
基于.net的用戶定義驗(yàn)證控件的應(yīng)用分析
關(guān)于.net控件數(shù)組的探討
電力拖動(dòng)系統(tǒng)的自動(dòng)控制和安全保護(hù)
M2W中波發(fā)射機(jī)自動(dòng)控制天線倒換系統(tǒng)
三本院校自動(dòng)控制原理課程教學(xué)改革之探討
“問題驅(qū)動(dòng)+能力提升”卓越課程建設(shè)與實(shí)踐
編組站停車器自動(dòng)控制開通方案
唐鋼熱軋1810線工藝潤(rùn)滑改造自動(dòng)控制的實(shí)現(xiàn)
基于嵌入式MINIGUI控件子類化技術(shù)的深入研究與應(yīng)用
Spreadsheet控件在Delphi數(shù)據(jù)庫系統(tǒng)中的編程與應(yīng)用