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

?

虛擬電子實(shí)驗(yàn)臺(tái)的設(shè)計(jì)規(guī)則與算法

2014-02-08 02:01秦宏王皓曲延華張玉梅
關(guān)鍵詞:實(shí)驗(yàn)臺(tái)控件端口

秦宏,王皓,曲延華,張玉梅

(1.沈陽(yáng)工程學(xué)院自動(dòng)化學(xué)院,遼寧沈陽(yáng)110136;2.遼寧移動(dòng)通信公司網(wǎng)絡(luò)管理中心,遼寧沈陽(yáng)110179)

1 虛擬實(shí)驗(yàn)臺(tái)基本功能

實(shí)驗(yàn)臺(tái)是虛擬電子實(shí)驗(yàn)室的核心部件,所有的電子器件、儀器儀表、電源等構(gòu)件都放在實(shí)驗(yàn)臺(tái)上,通過(guò)導(dǎo)線(xiàn)連接形成實(shí)驗(yàn)電路,因此實(shí)驗(yàn)臺(tái)必須具備以下基本功能:

1)為用戶(hù)提供可選擇的常用器件,并在實(shí)驗(yàn)臺(tái)上安放、承載、移動(dòng).

2)能夠重復(fù)調(diào)用同一個(gè)器件,實(shí)現(xiàn)控件的動(dòng)態(tài)加載.例如,電路中的多個(gè)電阻不可能都具有為自己?jiǎn)为?dú)編寫(xiě)的“方法”,而是按類(lèi)劃分,將所有新增加的電阻控件都放在電阻集合類(lèi)中.

3)各實(shí)驗(yàn)器件、儀器儀表、電源等控件間的連接功能,即布線(xiàn)、刪除、移動(dòng)等.

4)實(shí)驗(yàn)器件與實(shí)驗(yàn)電路的合法性檢查.

5)控件的刪除.

6)電路圖的保存、讀取.

7)器件節(jié)點(diǎn)號(hào)的自動(dòng)賦值、排序與計(jì)算,建立客戶(hù)端表面圖形化的電路與服務(wù)器端實(shí)際電路拓?fù)浣Y(jié)構(gòu)的映射關(guān)系.

2 虛擬實(shí)驗(yàn)臺(tái)的主要算法與規(guī)則

2.1 常用器件選擇、承載與動(dòng)態(tài)添加功能

虛擬實(shí)驗(yàn)室的部件設(shè)計(jì)成ActiveX控件,因?yàn)榛诰W(wǎng)絡(luò)的虛擬電子實(shí)驗(yàn)室承載的平臺(tái)是B/S結(jié)構(gòu),利用ActiveX強(qiáng)大的可移植性,ActiveX能被B/S和C/S結(jié)構(gòu)的軟件隨意調(diào)用,因此能夠嵌入到IE瀏覽器中.

首先,采用Active Bar 2.0控件作為器件的選擇菜單,將所有的器件集成到菜單中,用Picture控件作為擺放平臺(tái).實(shí)驗(yàn)臺(tái)的程序開(kāi)發(fā)要具有選擇電子器件并添加到實(shí)驗(yàn)臺(tái)、動(dòng)態(tài)加載重復(fù)添加的器件等功能.

例如,用戶(hù)點(diǎn)擊電阻后再添加另外一個(gè)電阻時(shí),系統(tǒng)不僅要自動(dòng)命名不同的名稱(chēng),還要對(duì)不同的電阻能夠執(zhí)行同樣的“方法”.考慮通過(guò)“類(lèi)”的方法實(shí)現(xiàn)重復(fù)調(diào)用,將所有新增加的控件都放在同一個(gè)集合類(lèi)中.

下面程序表示動(dòng)態(tài)加載1個(gè)示波器SSS.sbq,并將它加到集合類(lèi)CtrlItems中去,完成1個(gè)控件的動(dòng)態(tài)加載,方法如下:

ControlItem為集合中的單個(gè)元素,是程序編寫(xiě)的另一個(gè)類(lèi),此類(lèi)中定義了針對(duì)集合里的不同控件進(jìn)行響應(yīng)的事件.例如,當(dāng)用戶(hù)添加自定義的電阻控件的1個(gè)端子,會(huì)通過(guò)CLICK中的raise event方法調(diào)用類(lèi)模塊ControlItem中的方法.

2.2 器件之間的連接

