APP下载

基于IPAD的便携式动态添乘设备的研究与应用

2015-10-14戚力为牛道恒王建敏马

铁路通信信号工程技术 2015年6期
关键词:日志车载界面

戚力为牛道恒王建敏马 麟

(1.北京全路通信信号研究设计院集团有限公司,北京 100073;

2.北京市高速铁路轨道交通运行控制系统工程技术研究中心,北京 100073)

基于IPAD的便携式动态添乘设备的研究与应用

戚力为1,2牛道恒1,2王建敏1,2马 麟1,2

(1.北京全路通信信号研究设计院集团有限公司,北京 100073;

2.北京市高速铁路轨道交通运行控制系统工程技术研究中心,北京 100073)

基于IPAD的便携式动态添乘仪通过无线接收的方式同步显示人机界面(Driver Machine Interface,简称DMI)内容,同时通过引用数据库实现车载运行数据的存储,具备离线回放功能。基于IPAD的便携式添乘设备使得技术人员可在驾驶室外部对车载设备工作状态及人机交互过程进行实时监测,为开展离线数据分析提供一种便捷、有效的手段。

人机界面;数据库;便携式;复显

在CTCS-2/CTCS-3级列控系统中,由人机界面(Driver Machine Interface,简称DMI)显示屏实时显示列车的位置、速度、等级、模式等运行信息,以数字、文本、图形、语音或声音等方式进行显示[2]。在列车运行过程中,驾驶室通常不允许非乘务人员进入,现场调试人员不能及时获得列车运行信息和司机按键操作,不利于设备的实时监控和问题的快速定位。基于IPAD的动态添乘设备通过接收多功能车辆总线(Multifunction Vehicle Bus,简称MVB)的数据实现与DMI同步,向现场调试人员实时显示列车的位置、速度、等级、模式等重要信息,并以图形、文字等形式在IPAD界面上进行实时更新。添乘人员不必进入司机室即可看到DMI的实时信息。同时,在接收运行数据后,调试人员可回放历史数据,复显列车运行状态及司机操作流程。本文首先对IPAD动态添乘设备的总体情况进行介绍;其次介绍各个模块的设计与实现;最后对IPAD动态添乘设备的应用场景进行阐述。

1 概述

1.1 开发背景

IPAD动态添乘仪硬件采用苹果公司的IPAD平板电脑,软件为适配IOS7系统的APP程序,基于Mac OS X下的集成开发环境引擎Xcode进行开发。软件采用(Model-View-Controller,简称MVC)设计模式:即模型、视图和控制器分层设计。模型包含数据、信息、逻辑或对象;视图包含所有的用户信息的组件;控制器是通信层、连接模型和视图处理的所有通信。这种设计模式能有效提高界面实时更新性能,以及处理庞大数据量情况,MVC设计模式原理如图1所示。

DMI数据量大,采用此设计模式,可以使数据和界面分开处理,满足IPAD动态添乘仪对界面刷新的高实时性要求。Mac OS X包含多个Cocoa框架,IPAD动态添乘客户端采用Objective-C语言基于Foundation框架和Application Kit框架开发。Foundation框架定义了一些基础类,基本的对象属性、行为和内存管理等。Application Kit框架包含实现图形的、事件驱动的用户界面需要的所有对象。

用户可从Apple Store上下载此APP,在IPAD上进行安装,用户名和密码的验证通过后即可打开软件进入主界面。IPAD动态添乘仪通过Wi-Fi连接DMI,监听DMI与车载ATP之间的交互数据,实现DMI的复显。其系统环境如图2所示。

图1 MVC设计模式原理图

图2 IPAD动态添乘仪与车载设备的通信原理图

1.2 功能介绍

IPAD动态添乘软件作为添乘人员接收车载设备数据的软件,主要负责完成以下功能。

1)身份验证功能:登陆界面需要用户身份验证,用户需输入用户名和密码才能进入主界面,保证软件的安全性。

2)通过无线局域网(Wi-Fi),IPAD动态添乘设备接收DMI发送出的界面信息数据,以数字、文本、图形、语音或声音等方式显示在IPAD界面上。

