• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于LabView的水電廠檢測(cè)水下機(jī)器人上位機(jī)控制軟件設(shè)計(jì)

    2018-09-13 07:40:58曾廣移鞏宇王文輝張先奎覃丹
    無線互聯(lián)科技 2018年11期
    關(guān)鍵詞:實(shí)時(shí)控制

    曾廣移 鞏宇 王文輝 張先奎 覃丹

    摘要:文章介紹了一種用LabVIEW編寫的基于NI RT控制器的水下機(jī)器人上位機(jī)控制軟件。這套軟件用于實(shí)現(xiàn)控制系統(tǒng)的人機(jī)交互、數(shù)據(jù)記錄與顯示、上下位機(jī)之間的數(shù)據(jù)通信以及對(duì)水下機(jī)器人進(jìn)行實(shí)時(shí)控制。軟件采用LabVIEW經(jīng)典的生產(chǎn)者一消費(fèi)者模式,通過設(shè)置循環(huán)的優(yōu)先級(jí)和執(zhí)行時(shí)間,保證軟件在讀取狀態(tài)數(shù)據(jù)的同時(shí),可以實(shí)時(shí)完成對(duì)機(jī)器人主體的控制。

    關(guān)鍵詞:水下機(jī)器人;LabVIEW;上位機(jī)軟件;實(shí)時(shí)控制

    水電廠檢測(cè)水下機(jī)器人主要用于靜水條件下檢測(cè)水電站大壩壩面(水下部分)、輸水管道、進(jìn)出水口閘門等水工建筑物和水工設(shè)備運(yùn)行狀況。由于水下環(huán)境較為復(fù)雜,其上位機(jī)控制軟件除了需要完成對(duì)水下機(jī)器人水下運(yùn)動(dòng)的精確控制外,還需要其能在極短的時(shí)間內(nèi)反饋系統(tǒng)狀態(tài)信息,這就要求上位機(jī)控制軟件能實(shí)時(shí)快速地向下位機(jī)發(fā)送控制命令,同時(shí)快速獲取下位機(jī)的精確測(cè)量和反饋數(shù)據(jù),同時(shí)實(shí)現(xiàn)控制信號(hào)的精確微調(diào),各種應(yīng)急狀態(tài)的及時(shí)處理等[1]。

    1 系統(tǒng)架構(gòu)

    本文所述水下機(jī)器人上位機(jī)控制軟件,通過LabVIEW編寫,在NI RT控制器上實(shí)時(shí)運(yùn)行。軟件完成手操盒控制命令讀取,狀態(tài)顯示,運(yùn)動(dòng)控制,自主返航,故障監(jiān)測(cè),電源管理,設(shè)備控制,報(bào)警處理以及安全關(guān)機(jī)等功能。

    水下機(jī)器人控制系統(tǒng)的硬件分為水面控制單元(上位機(jī))和水下控制系統(tǒng)(下位機(jī)),二者都采用美國(guó)國(guó)家儀器(National Instruments,NI)的實(shí)時(shí)控制器,通過光纖以太網(wǎng)相連。上位機(jī)控制軟件主要負(fù)責(zé)人機(jī)交互,數(shù)據(jù)存儲(chǔ)顯示,與外接設(shè)備(手操盒)通信,還有發(fā)送相關(guān)控制命令給下位機(jī)。

    水面控制單元的控制器采用CompactDAQ系列的控制器。這一系列的控制器可以外接顯示器、鼠標(biāo)鍵盤,自身帶有RS485串口,可以方便地與手持控制器(手操盒)等設(shè)備連接,體積小巧輕便,是一款理想的上位機(jī)。上位機(jī)接有鼠標(biāo)鍵盤和顯示器,并通過自身的RS485串口與手操盒連接。手操盒用于控制水下機(jī)器人的運(yùn)動(dòng)[2]。

    2 上位機(jī)程序

    一個(gè)LabVIEW程序(VI)包括前面板和程序框圖。前面板是界面,沒有實(shí)際邏輯功能;程序框圖是程序邏輯和函數(shù)的組合,但是沒有顯示讀取功能。利用VI的這個(gè)特點(diǎn),將上位機(jī)程序分成兩部分:界面程序和主程序。界面程序只是在前面板顯示相關(guān)狀態(tài),進(jìn)行設(shè)備的控制,但程序框圖不執(zhí)行任何邏輯,只是將界面控件的引用傳遞給主程序;主程序的程序框圖執(zhí)行上位機(jī)程序的具體邏輯,但是前面板不具有實(shí)際意義的顯示功能,只是接收界面程序的控件引用。主程序?qū)嶋H上是界面程序的子程序。這樣做可以將界面的設(shè)計(jì)和邏輯程序的設(shè)計(jì)分開,適合復(fù)雜的人機(jī)交互程序應(yīng)用[3]。

    2.1 界面程序流程

    界面程序的程序框圖由一個(gè)順序結(jié)構(gòu)實(shí)現(xiàn)(見圖1)。這個(gè)順序結(jié)構(gòu)有3個(gè)幀:初始化、主程序和關(guān)閉。界面程序運(yùn)行時(shí),首先執(zhí)行第一幀中的初始化子VI,將系統(tǒng)的各個(gè)狀態(tài)變量、輸出設(shè)為初始狀態(tài)。第一幀執(zhí)行完畢后,進(jìn)入第二幀。在自檢通過后,將各個(gè)控件的引用通過簇傳遞到主程序中,并調(diào)用執(zhí)行主程序。當(dāng)主程序執(zhí)行完畢退出后,執(zhí)行第三幀。第三幀中的關(guān)閉程序負(fù)責(zé)將輸出設(shè)為安全狀態(tài),結(jié)束程序。

    2.2 主程序架構(gòu)

    在主程序中采用程序架構(gòu)(見圖2)是基于命令的生產(chǎn)者一消費(fèi)者模式,這種模式利用命令隊(duì)列在兩個(gè)并行循環(huán)之間傳遞命令。其中一個(gè)循環(huán)發(fā)送命令,另外一個(gè)循環(huán)讀取并執(zhí)行命令。

    在命令發(fā)送循環(huán)中,有一個(gè)事件結(jié)構(gòu),同外層的while循環(huán)結(jié)構(gòu)構(gòu)成了一個(gè)循環(huán)事件結(jié)構(gòu)。在這個(gè)循環(huán)事件結(jié)構(gòu)中,0—4號(hào)事件是界面程序傳遞的控件引用引起的事件。5號(hào)事件是一個(gè)50 ms的超時(shí)事件。這個(gè)超時(shí)事件用于定時(shí)讀取串口。這個(gè)串口讀取事件循環(huán)用于讀取與串口連接的設(shè)備的數(shù)據(jù),如手操盒等。

    在循環(huán)事件結(jié)構(gòu)當(dāng)中,每一個(gè)事件的發(fā)生,都會(huì)向命令隊(duì)列中寫入一個(gè)命令,然后命令執(zhí)行循環(huán)讀取并執(zhí)行命令。命令的結(jié)構(gòu)是一個(gè)簇,這個(gè)簇包括兩個(gè)元素:上位機(jī)內(nèi)部命令內(nèi)容和上位機(jī)內(nèi)部命令數(shù)據(jù)。上位機(jī)內(nèi)部命令內(nèi)容是一個(gè)枚舉型變量,上位機(jī)內(nèi)部命令數(shù)據(jù)是一個(gè)變體,可以存放任意類型的數(shù)據(jù)。

    命令執(zhí)行循環(huán)中有一個(gè)類似于C語(yǔ)言中switch語(yǔ)句的條件結(jié)構(gòu)。讀取命令時(shí),首先通過簇的“按名稱解除捆綁”VI將簇分解,根據(jù)上位機(jī)內(nèi)部命令內(nèi)容確定要執(zhí)行的分支。在不同的分支中,有不同的上位機(jī)內(nèi)部命令數(shù)據(jù)的數(shù)據(jù)類型,通過“變體至數(shù)據(jù)轉(zhuǎn)換”VI將變體數(shù)據(jù)轉(zhuǎn)換為相應(yīng)類型的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行操作。其中,在“control”分支中,將命令發(fā)送循環(huán)發(fā)送的串口數(shù)據(jù)通過基于網(wǎng)絡(luò)的共享變量送到下位機(jī)(見圖3)。

    在上位機(jī)中,除了有兩個(gè)主要的工作循環(huán)外,還有一個(gè)后臺(tái)程序,用于讀取、顯示和存儲(chǔ)下位機(jī)上傳的各個(gè)狀態(tài)數(shù)據(jù)。后臺(tái)程序可以不需要人為干預(yù),獨(dú)自運(yùn)行,優(yōu)先級(jí)最低[4]。

    3 控制系統(tǒng)通信

    水下機(jī)器人的控制系統(tǒng)需要上下位機(jī)之間進(jìn)行命令和數(shù)據(jù)通信,這種通信類型是一種消息型通信。消息型通信發(fā)生的概率比較小,通常用于觸發(fā)事件(命令通信);同時(shí),消息型通信也適用于發(fā)送容量固定的數(shù)據(jù),比如狀態(tài)數(shù)據(jù)(數(shù)據(jù)通信)。所以在本系統(tǒng)中系統(tǒng)通信采用這種類型的通信方式。系統(tǒng)通信是通過基于網(wǎng)絡(luò)發(fā)布的共享變量(以下簡(jiǎn)稱網(wǎng)絡(luò)共享變量)完成的。網(wǎng)絡(luò)共享變量常用于程序、系統(tǒng)或者硬件之間的數(shù)據(jù)命令通信。

    系統(tǒng)的數(shù)據(jù)通信比較簡(jiǎn)單,優(yōu)先級(jí)也比較低,只是上位機(jī)和下位機(jī)中各有一個(gè)循環(huán)用于接收和發(fā)送數(shù)據(jù)。數(shù)據(jù)采用固定格式,定時(shí)發(fā)送。命令通信不是定時(shí)通信,所以采用基于網(wǎng)絡(luò)的命令觸發(fā)的方式??梢酝ㄟ^生產(chǎn)者一消費(fèi)者模式在并行循環(huán)中進(jìn)行命令觸發(fā)。基于網(wǎng)絡(luò)的命令觸發(fā)也是采用一種類似的方法,只不過其中的命令是通過網(wǎng)絡(luò)共享變量完成,而不是通過隊(duì)列完成。這就是基于網(wǎng)絡(luò)的生產(chǎn)者一消費(fèi)者模式。

    基于網(wǎng)絡(luò)的生產(chǎn)者一消費(fèi)者模式與普通的生產(chǎn)者一消費(fèi)者模式的區(qū)別是命令載體是可以在網(wǎng)中傳輸?shù)木W(wǎng)絡(luò)共享變量。命令的發(fā)送者與接收者也不是一個(gè)程序中的兩個(gè)并行循環(huán),而是來自兩個(gè)不同硬件設(shè)備的程序。在本系統(tǒng)中,命令的發(fā)送者是上位機(jī),命令的執(zhí)行者是下位機(jī)[5]。

    4 結(jié)語(yǔ)

    本文所述水下機(jī)器人上位機(jī)控制軟件采用中等規(guī)模LabVIEW程序當(dāng)中常用的生產(chǎn)者一消費(fèi)者模式。這種軟件模式經(jīng)過實(shí)踐檢驗(yàn),是一種簡(jiǎn)潔、高效的軟件架構(gòu)模式。在7K下機(jī)器人控制系統(tǒng)中,這種方式可以充分利用控制器實(shí)時(shí)性好的特點(diǎn),將讀取命令與執(zhí)行命令分開,并且可以通過設(shè)置低優(yōu)先級(jí)的循環(huán)來讀取狀態(tài)傳感器的數(shù)據(jù)。經(jīng)過實(shí)際應(yīng)用的檢驗(yàn),證明這種軟件模式可以應(yīng)用在水下機(jī)器人實(shí)時(shí)控制系統(tǒng)軟件中,在提高傳感器數(shù)據(jù)讀取速率的同時(shí),可以實(shí)時(shí)有效地完成對(duì)機(jī)器人主體的功能控制。

    [參考文獻(xiàn)]

    [1]鄭發(fā)順.遙控水下機(jī)器人系統(tǒng)在水庫(kù)大壩水下檢查中的應(yīng)用[J].水利信息化,2014(4):45-49.

    [2]李福年,陳慕雄,田維坤.ROV原理及在阿海水電站工程中的應(yīng)用[J].云南水力發(fā)電,2013(3):119-121.

    [3]曾廣移,覃丹,鞏宇,等.一種具備ROV/AUV雙工模式的水電站檢測(cè)水下機(jī)器人研究[J].科技廣場(chǎng),2017(9):74-78.

    [4]軟奇楨.我和LabVIEW:—個(gè)NI工程師的十年編程經(jīng)驗(yàn)[M].北京:北京航空航天大學(xué)出版社,2012.

    [5]蔣新松.水下機(jī)器人[M].沈陽(yáng):遼寧科學(xué)技術(shù)出版社,2000.

    猜你喜歡
    實(shí)時(shí)控制
    雙足步行機(jī)器人嵌入式控制系統(tǒng)設(shè)計(jì)分析
    基于OPC技術(shù)的電烤箱溫度預(yù)測(cè)控制
    科技視界(2017年23期)2017-12-09 00:54:53
    智能窗戶
    青島市公交循環(huán)工況下的增程式汽車Δ—SOC能量策略研究
    媒介對(duì)現(xiàn)代中學(xué)生思想意識(shí)的影響
    基于LabVIEW微電網(wǎng)實(shí)驗(yàn)平臺(tái)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    探討ERP系統(tǒng)環(huán)境下企業(yè)會(huì)計(jì)的實(shí)時(shí)控制
    利用有線電視網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)智能小區(qū)方法的探討
    基于物聯(lián)網(wǎng)的QoS實(shí)時(shí)控制技術(shù)研究
    基于全集成自動(dòng)化的能耗監(jiān)控管理系統(tǒng)設(shè)計(jì)
    昌江| 报价| 萍乡市| 延川县| 固镇县| 阳泉市| 茶陵县| 上饶县| 冀州市| 万载县| 罗甸县| 夏邑县| 广南县| 文山县| 邳州市| 门头沟区| 巨鹿县| 五峰| 民和| 思茅市| 永胜县| 定陶县| 胶州市| 衡阳市| 西贡区| 门头沟区| 浮山县| 山西省| 凤山县| 雅安市| 湘西| 达孜县| 平原县| 蚌埠市| 甘南县| 九龙城区| 叙永县| 津南区| 彝良县| 宜兰市| 河南省|