国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM和3G的船舶燃料管理系統(tǒng)設(shè)計(jì)

2013-12-07 06:18金曉龍
電子技術(shù)應(yīng)用 2013年10期
關(guān)鍵詞:串口儀表燃料

程 行 ,岳 銳,金曉龍

(1.中國(guó)地質(zhì)大學(xué)(武漢)機(jī)械與電子信息學(xué)院,湖北 武漢 430074;2.湖北省電子科學(xué)研究所有限公司,湖北 武漢 430061;3.武漢市城市路橋收費(fèi)管理中心,湖北 武漢 430050)

節(jié)能減排是當(dāng)今的一個(gè)熱點(diǎn),LNG(液化天然氣)由于其高效節(jié)能、污染小的特點(diǎn)越來(lái)越受到重視。許多船舶廠開(kāi)始將傳統(tǒng)的柴油船改造成柴油和LNG雙燃料船。為了更好地對(duì)雙燃料船進(jìn)行燃料管理,特別是當(dāng)需要分析雙燃料船的節(jié)能比以及了解船舶的燃料安全狀態(tài)時(shí),就需要對(duì)船舶的燃料使用情況和安全狀態(tài)進(jìn)行及時(shí)的獲取和監(jiān)控。

傳統(tǒng)的船舶燃料管理依賴(lài)于人工,無(wú)法自動(dòng)和實(shí)時(shí)地對(duì)船舶的燃料信息進(jìn)行采集和監(jiān)管,而且船岸通信往往依賴(lài)于船舶的衛(wèi)星通信系統(tǒng),一般以郵件的方式進(jìn)行數(shù)據(jù)交換,信息交互缺乏靈活性。

ARM作為嵌入式的主流核心架構(gòu),具有高速度、高精度和智能化等優(yōu)點(diǎn),逐漸取代了單片機(jī)技術(shù),占據(jù)了絕大部分市場(chǎng)。在工業(yè)控制、移動(dòng)設(shè)備、智能儀表、信息家電和網(wǎng)絡(luò)通信等領(lǐng)域有廣泛的應(yīng)用[1-3]。3G網(wǎng)絡(luò)由于其高帶寬和網(wǎng)絡(luò)接入靈活的特點(diǎn),越來(lái)越廣泛地應(yīng)用于工業(yè)數(shù)據(jù)傳輸中[4]。本文基于ARM嵌入式終端和3G傳輸網(wǎng)絡(luò),設(shè)計(jì)了一個(gè)船舶燃料管理系統(tǒng),并在新式雙燃料船上成功應(yīng)用。本文重點(diǎn)介紹系統(tǒng)船舶端的軟硬件設(shè)計(jì)。

1 系統(tǒng)總體介紹

1.1 系統(tǒng)結(jié)構(gòu)

船舶燃料管理系統(tǒng)分為監(jiān)控中心端和船舶端,監(jiān)控中心端可以對(duì)在江面作業(yè)的多條船舶進(jìn)行管理。

船舶端包含ARM11嵌入式終端、網(wǎng)絡(luò)硬盤(pán)錄像機(jī)和3G路由器,監(jiān)控中心端包含VPN服務(wù)器和監(jiān)控主機(jī),其中監(jiān)控主機(jī)連接本地?cái)?shù)據(jù)庫(kù)。系統(tǒng)的主要功能是利用ARM終端進(jìn)行燃料信息的采集和發(fā)送,監(jiān)控中心端接收顯示船舶端發(fā)送來(lái)的船舶燃料信息,并將信息存儲(chǔ)于數(shù)據(jù)庫(kù)以便后續(xù)的分析處理,同時(shí),監(jiān)控中心能夠?yàn)g覽船舶現(xiàn)場(chǎng)的視頻信息。

1.2 系統(tǒng)通信方案