3)IPAD动态添乘设备记录DMI与ATP之间所有交互的数据,存储为日志文件。

4)支持历史数据回放功能,可手动拖动进度条选择要复显的数据范围,也可显示列车的运行轨迹曲线。

2 界面设计

IPAD的显示屏为Retina显示屏,分辨率为1024×768,IPAD动态添乘软件主界面分为8个主显示区,实时显示数字、文本、图形等信息。包括:目标距离信息显示(A区)、速度监控信息显示(B区)、补充驾驶信息和文本信息显示(CE区)、计划运行信息显示(D区)、功能键含义信息显示(F区)、进度条信息(G区)、文件信息(H区)。每一个主显示区又分为不同内容显示区域,主界面列车信息显示模块具体划分如图3所示。

其 中A~F区 为《CTCS-2/CTCS-3级 列控车载设备人机界面(DMI)显示暂行规范》中的标准界面,E区文本信息需要将主机ATP发送给DMI的文本信息显示出来,包括列车运行的模式信息、到站的站名信息以及车载ATP的错误警示信息等。文本显示区由UITextField控件显示时间和所有的文本信息。

一般情况下,列车运行的数据量较大,例如从北京开往上海的高铁,需要4个多h,运行期间数据不间断实时传送。在离线回放数据时,数据量大往往导致效率低。所以引入G区的进度条,复显时能通过手动拖动G1进度条控件,来选择播放日志文件的开始位置,点击G2播放按钮控件即可进行回放,提高离线定位的效率。

为了增强软件界面的友好性和使用的流畅性,引入UIScrollView控件在有限的界面区域内展示多个子界面。H区使用该控件分出3个子界面,其中H1区为行车速度曲线,显示列车的运行轨迹,横坐标为时间,纵坐标为列车速度,用来监控列车整体的运行状态;H2区为日志文件列表,日志文件以创建日期命名,以天为单位进行存储,并且支持手滑动删除日志文件;H3区为预留界面。

回放历史数据时主界面显示如图4所示。

3 数据通信模块设计

便携式的设备需要其具备方便、轻巧等特点。采用无线Wi-Fi的方式实现DMI数据的接收在DMI显示屏后方连接无线路由器,IPAD进入设置界面手动设置IP地址(DMI网段),和DMI建立UDP连接。建立连接后,IPAD即可实时接收DMI数据。

数据通信模块主要通过AsyncUdpSocket创建实例,绑定端口后创建接收线程。通过多线程以提高对大量数据进行接收和显示的效率。

4 数据存储模块设计

为了实现DMI回放功能,需要对DMI数据进行记录。在IOS开发过程中,将数据保存到本地,能够让程序的运行更加顺畅,使得用户体验更好,对IPAD保存数据的几种方法进行对比分析。

图3 IPAD动态添乘仪主界面区域划分

图4 IPAD动态添乘仪主界面

1)采用归档的形式来保存数据:需要遵守NSCoding协议,使用encodeWithCoder和initWithCoder来对数据进行编码和解码。归档的方法缺点是只能一次性归档保存以及一次性解压,所以,只能针对小量数据;如果想改动数据的一部分,则需要解压整个数据或者归档整个数据,对数据操作比较不灵活。

2)采用Write写入方式永久保存在磁盘中:首先获得文件的保存路径,即IPAD沙盒(sandbox)路径;接着在此路径下以时间为文件名来创建文件;最后是在此路径下打开文件对文件进行写入数据或读取数据等操作。由于IPAD内存空间有限,需要对数据进行压缩操作,但是数据在解析之前还要先对数据进行解压操作,增加了处理时间,性能大大降低,此方法不适合数据量大的情况。

3)NSUserDefaults用来保存应用程序配置信息和属性。

4)采用SQLite数据库来存储数据:SQLite是一个轻量级的关系数据库,是嵌入在IOS中的关系型数据库,不需要服务器,它占用资源非常少,对于存储大规模的数据很有效。IOS开发使用SQLite前,在Frameworks中加入所需的库,即libsqlite3.0.dylib库,直接使用库中的API对数据库进行创建、插入、读取和删除操作。

