吳 正
(上海船舶運輸科學(xué)研究所 航運技術(shù)與安全國家重點實驗室, 上海 200135)
?
船用數(shù)據(jù)采集系統(tǒng)遠程應(yīng)用的實現(xiàn)方案
吳正
(上海船舶運輸科學(xué)研究所 航運技術(shù)與安全國家重點實驗室, 上海 200135)
摘要:為保證船舶安全航行,船端與岸端需進行大量的數(shù)據(jù)交互,在船上僅依靠船員的現(xiàn)場分析和判斷來獲取相關(guān)信息,難免會出現(xiàn)遺漏和偏差。對此,嘗試在原有的數(shù)據(jù)采集系統(tǒng)的基礎(chǔ)上,通過搭建遠程網(wǎng)絡(luò)系統(tǒng),連接岸上的服務(wù)器,讓有經(jīng)驗的陸岸機務(wù)人員參與到實船航行中遇到的疑難問題的解決中。數(shù)據(jù)遠程應(yīng)用不僅能提高傳統(tǒng)船舶端的信息化水平,而且有助于航運企業(yè)提升基于信息的管理能力。
關(guān)鍵詞:數(shù)據(jù)采集; 遠程系統(tǒng); 信息管理
0引言
目前常用的船用數(shù)據(jù)采集系統(tǒng)最少由傳感器、信號轉(zhuǎn)換模塊及上位機等三部分組成,整個系統(tǒng)可滿足數(shù)據(jù)的采集和加工處理的需求。在此基礎(chǔ)上,添加通信模塊(如網(wǎng)卡)、網(wǎng)關(guān)路由器及客戶端電腦可使原有的監(jiān)測控制系統(tǒng)具備船上局域網(wǎng)內(nèi)的遠程訪問功能。以往在船舶航行過程中,船員之間通過無線電點對點交流;靠岸期間,岸上船員只能通過電話與船上值班人員溝通;船員與航運企業(yè)之間一般通過手機、傳真及衛(wèi)星電話等工具獲取最新的船用信息。采用上述方式溝通較為繁瑣且不便,有時許多工作細節(jié)容易失真,無法實時、直觀地傳送。
基于此,在上述設(shè)備中設(shè)計添加無線路由器和無線客戶端設(shè)備,重新編寫適用于跨平臺的人機界面(安卓PC)。通過采用無線數(shù)據(jù)通信方式使整個數(shù)據(jù)監(jiān)測功能不止于中控室,使每個工作人員都能不限時間、不限地點地及時獲取所需要的信息。
由于目前相關(guān)的船用產(chǎn)品較少,且僅限于局部應(yīng)用,因此這里結(jié)合工作中積累的船舶自動化知識和軟件設(shè)計經(jīng)驗,提出較全面的系統(tǒng)設(shè)計。
1遠程數(shù)據(jù)采集系統(tǒng)
根據(jù)船舶實際作業(yè)的情況,運程數(shù)據(jù)采集系統(tǒng)的設(shè)計由廣域至局域分成衛(wèi)星、通用分組無線服務(wù)技術(shù)(General Packet Radio Service, GPRS)及可尋址遠程傳感器高速通道的開放通信協(xié)議(Highway Addressable Remote Transducer, HART)等3種方案,滿足船舶在遠洋、近海(內(nèi)陸)及船艙(內(nèi)外)環(huán)境下的不同工作需求。考慮到通信成本和通信效率,建議3種方案協(xié)調(diào)共存,根據(jù)實際需求靈活選擇使用。
1.1基于衛(wèi)星的通信方式
1.1.1衛(wèi)星通信簡介
船舶在遠洋航行期間無法使用網(wǎng)絡(luò)運營商所鋪設(shè)的無線網(wǎng)絡(luò),船端與岸端只能通過衛(wèi)星通信的方式來溝通。衛(wèi)星通信方式除了服務(wù)的區(qū)域廣泛之外,其網(wǎng)速也很快,且支持所有標準的TCP/IP網(wǎng)絡(luò)協(xié)議及應(yīng)用(如HTTP,F(xiàn)TP,SMTP等)。
1.1.2衛(wèi)星通信優(yōu)點