系統(tǒng)采用VPN與電信3G網(wǎng)絡(luò)相結(jié)合的通信方案。通過(guò)在監(jiān)控中心端搭建VPN服務(wù)器,就可以讓船舶端遠(yuǎn)程連接到監(jiān)控中心的內(nèi)部網(wǎng)絡(luò),同時(shí)也保證了傳輸數(shù)據(jù)的安全性。船舶端傳送的每路監(jiān)控視頻的碼率為32 kb/s~2 048 kb/s,傳送的燃料數(shù)據(jù)信息碼率相對(duì)較低。考慮到傳輸數(shù)據(jù)量的大小,本系統(tǒng)采用電信3G網(wǎng)絡(luò)作為視頻和燃料數(shù)據(jù)的傳輸網(wǎng)絡(luò),其最大上行速率達(dá)1.8 Mb/s,在對(duì)視頻的畫(huà)質(zhì)要求不是特別高的情況下,可以滿(mǎn)足船舶燃料數(shù)據(jù)和1~4路船舶現(xiàn)場(chǎng)視頻的傳輸帶寬要求。

2 系統(tǒng)硬件設(shè)計(jì)

ARM終端以S3C6410處理器為硬件基礎(chǔ),移植嵌入式Linux系統(tǒng)為軟件平臺(tái),利用終端的RS232口對(duì)燃油和LNG二次儀表進(jìn)行讀取,通過(guò)ARM終端的與船舶報(bào)警繼電器相連的GPIO口的狀態(tài)來(lái)獲取燃料的安全狀態(tài),并通過(guò)3G路由器內(nèi)置的GPS傳感器來(lái)獲得船舶的位置信息,最后將采集的數(shù)據(jù)信息通過(guò)3G網(wǎng)絡(luò)打包發(fā)送到監(jiān)控中心。

根據(jù)船舶的燃料儀表設(shè)計(jì),有一個(gè)LNG儀表和2個(gè)燃油儀表要讀取,儀表接口為RS485接口。本設(shè)計(jì)通過(guò)RS485轉(zhuǎn)RS232連接線將儀表與ARM終端進(jìn)行連接,將ARM終端的3個(gè)GPIO口分別連接船舶上的火災(zāi)、燃油和LNG異常報(bào)警繼電器,通過(guò)GPIO口的電平狀態(tài)來(lái)判定報(bào)警繼電器的開(kāi)關(guān)狀態(tài),從而確定是否有報(bào)警被觸發(fā)。船舶端軟硬件架構(gòu)和硬件框圖分別如圖1和圖2所示。

圖2 船舶端硬件結(jié)構(gòu)框圖

將架設(shè)在船舶上的網(wǎng)絡(luò)硬盤(pán)錄像機(jī)作為視頻服務(wù)器,采集并存儲(chǔ)船舶上攝像頭的視頻信息,這樣,監(jiān)控中心就可以通過(guò)訪問(wèn)視頻服務(wù)器來(lái)實(shí)時(shí)預(yù)覽或回放船舶端的現(xiàn)場(chǎng)視頻。

3 系統(tǒng)軟件設(shè)計(jì)

船舶ARM終端需要完成的具體功能包括船舶的瞬時(shí)和累計(jì)柴油消耗量、瞬時(shí)和累計(jì)LNG消耗量、燃料和火災(zāi)的報(bào)警狀態(tài)、GPS位置信息的采集,將采集的信息打包發(fā)送,以及接收和處理監(jiān)控中心端發(fā)送來(lái)的指令等。在采集信息和打包發(fā)送數(shù)據(jù)的同時(shí),有可能需要接收和處理監(jiān)控中心端的指令。由于系統(tǒng)功能的多任務(wù)性,軟件采用了基于多線程的設(shè)計(jì)方式,將各個(gè)功能分線程來(lái)實(shí)現(xiàn)。船舶ARM終端軟件采用QT2.2[5]進(jìn)行設(shè)計(jì),并運(yùn)行于嵌入式Linux系統(tǒng)上。

3.1 配置表

配置表位于ARM終端文件系統(tǒng)中,主要用于保存船舶的設(shè)備信息和網(wǎng)絡(luò)配置信息等。ARM終端初始化時(shí),軟件會(huì)從配置表里讀取船舶的基本信息(如船名、ID號(hào)、各串口的波特率)以及ARM終端的網(wǎng)絡(luò)信息(如本機(jī)IP地址、監(jiān)控中心端IP地址等)。