由于DMI数据都是基本类型数据并且数据量大,IPAD动态添乘仪采用第4种存储方法,实时接收DMI数据,存入数据库。DMI数据分为周期性动态数据和非周期性数据,其中周期性动态数据又分为CTCS-2和CTCS-3动态数据,将数据分类存储于表中。

4.1 数据类型

CTCS-2/CTCS-3级 车 载ATP和DMI之 间的交互数据分为以下2种类型。

1)周期性数据:在列车运行过程中,车载设备需要实时向DMI发送列车当前位置、实际速度、允许速度、目标速度、运行等级、运行模式、制动状态、轨道电路码等重要信息,DMI在界面上以图形、文字等形式实时显示上述信息,提示司机监控列车的运行状态。同时,DMI需要实时向车载设备报告DMI当前状态等信息。周期性动态数据分为CTCS-2和CTCS-3等级的动态数据,分别以0xaa和0xbb起始和结束,数据长度为32 Byte。

2)非周期性数据:列车越过地面应答器时,车载设备从应答器获得轨旁信息、线路条件、坡度信息、车站名等信息,需要将上述信息及时准确地发送给DMI;另一方面,车载设备在监控列车运行时,将产生的声音文本等信息发送给DMI。非周期性数据以0x99起始和结束。

4.2 数据存储格式

SQLite数据库是文件数据库,数据文件保存在IOS的Documents目录下。通过iTunes软件可以访问此目录,实现历史日志文件的导出和保存。

IPAD动态添乘仪接收到数据后,IPAD在沙盒中创建数据库,并以创建数据库的日期和时间命名,按照数据类型创建数据表,数据以帧为单位进行存储。

日志文件过多时可通过iTunes同步的方式导出数据,保存至外部存储设备中;同时支持对日志文件进行删除操作。

5 数据解析模块设计

IPAD动态添乘仪支持在线显示和离线回放功能。在线显示模式下实时接收和解析数据,并显示在IPAD上。离线回放模式下的数据来源为数据库中的历史数据。

数据解析模块根据DMI接口协议对码流进行解析,其中CTCS-2动态数据和CTCS-3动态数据为固定长度的帧,32 Byte,可按照数据结构直接进行移位解析操作;非周期性数据为非固定长度的帧,每条消息都包含消息头和消息长度,根据解析出来的消息类型和消息长度进入不同的处理分支。

IPAD动态添乘仪主界面刷新由数据触发,即有新的数据(ViewController)时,则会自动重新加载各个区(A~H区)刷新界面。

6 结束语

本文介绍了基于IPAD的便携式动态添乘仪的功能和模块设计与实现。本设备应用在高速运行的列车上,具有良好的通信功能和友好的人机交互界面,可实现DMI实时复显和数据回放功能,为相关技术人员监控车载运行状态及分析、定位问题提供了一种有效的手段。在IPAD添乘设备中实现列车司法记录(JRU)数据显示及解析功能是论文的下一步工作方向。

[1]柴小波.基于ARM的列车添乘仪的研究[D].武汉:武汉理工大学,2006.

[2]中国铁路总公司.铁总运[2014]30号 CTCS-2/3级列控车载设备人机界面(DMI)显示暂行规范[S].

The IPAD-based portable device can synchronously display the contents of the DMI over wireless LAN, store operation data of onboard equipment in the database to realize off-line playback and have the off-line replay function. The device can provide technical personnel for monitoring the onboard equipment status and man-machine interaction in real time outside the cabin and it also can provide a convenient and effective method for making off-line data analysis.

Driver Machine Interface (DMI); database; portable device; replay

10.3969/j.issn.1673-4440.2015.06.006

2014-12-04)

中国铁路总公司重大课题项目(2003B001-A-1);中国铁路总公司重大课题项目(2014X003-H)

猜你喜欢

日志车载界面
一种车载可折叠宿营住房
一名老党员的工作日志
扶贫日志
国企党委前置研究的“四个界面”
一种可用于潮湿界面碳纤维加固配套用底胶的研究
高速磁浮车载运行控制系统综述
奔驰S级48V车载电气系统(下)
雅皮的心情日志
雅皮的心情日志
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究