圖1 Sailor500
主要用衛(wèi)星來解決海上無法訪問Internet的問題,從而實現(xiàn)全面的數(shù)據(jù)監(jiān)測服務(wù)。目前成熟的產(chǎn)品有很多,以Sailor500(見圖1)為例,其具有以下特征:
(1) 標準IP接入(電子郵件或內(nèi)外網(wǎng)絡(luò)),包括VPN的可靠連接;
(2) 數(shù)據(jù)傳輸速度達到432 Kbit/s;
(3) Streaming IP(保證帶寬);
(4) 綜合業(yè)務(wù)數(shù)字網(wǎng)(Integrated Services Digital Network, ISDN);
(5) 語音與數(shù)據(jù)同步。
1.1.3衛(wèi)星通信結(jié)構(gòu)
衛(wèi)星通信網(wǎng)絡(luò)結(jié)構(gòu)見圖2。該方案需借助衛(wèi)星天線和上行主站(Sailor500天線的尺寸為:605 mm×Φ630 mm),采用非對稱的高速衛(wèi)星傳輸技術(shù)優(yōu)化網(wǎng)絡(luò)帶寬,最后接入互聯(lián)網(wǎng)與服務(wù)端交換數(shù)據(jù)。

圖2 衛(wèi)星通信網(wǎng)絡(luò)結(jié)構(gòu)
1.2基于GPRS無線數(shù)據(jù)的通信方式
1.2.1GPRS簡介
GPRS是目前解決移動通信信息服務(wù)問題的一種較為完善的技術(shù),其以數(shù)據(jù)流量計費,覆蓋范圍廣泛,數(shù)據(jù)傳輸速率更高。GPRS的推出為行業(yè)和用戶開展遠程工作提供了基礎(chǔ)設(shè)施平臺,創(chuàng)造了有利條件。與有線網(wǎng)絡(luò)相比,GPRS網(wǎng)絡(luò)具有租用費用低、移動辦公和不受地域制約等優(yōu)點。
1.2.2網(wǎng)絡(luò)優(yōu)點
(1) 數(shù)據(jù)傳輸速率高。
每個監(jiān)測信息采集點每次的數(shù)據(jù)傳輸量在10 Kbit/s之內(nèi),目前GPRS實際數(shù)據(jù)帶寬最小的2G網(wǎng)絡(luò)的傳輸速率約為40 Kbit/s,完全能滿足該系統(tǒng)對數(shù)據(jù)傳輸速率的需求(≥10 Kbit/s)。
(2) 系統(tǒng)的傳輸容量大。
若航運企業(yè)要與每艘船上采集信息的采集點實現(xiàn)實時連接,則系統(tǒng)會因船用信息采集點數(shù)量眾多而要求能滿足突發(fā)性數(shù)據(jù)傳輸?shù)男枰PRS技術(shù)能很好地滿足突發(fā)性數(shù)據(jù)集中收發(fā)的需要。
(3) 通信費用低。
采用傳統(tǒng)的衛(wèi)星通道方式建立的信息采集傳輸系統(tǒng)必須通過衛(wèi)星來收發(fā)信息,費用較高。若條件允許,可在有GPRS信號覆蓋的情況下采用GPRS通信方式。因為GPRS是按數(shù)據(jù)流量計費的,資源利用率較高,通信費用較低(月通信費用可控制在200元以內(nèi))。
(4) 實時響應(yīng)良好。
與電話、短消息甚至是衛(wèi)星通導(dǎo)的服務(wù)相比,GPRS具有實時在線特性,系統(tǒng)無時延,可很好地滿足系統(tǒng)對數(shù)據(jù)采集傳輸實時性的要求。
(5) 信號覆蓋面大。
與非衛(wèi)星通信相比,GPRS信號數(shù)據(jù)傳輸?shù)姆秶鷰缀醣椴季嚯x海岸線的10 n mile以內(nèi)的全部沿海水域,內(nèi)陸江河區(qū)域基本全覆蓋。
1.2.3網(wǎng)絡(luò)結(jié)構(gòu)

