999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

調(diào)車監(jiān)控系統(tǒng)模擬平臺(tái)聯(lián)鎖模擬模塊的實(shí)現(xiàn)

2011-07-30 10:35:02張弘志尹德勝
鐵道通信信號(hào) 2011年12期
關(guān)鍵詞:設(shè)備

張弘志 尹德勝 李 鐵

*中國(guó)鐵道科學(xué)研究院通信信號(hào)研究所 助理研究員,100081北京

STP-yh型無(wú)線調(diào)車機(jī)車信號(hào)和監(jiān)控系統(tǒng) (簡(jiǎn)稱調(diào)車監(jiān)控系統(tǒng)),通過地面設(shè)備和車載設(shè)備進(jìn)行無(wú)線通信聯(lián)控,實(shí)現(xiàn)調(diào)車機(jī)車在集中區(qū)車場(chǎng)安全作業(yè)。為了在產(chǎn)品出廠前最大限度地完成測(cè)試,及在實(shí)驗(yàn)室對(duì)現(xiàn)場(chǎng)問題進(jìn)行模擬再現(xiàn),研制完成了調(diào)車監(jiān)控系統(tǒng)模擬測(cè)試平臺(tái)。聯(lián)鎖模擬模塊作為模擬測(cè)試平臺(tái)的基礎(chǔ)模塊,使用了Visual C++6.0語(yǔ)言,運(yùn)用面向?qū)ο蠹夹g(shù)和多線程技術(shù)等,并引入了“設(shè)計(jì)模式”作為分析和解決問題的工具。

1 I/O通信接口及實(shí)現(xiàn)

聯(lián)鎖模擬模塊替換掉了真實(shí)系統(tǒng)中的外部聯(lián)鎖通信機(jī),將聯(lián)鎖碼位 (站場(chǎng)聯(lián)鎖設(shè)備狀態(tài))模擬信息發(fā)送給地面設(shè)備。由于實(shí)驗(yàn)室環(huán)境和現(xiàn)場(chǎng)實(shí)際通信環(huán)境均需要模塊適應(yīng)各種通信方式,如RS-232、RS-485串行,TCP、UDP網(wǎng)絡(luò)通信,甚至是CAN通信來(lái)發(fā)送聯(lián)鎖數(shù)據(jù),因此專門設(shè)計(jì)了通用的底層通信接口。

不同的通信接口對(duì)應(yīng)著不同的驅(qū)動(dòng)程序類,且包含著不同的接口函數(shù)。如串口RS-232、RS-485對(duì)應(yīng)驅(qū)動(dòng)程序類 CSerial;網(wǎng)口TCP、UDP對(duì)應(yīng)驅(qū)動(dòng)程序類 CTCPSocket或是CUdpSocket;CAN口對(duì)應(yīng)類CCAN。因此可應(yīng)用設(shè)計(jì)模式中的適配器模式Adapter來(lái)統(tǒng)一不同通信方式的通信接口。具體步驟如下。

1.構(gòu)建通用接口類基類CCommProduct,制定標(biāo)準(zhǔn)的接口函數(shù),如Open、Close、Read、Write均為虛函數(shù)且可被繼承。

2.創(chuàng)建CCommProduct的派生類,諸如包裝處理串口的 CCommProductSerial,將底層的驅(qū)動(dòng)類(對(duì)于串口類,就是CSerial)封裝進(jìn)去,并保持與基類 (通用接口類的)一致的接口,如 Open、Close、Read、Write等。同理,針對(duì)網(wǎng)口,用類CCommpProductUDP封裝CUdpSocket;針對(duì)CAN口,用CCommProductCAN封裝CCAN,通信接口UML簡(jiǎn)化類圖如圖1所示。

圖1 通信接口UML簡(jiǎn)化類圖

3.創(chuàng)建一個(gè)類CCommFactory實(shí)例對(duì)象pFactory,通過判別導(dǎo)入通信方的通信方式配置信息,創(chuàng)建對(duì)應(yīng)各種通信產(chǎn)品CCommProduct的實(shí)例。

4.使用時(shí),先用pFactory導(dǎo)出一個(gè)需要的通信產(chǎn)品實(shí)例pProductComm,以后就可直接利用該實(shí)例來(lái)完成通信。而這個(gè)實(shí)例pProductComm具體是使用什么通信機(jī)制(如串口、網(wǎng)絡(luò))都已封裝隱藏,不需要使用者關(guān)心。

