• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于LabVIEW隊(duì)列狀態(tài)機(jī)的岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)控制方法研究

      2017-03-14 08:00:30程長(zhǎng)闊王雪瑩
      海洋技術(shù)學(xué)報(bào) 2017年1期
      關(guān)鍵詞:狀態(tài)機(jī)濁度隊(duì)列

      哈 謙,程長(zhǎng)闊,王雪瑩

      (國(guó)家海洋技術(shù)中心,天津 300111)

      基于LabVIEW隊(duì)列狀態(tài)機(jī)的岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)控制方法研究

      哈 謙,程長(zhǎng)闊,王雪瑩

      (國(guó)家海洋技術(shù)中心,天津 300111)

      隨著經(jīng)濟(jì)社會(huì)的發(fā)展,海洋環(huán)境監(jiān)測(cè)受到越來(lái)越多的關(guān)注。針對(duì)當(dāng)前海洋環(huán)境監(jiān)測(cè)中,采用海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng),開(kāi)展現(xiàn)場(chǎng)自動(dòng)化監(jiān)測(cè)的實(shí)際需求,以國(guó)家海洋技術(shù)中心自主研發(fā)的四參數(shù)水質(zhì)儀、濁度傳感器和營(yíng)養(yǎng)鹽自動(dòng)分析儀為基礎(chǔ),開(kāi)發(fā)岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)。按照海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)的總體工作順序,將工作流程劃分為多個(gè)狀態(tài)進(jìn)行管理。應(yīng)用LabVIEW編程語(yǔ)言,采用隊(duì)列狀態(tài)機(jī),對(duì)各狀態(tài)進(jìn)行合理安排,最終實(shí)現(xiàn)了岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)工作流程的有序調(diào)度以及可靠控制。

      隊(duì)列狀態(tài)機(jī);流程控制;在線監(jiān)測(cè)

      目前海洋水質(zhì)監(jiān)測(cè)大多采用人工采樣、實(shí)驗(yàn)室分析的方式,樣品采集、保存、運(yùn)輸、分析檢測(cè)工作繁瑣,需要耗費(fèi)大量的人力全程參與其中。岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)能夠在線測(cè)量多種海洋水質(zhì)參數(shù),測(cè)量全過(guò)程自動(dòng)化,無(wú)需人工干預(yù),是對(duì)當(dāng)前海洋水質(zhì)監(jiān)測(cè)方式的重要補(bǔ)充。

      1 海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)總體結(jié)構(gòu)

      本文所述海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)以工控機(jī)為控制核心,集成國(guó)家海洋技術(shù)中心自主研發(fā)的四參數(shù)水質(zhì)儀、濁度傳感器、營(yíng)養(yǎng)鹽自動(dòng)分析儀,可實(shí)現(xiàn)溫度、鹽度、pH、溶解氧、濁度、亞硝酸鹽、硝酸鹽、銨鹽、硅酸鹽、磷酸鹽的自動(dòng)測(cè)量,既能用于岸基站固定位置監(jiān)測(cè),也可以用于車(chē)載移動(dòng)應(yīng)急監(jiān)測(cè)。系統(tǒng)各主要組成部分、功能、工作所需時(shí)間及通信/采集接口如表1所示。工控機(jī)與四參數(shù)水質(zhì)儀、濁度傳感器、營(yíng)養(yǎng)鹽自動(dòng)分析儀、自動(dòng)過(guò)濾器通過(guò)RS232端口連接,采用主從機(jī)制進(jìn)行通信控制,其中工控機(jī)為主設(shè)備,水質(zhì)儀/傳感器/分析儀/自動(dòng)過(guò)濾器為從設(shè)備。工控機(jī)發(fā)送工作指令至水質(zhì)儀/傳感器/分析儀,經(jīng)過(guò)一定測(cè)量時(shí)間的等待,測(cè)量完成,工控機(jī)再分別發(fā)送讀取測(cè)量數(shù)據(jù)指令至水質(zhì)儀/傳感器/分析儀,水質(zhì)儀/傳感器/分析儀將測(cè)量數(shù)據(jù)回傳至工控機(jī);工控機(jī)發(fā)送工作指令至自動(dòng)過(guò)濾器,自動(dòng)過(guò)濾器對(duì)海水樣品進(jìn)行過(guò)濾,經(jīng)過(guò)一定過(guò)濾時(shí)間的等待,自動(dòng)過(guò)濾器工作完成。工控機(jī)通過(guò)擴(kuò)展板卡的AD接口與液位計(jì)連接,采集進(jìn)入海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)測(cè)量單元的海水液位信息。

      表1 系統(tǒng)基本信息

      海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)基本工作流程如圖1所示,首先系統(tǒng)進(jìn)行必要的初始化工作,通過(guò)水泵將海水泵入,經(jīng)過(guò)管路,進(jìn)入測(cè)量單元,通過(guò)液位計(jì)檢測(cè)海水樣品的液位,待液位達(dá)到測(cè)量要求時(shí),對(duì)上述10參數(shù)進(jìn)行測(cè)量,測(cè)量完成后,記錄測(cè)量數(shù)據(jù)并顯示,將管路內(nèi)的水樣排出,單次工作流程結(jié)束。

      圖1 基本工作流程

      2 LabVIEW程序設(shè)計(jì)模式及隊(duì)列狀態(tài)機(jī)

      程序設(shè)計(jì)模式是指一些固定有用的程序結(jié)構(gòu)模式,LavVIEW支持的程序設(shè)計(jì)模式很多,包括基于事件結(jié)構(gòu)的人機(jī)界面(UIEvent Loop)、狀態(tài)機(jī)(State Machine)、主/從結(jié)構(gòu)(Master/Slave)、生產(chǎn)者/消費(fèi)者結(jié)構(gòu)(Producer/Consumer)、隊(duì)列消息結(jié)構(gòu)(Queued Message Handler)。狀態(tài)機(jī)是LabVIEW程序設(shè)計(jì)中最常使用的一種設(shè)計(jì)模式,可以清晰地實(shí)現(xiàn)狀態(tài)之間的轉(zhuǎn)移,常用于“決策”算法中,例如診斷、監(jiān)測(cè)和控制等[1-3]。狀態(tài)機(jī)三要素包括:狀態(tài)(State)、事件(Event)和動(dòng)作(Action)。

      LabVIEW中的狀態(tài)機(jī)由一個(gè)while主循環(huán)和一個(gè)case結(jié)構(gòu)組成,并利用移位寄存器來(lái)實(shí)現(xiàn)狀態(tài)的跳轉(zhuǎn)。while循環(huán)保證狀態(tài)機(jī)的連續(xù)運(yùn)行;case結(jié)構(gòu)的分支與系統(tǒng)的狀態(tài)(State)一一對(duì)應(yīng)。即case結(jié)構(gòu)的分支名稱對(duì)應(yīng)著狀態(tài)名稱,分支里執(zhí)行代碼的功能對(duì)應(yīng)著狀態(tài)的行為(Action);而case結(jié)構(gòu)的條件變量與系統(tǒng)的事件(Event)相對(duì)應(yīng),引發(fā)狀態(tài)的變遷以及決定狀態(tài)遷移的方向[3-4]。

      隊(duì)列狀態(tài)機(jī)是把將要執(zhí)行的狀態(tài)排隊(duì),然后把它們的狀態(tài)名存在隊(duì)列里,隊(duì)列里的狀態(tài)名與狀態(tài)機(jī)的各個(gè)狀態(tài)一一對(duì)應(yīng),用來(lái)控制狀態(tài)的轉(zhuǎn)換順序。執(zhí)行了的狀態(tài),其名稱會(huì)從隊(duì)列中刪除,同時(shí)根據(jù)運(yùn)行時(shí)狀態(tài)的動(dòng)作和碰到的事件,新的狀態(tài)名又會(huì)被添加到隊(duì)列中,或者將隊(duì)列中存儲(chǔ)的狀態(tài)名刪除掉[3-4,7]。隊(duì)列狀態(tài)機(jī)有多種不同的類(lèi)型,本文主要參考Anthony Lukindo改進(jìn)型隊(duì)列狀態(tài)機(jī)[6],其結(jié)構(gòu)如圖2所示。

      從圖2中可以看出,該隊(duì)列狀態(tài)機(jī)由事件結(jié)構(gòu)2、狀態(tài)結(jié)構(gòu)3和并行運(yùn)行的子程序4.1~4.3組成,并通過(guò)隊(duì)列引用1相互連接。1.1為獲取子程序(4.1~4.3)的狀態(tài)引用;1.2為通過(guò)Dequeue Element VI獲取隊(duì)列中的第一個(gè)元素,并從隊(duì)列中刪除該元素;1.3為通過(guò)Unbundle By Name VI獲得的狀態(tài)名和數(shù)據(jù);1.4為獲得的狀態(tài)名與“EXIT”的比較,判斷是否停止循環(huán),如果相同則停止循環(huán);1.5為隊(duì)列管理(Queue Manager)子VI;2.1為前面板動(dòng)作產(chǎn)生的指令,將所需跳轉(zhuǎn)至的狀態(tài)名添加到隊(duì)列中;3.4為case結(jié)構(gòu);3.5為程序代碼;3.6為下一個(gè)狀態(tài)[3-6]。

      Anthony Lukindo改進(jìn)型隊(duì)列狀態(tài)機(jī)在數(shù)據(jù)采集系統(tǒng)中具有廣泛的應(yīng)用,合理分配并行子程序的工作任務(wù),基于生產(chǎn)者/消費(fèi)者架構(gòu),發(fā)揮并行運(yùn)行的優(yōu)勢(shì),能夠同時(shí)完成數(shù)據(jù)的采集、分析以及顯示。在岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)中,主要任務(wù)是完成工作流程的調(diào)度,且工作流程具有明確的先后順序,需要并行處理的任務(wù)不多,基于這樣的需求,實(shí)際應(yīng)用中對(duì)該隊(duì)列狀態(tài)機(jī)結(jié)構(gòu)進(jìn)行了精簡(jiǎn),只采用隊(duì)列引用1、事件結(jié)構(gòu)2、狀態(tài)結(jié)構(gòu)3,其中事件結(jié)構(gòu)2用于前面板人機(jī)交互處理,狀態(tài)結(jié)構(gòu)3用于完成各狀態(tài)對(duì)應(yīng)的動(dòng)作,并通過(guò)下一個(gè)狀態(tài)3.6和隊(duì)列管理1.5控制狀態(tài)的跳轉(zhuǎn),進(jìn)而實(shí)現(xiàn)工作流程的控制。并行子程序4.1~4.3留作無(wú)線數(shù)據(jù)傳輸、定時(shí)操作等并行處理任務(wù)的擴(kuò)展開(kāi)發(fā)使用。

      圖2 Anthony Lukindo隊(duì)列狀態(tài)機(jī)結(jié)構(gòu)示意圖

      3 工作狀態(tài)的劃分以及流程控制

      按照岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)的工作順序,并綜合考慮工作過(guò)程中某一階段需要完成的特定功能,將整個(gè)工作流程劃分為如下的狀態(tài)進(jìn)行管理:初始化、海水進(jìn)樣、檢測(cè)液位、發(fā)送四參數(shù)及濁度測(cè)量指令、讀取四參數(shù)及濁度測(cè)量數(shù)據(jù)、發(fā)送過(guò)濾指令、發(fā)送營(yíng)養(yǎng)鹽測(cè)量指令、讀取營(yíng)養(yǎng)鹽測(cè)量數(shù)據(jù)、數(shù)據(jù)記錄及顯示、延時(shí)等待、錯(cuò)誤處理、停止。各狀態(tài)所對(duì)應(yīng)的動(dòng)作如表2所示,各狀態(tài)之間的跳轉(zhuǎn)關(guān)系如圖3所示。系統(tǒng)開(kāi)始運(yùn)行之后,首先進(jìn)行必要的初始化工作,然后進(jìn)入IDLE狀態(tài),等待人機(jī)界面的“測(cè)量”指令;接到“測(cè)量”指令后,正常運(yùn)行情況下將按照?qǐng)D3所示跳轉(zhuǎn)關(guān)系進(jìn)入每個(gè)狀態(tài)并完成相應(yīng)的動(dòng)作,滿足相應(yīng)跳轉(zhuǎn)條件后,進(jìn)入下一個(gè)狀態(tài)繼續(xù)執(zhí)行。異常情況包括“錯(cuò)誤處理”和“停止”兩個(gè)狀態(tài),正常執(zhí)行過(guò)程中如果發(fā)生錯(cuò)誤,將進(jìn)入“錯(cuò)誤處理”進(jìn)行必要的處理,而后轉(zhuǎn)入“停止”,完成端口關(guān)閉、釋放隊(duì)列引用等操作,結(jié)束工作;或者在正常執(zhí)行過(guò)程中,由于特殊原因,需要立即停止,則人機(jī)界面發(fā)出“停止”指令,在執(zhí)行完當(dāng)前狀態(tài)的動(dòng)作后,立即進(jìn)入“停止”狀態(tài)進(jìn)行處理。

      表2 狀態(tài)劃分及其對(duì)應(yīng)的動(dòng)作

      圖3 工作狀態(tài)跳轉(zhuǎn)圖

      海水過(guò)濾、四參數(shù)及濁度測(cè)量和營(yíng)養(yǎng)鹽測(cè)量過(guò)程中都需要等待一定的時(shí)間,如果通過(guò)單一狀態(tài)的延時(shí)操作來(lái)實(shí)現(xiàn)這一過(guò)程,由于不能及時(shí)處理隊(duì)列中的下一個(gè)狀態(tài)對(duì)應(yīng)的操作,將阻塞對(duì)其他高優(yōu)先級(jí)操作或事件的響應(yīng),因此將等待過(guò)程拆分為多個(gè)延時(shí)子過(guò)程來(lái)處理,即單一“延時(shí)等待”狀態(tài)實(shí)現(xiàn)較短時(shí)間的延時(shí)操作,隊(duì)列中多次寫(xiě)入“延時(shí)等待”狀態(tài)名來(lái)實(shí)現(xiàn)較長(zhǎng)時(shí)間的延時(shí)。在每次“延時(shí)等待”狀態(tài)名出隊(duì)列之前,排在隊(duì)列最前端的高優(yōu)先級(jí)事件或操作對(duì)應(yīng)的隊(duì)列狀態(tài)將率先得到響應(yīng),從而能夠避免高優(yōu)先級(jí)操作或事件不能被及時(shí)處理的問(wèn)題出現(xiàn)。

      多次“延時(shí)等待”過(guò)程實(shí)際上是在進(jìn)行單次延時(shí)和多次計(jì)數(shù)的處理,每次的延時(shí)時(shí)間是固定的,在進(jìn)入“延時(shí)等待”之前的狀態(tài)需要執(zhí)行寫(xiě)入延時(shí)執(zhí)行次數(shù)的操作,本系統(tǒng)的設(shè)計(jì)中采用移位寄存器來(lái)實(shí)現(xiàn)計(jì)數(shù),即對(duì)用于計(jì)數(shù)的移位寄存器進(jìn)行賦值,在之后每次“延時(shí)等待”操作執(zhí)行時(shí)對(duì)移位寄存器的計(jì)數(shù)值進(jìn)行遞減處理。以發(fā)送四參數(shù)及濁度測(cè)量指令之后的等待過(guò)程為例,該過(guò)程共需要等待6 s,單一“延時(shí)等待”操作實(shí)現(xiàn)100ms的延時(shí),過(guò)濾等待過(guò)程通過(guò)調(diào)用60次“延時(shí)等待”操作實(shí)現(xiàn)6 s的累計(jì)延時(shí)時(shí)間,因此在“發(fā)送四參數(shù)及濁度測(cè)量指令”的操作中將移位寄存器計(jì)數(shù)值置為60,每次“延時(shí)等待”延時(shí)100 ms并將計(jì)數(shù)值減1,直至計(jì)數(shù)值為0,整個(gè)延時(shí)等待過(guò)程結(jié)束,進(jìn)入“讀取四參數(shù)及濁度測(cè)量值”狀態(tài)進(jìn)行處理。具體執(zhí)行過(guò)程如圖4所示。營(yíng)養(yǎng)鹽測(cè)量的等待過(guò)程采用類(lèi)似方法處理,只是在“發(fā)送營(yíng)養(yǎng)鹽測(cè)量指令”中設(shè)定移位寄存器計(jì)數(shù)值為6 000,從而在后續(xù)的延時(shí)過(guò)程中實(shí)現(xiàn)10min的累計(jì)延時(shí)等待時(shí)間。

      圖4 測(cè)量等待過(guò)程的處理流程

      4 試驗(yàn)應(yīng)用情況

      2015年4 月-7月,采用上述隊(duì)列狀態(tài)機(jī)開(kāi)發(fā)的岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng),在天津市海洋局渤海海洋監(jiān)測(cè)監(jiān)視管理基地進(jìn)行多次現(xiàn)場(chǎng)試驗(yàn),系統(tǒng)工作穩(wěn)定,見(jiàn)圖5所示。

      圖5 現(xiàn)場(chǎng)試驗(yàn)

      5 結(jié)論

      本文根據(jù)岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)的工作順序,將整個(gè)工作流程劃分為多個(gè)狀態(tài),采用Anthony Lukindo隊(duì)列狀態(tài)機(jī)進(jìn)行狀態(tài)的調(diào)度和管理,實(shí)現(xiàn)了岸基海洋水質(zhì)集成在線監(jiān)測(cè)系統(tǒng)工作流程的有序調(diào)度以及可靠控制,說(shuō)明了該設(shè)計(jì)的合理性和可靠性。同時(shí)該隊(duì)列狀態(tài)機(jī)結(jié)構(gòu)中并行子程序的存在,為將來(lái)相關(guān)并行處理功能的開(kāi)發(fā)與擴(kuò)展留有余地。

      [1]陳錫輝,張銀鴻.LabVIEW8.20程序設(shè)計(jì)從入門(mén)到精通[M].北京:清華大學(xué)出版社,2007.

      [2]Jon Conway,SteveWatts.A Software Engineering Approach to LabVIEW[M].New Jersey:Prentice HallPTR,2003.

      [3]葉楓樺,周新聰,白秀琴,等.基于LabVIEW隊(duì)列狀態(tài)機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010(4):204-210.

      [4]聶影,馮向軍,廖瑛,等.基于LabVIEW的狀態(tài)機(jī)模型研究[J].計(jì)算機(jī)測(cè)量與控制,2007,15(9):1166-1171.

      [5]馬凡華,齊政亮,趙建彪,等.基于LabVIEW的燃?xì)獍l(fā)動(dòng)機(jī)排放數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].汽車(chē)科技,2012(6):73-76.

      [6]Anthony Lukindo.LabVIEW Queued StateMachine Architecture[EB/OL].http://expressionflow.com,2007.

      [7]Rick Bitter,TaqiMohiuddin,Matt Nawrocki.LabVIEW Advanced Programming Techniques[M].Second Edition.Boca Raton:CRC Press LLC,2007.

      [8]許霽.基于LabVIEW隊(duì)列狀態(tài)機(jī)的掃頻儀設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2013,26(9):75-79.

      [9]曾劍,周劍揚(yáng),劉舜奎.基于LabVIEW的SFP光模塊測(cè)試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2011,37(4):67-73.

      Study on the Controlling Means of Shore-Based Seawater Quality Integrated Online Monitoring System Based on Queued State Machine with LabVIEW

      HA Qian,CHENG Chang-kuo,WANG Xue-ying
      National Ocean Technology Center,Tianjin 300111,China

      Along with China's socio-economic development,the field of marine environmental monitoring has attracted increasing research attention.Tomeet the actual demand ofmarine environmentmonitoring,this paper adopts an integrated online seawatermonitoring system.On the basis of the 4-parameterwater quality instrument, turbidity sensor and automatic nutrient analyzer developed by the National Ocean Technology Center,this paper presents an integrated online system for monitoring offshore seawater quality.According to the overall working sequence of the monitoring system,the working process can be divided into several states for management. Through arranging every state in a proper way and using queued state machine as well as the LabVIEW programming language,orderly dispatchment and reliable control in the working flow can be realized for the online integrated shore-based seawatermonitoring system.

      queued statemachine;process control;onlinemonitoring

      TP311;X834

      A

      1003-2029(2017)01-0109-05

      10.3969/j.issn.1003-2029.2017.01.020

      2015-08-24

      海洋公益性行業(yè)科研專項(xiàng)資助項(xiàng)目(201405007)

      哈謙(1984-),男,工程師,主要研究方向?yàn)楹Q蟓h(huán)境監(jiān)測(cè)及系統(tǒng)集成。E-mail:hqnotc@163.com

      猜你喜歡
      狀態(tài)機(jī)濁度隊(duì)列
      丙烯酰胺強(qiáng)化混凝去除黑河原水濁度的研究
      動(dòng)態(tài)濁度補(bǔ)償技術(shù)在總磷在線自動(dòng)監(jiān)測(cè)儀上的應(yīng)用
      云南化工(2021年6期)2021-12-21 07:31:06
      隊(duì)列里的小秘密
      基于多隊(duì)列切換的SDN擁塞控制*
      軟件(2020年3期)2020-04-20 00:58:44
      基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
      在隊(duì)列里
      11°角應(yīng)用于啤酒過(guò)濾濁度測(cè)量
      豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
      辣木籽粕粗提液對(duì)水中濁度及水質(zhì)的影響
      FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
      白银市| 韶关市| 天镇县| 罗甸县| 西丰县| 郎溪县| 连城县| 洛扎县| 肇源县| 克什克腾旗| 永仁县| 宜川县| 白水县| 寻乌县| 南安市| 福州市| 霞浦县| 赤城县| 曲靖市| 宁强县| 安陆市| 克山县| 永靖县| 兰溪市| 丰镇市| 什邡市| 名山县| 垫江县| 大冶市| 同心县| 城市| 蓬溪县| 灵石县| 介休市| 溧阳市| 南召县| 普兰店市| 曲阳县| 铁岭市| 安徽省| 那坡县|