圖3 DTU客戶端與監(jiān)測系統(tǒng)遠程無線通信組網(wǎng)方式
該方案中,整個系統(tǒng)主要由原監(jiān)測系統(tǒng)設(shè)備移動代理服務(wù)器(Mobile Agent Server, MAS)、無線數(shù)據(jù)傳輸設(shè)備(Data Transfer Unit, DTU)及服務(wù)器(WS)等3個部分組成(見圖3)。服務(wù)器通過Internet網(wǎng)絡(luò)和GPRS網(wǎng)絡(luò)與無線數(shù)據(jù)傳輸設(shè)備建立連接,無線數(shù)據(jù)傳輸設(shè)備又通過串口(RS-232/485/422)直接與現(xiàn)場的監(jiān)測系統(tǒng)PC相接,以實現(xiàn)遠程監(jiān)測功能。
1.3基于HART無線數(shù)據(jù)的遠程數(shù)據(jù)采集系統(tǒng)
1.3.1HART簡介
HART是一種用在現(xiàn)場智能儀表與控制室設(shè)備之間的通信協(xié)議,使用FSK(Frequency-Shift Keying)技術(shù),在4~20 mA模擬信號上疊加一個頻率信號,使模擬信號與數(shù)字雙向通信同時進行而互不干擾;其在兼容模擬信號通信設(shè)備的同時又利用數(shù)字通信的諸多優(yōu)勢,以全數(shù)字的方式通信。HART協(xié)議廣泛應(yīng)用于壓力、溫度、流量、密度及智能儀表分析領(lǐng)域中,在工業(yè)現(xiàn)場控制中被大量使用,適用于船體上的局域網(wǎng)無線數(shù)據(jù)通信。
1.3.2HART網(wǎng)絡(luò)優(yōu)點
HART無線技術(shù)是面向設(shè)備間短程、低速率信息交互的無線通信技術(shù),具有抗干擾能力強、功耗和成本低、靈活性高、易使用及實時性好等特征;面對工業(yè)現(xiàn)場生產(chǎn)數(shù)據(jù)參數(shù)的監(jiān)控系統(tǒng),需根據(jù)生產(chǎn)現(xiàn)場數(shù)據(jù)參數(shù)做出相應(yīng)的管理和控制。但是,船體生產(chǎn)現(xiàn)場的環(huán)境一般都比較惡劣,因此實時、可靠、完整和高效的數(shù)據(jù)參數(shù)傳輸成為了關(guān)鍵。工業(yè)無線技術(shù)在船舶領(lǐng)域無線遠程數(shù)據(jù)系統(tǒng)中的應(yīng)用可有效解決該問題。

圖4 基于HART無線數(shù)據(jù)的遠程數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)
1.3.3網(wǎng)絡(luò)結(jié)構(gòu)
圖4為基于HART無線數(shù)據(jù)的遠程數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)。由圖4可知,系統(tǒng)的主節(jié)點、從節(jié)點分別為具有無線通信功能的管理控制模塊和現(xiàn)場數(shù)據(jù)采集控制模塊,其中:主節(jié)點通過串并口連接上位機;從節(jié)點通過HART總線連接各個現(xiàn)場儀表。上位機通過主節(jié)點和從節(jié)點訪問控制現(xiàn)場儀表,實現(xiàn)上位機在無線環(huán)境下讀取現(xiàn)場儀表數(shù)據(jù)參數(shù)及發(fā)送控制命令等操作,達到上位機對分布在整個無線網(wǎng)絡(luò)內(nèi)不同地點的現(xiàn)場儀表進行實時監(jiān)控和配置的目的,從而形成分布式無線網(wǎng)絡(luò)監(jiān)控系統(tǒng)。
通信協(xié)議可仿MODBUS格式自定義,通信幀定義見圖5。


圖5 通信幀定義
2數(shù)據(jù)監(jiān)測報警系統(tǒng)
2.1工控機服務(wù)器界面
數(shù)據(jù)監(jiān)測報警系統(tǒng)即監(jiān)測工控機電腦,由2臺計算機(互為備用,通常為服務(wù)器)和網(wǎng)關(guān)路由器組成,二者通過LAN網(wǎng)絡(luò)相連接。監(jiān)測工控機電腦收取數(shù)據(jù)采集器信息及其他通信信號,并處理相關(guān)數(shù)據(jù)和提供報警。系統(tǒng)上位機界面見圖6,可分為選項欄、顯示區(qū)和狀態(tài)欄。

圖6 上位機界面
1) 選項欄是對各種數(shù)據(jù)的分類區(qū)別,便于船員更高效地查詢。圖6中的選項欄顯示的依次為總覽(Overview)、貨艙(Cargo)、壓載艙(Ballast)、油艙(Oil tank)、系統(tǒng)(System)和報警(Alarm)。
2) 顯示區(qū)是各監(jiān)控區(qū)的詳細數(shù)據(jù),圖6中貨艙欄對應(yīng)的顯示區(qū)展現(xiàn)的是12個貨艙的液位柱狀圖,直觀、簡潔。
3) 狀態(tài)欄一般是對系統(tǒng)各狀態(tài)的描述,可突出顯示最新報警及統(tǒng)計報警總數(shù)等。
總的來說,上位機功能設(shè)計的宗旨是直觀、便捷和高效。
2.2模塊通信
上海船舶運輸科學(xué)研究所生產(chǎn)的數(shù)據(jù)模塊采用數(shù)模轉(zhuǎn)換方式,帶輸出、輸入信號端口,其功能是采集從各個傳感器過來的數(shù)據(jù)信號。通過串口通信或CAN通信與工控電腦連接。
圖7為下位機連線總圖,傳感器可通過CANET的轉(zhuǎn)換由網(wǎng)絡(luò)一并傳送給上位機處理。其他通信信號也可通過串口轉(zhuǎn)換,最后連入網(wǎng)關(guān)。該方式的好處是可避免各信號端的差異性,統(tǒng)一后經(jīng)過路由器一并處理數(shù)據(jù),利于為無線數(shù)據(jù)系統(tǒng)的設(shè)計提供網(wǎng)絡(luò)支持。

