一种故障诊断能力评估试验模拟装置及系统转让专利

申请号 : CN201910089756.0

文献号 : CN109782740B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 连光耀闫鹏程孙江生连云峰李会杰张西山李雅峰代冬升张福元梁伟杰

申请人 : 中国人民解放军32181部队

摘要 :

本发明适用于测控技术领域,提供了一种故障诊断能力评估试验模拟装置及系统,所述装置包括:现场显控模块、测控模块和信号调理模块;所述现场显控模块用于发送测试指令至所述测控模块,并显示所述测控模块发送的测试信息;所述测控模块用于根据所述现场显控模块发送的测试指令采集及处理经所述信号调理模块调理后输入的激励信号,或产生并输出响应信号至所述信号调理模块;所述信号调理模块用于对测试装置输入的激励信号和所述测控模块输出的响应信号进行隔离和调理。本发明通过故障诊断能力评估试验模拟装置能够为测试装置提供足够的模拟装置接口信号,从而保证故障诊断能力评估试验工作的样本数,减小评价模型的误差。

权利要求 :

1.一种故障诊断能力评估试验模拟装置,其特征在于,包括:现场显控模块、测控模块和信号调理模块;

所述现场显控模块用于发送测试指令至所述测控模块,并显示所述测控模块发送的测试信息;

所述测控模块用于根据所述现场显控模块发送的测试指令采集及处理经所述信号调理模块调理后输入的激励信号,或产生并输出响应信号至所述信号调理模块;

所述信号调理模块用于对测试装置输入的激励信号和所述测控模块输出的响应信号进行隔离和调理;

所述现场显控模块运行有模拟装置运行控制软件,所述模拟装置运行控制软件用于实现系统管理、信号状态监测和故障注入功能,所述故障注入功能具体为,按照故障知识管理与故障注入软件定义的1种或多种故障模式,修改相应参数和相应事件,调动激励资源作故障状态输出和响应;

所述故障知识管理与故障注入软件运行在远程监控计算机中,用于实现故障知识管理、模拟电路故障、数字电路故障、软件故障编辑、连接故障编辑和自定义故障编辑的功能。

2.如权利要求1所述的故障诊断能力评估试验模拟装置,其特征在于,所述激励信号包括模拟量激励信号和数字量激励信号,所述响应信号包括模拟量响应信号和数字量响应信号;

所述测控模块包括嵌入式控制器、定时同步单元、模拟量输入输出单元、数字量输入输出单元,所述嵌入式控制器分别与所述模拟量输入输出单元、所述数字量输入输出单元和所述定时同步单元连接;

所述嵌入式控制器接收所述测试指令,并将所述测试指令发送至所述模拟量输入输出单元和所述数字量输入输出单元;

所述模拟量输入输出单元用于根据所述测试指令采集及处理经所述信号调理模块调理后输入的模拟量激励信号,并产生和输出模拟量响应信号至所述信号调理模块;

所述数字量输入输出单元用于根据所述测试指令采集及处理经所述信号调理模块调理后输入的数字量激励信号,并产生和输出数字量响应信号至所述信号调理模块;

所述定时同步单元用于完成模拟量输入输出单元和数字量输入输出单元的信号处理的定时和同步。

3.如权利要求2所述的故障诊断能力评估试验模拟装置,其特征在于,所述信号调理模块包括与所述模拟量输入输出单元连接的模拟量输入输出调理单元和与所述数字量输入输出单元连接的数字量输入输出调理单元;

所述模拟量输入输出调理单元用于对所述测试装置输入的模拟量激励信号和所述测控模块输出的模拟量响应信号进行隔离和调理;

所述数字量输入输出调理单元用于对所述测试装置输入的数字量激励信号和所述测控模块输出的数字量响应信号进行隔离和调理。

4.如权利要求3所述的故障诊断能力评估试验模拟装置,其特征在于,所述测控模块还包括:1533B总线单元、智能串口单元、CAN总线单元和FlexRay总线单元;所述1533B总线单元、所述智能串口单元、所述CAN总线单元和所述FlexRay总线单元分别与所述嵌入式控制器连接。

5.如权利要求4所述的故障诊断能力评估试验模拟装置,其特征在于,所述信号调理模块还包括与所述1533B总线单元连接的1533B总线匹配调理单元、与所述智能串口单元连接的智能串口匹配调理单元、与所述CAN总线单元连接的CAN总线匹配调理单元和与所述FlexRay总线单元连接的FlexRay总线匹配调理单元。

6.如权利要求1所述的故障诊断能力评估试验模拟装置,其特征在于,所述现场显控模块、所述测控模块和所述信号调理模块之间通过FXI总线连接。

7.如权利要求1所述的故障诊断能力评估试验模拟装置,其特征在于,所述信号调理模块通过信号输入输出接口与所述测试装置连接。

8.如权利要求1所述的故障诊断能力评估试验模拟装置,其特征在于,所述故障诊断能力评估试验模拟装置还包括电源模块,所述电源模块分别与所述现场显控模块、所述测控模块和所述信号调理模块连接。

9.一种故障诊断能力评估试验模拟系统,其特征在于,包括:多个如权利要求1至8任一项所述的故障诊断能力评估试验模拟装置和远程监控计算机,所述多个故障诊断能力评估试验模拟装置分别与所述远程监控计算机连接;

所述远程监控计算机实现与所述多个故障诊断能力评估试验模拟装置的信息交互、指令传递、知识加载和仿真流程装订。

说明书 :

一种故障诊断能力评估试验模拟装置及系统

技术领域

[0001] 本发明属于测控技术领域,尤其涉及一种故障诊断能力评估试验模拟装置及系统。

背景技术

[0002] 为了满足装备研制、装备故障诊断能力评估试验验证需求,而开展了模拟系统研制工作。故障诊断能力评估试验通过获取装备故障检测率、故障隔离率和虚警率来评价装备的故障诊断能力评估设计水平。
[0003] 在故障诊断能力评估试验过程中,一个重要的因素就是装备的故障样本数,样本数不足将会导致故障诊断能力评估试验工作的基础数据不够,所得出的评价模型误差较大等问题。

发明内容

[0004] 有鉴于此,本发明实施例提供了一种故障诊断能力评估试验模拟装置及系统,以解决现有技术中样本数不足而导致的评价模型误差大的问题。
[0005] 本发明实施例的第一方面提供了一种故障诊断能力评估试验模拟装置,包括:现场显控模块、测控模块和信号调理模块;
[0006] 所述现场显控模块用于发送测试指令至所述测控模块,并显示所述测控模块发送的测试信息;
[0007] 所述测控模块用于根据所述现场显控模块发送的测试指令采集及处理经所述信号调理模块调理后输入的激励信号,或产生并输出响应信号至所述信号调理模块;
[0008] 所述信号调理模块用于对测试装置输入的激励信号和所述测控模块输出的响应信号进行隔离和调理。
[0009] 在一个实施例中,所述激励信号包括模拟量激励信号和数字量激励信号,所述响应信号包括模拟量响应信号和数字量响应信号;所述测控模块包括嵌入式控制器、定时同步单元、模拟量输入输出单元、数字量输入输出单元,所述嵌入式控制器分别与所述模拟量输入输出单元、所述数字量输入输出单元和所述定时同步单元连接;
[0010] 所述嵌入式控制器接收所述测试指令,并将所述测试指令发送至所述模拟量输入输出单元和所述数字量输入输出单元;
[0011] 所述模拟量输入输出单元用于根据所述测试指令采集及处理经所述信号调理模块调理后输入的模拟量激励信号,并产生和输出模拟量响应信号至所述信号调理模块;
[0012] 所述数字量输入输出单元用于根据所述测试指令采集及处理经所述信号调理模块调理后输入的数字量激励信号,并产生和输出数字量响应信号至所述信号调理模块;
[0013] 所述定时同步单元用于完成模拟量输入输出单元和数字量输入输出单元的信号采集和处理的定时和同步。
[0014] 在一个实施例中,所述信号调理模块包括与所述模拟量输入输出单元连接的模拟量输入输出调理单元和与所述数字量输入输出单元连接的数字量输入输出调理单元;
[0015] 所述模拟量输入输出调理单元用于对测试装置输入的模拟量激励信号和所述测控模块输出的模拟量响应信号进行隔离和调理;
[0016] 所述数字量输入输出调理单元用于对测试装置输入的数字量激励信号和所述测控模块输出的数字量响应信号进行隔离和调理。
[0017] 在一个实施例中,所述测控模块还包括:1533B总线单元、智能串口单元、CAN总线单元和FlexRay总线单元,所述1533B总线单元、所述智能串口单元、所述CAN总线单元和所述FlexRay总线单元分别与所述嵌入式控制器连接。
[0018] 在一个实施例中,所述信号调理模块还包括与所述1533B总线单元连接的1533B总线匹配调理单元、与所述智能串口单元连接的智能串口匹配调理单元、与所述CAN总线单元连接的CAN总线匹配调理单元和与所述FlexRay总线单元连接的FlexRay总线匹配调理单元。
[0019] 在一个实施例中,所述现场显控模块、所述测控模块和所述信号调理模块之间通过FXI总线连接。
[0020] 在一个实施例中,所述信号调理模块通过信号输入输出接口与所述测试装置连接。
[0021] 在一个实施例中,所述现场显控模块运行有模拟装置运行控制软件,所述模拟装置运行控制软件用于实现系统管理、信号状态监测和故障注入功能。
[0022] 在一个实施例中,所述故障诊断能力评估试验模拟装置还包括电源模块,所述电源模块分别与所述现场显控模块、所述测控模块和所述信号调理模块连接。
[0023] 本发明实施例的第二方面提供了一种故障诊断能力评估试验模拟系统,包括:多个如上所述的故障诊断能力评估试验模拟装置和远程监控计算机,所述多个故障诊断能力评估试验模拟装置分别与所述远程监控计算机连接;
[0024] 所述远程监控计算机实现与所述多个故障诊断能力评估试验模拟装置的信息交互、指令传递、知识加载和仿真流程装订。
[0025] 本发明实施例与现有技术相比存在的有益效果是:本发明实施例提供了一种故障诊断能力评估试验模拟装置,包括现场显控模块、测控模块和信号调理模块;所述现场显控模块用于发送测试指令至所述测控模块,并显示所述测控模块发送的测试信息;所述测控模块用于根据所述现场显控模块发送的测试指令采集及处理经所述信号调理模块调理后输入的激励信号,或产生并输出响应信号至所述信号调理模块;所述信号调理模块用于对测试装置输入的激励信号和所述测控模块输出的响应信号进行隔离和调理。本发明实施例通过故障诊断能力评估试验模拟装置能够为测试装置提供足够的模拟装备接口信号,从而保证故障诊断能力评估试验工作的样本数,减小评价模型的误差。