利用ARM終端配置telnet服務(wù)器,監(jiān)控中心端可以通過(guò)telnet方式遠(yuǎn)程登錄ARM終端來(lái)修改配置表,從而修改船舶端的配置。這樣的方式為系統(tǒng)調(diào)試和維護(hù)提供了極大的靈活性和便利性。

3.2 讀取LNG儀表和燃油儀表

本設(shè)計(jì)通過(guò)RS485接口連接多個(gè)LNG儀表和燃油表,通過(guò)設(shè)置不同的儀表地址來(lái)區(qū)分不同的儀表。

ARM終端軟件通過(guò)串口讀取儀表數(shù)據(jù)。軟件中串口以非阻塞、可讀寫(xiě)方式打開(kāi)。如果是以阻塞方式打開(kāi),當(dāng)讀取出現(xiàn)故障時(shí)會(huì)導(dǎo)致讀取線程卡死。為了正確讀取數(shù)據(jù),必須保證ARM終端的串口屬性與儀表串口的屬性一致,因此需要設(shè)置終端串口的屬性,如數(shù)據(jù)位、奇偶校驗(yàn)位、停止位和串口波特率等,串口屬性可以在配置表中讀取。串口打開(kāi)后定時(shí)地發(fā)送和讀取串口數(shù)據(jù),從而實(shí)現(xiàn)對(duì)儀表燃料信息的讀取。

3.2.1 讀取LNG儀表

LNG儀表與ARM終端之間的通信以ASCII碼的十六進(jìn)制方式來(lái)實(shí)現(xiàn)。讀取累計(jì)耗量和瞬時(shí)耗量的命令如表1所示,其中#為定界符;AA代表儀表的地址,地址為01~99。儀表設(shè)置的地址必須與讀取命令中的儀表地址一致。

表1 讀取累計(jì)耗量和瞬時(shí)耗量的命令表

以讀取累計(jì)值為例,將儀表的地址設(shè)為01,則讀取命令為#01。將命令加上2位校驗(yàn)核來(lái)防止誤碼,再加上結(jié)束符 (回車(chē)符),最后從串口發(fā)送出去。命令發(fā)送后,地址為01的儀表會(huì)返回所讀取的值,將返回值進(jìn)行校驗(yàn)后去除校驗(yàn)核和結(jié)束符,再進(jìn)行碼值轉(zhuǎn)換后得到實(shí)際要讀取的值。讀取完成后,將讀取出來(lái)的值顯示到嵌入式終端屏幕上并放入發(fā)送數(shù)據(jù)包的相應(yīng)位置中進(jìn)行打包。讀取LNG儀表串口的流程如圖3所示。

3.2.2 讀取燃油儀表

圖3 讀取LNG儀表串口流程圖

燃油儀表采用Modbus通信協(xié)議進(jìn)行通信,通過(guò)讀取儀表的寄存器來(lái)獲得累計(jì)耗量和瞬時(shí)耗量。燃油儀表中的累計(jì)流量值和瞬時(shí)流量值存放在01~06共6個(gè)保持寄存器中,Modbus協(xié)議相應(yīng)的讀取保持寄存器的命令格式如表2所示。將2塊燃油儀表的地址設(shè)置成不同值進(jìn)行區(qū)分。發(fā)送命令前將待發(fā)送的命令數(shù)據(jù)進(jìn)行CRC運(yùn)算,將得出的2 B的CRC校驗(yàn)碼加到發(fā)送命令的末尾一并發(fā)送出去。儀表會(huì)對(duì)發(fā)送命令進(jìn)行校驗(yàn)并丟棄校驗(yàn)有誤的命令。將儀表返回值進(jìn)行CRC校驗(yàn)以確定返回值的正確性。最后將返回的累計(jì)耗量和瞬時(shí)耗量顯示到終端屏幕上并放入發(fā)送數(shù)據(jù)包的相應(yīng)位置中。讀取燃油儀表串口的流程與LNG儀表類(lèi)似。