以畫(huà)圖(線(xiàn))的方式實(shí)現(xiàn)電子器件之間的連接.電子器件之間的連線(xiàn)不是簡(jiǎn)單的圖形,每條線(xiàn)都是一個(gè)自定義line控件,line控件要有記錄線(xiàn)兩端的端口信息的功能,這樣才能使服務(wù)器端知道控件間的連接關(guān)系.增加連線(xiàn),將器件端口連接起來(lái)需要完成的工作有:

1)修改連線(xiàn)兩端點(diǎn)的端口信息,通知對(duì)方端口某控件的某端口與之發(fā)生了連接.

2)對(duì)允許空閑的端口,將其狀態(tài)設(shè)置為“已連接”.同時(shí),設(shè)置實(shí)驗(yàn)臺(tái)上的端口以紅色顯示,標(biāo)注其允許空閑,例如,示波器的未用通道.

3)重新計(jì)算端口的節(jié)點(diǎn)號(hào).節(jié)點(diǎn)號(hào)的賦值與計(jì)算要滿(mǎn)足多項(xiàng)規(guī)則,最主要的是一定要保證同一條線(xiàn)兩端的節(jié)點(diǎn)號(hào)一致以及不相連的節(jié)點(diǎn)的號(hào)值必須不同.

4)線(xiàn)的刪除.線(xiàn)的刪除將按照?qǐng)D1所示流程進(jìn)行.

圖1 線(xiàn)的刪除

2.3 控件的刪除

控件(器件)的刪除首先要保證沒(méi)有其他器件與其相連,也就是說(shuō),必須先刪除連接線(xiàn)才能刪除器件.刪除的同時(shí),將該器件由集合中刪除以釋放資源.

2.4 實(shí)驗(yàn)器件的合法性檢查

實(shí)驗(yàn)臺(tái)ActiveX控件必須要對(duì)電路的合法性進(jìn)行檢查,才能保證提交到服務(wù)器解析的電路數(shù)據(jù)無(wú)誤,否則利用服務(wù)器糾錯(cuò)將會(huì)極大加重服務(wù)器的負(fù)荷.總之,一切在客戶(hù)端完成的檢查一定要在客戶(hù)端完成,提交到服務(wù)器上的數(shù)據(jù)一定是規(guī)范并且滿(mǎn)足解析輸入條件的.

合法項(xiàng)檢查一般包括:有參數(shù)的器件必須有賦值、器件端口無(wú)空閑狀態(tài)、器件節(jié)點(diǎn)號(hào)符合規(guī)定、有示波器和電源等必要設(shè)備以及其他條件.

2.5 電路的保存與讀取

用戶(hù)在實(shí)驗(yàn)進(jìn)行中可能會(huì)中途停止轉(zhuǎn)而進(jìn)行其他操作,因此實(shí)驗(yàn)臺(tái)需要具有對(duì)當(dāng)前搭接的電路圖進(jìn)行保存的功能,當(dāng)再次進(jìn)入實(shí)驗(yàn)時(shí),用戶(hù)可以重新讀取原來(lái)的進(jìn)度.需要注意的是,電路的保存和讀取不僅要保存電路的圖形和配置數(shù)值,更重要的是電路的拓?fù)浣Y(jié)構(gòu)、連接關(guān)系、節(jié)點(diǎn)關(guān)系等都要進(jìn)行保存.重新開(kāi)始實(shí)驗(yàn)即重新從數(shù)據(jù)庫(kù)中讀取原來(lái)的進(jìn)度時(shí),實(shí)驗(yàn)臺(tái)上現(xiàn)有的電路必須先清除然后才能加載新數(shù)據(jù),否則將造成器件同名問(wèn)題,因此實(shí)驗(yàn)臺(tái)讀取進(jìn)度的程序中要預(yù)先判斷當(dāng)前實(shí)驗(yàn)臺(tái)上是否有數(shù)據(jù),如果有數(shù)據(jù)需要預(yù)先清除.

2.6 器件節(jié)點(diǎn)號(hào)的賦值與計(jì)算

程序除了通過(guò)器件種類(lèi)、配置數(shù)據(jù)獲得實(shí)際電路結(jié)構(gòu)以外,電路的連接關(guān)系是極其重要的,如果連接關(guān)系錯(cuò)誤將得到截然相反的結(jié)論,解析程序是根據(jù)器件的節(jié)點(diǎn)號(hào)碼區(qū)分電路之間的連接關(guān)系的.如圖2所示,其中圖a中是人工配置的節(jié)點(diǎn)號(hào)碼,對(duì)應(yīng)的電路文件如圖b所示.