2 各種類型聯(lián)鎖碼位的實(shí)現(xiàn)

現(xiàn)實(shí)要求在模擬聯(lián)鎖模塊中實(shí)現(xiàn)各種類型的聯(lián)鎖碼位發(fā)送。而各種碼位的格式不統(tǒng)一,就需要編寫不同的碼位文件加載方式和碼位提取填充方式,由此就引出了使用設(shè)計(jì)模式中的Template Method模板方法,應(yīng)用該方法進(jìn)行多種碼位的處理UML簡(jiǎn)化類圖如圖2所示。

圖2 應(yīng)用模板方法進(jìn)行多種碼位的處理UML簡(jiǎn)化類圖

首先設(shè)計(jì)一個(gè)基類碼位分析器,其具有各種碼位均需參與的處理功能:碼位表創(chuàng)建Create和碼位表刷新Update。在創(chuàng)建Create碼位表時(shí),要使用Import()作為碼位文件加載函數(shù);在碼位刷新Update時(shí),使用Export()作為提取聯(lián)鎖設(shè)備狀態(tài)函數(shù),并填充碼位信息。在基類碼位分析器中,將這2個(gè)函數(shù)設(shè)置為虛函數(shù)且可被繼承,然后通過繼承基類碼位分析器來(lái)構(gòu)建不同類型的碼位,并重寫Import()函數(shù)和Export()函數(shù),這樣在最終使用時(shí),模塊就會(huì)自動(dòng)調(diào)用派生類的處理子函數(shù)。

3 聯(lián)鎖設(shè)備公共配置信息的實(shí)現(xiàn)

聯(lián)鎖設(shè)備的公共屬性配置信息會(huì)在操作過程中根據(jù)需要進(jìn)行修改,如進(jìn)路排出、車列走行通過時(shí),信號(hào)機(jī)關(guān)閉延遲時(shí)間,區(qū)段的解鎖延遲時(shí)間等;又如區(qū)段分路不良模擬延長(zhǎng)時(shí)間的設(shè)定等。為了達(dá)到各種參數(shù)下的模擬仿真,使用了設(shè)計(jì)模式中的單例singleton模式來(lái)實(shí)現(xiàn)。

一般方法是使用全局變量來(lái)記錄配置信息,但這樣一來(lái)會(huì)破壞模塊封裝,不易于復(fù)用。而根據(jù)單例模式的特點(diǎn),其標(biāo)準(zhǔn)簡(jiǎn)化圖如圖3所示,將各種公共配置信息singletonData均填入一個(gè)單例類singleton中,因?yàn)閱卫愔挥?個(gè)實(shí)例 uniqueInstance,且是自己創(chuàng)建自己的惟一實(shí)例,提供一個(gè)全局訪問點(diǎn)Instance()。使用者在獲取這個(gè)實(shí)例后,使用類中提供訪問公共配置信息的函數(shù)GetS-ingletonData(),即可訪問到所需要的信息。這樣既消除了全局變量,封裝了變化,又實(shí)現(xiàn)了參數(shù)訪問。

圖3 singleton模式的標(biāo)準(zhǔn)簡(jiǎn)化圖

4 站場(chǎng)聯(lián)鎖設(shè)備多層結(jié)構(gòu)實(shí)現(xiàn)

4.1 多層結(jié)構(gòu)方式

針對(duì)站場(chǎng)每個(gè)設(shè)備,設(shè)置了不同層次數(shù)據(jù)信息,如圖4所示,即對(duì)應(yīng)每一個(gè)站場(chǎng)設(shè)備可對(duì)應(yīng)多個(gè)屬性頁(yè)。站場(chǎng)圖中,如道岔、信號(hào)機(jī)、股道、無(wú)岔區(qū)段、應(yīng)答器等,每一個(gè)設(shè)備均可作為1個(gè)設(shè)備實(shí)體,每個(gè)設(shè)備實(shí)體可具備多個(gè)設(shè)備屬性頁(yè)(如顯示層、模擬層、控制層等),設(shè)備屬性頁(yè)也能獲知自己是屬于哪個(gè)設(shè)備實(shí)體的。各屬性頁(yè)(即各個(gè)層)以基類“設(shè)備屬性頁(yè)”為父類,各個(gè)層次間彼此獨(dú)立,但可以通過設(shè)備實(shí)體進(jìn)行溝通,其好處是可以把描述設(shè)備的不同屬性獨(dú)立開單獨(dú)進(jìn)行考慮,便于各自屬性的獨(dú)自擴(kuò)展。