3.3 讀取報(bào)警信息

報(bào)警線程通過(guò)讀取ARM終端3個(gè)GPIO口的狀態(tài)來(lái)判定報(bào)警繼電器的開(kāi)關(guān)狀態(tài),3個(gè)繼電器的開(kāi)關(guān)狀態(tài)分別代表了燃油、火災(zāi)、LNG的告警狀態(tài)。

設(shè)計(jì)中將這3個(gè)GPIO口的操作接口編譯為一個(gè)驅(qū)動(dòng)模塊,并在Linux系統(tǒng)啟動(dòng)時(shí)將驅(qū)動(dòng)模塊加載進(jìn)內(nèi)核,這樣就可以將這3個(gè)GPIO口當(dāng)作一個(gè)設(shè)備來(lái)操作。將GPIO口設(shè)置為CFG_IN方式,通過(guò)讀取GPIO口的pin值就可以判斷相應(yīng)繼電器的開(kāi)合狀態(tài)。

正常狀態(tài)下,繼電器處于斷開(kāi)狀態(tài),如果有告警發(fā)生,則相應(yīng)的繼電器會(huì)被觸發(fā)閉合,對(duì)應(yīng)的GPIO口電平會(huì)被拉高,pin值變?yōu)榉?。相應(yīng)的報(bào)警號(hào)會(huì)被置位并寫(xiě)入發(fā)送數(shù)據(jù)包中。由于有3個(gè)報(bào)警需要讀取,每個(gè)報(bào)警的正常和異常狀態(tài)可以分別用0和1表示,所以用0~7這8個(gè)報(bào)警號(hào)就可以表示各種報(bào)警組合狀態(tài)。

3.4 讀取GPS信息

系統(tǒng)采用的3G路由器內(nèi)置GPS模塊,它能獲取船舶所在位置的經(jīng)緯度信息和精確的UTC時(shí)間信息,并能通過(guò)網(wǎng)口輸出。ARM終端軟件通過(guò)UDP方式來(lái)獲取3G路由器輸出的GPS信息,將信息中的經(jīng)度、緯度和UTC時(shí)間解析出來(lái),并將UTC時(shí)間轉(zhuǎn)換為北京時(shí)間,最后放入發(fā)送數(shù)據(jù)包中。

3.5 燃料數(shù)據(jù)傳輸

當(dāng)燃料數(shù)據(jù)采集好以后,就可以將其打包發(fā)送到監(jiān)控中心。燃料數(shù)據(jù)的發(fā)送格式為:船名/船舶ID號(hào)/瞬時(shí)LNG流量/瞬時(shí)燃油流量/累計(jì)LNG耗量/累計(jì)燃油耗量/報(bào)警號(hào)/日期時(shí)間/經(jīng)度/緯度/$,用“/”作為兩個(gè)數(shù)據(jù)之間的分隔符,用“$”作為一個(gè)數(shù)據(jù)包的結(jié)束符。各分量用字符串表示。

船舶端與監(jiān)控中心端之間通過(guò)TCP方式進(jìn)行數(shù)據(jù)傳輸。船舶端接收監(jiān)控中心發(fā)送的命令,并據(jù)此確認(rèn)采集發(fā)送燃料信息的間隔時(shí)間。為確保網(wǎng)絡(luò)連通的穩(wěn)定性,船舶端每隔5 min向監(jiān)控中心發(fā)送一個(gè)特定的連接標(biāo)志信息“@”,當(dāng)連續(xù)3次發(fā)送連接標(biāo)志信息或燃料信息失敗時(shí),軟件就重新連接監(jiān)控中心。船舶端與監(jiān)控中心數(shù)據(jù)傳輸?shù)牧鞒倘鐖D4所示。

圖4 船舶端與監(jiān)控中心數(shù)據(jù)傳輸流程

3.6 看門(mén)狗線程

