APP下载

火炮控制系统健康管理①

2020-11-24王栋才

计算机系统应用 2020年11期
关键词:火炮总线嵌入式

张 原,王栋才

(西北工业大学 电子信息学院,西安 710072)

火炮是海陆空三军重要的武器装备,作战需求是促使火炮多样化的任务使命,大量新型技术的应用,极大的提高了火炮的性能.随着火炮复杂度的提高,故障的发生概率也同步提高,致使装备的保障难度增大.武器装备的保障性对装备快速形成并保持战斗力有着至关重要的作用.当前,火炮维修主要是事后维修和计划维修,这两种维修方式造成维修不足与维修过剩,一旦在关键时段发生故障,将严重影响作战任务.事实表明,事后维修与计划维修均不能对火炮有效可靠的保障.对武器装备进行视情维修可以很好的解决事后维修与计划维修的弊端,基于视情维修的一项关键技术就是故障预测与健康管理技术(PHM).装备健康管理以事后维修与预防性维修为基础,基于状态维修的理论,深入到装备的数字化、信息化、无人化管理中.通过分析健康状态的影响因素,结合监测、使用等环境信息,对装备健康状态检测,预报失效以及关键部件剩余寿命,对装备健康状态进行评估与预测,选择合理的维修策略,进行装备高效的保障活动,极大的提高了装备的保障性[1,2].

美军在20世纪60年代开始提出了武器系统的故障预测与健康管理技术.最先应用于航空航天领域,对航天器综合健康管理.随后,在各军种中具有针对性的开发健康管理系统,如在陆军直升机中的使用和状态管理系统(HUMS),美国海军的综合状态评估系统(ICAS)和预测诊断系统(PEDS),陆军的诊断改进计划(ADIP)[3,4].国内关于故障预测与健康管理技术的研究起步虽晚,但已经受到国家各单位重视,国家在《国家中长期科学和技术发展规划纲要(2006-2020)》明确指出:重大产品和重大设施寿命预测技术是提高运行可靠性、安全性、可维护性的关键技术[5].故障预测与健康管理技术是未来复杂装备保障维护的重点发展方向.我国对PHM 技术的研究与应用取得一些成果.如先进战斗机配备的PHM 系统,新研直升机搭载的HUMS系统,我国首型大型客机C919 正式搭载的具有自主知识产权的PHM 系统.本文研究了可应用于新型火炮控制系统的健康管理系统的设计与相关技术的实现.有助于对火炮系统的视情维修,提高火炮系统的可靠性、安全性、维修性、测试性、经济性与保障性.

1 系统总体设计

火炮控制系统的系统框架图如图1所示.

火炮控制系统CAN 总线网络节点由随动系统、发射控制系统、装填与供弹系统、火炮监控台以及健康管理系统节点组成.除健康管理系统外,各系统间通过周期性数据发送方式,在每个周期内,各节点在固定时间区段内发送数据.在火炮监控台中配置系统定时管理设备,CAN 总线上的各节点使用上机系统的时统信号作为时间基准,向CAN 总线上各有关节点提供固定时间的控制系统统一数据采样脉冲,各有关节点使用该脉冲进行接口传输数据采样,并作为接口数据传输的对准时刻,以及作为各有关节点新周期的开始标记.火炮控制系统CAN 总线网络节点除健康管理系统外其他节点可以互相进行数据通讯.

健康管理系统属于火炮控制系统的一个子系统,在火炮控制系统CAN 总线数据通讯节点属于非常备在线节点,只接收不发送数据,在实际应用中,用户可根据实际情况进行接入或脱离.健康管理系统设备通过CAN 总线接口获取火炮控制系统中节点之间的通信数据.健康管理系统设备示意图如图2所示.

图2 健康管理系统设备示意图