圖4 站場(chǎng)設(shè)備實(shí)現(xiàn)對(duì)應(yīng)的UML簡(jiǎn)化類圖

典型的各層信息如下:①顯示層,主要完成各個(gè)設(shè)備在站場(chǎng)圖中的顯示特性,儲(chǔ)存設(shè)備相關(guān)坐標(biāo)、點(diǎn)、線的顏色等,并顯示出設(shè)備,組成站場(chǎng)信號(hào)平面示意圖;②命令層,聯(lián)鎖設(shè)備操作命令的發(fā)布,可針對(duì)道岔、區(qū)段或信號(hào)機(jī)等;③鏈路層,主要實(shí)現(xiàn)設(shè)備串聯(lián)功能,表示設(shè)備的相互間連接關(guān)系,用于搜索進(jìn)路等;④控制層,記錄與聯(lián)鎖邏輯相關(guān)的設(shè)備狀態(tài),并進(jìn)行聯(lián)鎖邏輯判定;⑤模擬層,記錄設(shè)備的模擬狀態(tài)。

4.2 多層方式下聯(lián)鎖設(shè)備操作和狀態(tài)模擬流程

1.設(shè)備的命令流程。以道岔操作為例,如道岔扳動(dòng)命令的執(zhí)行,當(dāng)執(zhí)行道岔相關(guān)菜單中道岔由定位轉(zhuǎn)到反位的命令時(shí),道岔顯示層提供接口,點(diǎn)擊菜單道岔反位命令項(xiàng),通過實(shí)體層通知命令層將命令發(fā)布給控制層,控制層根據(jù)當(dāng)前站場(chǎng)聯(lián)鎖邏輯判斷是否可行,若可行,告知模擬層進(jìn)行模擬,而后控制層再通過設(shè)備實(shí)體獲取模擬層狀態(tài),并告知顯示層顯示成新的道岔狀態(tài)。

2.設(shè)備狀態(tài)模擬流程。以無(wú)岔區(qū)段操作為例,如模擬區(qū)段占用流程。首先通過鼠標(biāo)點(diǎn)觸區(qū)段或有模擬車列壓上區(qū)段,則通過人機(jī)接口觸發(fā)區(qū)段模擬層,將區(qū)段的模擬層屬性置為占用,而后控制層通過即時(shí)獲取模擬層信息后,通知GUI顯示層將占用狀態(tài)顯示出來(lái)。

3.設(shè)備狀態(tài)顯示流程。為方便展示站場(chǎng)各個(gè)設(shè)備具體的聯(lián)鎖運(yùn)作狀態(tài),可把鼠標(biāo)移動(dòng)到站場(chǎng)設(shè)備之上,模塊會(huì)自動(dòng)以文字氣球框的形式展示相應(yīng)設(shè)備的各種屬性,如聯(lián)鎖控制狀態(tài)屬性、鏈路屬性、模擬屬性 (當(dāng)前是否有車列占用)等。實(shí)現(xiàn)方式是:當(dāng)鼠標(biāo)移動(dòng)到相應(yīng)的設(shè)備,首先獲取相應(yīng)的設(shè)備實(shí)體,通過設(shè)備實(shí)體可以遍歷自身的多個(gè)屬性頁(yè),訪問到對(duì)應(yīng)此實(shí)體的顯示層、命令層、鏈路層、控制層及模擬層等各層設(shè)備信息。

5 進(jìn)路操作的各種模擬實(shí)現(xiàn)

5.1 進(jìn)路開通模擬流程

1.點(diǎn)擊始端、終端信號(hào)機(jī),此時(shí)系統(tǒng)會(huì)根據(jù)所按的信號(hào)機(jī)按鈕,自動(dòng)搜索其間的進(jìn)路,將所有當(dāng)前可開進(jìn)路羅列于進(jìn)路搜索結(jié)果中,由用戶自己選擇所要的進(jìn)路。進(jìn)路信息中包含途經(jīng)的信號(hào)機(jī)、道岔、無(wú)岔區(qū)段、股道和所要排列的進(jìn)路類型,模塊會(huì)將選擇的進(jìn)路放入待排進(jìn)路集合中。當(dāng)然若是能夠直接確定進(jìn)路線路和類型,模塊會(huì)直接將進(jìn)路信息放入待排進(jìn)路集合中準(zhǔn)備排放進(jìn)路。

