複製鏈接
請複製以下鏈接發送給好友

目標模塊

鎖定
目標模塊是指用C語言編程時,通常要建立一些用户函數。如果這些函數具有通用性,一般的方法是將它們作成頭文件,當需要時用“#include”命令將其包含到源程序之中,以提高編程效率。
中文名
目標模塊
外文名
Target module
描    述
具有通用性的函數模塊
應    用
用户函數模塊
學    科
計算機

目標模塊概念

目標模塊在特定的程序中一般僅使用這些函數的一部分,若用上述方法包含所有函數,無疑會使源程序變得龐大而難於理解,並會影響編譯和執行效率。建立用户目標模塊庫可以解決這個問題,當把一個程序與一個庫連接時,連接程序將掃描該庫並自動選擇當前程序所需的模塊。
TurboC2.0提供的TLIB.EXE是管理目標模塊庫的實用程序。用户建立自己的目標模塊庫,需要以下幾個步驟:
1.編寫C語言源程序。源程序中不要定義main函數,而只包含其它若干個函數的定義。為了敍述方便假設源文件名為ABC.C。
2.編譯源程序。注意,只進行編譯,不要連接。若源程序有錯誤,經修改之後再編譯,直到最後通過為止。這時系統就在指定的目錄中建立了與源文件相對應的目標文件:ABC.OBJ。
3.建立用户目標模塊庫。在DOS提示符下直接運行TLIB,TLIB命令行的一般格式如下:
TLIBlibname[/C][/E][commands][,listfile]
libname:要建立的用户目標模塊庫,缺省的擴展名為.LIB
/C:大小寫敏感標誌。該選項不常用。
/E:建立擴展字典。建立擴展字典可以加速大的庫文件的連接過程。
commands:操作列表,由若干個動作符以及每個動作符後面的文件名或模塊名組成。TILB支持的動作符有5種:“+"、“-"、“*"、“-*"或“*-"、“-+"或“+-"。“+"是把指定的文件加到指定的庫中;“-"從庫中刪除指定的模塊;“*"將相應的模塊從庫中抽取並寫到指定的文件中,原庫不變;“-*"或“*-"是將庫中指定的模塊拷貝到指定的文件中,然後把該模塊從庫中刪除;“-+"或“+-"是將指定的模塊用指定的文件或模塊代替。
Listfile:建立列表文件。列表文件按字母順序將庫中各模塊列表,為文本文件,可用DOS的TYPE命令查看。例如,用目標文件ABC.OBJ建立用户目標模塊庫ABC.LIB,並獲取列表文件ABC.LST,命令行如下:
TLIBABC.LIB+ABC.OBJ,ABC.LIB
如果用户又編寫了新的函數,通過編譯之後同樣可利用上述方法將其加到用户目標模塊庫ABC.LIB之中,命令為:
TILBABC.LIB/E+A.OBJ+B.OBJ+C.OBJ
在上面的命令中,假設A.OBJ、B.OBJ、C.OBJ是用户函數模塊。命令中的/E參數表示建立擴展字典。
如果要用ABC1.OBJ模塊代替ABC.LIB中的ABC.OBJ模塊,並在屏幕上顯示經替換後的ABC.LIB庫中的模塊列表,可這樣實現:TLIBABC.LIB-ABC.OBJ+ABC1.OBJ,CON(CON為DOS的設備文件名,在這個命令中表示顯示器)。
在Navigator,似乎更容易將目標模塊(ObjectModel)視為Javascript的一大功能。它的句法是Javascript,而各種Objects的集合看上去、使用起來都象是ArrayObjects(隊列對象)。對大多數人來説,一個頁面的ObjectModel和Javascript沒有本質的區別。
微軟推出了IE4.0。筆者本人就十分傾向使用這種瀏覽器,IE4.0的DOM是多數人選擇IE瀏覽器的其中一個原因。
IE4.0將ObjectModel從語言中分離出來,並將之納入到瀏覽器裏。它不是説具有一種語言,能將不同目標對象放到一個頁面上,而是具有這種瀏覽器,能夠提供頁面的結構和顯示,並將這類信息通過程序語言或編纂組件以便於閲讀和管理。你沒有必要指定div標籤在Javascript的位置,只需弄清楚它在VBScript中位置有什麼不同。
總之,利用Javascript管理HTML就跟利用VBScript進行管理一樣簡易。同樣,跟利用Javaapplet,、利用ActiveX管理、利用Cobol一樣簡易。
同時,這種目標模塊並不僅僅處理定位、圖象、嵌入標籤方面的問題,它還可以管理整個網頁結構。因此,如果你想知道一個頁面上有多少個標籤,或者想將第五段落變成藍色,或者想修改網頁元素的CSS-P值,你只需如法炮製,管理控制這些Objects,你使用的語言就能達到你的目的。