圖2 電路的節(jié)點(diǎn)號(hào)配置與生成的CIR電路文件

例如,CIR電路文件中的第二行“rb1 5 4 220k”說(shuō)明在節(jié)點(diǎn)5、4之間有1個(gè)阻值為220 k的電阻,“c1 1 2 47uf”則代表節(jié)點(diǎn)1、2之間存在的元件是47μF的電容.

程序需要得知如何為電路分配節(jié)點(diǎn)號(hào)碼,不同的用戶(hù)做的電路完全迥異,取用元件的順序、連接導(dǎo)線(xiàn)的順序都各不相同,就算是對(duì)同一個(gè)實(shí)驗(yàn)也不可能預(yù)先規(guī)劃一個(gè)完全一致的模版.因此,以顏色來(lái)類(lèi)比節(jié)點(diǎn)號(hào),采用了以下的節(jié)點(diǎn)號(hào)(顏色)配置方案.

1)同色原則

與同一節(jié)點(diǎn)(顏色)相連的所有連線(xiàn)兩端的節(jié)點(diǎn)號(hào)碼(顏色)均相同.

2)染色原則

2個(gè)或2個(gè)以上不同節(jié)點(diǎn)(顏色)互連時(shí),所有節(jié)點(diǎn)都配置相同的節(jié)點(diǎn)號(hào)碼(顏色),而不管原先的節(jié)點(diǎn)號(hào)碼(顏色)是什么,這稱(chēng)為染色原理.至于2個(gè)節(jié)點(diǎn)相遇成為1個(gè)節(jié)點(diǎn)后,該節(jié)點(diǎn)最后會(huì)被統(tǒng)合成什么數(shù)字的節(jié)點(diǎn)號(hào),為使程序簡(jiǎn)便,遵循最小數(shù)字優(yōu)先的原則,即用小數(shù)字(淺顏色)覆蓋大數(shù)字(深顏色).

根據(jù)以上同色原則和染色原則,用戶(hù)在給實(shí)驗(yàn)臺(tái)添加器件和連線(xiàn)時(shí),每個(gè)器件的各個(gè)端口首先按照拿取順序被分配一個(gè)從小到大的、唯一不重復(fù)的ID號(hào)碼,在器件連接中根據(jù)連接關(guān)系,按照同色原則和染色原則不斷重新賦值器件端口的節(jié)點(diǎn)號(hào)碼.所有節(jié)點(diǎn)的拓?fù)淇捎枚鏄?shù)遍歷的方法確定每個(gè)節(jié)點(diǎn)的最終號(hào)碼,或者說(shuō)最終顏色.

如圖3所示,當(dāng)用戶(hù)將某綠色節(jié)點(diǎn)⑤與某器件端口的紅色節(jié)點(diǎn)④連接時(shí),根據(jù)染色原理,程序?qū)IR文件中所有與④相連的節(jié)點(diǎn)號(hào)都染色為紅色節(jié)點(diǎn)號(hào)④.為了不遺漏,通過(guò)二叉樹(shù)遍歷的方法搜索,或者搜索集合中所有已出現(xiàn)的節(jié)點(diǎn)號(hào),找出所有的⑤并以④替換.在客戶(hù)端最后提交到服務(wù)器前,實(shí)驗(yàn)臺(tái)還要對(duì)每個(gè)器件的節(jié)點(diǎn)號(hào)進(jìn)行分析,查找錯(cuò)誤并互動(dòng)提示給用戶(hù),例如接地節(jié)點(diǎn)序號(hào)不為0、不允許的空閑端口等問(wèn)題.直到用戶(hù)的CIR文件完全通過(guò)合法性規(guī)則的檢驗(yàn),方可提交到服務(wù)器.

圖3 同色原則與染色原則

3 電路CIR文件生成

CIR文件的生成是實(shí)驗(yàn)臺(tái)要完成另一個(gè)主要功能,也是實(shí)驗(yàn)臺(tái)在向服務(wù)器傳送數(shù)據(jù)之前完成的最后一個(gè)工作,實(shí)現(xiàn)將用戶(hù)設(shè)計(jì)的電路編譯成電路CIR文件的功能.

3.1 用戶(hù)電路信息

