【文章內(nèi)容簡介】
注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達(dá)式作圖。可用于科學(xué)計算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。MATLAB 的應(yīng)用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設(shè)計、測試和測量、財務(wù)建模和分析以及計算生物學(xué)等眾多應(yīng)用領(lǐng)域。附加的工具箱(單獨提供的專用 MATLAB 函數(shù)集)擴(kuò)展了 MATLAB 環(huán)境,以解決這些應(yīng)用領(lǐng)域內(nèi)特定類型的問題。MATLAB 產(chǎn)品族可以用來進(jìn)行以下各種工作:(1) 數(shù)值分析;(2)數(shù)值和符號計算;(3)工程與科學(xué)繪圖;(4) 控制系統(tǒng)的設(shè)計與仿真;(5) 數(shù)字圖像處理技術(shù);(6) 數(shù)字信號處理技術(shù);(7) 通訊系統(tǒng)設(shè)計與仿真;(8)財務(wù)與金融工程 。MATLAB包括擁有數(shù)百個內(nèi)部函數(shù)的主包和三十幾種工具包。工具包又可以分為功能性工具包和學(xué)科工具包。功能工具包用來擴(kuò)充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功能。學(xué)科工具包是專業(yè)性比較強的工具包,控制工具包,信號處理工具包,通信工具包等都屬于此類[11]。Microsoft Visual Studio 2010軟件Visual Studio 是微軟公司推出的開發(fā)環(huán)境,是目前最流行的 Windows平臺應(yīng)用程序開發(fā)環(huán)境。Visual Studio可以編輯多種編程語言,包括C、C++、F和Visual Basic語言。Visual Studio 產(chǎn)品系列共用一個集成開發(fā)環(huán)境 (IDE),此環(huán)境由下面的若干元素組成:菜單欄、標(biāo)準(zhǔn)工具欄以及??炕蜃詣与[藏在左側(cè)、右側(cè)、底部和編輯器空間中的各種工具窗口??捎玫墓ぞ叽翱?、菜單和工具欄取決于所處理的項目或文件類型。解決方案和項目包含一些項,這些項表示創(chuàng)建應(yīng)用程序所需的引用、數(shù)據(jù)連接、文件夾和文件。 解決方案容器可包含多個項目,而項目容器通常包含多個項。Visual Studio 2010中的編輯器和設(shè)計器的使用選擇取決于所創(chuàng)作的文件或文檔的類型。編輯器和設(shè)計器通常有兩個視圖:圖形設(shè)計視圖和代碼隱藏視圖或源視圖。 設(shè)計視圖允許在用戶界面或網(wǎng)頁上指定控件和其他項的位置。 可以從工具箱中拖動控件,并將其置于設(shè)計圖面上。Visual Studio 提供了一套可靠的生成和調(diào)試工具。 使用生成配置,可選擇將生成的組件,排除不想生成的組件,確定如何生成選定的項目,以及在什么平臺上生成這些項目。解決方案和項目都可具有生成配置。生成過程即是調(diào)試過程的開始。 生成應(yīng)用程序的過程可幫助您檢測編譯時錯誤。這些錯誤可以包含不正確的語法、拼錯的關(guān)鍵字和鍵入不匹配?!拜敵觥贝翱趯@示這些錯誤類型。在應(yīng)用程序生成后,可以使用調(diào)試器檢測和更正在運行時檢測到的問題,如邏輯錯誤和語義錯誤。 處于中斷模式時,可以使用 變量窗口和 “內(nèi)存”窗口 等工具來檢查局部變量和其他相關(guān)數(shù)據(jù)。 Visual Studio 提供了兩種不同的部署策略:ClickOnce 和 Windows Installer。 通過 ClickOnce 部署,可以將應(yīng)用程序發(fā)布到中心位置,然后用戶再從該位置安裝或運行應(yīng)用程序。 通過 Windows Installer 部署,可以將應(yīng)用程序打包到 文件中,并將該文件分發(fā)給用戶; 文件安裝應(yīng)用程序。Windows Installer 部署為部署應(yīng)用程序提供了更高的靈活性。 各種編輯器(如自定義操作編輯器和用戶界面編輯器)都允許自定義 Windows Installer 來滿足各種部署需求。 Microsoft Visual Studio 2010軟件中的一部分功能: (1)C ;(2)多顯示器支持;(3)使用Visual Studio 2010的特性支持TDD;(4)支持Office ;(5)Quick Search特性;(6)C++ 0x新特性;(7)IDE增強;(8)使用Visual C++ 2010創(chuàng)建Ribbon界面;(9) F[12]。 軟件設(shè)計對軟件進(jìn)行設(shè)計,要使軟件設(shè)計的程序?qū)崿F(xiàn)太陽能熱風(fēng)發(fā)電系統(tǒng)管控程序的功能設(shè)計要求。太陽能熱風(fēng)發(fā)電實驗裝置管控程序設(shè)計的功能需求為:1)可以對遠(yuǎn)程IO進(jìn)行必要的功能設(shè)置;2)可以對實驗現(xiàn)場設(shè)備進(jìn)行簡單的開關(guān)控制;3)能夠從一個或多個ADAM6017模塊中正確讀取數(shù)據(jù),數(shù)據(jù)采集頻率為所有傳感器1次/秒;4)可以實時監(jiān)控到采集的數(shù)據(jù);5)可以對采集的數(shù)據(jù)繪制實時動態(tài)圖形;6)可以將數(shù)據(jù)整齊存儲到SQL數(shù)據(jù)庫中;7)由于系統(tǒng)不可能全天候有專人職守,程序應(yīng)該有日志功能;8)當(dāng)一個或多個遠(yuǎn)程IO無法運轉(zhuǎn)時,應(yīng)該給出提示,并能保證剩余的遠(yuǎn)程IO正常工作,當(dāng)這些故障的遠(yuǎn)程IO被修復(fù)以后,程序應(yīng)該能自動建立于他們的關(guān)聯(lián),重新讀取數(shù)據(jù);9)當(dāng)數(shù)據(jù)庫服務(wù)器無法運轉(zhuǎn)時,數(shù)據(jù)應(yīng)該被緩存而不是丟失,并給出提示;當(dāng)數(shù)據(jù)庫服務(wù)器被修復(fù)以后,程序應(yīng)當(dāng)可以重新關(guān)聯(lián)服務(wù)器并把暫存的數(shù)據(jù)補充進(jìn)服務(wù)器;10)為以后增加遠(yuǎn)程IO留下足夠的冗余。為了能夠?qū)崿F(xiàn)系統(tǒng)所要求的各個功能,將軟件編程分為五部分,這五部分分別是ADAM6017聯(lián)絡(luò)模塊、SQL數(shù)據(jù)處理模塊、系統(tǒng)配置保存模塊、實時觀測和用戶界面模塊和MATLAB用戶歷史數(shù)據(jù)提取模塊。通過這五部分的有機(jī)結(jié)合能夠很好的完成整個系統(tǒng)對數(shù)據(jù)采集和處理的基本要求。ADAM6017聯(lián)絡(luò)模塊是系統(tǒng)將傳感器所接收的數(shù)據(jù)通過以太網(wǎng)IO模塊ADAM 6017接收到計算機(jī)的主控程序;SQL數(shù)據(jù)處理模塊將通過ADAM6017的數(shù)據(jù)判斷分類存儲到SQL數(shù)據(jù)庫中,完成對數(shù)據(jù)的接收和存儲;系統(tǒng)配置保存模塊通過為系統(tǒng)設(shè)置必要的個人登錄信息完成對控制系統(tǒng)的安全保護(hù),避免無關(guān)人員對系統(tǒng)運行情況的干擾;MATLAB用戶數(shù)據(jù)提取模塊通過編寫MATLAB程序來提取數(shù)據(jù)庫中所接收的數(shù)據(jù),并進(jìn)行處理供給用戶使用;實時觀測和用戶界面模塊是整個系統(tǒng)運行的全面展現(xiàn),用戶能夠從界面看到其他各模塊的連接運行情況,并能夠直觀的看到ADAM6017模塊傳回的數(shù)據(jù)。通過五個部分的緊密配合,將太陽能熱風(fēng)發(fā)電實驗樣機(jī)項目SolarTower10Wp系統(tǒng)內(nèi)部和外部所涉及到的環(huán)境變量(溫度、壓力、風(fēng)速、光功率等)都在系統(tǒng)管理者面前清晰的展現(xiàn)。本文主要實現(xiàn)軟件設(shè)計中的兩個部分,一是MATLAB用戶數(shù)據(jù)提取模塊的設(shè)計,二是對實時觀測和用戶界面模塊中的實時數(shù)據(jù)動態(tài)繪圖部分進(jìn)行設(shè)計。MATLAB用戶數(shù)據(jù)提取模塊通過MATLAB 2011a軟件中的GUIDE命令編寫,應(yīng)用MATLAB軟件中的Matlab Database Toolbox 連接并調(diào)用SQL數(shù)據(jù)庫中的數(shù)據(jù)。繪圖部分首先也是通過MATLAB 2011a軟件編程,但由于模塊要在管控程序上實現(xiàn),所以要對MATLAB 2011a中編寫好的程序進(jìn)行轉(zhuǎn)換格式轉(zhuǎn)換,打包成DLL文件,使之能夠被Microsoft Visual Studio 2010軟件中的管控程序所調(diào)用。實時觀測和用戶界面中的繪圖部分是對系統(tǒng)所接收的實時數(shù)據(jù)進(jìn)行繪圖。MATLAB用戶數(shù)據(jù)提取模塊是為了使用戶能夠通過在無線網(wǎng)絡(luò)覆蓋范圍內(nèi),在自己的計算機(jī)上使用設(shè)計好的用戶數(shù)據(jù)提取界面來調(diào)用SQL數(shù)據(jù)庫中存儲的用戶感興趣的歷史數(shù)據(jù)。圖 圖形繪制編程設(shè)計實時觀測和用戶界面中的圖形繪制部分是在MATLAB軟件中編寫繪圖程序,將系統(tǒng)所接收的數(shù)據(jù)通過繪制成動態(tài)圖形的方式在用戶面前展現(xiàn)。這部分的程序是用MATLAB軟件編寫,所以程序看起來非常的簡單明了。整個程序分為兩個小部分,一部分是將32個數(shù)據(jù)用窗口分割命令(subplot)分為兩個圖形窗口,并用MATLAB繪圖函數(shù)plot()對數(shù)據(jù)進(jìn)行輸出。利用圖形圖例legend()函數(shù)將32個數(shù)據(jù)分成兩部分創(chuàng)建圖形圖例,每個部分各16個數(shù)據(jù),程序中分別用A_1~A_8,B_1~B_8和C_1~C_8,D_1~D_8來代替實際數(shù)據(jù);另一部分則是負(fù)責(zé)完成數(shù)據(jù)的動態(tài)顯示,在原有數(shù)據(jù)在圖形上顯示的基礎(chǔ)上,程序?qū)⑿陆邮盏臄?shù)據(jù)加進(jìn)圖例中的最左端成為圖例中的第一個數(shù)據(jù),并把原來最靠外的數(shù)據(jù)擠掉,程序在編寫時只需要兩句MATLAB編程語言就能夠?qū)崿F(xiàn)這一功能:[m,~] = size(Inputer)。OutPuter = [NewData。Inputer(1:(m1),:)]。第一句是輸入新數(shù)據(jù),第二句是在新數(shù)據(jù)加入后輸出圖形,這樣在一個個數(shù)據(jù)輸入中就在顯示的圖形中形成了一種動態(tài)的數(shù)據(jù)輸出。(源代碼見附錄1)MATLAB軟件中編寫的程序最終需要被Microsoft Visual Studio2010軟件進(jìn)行調(diào)用,使系統(tǒng)整體編程能夠最終在一個軟件上得以實現(xiàn),避免操作的繁瑣性。,不能被其他軟件所直接調(diào)用, Visual Studio2010軟件所調(diào)用。這樣就可以只通過操作Microsoft Visual Studio2010軟件中的管控程序來完成整個系統(tǒng)的軟件編程部分。在計算機(jī)中裝好兩個軟件的基礎(chǔ)上,在MATLAB軟件中安裝文件轉(zhuǎn)換編譯器,進(jìn)而將MATLAB軟件下的圖形繪制m文件打包成可在Microsoft Visual Studio 2010軟件中可調(diào)用的DLL文件。轉(zhuǎn)換時首先要在MATLAB軟件中安裝Microsoft Visual Studio 2010軟件編譯器,然后再對編譯器進(jìn)行時設(shè)置后才能進(jìn)行文件打包轉(zhuǎn)換。在MATLAB軟件命令窗口中輸入mex –setup,按著命令窗口提示選擇安裝編譯器。在輸入mex –setup后第一個彈出的選擇時,輸入“y”,接著會出現(xiàn)選擇編譯器的語句,因為要講文件轉(zhuǎn)換到Microsoft Visual Studio2010中使用,所以在這里選擇“2”,即“Microsoft Visual C++ 2010 in C:\Program Files\Microsoft Visual Studio ”這個編譯器,在接下來彈出的確定所選擇編譯器選項選擇“y”確定。這樣MATLAB軟件中就安裝了Microsoft Visual Studio 2010編譯器?;具^程如下: mex setup Wele to mex setup. This utility will help you set up a default piler. For a list of supported pilers, see Please choose your piler for building MEXfiles: Would you like mex to locate installed pilers [y]/n? y Select a piler: [1] Lccwin32 C in D:\matlab\sys\lcc [2] Microsoft Visual C++ 2010 in C:\Program Files\Microsoft Visual Studio [0] None Compiler: 2 Please verify your choices: Compiler: Microsoft Visual C++ 2010 Location: C:\Program Files\Microsoft Visual Studio Are these correct [y]/n? y *************************************************************************** Warning: MEXfiles generated using Microsoft Visual C++ 2010 require that Microsoft Visual Studio 2010 runtime libraries be available on the puter they are run on. If you plan to redistribute your MEXfiles to other MATLAB users, be sure that they have the runtime libraries. *************************************************************************** Trying to update options file: C:\Users\twq\AppData\Roaming\MathWorks\MATLAB\R2011a\ From template: D:\matlab\bin\win32\mexopts\ Done . . . ************************************************************************** Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^321 elements. In the near future you will be required to update your code to utilize the new API. You can find more information about this at: