论文部分内容阅读
[摘 要]针对当前运营列车不尽相同的网络总线类型,提出了一种适用于多种车型、具备多种总线接口的列车数据记录装置设计方案,介绍了该装置硬件接口设计及其数据采集软件的实现。
[关键词]多总线接口、数据记录装置、硬件接口设计、数据采集软件
中图分类号:TQ124 文献标识码:A 文章编号:1009-914X(2015)24-0115-02
1 前言
随着列车控制的网络化,许多列车重要状态信息均通过网络传输,这使得通过网络采集列车数据成为可能[1]。研究具有多种总线接口的列车数据记录装置,采集列车运行数据,监测列车的运行状态,当列车发生故障时可用来分析判断故障原因,提高故障解决效率。对采集的总线数据可进行保存记录,通过对记录数据的分析,能够尽早发现列车运行的异常,并及时采取相关措施。同时,数据记录装置能够将重要的列车数据通过无线传输的方式发送到地面,使地面人员能够实时掌握正在运行列车的健康状态。
2 功能描述
列车数据记录装置具有MVB、CAN、RS485等多种总线接口,能够适用于多种车型、多种总线的数据采集,并具备Ethernet和WIFI数据上传和下载功能、GPS/BD2[2]支持全球卫星定位和北斗卫星定位功能以及GSM/GPRS[3-4]无线数据传输功能。
3 数据记录装置硬件设计
3.1 通信接口设计
列车数据记录装置采用基于cPCI[5]背板总线的通信方式,实现了MVB、CAN、RS485、Ethernet、WIFI、GPS/BD2、GSM/GPRS等外部通信接口,其原理框图如图1所示。
BPB板为背板,完成各板卡的信号联通。
MCB板为主控板,负责控制各个板卡的工作及数据流。MCB包含了内存和固态硬盘,CPU采用无风扇设计。
CMB板为储存器板卡,完成各种数据的防破坏的存储,存储单元采用大容量硬盘并支持热插拔。
CB板为通信板卡,负责将收集、存储的数据上传到地面服务器。CB板卡负责数据的上传和下载,传输方式分为有线和无线两种,有线为Ethernet接口,无线可以是GSM/GPRS或是WIFI接口,其中GPS/BD2集成在GSM/GPRS功能模块中。
FBB板为现场总线接口板卡,负责收集各种总线上的数据。FBB板卡支持MVB总线接口、CAN总线接口以及RS485总线接口。
PSB板为电源板卡,负责给数据记录装置供电。
4 数据采集软件设计
数据采集软件运行在Linux系统环境下,采用模块化设计,功能分解清晰,降低功能之间的耦合性。从而提高了软件质量和开发效率,替换单独功能模块,不需要改变整个结构,只需要进行相应功能模块的代码更改。
4.1 管理进程模块
管理进程模块是数据采集软件系统的第一个服务,该服务启动后,解析管理进程的配置文件,根据配置文件开启相应的进程(Mvb,Can,Rs485),然后监视这些进程的状态,并做出相应的处理。
管理进程包含程序的入口函数main,在main函数中,根据解析的配置文件開启相应的程序,之后维护一个服务,对开启的程序进行监视,对程序不同的状态做出不同的处理。
配置文件采用xml文件格式。配置文件内容应包括端口地址,数据大小,端口类型,采样时间等信息。打开配置文件,并依次解析配置文件中需要的变量,保存到file_conf结构体中。结构体定义如下:
struct file_conf {
int source_num;
int sink_num;
BITFIELD addr[4096];
int size[4096];
char type[4096][6];
int sample_time;
}
4.2 软件初始化模块
file_conf结构体中保存着从配置文件读取到的数据,在软件配置端口的时候,需要把file_conf结构体中的数据,依次赋值给各个端口的全局变量。
将配置文件解析出的数据设置到软件中,就是将保存在file_conf结构体中的变量赋值给软件配置的全局变量。全局变量定义如下:
int PD_PORT_NO;
int PD_PORT_SRC_NO;
int PD_PORT_SNK_NO;
int sample_time = 0;
#define PD_PORT_SRC_NO_1 4096
BITFIELD PD_src_port_address[PD_PORT_SRC_NO_1];
BITFIELD PD_src_port_size[PD_PORT_SRC_NO_1];
BITFIELD PD_snk_port_address[PD_PORT_SRC_NO_1];
BITFIELD PD_snk_port_size[PD_PORT_SRC_NO_1];
4.3 数据采集模块
实时数据采集主要是采集MVB、CAN、RS485等总线上各个设备的实时数据。在linux系统中,其实就是读取各个总线上设备的数据。实体数据保存在程序的一个全局数组中,它是随着总线上数据的变化而变化的。它可以直接保存在文本中,也可以通过网络发送出去。
当软件从各个总线上读取到数据后,首先存储到全局数组中,然后根据端口号、日期以及设备的不同,存储到不同的文件中。
从总线上采集到的实体数据保存在全局数组中,数组长度由数据最大长度决定。数组定义如下: char mvb_data_str[122];
4.4 数据发送模块
数据发送目前有三种方式:LAN、WIFI、GSM。
LAN:数据发送需额外建立一个线程,由C/S架构完成。数据发送通过TCP/IP協议,建立连接后,由select方式调度,向发起连接的客户端(上位机)发送实时数据以及历史数据。当客户端(上位机)与服务器(下位机)连接时,即可发送实时数据,如果客户端需要历史数据,需向服务器发送一条请求信息(例如:history),服务器接收到请求信息后,将保存的历史数据以文件的格式发送给客户端。
LAN数据发送采用的是tcp/ip协议,调度使用select方式,网络接口定义如下:
#define MYPORT 8888 //连接时使用的端口
#define MAXCLINE 5 //连接队列中的个数
#define BUF_SIZE 200
int fd[MAXCLINE]; //连接的fd
int conn_amount; //当前的连接数
pthread_mutex_t mutex;
其中pthread_mutex_t mutex是为了存储和发送同步的时候使用。
WIFI、GSM通信:程序通过WIFI、GSM硬件模块与上位机或者手机进行数据的发送。
5 结论
该列车数据记录装置具备当前主流列车总线接口,能够应用于多种车型。采用基于cPCI标准的背板总线设计,具有良好的扩展性,可根据需求随时进行接口的扩展和替换。其存储设备容量大、且支持可插拔,方便用户使用。数据采集软件实现了对MVB、CAN、RS485等多种总线的数据采集功能,采用了模块化设计,对接口传输信息进行了数据结构封装,保证了软件运行的稳定性和可靠性。
参考文献
[1] 张闯,赵红卫,樊贵新.浅析列车网络编组自适应的实现方法[J].铁道机车车辆,2003 23(z2).
[2] 王海峰,张升康,王宏博,仲崇霞.高动态GPS/BD2组合导航信号模拟器关键技术研究[J].宇航计测技术,2013,33(3).
[3] 曹莉,徐华中.基于GPRS网络的数据无线传输的实现接口[J].可编程控制器与工厂自动化,2006,02(12).
[4] Sony Ericsson.GR64 GSM/GPRS Modem Integrators Manual [Z].Sony Ericsson Mobile Communications International,March 2006.
[5] 屈涛.CompactPCI Express体系结构技术分析[J].工业控制计算机,2006,19(11).
[关键词]多总线接口、数据记录装置、硬件接口设计、数据采集软件
中图分类号:TQ124 文献标识码:A 文章编号:1009-914X(2015)24-0115-02
1 前言
随着列车控制的网络化,许多列车重要状态信息均通过网络传输,这使得通过网络采集列车数据成为可能[1]。研究具有多种总线接口的列车数据记录装置,采集列车运行数据,监测列车的运行状态,当列车发生故障时可用来分析判断故障原因,提高故障解决效率。对采集的总线数据可进行保存记录,通过对记录数据的分析,能够尽早发现列车运行的异常,并及时采取相关措施。同时,数据记录装置能够将重要的列车数据通过无线传输的方式发送到地面,使地面人员能够实时掌握正在运行列车的健康状态。
2 功能描述
列车数据记录装置具有MVB、CAN、RS485等多种总线接口,能够适用于多种车型、多种总线的数据采集,并具备Ethernet和WIFI数据上传和下载功能、GPS/BD2[2]支持全球卫星定位和北斗卫星定位功能以及GSM/GPRS[3-4]无线数据传输功能。
3 数据记录装置硬件设计
3.1 通信接口设计
列车数据记录装置采用基于cPCI[5]背板总线的通信方式,实现了MVB、CAN、RS485、Ethernet、WIFI、GPS/BD2、GSM/GPRS等外部通信接口,其原理框图如图1所示。
BPB板为背板,完成各板卡的信号联通。
MCB板为主控板,负责控制各个板卡的工作及数据流。MCB包含了内存和固态硬盘,CPU采用无风扇设计。
CMB板为储存器板卡,完成各种数据的防破坏的存储,存储单元采用大容量硬盘并支持热插拔。
CB板为通信板卡,负责将收集、存储的数据上传到地面服务器。CB板卡负责数据的上传和下载,传输方式分为有线和无线两种,有线为Ethernet接口,无线可以是GSM/GPRS或是WIFI接口,其中GPS/BD2集成在GSM/GPRS功能模块中。
FBB板为现场总线接口板卡,负责收集各种总线上的数据。FBB板卡支持MVB总线接口、CAN总线接口以及RS485总线接口。
PSB板为电源板卡,负责给数据记录装置供电。
4 数据采集软件设计
数据采集软件运行在Linux系统环境下,采用模块化设计,功能分解清晰,降低功能之间的耦合性。从而提高了软件质量和开发效率,替换单独功能模块,不需要改变整个结构,只需要进行相应功能模块的代码更改。
4.1 管理进程模块
管理进程模块是数据采集软件系统的第一个服务,该服务启动后,解析管理进程的配置文件,根据配置文件开启相应的进程(Mvb,Can,Rs485),然后监视这些进程的状态,并做出相应的处理。
管理进程包含程序的入口函数main,在main函数中,根据解析的配置文件開启相应的程序,之后维护一个服务,对开启的程序进行监视,对程序不同的状态做出不同的处理。
配置文件采用xml文件格式。配置文件内容应包括端口地址,数据大小,端口类型,采样时间等信息。打开配置文件,并依次解析配置文件中需要的变量,保存到file_conf结构体中。结构体定义如下:
struct file_conf {
int source_num;
int sink_num;
BITFIELD addr[4096];
int size[4096];
char type[4096][6];
int sample_time;
}
4.2 软件初始化模块
file_conf结构体中保存着从配置文件读取到的数据,在软件配置端口的时候,需要把file_conf结构体中的数据,依次赋值给各个端口的全局变量。
将配置文件解析出的数据设置到软件中,就是将保存在file_conf结构体中的变量赋值给软件配置的全局变量。全局变量定义如下:
int PD_PORT_NO;
int PD_PORT_SRC_NO;
int PD_PORT_SNK_NO;
int sample_time = 0;
#define PD_PORT_SRC_NO_1 4096
BITFIELD PD_src_port_address[PD_PORT_SRC_NO_1];
BITFIELD PD_src_port_size[PD_PORT_SRC_NO_1];
BITFIELD PD_snk_port_address[PD_PORT_SRC_NO_1];
BITFIELD PD_snk_port_size[PD_PORT_SRC_NO_1];
4.3 数据采集模块
实时数据采集主要是采集MVB、CAN、RS485等总线上各个设备的实时数据。在linux系统中,其实就是读取各个总线上设备的数据。实体数据保存在程序的一个全局数组中,它是随着总线上数据的变化而变化的。它可以直接保存在文本中,也可以通过网络发送出去。
当软件从各个总线上读取到数据后,首先存储到全局数组中,然后根据端口号、日期以及设备的不同,存储到不同的文件中。
从总线上采集到的实体数据保存在全局数组中,数组长度由数据最大长度决定。数组定义如下: char mvb_data_str[122];
4.4 数据发送模块
数据发送目前有三种方式:LAN、WIFI、GSM。
LAN:数据发送需额外建立一个线程,由C/S架构完成。数据发送通过TCP/IP協议,建立连接后,由select方式调度,向发起连接的客户端(上位机)发送实时数据以及历史数据。当客户端(上位机)与服务器(下位机)连接时,即可发送实时数据,如果客户端需要历史数据,需向服务器发送一条请求信息(例如:history),服务器接收到请求信息后,将保存的历史数据以文件的格式发送给客户端。
LAN数据发送采用的是tcp/ip协议,调度使用select方式,网络接口定义如下:
#define MYPORT 8888 //连接时使用的端口
#define MAXCLINE 5 //连接队列中的个数
#define BUF_SIZE 200
int fd[MAXCLINE]; //连接的fd
int conn_amount; //当前的连接数
pthread_mutex_t mutex;
其中pthread_mutex_t mutex是为了存储和发送同步的时候使用。
WIFI、GSM通信:程序通过WIFI、GSM硬件模块与上位机或者手机进行数据的发送。
5 结论
该列车数据记录装置具备当前主流列车总线接口,能够应用于多种车型。采用基于cPCI标准的背板总线设计,具有良好的扩展性,可根据需求随时进行接口的扩展和替换。其存储设备容量大、且支持可插拔,方便用户使用。数据采集软件实现了对MVB、CAN、RS485等多种总线的数据采集功能,采用了模块化设计,对接口传输信息进行了数据结构封装,保证了软件运行的稳定性和可靠性。
参考文献
[1] 张闯,赵红卫,樊贵新.浅析列车网络编组自适应的实现方法[J].铁道机车车辆,2003 23(z2).
[2] 王海峰,张升康,王宏博,仲崇霞.高动态GPS/BD2组合导航信号模拟器关键技术研究[J].宇航计测技术,2013,33(3).
[3] 曹莉,徐华中.基于GPRS网络的数据无线传输的实现接口[J].可编程控制器与工厂自动化,2006,02(12).
[4] Sony Ericsson.GR64 GSM/GPRS Modem Integrators Manual [Z].Sony Ericsson Mobile Communications International,March 2006.
[5] 屈涛.CompactPCI Express体系结构技术分析[J].工业控制计算机,2006,19(11).