在用戶(hù)完成了器件選擇、擺放、電路連接等基本操作以后,客戶(hù)端就根據(jù)用戶(hù)的連接信息自動(dòng)生成服務(wù)器端進(jìn)行電路仿真需要的數(shù)據(jù)文件,即CIR文件,然后將該CIR文件送給服務(wù)器,這樣可以大大減輕服務(wù)器端的壓力,使虛擬實(shí)驗(yàn)系統(tǒng)的實(shí)時(shí)、多用戶(hù)等目標(biāo)有實(shí)現(xiàn)的可能.

3.2 用戶(hù)測(cè)量與分析信息

在電路CIR文件的生成過(guò)程中,不僅需要生成電路信息,還需要根據(jù)用戶(hù)的儀表擺放和連接情況生成分析語(yǔ)句.例如,某雙蹤示波器的雙通道分別測(cè)量節(jié)點(diǎn)③、①的對(duì)地電壓,則需要生成相應(yīng)的時(shí)域分析語(yǔ)句為“.plot tran V(3,0)V(1,0)”.

3.3 分用戶(hù)信息的區(qū)分

每個(gè)用戶(hù)的CIR文件要寫(xiě)入服務(wù)器固定目錄,每個(gè)用戶(hù)的CIR要進(jìn)行區(qū)分,作為臨時(shí)文件,實(shí)驗(yàn)結(jié)束后將該CIR文件刪除.

4 結(jié)語(yǔ)

利用核心的同色算法和染色算法,完成了虛擬電子實(shí)驗(yàn)室核心部件虛擬實(shí)驗(yàn)臺(tái)的規(guī)則設(shè)計(jì)和搭建,使得自主開(kāi)發(fā)的虛擬電子實(shí)驗(yàn)臺(tái)具有器件的選擇、承載、連接、編輯以及電路的合法性檢查、保存、讀寫(xiě)等功能,尤其是給出了一種表面圖形化的電路與實(shí)際電路拓?fù)浣Y(jié)構(gòu)映射關(guān)系的建立方法,實(shí)現(xiàn)了對(duì)選取的器件形成的任意電路的仿真.

[1] 冼凱儀.虛擬電子實(shí)驗(yàn)臺(tái)在電子技術(shù)基礎(chǔ)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].中國(guó)現(xiàn)代教育裝備,2008(3):48-50.

[2] 馬海瑞,周愛(ài)軍.基于Data Socket技術(shù)的Lab VIEW遠(yuǎn)程測(cè)控.佳工機(jī)電網(wǎng)[DB/OL].[2013-04-10].http://www.newmaker.com/art_16615.htm l.

[3] 楊中華.LabW indows_CVI網(wǎng)絡(luò)化通信的研究與實(shí)現(xiàn)[J].深圳職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,8(5):50-53.

[4] 謝維成,李富干.基于WEB的虛擬實(shí)驗(yàn)室平臺(tái)設(shè)計(jì)及軟件實(shí)現(xiàn)[J].西北大學(xué)學(xué)報(bào):自然科學(xué)版,2008,27(1):69-72.

[5] 夏驚濤,穆道生.基于ActiveX控件的視頻監(jiān)控系統(tǒng)客戶(hù)端編程[J].廣播與電視技術(shù),2006(1):83-85.

[6] 張世榮,唐玉玲.用DataSocket實(shí)現(xiàn)本地/遠(yuǎn)程進(jìn)程間通信[J/OL].[2013-6-19].http://plc.ca800.com/detail.asp?id=962.

猜你喜歡
實(shí)驗(yàn)臺(tái)控件端口
基于CDIO-E教學(xué)模式自制實(shí)驗(yàn)臺(tái)的研究
一種端口故障的解決方案
關(guān)于.net控件數(shù)組的探討
端口阻塞與優(yōu)先級(jí)
一種基于虛擬儀器的電控柴油機(jī)實(shí)驗(yàn)臺(tái)的設(shè)計(jì)
模糊PID在離合器綜合性能實(shí)驗(yàn)臺(tái)中的應(yīng)用
8端口IO-Link參考設(shè)計(jì)套件加快開(kāi)發(fā)速度
ASP.NET服務(wù)器端驗(yàn)證控件的使用
衛(wèi)星三端口DC-DC變換器技術(shù)綜述
一種汽車(chē)電器零部件檢測(cè)實(shí)驗(yàn)臺(tái)