張 星 劉 巍 張建國 付道俊
(武漢第二船舶設(shè)計(jì)研究所 武漢 430064)
?
一種基于VxWorks的電磁閥控制系統(tǒng)設(shè)計(jì)*
張星劉巍張建國付道俊
(武漢第二船舶設(shè)計(jì)研究所武漢430064)
電磁閥廣泛應(yīng)用于各控制領(lǐng)域,隨著對(duì)控制要求的不斷提高,實(shí)時(shí)、準(zhǔn)確、可靠的閥控系統(tǒng)是一大難題。論文提出一種基于VxWorks的閥件控制系統(tǒng),詳細(xì)介紹了其軟硬件設(shè)計(jì),并驗(yàn)證了其高性能。
電磁閥;控制系統(tǒng);VxWorks
Class NumberTP311
VxWorks是美國Wind River公司開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)[1~2]。憑借其良好的持續(xù)發(fā)展能力、高性能系統(tǒng)內(nèi)核、高效的任務(wù)管理、靈活的任務(wù)通訊機(jī)制、友好的集成開發(fā)環(huán)境[6~9]等優(yōu)點(diǎn)成為實(shí)時(shí)操作系統(tǒng)中較為優(yōu)秀的操作系統(tǒng)之一,被廣泛地應(yīng)用在通信、軍事、航空、航天、船舶及工業(yè)控制等高精尖技術(shù)以及實(shí)時(shí)性要求極高的領(lǐng)域中。
電磁閥適用于各種液體、氣體等管路的自動(dòng)控制,廣泛應(yīng)用于軍工、航天、船舶重工、核工業(yè)、石化等領(lǐng)域,是極其關(guān)鍵的執(zhí)行機(jī)件,其控制系統(tǒng)的實(shí)時(shí)性、準(zhǔn)確性、可靠性影響整個(gè)系統(tǒng)的性能[5]。
本閥件控制系統(tǒng)硬件組成如圖1,主要包括計(jì)算機(jī)單元、執(zhí)行單元、閥件單元以及外部采集輸入。
圖1 閥件控制系統(tǒng)硬件組成圖
計(jì)算機(jī)單元是本系統(tǒng)的控制核心,主要功能是初始化各接口及加載設(shè)備驅(qū)動(dòng),協(xié)調(diào)多任務(wù)調(diào)度,為應(yīng)用程序提供運(yùn)行環(huán)境。其組成包括CPU模塊、CAN總線接口模塊、人機(jī)操控模塊和數(shù)據(jù)采集模塊等。CPU模塊負(fù)責(zé)程序加載、任務(wù)調(diào)度,運(yùn)行VxWorks5.5.1操作系統(tǒng),應(yīng)用軟件運(yùn)行其上;CAN總線接口模塊負(fù)責(zé)與執(zhí)行單元進(jìn)行CAN通信[10],通過執(zhí)行單元控制閥件單元執(zhí)行開關(guān)動(dòng)作并獲取閥件單元開關(guān)狀態(tài);人機(jī)操控模塊主要負(fù)責(zé)執(zhí)行輸入,給用戶手動(dòng)控制閥件單元提供入口;數(shù)據(jù)采集模塊用來采集外部輸入,依外部采集輸入以及閥件單元狀態(tài)輸入作用閥件控制的判據(jù)。
執(zhí)行單元是本系統(tǒng)的執(zhí)行機(jī)構(gòu),它為電磁閥提供電壓,通過CAN總線接收計(jì)算機(jī)單元的控制命令以控制閥件開關(guān)動(dòng)作,并且將檢測的閥件狀態(tài)通過CAN總線反饋至計(jì)算機(jī)單元。該執(zhí)行單元優(yōu)勢在于群控功能和讀閥件狀態(tài)功能。群控可以同時(shí)輸出多個(gè)閥件的開關(guān)動(dòng)作,大大提升了控制效率;讀取閥件狀態(tài)功能可通過總線命令讀取各CAN通道對(duì)應(yīng)電磁閥的電流值,在電流異常時(shí)可在計(jì)算機(jī)單元實(shí)現(xiàn)的界面中提示報(bào)警,如此提升了控制的安全可靠性。
閥件單元實(shí)體為電磁閥,受系統(tǒng)控制開關(guān)以滿足液體或氣體等管路的控制要求;采集輸入實(shí)體可能為外部外部壓力、指示開關(guān)狀態(tài)等,用以作為自動(dòng)控制的判據(jù)。
本系統(tǒng)應(yīng)用程序基于VxWorks實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn),圖形界面基于WindMl實(shí)現(xiàn)[3~4,6]。由于操作系統(tǒng)版本是VxWorks5.5.1,采用Tornad集成開發(fā)環(huán)境,使用C/C++語言實(shí)現(xiàn)應(yīng)用軟件編程。
系統(tǒng)軟件可分為初始化模塊、數(shù)據(jù)采集模塊、流程控制模塊、界面顯示模塊和數(shù)據(jù)存儲(chǔ)模塊,其軟件流程圖如圖2所示。系統(tǒng)啟動(dòng)后,依次執(zhí)行初始化、啟動(dòng)定時(shí)器、數(shù)據(jù)采集、流程控制、數(shù)據(jù)存儲(chǔ)、界面顯示任務(wù),定時(shí)器到期后重新啟動(dòng)并設(shè)置定時(shí)器,循環(huán)執(zhí)行數(shù)據(jù)采集、流程控制、數(shù)據(jù)存儲(chǔ)和界面顯示模塊。
圖2 軟件流程圖
首先進(jìn)行初始化,初始化緩沖區(qū)、圖形界面、CAN驅(qū)動(dòng)、數(shù)據(jù)采集模塊驅(qū)動(dòng)、人機(jī)操控模塊驅(qū)動(dòng)。初始化完畢后,啟動(dòng)定時(shí)器,設(shè)置程序運(yùn)行周期。初始化模塊流程圖如圖3。
其后是數(shù)據(jù)采集模塊,包括CAN采集信息、外部輸入采集信息、人機(jī)操控信息。CAN采集信息主要是接收來自執(zhí)行單元的閥件開關(guān)狀態(tài);外部輸入采集信息接收采集輸入的狀態(tài),包括壓力等信息,針對(duì)不同類型數(shù)據(jù)采用不同濾波去抖方式,以增強(qiáng)系統(tǒng)的抗干擾能力;人機(jī)操控信息接收來自人機(jī)操控模塊的外部人為按鍵輸入。數(shù)據(jù)采集模塊采用緩沖區(qū)方式實(shí)現(xiàn),將采集的各類信息首先緩存至緩沖區(qū),然后不同的任務(wù)函數(shù)觸發(fā)讀取緩沖區(qū)內(nèi)容,以防止數(shù)據(jù)缺失,確保系統(tǒng)的安全性。
圖3 初始化流程圖
圖4 數(shù)據(jù)采集模塊流程圖
流程控制模塊采用狀態(tài)機(jī)控制實(shí)現(xiàn),根據(jù)人機(jī)操控輸入進(jìn)入不同模式和不同流程,執(zhí)行不同的控制任務(wù),以完成閥件系統(tǒng)的控制要求。
數(shù)據(jù)存儲(chǔ)模塊用來記錄流程中每一周期時(shí)刻的閥件狀態(tài)及外部采集輸入等信息,以便用戶回溯。該數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)文件的自動(dòng)生成及命名。通過讀取時(shí)鐘,將系統(tǒng)BIOS時(shí)間信息作為存儲(chǔ)文件的文件名,如“20160712160826.dat”,表示2016年7月12日16時(shí)08分26秒開始存儲(chǔ)的數(shù)據(jù)。這樣不僅自動(dòng)生成存儲(chǔ)文件,而且易于讓用戶判斷數(shù)據(jù)存儲(chǔ)的時(shí)間,提供極大便利。
界面顯示模塊基于WindMl實(shí)現(xiàn),主背景使用貼圖方式實(shí)現(xiàn),在背景圖基礎(chǔ)上實(shí)現(xiàn)各種控件,以滿足顯示需求;在控制流程中若有閥件異常,界面提示框會(huì)根據(jù)異常情況顯示不同提示信息,并著色醒目提示。
本閥件控制系統(tǒng)通過采用VxWorks操作系統(tǒng)實(shí)現(xiàn),構(gòu)建基于計(jì)算機(jī)單元的高性能計(jì)算控制平臺(tái),以滿足系統(tǒng)的實(shí)時(shí)性、準(zhǔn)確性要求。系統(tǒng)采用模塊化設(shè)計(jì),可擴(kuò)展性強(qiáng),同時(shí)也有較好的可靠性。本文將實(shí)現(xiàn)的閥件控制系統(tǒng)在實(shí)際應(yīng)用環(huán)境中測試驗(yàn)證,試驗(yàn)表明該系統(tǒng)控制效率高,具有很強(qiáng)的實(shí)時(shí)性、可靠性和準(zhǔn)確性,完全滿足設(shè)計(jì)使用要求。
[1]王學(xué)龍.嵌入式VxWorks系統(tǒng)開發(fā)與應(yīng)用[M].北京:人民郵電出版社,2003:1-8.
[2]孔祥營,柏桂枝.嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks及其開發(fā)環(huán)境Tornado[M].北京:中國電力出版社,2001:1-5.
[3]Wind River System Inc.VxWorks Programmer’s Guide[M].1999:1-18.
[4]Wind River System Inc.BSP Developer’s Kit for VxWorks[M].USA,1999:1-2.
[5]胡志強(qiáng).油、氣工業(yè)對(duì)閥門市場的影響[J].通用機(jī)械,2005(2):12-15.
[6]陳養(yǎng)平.基于VxWorks的實(shí)時(shí)多任務(wù)軟件設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2002(10):10-12.
[7]程敬原,宋克柱,安琪.VxWorks下基于緩沖隊(duì)列的全雙工網(wǎng)絡(luò)通訊[J].計(jì)算機(jī)工程與應(yīng)用,2004,12(4):15-17.
[8]彭華,沈?yàn)槿?宋子善.一種基于VxWorks的飛行仿真實(shí)時(shí)管理系統(tǒng)[J].系統(tǒng)仿真學(xué)報(bào),2003,17(6):4-6.
[9]張長全.VxWorks操作系統(tǒng)在測控設(shè)備中的應(yīng)用[J].裝備指揮技術(shù)學(xué)院學(xué)報(bào),2006(4):18-121.
[10]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2002:1-5.
Design of A Solenoid Valve Control System Based on VxWorks
ZHANG XingLIU WeiZHANG JianguoFU Daojun
(Wuhan Second Ship Design and Research Institute,Wuhan430064)
Solenoid valves are widely used in various control fields.As the control demand enhances,designing a solenoid valve control system with real-timing,accuracy and reliability becomes a key question.This paper proposes a solenoid valve control system based on VxWorks,describes its hardware and software design in detail.The result of tests shows that the control system is of high performance.
solenoid valve,control system,VxWorks
2016年3月10日,
2016年4月28日
張星,男,博士,工程師,研究方向:自動(dòng)控制及計(jì)算機(jī)體系結(jié)構(gòu)。劉巍,男,工程師,研究方向:艦船電子武備技術(shù)。張建國,男,博士,工程師,研究方向:艦船電磁兼容技術(shù)與試驗(yàn)。付道俊,男,碩士,高級(jí)工程師,研究方向:艦船電子武備技術(shù)。
TP311DOI:10.3969/j.issn.1672-9730.2016.09.037