附图说明

[0026] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027] 图1是本发明实施例提供的一种故障诊断能力评估试验模拟装置的结构示意图;
[0028] 图2是本发明实施例提供的一种故障诊断能力评估试验模拟装置的结构示意图;
[0029] 图3是本发明实施例提供的一种故障诊断能力评估试验模拟系统的结构示意图。

具体实施方式

[0030] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0031] 本发明的说明书和权利要求书及上述附图中的术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含一系列步骤或单元的过程、方法或系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。
[0032] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0033] 实施例1:
[0034] 图1示出了本发明的一个实施例提供的一种故障诊断能力评估试验模拟装置1,其包括:现场显控模块11、测控模块12和信号调理模块13;
[0035] 所述现场显控模块11用于发送测试指令至所述测控模块12,并显示所述测控模块12发送的测试信息;
[0036] 所述测控模块12用于根据所述现场显控模块11发送的测试指令采集及处理经所述信号调理模块13调理后输入的激励信号,或产生并输出响应信号至所述信号调理模块13;
[0037] 所述信号调理模块13用于对测试装置2输入的激励信号和所述测控模块12输出的响应信号进行隔离和调理。
[0038] 在本实施例中,测控模块12为FXI(FCI eXtension for instrumentation,仪器的FCI扩展)测控仪器模块,测控模块12与现场显控模块11和信号调理模块13连接。信号调理模块13接收测试装置2输入的激励信号,并将激励信号经过调理转换为标准的激励信号,发送至测控模块12;测控模块12接收现场显控模块11发送的测试指令,并根据测试指令接收信号调理模块13输入的标准的激励信号,触发测控模块12内部资源进行激励响应,输出响应信号至信号调理模块13,信号调理模块13对输出的响应信号进行调理转换,作为模拟的接口信号输出至测试设备。
[0039] 在本实施例中,现场显控模块11可以为触摸显示模块,工作人员通过现场显控模块11可以输入测试指令或进行系统管理,并能够实时查看设备状态监测情况。
[0040] 在本实施例中,信号调理模块13能够实现输入输出非标准信号的信号标准化,隔离以及信号转换等功能。
[0041] 在本实施例中,测试装置2为故障诊断能力评估验证设备。
[0042] 上述故障诊断能力评估试验模拟装置,包括现场显控模块11、测控模块12和信号调理模块13;所述现场显控模块11用于发送测试指令至所述测控模块12,并显示所述测控模块12发送的测试信息;所述测控模块12用于根据所述现场显控模块11发送的测试指令采集及处理经所述信号调理模块13调理后输入的激励信号,或产生并输出响应信号至所述信号调理模块13;所述信号调理模块13用于对测试装置2输入的激励信号和所述测控模块12输出的响应信号进行隔离和调理。本发明实施例通过故障诊断能力评估试验模拟装置能够为测试装置2提供足够的模拟装备接口信号,从而保证故障诊断能力评估试验工作的样本数,减小评价模型的误差。
[0043] 如图2所示,在本发明的一个实施例中,图2示出了一种故障诊断能力评估试验模拟装置的结构示意图,除图1中示出的结构外,本实施例还包括,所述激励信号包括模拟量激励信号和数字量激励信号,所述响应信号包括模拟量响应信号和数字量响应信号;
[0044] 所述测控模块12包括嵌入式控制器121、定时同步单元122、模拟量输入输出单元123、数字量输入输出单元124,所述嵌入式控制器121分别与所述模拟量输入输出单元123、所述数字量输入输出单元124和所述定时同步单元122连接;
[0045] 所述嵌入式控制器121接收所述测试指令,并将所述测试指令发送至所述模拟量输入输出单元123和所述数字量输入输出单元124;
[0046] 所述模拟量输入输出单元123用于根据所述测试指令采集及处理经所述信号调理模块13调理后输入的模拟量激励信号,并产生和输出模拟量响应信号至所述信号调理模块13;
[0047] 所述数字量输入输出单元124用于根据所述测试指令采集及处理经所述信号调理模块13调理后输入的数字量激励信号,并产生和输出数字量响应信号至所述信号调理模块13;
[0048] 所述定时同步单元122用于完成模拟量输入输出单元123和数字量输入输出单元124的信号采集和处理的定时和同步。
[0049] 在本实施例中,定时同步单元122完成故障诊断能力评估试验模拟装置内部的各通道信号的定时和同步,时钟分辨率至少达到10ns。
[0050] 在本实施例中,模拟量输入输出单元123包括模拟量输入子单元和模拟量输出子单元,数字量输入输出单元124包括数字量输入子单元和数字量输出子单元。
[0051] 在一个实施例中,所述信号调理模块13包括与所述模拟量输入输出单元123连接的模拟量输入输出调理单元131和与所述数字量输入输出单元124连接的数字量输入输出调理单元132;
[0052] 所述模拟量输入输出调理单元131用于对测试装置2输入的模拟量激励信号和所述测控模块12输出的模拟量响应信号进行隔离和调理;
[0053] 所述数字量输入输出调理单元132用于对测试装置2输入的数字量激励信号和所述测控模块12输出的数字量响应信号进行隔离和调理。
[0054] 在本实施例中,信号调理模块13包括模拟量输入输出调理单元131和数字量输入输出调理单元132,模拟量输入输出调理单元131包括模拟量输入调理子单元和模拟量输入调理子单元。模拟量输入调理子单元与测控模块12的模拟量输入子单元连接,用于对测试装置2输入的模拟量激励信号进行调理转换;模拟量输出子单元与测控模块12的模拟量输出子单元连接,用于对测控模块12输出的模拟量响应信号进行调理转换。数字量输入输出调理单元132包括数字量输入调理子单元和数字量输出调理子单元。数字量输入调理子单元与测控模块12的数字量输入子单元连接,用于对测试装置2输入的数字量激励信号进行调理转换;数字量输出调理子单元与测控模块12的数字量输出子单元连接,用于对测控模块12输出的数字量相应信号进行调理转换。
[0055] 在一个实施例中,所述测控模块12还包括:1533B总线单元125、智能串口单元126、CAN总线单元127和FlexRay总线单元128,所述1533B总线单元125、所述智能串口单元126、所述CAN总线单元127和所述FlexRay总线单元128分别与所述嵌入式控制器121连接。
[0056] 在本实施例中,测控模块12还包括1533B总线单元125、智能串口单元126、CAN总线单元127和FlexRay总线单元128,其中智能串口单元126包括RS232、RS485和RS422串口子单元,测控模块12通过上述接口单元,能够实现数字IO、定时/计数、脉冲、时序、模数转化、数模转换和激励信号发生等功能。
[0057] 在一个实施例中,所述信号调理模块13还包括与所述1533B总线单元125连接的1533B总线匹配调理单元133、与所述智能串口单元126连接的智能串口匹配调理单元134、与所述CAN总线单元127连接的CAN总线匹配调理单元135和与所述FlexRay总线单元128连接的FlexRay总线匹配调理单元136。
[0058] 在本实施例中,为了实现各个接口单元的信号标准化转换,信号调理模块13还包括1533B总线匹配调理单元133、智能串口匹配调理单元134、CAN总线匹配调理单元135和FlexRay总线匹配调理单元136。
[0059] 在一个实施例中,所述现场显控模块11、所述测控模块12和所述信号调理模块13之间通过FXI总线连接。
[0060] 在一个实施例中,所述信号调理模块13通过信号输入输出接口与所述测试装置2连接。
[0061] 在本实施例中,信号调理模块13通过信号输入输出接口与测试装置2建立通信连接。信号输入输出接口可以实现信号的分配、转接和接口的标准化。
[0062] 在本实施例中,可以通过信号输入输出接口接入2路模拟量信号至模拟量输入调理子单元,接收模拟量输出调理子单元输出的2路模拟量信号至、接入24路数字量信号至数字量输入调理子单元、接收数字量输出调理子单元输出的24路数字量信号,以及实现1路1533B总线、1路RS232总线、1路RS485总线、1路RS422总线、1路CAN总线和1路FlexRay总线信号的输入输出。
[0063] 在一个实施例中,所述现场显控模块11运行有模拟装置运行控制软件,所述模拟装置运行控制软件用于实现系统管理、信号状态监测和故障注入功能。
[0064] 在本实施例中,模拟系统具有自检功能,并且具有运行数据采集和状态监控功能。可以实现模拟仪器的添加、删除和参数配置,从而满足模拟系统输入输出功能的重构需求。
[0065] 在本实施例中,模拟装置运行控制软件用用于调动故障诊断能力评估试验模拟装置提供的全部仪器资源、通道资源、供电资源、激励资源、巡检资源,实时监控来自外部的激励信号变化情况,按照已装订好的目标型号仿真流程触发内部资源进行激励响应。同时可按照故障注入软件定义的1种或多种故障模式,修改响应参数和响应事件,调动激励资源作故障状态输出和响应。
[0066] 在一个实施例中,所述故障诊断能力评估试验模拟装置还包括电源模块,所述电源模块分别与所述现场显控模块11、所述测控模块12和所述信号调理模块13连接。
[0067] 在本实施例中,电源模块分别为所述现场显控模块11、测控模块12和信号调理模块13供电。
[0068] 在本发明的一个实施例中,故障诊断能力评估试验模拟装置设置于机柜中。
[0069] 在本实施例中,故障诊断能力评估试验模拟装置的尺寸和体积与测试装置2(或故障诊断能力评估验证设备)相适应;
[0070] 在本实施例中,信号输入输出接口的电路可以采用高可靠性、高安全性设计,电源模块的供电电源可以采用高可靠开关电源,电源的MTBF(Mean Time Between Failure,平均故障间隔时间)≥900000小时;
[0071] 在本实施例中,故障诊断能力评估试验模拟装置的内部电路可以采用成熟总线技术架构和模块化设计,便于安装和拆卸,从而具有良好的通用性和维护性;并且,故障诊断能力评估试验模拟装置需满足实验室使用环境下的电磁兼容性要求。
[0072] 如图3所示,本发明实施例的第二方面提供了一种故障诊断能力评估试验模拟系统,其包括:
[0073] 多个如上所述的故障诊断能力评估试验模拟装置和远程监控计算机,所述多个故障诊断能力评估试验模拟装置分别与所述远程监控计算机连接;
[0074] 所述远程监控计算机实现与所述多个故障诊断能力评估试验模拟装置的信息交互、指令传递、知识加载和仿真流程装订。
[0075] 在本实施例中,测控模块12在设计选型时各类型通道均留有余量,具有很强的扩展性。并且多个故障诊断能力评估试验模拟装置可通过以太网进行级联,理论上达到了通道数量的无限扩展,从而使远程监控计算机实现多个故障诊断能力评估试验模拟装置的检测和管理。
[0076] 在本实施例中,远程监控计算机中运行有模拟系统软件通用开发平台,可通过网络接口或移动存储设备实现与模拟装置运行控制软件进行信息交互、指令传递、知识加载、仿真流程装订。
[0077] 具体地,模拟系统软件通用开发平台包括模拟装置仿真流程开发子平台、故障指示管理与故障注入软件和仪器管理软件。
[0078] 其中,模拟装置仿真流程开发子平台可以实现目标型号管理、仿真流程开发、仿真策略下装、仿真资源配置和离线运行等功能。故障知识管理与故障注入软件可以实现故障知识管理、模拟电路故障、数字电路故障、软件故障编辑、连接故障编辑和自定义故障编辑等功能。仪器管理软件可以实现仪器资源管理、虚实映射和仪器驱动库的调用功能。
[0079] 在本实施例中,传统的测试系统测试流程是按照顺序执行的结构设计的,其执行的逻辑结构简单,在执行引擎中只需顺序解析每个配置点的信息即可。本实施例提供的故障诊断能力评估试验模拟系统为了实现对装备的模拟功能,在执行引擎中采用了循环巡检的执行逻辑,在每次循环过程中需要对所有的配置点的触发条件信息进行判断,一旦发现已达到某触发条件,则再执行该触发条件对应的配置信息。所以,本项目的执行引擎的计算数量与架构与现有测试系统相比更为复杂,需要考虑执行的算法效率。
[0080] 为了解决效率问题,本实施例提供的故障诊断能力评估试验模拟系统在执行引擎架构设计中采用了多线程运行、内存计算和数据结构设计等多项优化技术来加快执行的效率。
[0081] 进一步地,本实施例提供的故障诊断能力评估试验模拟系统可以调用数据库存储过程,降低网络传输数据量,提高执行效率。存储过程即用来存储数据表操作的一个过程,是把对数据表操作的方法存储在数据库中,调用数据库存储过程具有如下优点:
[0082] 1)降低网络传输数据量:通过存储过程的名称和参数传递即可调用执行,不用传输Sql;
[0083] 2)执行效率高:MySql会事先将存储过程编译成可执行的二进制代码,运行存储过程时,无需再次编译;
[0084] 3)封装性:也可叫模块式编程,将实现某种功能的多条sql封装到一个对象中,可多次重复调用,可移植性强;
[0085] 4)安全:可针对不同的权限的用户使用不同的存储过程。
[0086] 本实施例提供的故障诊断能力评估试验模拟系统在采集数据时采用数据池队列机制,避免了大量的内存的申请释放操作,有效防止了内存碎片。
[0087] 具体地,CDataOperation为全局单实例的关联类,该类管理四个队列,分别代表空闲队列、数据采集使用队列、等待保存文件队列、等待显示队列,各个队列采用std::map结构,代表各个仪器对应采集的数据。CCollectionDataList采用CCollectionData链表m_collection_list代表该队列中的采集数据,CCollectionData存储具体的一次采集的数据。
[0088] 在初始化时,故障诊断能力评估试验模拟系统新建一定数目的CCollectionData对象并加入空闲队列的m_collection_list中用于数据采集时进行具体的数据存储。采集线程得到数据时,从空闲队列中取出一个CCollectionData对象并将其从空闲队列移除并加入使用队列,采集数据完成时将具体的数据填充到CCollectionData对象中,在将该CCollectionData对象从使用队列加入到等待保存文件队列中,文件保存线程从等待保存队列中取出数据保存到数据文件,然后将该CCollectionData对象从等待保存到文件队列加入等待显示队列。解析线程解析完成后,重新初始化CCollectionData对象的信息并将其再加入空闲队列中,这样,通过数据池机制,避免了大量的内存的申请释放操作,有效防止了内存碎片。
[0089] 在本实施例中,还可以通过利用多线程在后台处理耗时任务,避免了主线程阻塞。多线程一般情况下用在后台处理耗时任务,主线程保持执行。对于Winform来讲,如果所有耗时任务都放在主线程执行,那就会带来鼠标键盘等响应迟钝现象。为了避免这个现象,我们可以在主线程中再创建一个子线程,这样就避免了阻塞主线程,导致UI响应迟钝的现象。
一般情况下远程监控计算机的多线程都使用局部线程,它和局部变量类似,用时创建,用完销毁。全局线程在远程监控计算机开发当中使用的相对比较少。当然全局线程也可以使用但必须要自己实现挂起和恢复函数,系统自带的接口函数已经过时,容易造成阻塞。局部线程存在于方法中,像局部变量一样使用。通过上述方法利用多线程在后台处理耗时任务,避免了主线程阻塞。
[0090] 本发明实施例系统中的模块或单元可以根据实际需要进行合并、划分和删减。
[0091] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。