健康管理系统的硬件采用主板加扩展板的方式,主板采用可运行嵌入式操作系统的基于X86 结构的处理器,通过PC/104-PLUS 总线扩展CAN 模块.对外接口有电源接口、CAN 接口、VGA 接口、USB 接口、以太网接口.健康管理系统通过CAN 数据接口接入火炮控制系统CAN 总线,对火炮控制系统CAN 总线上节点之间的通信数据采集获取,而后通过系统软件对数据做进一步的详细处理.在火炮控制系统工作过程中,依据CAN 总线通信协议,区分火炮控制系统CAN总线节点间的通信,健康管理系统将火炮工作的实时数据进行录取保存,同时将火炮工作的重要实时数据通过VGA 接口在特定的显示器进行显示.健康管理系统的以太网接口完成设备中数据的上传与设置功能,另外,以太网接口用于开发者对健康管理系统功能调试.USB 接口用于开发过程中对系统的调试.通过开发基于硬件的板级支持包,完成嵌入式操作系统VxWorks的移植.利用嵌入式软件完成对通信数据的处理分析.健康管理系统的功能框架图如图3所示.

图3 健康管理系统功能框架图

健康管理系统软件系统完成的功能包括火炮控制系统CAN 总线数据处理、以太网数据处理、实时数据可视化、数据存储与履历信息记录、故障诊断与预警.健康管理系统依据火炮控制系统CAN 总线协议获取数据后,对数据按照节点发送与接收的方向对数据进行封装.通过健康管理系统软件完成原始数据录取与分析.

2 基于嵌入式操作系统VxWorks 的多任务程序设计

VxWorks 操作系统是美国Wind River System 公司推出的一个实时操作系统,具有高效的任务管理功能,支持多任务,可分配256 个优先级,支持优先级抢占式调度和时间片轮转调度.VxWorks 被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域.VxWorks 6.9 操作系统支持内核模式与用户模式两种模式开发,同时支持多核处理,并使用vxbus 取代传统的驱动模型.根据系统总体设计,健康管理系统软件功能模块之间的关系如图4所示.

图4 火炮健康管理系统功能关系图

CAN 总线数据获取模块:数据采集模块通过硬件接口函数间火炮控制系统CAN 总线上所有的通信数据收集,存放至环形缓存中,数据处理任务提供原始CAN 数据.

数据处理任务模块:通过环形缓存中读取板卡采集的CAN 通信数据,根据CAN 总线报文协议对报文中发送方、接收方对应的数据报文进行解析.将解析后的数据报文存储至与其他模块的接口中,供其他模块获取数据.将各报文原始数据存储为文件,将重点部件数据以及履历信息存储至数据库中.接口使用实时性好、效率高的共享内存实现.同时,数据处理模块完成原始报文数据格式化存储.

网络数据处理模块:网络数据处理任务接收指令,完成数据库表中数据查询与修改.PC 机通过传输效率高、传送速率快等特点的UDP 协议发送相应功能的指令,完成对数据库进行本地化更新以及设备履历信息的查询与设置.

数据库模块:为方便完成重要数据、设备不同工作状态时间信息以及关键部件使用等履历信息的结构化记录及查询,在系统中进行数据库设计,通过数据库结构化管理节点间通信的关键数据信息以及设备履历信息.通过看门狗定时器定时对数据库中数据更新.

界面可视化软件模块:界面可视化任务负责各节点实时在线状态监测、关键数据信息以直观有效的图表或指示灯的形式进行显示.

故障诊断与预警模块:数据处理任务将接收的CAN 数据帧按照协议格式进行解析,得到节点之间的报文通信数据,故障诊断与预警模块通过对实时报文数据进行诊断,得到部件的状态,根据部件的健康状态显示于可视化界面.

任务间的接口关系如表1所示.

在健康管理系统多任务设计过程中,所遵循的原则如下:

模块化:根据需求分析文档,采用分而治之的原则,将需求进行功能任务划分,使每个模块能够独立开发、测试,使程序结构清晰,容易理解、调试以及后期维护.

高内聚低耦合:在模块划分时,任务数据尽可能地在模块内进行有序处理,在数据处理过程中,尽可能地减少模块之间的数据交互,严格管控模块间的接口规范.保证模块之间的独立性.

可靠性:在系统功能任务模块之间,将不同任务定义不同的优先级,以确保任务功能的可靠执行,提升系统指标要求.在任务中注册Watchdog 程序,防止任务陷入死循环.

周期性:周期性执行的任务模块,通过看门狗定时器设定时间间隔,按照规定的周期激活周期性任务执行.

表1 健康管理系统接口表

防止死锁饥饿:在使用共享内存进行任务间通信时,必须解决的一个问题是共享内存的访问机制,保证共享内存在某短时间只能为一个任务提供数据服务.在一块共享地址空间用来交换数据时,需要避免冲突,使用关中断,禁止抢占,信号量锁定资源.

3 嵌入式数据库设计

当前,广泛应用的关系型数据库有MySQL、SQLite、Microsoft Access、Oracle 数据库等.MySQL、Microsoft Access、Oracle 数据库使用时,需要进行安装配置部署,运行时会消耗很大的系统资源,不适用于嵌入式系统的数据存储.SQLite 数据库是一个轻量级、跨平台、高效可靠嵌入式数据库,运行于一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL 数据库引擎,被广泛应用于嵌入式系统应用开发中.SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接.SQLite 可以直接访问其存储文件,源代码为C 语言且源代码完全开放、数据库文件可以在不同字节序的机器间自由共享,数据库支持TB 级别的数据量、存储在单一磁盘中的一个完整的数据库、比目前流行的大多数数据库对数据的操作要快[6].

在健康管理系统运行中,实时通信数据的存储以及实时数据的处理与管理对系统的运行效率和设备的性能是非常重要,针对火炮控制系统中不同的工作模式下对数据的要求不同,根据火炮控制系统CAN 总线数据通信协议,对报文数据进行分类记录和管理,并根据数据重要性以及访问频率进行数据库设计.使健康管理系统能够在系统资源满足的条件下能够更好的管理数据,用嵌入式数据库对数据进行结构化管理,设计的数据库中部分表结构有如表2~表5所示,有部件统计表、设备工作时间表、关键部件统计表、设备开机记录表等.

表2 部件统计表

表3 设备工作时间表

表4 关键部件工作表

表5 设备开机记录表

部件统计表:统计了火炮相关部件使用次数以及各节点在线履历信息;设备工作表:统计了设备在不同工作模式下的履历信息数据;关键部件统计表:详细统计了关键部件的历史使用与本阶段使用次数;设备开机记录表:详细统计了设备开关机时间、工作时长、文件记录名以及文件大小.数据库表设计所遵循的原则:

命名规范化:在设计数据库表中字段的命名时,遵从易理解直观的命名规范,方便后期维护与修改.

表结构合理化:将修改频率高的字段建立一个表,将不经常修改的数据建立一张表,减少存储与查询频率对系统资源消耗.

表之间数据完整性:通过使用触发器来保证数据完整性.当表中某一项数据更新后,其他表中相关的数据应及时得到数据更新.例如,当设备关机时,设备记录表中poweroff_time 字段发生变化,字段更新后触发时间改变触发器,完成设备开机记录表中工作时长的同步更新,完成设备工作时间表中工作时长的同步更新,完成部件统计表中相关数据的同步更新.

4 可视化界面工程设计与实现

