基于UDP协议的设备健康管理系统
2015-12-18周志军
祝 婷,周志军,黄 翩
(西安电子科技大学电子信息攻防对抗与仿真重点实验室,陕西西安 710071)
随着现代科技工业以及信息技术的发展,随着航空、航天、通信、工业应用等各个领域工程系统的复杂性、综合化、智能化程度不断提高[1]。而设备的维护、保障成本越来越高,传统电子系统事后维修已无法满足要求,因此开发设备健康管理系统显得尤为重要。20世纪90年代初,美国军方最早提出故障预测与健康管理(Prognostics and Health Management,PHM)技术[2]。PHM是减少维修保障费用的一个重要手段。
在我国,PHM在多工业领域得到了应用,但目前满足市场需求功能完善的设备管理系统仍较少。因此,面对高度自动化、连续化、规模化、结构复杂的设备,开发具有针对性符合客户功能需求的设备健康管理系统(Equipment Health Management System,EHMS)是必要的。
1 系统设计
1.1 系统框架
系统应客户需求开发具有针对性的设备管理软件,用于实时监测高速相机、中波红外相机、长波红外相机、中波红外存储分系统等高精度的仪器设备运行状态,并将设备运行的状态数据进行存储以便于分析设备的健康状态,及时维护保养设备,从而降低维修费用。
本系统基于局域网并采用C/S模式[3]。客户端采集到实时状态数据后使用UDP协议将数据发送给服务器端,服务器端在接收到数据后对数据进行解析处理和存储,并在服务器端建立告警机制,通过对实时接收到的数据分析后对设备的工作状态进行及时的反馈处理。多台设备通过一个网络接口模块对应一个客户端,一个网络接口模块对应8个监控模块,因此一个客户端连接的设备不超过8台。该系统拓扑结构如图1所示。
图1 系统拓扑结构图
1.2 系统的功能模块设计
为满足设备健康管理的需求,软件系统主要包含4大主要功能模块:数据传输/通信、数据分析、故障诊断及告警、健康评估及寿命预测。
图2 系统功能模块示意图
(1)数据传输/通信模块。接口模块通过UDP将采集到的实时运行状态数据传输给服务器,速度最高可达到每10 ms传输一次。
(2)数据分析存储模块。服务器将接收到的实时数据解析后存入数据库,并根据需要进行处理。由于数据传输过快,若接收到数据后直接存入数据库,时间>10 ms,无法达到要求。因此,需在通信和存储之间设计了一个中间缓存,使两者互不干涉同时作业。
(3)故障诊断及告警模块。当某些信息的采集值超过正常范围时,系统应及时做出报警反映,并生成报警记录,通知监测者及时采取措施排除故障。例如电源监控接口模块中的28~60 V直流监控模块(JK2860-1),模块自身工作电源+28 V。被控电源输入电压28~60 V,输出电压28~60 V。当低于28 V时,系统会提示欠压警告;当高于60 V时,系统会提示过压警告。
(4)健康评估及寿命预测功能模块。根据各状态信息对设备进行健康评估,分析设备的性能趋势。当设备出现恶化征兆时,发出告警提示相关人员。使用各种模型对设备的寿命进行预测,当预测显示设备寿命将尽时,发出告警并及时更换设备从而减少不必要的损失[2,4]。寿命预测界面如图3所示。
图3 寿命预测界面
2 UDP协议
用户数据包协议(User Datagram Protocol),UDP[3,5],其是OSI参考模型中的一种无连接传输层协议,可提供面向事务的简单不可靠信息传送服务,资源消耗小、处理速度快,但容易出现丢包的缺点。
过量白蛋白通过近端小管细胞再摄取并激活一系列信号通路引起肾小管间质炎症、氧化应激、纤维化和肾小管细胞损伤和死亡[58]。因此,肾小管上皮细胞在协调蛋白尿诱导的肾损伤和纤维化进展中起重要作用。另外,肾小管细胞凋亡可能导致肾小管形态学改变,进一步导致肾小管萎缩[59]。
系统中,由于仅用于监控设备的健康状态,每次传输的数据量小且突发性强,对数据传输可靠性要求较低,而客户端有多台设备与服务器相互通信,故适合使用UDP协议。
3 应用UDP协议进行设备通信
系统选择C/S结构并采用vs2005工作平台开发。Visual Studio 2005基于.NET2.0框架,其同时也可开发跨平台的应用程序,包括了完备的编码、调试、测试和发布功能。服务器端在与设备进行通信时,所发送的每一个数据包均必须严格按照数据传输协议进行打包。在数据协议中统一按网络接口模块管理8个监控模块,每个监控模块监控3路电源设计。在网络接口模块中对不存在的监控模块不下发指令,在单路监控模块中对不存在的两路被控电源不予操作,但在指令、信息中相应内容统一填“0”。数据传输协议包括控制指令包、保护阈值设置/查询指令包和网络接口模块反馈信息[6-7]。其中,以控制指令包为例,该包的数据格式如表1所示。
表1 控制指令包
在系统开发中,采用WinSock进行编程。服务器与设备通信过程[1]如下:
(1)加载套接字库。
WSADATA wsadata;
WSAStartup(MAKEWORD(2,2),&wsadata)。
(2)创建套接字并指定套接字的端口号和主机IP地址。
struct RecvParam
{
SOCKET sock;
MemoryProcessor*memo;//开辟内存
}。
(3)调用bind函数将套接字绑定到本地的某个地址和端口上。
(4)调用recvfrom函数接收数据包。当接收到数据包后对数据包进行解析处理。
4 结束语
基于UDP协议的设备健康管理系统采用Visual Studio 2005开发工具及MySQL设计,能较好地对实时状态数据进行存储及分析,实现了故障告警机制和寿命预测的功能,并可及时通知维护人员保养与维护设备。
[1]彭宇,刘大同,彭喜元.故障预测与健康管理技术综述[J].电子测量与仪器学报,2010 24(1):1 -9.
[2]赵兵,夏良华,满强,等.设备健康管理系统的设计与实现[J].计算机测量与控制,2010,18(5):1024 -1026.
[3]罗莉琴,詹祖桥.Windows网络编程[M].北京:人民邮电出版社,2011.
[4]张宝珍.预测与健康管理技术的发展及应用[J].测控技术,2008,23(2):5 -7.
[5]孙鑫.VC++ 深入详解[M].北京:电子工业出版社,2012.
[6]姜旭.基于Silverlight教学CAD机房管理系统[J].电子科技,2011,24(7):165 -166.
[7]牛永洁.改进的RBAC在设备管理系统中的应用[J].电子设计工程,2011,19(5):98 -100.