CN102175281B - 一种多模式仪器测试方法及系统 - Google Patents
一种多模式仪器测试方法及系统 Download PDFInfo
- Publication number
- CN102175281B CN102175281B CN 201010614270 CN201010614270A CN102175281B CN 102175281 B CN102175281 B CN 102175281B CN 201010614270 CN201010614270 CN 201010614270 CN 201010614270 A CN201010614270 A CN 201010614270A CN 102175281 B CN102175281 B CN 102175281B
- Authority
- CN
- China
- Prior art keywords
- test
- instrument
- engineering
- tested
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明提出一种多模式仪器测试方法,包括如下步骤:加载多个测试工程,多个测试工程的类型包括仪器测试工程和装备测试工程;对仪器测试工程和装备测试工程设置运行标识,通过调整运行标识对数据采集卡进行独占性控制,仪器测试工程和装备测试工程分时占用数据采集卡;检测被测仪器或被测装备的通信类型,根据通信类型分别对相应的数据采集卡进行初始化;以及通过数据采集卡以预设的指令模式运行多个测试工程。本发明通过设置运行标识以满足在测试不同被测仪器,或不同测试工程中对数据采集卡及通信网络使用的独占性要求,同时实现了对仪器执行指令、时间延迟和连续执行指令等多个方面特性的测试。本发明还公开了一种多模式仪器测试系统。
Description
技术领域
本发明涉及计算机应用技术领域和集成电路装备制造领域,特别涉及一种多模式仪器测试方法及系统。
背景技术
随着集成电路芯片集成度的不断提升和芯片功能的不断提高,用户对工艺的要求越来越高。但是在集成电路制造设备的研究和开发中面临许多问题。例如,在集成电路设备研发时,不但有硬件部分的研发,同时也有针对该设备的控制软件系统研发工作。为保证仪器的正常工作,仪器测试是仪器安装在具体装备之前必须完成的过程。在硬件平台搭建好之后,由于受限于硬件条件,需要通过运行硬件测试。但是受到测试条件的限制,不能提前对可能出现的故障进行预测。因此存在集成电路制造设备的研发成本高和开发周期长的问题。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别提出了一种多模式仪器测试方法及系统。
为达到上述目的,本发明第一方面的实施例提出了一种多模式仪器测试方法,其特征在于,包括如下步骤:
加载多个测试工程,所述多个测试工程的类型包括仪器测试工程和装备测试工程,其中,所述仪器测试工程用于对单个被测仪器进行测试,所述装备测试工程用于对由多个所述被测仪器组成的被测装备进行测试;
对所述仪器测试工程和装备测试工程设置运行标识,通过调整所述运行标识对数据采集卡进行独占性控制,所述仪器测试工程和装备测试工程分时占用所述数据采集卡,其中,所述运行标识包括仪器测试运行标志位和装备测试运行标志位;
检测所述被测仪器或被测装备的通信类型,根据所述通信类型分别对相应的数据采集卡进行初始化;以及
通过所述数据采集卡以预设的指令模式运行所述多个测试工程。
根据本发明实施例的多模式仪器测试方法通过设置运行标识以满足在测试不同被测仪器,或不同测试工程中对数据采集卡及通信网络使用的独占性要求,同时实现了对仪器执行指令、时间延迟和连续执行指令等多个方面特性的测试。
在本发明的一个实施例中,所述加载多个测试工程包括如下步骤:将所述测试工程的配置信息和所述数据采集卡的配置信息序列化为XML文件;加载所述XML文件,对所述XML文件进行反序列化以提取所述测试工程的配置信息和所述数据采集卡的配置信息,将所述测试工程的配置信息和所述数据采集卡的配置信息赋给所述测试工程的测试对象。
在本发明的一个实施例中,所述数据采集卡的配置信息包括所述数据采集卡的通道与所述被测仪器或所述被测装备中的各个被测仪器的针脚的连接方式。
在本发明的一个实施例中,所述仪器测试运行标志位,用于指示当前仪器测试工程运行状态,其中,当所述仪器测试运行标志位为真时,表示当前有仪器测试工程运行;所述装备测试运行标志位,用于指示当前装备测试工程运行状态,其中,当所述装备测试运行标志位为真时,表示当前有装备测试工程运行。
在本发明的一个实施例中,当所述测试工程为仪器测试工程时,所述通过调整运行标识对数据采集卡进行独占性控制,包括如下步骤:检测当前的仪器测试运行标志位的状态,当仪器测试运行标志位为真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;当所述仪器测试运行标志位为假时,检测当前的装备测试运行标志位,当所述装备测试运行标识位真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;调整所述仪器测试运行标志位为真以锁定当前仪器测试运行状态。
在本发明的一个实施例中,当所述测试工程为装备测试工程时,所述通过调整运行标识对数据采集卡进行独占性控制,包括如下步骤:检测当前的装备测试运行标志位的状态,当装备测试运行标志位为真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;当所述仪器测试运行标志位为假时,检测当前的仪器测试运行标志位,当所述仪器测试运行标识位真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;调整所述装备测试运行标志位为真以锁定当前装备测试运行状态。
在本发明的一个实施例中,所述测试工程支持的通信类型包括:数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet。
在本发明的一个实施例中,检测所述被测仪器或被测装备的通信类型,当所述通信类型为数字输入、数字输出、模拟输入或模拟输出中任一种时,对与各个通信类型对应的数据采集卡进行初始化。
在本发明的一个实施例中,所述指令模式包括单指令模式、指令序列模式和指令轮询模式,其中,
在所述单指令模式下,通过所述数据采集卡将单个测试指令发送到所述被测仪器;在所述指令序列模式下,通过所述数据采集卡将指令序列发送到单个被测仪器或被测装备,其中所述指令序列包括各个指令以及指令的发送顺序,在所述单个测试指令和所述指令序列中包括状态查询指令,所述状态查询指令用于查询所述被测仪器或被测设备的状态;在指令轮询模式下,通过所述数据采集卡将所述状态查询指令以预定的时间间隔发送至所述被测仪器或被测设备。
在本发明的一个实施例中,所述多模式仪器测试方法进一步包括如下步骤:生成用于记录所述测试工程的动作信息的测试运行日志,并将所述测试运行日志以预定时间间隔保存到日志文件中。
本发明第二方面的实施例提出了一种多模式仪器测试系统,包括被测装置,所述被测装置包括单个被测仪器或由多个所述被测仪器组成的被测装备;多个数据采集卡,所述多个数据采集卡中的每个都包括多个通道,所述多个通道中的每个与多个被测仪器中的一个的针脚相连,以及测试运行装置,所述测试运行装置通过所述多个数据采集卡与所述被测装置进行通信,其中,所述测试运行装置包括:加载模块,用于加载多个测试工程,所述多个测试工程的类型包括仪器测试工程和装备测试工程,其中,所述仪器测试工程用于对所述单个被测仪器进行测试,所述装备测试工程用于对所述被测装备进行测试;独占性控制模块,用于对所述仪器测试工程和装备测试工程设置运行标识,通过调整所述运行标识对数据采集卡进行独占性控制,所述仪器测试工程和装备测试工程分时占用所述数据采集卡,其中,所述运行标识包括仪器测试运行标志位和装备测试运行标志位;初始化模块,用于通过检测所述被测仪器或被测装备的通信类型以对相应的数据采集卡进行初始化;测试模块,用于通过所述多个数据采集卡以预设的指令模式运行所述多个测试工程。
根据本发明实施例的多模式仪器测试系统通过测试装置设置运行标识以满足在测试不同被测仪器,或不同测试工程中对数据采集卡及通信网络使用的独占性要求,同时实现了对仪器执行指令、时间延迟和连续执行指令等多个方面特性的测试。
在本发明的一个实施例中,所述加载模块进一步包括序列化单元、文件加载单元和反序列化单元,其中,所述序列化单元用于将所述测试工程的配置信息和所述多个数据采集卡的配置信息序列化为XML文件;所述文件加载单元用于加载所述XML文件;以及所述反序列化单元用于对所述XML文件进行反序列化以提取所述测试工程的配置信息和所述多个数据采集卡的配置信息,将所述测试工程的配置信息和所述数据采集卡的配置信息赋给所述测试工程的测试对象。
在本发明的一个实施例中,所述数据采集卡的配置信息包括所述数据采集卡的通道与所述被测仪器或所述被测装备中的各个被测仪器的针脚的连接方式。
在本发明的一个实施例中,所述仪器测试运行标志位,用于指示当前仪器测试工程运行状态,其中,当所述仪器测试运行标志位为真时,表示当前有仪器测试工程运行;所述装备测试运行标志位,用于指示当前装备测试工程运行状态,其中,当所述装备测试运行标志位为真时,表示当前有装备测试工程运行。
在本发明的一个实施例中,当所述测试工程为仪器测试工程时,所述独占性控制模块检测当前的仪器测试运行标志位的状态,当所述仪器测试运行标志位为真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;当所述仪器测试运行标志位为假时,所述独占性控制模块检测当前的装备测试运行标志位,当所述装备测试运行标识位真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;所述独占性控制模块调整所述仪器测试运行标志位为真以锁定当前仪器测试运行状态。
在本发明的一个实施例中,当所述测试工程为装备测试工程时,所述独占性控制模块检测当前的装备测试运行标志位的状态,当装备测试运行标志位为真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;当所述仪器测试运行标志位为假时,所述独占性控制模块检测当前的仪器测试运行标志位,当所述仪器测试运行标识位真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;所述独占性控制模块调整所述装备测试运行标志位为真以锁定当前装备测试运行状态。
在本发明的一个实施例中,所述测试工程支持的通信类型包括:数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet。
在本发明的一个实施例中,所述初始化模块检测所述被测仪器或被测装备的通信类型,当所述通信类型为数字输入、数字输出、模拟输入或模拟输出中任一种时,所述初始化模块对与各个通信类型对应的数据采集卡进行初始化。
在本发明的一个实施例中,所述指令模式包括单指令模式、指令序列模式和指令轮询模式,其中,在所述单指令模式下,所述测试模块通过所述数据采集卡将单个测试指令发送到所述被测仪器;在所述指令序列模式下,所述测试模块通过所述数据采集卡将指令序列发送到单个被测仪器或被测装备,其中所述指令序列包括各个指令以及指令的发送顺序,在所述单个测试指令和所述指令序列中包括状态查询指令,所述状态查询指令用于查询所述被测仪器或被测设备的状态;在指令轮询模式下,所述测试模块通过所述数据采集卡将所述状态查询指令以预定的时间间隔发送至所述被测仪器或被测设备。
在本发明的一个实施例中,进一步包括日志管理模块,用于生成用于记录所述测试工程的动作信息的测试运行日志,并将所述测试运行日志以预定时间间隔保存到日志文件中。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的多模式仪器测试方法的流程框图;
图2为根据本发明实施例的反序列化流程图;
图3为根据本发明实施例的仪器测试工程时数据采集卡的独占性控制流程图;
图4为根据本发明实施例的装备测试工程时数据采集卡的独占性控制流程图;
图5为根据本发明实施例的数据采集卡选择性初始化的流程图;
图6为根据本发明实施例的单指令模式流程图;
图7为根据本发明实施例的多模式仪器测试系统的结构框图;
图8为根据本发明实施9例的测试运行装置的结构框图;
图9为根据本发明实施例的多模式仪器测试系统中类之间关系;
图10为根据本发明实施例的被测仪器针脚到数据采集卡上通道的连接界面;
图11为根据本发明实施例的指令序列配置界面;以及
图12为根据本发明实施例的测试指令或轮询指令发送界面。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例提供的多模式仪器测试方法及系统在Windows XP操作系统上,基于.NET Framework 3.5,采用Visual C#技术实现。通过对测试工程设置运行标识实现对数据采集卡的独占性控制,其中,测试工程包括两类:仪器测试工程和装备测试工程。通过对数据采集卡的独占性控制保证各个测试工程内部及不同类的测试工程之间,从而避免多个测试工程采用相同的数据采集卡上的相同通道发送指令。并且在运行测试之前,根据被测仪器或被测装备使用的通信类型对数据采集卡进行初始化。在文件操作方面,本发明实施例提供的多模式仪器测试方法及系统可以完成仪器配置的序列化和反序列化。在日志记录方面,本发明实施例提供的多模式仪器测试方法及系统可以以可设定的时间间隔自动保存仪器测时的运行日志。
下面参考图1至图6描述根据本发明实施例的多模式仪器测试方法。其中,多模式仪器测试方法可以用于对单个被测仪器或由多个被测仪器组成的被测设备进行测试。
如图1所示,根据本发明实施例的多模式仪器测试方法,包括如下步骤:
S101:加载多个测试工程;
测试工程根据测试对象的不同可以分为两类,包括仪器测试工程和装备测试工程。其中,仪器测试工程用于对单个被测仪器进行测试。装备测试工程用于对由多个被测仪器组成的被测装备进行测试。
为了实现针对不同的被测仪器进行测试的快速转换,需要将针对其中一个被测仪器测试的信息以测试工程的形式进行序列化到文件系统中,并在需要使用时从文件系统中反序列化出来。在本发明的一个实施例中,采用XML文件序列化与反序列化的方法加载并保存测试工程。
序列化方法:将测试工程的配置信息以及数据采集卡的配置信息序列化为XML文件。其中,测试工程的配置信息包括测试工程的名称、测试工程的备注、测试工程的创建时间、文件序列化时间及序列化后的文件名称,以及测试工程中被测仪器或被测设备的名称、被测仪器或被测设备的备注、被测仪器或被测设备的配置文件名和被测仪器或被测设备的创建时间等。数据采集卡的配置信息包括被测仪器的针脚与数据采集卡上通道的连接关系、向被测仪器发送的指令序列的配置信息等。
序列化后的测试工程的XML文件包括仪器测试工程或装备测试工程中数据采集卡上通道与被测仪器针脚的连接情况,以及仪器测试工程或装备测试工程中指令序列的配置信息。
在本发明的一个实施例中,测试工程的XML文件以<DeviceTestProject>作为根节点,<DeviceTestProject>之下包括用于表示测试工程的信息的<ProjectName>至<ProjectFileName>五个子节点,分别表示测试工程的名称、测试工程的备注、测试工程的创建时间、测试工程的文件序列化时间及序列化后的文件名称。
<DeviceConfig>及其子节点用于保存被测仪器的配置信息,包括被测仪器的名称、被测仪器的备注、被测仪器的配置文件名和被测仪器的创建时间。
<PinConnection>及其子节点用于表示被测仪器的针脚与数据采集卡上通道的连接关系。其中,被测仪器的针脚支持的连接关系包括数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet,将上述被测仪器的针脚支持的连接关系分类保存,从而便于反序列化时的针脚定位。
<CommandSequences>及其子节点用于保存向被测仪器发送的指令序列的配置信息,其中包括指令序列的名称、指令序列的备注、指令序列的创建时间和指令序列的指令列表。其中指令序列的指令列表包括指令序列中的每个测试的指令名称<CommandName>、指令备注<CommandNote>、指令参数<CommandParameter>、是否需要被测仪器发送反馈信息的指示信息<WithFeedback>。
通过加载并保存上述XML文件以实现对测试工程的加载和保存。
反序列化方法:将加载完的XML文件进行反序列化以提取XML文件中的测试工程的配置信息和数据采集卡的配置信息,将上述测试工程的配置信息和数据采集卡的配置信息赋给测试工程的测试对象,从而形成一个可运行的测试工程。
图2为反序列化的流程图。如图2所示,对XML文件的反序列化包括如下步骤:
S201:打开测试工程配置文件;
打开写有测试工程配置信息的XML文件。
S202:判断配置文件的根节点是否为<DeviceTestProject>,如果是,则执行S203;否则结束反序列化过程;
当判断加载的XML文件的根节点不是<DeviceTestProject>时,则说明加载的XML文件不是仪器测试工程序列化后的结果,则此次反序列化过程失败;当判断加载的XML文件的根节点为<DeviceTestProject>时,进入反序列化测试工程阶段。
S203:提取测试工程的基本信息形成测试工程对象;
提取测试工程的基本信息以生成测试工程的对象。其中,在本步骤中,生成的测试工程的对象只包含基本信息。在后续的步骤中,逐步添加整个测试工程的信息。
S204:提取<DeviceConfig>及其根节点下仪器静态配置信息,并将其赋给测试工程的对象。
S205:按照通信类型分类,将<PinConnection>的信息附加到测试工程中;
S206:提取<CommandSequences>中的信息,将其添加到测试工程对象中。
通过上述步骤将测试工程的XML文件反序列化为一个可以运行的测试工程,可以使得针对相同被测仪器的测试工程在不同的工控机上使用,并且保证了仪器测试工程的信息的完整性。
S102:设置运行标识,通过调整运行标识对数据采集卡进行独占性控制;
在测试过程中,向被测仪器或被测设备发送的测试指令需要通过数据采集卡转换为被测仪器或被测设备可以识别的测试信号。由于不同的测试工程可能使用到相同的数据采集卡上的通道发送测试指令,为了避免多个测试工程共用相同的数据采集卡上的相同通道发送指令,从而需要对不同测试工程使用的数据采集卡进行独占性控制。
测试过程可以分为仪器测试模式和由多个仪器组成的装备测试模式。其中,在仪器测试模式下运行仪器测试工程,在装备测试模式下运行装备测试工程。在两种仪器测试模式之内,以及仪器测试模式和装备测试模式之间都存在对数据采集卡和通信网络的独占性要求。
为了实现对数据采集卡和通信网络的独占性要求,首先分别对仪器测试工程设置仪器测试运行标志位isDeviceRunnin,对装备测试工程设置装备测试运行标志位isEquipmentRunning。仪器测试运行标志位isDeviceRunnin可以指示当前仪器测试工程运行状态。其中,当仪器测试运行标志位为真时,则表示当前有仪器测试工程正在运行;当仪器测试运行标志位为假时,则表示当前没有仪器测试工程正在运行。装备测试运行标志位isEquipmentRunning可以指示当前装备测试工程运行状态。其中,当装备测试运行标志位为真时,则表示当前有装备测试工程正在运行;当装备测试运行标志位为假时,则表示当前没有装备测试工程正在运行。
下面结合图3和图4分别对仪器测试工程和装备测试工程的独占性控制进行说明。
如图3所示,对仪器测试工程的独占性控制包括如下步骤:
S301:准备运行仪器测试工程;
S302:判断仪器测试运行标志位isDeviceRunning是否为真,当isDeviceRunning为真时,执行S303和S304;否则执行S305;
当isDeviceRunning为真时,表示当前有仪器测试工程正在运行。
S303:停止当前运行的仪器测试工程;
S304:设置isDeviceRunning为假;
S305:判断isEquipmentRunning是否为真,当isEquipmentRunning为真时,则执行S306和S307;否则执行S308;
当isEquipmentRunning为真时,表示当前有装备测试工程正在运行。
S306:停止当前运行的装备测试工程;
S307:设置isEquipmentRunning为假;
S308:运行仪器测试工程;
S309:设置isDeviceRunning为真,锁定当前仪器测试运行状态。
当然本领域技术人员可以理解的是,仪器测试运行标志位isDeviceRunning与当前仪器测试工程的运行状态的对应方式也可以为其他形式。例如:当仪器测试运行标志位isDeviceRunning为假时,表示当前有仪器测试工程正在运行;当仪器测试运行标志位isDeviceRunning为真时,表示当前没有仪器测试工程正在运行。
同理,装备测试运行标志位isEquipmentRunning与当前装备测试工程的运行状态的对应方式也可以为其他形式。例如:当装备测试运行标志位isEquipmentRunning为假时,表示当前有装备测试工程正在运行;当装备测试运行标志位isEquipmentRunning为真时,表示当前没有装备测试工程正在运行。
如图4所示,对装备测试工程进行独占性控制包括如下步骤:
S401:准备运行装备测试工程;
S402:判断装备测试运行标志位isEquipmentRunning是否为真,如果是,则执行S403和S404;否则执行S405;
当装备测试运行标志位isEquipmentRunning为真时,表示当前有装备测试工程正在运行。
S403:停止当前装备测试工程;
S404:设置装备测试运行标识isEquipmentRunning为假;
S405:判断仪器测试运行标志位isDeviceRunning是否为真,如果是,则执行S406和S407;否则执行S408;
当仪器测试运行标识isDeviceRunning为真时,表示当前有仪器测试工程正在运行。
S406:停止当前仪器测试工程;
S407:设置仪器测试运行标识isDeviceRunning为假;
S408:运行装备测试工程;
S409:设置装备测试运行标识isEquipmentRunning为真,以实现对当前装备测试运行状态的锁定。
通过上述步骤可以得到仪器测试运行标识isDeviceRunning和装备测试运行标识isEquipmentRunning的真值表,如表1所示。
表1
isDeviceRunning | is Equip mentRunning |
假 | 假 |
真 | 假 |
假 | 真 |
由表1的真值表可以看出,仪器测试工程和装备测试工程不能同时为真,即通过调整运行标识保证仪器和装备测试模式不同时占用数据采集卡和信号通信网络。
S103:初始化数据采集卡;
由于在测试工程中,需要通过数据采集卡不断向被测仪器发送测试指令,同时被测仪器也会不断通过数据采集卡反馈响应信息。为了避免由于数据采集卡的频繁使用而导致的初始化数据采集卡时的时间消耗和资源消耗,因此在测试工程运行之前对测试工程使用到的数据采集卡进行初始化。
数据采集卡可以将发送的测试指令和被测仪器反馈的信号相互转换。其中,数据采集卡的数量取决于被测仪器所使用的通信协议的最大集。
在测试工程中,被测仪器或被测装备支持的通信类型包括:数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet。其中,串口、以太网和DeviceNet既可以发送指令,也可以接收指令,不需要对数据采集卡的初始化。数字输入、数字输出、模拟输入、模拟输出的通信类型只能发送指令,不能接收指令,因此需要首先对与各个通信类型对应的数据采集卡进行初始化,再进行相应的信号发送或接收操作。
对于只能发不能收信号的数据采集卡(如数字输入、数字输出、模拟输入、模拟输出对应的数据采集卡)发送的指令,需要发送另外一条指令来判断仪器是否正常工作。对于既可以发送、又可以接受信号的数据采集卡(串口、以太网和DeviceNet对应的数据采集卡),只需要发送一条执行指令,在被测仪器执行完此指令后,即可在同一条信号通道上反馈指令。
如图5所示,初始化数据采集卡包括如下步骤:
S501:载入仪器测试工程或装备测试工程;
S502:判断是否有数据采集卡被初始化,如果有,则执行S503;否则执行S504;
在载入仪器测试工程或装备测试工程的配置后,需要首先判断数据采集卡中是否存在被占用的现象。
S503:释放数据采集卡占用的资源;
如果判断数据采集卡中存在被占用的现象,则释放被占用的数据采集卡,从而可以防止前一次的测试工程对数据采集卡参数对本次测试工程参数的影响。
S504:判断通信类型是否为数字输入或数字输出,如果是,则执行S505;否则执行S506;
检测在测试工程配置中是否包含数字输入或数字输出,当检测到数字输入或数字输出时则判断通信类型为数字输入或数字输出。
S505:初始化数字输入卡和数字输出卡;
由于数字输入和数字输出均为单向发送数据,因此在测试工程中数字输入和数字输出通常成对使用。在测试工程中,当检测到有数字输出或数字输入通信类型的需求时,需要同时对数字输出卡和数字输入卡进行初始化。其中,数字输出卡为与数字输出通信类型对应的数据采集卡,数字输入卡为与数字输入通信类型对应的数据采集卡。
S506:判断通信类型是否为模拟输入或模拟输出,如果是,则执行S507;否则执行S508;
检测在测试工程配置中是否包含模拟输入或模拟输出,当检测到模拟输入或模拟输出时则判断通信类型为模拟输入或模拟输出。
S507:初始化模拟输入卡和模拟输出卡;
与数字输入或数字输出相似的,模拟输入和模拟输出也均为单向发送数据,因此在测试工程中模拟输入和模拟输出通常成对使用。在测试工程中,当检测到有模拟输出或模拟输入通信类型的需求时,需要同时对模拟输出卡和模拟输入卡进行初始化。其中,模拟输出卡为与模拟输出通信类型对应的数据采集卡,模拟输入卡为与模拟输入通信类型对应的数据采集卡。
S104:运行测试工程。
为了可以检测测试工程的多方面的特性,如测试工作向被测仪器发送单指令、多指令或状态查询指令等情况下的工作情况,从而对测试工程设置不同的指令模式,以使测试工程在上述指令模式下运行测试工程。在本发明的一个实施例中,指令模式包括单指令模式、指令序列模式和指令轮询模式。
在单指令模式下,通过数据采集卡将单个测试指令发送到被测仪器。如图6所示,单指令测试包括如下步骤:
S601:发送单个测试指令;
S602:判断被测仪器收到指令后是否应反馈,如果是,则执行S603;否则执行S606;
根据测试指令发送后被测仪器是否发回反馈信息,单个测试指令包括两种类型:具有反馈信息的指令和不具有反馈信息的指令。因此,在本步骤中,需要判断单个测试指令为反馈信息的指令或不具有反馈信息的指令。
S603:等待反馈指令;
当判断单个测试指令为具有反馈信息的测试指令时,在向被测仪器发送单个测试指令后需要等待被测仪器的反馈指令,并以日志形式记录发送单个测试指令的开始时间、发送单个测试指令结束的时间和收到被测仪器反馈指令等信息。此外,在预定的时间间隔内自动保存上述日志信息到文件系统。通过分析上述信息,可以计算出被测仪器对该测试指令的响应时间。
S604:判断被测仪器是否反馈正确信息,如果是,则执行S605;否则执行S609;
在接收到来自被测仪器的反馈指令后,需要将反馈指令中携带的反馈信息与预期的结果进行判断。
S605:被测仪器指令测试通过;
具体而言,当判断被测仪器的反馈指令与预期的结果相符时,则表示被测仪器工作正常。
S606:发送查询仪器状态变化的指令;
当判断单个测试指令为不具有反馈信息的指令时,需要向该被测仪器发送用于查询仪器状态变化的状态查询指令。
S607:判断被测仪器是否响应状态查询指令,如果是,则执行S608;否则执行S609;
在向被测仪器发送状态查询指令后,需要判断被测仪器是否响应该状态查询指令。
S608:比较返回状态是否符合指令执行结果,如果是,则执行S605;否则执行S609;
如果被测仪器响应状态查询指令,且返回状态信息,将该状态信息与预期结果继续比较,判断状态信息是否与预期结果相符。
如果被测仪器在接收到状态查询指令后返回状态信息并且与预期结果相符,则表明被测仪器工作正常。
S609:被测仪器指令测试不通过。
当判断被测仪器的反馈指令与预期的结果不相符时,或者被测仪器在接收到状态查询指令返回的状态信息与预期的结果不相符时,则表明被测仪器出现故障。
在指令序列模式下,通过数据采集卡向多个被测仪器或由多个被测仪器组成的被测装备发送指令序列,从而可以测试被测仪器或被测装备对连续发送指令的执行能力。在执行指令序列模式之前,首先需要配置用于测试被测仪器或被测装备的指令序列。其中,指令序列包括多个单个测试指令,以及不同测试指令的发送顺序。
指令可以分为两类:其一,需要连续向同一个被测仪器发送的测试指令;其二,需要连续向多个不同被测仪器发送指令。
在配置需要连续向同一个被测仪器发送的测试指令,同时该被测仪器执行指令和反馈信息需要的时间比较长的指令时,可以将测试指令的反馈特性取消,并通过查询仪器状态变化的方式判断仪器是否正确执行指令序列。
在配置需要连续向多个不同被测仪器发送测试指令,同时较早执行测试指令的仪器的执行结果对后来执行测试指令的被测仪器有影响的指令时,需要在指令序列中发送完一条测试指令后,添加预定时间间隔后继续执行下一条测试指令。
由上可知,单个测试指令和指令序列中均包括状态查询指令。在指令轮询模式下,通过数据采集卡预定的时间间隔不断向被测仪器发送状态查询指令,被测仪器根据接收到的状态查询指令反馈当前被测仪器所处的状态信息。在装备测试工程中,通过向被测装备中的不同的被测仪器发送状态轮询测试指令,可以验证被测装备中被测仪器之间的关联关系是否正常。在仪器测试工程中,指令轮询模式可以与其他指令模式共同使用,从而达到监控被测仪器或被测装备的状态的日的。
在运行测试工程期间,为了分析待测仪器或待测装备的测试结果,同时平均被测仪器或被测设备各方面性能参数,需要上传用于记录测试工程的动作信息的测试运行日志,并将该测试运行日志以预定时间间隔保存到日志文件中。
由于在长时间的连续的测试工程中可能出现多种不可抗拒的突发因素导致测试工程的终端,其中突发因素包括工控机掉电、系统崩溃、物理连线断开等,为了最大限度的减少上述突发因素对测试的影响,避免测试运行日志的丢失,需要将测试运行日志在预定的时间间隔内自动保存以管理日志,同时在测试工程结束后将日志保存到文件系统。
具体而言,将测试运行过程中产生的测试运行日志放在一个列表中,在后台时钟到达预定时间间隔时,将该日志列表中的所有日志保存到文件系统中,同时清空该日志列表。并且在测试工程结束时,将日志列表中的所有日志记录追加到文件系统中的日志文件中。为了避免测试工程的长时间运行而导致的单个日志文件过大的问题,需要自动按照当前日期生成新的日志文件,并将列表中的日志记录保存在相应日期的日志文件内。
在测试工程结束后释放数据采集卡占用的资源。结合图5所示,在仪器测试工程或装备测试工程结束后,执行步骤S508,判断是否有数据采集卡被初始化,如果是,则执行S509;否则结束初始化过程。当判断有数据采集卡被初始化时,执行步骤S509,释放数据采集卡占用的工控机资源,同时将清空本次仪器测试工程或装备测试工程在运行时设置的数据采集卡的参数,避免本次仪器测试工程或装备测试工程对后续测试时数据采集卡参数的影响。
本发明实施例的多模式仪器测试方法是在Windows XP操作系统上,基于.NETFramework 3.5,采用Visual C#实现的。通过设置运行标识可以完成多个仪器测试过程对不同被测仪器,或不同测试工程中对数据采集卡及通信网络使用的独占性要求。并且支持直接数字I/O、模拟I/O、串口、以太网和DeviceNet通信协议,实现了在动态运行之前,根据仪器或由仪器组成的装备使用的通信类型初始化数据采集卡的功能。在文件操作方面,可以完成仪器配置的序列化和反序列化;在日志记录方面,可以以可设定的时间间隔自动保存仪器测时的运行日志,同时实现了对仪器执行指令、时间延迟和连续执行指令等多个方面特性的测试。
本发明实施例还提供了一种多模式仪器测试系统。该多模式仪器测试系统是在Windows XP操作系统上之,基于.NET Framework,利用C#.NET实现的,可以利用图形化界面显示测试工程的配置,且使用户在图形界面进行仪器测试过程的动态运行,采用测试工程的配置文件的XML序列化及反序列化方法加载并保存测试工程,同时能够输出测试工程的日志信息。
下面参考图7至12描述根据本发明实施例的多模式仪器测试系统700。
如图7所示,本发明实施例的多模式仪器测试系统700包括被测装置710、数据采集卡720和测试运行装置730。其中,被测装置710包括单个被测仪器或由多个被测仪器组成的被测装备。在本发明的一个实施例中,数据采集卡720可以为多个。其中,多个数据采集卡720中的每个均包括多个通道,且每个通道与多个被测仪器中的一个的针脚相连。测试运行装置730可以通过多个数据采集卡720与被测装置710进行通信。
如图8所示,测试运行装置730包括加载模块731、独占性控制模块732、初始化模块733和测试模块734。其中,加载模块731用于加载多个测试工程。测试工程包括用于对单个被测仪器进行测试的仪器测试工程以及用于对被测装备进行测试的装备测试工程。独占性控制模块732用于对仪器测试工程和装备测试工程设置运行标识,通过调整运行标识对数据擦即可进行独占性控制,从而使得仪器测试工程和装备测试工程分时占用数据采集卡720。在本发明的一个实施例中,运行标识包括仪器测试运行标志位和装备测试运行标志位,初始化模块733用于通过检测被测装置710的通信类型以对相应的数据采集卡720进行初始化。测试模块734用于通过多个数据采集卡720以预设的指令模式运行多个测试工程。
图9示出了多模式仪器测试系统的保护的主要类及类间的关系示意图。如图9所示,多模式仪器测试系统700中,主要包括测试工程(TestProject)、仪器测试工程(DeviceTestProject)、装备测试工程(SystemTestProject)和指令序列(CommandSequence)四个类。其中仪器测试工程(DeviceTestProject)类和装备测试工程(SystemTestProject)类均继承自测试工程(TestProject)类。指令序列(CommandSequence)类被测试工程(TestProject)类引用。
测试工程(TestProject)类表示仪器测试工程或装备测试工程,其中包括测试工程的名称、备注、创建和更新日期等基本信息,并且包括测试工程中指令序列测试模式时需要使用的指令序列的配置仪器测试工程(DeviceTestProject)类表示单个仪器的测试工程,其中继承了其父类测试工程(TestProject)的属性和方法。另外,该类包含用于保存单个仪器静态配置的设备配置(deviceConfig)成员,其指向一个静态仪器配置。该类中还包含用于判断仪器测试工程中仪器配置的所有针脚是否已连接到数据采集卡上通道的isAllPinsConnected()方法,用于序列化和反序列化仪器测试工程的saveToFile(string)和resurrectFromDocument(XDocument)方法。与仪器测试工程(DeviceTestProject)类相似,装备测试工程(SystemTestProject)类继承了其父类测试工程(TestProject)的属性和方法,并且拥有用于保存装备静态配置信息的装备配置(systemConfig)成员,其具有的方法签名与仪器测试工程(DeviceTestProject)类似,但该类中方法处理的都是由多个被测仪器组成的被测装备的装备测试工程。
下面结合具体实施例分别对加载模块731、独占性控制模块732、初始化模块733和测试模块734进行详细说明。
如图8所示,加载模块731包括序列化单元7311、文件加载单元7312和反序列化单元7313。
测试工程根据测试对象的不同可以分为两类,包括仪器测试工程和装备测试工程。其中,仪器测试工程用于对单个被测仪器进行测试。装备测试工程用于对由多个被测仪器组成的被测装备进行测试。在本发明的一个实施例中,加载模块731采用XML文件序列化与反序列化的方法加载并保存测试工程。
序列化单元7311将测试工程的配置信息以及数据采集卡720的配置信息序列化为XML文件。其中,测试工程的配置信息包括测试工程的名称、测试工程的备注、测试工程的创建时间、文件序列化时间及序列化后的文件名称,以及测试工程中被测装置710的名称、被测装置710的备注、被测装置710的配置文件名和被测装置710的创建时间等。数据采集卡720的配置信息包括被测仪器的针脚与数据采集卡720上通道的连接关系、向被测装置710发送的指令序列的配置信息等。
序列化后的测试工程的XML文件包括仪器测试工程或装备测试工程中数据采集卡上通道与被测仪器针脚的连接情况,以及仪器测试工程或装备测试工程中指令序列的配置信息。
在本发明的一个实施例中,测试工程的XML文件以<DeviceTestProject>作为根节点,<DeviceTestProject>之下包括用于表示测试工程的信息的<ProjectName>至<ProjectFileName>五个子节点,分别表示测试工程的名称、测试工程的备注、测试工程的创建时间、测试工程的文件序列化时间及序列化后的文件名称。
<DeviceConfig>及其子节点用于保存被测仪器的配置信息,包括被测仪器的名称、被测仪器的备注、被测仪器的配置文件名和被测仪器的创建时间。
<PinConnection>及其子节点用于表示被测仪器的针脚与数据采集卡上通道的连接关系。其中,被测仪器的针脚支持的连接关系包括数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet,将上述被测仪器的针脚支持的连接关系分类保存,从而便于反序列化时的针脚定位。
<CommandSequences>及其子节点用于保存向被测仪器发送的指令序列的配置信息,其中包括指令序列的名称、指令序列的备注、指令序列的创建时间和指令序列的指令列表。其中指令序列的指令列表包括指令序列中的每个测试的指令名称<CommandName>、指令备注<CommandNote>、指令参数<CommandParameter>、是否需要被测仪器发送反馈信息的指示信息<WithFeedback>。
文件加载单元7312通过加载并保存上述XML文件以实现对测试工程的加载和保存。
序列化单元7313将加载完的XML文件进行反序列化以提取XML文件中的测试工程的配置信息和数据采集卡720的配置信息,将上述测试工程的配置信息和数据采集卡720的配置信息赋给测试工程的测试对象,从而形成一个可运行的测试工程。图10为被测仪器针脚到数据采集卡上通道的连接界面。如图10所示,左边的树形控件用于选择被测仪器的针脚,根据针脚与板卡上通道的连接情况,针脚的名称显示不同的颜色。在点击相应的针脚后,中间信息显示区会显示该针脚与数据采集卡上通道的连接情况,并且会根据被测仪器上针脚所支持的通信类型自动判断该针脚所应连接的数据采集卡,将数据采集卡720上未占用的通道以列表的形式供用户选择。
反序列化单元7313对XML文件的反序列化流程参考图2所示。反序列化单元7313通过上述步骤将测试工程的XML文件反序列化为一个可以运行的测试工程,可以使得针对相同被测仪器的测试工程在不同的工控机上使用,并且保证了仪器测试工程的信息的完整性。
在测试过程中,测试运行装置730向被测装置710发送的测试指令需要通过数据采集卡720转换为被测装置710可以识别的测试信号。由于不同的测试工程可能使用到相同的数据采集卡720上的通道发送测试指令,为了避免多个测试工程共用相同的数据采集卡720上的相同通道发送指令,从而需要独占性控制模块732对不同测试工程使用的数据采集卡720进行独占性控制。
测试工程可以分为仪器测试模式和由多个仪器组成的装备测试模式。其中,在仪器测试模式下运行仪器测试工程,在装备测试模式下运行装备测试工程。在两种仪器测试模式之内,以及仪器测试模式和装备测试模式之间都存在对数据采集卡720和通信网络的独占性要求。
为了实现对数据采集卡720和通信网络的独占性要求,独占性控制模块732首先分别对仪器测试工程设置仪器测试运行标志位isDeviceRunnin,对装备测试工程设置装备测试运行标志位isEquipmentRunning。仪器测试运行标志位isDeviceRunnin可以指示当前仪器测试工程运行状态。其中,当仪器测试运行标志位为真时,则表示当前有仪器测试工程正在运行;当仪器测试运行标志位为假时,则表示当前没有仪器测试工程正在运行。装备测试运行标志位isEquipmentRunning可以指示当前装备测试工程运行状态。其中,当装备测试运行标志位为真时,则表示当前有装备测试工程正在运行;当装备测试运行标志位为假时,则表示当前没有装备测试工程正在运行。
独占性控制模块732对仪器测试工程的独占性控制流程参考图3所示。当然本领域技术人员可以理解的是,独占性控制模块732设置仪器测试运行标志位isDeviceRunning与当前仪器测试工程的运行状态的对应方式也可以为其他形式。例如:当仪器测试运行标志位isDeviceRunning为假时,表示当前有仪器测试工程正在运行;当仪器测试运行标志位isDeviceRunning为真时,表示当前没有仪器测试工程正在运行。
同理,独占性控制模块732设置装备测试运行标志位isEquipmentRunning与当前装备测试工程的运行状态的对应方式也可以为其他形式。例如:当装备测试运行标志位isEquipmentRunning为假时,表示当前有装备测试工程正在运行;当装备测试运行标志位isEquipmentRunning为真时,表示当前没有装备测试工程正在运行。
独占性控制模块732对装备测试工程进行独占性控制流程参考图4所示。通过上述步骤,独占性控制模块732可以得到仪器测试运行标识isDeviceRunning和装备测试运行标识isEquipmentRunning的真值表,如表1所示。
由表1的真值表可以看出,仪器测试工程和装备测试工程不能同时为真,即通过调整运行标识保证仪器和装备测试模式不同时占用数据采集卡720和信号通信网络。
由于在测试工程中,测试运行装置730需要通过数据采集卡不断向被测装置710发送测试指令,同时被测装置710也会不断通过数据采集卡720反馈响应信息。为了避免由于数据采集卡720的频繁使用而导致的初始化数据采集卡720时的时间消耗和资源消耗,因此在测试工程运行之前对测试工程使用到的数据采集卡720进行初始化。
数据采集卡720可以将发送的测试指令和被测装置710反馈的信号相互转换。其中,数据采集卡720的数量取决于被测装置710所使用的通信协议的最大集。
在测试工程中,被测装置710支持的通信类型包括:数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet。其中,串口、以太网和DeviceNet既可以发送指令,也可以接收指令,不需要对数据采集卡720的初始化。数字输入、数字输出、模拟输入、模拟输出的通信类型只能发送指令,不能接收指令,因此需要首先对与各个通信类型对应的数据采集卡720进行初始化,再进行相应的信号发送或接收操作。
对于只能发不能收信号的数据采集卡720(如数字输入、数字输出、模拟输入、模拟输出对应的数据采集卡)发送的指令,需要发送另外一条指令来判断仪器是否正常工作。对于既可以发送、又可以接受信号的数据采集卡720(串口、以太网和DeviceNet对应的数据采集卡),只需要发送一条执行指令,在被测装置710执行完此指令后,即可在同一条信号通道上反馈指令。
初始化模块733初始化数据采集卡的流程参考图5所示。为了可以检测测试工程的多方面的特性,如测试工作向被测仪器发送单指令、多指令或状态查询指令等情况下的工作情况,从而利用测试模块734对测试工程设置不同的指令模式,以使测试工程在上述指令模式下运行测试工程。在本发明的一个实施例中,指令模式包括单指令模式、指令序列模式和指令轮询模式。
在单指令模式下,测试模块734通过数据采集卡将单个测试指令发送到被测仪器,如图6所示。
在指令序列模式下,测试模块734通过数据采集卡720向被测装置710发送指令序列,从而可以测试被测仪器或被测装备对连续发送指令的执行能力。在执行指令序列模式之前,首先需要配置用于测试被测装置710的指令序列。其中,指令序列包括多个单个测试指令,以及不同测试指令的发送顺序。如图11所示,用户可以定义多个指令序列,指令序列的名称在左侧的树状结构中显示,当选中某一个指令序列后,右侧会显示该指令序列的相关信息,包括指令序列的备注、创建时间和其中包含的指令等。用户可以通过点击添加指令(Add Command)按钮向指令序列中添加指令。
指令可以分为两类:其一,需要连续向同一个被测仪器发送的测试指令;其二,需要连续向多个不同被测仪器发送指令。
测试模块734在配置需要连续向同一个被测仪器发送的测试指令,同时该被测仪器执行指令和反馈信息需要的时间比较长的指令时,可以将测试指令的反馈特性取消,并通过查询仪器状态变化的方式判断仪器是否正确执行指令序列。
测试模块734在配置需要连续向多个不同被测仪器发送测试指令,同时较早执行测试指令的仪器的执行结果对后来执行测试指令的被测仪器有影响的指令时,需要在指令序列中发送完一条测试指令后,添加预定时间间隔后继续执行下一条测试指令。
由上可知,单个测试指令和指令序列中均包括状态查询指令。在指令轮询模式下,测试模块734通过数据采集卡720预定的时间间隔不断向被测仪器发送状态查询指令,被测仪器根据接收到的状态查询指令反馈当前被测仪器所处的状态信息。在装备测试工程中,测试模块734通过向被测装备中的不同的被测仪器发送状态轮询测试指令,可以验证被测装备中被测仪器之间的关联关系是否正常。在仪器测试工程中,指令轮询模式可以与其他指令模式共同使用,从而达到监控被测仪器或被测装备的状态的日的。
图12示出了测试指令或轮询指令的发送界面。如图12所示,用户可以发送单个测试指令、指令序列,或者以可调节的时间间隔向被测仪器不断发送轮询指令。在界面下方会显示测试过程中的日志信息,并且在运行测试过程中,系统会在后台不断保存测试日志。
在运行测试工程期间,为了分析待测仪器或待测装备的测试结果,同时平均被测仪器或被测设备各方面性能参数,需要上传用于记录测试工程的动作信息的测试运行日志。如图7所示,本发明实施例的多模式仪器测试系统700进一步包括日志管理模块735,用于记录测试工程的动作信息的测试运行日志,并将该测试运行日志以预定时间间隔保存到日志文件中。
由于在长时间的连续的测试工程中可能出现多种不可抗拒的突发因素导致测试工程的终端,其中突发因素包括工控机掉电、系统崩溃、物理连线断开等,为了最大限度的减少上述突发因素对测试的影响,避免测试运行日志的丢失,日志管理模块735需要将测试运行日志在预定的时间间隔内自动保存以管理日志,同时在测试工程结束后将日志保存到文件系统。
具体而言,日志管理模块735将测试运行过程中产生的测试运行日志放在一个列表中,在后台时钟到达预定时间间隔时,将该日志列表中的所有日志保存到文件系统中,同时清空该日志列表。并且在测试工程结束时,日志管理模块735将日志列表中的所有日志记录追加到文件系统中的日志文件中。为了避免测试工程的长时间运行而导致的单个日志文件过大的问题,日志管理模块735需要自动按照当前日期生成新的日志文件,并将列表中的日志记录保存在相应日期的日志文件内。
在测试工程结束后释放数据采集卡占用的资源。结合图5所示,在仪器测试工程或装备测试工程结束后,执行步骤S508,判断是否有数据采集卡被初始化,如果是,则执行S509;否则结束初始化过程。当判断有数据采集卡被初始化时,执行步骤S509,释放数据采集卡占用的工控机资源,同时将清空本次仪器测试工程或装备测试工程在运行时设置的数据采集卡的参数,避免本次仪器测试工程或装备测试工程对后续测试时数据采集卡参数的影响。
本发明实施例的多模式仪器测试系统700是在Windows XP操作系统上,基于.NETFramework 3.5,采用Visual C#实现的。通过独占性控制模块732设置运行标识可以完成多个仪器测试过程对不同被测仪器,或不同测试工程中对数据采集卡及通信网络使用的独占性要求。测试模块734并且支持直接数字I/O、模拟I/O、串口、以太网和DeviceNet通信协议,实现了在动态运行之前,根据仪器或由仪器组成的装备使用的通信类型,由初始化模块733初始化数据采集卡的功能。在文件操作方面,加载模块731可以完成仪器配置的序列化和反序列化;在日志记录方面,日志管理模块735可以以可设定的时间间隔自动保存仪器测时的运行日志,同时实现了对仪器执行指令、时间延迟和连续执行指令等多个方面特性的测试。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (20)
1.一种多模式仪器测试方法,其特征在于,包括如下步骤:
加载多个测试工程,所述多个测试工程的类型包括仪器测试工程和装备测试工程,其中,所述仪器测试工程用于对单个被测仪器进行测试,所述装备测试工程用于对由多个所述被测仪器组成的被测装备进行测试;
对所述仪器测试工程和装备测试工程设置运行标识,通过调整所述运行标识对数据采集卡进行独占性控制,所述仪器测试工程和装备测试工程分时占用所述数据采集卡,其中,所述运行标识包括仪器测试运行标志位和装备测试运行标志位;
检测所述被测仪器或被测装备的通信类型,根据所述通信类型分别对相应的数据采集卡进行初始化;以及
通过所述数据采集卡以预设的指令模式运行所述多个测试工程。
2.如权利要求1所述的测试方法,其特征在于,所述加载多个测试工程包括如下步骤:
将所述测试工程的配置信息和所述数据采集卡的配置信息序列化为XML文件;
加载所述XML文件,对所述XML文件进行反序列化以提取所述测试工程的配置信息和所述数据采集卡的配置信息,将所述测试工程的配置信息和所述数据采集卡的配置信息赋给所述测试工程的测试对象。
3.如权利要求2所述的测试方法,其特征在于,所述数据采集卡的配置信息包括所述数据采集卡的通道与所述被测仪器或所述被测装备中的各个被测仪器的针脚的连接方式以及向所述被测仪器或被测装备发送的指令序列的信息。
4.如权利要求1所述的测试方法,其特征在于,
所述仪器测试运行标志位,用于指示当前仪器测试工程运行状态,其中,当所述仪器测试运行标志位为真时,表示当前有仪器测试工程运行;
所述装备测试运行标志位,用于指示当前装备测试工程运行状态,其中,当所述装备测试运行标志位为真时,表示当前有装备测试工程运行。
5.如权利要求4所述的测试方法,其特征在于,当所述测试工程为仪器测试工程时,所述通过调整运行标识对数据采集卡进行独占性控制,包括如下步骤:
检测当前的仪器测试运行标志位的状态,当仪器测试运行标志位为真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;
当所述仪器测试运行标志位为假时,检测当前的装备测试运行标志位,当所述装备测试运行标识位真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;
调整所述仪器测试运行标志位为真以锁定当前仪器测试运行状态。
6.如权利要求4所述的测试方法,其特征在于,当所述测试工程为装备测试工程 时,所述通过调整运行标识对数据采集卡进行独占性控制,包括如下步骤:
检测当前的装备测试运行标志位的状态,当装备测试运行标志位为真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;
当所述装备测试运行标志位为假时,检测当前的仪器测试运行标志位,当所述仪器测试运行标识位真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;
调整所述装备测试运行标志位为真以锁定当前装备测试运行状态。
7.如权利要求1所述的测试方法,其特征在于,所述被测仪器或被测装备的通信类型包括:数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet。
8.如权利要求7所述的测试方法,其特征在于,检测所述被测仪器或被测装备的通信类型,当所述通信类型为数字输入、数字输出、模拟输入或模拟输出中任一种时,对与各个通信类型对应的数据采集卡进行初始化。
9.如权利要求1所述的测试方法,其特征在于,所述指令模式包括单指令模式、指令序列模式和指令轮询模式,其中,
在所述单指令模式下,通过所述数据采集卡将单个测试指令发送到所述被测仪器;
在所述指令序列模式下,通过所述数据采集卡将指令序列发送到单个被测仪器或被测装备,其中所述指令序列包括各个指令以及指令的发送顺序,
在所述单个测试指令和所述指令序列中包括状态查询指令,所述状态查询指令用于查询所述被测仪器或被测装备的状态;
在指令轮询模式下,通过所述数据采集卡将所述状态查询指令以预定的时间间隔发送至所述被测仪器或被测装备。
10.如权利要求1所述的测试方法,其特征在于,所述多模式仪器测试方法进一步包括如下步骤:生成用于记录所述测试工程的动作信息的测试运行日志,并将所述测试运行日志以预定时间间隔保存到日志文件中。
11.一种多模式仪器测试系统,其特征在于,包括:
被测装置,所述被测装置包括单个被测仪器或由多个所述被测仪器组成的被测装备;
多个数据采集卡,所述多个数据采集卡中的每个都包括多个通道,所述多个通道中的每个与多个被测仪器中的一个的针脚相连,以及
测试运行装置,所述测试运行装置通过所述多个数据采集卡与所述被测装置进行通信,其中,所述测试运行装置包括:
加载模块,用于加载多个测试工程,所述多个测试工程的类型包括仪器测试工程和装备测试工程,其中,所述仪器测试工程用于对所述单个被测仪器进行测试,所述装备测试工程用于对所述被测装备进行测试;
独占性控制模块,用于对所述仪器测试工程和装备测试工程设置运行标识,通过调整所述运行标识对数据采集卡进行独占性控制,所述仪器测试工程和装备
测试工程分时占用所述数据采集卡,其中,所述运行标识包括仪器测试运行标志位和装备测试运行标志位;
初始化模块,用于通过检测所述被测仪器或被测装备的通信类型以对相应的数据采集卡进行初始化;以及
测试模块,用于通过所述多个数据采集卡以预设的指令模式运行所述多个测试工程。
12.如权利要求11所述的测试系统,其特征在于,所述加载模块进一步包括序列化单元、文件加载单元和反序列化单元,其中,
所述序列化单元用于将所述测试工程的配置信息和所述多个数据采集卡的配置信息序列化为XML文件;
所述文件加载单元用于加载所述XML文件;以及
所述反序列化单元用于对所述XML文件进行反序列化以提取所述测试工程的配置信息和所述多个数据采集卡的配置信息,将所述测试工程的配置信息和所述数据采集卡的配置信息赋给所述测试工程的测试对象。
13.如权利要求12所述的测试系统,其特征在于,所述数据采集卡的配置信息包括所述数据采集卡的通道与所述被测仪器或所述被测装备中的各个被测仪器的针脚的连接方式。
14.如权利要求11所述的测试系统,其特征在于,
所述仪器测试运行标志位,用于指示当前仪器测试工程运行状态,其中,当所述仪器测试运行标志位为真时,表示当前有仪器测试工程运行;
所述装备测试运行标志位,用于指示当前装备测试工程运行状态,其中,当所述装备测试运行标志位为真时,表示当前有装备测试工程运行。
15.如权利要求14所述的测试系统,其特征在于,当所述测试工程为仪器测试工程时,
所述独占性控制模块检测当前的仪器测试运行标志位的状态,当所述仪器测试运行标志位为真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;
当所述仪器测试运行标志位为假时,所述独占性控制模块检测当前的装备测试运行标志位,当所述装备测试运行标识位真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;
所述独占性控制模块调整所述仪器测试运行标志位为真以锁定当前仪器测试运行状态。
16.如权利要求14所述的测试系统,其特征在于,当所述测试工程为装备测试工程时,
所述独占性控制模块检测当前的装备测试运行标志位的状态,当装备测试运行标志位为真时,则停止当前的装备测试工程,并调整所述装备测试运行标志位为假;
当所述装备测试运行标志位为假时,所述独占性控制模块检测当前的仪器测试运 行标志位,当所述仪器测试运行标识位真时,则停止当前的仪器测试工程,并调整所述仪器测试运行标志位为假;
所述独占性控制模块调整所述装备测试运行标志位为真以锁定当前装备测试运行状态。
17.如权利要求11所述的测试系统,其特征在于,所述被测仪器或被测装备的通信类型包括:数字输入、数字输出、模拟输入、模拟输出、串口、以太网和DeviceNet。
18.如权利要求17所述的测试系统,其特征在于,所述初始化模块检测所述被测仪器或被测装备的通信类型,当所述通信类型为数字输入、数字输出、模拟输入或模拟输出中任一种时,所述初始化模块对与各个通信类型对应的数据采集卡进行初始化。
19.如权利要求11所述的测试系统,其特征在于,所述指令模式包括单指令模式、指令序列模式和指令轮询模式,其中,
在所述单指令模式下,所述测试模块通过所述数据采集卡将单个测试指令发送到所述被测仪器;
在所述指令序列模式下,所述测试模块通过所述数据采集卡将指令序列发送到单个被测仪器或被测装备,其中所述指令序列包括各个指令以及指令的发送顺序;
在所述单个测试指令和所述指令序列中包括状态查询指令,所述状态查询指令用于查询所述被测仪器或被测装备的状态;
在指令轮询模式下,所述测试模块通过所述数据采集卡将所述状态查询指令以预定的时间间隔发送至所述被测仪器或被测装备。
20.如权利要求11所述的测试系统,其特征在于,所述测试运行装置进一步包括日志管理模块,用于生成用于记录所述测试工程的动作信息的测试运行日志,并将所述测试运行日志以预定时间间隔保存到日志文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010614270 CN102175281B (zh) | 2010-12-30 | 2010-12-30 | 一种多模式仪器测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010614270 CN102175281B (zh) | 2010-12-30 | 2010-12-30 | 一种多模式仪器测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102175281A CN102175281A (zh) | 2011-09-07 |
CN102175281B true CN102175281B (zh) | 2013-03-27 |
Family
ID=44518491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010614270 Expired - Fee Related CN102175281B (zh) | 2010-12-30 | 2010-12-30 | 一种多模式仪器测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102175281B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102607870B (zh) * | 2012-01-11 | 2014-10-22 | 清华大学 | 面向半导体制造设备的逻辑耦合测试方法 |
CN103279106B (zh) * | 2013-05-30 | 2015-07-08 | 莱诺斯科技(北京)有限公司 | 一种仪器设备监视与控制系统 |
CN109959770A (zh) * | 2019-02-19 | 2019-07-02 | 西安电子科技大学 | 一种基于虚拟仪器技术的海洋环境自动监测系统及方法 |
CN116150066B (zh) * | 2023-01-11 | 2023-07-04 | 南京宏泰半导体科技股份有限公司 | 一种集成电路测试的总线数据处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684042A (zh) * | 2004-04-13 | 2005-10-19 | 英业达股份有限公司 | 多种互斥条件下的多模式测试系统及其方法 |
EP1624465A1 (en) * | 2004-08-06 | 2006-02-08 | STMicroelectronics S.r.l. | Programmable multi-mode built-in self-test and self-repair structure for embedded memory arrays |
CN101699409A (zh) * | 2009-09-30 | 2010-04-28 | 深圳市普联技术有限公司 | 一种控制测试设备进行测试的方法和系统 |
CN101915877A (zh) * | 2010-07-02 | 2010-12-15 | 北京航空航天大学 | 一种基于总线技术的通用电磁敏感度测试装置及测试方法 |
-
2010
- 2010-12-30 CN CN 201010614270 patent/CN102175281B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684042A (zh) * | 2004-04-13 | 2005-10-19 | 英业达股份有限公司 | 多种互斥条件下的多模式测试系统及其方法 |
EP1624465A1 (en) * | 2004-08-06 | 2006-02-08 | STMicroelectronics S.r.l. | Programmable multi-mode built-in self-test and self-repair structure for embedded memory arrays |
CN101699409A (zh) * | 2009-09-30 | 2010-04-28 | 深圳市普联技术有限公司 | 一种控制测试设备进行测试的方法和系统 |
CN101915877A (zh) * | 2010-07-02 | 2010-12-15 | 北京航空航天大学 | 一种基于总线技术的通用电磁敏感度测试装置及测试方法 |
Non-Patent Citations (1)
Title |
---|
杨鹏等.多模式系统的测试顺序优化.《计算机工程与应用》.2008,第44卷(第6期),第17-19页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102175281A (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102092477B (zh) | 飞机音频综合系统自动测试与故障诊断装置及方法 | |
CN100530015C (zh) | 一种卫星自动化测试框架系统 | |
CN101847118B (zh) | 自动化测试系统 | |
CN102175281B (zh) | 一种多模式仪器测试方法及系统 | |
CN101865182A (zh) | 飞机液压试验分布式测试系统及其方法 | |
CN107402332A (zh) | 一种智能配电终端多表位自动检测系统及其检测方法 | |
CN102156671A (zh) | 电脑主板自动测试系统 | |
CN102034344B (zh) | 光电隔离型超量通道电压信号在线检测诊断装置及其方法 | |
CN106646186B (zh) | 一种芯片的批量测试方法及系统 | |
CN101739287A (zh) | 管理虚拟机的装置、系统和方法 | |
US9916331B2 (en) | Method and device for automatically processing static test data of rail transit vehicle | |
CN101594192B (zh) | 一种信号处理设备和光接口板的在线故障检测方法和装置 | |
CN109507924A (zh) | 用于油田作业设备的远程监控系统 | |
CN2894106Y (zh) | 基于事件注入的计算机网络可信性评测装置 | |
CN1802613B (zh) | 用于确定工业过程中干扰原因的方法和装置 | |
CN106646315A (zh) | 一种数字测量仪器的自动测试系统及其测试方法 | |
CN108304030A (zh) | 一种多路服务器时钟系统、多路服务器及其控制方法 | |
CN101594627A (zh) | 一种模拟移动终端故障的装置和方法 | |
CN104038388B (zh) | 基于分布式的物联网自动测试系统及测试方法 | |
CN108319516A (zh) | 一种测试系统及测试方法 | |
CN106533739B (zh) | 一种过程层网口故障定位方法和装置 | |
CN105072056A (zh) | 一种交换机自动巡检系统及其巡检方法 | |
CN115208807B (zh) | Poe交换机测试系统及方法 | |
EP3056955B1 (de) | Planungs- und Engineering-Verfahren, -Software-Tool und -System für eine prozesstechnische Anlage | |
CN101441595B (zh) | 负载监控装置及测试装置及负载监控方法及测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130327 Termination date: 20181230 |