目標模塊分區方法

研究背景
法國電力公司提出的三級電壓控制模式已在國內外得到廣泛應用,取得了良好的效果。該模式中,二級電壓控制是協調本地控制和全局控制的中間環節,起到了承上啓下的重要作用。作為二級電壓控制的關鍵組成部分,電壓控制分區受到了諸多學者的關注。電壓控制分區問題屬於NP(Nondeterministic Polynomial)難題,分區方法主要關注滿意解的求取,常用的方法如聚類分析和智能算法等,其中聚類分析因物理意義直觀明確而得到了廣泛的應用和研究。
電氣距離的定義和最優分區的篩選是聚類分析的關鍵。文獻 [1]  提出了經典的電氣距離定義,定義方式簡潔、易於計算,在基於凝聚聚類、分裂聚類(如α分解)及模糊聚類的分區方法中得到廣泛應用,但該定義將所有節點設為PQ節點,沒有突出無功源的控制特性;基於控制空間的電氣距離定義成為趨勢。該定義相比文獻的定義更詳細地刻畫了無功源的電壓控制特性,但 涉及多維數據。而文獻指出,隨着系統規模增大,聚類數據的維度增大,該定義對節點耦合程度的辨識能力會變差,導致聚類結果不準確甚至錯誤,即產生“高維聚類問題”。
多層次電壓控制分區方法
圖1 多層次分區方法 圖1 多層次分區方法
本文利用數據降維的思想處理高維聚類問題。在電力系統中,一個節點通常與其附近的若干節點電氣聯繫緊密,可看作一個節點簇。由於每一簇節點的電壓特性可由其中樞節點的信息表徵,若保留中樞節點的信息而略去其餘節點的信息,可大幅降低電壓控制向量的維度,從而提高聚類準確性和計算效率。據此本文提出了基於多目標模塊度的多層次電壓控制分區方法,如圖1所示。多層次框架分為以下3個階段。
a. 化簡階段:通過聚類找出節點簇,識別中樞節點,將系統原拓撲G0=(VT0,E0)(VT0為圖G0節點集,E0為邊集)逐步簡化至Gk=(Vk,Ek),電壓控制向量維度降至設定水平。
b. 分區階段:基於簡化後的系統,首先形成初始分區,再按各分區之間的電氣聯繫逐步凝聚分區,並根據 M鄱選出最優方案。
c. 還原調整階段:將分區階段得到的簡化後系統分區方案還原為原系統方案,適當調整邊界節點的區域歸屬,進一步優化分區質量,得到最終分區方案。
研究結論
研究了區域電壓的可控性和解耦性,提出了無功源節點電氣距離定義以及評價電壓控制分區質量的多目標模塊度指標,在此基礎上利用多層次分區方法對系統進行分區。IEEE118節點系統算例驗證了本文方法的有效性,分區方案的區域內部聯繫緊密,區域間解耦程度較高,保證了區域內部連通性,符合分區原則。若干大系統算例測試表明,通過“化簡-分區-還原調整”機制,多層次分區方法可以有效地處理高維聚類問題,降低問題規模,使算法以較高的計算效率得到高質量的分區方案,對於大系統電壓控制分區和在線分區等問題有一定價值。 [2] 

目標模塊應用流程

