【摘要】介紹了采用VB開發(fā)ITE溫度變送器控件的基本方法和信號轉換的兩個線性化處理方案,解決了設計各儀表控件中的重點和難點—— 線性化輸入問題。
【關鍵詞】 控件設計,儀表控件,ITE溫度變送器,界面設計,線性化處理,線性化輸入
ABSTRACT The sic method of developing ITE temperature transmitter controlware via VB and two linear processing scheme for signal conversion is introduced,and the linear input problem as the focal point and difficulty in designing eontrolware of each instrument are solved.
KEYWORDS controlware design,instrument controlware,ITE temperaturetransmitter,interface design,linear processing,linear input
開發(fā)多功能模擬實驗室需要解決兩大問題:一是儀表組件的開發(fā);二是實驗系統(tǒng)的組建。儀表組件的開發(fā)是開發(fā)多功能模擬實驗室的基礎,就象建立實驗室需要先購置實驗儀器設備一樣。為此,我們把常用的儀器儀表設備設計成儀表控件的形式,為實驗系統(tǒng)的組建提供所需的物質基礎。我們之所以要把每塊儀表做成一個儀表控件來使用,是因為儀表控件作為一個可視化的對象具有很好的封裝特性,封裝設計好的儀表控件,對用戶來說就象使用買來的真實設備一樣,無須知道其功能的內部具體實現,就可以方便使用其外部功能了 另外,對于設計好的儀表控件,可以在不同的儀表系統(tǒng)中重復使用,這樣就大大提高了程序開發(fā)的效率。
1 ITE溫度變送器的工作原理
ITE溫度變送器是I系列變送儀表單元的一個主要品種,它可與各種標準型號的熱電偶或熱電阻配合使用,連續(xù)不斷地將被測的溫度或溫差信號轉換成統(tǒng)一的1~5V,IX2或4~20mA,DC信號輸出,可作為顯示、記錄、調節(jié)儀表和工業(yè)控制機等的標準輸入信號,其電路主要有線性化輸入回路和放大輸出回路兩大部分組成,整機按負反饋平衡原理進行工作,其信息傳遞與轉換過程的組成方框圖如圖1所示 由圖1可知,被測溫度t經熱電偶轉換成相應的熱電勢E[sub]t[/sub]后,輸至溫度變送器的線性化輸入回路,與線性化電路輸出的反饋電壓V[sub]f[/sub],和零點調整及冷端補償電路輸出的電壓v[sub]t[/sub]進行綜合運算后再送至電壓和功率放大器放大并轉換成電流信號 , 電流信號再經隔離輸出回路轉換成1~5V,IX2或4~20mA,IX2信號輸出,與此同時,J。信號還通過反饋回路的反饋電阻轉換成相應的反饋電壓 V[sub]f[/sub],然后輸至線性化電路運算處理后輸出電壓V[sub]t[/sub],反饋到電壓放大器的反相輸入端,實現整機的負反饋作用 當整機電路處于平衡狀態(tài)時,其輸出電流I。(或電壓V。)與被測溫度t成線性關系。溫度變送器的線性化電路主要是基于一次元件熱電偶輸出的熱電勢與被測溫度為非線性而進行設計的,這是熱電偶溫度變送器控件設計中的特殊問題,也是設計的難點問題,其原理如圖2所示.
另外,ITE溫度變送器還具有熱電偶冷端溫度的自動補償功能 實現這一功能對于實際儀表來說稍微麻煩一些,主要是需要感溫元件和補償線路,但對于模擬儀表來說,沒有實際溫度環(huán)境,所謂的冷端也是由用戶給出的,因此冷端補償問題就變成的代數補償問題,所以模擬起來就比較簡單,不會成為該儀表開發(fā)中的主要問題。
2 儀表控件的設計
本設計是在操作系統(tǒng)Windows98下,利用3DMAX2.5進行儀表的界面設計,利用中文Visual tMsic6.0進行控件設計和系統(tǒng)編程。
2 .1 儀表的界面設計
儀表界面的設計(即外形的設計)是力爭做到與實際儀表相統(tǒng)一,這樣可以使用戶在使用時象在使用實際儀表一樣。以前設計的儀表都是在Windows操作環(huán)境下,用附件中的畫筆畫出來的,外表單一,缺乏立體感。為了增加真實感,我們用3D Studio MAX制作出逼真的三維模型,然后加以材質、貼圖、燈光等,不管從何種角度都能看出逼真的三維效果。
2.2 儀表控件設計
控件的設計主要就是設計控件“成員函數”的實現代碼,即控件的“屬性”、“方法”及“事件”的實現代碼下面以ITE溫度變送器控件的設計來簡單介紹一下ActiveX控件的開發(fā)過程。
首先,進入VB應用程序后選擇“ActiveX控件”工程,并將“工程名”設置為“溫度變送器”,將“用戶控件”的“name”屬性設置成“ITE”,將其“Tool boxbitmap”屬性設置成3D MAX所繪制的“儀表圖片名”,這樣就設計好了一個空的儀表控件,即不具有任何功能的儀表外殼。為了使儀表具有特定的功能就需要給儀表添加響應的“屬性”、“方法”及“事件。
為了向控件添加“屬性”、“方法”及“事件”,應選擇Tools菜單下的Add Procedure項,這就打開Add Procedure框,在Name欄里給出屬性名(如Input),在“類型”中選擇“屬性”按鈕,在“范圍”中選擇“公有的”按鈕,然后單擊OK,這就為“Input”屬性刨建了兩個
過程:Let(賦值)和Get(取值)過程。
對于ITE溫度變送器來說它的主要作用是進行信號的轉換,根據其使用特征,應具有輸入和輸出信號屬性,儀表的測量范圍(儀表的量程)屬性及輸出型號類型(電壓或電流輸出)屬性等,還可以使它具有“復位 (Reset)方法和“壞值輸入”事件等。
下面是溫度變送器的主要屬性過程代碼:

因為溫度變送器為信號轉換設備,因此,其輸出不能人為改變,只能隨輸入的變化而變化,因此,輸出屬性不需要有賦值(Let)屬性過程。
其它屬性過程與此類似,在此不再一一列出。對于控件的“方法”和“事件”相對更為簡單,“方法”就是一個“公有過程 或“公有函數過程”,“事件 是在程序代碼中當觸發(fā)事件的條件滿足時,利用關鍵字“RaiseEvent”+ 事件名”便可使事件被激活,即用戶可以在使用該控件時對該事件進行編程。
對于儀表控件的設計,僅僅設計好控件“屬性”、“方法”及“事件”是遠遠不夠的,為了提供給用戶一個形象逼真,使用方便的儀表,還要考慮儀表使用過程中的動態(tài)效果,如對于有顯示輸出的儀表來說,當其輸入改變時,儀表的指針應跟著移動等,另外儀表的精度同題,儀表控件的自動縮放功能等,這些都是在控件設計時應考慮的問題。
3 ITE溫度變送器的線性化處理
ITE型熱電偶溫度變送器的數學模型如下:

由于變送器的輸入只能為毫伏信號,因此在耐熱電偶溫度變送器的線性化回路進行仿真時,只有通過索引相應毫伏值對應的溫度值來實現,因此ITE型熱電偶溫度變送器的軟件實現就復雜一些。
目前,筆者有兩種方案來解決線性化輸入問題。
方案1;用office中的數據庫Access制作“熱電勢一溫度 對應的分度表,利用熱電偶的輸出毫伏信號來索引溫度值,再將返回的溫度值代入輸出方程,求出輸出值。在用語言實現時,熱電偶輸出信號即變送器的輸入值,利用VB與數據庫的連接功能,裝入分度表,并索引溫度值。例如:B分度時,輸入熱電偶毫伏信號為13.820mV,那么我們可以索引分度表第138行2O列,找到溫度值為1820℃,代回輸出方程運算,求出輸出結果。
方案2:在程序中定義一個多維數組,并對數組的每一個元素進行賦值,數組維數即毫伏輸入值的轉化,數組的元素值即溫度值。例如:數組B(i, )對應B分度表,當輸入信號為13.820時,則數組B(13.820)一1 820℃會自動代入輸出方程,作為輸入進行運算。以上兩種方法都比較繁瑣,而且要在初始化階段將表裝入內存或對數值賦值。但對資源占用方面,使用多維數組相對較少,可以在程序中動態(tài)賦值,將降低對資源的耗用。因此筆者采用了第二種方案。
4 總結
要開發(fā)出一個完善的多功能模擬實驗室是需要大量人力、物力和財力的,以上短文主要是就ITE溫度變送器的開發(fā)介紹一下儀表控件的開發(fā)思路和特殊問題(線性化)的處理辦法,希望能給對此感興趣的朋友一點啟迪,起到拋磚引玉的作用。
參考文獻
1 Cary Cornell,Dave Jezak著.Active x VB5 0控件建立版.北京:清華大學出版社,1998:全書
2 李海著.Visual Basic晉級:Active x控件.北京 航空航天大學出版社.2000:全書
3 郭巧菊.可視化過程控制系統(tǒng)通用仿真軟件開發(fā).計算機應用研究,2000.1(增刊) 69~70
ITE溫度變送器控件的開發(fā)及其線性化處理:PDF