2.從待排進(jìn)路集合中取出待排進(jìn)路,發(fā)送待排進(jìn)路中必要的道岔扳動(dòng)命令,等待道岔扳動(dòng)到位。

3.待所有道岔到位后,發(fā)送區(qū)段鎖閉命令。

4.待區(qū)段鎖閉后,向進(jìn)路中途徑的阻擋信號(hào)機(jī)發(fā)送開放命令。

5.待信號(hào)機(jī)由遠(yuǎn)及近開放后,進(jìn)路開通完成。

6.將已開通的進(jìn)路存入已排進(jìn)路集合,并從待排進(jìn)路集合中刪除。

7.若待排進(jìn)路排列超出規(guī)定時(shí)間,則從待排進(jìn)路集合中刪除該待排進(jìn)路。

5.2 進(jìn)路取消模擬流程

1.將鼠標(biāo)移至進(jìn)路始端信號(hào)機(jī)處,右彈菜單,即有取消進(jìn)路選項(xiàng),點(diǎn)中。

2.從已排進(jìn)路集合中查找到對(duì)應(yīng)的進(jìn)路,置進(jìn)路準(zhǔn)備取消標(biāo)志。

3.發(fā)送進(jìn)路中的關(guān)閉信號(hào)機(jī)命令。

4.待信號(hào)機(jī)關(guān)閉,發(fā)送進(jìn)路中區(qū)段解鎖命令。

5.待區(qū)段解鎖后,進(jìn)路取消完成。

6.將已取消的進(jìn)路從已排進(jìn)路集合中刪除。

7.若取消進(jìn)路操作超出規(guī)定時(shí)間,則在已排進(jìn)路集合中將進(jìn)路準(zhǔn)備取消標(biāo)志清除。

當(dāng)然,上述進(jìn)路開通和進(jìn)路取消所有等待操作均使用異步完成的方法來(lái)實(shí)現(xiàn),即使用一個(gè)定時(shí)器,定時(shí)對(duì)排進(jìn)路集合中進(jìn)路的取消進(jìn)行狀態(tài)監(jiān)控,在不同的狀態(tài)條件下,根據(jù)上述流程進(jìn)行對(duì)應(yīng)處理。

5.3 進(jìn)路自動(dòng)解鎖

進(jìn)路開通后,通過人工依次點(diǎn)觸進(jìn)路區(qū)段或通過后續(xù)的車列模擬模塊中“走行自動(dòng)模擬”,來(lái)模擬區(qū)段的占用或出清過程,隨之進(jìn)路會(huì)正常解鎖。處理步驟如下。

1.關(guān)閉信號(hào)機(jī)。對(duì)于調(diào)車進(jìn)路,車列全部進(jìn)入信號(hào)機(jī)內(nèi)方 (接近區(qū)段不留車),信號(hào)機(jī)方能關(guān)閉;或者出清信號(hào)機(jī)內(nèi)方第一區(qū)段后 (接近區(qū)段留有車輛),信號(hào)機(jī)方能關(guān)閉。對(duì)于列車進(jìn)路,只要車列一進(jìn)入防護(hù)信號(hào)機(jī)內(nèi)方,信號(hào)機(jī)就立即關(guān)閉。

2.進(jìn)路自動(dòng)解鎖。針對(duì)每一軌道區(qū)段進(jìn)行三點(diǎn)邏輯檢查,即接近區(qū)段已經(jīng)解鎖,本區(qū)段曾占用過后又出清,它的離去區(qū)段被占用。條件滿足后,發(fā)布并執(zhí)行區(qū)段解鎖命令。

5.4 故障解鎖

當(dāng)判明進(jìn)路區(qū)段被使用過,但進(jìn)路中區(qū)段不正常解鎖時(shí),在點(diǎn)擊進(jìn)路中未解鎖區(qū)段的故障解鎖菜單項(xiàng)后,就會(huì)發(fā)布并執(zhí)行區(qū)段解鎖命令,以去除區(qū)段上未正常解鎖的白光帶。

6 結(jié)束語(yǔ)