研究背景
隨着電子技術的不斷進步,特別是3C(計算機、通信、消費電子)的飛速發展,電子設備日趨數字化、小型化和集成化,嵌入式芯片逐漸成為設計開發人員的首選。DSP作為嵌入式芯片的典型代表之一,在信息產業領域得到了廣泛應用。
DSP雖然為3C產品的開發提供了很好的硬件支撐平台,但設計者仍得花費一定的時間去掌握DSP內部各種寄存器的正確設置、軟件編程方法以及控制算法設計,這必然會增大產品開發難度,延長產品開發週期, 從而影響開發效率。Matlab公司最新推出的針對DSP應用控制系統而開發的嵌入式目標模塊Embedded Target for TI C2000 DSP即可解決上述問題,用户通過使用該模塊,不僅可以進行電路的系統級仿真,還可編譯生成相應的C語言代碼,並下載到目標板,直接運行程序,進行算法的探索與設計思路的驗證,提高開發效率。
DSP的特點及開發應用流程
作為一種專用的集成開發環境,Matlab公司最新推出的Embedded Target for TI C2000 DSP開發平台能夠讓設計人員直接進行(半)實物仿真、算法的探索與研究,以及產品可靠性的驗證,從而有效地減少了設計開發過程中的消耗,加快了原型開發的速度。該平台有如下幾個優點:
1)在TI C2000 DSP上自動測試、執行Simulink仿真模型;
2)提供模塊化的系統和功能,比如PWM、ADC、CAN以及目標板載內存等;
3)生成文檔化的易讀可編輯的C語言代碼,並生成Code Composer Studio項目文件 ;
4)在F2407 eZdsp評估板和F2812 eZdsp評估板上進行自動化實時測試;
5)對TI推出的IQmath Library提供模塊化的支持,可以用於仿真和代碼生成 ;
6)可以進行定點系統的設計、仿真、自動定標和代碼生成工作。
圖2 應用流程示意圖 圖2 應用流程示意圖
Embedded Target for TI C2000 DSP 提供了將MATLAB和Simulink與TI eXpressDSP工具、TI C2000DSP控制器集成在一起進行系統開發的手段。通過Real-Time Workshop和TI的開發工具將Simulink模型轉變為實時C代碼,這樣就可以利用這些產品在TI C2000 DSP系統上(如F2812 eZds評估板和F2407 eZdsp評估板等)實現自動代碼生成、產品原型和嵌入式系統實現,並可實時進行算法驗證,極大地提高了開發效率。另外,該模塊還有強大的可擴充能力,用户可以增加自己的代碼、中斷服務程序、IO設備驅動到CCS(Code Composer Studio)的工程項目中,這樣就可以直接驅動自行開發研製的控制板卡或第三方的硬件設備板卡,完成產品的設計。採用該平台,開發人員不用編寫一行代碼,就可以完成幾乎所有設計、仿真和編程下載的工作,整個開發流程如圖2所示。
DSP應用實例
圖3 DSP逆變控制器接口示意圖 圖3 DSP逆變控制器接口示意圖
數字式逆變器採用單相半橋逆變結構,逆變控制器核心芯片選用TMS320F2812,輸出兩路 SPWM,EXB841 模塊作為SPWM信號的驅動放大器,控制開關採用全控器件IGBT,輸入電壓311V,輸出電壓為100V(有效值),開關頻率為10kHz,逆變輸出電壓頻率為50Hz。逆變控制器的系統原理及接口框圖如圖3所示,逆變系統的電流和電壓通過電壓霍爾傳感器和電流採樣電路分別檢測出來,送入模擬信號處理電路中進行模擬濾波處理和幅值調整,處理後的信號送入DSP芯片之中,經過 DSP片內的12位A/D轉換模塊,變為數字信號,DSP對信號進行數字濾波後,判斷單相半橋的輸出電壓、電流是否過壓或過流,並採取相應的保護措施;再根據控制算法進行處理,通過DSP片內的PWM輸出模塊,得到所需要的兩路SPWM波形信號,經過EXB841驅動放大模塊進行處理,最後對IGBT逆變半橋進行控制,從而實現直流-交流的逆變。同時還利用DSP片內的CAN2.0B模塊,保留一個對外的CAN網絡接口,便於使用網絡通信對數字逆變控制器進行實時控制和監測。
圖4 Matlab下DSP應用模塊仿真及下載示意圖 圖4 Matlab下DSP應用模塊仿真及下載示意圖
在Matlab下輸入c2000lib命令,可以顯示Embedded Target for TIC2000 DSP所能夠支持的各種DSP功能模塊及相關信息。仿真時,主要利用Embedded Target for TI C2000 DSP所提供的C28X ADC、C28X PWM以及Mailbox子模塊。如圖4所示,系統利用A/D轉換模塊,將採集到的逆變電流和電壓作為SPWM 輸出的控制源。並通過CAN通道1將A/D轉換值以及PWM輸出佔空比輸送出來,同時還可以通過CAN通道0接收來自於網絡上的通信命令,執行相應的子程序。C28XADC模塊在功能上完全等同於TMS320F2812的12位A/D轉換模塊,可以選擇合適的模擬輸入通道。C28X PWM模塊在功能上完全等同於TMS320F2812事件管理器中帶死區的全比較單元模塊,同樣可以選擇定時器、PWM 輸出單元、PWM引腳極性以及設置死區時間。 [3] 
參考資料