船舶內(nèi)工作環(huán)境復(fù)雜,可能會(huì)對(duì)設(shè)備的正常運(yùn)行造成影響。為確保ARM終端設(shè)備始終處于運(yùn)行狀態(tài),系統(tǒng)利用終端S3C6410處理器內(nèi)部的看門(mén)狗對(duì)嵌入式終端的運(yùn)行狀態(tài)進(jìn)行檢測(cè)。通過(guò)軟件開(kāi)啟看門(mén)狗并設(shè)置喂狗超時(shí)時(shí)間為15 s,一旦看門(mén)狗在喂狗超時(shí)時(shí)間內(nèi)沒(méi)有收到喂狗信號(hào),就復(fù)位重啟ARM終端設(shè)備,這樣就保證了船舶端的ARM終端始終處于運(yùn)行狀態(tài)。

4 系統(tǒng)測(cè)試

在監(jiān)控中心搭建VPN服務(wù)器,并在電信3G網(wǎng)絡(luò)環(huán)境下對(duì)系統(tǒng)進(jìn)行測(cè)試。

首先配置好船舶端3G路由器并連入3G網(wǎng)絡(luò),將船舶ARM終端的數(shù)據(jù)接收地址設(shè)置為監(jiān)控主機(jī)的IP并連接3G路由器,當(dāng)ARM終端軟件連接上監(jiān)控主機(jī)的管理軟件后即可進(jìn)行數(shù)據(jù)傳輸。通過(guò)監(jiān)控端軟件連接船舶的網(wǎng)絡(luò)硬盤(pán)錄像機(jī),還可以瀏覽船舶上的4路現(xiàn)場(chǎng)視頻。在視頻格式為CIF格式、視頻幀率為25 f/s的條件下進(jìn)行測(cè)試,畫(huà)質(zhì)清晰流暢,能達(dá)到較好的監(jiān)控效果。圖5為監(jiān)控端軟件中的船舶燃料信息。

圖5 監(jiān)控端燃料數(shù)據(jù)顯示界面

本文針對(duì)船舶管理中心對(duì)江面作業(yè)的雙燃料船的燃料管理需要,設(shè)計(jì)了一個(gè)船舶燃料管理系統(tǒng),采用ARM實(shí)現(xiàn)了對(duì)雙燃料船的燃料使用情況和燃料安全狀態(tài)的采集。通過(guò)結(jié)合3G網(wǎng)絡(luò)和VPN技術(shù),解決了船舶中心與船舶遠(yuǎn)距離通信的問(wèn)題,并通過(guò)船舶端的視頻服務(wù)器實(shí)現(xiàn)了對(duì)船舶現(xiàn)場(chǎng)情況的監(jiān)控。測(cè)試表明,系統(tǒng)穩(wěn)定可靠,達(dá)到了預(yù)期效果。本系統(tǒng)還可以在集成度和功能擴(kuò)展方面做進(jìn)一步的改進(jìn)與提升。

[1]王勇,張浩,彭道剛,等.ARM平臺(tái)在多功能數(shù)據(jù)采集系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化儀表,2010,31(1):13-16.

[2]張華,吳欣,王大星.基于ARM7的SD卡讀寫(xiě)控制在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].電子技術(shù)應(yīng)用,2009,35(7):38-41.

[3]張芳,許學(xué)忠,梁建斌,等.基于ARM的嵌入式直升機(jī)目標(biāo)識(shí)別系統(tǒng)[J].電子技術(shù)應(yīng)用,2009,35(4):31-32.

[4]李建文,章堅(jiān)武.基于CDMA2000-VPDN的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(8):62-65.

[5]賀青,李鵬飛.基于Qt的電腦橫機(jī)上位機(jī)的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2012,31(19):16-19.

猜你喜歡
串口儀表燃料
◆ 儀表
儀表
來(lái)自沙特的新燃料
生物燃料
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
導(dǎo)彈燃料知多少
熱工儀表自動(dòng)化安裝探討的認(rèn)識(shí)
奔馳E260車(chē)行駛過(guò)程中儀表燈熄滅
數(shù)字電源內(nèi)部數(shù)據(jù)傳輸?shù)拇谕ㄐ欧椒▽?shí)現(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索