目前,在嵌入式系统VxWorks 的可视化界面应用开发中,能够保证可靠应用的开发环境主要有Qt 与Tilcon.Qt 是跨平台C++图形用户界面应用程序开发框架,在界面开发、控制台程序与服务器程序中得到广泛应用.Tilcon 是美国Windriver 公司开发的多平台界面开发工具,能够运行于VxWorks、Linux、Windows CE 等.Tilcon 有着理想的人机界面、虚拟设备和嵌入式图形界面开发环境,是目前最先进的VxWorks 下实时操作系统图形开发工具,它集成了大量成熟控件,用户只需要从工具栏中拖动控件,即可实现简单的界面开发.Tilcon 开发的图形应用程序具有可裁剪性强、运行效率高、显示效果好等优点,主要用于实时、嵌入式或军事应用领域中频繁进行数据交互的应用.相比于QT,Tilcon 使用很少的代码实现控件之间能够设置关联、触发关系等,仅需在Tilcon 界面开发环境中设置控件的属性表即可.在开发高质量图形界面比较困难的系统、需要编写大量的代码、要求开发人员具有相应的特殊技能时,Tilcon 可以把用户从大量编码的图形界面开发方式中解放出来,高效的开发出高性能的图形界面.使用Tilcon 界面开发的工程有相当强的可移植性,在开发完成后易于修改和维护.在界面开发阶段,用户使用Tilcon 界面开发工具可以迅速完成原型的构建以及对控件功能进行测试与调试,可以显著缩短从构想到原型再到实际产品的开发周期.健康管理系统中可视化软件采用跨平台、嵌入式图形界面开发环境Tilcon5.9 开发,在VxWorks内核模式下开发示意图如图5所示.

图5 Tilcon 在VxWorks 内核模式开发示意图

首先,创建编译DKM 媒体库工程,DKM 媒体库为VxWorks 启动Tilcon 界面程序的关键中间插件,在DKM Tilcon 应用程序编译和VxWorks 镜像编译时必须使用相同配置的DKM 媒体库;第2 步,对Tilcon 内核裁剪与配置,按照需求选择需要显示的控件类型,比如Button、3D Panel 等,减少嵌入式系统资源开销;通过编译裁剪Tilcon 内核配置工程,将Tilcon API、Tilcon GUI Engine、Tilcon TAL 生成相应的静态库或动态库文件,为Tilcon 应用程序提供应用库支持;第3 步,通过编译DKM Tilcon 界面应用程序生成可供VxWorks 系统镜像加载的目标文件prj_name.out;最后,配置VxWorks 内核工程,确保任务启动时能够正确加载prj_name.out 工程文件.

5 健康管理系统验证

健康管理系统实物图如图6.本文利用VxWorks嵌入式操作系统对健康管理系统多任务程序功能设计与实现;使用轻量级、跨平台的嵌入式数据库SQLite3完成设备与部件的履历信息的存储与管理;使用运行效率高,显示效果好的嵌入式图形界面开发环境Tilcon 完成实时数据可视化.健康管理系统通过接入火炮控制系统CAN 总线开始工作,接收并处理CAN总线上各节点之间的通信数据,通过可视化界面显示火炮实时状态以及实时数据,同时将部件以及节点通信的履历信息存储于嵌入式数据库中.健康管理系统在实验室测试环境,以及在随火炮内外场试验中,均能够可靠稳定运行.

图6 健康管理系统实物图

6 结束语

现代智能技术的变革,武器系统的保障向智能化、信息化、集成度高的方向发展,本文针对火炮控制系统进行健康管理系统设计与实现,介绍了健康管理系统的系统多任务程序设计;针对嵌入式系统的资源限制,阐述了利用嵌入式数据库SQLite3 对健康管理系统的数据库设计与实现;说明了利用可靠的界面开发工具Tilcon 完成实时界面设计,并介绍Tilcon 在VxWorks 6.9 内核模式下开发的关键技术流程.通过在现实环境下的测试与验证,系统能够可靠稳定的运行,在随火炮实验的过程中取得较好的效果.

猜你喜欢

火炮总线嵌入式
基于IMX6ULL的嵌入式根文件系统构建
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
关于CAN总线的地铁屏蔽门控制思路论述
乌拉尔车辆厂将建立一条自动化生产线
高校图书馆开展嵌入式信息素质教育的思考
Q&A热线
PCI9030及其PCI总线接口电路设计
冒着炮火拍大片
AItera推出Nios II系列软核处理器