亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ADAM I/O模塊在電推進(jìn)試驗(yàn)系統(tǒng)中的應(yīng)用

        2016-01-27 03:44:52邢敬宏龔成瑩
        無(wú)線電工程 2015年12期
        關(guān)鍵詞:多線程

        何 輝,邢敬宏,龔成瑩

        (蘭州工業(yè)學(xué)院 信息中心,甘肅 蘭州 730050)

        ?

        ADAMI/O模塊在電推進(jìn)試驗(yàn)系統(tǒng)中的應(yīng)用

        何輝,邢敬宏,龔成瑩

        (蘭州工業(yè)學(xué)院 信息中心,甘肅 蘭州 730050)

        摘要針對(duì)電推進(jìn)地面試驗(yàn)對(duì)供氣系統(tǒng)的要求,利用研華以太網(wǎng)I/O模塊對(duì)壓縮氣體進(jìn)行有效測(cè)控?;?NET框架,用后臺(tái)異步任務(wù)BackgroundWorker對(duì)象實(shí)現(xiàn)對(duì)多工位I/O的多線程測(cè)控,采用一種時(shí)間片輪轉(zhuǎn)的方法提高對(duì)I/O模塊的控制效率和軟件的操控友好性。給出了設(shè)計(jì)思路和實(shí)現(xiàn)方法。測(cè)試結(jié)果表明,系統(tǒng)能夠?qū)庀到y(tǒng)進(jìn)行準(zhǔn)確控制,提高了試驗(yàn)數(shù)據(jù)的可靠性。

        關(guān)鍵詞ADAM;異步任務(wù);多線程;供氣系統(tǒng)

        ApplicationofADAMI/OModuleinElectric

        PropulsionTestSystem

        HEHui,XINGJing-hong,GONGCheng-ying

        (Information Center,Lanzhou Institute of Technology,Lanzhou Gansu 730050,China)

        AbstractInviewoftherequirementsofelectricpropulsiontestsystemforgassupplysystem,aneffectivemeasurementandcontrolisperformedforcompressedgasbyusingAdvantechEthernetI/Omodules.Basedon.NETframework,themulti-threadmeasurementforthemulti-stationADAMI/OisimplementedbyBackgroundWorkerobject,atimecyclemethodisusedtoimprovethecontrolefficiencyanduser-friendlyinterfacesofsoftware.Thedesignideaandimplementationmethodaregiven.Thepracticalapplicationshowsthatthissystemcancarryontheaccuratecontrolforgassupplysystem,improvethereliabilityoftestdata.

        KeywordsADAM;asynchronoustask;multi-thread;gassupplysystem

        0引言

        在電推進(jìn)設(shè)備的地面試驗(yàn)系統(tǒng)中,利用直流放電產(chǎn)生電子轟擊工質(zhì),使工質(zhì)受到電離生成離子,離子在靜電場(chǎng)作用下加速噴出,進(jìn)而產(chǎn)生反作用推力。試驗(yàn)環(huán)境下,推力器使用易電離的物質(zhì)作為工質(zhì),由于惰性氣體氙具有化學(xué)性質(zhì)穩(wěn)定、原子量較大、電離電壓低和便于壓縮貯存的特點(diǎn),因此多采用氙氣作為推力器的工質(zhì)[1-3],但是,氙屬于稀有氣體,資源較少,在試驗(yàn)系統(tǒng)中就需要精確控制使用量。根據(jù)試驗(yàn)需求,采用研華ADAM以太網(wǎng)I/O模塊對(duì)氣路狀態(tài)進(jìn)行采集和控制,基于TCP/IP通訊方式,在.NET平臺(tái)下,利用多線程機(jī)制對(duì)氣路進(jìn)行準(zhǔn)確測(cè)控。使用計(jì)算機(jī)控制后的試驗(yàn)系統(tǒng),對(duì)傳統(tǒng)的手工試驗(yàn)控制和實(shí)驗(yàn)數(shù)據(jù)記錄方式進(jìn)行改進(jìn),氣路測(cè)控?cái)?shù)據(jù)準(zhǔn)確,降低了試驗(yàn)人員的工作強(qiáng)度。

        1系統(tǒng)設(shè)計(jì)

        系統(tǒng)框圖如圖1所示,由氣瓶引出2路氙氣供給放電室,要求對(duì)氣瓶的各種壓力參數(shù)進(jìn)行采集,對(duì)2路氣體的流率值進(jìn)行測(cè)量和設(shè)定,利用電磁閥控制2路氣體輸出的通斷。圖1中的氣瓶壓力信號(hào)只需采集不用控制,2路氣體需要進(jìn)行實(shí)時(shí)采集和控制,電磁閥用來(lái)控制氣路的通斷,要使用開(kāi)關(guān)量控制,所有指令都由運(yùn)行在工控機(jī)上的測(cè)控軟件控制執(zhí)行[4]。

        圖1 系統(tǒng)框圖

        利用研華ADAM-6000系列以太網(wǎng)I/O模塊進(jìn)行信號(hào)的采集與控制,如圖1所示,ADAM模塊都通過(guò)RJ45網(wǎng)口連接到交換機(jī)上接受控制系統(tǒng)的管理。

        1.1ADAM-6000以太網(wǎng)I/O模塊

        ADAM-6000以太網(wǎng)I/O模塊是基于以太網(wǎng)的遠(yuǎn)程數(shù)據(jù)采集模塊[5],提供模擬量輸入及輸出、數(shù)字量輸入及輸出、繼電器輸出及計(jì)數(shù)器接口,其特點(diǎn)如下:

        ① 具有工業(yè)以太網(wǎng)通訊基準(zhǔn),ADAM-6000模塊支持TCP/IP及UDP協(xié)議,支持Modbus協(xié)議;

        ② 具備智能型邏輯運(yùn)算功能,提供內(nèi)建的控制運(yùn)算邏輯與數(shù)學(xué)程序,以便立即執(zhí)行線程控制策略,簡(jiǎn)化了中央監(jiān)控主機(jī)的運(yùn)算負(fù)荷;

        ③ 采用最佳化I/O群組設(shè)計(jì),根據(jù)應(yīng)用向?qū)У母拍钤O(shè)計(jì)I/O群組,I/O模塊與監(jiān)控設(shè)備一對(duì)一搭配使用,使I/O系統(tǒng)的應(yīng)用達(dá)到最佳化,同時(shí)減少工程和維護(hù)成本;

        ④ 提供HMI瀏覽器接口,不僅提供標(biāo)準(zhǔn)網(wǎng)頁(yè)監(jiān)控HMI接口,也具備可訂制的網(wǎng)頁(yè)編輯接口,便于用戶通過(guò)瀏覽器遠(yuǎn)程測(cè)控。

        1.2I/O模塊選型

        根據(jù)系統(tǒng)設(shè)計(jì),圖1中的氣瓶壓力信號(hào)是線性模擬量,由專門(mén)的氣體壓力測(cè)量裝置進(jìn)行信號(hào)采集,其輸出結(jié)果是4~20mA的電流信號(hào);通往放電室的2路氣體的流率也由專用測(cè)控裝置控制,其輸出亦是4~20mA的電流信號(hào);電磁閥使用開(kāi)關(guān)量控制[6]。

        1.2.1氣瓶壓力采集

        共有5個(gè)壓力信號(hào),分別是氣瓶壓力、一級(jí)壓力、二級(jí)壓力、入口壓力和出口壓力,均為模擬量信號(hào)。因此,選擇16位A/D、具有8通道模擬量輸入的ADAM-6017以太網(wǎng)I/O模塊進(jìn)行信號(hào)采集。

        1.2.2放電室氣路測(cè)控

        要求對(duì)2路氣體的流率進(jìn)行采集和控制,因此選擇具有6通道模擬量輸入和2通道模擬量輸出的ADAM-6024以太網(wǎng)I/O模塊,其輸入通道的分辨率能夠達(dá)到16位,支持+/-10V電壓、0~20mA電流、4~40mA電流輸入輸出。

        1.2.3氣瓶壓力采集

        使用繼電器對(duì)電磁閥進(jìn)行通斷控制,因此選擇帶6通道數(shù)字量輸出與6路繼電器ADAM-6066以太網(wǎng)I/O模塊。

        1.3ADAM模塊程序控制

        借助于工具AdvantechAdam/Apax.NETUtility,可以對(duì)ADAM模塊進(jìn)行初始化配置和常規(guī)的I/O控制,同時(shí),ADAM模塊提供了豐富的程序設(shè)計(jì)接口,.NET環(huán)境下,調(diào)用Advantech.Adam類庫(kù)對(duì)模塊進(jìn)行控制,便于開(kāi)發(fā)人員靈活使用。ADAM的程序控制基本流程如圖2所示[7,8]。

        圖2 ADAM模塊基本控制流程

        2模塊應(yīng)用

        在微軟.NET平臺(tái)下應(yīng)用ADAM以太網(wǎng)I/O模塊到電推進(jìn)系統(tǒng)的氣路控制中,利用多線程機(jī)制,對(duì)氣瓶和氣體流量進(jìn)行精確測(cè)控。

        2.1基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)

        根據(jù)試驗(yàn)系統(tǒng)對(duì)氣路控制的要求,為ADAM模塊的I/O參數(shù)定義公共類型的數(shù)據(jù)結(jié)構(gòu),作為測(cè)控?cái)?shù)據(jù)的收發(fā)緩沖區(qū)。

        ′Adam緩沖區(qū)結(jié)構(gòu)體

        PublicStructureadamValue

        ′模擬量輸入寄存器

        PublicAi(,)AsSingle

        PublicAiValue()AsSingle′濾波后值

        PublicAiFilterCNT()AsInteger′濾波數(shù)組

        ′模擬量輸出寄存器

        PublicAo()AsSingle

        ′數(shù)字量輸入寄存器

        PublicDi()AsBoolean

        ′數(shù)字量(繼電器)輸出寄存器

        PublicDoo()AsBoolean

        ′模擬量輸出值A(chǔ)O

        PublicAoOutput()AsValueEnable

        ′數(shù)字量輸出值DO

        PublicDoOutput()AsValueEnable

        EndStructure

        其中ValueEnable為結(jié)構(gòu)體類型,其成員如表1所示,程序控制時(shí),可由enable成員決定是否輸出成員value。

        表1 結(jié)構(gòu)體成員

        2.2基于后臺(tái)任務(wù)的測(cè)控

        ADAM-6000系列使用以太網(wǎng)方式進(jìn)行I/O控制,因此對(duì)其進(jìn)行TCP/IP操作時(shí)需要一定的響應(yīng)時(shí)間,另一方面ADAM模塊在進(jìn)行I/O處理時(shí)也需要一定的時(shí)間,這樣就增加了整個(gè)系統(tǒng)的處理延遲;同時(shí),系統(tǒng)在同一時(shí)間要處理對(duì)多個(gè)ADAM的操作,所有延時(shí)累加在一起就是一筆不小的時(shí)間花銷,若使用傳統(tǒng)的單線程方式進(jìn)行程控,就會(huì)帶來(lái)用戶操作界面停滯,程序出現(xiàn)“假死”的現(xiàn)象[9]。

        為解決上述問(wèn)題,采用多線程方式在系統(tǒng)后臺(tái)對(duì)ADAM模塊進(jìn)行操作。在.NET平臺(tái)下可以使用Thread類實(shí)現(xiàn)多線程,多個(gè)ADAM控制線程可以放在線程池中完成,但是這種方式控制起來(lái)較為麻煩,需要程序更多地考慮線程鎖定、線程同步、多線程管理以及死鎖等問(wèn)題,并且只能使用委托方式與用戶界面進(jìn)行交互,這就給開(kāi)發(fā)人員帶來(lái)一定的困惑,從而不能將主要精力放在控制系統(tǒng)的實(shí)現(xiàn)上。.NET還提供一種基于后臺(tái)線程的BackgroundWorker類(以后簡(jiǎn)稱為后臺(tái)任務(wù))來(lái)實(shí)現(xiàn)多線程[10]。

        后臺(tái)任務(wù)用來(lái)執(zhí)行諸如I/O訪問(wèn)、數(shù)據(jù)庫(kù)事務(wù)和文件下載等耗時(shí)的異步操作,作為Visual Studio的標(biāo)準(zhǔn)控件,使用十分方便,如圖3所示。

        圖3 后臺(tái)任務(wù)執(zhí)行流程

        使用后臺(tái)任務(wù)時(shí),首先調(diào)用BackgroundWorker的RunWorkerAsync方法,通過(guò)觸發(fā)DoWork事件,開(kāi)始執(zhí)行后臺(tái)操作,DoWork事件將在另一個(gè)線程中執(zhí)行的;為了顯示后臺(tái)任務(wù)的執(zhí)行進(jìn)度,可以調(diào)用BackgroundWorker的ReportProgress方法,通過(guò)它傳遞后臺(tái)任務(wù)的進(jìn)度值,此外,該方法會(huì)觸發(fā)ProgressChanged事件,在此事件中,通過(guò)ProgressChanged-EventArgs的實(shí)例,接收主線程傳遞來(lái)的參數(shù);BackgroundWorker也可以取消正在執(zhí)行的后臺(tái)任務(wù),將屬性WorkerSupportsCancellation 設(shè)置為 true,調(diào)用CancelAsync()方法,利用CancellationPending屬性來(lái)判斷后臺(tái)任務(wù)是否被取消;當(dāng)后臺(tái)任務(wù)完成以后, RunWorkerCompleted 事件被觸發(fā),通過(guò)此方法可以將后臺(tái)任務(wù)的執(zhí)行結(jié)果反饋給前臺(tái)進(jìn)程[11]。

        系統(tǒng)為每個(gè)ADAM模塊的訪問(wèn)操作建立一個(gè)BackgroundWorker對(duì)象,再通過(guò)后臺(tái)任務(wù)不斷對(duì)I/O進(jìn)行采集和控制,定時(shí)判斷BackgroundWorker的IsBusy屬性,以確保后臺(tái)線程的運(yùn)行。為了避免ADAM在同一時(shí)刻的讀寫(xiě)沖突,增加系統(tǒng)的穩(wěn)定性,采用一種基于標(biāo)志量的時(shí)間片輪轉(zhuǎn)的方式在后臺(tái)任務(wù)(DoWork事件)中執(zhí)行讀寫(xiě)操作,執(zhí)行過(guò)程如圖4所示,線程在運(yùn)行時(shí),根據(jù)讀寫(xiě)操作的標(biāo)志量確定是否執(zhí)行該操作。

        圖4 數(shù)據(jù)采集與控制流程

        3測(cè)試結(jié)果分析

        系統(tǒng)運(yùn)行界面如圖5所示,將ADAM模塊應(yīng)用到電推進(jìn)試驗(yàn)系統(tǒng)的供氣單元中,通過(guò)以太網(wǎng)TCP/IP方式對(duì)ADAM模塊進(jìn)行I/O操作,使用BackgroundWorker后臺(tái)任務(wù)后,同時(shí)對(duì)多個(gè)試驗(yàn)工位進(jìn)行操作,軟件操控流暢。

        圖5 運(yùn)行界面

        經(jīng)測(cè)試,發(fā)現(xiàn)通過(guò)ADAM采集的壓力與氣體流量值與實(shí)際流量計(jì)顯示略有出入,因此為數(shù)據(jù)增加軟件濾波功能[12],當(dāng)前采集值與前9個(gè)采集值相加后再平均,最終數(shù)值與流量計(jì)在精度范圍內(nèi)相吻合,符合試驗(yàn)要求。

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

        通過(guò)對(duì)電推進(jìn)試驗(yàn)供氣系統(tǒng)的研究,選擇研華ADAM-6000系列以太網(wǎng)I/O模塊進(jìn)行系統(tǒng)控制,利用后臺(tái)異步任務(wù)實(shí)現(xiàn)對(duì)ADAM以太網(wǎng)I/O模塊的多線程測(cè)控,針對(duì)被測(cè)設(shè)備多工位并行運(yùn)行的工況,在測(cè)控過(guò)程中,摸索出一種基于時(shí)間片輪轉(zhuǎn)的分時(shí)控制方法。應(yīng)用該方案到電推進(jìn)地面試驗(yàn)的供氣系統(tǒng)運(yùn)行過(guò)程中,實(shí)現(xiàn)對(duì)壓縮氣體儲(chǔ)氣罐壓力信號(hào)和放電室供氣管道氣體流率的準(zhǔn)確控制,確保放電室中放電氣體滿足試驗(yàn)要求。系統(tǒng)測(cè)試結(jié)果表明,本文提出的方案穩(wěn)定可靠,試驗(yàn)記錄準(zhǔn)確,并對(duì)相關(guān)測(cè)控系統(tǒng)的開(kāi)發(fā)有一定的參考價(jià)值。

        參考文獻(xiàn)

        [1]薛偉華.電推力器地面試驗(yàn)系統(tǒng)測(cè)試技術(shù)研究[D].大連:大連理工大學(xué),2013.

        [2]張?zhí)炱?袁子,田華兵.電推進(jìn)系統(tǒng)空心陰極研制試驗(yàn)技術(shù)[J].真空電子技術(shù),2007(2):9-14.

        [3]杭觀榮,康小錄.電推進(jìn)在深空探測(cè)主推進(jìn)中的應(yīng)用及發(fā)展趨勢(shì)[J].火箭推進(jìn),2012,38(4):1-8.

        [4]李鵬,戴亞文,李小強(qiáng).升降機(jī)試驗(yàn)臺(tái)無(wú)線測(cè)控系統(tǒng)的實(shí)現(xiàn)[J].無(wú)線電工程,2011,41(5):11-13.

        [5]郭福田,劉心紅,曾麗麗,等.自主儀器中ADAM ASCⅡ協(xié)議通信接口的設(shè)計(jì)與實(shí)現(xiàn)[J].大慶師范學(xué)院學(xué)報(bào),2013,33(6):31-34.

        [6]張?zhí)炱?劉樂(lè)柱,賈艷輝.電推進(jìn)系統(tǒng)空心陰極產(chǎn)品試驗(yàn)技術(shù)[J].火箭推進(jìn),2010,36(1):58-62.

        [7]祝寧,于海生,吳賀榮.基于組態(tài)王和研華ADAM模塊的小功率加熱體溫度控制系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2013,26(2):15-17.

        [8]熊磊.基于ADAM5510E的液位控制系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2011,24(4):3-4.

        [9]鄭宇生.C#多線程編程技術(shù)在數(shù)控測(cè)井軟件中的應(yīng)用[J].石油儀器,2012,26(4):79-81.

        [10]劉學(xué)輝,王國(guó)良.軟件進(jìn)程監(jiān)控系統(tǒng)及其實(shí)現(xiàn)[J].無(wú)線電工程,2011,41(9):62-64.

        [11]李明明.VS.net中用后臺(tái)線程向Excel中導(dǎo)入數(shù)據(jù)的研究[J].測(cè)控技術(shù),2011,30(8):83-86.

        [12]孫旭清.機(jī)艙監(jiān)視報(bào)警系統(tǒng)中的軟件濾波方法研究[J].船海工程,2009,38(2):113-115.

        何輝男,(1978—),碩士,副教授。主要研究方向:計(jì)算機(jī)測(cè)控。

        邢敬宏男,(1971—),碩士,副教授。主要研究方向:計(jì)算機(jī)應(yīng)用。

        作者簡(jiǎn)介

        基金項(xiàng)目:甘肅省科技支撐計(jì)劃資助項(xiàng)目(1204GKCA043);甘肅省高等學(xué)校科研基金資助項(xiàng)目(2014A-124)。

        收稿日期:2015-09-02

        中圖分類號(hào)TP277

        文獻(xiàn)標(biāo)識(shí)碼A

        文章編號(hào)1003-3106(2015)12-0010-03

        doi:10.3969/j.issn.1003-3106.2015.12.03

        引用格式:何輝,邢敬宏,龔成瑩.ADAMI/O模塊在電推進(jìn)試驗(yàn)系統(tǒng)中的應(yīng)用[J].無(wú)線電工程,2015,45(12):10-12,20.

        猜你喜歡
        多線程
        Java多線程同步機(jī)制在網(wǎng)絡(luò)售票系統(tǒng)中的應(yīng)用
        科技資訊(2016年29期)2017-02-28 09:30:34
        Java并發(fā)工具包對(duì)并發(fā)編程的優(yōu)化
        基于多線程文件傳輸關(guān)鍵技術(shù)研究與實(shí)現(xiàn)
        網(wǎng)頁(yè)爬蟲(chóng)技術(shù)的關(guān)鍵技術(shù)研究探索
        一種基于多線程的高速磁盤(pán)鏡像算法
        iOS并發(fā)程序設(shè)計(jì)中幾種方法的特點(diǎn)及使用技巧研究
        HTM L5 Web WOrker技術(shù)及應(yīng)用研究
        電站鍋爐煤粉參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
        一種高并發(fā)認(rèn)證服務(wù)器的實(shí)現(xiàn)
        一種低開(kāi)銷的并行重復(fù)數(shù)據(jù)刪除算法
        国产日韩亚洲欧洲一区二区三区| 1000部夫妻午夜免费| 久久久久亚洲av无码a片| 乱子轮熟睡1区| 午夜精品久久久久久99热| 色婷婷综合中文久久一本| 一区二区日韩国产精品| 日韩人妻高清福利视频| 亚洲无人区乱码中文字幕动画 | 与漂亮的女邻居少妇好爽| 亚洲熟妇无码av在线播放 | 日日摸夜夜添狠狠添欧美| 国产熟女亚洲精品麻豆| 中文字幕一区二区三区在线视频| 日本成人中文字幕亚洲一区| 国内偷拍精品一区二区| 无码aⅴ精品一区二区三区| 日韩乱码人妻无码中文字幕视频| 另类欧美亚洲| 亚洲国产综合精品久久av| 国产精品白浆一区二区免费看| 亚洲熟女综合色一区二区三区 | 亚洲日韩精品一区二区三区无码| 午夜无码伦费影视在线观看| 国产熟妇搡bbbb搡bbbb搡| 国产在线不卡免费播放| 久久99精品免费国产| 亚洲精品久久蜜桃av| 国产精品免费无遮挡无码永久视频| 99久久伊人精品综合观看| 97无码人妻Va一区二区三区| 97无码人妻一区二区三区蜜臀| 中文字幕有码手机视频| 极品一区二区在线视频观看| 国内精品伊人久久久久网站| 亚洲va中文字幕无码久久不卡 | 国产亚洲视频在线播放| 人妻饥渴偷公乱中文字幕| 国产精品高潮呻吟av久久4虎 | 漂亮的小少妇诱惑内射系列| 久久精品国产亚洲av网站|