聯(lián)鎖模擬模塊經(jīng)過測(cè)試,能正確反映聯(lián)鎖設(shè)備的基本狀態(tài)變化。作為調(diào)車監(jiān)控系統(tǒng)模擬測(cè)試平臺(tái)中的一部分,聯(lián)鎖模擬模塊在項(xiàng)目準(zhǔn)備期,可作為控制系統(tǒng)出廠的測(cè)試工具;在項(xiàng)目中期,可作為控制系統(tǒng)在實(shí)驗(yàn)室再現(xiàn)現(xiàn)場(chǎng)發(fā)生現(xiàn)象的手段。到目前,經(jīng)平臺(tái)測(cè)試出廠的系統(tǒng)產(chǎn)品近百套,應(yīng)用于全國(guó)各鐵路局的集中區(qū)調(diào)車場(chǎng)中。

聯(lián)鎖模擬模塊豐富的外接接口,也可以方便地移植到其他任何以聯(lián)鎖系統(tǒng)為外接系統(tǒng)作為調(diào)試接口進(jìn)行使用。

[1] 高繼祥.鐵路信號(hào)運(yùn)營(yíng)基礎(chǔ)[M] .北京:中國(guó)鐵道出版社,1998,2.

[2] 徐建國(guó),張福祥.車站計(jì)算機(jī)聯(lián)鎖[M] .北京:中國(guó)鐵道出版社,2005,6.

[3] Erich Gamma Richard Helm Ralph Johnson John Vlissides(著).李英軍,馬曉星,蔡敏,劉建中(譯).設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M] .北京:機(jī)械工業(yè)出版社,2000,7.

[4] DavidJ.Kruglinski(著).潘愛民,王國(guó)印(譯).Visual C++技術(shù)內(nèi)幕[M] .第4版.北京:清華大學(xué)出版社,2001,4.

猜你喜歡
設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
調(diào)試新設(shè)備
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
電子制作(2018年10期)2018-08-04 03:24:48
食之無(wú)味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
HTC斥資千萬(wàn)美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
如何在設(shè)備采購(gòu)中節(jié)省成本
主站蜘蛛池模板: 伊伊人成亚洲综合人网7777| 久久综合五月| 午夜色综合| 国产在线精品99一区不卡| 亚洲欧洲美色一区二区三区| 国产偷国产偷在线高清| 精品福利一区二区免费视频| 免费国产黄线在线观看| 中文字幕亚洲另类天堂| 成人一级黄色毛片| 中文字幕在线播放不卡| 欧美成人午夜在线全部免费| 欧美在线精品怡红院| 一本色道久久88| 日韩少妇激情一区二区| 国产精品手机在线播放| 波多野结衣爽到高潮漏水大喷| 亚洲乱亚洲乱妇24p| 免费国产无遮挡又黄又爽| 亚洲高清在线天堂精品| 亚洲欧美人成电影在线观看| 婷婷激情亚洲| 国产精品主播| 亚洲精品国产成人7777| 国模私拍一区二区三区| 中文国产成人精品久久| 国内精品久久久久鸭| 国产精品一区在线麻豆| 中文字幕在线一区二区在线| 五月婷婷综合网| 无码专区在线观看| 久青草免费在线视频| 91啦中文字幕| 欧美日韩理论| 91啦中文字幕| 欧美色亚洲| 波多野结衣久久精品| 国产精品女主播| 国产区免费| 午夜免费视频网站| 中文字幕在线观看日本| 国产精品自在在线午夜区app| 国产日韩精品欧美一区灰| 风韵丰满熟妇啪啪区老熟熟女| 一区二区三区国产精品视频| 日韩国产 在线| 91po国产在线精品免费观看| 国产成人精品亚洲日本对白优播| 99久久精品免费视频| 91成人免费观看| 91国内视频在线观看| 成人福利视频网| 国产精品99久久久| 午夜日韩久久影院| 国产激爽爽爽大片在线观看| 一级毛片在线播放| 亚洲无码视频一区二区三区 | 久久久久久尹人网香蕉 | 偷拍久久网| 91成人在线免费观看| 另类欧美日韩| 99热线精品大全在线观看| 91国内在线视频| 成人午夜视频免费看欧美| 国产一区二区网站| 日韩专区欧美| 国产迷奸在线看| 日韩a级毛片| 国产新AV天堂| 国产亚洲高清视频| 久久九九热视频| 美女高潮全身流白浆福利区| 国产精品视频a| 日韩无码黄色| 亚洲精品桃花岛av在线| 456亚洲人成高清在线| 四虎免费视频网站| 真人免费一级毛片一区二区| 日韩免费毛片视频| 美女无遮挡免费网站| 国产综合无码一区二区色蜜蜜| 中国美女**毛片录像在线|