船用数据采集系统远程应用的实现方案
2016-07-23吴正
吴 正
(上海船舶运输科学研究所 航运技术与安全国家重点实验室, 上海 200135)
船用数据采集系统远程应用的实现方案
吴正
(上海船舶运输科学研究所 航运技术与安全国家重点实验室, 上海 200135)
摘要:为保证船舶安全航行,船端与岸端需进行大量的数据交互,在船上仅依靠船员的现场分析和判断来获取相关信息,难免会出现遗漏和偏差。对此,尝试在原有的数据采集系统的基础上,通过搭建远程网络系统,连接岸上的服务器,让有经验的陆岸机务人员参与到实船航行中遇到的疑难问题的解决中。数据远程应用不仅能提高传统船舶端的信息化水平,而且有助于航运企业提升基于信息的管理能力。
关键词:数据采集; 远程系统; 信息管理
0引言
目前常用的船用数据采集系统最少由传感器、信号转换模块及上位机等三部分组成,整个系统可满足数据的采集和加工处理的需求。在此基础上,添加通信模块(如网卡)、网关路由器及客户端电脑可使原有的监测控制系统具备船上局域网内的远程访问功能。以往在船舶航行过程中,船员之间通过无线电点对点交流;靠岸期间,岸上船员只能通过电话与船上值班人员沟通;船员与航运企业之间一般通过手机、传真及卫星电话等工具获取最新的船用信息。采用上述方式沟通较为繁琐且不便,有时许多工作细节容易失真,无法实时、直观地传送。
基于此,在上述设备中设计添加无线路由器和无线客户端设备,重新编写适用于跨平台的人机界面(安卓PC)。通过采用无线数据通信方式使整个数据监测功能不止于中控室,使每个工作人员都能不限时间、不限地点地及时获取所需要的信息。
由于目前相关的船用产品较少,且仅限于局部应用,因此这里结合工作中积累的船舶自动化知识和软件设计经验,提出较全面的系统设计。
1远程数据采集系统
根据船舶实际作业的情况,运程数据采集系统的设计由广域至局域分成卫星、通用分组无线服务技术(General Packet Radio Service, GPRS)及可寻址远程传感器高速通道的开放通信协议(Highway Addressable Remote Transducer, HART)等3种方案,满足船舶在远洋、近海(内陆)及船舱(内外)环境下的不同工作需求。考虑到通信成本和通信效率,建议3种方案协调共存,根据实际需求灵活选择使用。
1.1基于卫星的通信方式
1.1.1卫星通信简介
船舶在远洋航行期间无法使用网络运营商所铺设的无线网络,船端与岸端只能通过卫星通信的方式来沟通。卫星通信方式除了服务的区域广泛之外,其网速也很快,且支持所有标准的TCP/IP网络协议及应用(如HTTP,FTP,SMTP等)。
1.1.2卫星通信优点
图1 Sailor500
主要用卫星来解决海上无法访问Internet的问题,从而实现全面的数据监测服务。目前成熟的产品有很多,以Sailor500(见图1)为例,其具有以下特征:
(1) 标准IP接入(电子邮件或内外网络),包括VPN的可靠连接;
(2) 数据传输速度达到432 Kbit/s;
(3) Streaming IP(保证带宽);
(4) 综合业务数字网(Integrated Services Digital Network, ISDN);
(5) 语音与数据同步。
1.1.3卫星通信结构
卫星通信网络结构见图2。该方案需借助卫星天线和上行主站(Sailor500天线的尺寸为:605 mm×Φ630 mm),采用非对称的高速卫星传输技术优化网络带宽,最后接入互联网与服务端交换数据。
图2 卫星通信网络结构
1.2基于GPRS无线数据的通信方式
1.2.1GPRS简介
GPRS是目前解决移动通信信息服务问题的一种较为完善的技术,其以数据流量计费,覆盖范围广泛,数据传输速率更高。GPRS的推出为行业和用户开展远程工作提供了基础设施平台,创造了有利条件。与有线网络相比,GPRS网络具有租用费用低、移动办公和不受地域制约等优点。
1.2.2网络优点
(1) 数据传输速率高。
每个监测信息采集点每次的数据传输量在10 Kbit/s之内,目前GPRS实际数据带宽最小的2G网络的传输速率约为40 Kbit/s,完全能满足该系统对数据传输速率的需求(≥10 Kbit/s)。
(2) 系统的传输容量大。
若航运企业要与每艘船上采集信息的采集点实现实时连接,则系统会因船用信息采集点数量众多而要求能满足突发性数据传输的需要。GPRS技术能很好地满足突发性数据集中收发的需要。
(3) 通信费用低。
采用传统的卫星通道方式建立的信息采集传输系统必须通过卫星来收发信息,费用较高。若条件允许,可在有GPRS信号覆盖的情况下采用GPRS通信方式。因为GPRS是按数据流量计费的,资源利用率较高,通信费用较低(月通信费用可控制在200元以内)。
(4) 实时响应良好。
与电话、短消息甚至是卫星通导的服务相比,GPRS具有实时在线特性,系统无时延,可很好地满足系统对数据采集传输实时性的要求。
(5) 信号覆盖面大。
与非卫星通信相比,GPRS信号数据传输的范围几乎遍布距离海岸线的10 n mile以内的全部沿海水域,内陆江河区域基本全覆盖。
1.2.3网络结构
图3 DTU客户端与监测系统远程无线通信组网方式
该方案中,整个系统主要由原监测系统设备移动代理服务器(Mobile Agent Server, MAS)、无线数据传输设备(Data Transfer Unit, DTU)及服务器(WS)等3个部分组成(见图3)。服务器通过Internet网络和GPRS网络与无线数据传输设备建立连接,无线数据传输设备又通过串口(RS-232/485/422)直接与现场的监测系统PC相接,以实现远程监测功能。
1.3基于HART无线数据的远程数据采集系统
1.3.1HART简介
HART是一种用在现场智能仪表与控制室设备之间的通信协议,使用FSK(Frequency-Shift Keying)技术,在4~20 mA模拟信号上叠加一个频率信号,使模拟信号与数字双向通信同时进行而互不干扰;其在兼容模拟信号通信设备的同时又利用数字通信的诸多优势,以全数字的方式通信。HART协议广泛应用于压力、温度、流量、密度及智能仪表分析领域中,在工业现场控制中被大量使用,适用于船体上的局域网无线数据通信。
1.3.2HART网络优点
HART无线技术是面向设备间短程、低速率信息交互的无线通信技术,具有抗干扰能力强、功耗和成本低、灵活性高、易使用及实时性好等特征;面对工业现场生产数据参数的监控系统,需根据生产现场数据参数做出相应的管理和控制。但是,船体生产现场的环境一般都比较恶劣,因此实时、可靠、完整和高效的数据参数传输成为了关键。工业无线技术在船舶领域无线远程数据系统中的应用可有效解决该问题。
图4 基于HART无线数据的远程数据采集系统结构
1.3.3网络结构
图4为基于HART无线数据的远程数据采集系统结构。由图4可知,系统的主节点、从节点分别为具有无线通信功能的管理控制模块和现场数据采集控制模块,其中:主节点通过串并口连接上位机;从节点通过HART总线连接各个现场仪表。上位机通过主节点和从节点访问控制现场仪表,实现上位机在无线环境下读取现场仪表数据参数及发送控制命令等操作,达到上位机对分布在整个无线网络内不同地点的现场仪表进行实时监控和配置的目的,从而形成分布式无线网络监控系统。
通信协议可仿MODBUS格式自定义,通信帧定义见图5。
图5 通信帧定义
2数据监测报警系统
2.1工控机服务器界面
数据监测报警系统即监测工控机电脑,由2台计算机(互为备用,通常为服务器)和网关路由器组成,二者通过LAN网络相连接。监测工控机电脑收取数据采集器信息及其他通信信号,并处理相关数据和提供报警。系统上位机界面见图6,可分为选项栏、显示区和状态栏。
图6 上位机界面
1) 选项栏是对各种数据的分类区别,便于船员更高效地查询。图6中的选项栏显示的依次为总览(Overview)、货舱(Cargo)、压载舱(Ballast)、油舱(Oil tank)、系统(System)和报警(Alarm)。
2) 显示区是各监控区的详细数据,图6中货舱栏对应的显示区展现的是12个货舱的液位柱状图,直观、简洁。
3) 状态栏一般是对系统各状态的描述,可突出显示最新报警及统计报警总数等。
总的来说,上位机功能设计的宗旨是直观、便捷和高效。
2.2模块通信
上海船舶运输科学研究所生产的数据模块采用数模转换方式,带输出、输入信号端口,其功能是采集从各个传感器过来的数据信号。通过串口通信或CAN通信与工控电脑连接。
图7为下位机连线总图,传感器可通过CANET的转换由网络一并传送给上位机处理。其他通信信号也可通过串口转换,最后连入网关。该方式的好处是可避免各信号端的差异性,统一后经过路由器一并处理数据,利于为无线数据系统的设计提供网络支持。
图7 下位机连线总图
2.3数据交换协议
根据网络结构的不同,对程序通信部分的代码进行举例介绍。
1) 局域网一般使用串口的Mscomm控件。部分代码样例如下:
Private Sub initcom() 串口初始化程序块
MSComm1.CommPort = 1 '选用com1串行口
MSComm1.Settings = "9 600,N,8,1" '波特率9 600,无奇偶校验位,8位数据位,1位停止位
MSComm1.InputLen = 0 'input将读取接收缓冲区的全部内容
MSComm1.InBufferSize = 1 024 '设置接收缓冲区的字节长度
'MSComm1.PortOpen = True '打开通信口
MSComm1.InBufferCount = 0 '清除接收缓冲区数据
MSComm1.OutBufferCount = 0 '清除发送缓冲区数据
MSComm1.InputMode = comInputModeText
'MSComm1.InputMode = comInputModeBinary
'periodic.inteval = 100 '设置1 s定时间隔,使遥测命令每隔1 s发送1次
End Sub
接收,发送处理事件:
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远程网络的移动端,采用WinSock控件TCP通信协议。部分代码样例如下:
(1) 安卓端:
protected void connectServerWithTCPSocket() {
Socket socket;
try {// 创建一个Socket对象,并指定服务端的IP及端口号
socket = new Socket("192.168.1.32", 1984);
// 创建一个InputStream,用于读取要发送的文件
InputStream inputStream = new FileInputStream("e://a.txt");
// 获取Socket的OutputStream对象用于发送数据
OutputStream outputStream = socket.getOutputStream();
// 创建一个byte类型的buffer字节数组,用于存放读取的本地文件
byte buffer[] = new byte [4 × 1 024];
int temp = 0;
// 循环读取文件
while ((temp = inputStream.read(buffer)) != -1) {
// 把数据写入到OuputStream对象中
outputStream.write(buffer, 0, temp);
}
// 发送读取的数据到服务端
outputStream.flush();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
(2) 服务端:
public void ServerReceviedByTcp() {
// 声明一个ServerSocket对象
ServerSocket serverSocket = null;
try {
// 创建一个ServerSocket对象,并让该Socket在1984端口监听
serverSocket = new ServerSocket(1984);
// 调用ServerSocket的accept()方法,接受客户端所发送的请求
// 如果客户端没有发送数据,那么该线程就停滞
Socket socket = serverSocket.accept();
// 从Socket当中得到InputStream对象
InputStream inputStream = socket.getInputStream();
byte buffer[] = new byte[1 024 × 4];
int temp = 0;
// 从InputStream当中读取客户端所发送的数据
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)统一采用安卓系统。
手机移动端界面全部使用按钮式操作,界面平整简洁,便于用户进行操作和体验(仅设计参考)。
3系统功能
系统由数据采集器和监测工控机两部分组成,数据采集器根据输入信号的不同可选择不同型号。
3.1数据采集器的功能
系统具有数据采集器的功能,具体如下(数量按实际需求调整):
(1) 可接受4~20 mA的模拟量输入及模拟量输出;
(2) 可接受0~24 V的模拟量输入及模拟量输出;
(3) 可接受开关量输入及开关量输出;
(4) 数据可定时、批量发送,或按监测电脑要求随机发送,由工控机作为主站;
(5) 对质量不达标的输入信号发出报警信息,提供生命报文参数;
(6) 数据采集器组态信息和采集的数据可断电保护;
(7) 具有时钟功能(也可通过监测电脑设定,误差在10 s以内)。
3.2监测工控机的功能
系统具有监测工控机的功能,具体如下:
(1) 能给数据采集器下发组态信息;
(2) 能给数据采集器下达控制命令(如测试、休眠、控制输出);
(3) 能校准数据采集器的时钟;
(4) 数据采集器发送来的数据能自动进入数据库;
(5) 数据库具备一定的安全措施;
(6) 处理数据采集器的报警信息并记录历史报警;
(7) 用户可自定义报警参数;
(8) 多用户之间主控权抢夺;
(9) 具有休眠和唤醒远程功能,根据相应的命令使数据采集器转入休眠状态或进入工作状态;
(10) 远程用户登录权限设置。
4结语
从结构到界面,详细介绍了理想的远程数据采集系统。该系统可分为有线数据采集和无线数据采集两部分;前者用于船上局域网内部通信和监测,后者用于岸上广域网远程通信和监测。结合监测系统和无线传输技术,重点介绍了无线监测系统的应用,并指出了对系统的要求。
未来可将该设计应用于实船,将不同地点的现场信息通过无线通信手段实时传送到任何地方,以提高船员的生活质量和工作效率,帮助航运企业全面掌握船舶的营运情况。
参考文献:
[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]阳宪惠. 现场总线技术与其应用[M].北京:清华大学出版社,1999.
[3]曹庆年,胡欣欣,孟开元,等. 基于HART协议的工业无线监控系统设计[J]. 西安石油大学学报(自然科学版),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