列车电源数据采集分析系统的数据库软件设计

本文介绍了基于虚拟仪器技术开发的一款用于实时监测铁路电源的软件,并对所得数据进行数据管理。在铁路上,电源的监测并不是一个新的问题,通常情况下,一条线路上每一台电源都有自己的电源监测记录仪器,而这款软件是利用网络实现远距离实时监控线路上每一台电源的工作情况,从而方便监控人员发现问题并及时解决。同时,针对不同型号的电源产品,本软件利用动态库挂接技术,将针对不同的电源设计的采集模块(通过CVI/LABWINDOWS编写)挂接到MFC完成的主控模块下,并利用xml文件实现了数据结构的自适应,从而完成了通用化设计。本文将首先介绍虚拟仪器技术的背景和前景以及CVI平台的优势,然后介绍了本软件的具体需求和实际意义以及架构,最后详细介绍了数据库的设计与实现,CAN总线采集模块设计以及本软件的最大创新点——软件通用化设计。
目录
摘要 I
Abstract II
第一章 绪论 1
1.1 课题及背景意义 1
1.2 本文研究内容及章节安排 2
第二章 软件概要设计 3
2.1 软件整体架构 3
2.1.1 设备层: 3
2.1.2数据层: 4
2.2 软件数据流 6
2.2.1 实时数据流 6
2.2.2 故障记录数据流 6
2.2.3 运行记录数据流 7
2.3 软件整体架构 7
2.4 软件界面设计 8
2.4.1 CAN采集面板界面 8
2.4.2 主控模块界面展示 10
第三章 数据库设计 13
3.1 国内外数据库种类及介绍 13
3.2 软件的数据库设计 16
3.2.1 数据库数据流 16
3.2.2 数据库实现机制 ODBC 17
3.2.3 采集模块中的数据库具体实现方法 18
第四章 CAN采集模块的设计 19
4.1 CAN总线 20
4.1.1 CAN数据帧格式 20
4.1.2 USBCAN 21
4.2 CAN的应用层 21<
 *好棒文|www.hbsrm.com +Q: *351916072* 
br /> 4.2.1 CANopen介绍 21
4.2.2 CANopen具体应用 22
4.3 CAN报文接收与发送实现程序 31
4.3.1 CAN初始化 32
4.3.2 CAN数据包解析 34
4.3.3 CAN数据包的构造 36
第五章 软件通用化设计架构 37
5.1 软件通用化 37
5.1.1 动态库dll 37
5.1.2 COM组件 38
5.2 xml文件实现数据结构自适应 39
第六章 总结与展望 40
6.1 总结 40
6.2 展望 40
参考文献 42
致谢 43
附录 44
第一章 绪论
1.1 课题及背景意义
本项目为XX电子公司开发车载电源系统的配套系统。随着XX电子电源用户的日益扩大,电源产品线的不断丰富,配套一个数据采集和分析系统,通过对电源系统各种状态、控制数据的采集和显示,对电源的各项动作行为评价、电源故障前后的数据进行保存和分析分析,可以辅助新电源产品的设计、调试,以及分析电源故障,改进电源产品。
事实上,XX公司在之前每一款产品推出时,都单独配有一款相对应的电源测试软件,但是随着产品的日益增多,和公司的正规化程度加深,公司希望自己开发一款能够同时管理检测多个电源的集成软件系统,并对以后的产品有可扩展性。因此通用化的问题变成了开发这款软件的最大难点,项目组根据实际情况,最后决定选用CVI/LABWINDOWS进行底层的数据采集模块开发,将数据的分析模块全部放到上层的主控程序之中,上层软件选用了界面效果更好的VS2010进行开发,两者通过动态库进行结合。
1.1 软件基本介绍
本电源测试系统根据对用户的需求分析,基本把软件的框架变为一个上层主控显示模块挂接多个不同电源型号的采集模块的形式。
首先,上层主控模块要求具有对用户,数据库,不同模块进行统一管理的功能,其次还要求其能对下层模块采集来的数据根据类型进行分析,能对其进行算数分析生成测试报告,鉴于这么多的要求考虑,我们选择了VS2010作为开发环境进行上层模块的开发,原因有两点 1 MFC的界面设计更加的简便美观,更符合长期受用WINDOWS操作环境工作人员的喜好 2 VS2010为开发人员提供了大量的控件,尤其是其中的TEECHART控件非常方便本次软件所需的画图,列表等功能。
而对于下层模块,我们针对不同的机型以及通信方式,会有很多种类,本人具体参与了其中一种A型逆变器电源的CAN采集方式模块的编写,这一模块的具体要求是通过CAN报文的形式将数据从下位机中读取到上位机中,包含实时采集的数据,运行记录数据和故障记录数据三种,本模块要实现对它们的采集,显示和存储功能。出于接口的考虑,我们选择了CVI/LABWINDOWS[2]作为这一模块的开发环境,利用其高效简单的接口功能函数[1],实现复杂的CAN通信。

图1.1 CVI界面
1.2 本文研究内容及章节安排
本文主要详细说明一款利用CAN总线对总线上所挂电源工作情况进行实时监测以及数据管理的软件中本人参与的工作模块,包括软件的整体架构介绍,软件的数据库接口模块设计,CAN总线采集模块设计以及通用化设计。
总共分为6章,第一章介绍了本文的背景意义及主要开发环境。第二章介绍了软件的整体架构,实现架构的机制,数据流的走向。第三章介绍了数据库实现的方法。第四章介绍了软件CAN采集模块的内在机制。第五章介绍了本软件的创新点通用化设计,以及用动态库实现通用化和COM组件实现通用化的优缺点。第六章进行总结和展望。
第二章 软件概要设计
2.1 软件整体架构
 图2.1 总体架构图
2.1.1 设备层:
设备层主要功能是完成通信接口的设置、数据通信以及通信协议的解析(包括数据帧的解析与封装)。
1 通信接口设置:
在运行软件启动时,检测本机的通信接口设备,并将检测到的设备信息传输给表示层的通信参数设置模块进行显示;用户对通信参数进行设置后,按照已设定的参数,对相应地通信接口进行初始化,并将设置信息反馈给表示层,表示设置成功。
2 CAN网络通信模块:
接收CAN接口的数据,进行初步校验后,将接收到的数据发送给协议解析模块(拆包模块);通过CAN总线接口发送经过数据组帧后的数据;当接收或及发送数据出现了故障的时候,需要进行必要的故障处理操作。
3数据帧解析模块:

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1164.html

好棒文