圖7 下位機連線總圖
2.3數(shù)據(jù)交換協(xié)議
根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)的不同,對程序通信部分的代碼進行舉例介紹。
1) 局域網(wǎng)一般使用串口的Mscomm控件。部分代碼樣例如下:
Private Sub initcom() 串口初始化程序塊
MSComm1.CommPort = 1 '選用com1串行口
MSComm1.Settings = "9 600,N,8,1" '波特率9 600,無奇偶校驗位,8位數(shù)據(jù)位,1位停止位
MSComm1.InputLen = 0 'input將讀取接收緩沖區(qū)的全部內(nèi)容
MSComm1.InBufferSize = 1 024 '設(shè)置接收緩沖區(qū)的字節(jié)長度
'MSComm1.PortOpen = True '打開通信口
MSComm1.InBufferCount = 0 '清除接收緩沖區(qū)數(shù)據(jù)
MSComm1.OutBufferCount = 0 '清除發(fā)送緩沖區(qū)數(shù)據(jù)
MSComm1.InputMode = comInputModeText
'MSComm1.InputMode = comInputModeBinary
'periodic.inteval = 100 '設(shè)置1 s定時間隔,使遙測命令每隔1 s發(fā)送1次
End Sub
接收,發(fā)送處理事件:
Private Sub MSComm1_OnComm()
MSComm1.RThreshold = 0
Dim b As String
If MSComm1.CommEvent = comEvReceive Then
b = MSComm1.Input
Text1.Text = Text1.Text & b & " "
Text1.SelStart = 0 'Len(Text1.Text)
Call confirm(b)
End If
MSComm1.RThreshold = 148
End Sub
2) 通過GPRS遠程網(wǎng)絡(luò)的移動端,采用WinSock控件TCP通信協(xié)議。部分代碼樣例如下:
(1) 安卓端:
protected void connectServerWithTCPSocket() {
Socket socket;
try {// 創(chuàng)建一個Socket對象,并指定服務(wù)端的IP及端口號
socket = new Socket("192.168.1.32", 1984);
// 創(chuàng)建一個InputStream,用于讀取要發(fā)送的文件
InputStream inputStream = new FileInputStream("e://a.txt");
// 獲取Socket的OutputStream對象用于發(fā)送數(shù)據(jù)
OutputStream outputStream = socket.getOutputStream();
// 創(chuàng)建一個byte類型的buffer字節(jié)數(shù)組,用于存放讀取的本地文件
byte buffer[] = new byte [4 × 1 024];
int temp = 0;
// 循環(huán)讀取文件
while ((temp = inputStream.read(buffer)) != -1) {
// 把數(shù)據(jù)寫入到OuputStream對象中
outputStream.write(buffer, 0, temp);
}
// 發(fā)送讀取的數(shù)據(jù)到服務(wù)端
outputStream.flush();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
(2) 服務(wù)端:
public void ServerReceviedByTcp() {
// 聲明一個ServerSocket對象
ServerSocket serverSocket = null;
try {
// 創(chuàng)建一個ServerSocket對象,并讓該Socket在1984端口監(jiān)聽
serverSocket = new ServerSocket(1984);
// 調(diào)用ServerSocket的accept()方法,接受客戶端所發(fā)送的請求
// 如果客戶端沒有發(fā)送數(shù)據(jù),那么該線程就停滯
Socket socket = serverSocket.accept();
// 從Socket當(dāng)中得到InputStream對象
InputStream inputStream = socket.getInputStream();
byte buffer[] = new byte[1 024 × 4];
int temp = 0;
// 從InputStream當(dāng)中讀取客戶端所發(fā)送的數(shù)據(jù)
while ((temp = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, temp));
}
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2.4移動端HMI
手機用戶移動端人機交互界面(Human Machine Interface, HMI)統(tǒng)一采用安卓系統(tǒng)。
手機移動端界面全部使用按鈕式操作,界面平整簡潔,便于用戶進行操作和體驗(僅設(shè)計參考)。
3系統(tǒng)功能
系統(tǒng)由數(shù)據(jù)采集器和監(jiān)測工控機兩部分組成,數(shù)據(jù)采集器根據(jù)輸入信號的不同可選擇不同型號。
3.1數(shù)據(jù)采集器的功能
系統(tǒng)具有數(shù)據(jù)采集器的功能,具體如下(數(shù)量按實際需求調(diào)整):
(1) 可接受4~20 mA的模擬量輸入及模擬量輸出;
(2) 可接受0~24 V的模擬量輸入及模擬量輸出;
(3) 可接受開關(guān)量輸入及開關(guān)量輸出;
(4) 數(shù)據(jù)可定時、批量發(fā)送,或按監(jiān)測電腦要求隨機發(fā)送,由工控機作為主站;
(5) 對質(zhì)量不達標的輸入信號發(fā)出報警信息,提供生命報文參數(shù);
(6) 數(shù)據(jù)采集器組態(tài)信息和采集的數(shù)據(jù)可斷電保護;
(7) 具有時鐘功能(也可通過監(jiān)測電腦設(shè)定,誤差在10 s以內(nèi))。
3.2監(jiān)測工控機的功能
系統(tǒng)具有監(jiān)測工控機的功能,具體如下:
(1) 能給數(shù)據(jù)采集器下發(fā)組態(tài)信息;
(2) 能給數(shù)據(jù)采集器下達控制命令(如測試、休眠、控制輸出);
(3) 能校準數(shù)據(jù)采集器的時鐘;
(4) 數(shù)據(jù)采集器發(fā)送來的數(shù)據(jù)能自動進入數(shù)據(jù)庫;
(5) 數(shù)據(jù)庫具備一定的安全措施;
(6) 處理數(shù)據(jù)采集器的報警信息并記錄歷史報警;
(7) 用戶可自定義報警參數(shù);
(8) 多用戶之間主控權(quán)搶奪;
(9) 具有休眠和喚醒遠程功能,根據(jù)相應(yīng)的命令使數(shù)據(jù)采集器轉(zhuǎn)入休眠狀態(tài)或進入工作狀態(tài);
(10) 遠程用戶登錄權(quán)限設(shè)置。
4結(jié)語
從結(jié)構(gòu)到界面,詳細介紹了理想的遠程數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)可分為有線數(shù)據(jù)采集和無線數(shù)據(jù)采集兩部分;前者用于船上局域網(wǎng)內(nèi)部通信和監(jiān)測,后者用于岸上廣域網(wǎng)遠程通信和監(jiān)測。結(jié)合監(jiān)測系統(tǒng)和無線傳輸技術(shù),重點介紹了無線監(jiān)測系統(tǒng)的應(yīng)用,并指出了對系統(tǒng)的要求。
未來可將該設(shè)計應(yīng)用于實船,將不同地點的現(xiàn)場信息通過無線通信手段實時傳送到任何地方,以提高船員的生活質(zhì)量和工作效率,幫助航運企業(yè)全面掌握船舶的營運情況。
參考文獻:
[1]GUTIERREZ J A, WINKEL L, CALLLAWAY E H, et al. Low-Rate Wireless Persond Area Networks: Enabling Wineless Sensors with IEEE 802.15.4[M]. New York: Standards Information Network,2003.
[2]陽憲惠. 現(xiàn)場總線技術(shù)與其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[3]曹慶年,胡欣欣,孟開元,等. 基于HART協(xié)議的工業(yè)無線監(jiān)控系統(tǒng)設(shè)計[J]. 西安石油大學(xué)學(xué)報(自然科學(xué)版),2012,27(1):99-103.
A Remote Marine Data Acquisition System
WUZheng
(State Key Laboratory of Navigation and Safety Technology, Shanghai Ship & Shipping Research Institute, Shanghai 200135, China)
Abstract:Shore based information processing will give strong support to ship crew at sea. This paper designs a remote network system to connect the existing on-board data collecting system with the server on the shore, allowing the shore based operators to access instant data acquired on board as well as those available only on shore and to help ship crew in navigation and solving technical problems encountered. Remote data access can also improve the management of shipping companies.
Key words:data collection; remote systems; information management
收稿日期:2016-02-22
作者簡介:吳正(1984—),男,上海人,工程師,主要從事船舶自動化研究工作。
文章編號:1674-5949(2016)02-0045-07
中圖分類號:TP274.2
文獻標志碼:A