高速道岔监测系统监测主机设计研究资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
铁道部科技研究开发计划重点课题(2011G009)
高速铁路道岔监测技术研究之分报告二高速道岔监测系统监测主机设计研究
西南交通大学土木工程学院
西南交通大学铁路发展有限公司
二0一二年九月
目录
1引言 (1)
1.1 研究目的 (1)
1.2 背景 (1)
2软件设计 (1)
2.1 软件总体结构 (1)
2.2 开发工具 (2)
2.3 处理流程 (3)
2.3.1接收下端数据处理流程 (3)
2.3.2接收上端指令处理流程 (3)
2.4 软件结构 (4)
2.4.1软件模块划分 (4)
2.4.2各程序模块说明 (5)
3接口设计 (5)
3.1 外部接口 (5)
3.2 内部接口 (6)
4数据结构和算法设计 (6)
4.1 数据结构描述 (6)
4.2 主要算法设计 (8)
5运行设计 (8)
6出错处理设计 (8)
7安全保密设计 (8)
7.1 安全设计 (8)
7.2 系统日志 (8)
高速道岔监测系统监测主机设计研究
1引言
1.1研究目的
高速道岔监测系统监测主机设计研究详细介绍了高速道岔监测系统监测主机的接口设计、运行设计、系统数据结构设计、系统出错处理设计。开发人员可以通过该说明书大概了解系统设计的整体功能、总体设计概括以及运行的流程,为详细设计奠定了基础。
1.2背景
高速道岔是高速铁路基础设施中十分重要、影响行车安全的关键设施,要求具有高速度、高安全性、高平稳性、高可靠性,能长期保持良好的工作状态,能确保高速列车安全、平稳、不间断地运行。
高速道岔监测系统正是针对我国高速铁路建设的现实需要研发的。以安全性监测为主,以状态监测为辅。与国外高速道岔监测系统的功能不同,我国高速道岔应重点监测断轨等安全性项目,而辅以转换力等状态监测。搭建起高速道岔系统、全面的监测系统技术框架,预留后期其他监测项目的融合,能适应中国、德国、法国技术的道岔结构。
监测主机是高速道岔监测系统中的重要一环,起着承上启下的作用。监测主机安装于车站,收集该车站所有监测分的数据,将其发送到铁路局平台,并进行原始数据存储。
2软件设计
2.1软件总体结构
高速道岔监测系统监测主机软件是网络通信模块、协议栈模块、状态处
理模块、消息转发模块组成。
主机软件通过网络通信模块从各监测分机、第三方服务器处接收数据,然后将数据交由协议栈模块进行数据的解析,数据模块模块根据数据包中的地址域,及数据类型,将数据转发到铁路局平台的不同数据容器中,同时,主机软件还有状态处理模块,定时检测其下各监测分机、第三方服务器的工作状态,并通过数据转发模块将状态信息转发到铁路局平台。
软件结构如图2-1所示:
图 2-1高速道岔监测系统主机软件结构图
2.2开发工具
高速道岔监测系统主机软件的运行环境为linux,采用的开发语言为C++。
2.3处理流程
2.3.1接收下端数据处理流程
图 2-2 接收下端数据处理流程图2.3.2接收上端指令处理流程
图 2-3 接收上端信息处理流程图2.4软件结构
2.4.1软件模块划分
图 2-4 主机软件平台模块划分
2.4.2各程序模块说明
1.网络通信模块
网络通信模块分为两部份:下端通信模块和上端通信模块。
下端通信模块主要负责从各监测分机及第三方主机处采集数据,同时,负责将从铁路局平台下发的指令发送到相应的监测分机及第三方主机。
主机将处理好的监测分机及第三方主机数据交由上端通信模块发送到铁路局平台,同时,上端通信程序还负责从铁路局平台接收指令,交由数据处理模块处理。
2.协议栈模块
协议栈模块负责从下端通信模块接收到的数据包中解析出数据来源主机的地址域、数据类型等协议格式,根据不能的数据类型进行相应的处理;同时,协议栈模块还要从上端通信程序接收到的指令包中解析出目标机器的地址域等操作。
3.状态处理模块
状态处理模块根据设定的数据周期,检测各数据单位是否有数据上传,据此判断各数据单位是否连接在线,生成状态数据包。
4.消息转发模块
消息转发模块根据要发送的数据的地址域,查询出目标机器的网络地址,也即网络寻址,然后网络通信程序根据目标机器的网络地址,将相应的数据发送到目标机器,完成数据的转发。
3接口设计
3.1外部接口
1、传输方式
本规范中车站主机与各监测分机、第三方服务器处在同一局域网中,通
信协议采用TCP/IP协议,数据交换的通道为10/100M内网。
数据传输方式为二进制码流的方式。
2、传输格式
车站主机通信的数据采用如下组包格式:
表 3-1 主机通信数据组包格式
主机与各监测分机、第三方主机之间的传输内容包括心跳数据、设备状态数据、采集的原始数据、报警信息等,不同的目标机器,其传输的内容和格式有所不同,详见通信协议文档。
3.2内部接口
内部模块之间的划分考虑了高内聚、低耦合,所有有联系的模块之间的接口基本上是在模块之间共享某些数据库中的数据。
4数据结构和算法设计
4.1数据结构描述
1、地址映射表
数据转发模块所采用到的地址域/网络地址映射表,是进行目标机器寻址的关键数据,其结构为:
表 4-1 地址映射表
铁路局编码
铁路局编码车站主机编码
车站主机编码监测项编码
监测项编码网络地址
网络地址
2、协议数据包
struct switch_packet_struct {
/* 包的长度(不包括HEADER),也不包括mqid 和mqflag */ size_t len;
/* 包内数据(data)段长度 */ size_t data_len;
unsigned char control_zone[CONTROL_ZONE_LEN]; unsigned char address_zone[ADDRESS_ZONE_LEN]; struct afn_struct* afn; unsigned char* data; unsigned char* pw; unsigned char* raw_data; apr_pool_t* mp;
struct control_zone_struct* czone; struct address_zone_struct* azone; char debug_id[37]; configuration* cfg;
unsigned char mqid[MQID_LEN]; unsigned char mqflag; };