CN101963933A - 仪器测试中适应多通信协议的仪器静态匹配方法 - Google Patents
仪器测试中适应多通信协议的仪器静态匹配方法 Download PDFInfo
- Publication number
- CN101963933A CN101963933A CN 201010295441 CN201010295441A CN101963933A CN 101963933 A CN101963933 A CN 101963933A CN 201010295441 CN201010295441 CN 201010295441 CN 201010295441 A CN201010295441 A CN 201010295441A CN 101963933 A CN101963933 A CN 101963933A
- Authority
- CN
- China
- Prior art keywords
- instrument
- configuration
- node
- static
- stitch
- 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.)
- Granted
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提出一种仪器测试中适应多通信协议的仪器静态匹配方法,包括以下步骤:生成仪器静态配置文件,其中,仪器静态配置文件以XML文件格式存放且以<Device>作为根节点,仪器静态配置文件包括仪器配置的基本信息、所有针脚的<Pins>节点及其子节点信息、指令集的<Commands>节点及其子节点信息和状态集的<States>节点及其子节点信息;和根据仪器静态配置文件对被测仪器的针脚、指令集和状态集进行配置。本发明将仪器测试时使用到的指令集和状态集通过虚拟的针脚概念连接到被测仪器的静态配置中,并据此对被测仪器使用的通信协议及其参数、被测仪器管脚与板卡的连接进行配置。
Description
技术领域
本发明涉及计算机应用及集成电路装备制造技术领域,特别涉及一种仪器测试中适应多通信协议的仪器静态匹配方法。
背景技术
仪器测试的目的是为了验证仪器的准确性、实时性及仪器内部逻辑的正确性。仪器测试过程中,用于测试仪器的信号由运行在计算机上的软件发出,通过调用产生信号的各类板卡,将信号通过线缆发送到被测仪器。被测仪器接收到测试信号后,会做出响应,并将反馈信号通过板卡返回到计算机上的软件。通过测试反馈信号的内容及信号反馈的时间,就可以诊断出被测仪器存在的问题。
通常仪器测试系统的运行分为两个步骤:
首先,仪器测试系统应当在测试软件中做出静态配置,这包括对被测仪器连接的板卡上的通道、被测仪器可接收的指令以及被测仪器可能出现的状态变化等进行配置。
其次,仪器测试系统将静态配置加载到内存,并进入仪器测试的运行状态,在这个状态下,仪器测试系统向被测仪器发出信号和指令,并分析从被测仪器接收其反馈的信号,以此来判断被测仪器是否工作正常。
为了完成测试信号产生、发送以及测试反馈信号的返回,仪器测试系统可以分为三个主要的部分:
1、测试软件平台
测试软件平台具有两种主要作用。一方面,测试软件平台应当能够发出测试信号和指令,且发出的测试信号指令应当具有全面性,即能够覆盖被测仪器能够接收到的所有信号和指令。另一方面,测试软件平台应该能接收被测仪器反馈的信号,这要求测试软件平台在发出测试信号和指令后,能够在正确的信号通道上监听被测仪器返回的反馈信号。
2、板卡系统
板卡系统在整个仪器测试系统中起到桥梁的作用,板卡系统一方面将测试软件平台产生的指令转换为能被测仪器接收的信号。如将针对支持特定通信协议仪器的指令转换为直接I/0的数字量或模拟量、串口通信、以太网或DeviceNet的报文信息。另一方面板卡系统将被测仪器产生的反馈信号发送给测试软件平台。这个过程是将被测仪器反馈的指令反馈为表示被测仪器的开关量的逻辑值、连续量的值等。
3、被测仪器
被测仪器是仪器测试系统的工作对象,仪器测试系统中的所有接口、接头以及通信协议的配置均以被测仪器为标准。被测仪器包含的概念有针脚,指令集、状态集等。
其中,在仪器测试系统中的被测仪器概念中,针脚是与板卡连接的直接和唯一方式,通过针脚,被测仪器接收到由软件测试平台发出的,并由板卡系统传递过来的信号或指令。另一方面,被测仪器反馈给测试软件平台的信号通过针脚发出。
针脚的另一个重要作用是作为指令寻址的目标。对于支持直接I/O和串口的被测仪器,其中的开关量和连续量的值以管脚来区分其物理意义,在板卡系统与被测仪器连接后,软件测试平台通过与被测仪器针脚连接的通道将信号或指令发往被测仪器。
其中,指令集是指被测仪器可以接收、并做出正确响应的所有指令的集合。指令集中的指令可以分为多个类别,其中有些指令是为了改变被测仪器的状态参数,有的指令是为了诊断被测仪器。为了能够保证仪器测试系统发出的指令格式、内容正确,在运行仪器测试系统前,需要将被测仪器的指令集封装到仪器测试的配置中,在运行仪器测试时,直接调用这些测试。
其中,状态集是指被测仪器可能处于的状态集合。包括阀门的开关状态、指示灯的开关状态、流体流量的大小、被测仪器工作的模式等信息。被测仪器的这些状态是由其某些参数决定的,把这些参数翻译为被测仪器的状态是仪器测试系统在接收到被测仪器反馈信号后的必要过程。在运行仪器测试前,需要将被测仪器的参数与其状态匹配,由此形成被测仪器的状态集,在运行仪器测试时,被测仪器反馈的信号可以直接转换为被测仪器的状态显示给仪器测试系统的用户。
现有技术存在的缺点是目前的仪器测试平台中静态配置复杂度高、并且易出错。
发明内容
本发明的主要目的是为了解决仪器测试平台中静态配置时复杂度高、易出错的问题,提出了一种基于虚拟针脚概念的软件测试平台静态配置方法。
为达到上述目的,本发明一方面提出一种仪器测试中适应多通信协议的仪器静态匹配方法,包括以下步骤:生成仪器静态配置文件,其中,所述仪器静态配置文件以XML文件格式存放且以<Device>作为根节点,所述仪器静态配置文件包括仪器配置的基本信息、所有针脚的<Pins>节点及其子节点信息、指令集的<Commands>节点及其子节点信息和状态集的<States>节点及其子节点信息;和根据所述仪器静态配置文件对被测仪器的针脚、指令集和状态集进行配置。
在本发明的一个实施例中,所述仪器静态配置文件由对仪器对象的Device类进行序列化得到,并在向内存加载时将所述仪器静态配置文件进行反序列化后加载,其中,所述仪器对象的Device类包括仪器配置的名称、仪器配置的说明、仪器配置的类型、仪器配置的唯一ID、仪器配置被创建的时间、仪器配置保存时的时间、仪器配置被序列化后的文件名、仪器配置的上层子系统对象、用于存储仪器配置中所有的针脚对象的链表结构、用于存放仪器配置中的指令集的链表结构、用于存放仪器配置中的状态集的链表结构。
在本发明的一个实施例中,所述仪器配置的基本信息包括用于记录仪器配置名称的<DeviceName>节点、用于记录仪器配置类型的<DeviceType>节点,用于记录仪器配置说明的<DeviceNote>节点、用于记录仪器配置ID的<DeviceID>节点、用于记录仪器配置创建时间的<CreatedTime>节点、用于记录仪器配置文件保存时间的<SavedTime>节点以及用于记录仪器配置文件名称的<DeviceFileName>节点。
在本发明的一个实施例中,所述所有针脚的<Pins>节点及其子节点信息中子节点包括<DIPins>、<DOPins>、<AIPins>、<AOPins>、<RS232Pins>、<RS485Pins>、<EtherNetPins>和<DeviceNetPins>,每个针脚包括针脚的基本信息、与针脚相连的通道信息和针脚使用的通信协议的信息。
在本发明的一个实施例中,所述指令集的<Commands>节点及其子节点信息中的子节点包括<DOCommands>、<AOCommands>、<RS232Commands>、<RS485Commands>、<EtherNetCommands>和<DeviceNetCommands>。
在本发明的一个实施例中,所述状态集的<States>节点及其子节点信息中的子节点包括<DIStates>、<AIStates>、<RS232States>、<RS485States>、<EtherNetStates>、<DeviceNetStates>。
在本发明的一个实施例中,所述方法还包括以下步骤:对可用板卡的通道进行初始化,并形成可用板卡通道的列表;根据所述可用板卡通道的列表建立所述可用板卡通道与所述被测仪器针脚的连接。
在本发明的一个实施例中,所述方法还包括以下步骤:对用户对仪器的配置操作进行记录,并将操作信息添加至日志列表;在所述用户退出仪器配置时自动存储所述日志列表。其中,优选地,所述日志文件以天为单位,且在所述日志列表时首先判断当天的日志文件是否存在;如果判断当天的日志文件存在,则将所述日志列表追加到所述当天的日志文件的末尾;如果判断当天的日志文件不存在,则新建当天的日志文件,并将所述日志列表保存到所述新建的当天的日志文件中。
在本发明的一个实施例中,所述方法还包括以下步骤:以仪器配置名称和保存仪器配置时刻的时间作为所述仪器静态配置文件的文件名称。
在本发明的一个实施例中,所述方法还包括以下步骤:在保存所述仪器静态配置文件的同时,使用GUID生成算法为所述仪器静态配置文件生成标识ID。
在本发明的一个实施例中,所述方法还包括以下步骤:显示出被测仪器所有针脚与板卡通道的连接情况,并提示用户对各个通道的连接进行确认。
本发明将仪器测试时使用到的指令集和状态集通过虚拟的针脚概念连接到被测仪器的静态配置中,并据此对被测仪器使用的通信协议及其参数、被测仪器管脚与板卡的连接进行配置。通过对被测仪器静态配置的序列化及反序列化方法,可以将被测仪器的指令集、状态集配置为可移植的XML文件。本发明实现了对支持直接I/O、串口及以太网的被测仪器进行配置,并利用虚拟通道的方法实现了对支持DeviceNet被测仪器的静态配置功能。本发明降低了指令和状态与被测仪器的耦合度,提高了仪器测试系统静态配置的灵活性,并降低了静态配置时的复杂度。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的仪器测试中适应多通信协议的仪器静态匹配方法流程图;
图2为仪器静态配置系统的模块划分示意图;
图3为本发明实施例的仪器针脚配置流程图;
图4为本发明实施例的仪器指令集配置流程图;
图5为本发明实施例的仪器状态集配置流程图;
图6为本发明实施例的仪器静态配置系统中仪器对象的Device类图;
图7为本发明实施例的仪器配置反序列化的流程图;
图8为本发明实施例的可用板卡通道初始化的流程图;
图9为本发明实施例的仪器静态配置方法的系统主要类的结构;
图10为本发明实施例的仪器配置系统的使用流程图;
图11为本发明实施例的添加针脚、指令和状态的页面示意图;
图12为本发明实施例的仪器静态配置系统主界面示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明是在Windows XP操作系统上,基于.NET Framework 3.5,采用Visual C#实现的。本发明可以完成对仪器测试系统中仪器静态配置的新建、编辑、保存和载入等管理功能,以及在系统启动方面,有日志、状态、可用连接通道初始化的功能。并且在静态配置方面,本发明可以完成对仪器针脚、指令集合命令集的配置功能。另外,本发明在文件操作方面,还可以完成仪器配置的序列化和反序列化,并可修改配置文件默认路径。
本发明的目的是为了满足仪器测试平台对静态配置过程中仪器指令集、状态集的配置要求,通过建立虚拟针脚的概念,首先将仪器中的指令和状态与针脚相关联,然后将仪器的针脚连接到仪器测试平台中的板卡通道上。
如图1所示,为本发明实施例的仪器测试中适应多通信协议的仪器静态匹配方法流程图。该方法包括以下步骤:
步骤S101,生成仪器静态配置文件,其中,仪器静态配置文件以XML文件格式存放且以<Device>作为根节点,且仪器静态配置文件包括仪器配置的基本信息、所有针脚的<Pins>节点及其子节点信息、指令集的<Commands>节点及其子节点信息和状态集的<States>节点及其子节点信息。在本发明中,该方法包括
步骤S102,根据所述仪器静态配置文件对被测仪器的针脚、指令集和状态集进行配置。
为了对本发明有更清楚的理解,以下就以具体实施例的方式对本发明进行介绍,但是需要说明的是以下实施例仅为本发明的优选实施方式,并不是说本发明仅能通过以下实施例实现,本领域技术人员可对本发明的以下实施例进行等同的修改或变换,这些均应包含在本发明的保护范围之内。
为了实现本发明中仪器静态配置的方法,仪器静态配置系统可以分为若干个模块,其模块划分如图2所示。其中,仪器静态配置主要包括文件操作、初始化操作和仪器(被测仪器)配置三个部分。其中仪器配置模块是仪器静态配置系统的核心功能,文件操作时为了实现仪器静态配置的跨平台和可移植性,初始化操作是为了满足仪器配置中仪器连接、安全管理等方面的要求。
在本发明的实施例中,仪器配置包括针脚配置、指令集配置和状态集配置。优选地,还包括动态运行验证,以下就对仪器配置进行详细描述。
如图3所示,为本发明实施例的仪器针脚配置流程图,针脚配置分为针脚的基本信息配置,针脚连接的板卡通道配置和针脚使用的通信协议参数配置。具体包括以下步骤:
步骤S301,根据针脚名称、备注等新建针脚对象。
步骤S302,选择针脚使用的协议类型。
步骤S303,选择通信协议的参数,不同的信号或通信协议类型的参数不同,添加不同通信协议使用的参数。
步骤S304,根据针脚使用的通信协议,从可用板卡通道中选择针脚要连接的通道,完成仪器针脚的配置流程。
如图4所示,为本发明实施例的仪器指令集配置流程图,指令集配置是将被测仪器所有可接收并做出正确处理的指令添加到仪器配置中。鉴于仪器的指令与其使用的针脚密切相关性,指令集虽然隶属于仪器配置,但其中的每个指令是作为针脚的一个属性存在的。具体包括以下步骤:
步骤S401,选择指令使用的针脚,通过针脚的信息,可以得到指令使用的信号或通信协议类型。
步骤S402,根据指令名称、备注新建指令对象。
步骤S403,根据指令是否需要反馈修改指令的属性。
步骤S404,根据通信协议,选择指令参数,通过添加仪器的所有指令,完成仪器指令集的配置流程。
如图5所示,为本发明实施例的仪器状态集配置流程图,状态集配置是将被测仪器所有的状态添加到仪器配置中。为了获取仪器的状态,需要使用查询指令。每个状态的获取需要一条查询指令,在进行状态配置时,需要指定状态查询时使用的指令。为了能够得到仪器的指令,与查询相关联的指令均有反馈。具体包括以下步骤:
步骤S501,选择状态使用的针脚,通过针脚的信息,可以判断状态使用的信号或通信协议类型。
步骤S502,根据状态名称、备注新建状态对象。
步骤S503,根据使用的针脚,建立与状态关联的指令对象。
步骤S504,根据通信协议,选择与状态关联的查询指令参数,通过添加仪器的所有状态,完成仪器状态集的配置流程。
在本发明的优选实施例中,为了保证与仪器针脚连接的板卡端口不相互冲突,同时让用户确认仪器配置中的通道连接与物理连接一致,还需要进行动态运行验证。进行动态运行验证时,仪器配置系统显示出仪器所有针脚与板卡通道的连接情况,并使用户确认各个通道连接。仅当用户确认所有物理连接均完成时,才能开始运行仪器的动态测试。
下面将对本发明的文件操作进行介绍,其中文件操作包括序列化和反序列化。文件操作是为了将仪器的静态配置序列化为文件系统中的XML文件,并在需要修改或使用时将XML反序列化为内存中的仪器配置对象。
在本发明的一个实施例中,仪器静态配置的序列化是实现仪器配置对象向文件系统中仪器配置文件的转换。仪器静态配置系统中仪器对象的Device类图如图6所示。
其中,Device类包括若干属性和方法,其中name用于指明仪器配置的名称;note用于表示仪器配置的说明;type用于表示仪器配置的类型;deviceId用于表示仪器配置的唯一ID,此属性使用GUID的生成算法获得,是一个128位的整数;createdTime用于表示仪器配置被创建的时间;savedTime用于表示仪器配置保存时的时间;fileName用于表示仪器配置被序列化后的文件名;subSystem用于表示仪器配置的上层子系统对象;pins是一个链表结构,用于存储仪器配置中所有的针脚对象;commands是用于存放仪器配置中的指令集的链表结构;states是用于存放仪器配置中的状态集的链表结构。findPinByName用于根据针脚名称查找仪器配置中的针脚对象;findCommandByName用于根据指令名称查找仪器配置中指令集中的指令对象;findStateByName用于根据状态名称查找仪器配置中状态集中的状态对象。
通过序列化后,仪器静态配置文件以XML文件格式存放,其文件结构如下:
一个仪器静态配置文件以<Device>作为根节点,其中主要包括四个部分。
第一部分是仪器配置的基本信息,包括用于记录仪器配置名称的<DeviceName>节点、用于记录仪器配置类型的<DeviceType>节点,用于记录仪器配置说明的<DeviceNote>节点、用于记录仪器配置ID的<DeviceID>节点、用于记录仪器配置创建时间的<CreatedTime>节点、用于记录仪器配置文件保存时间的<SavedTime>节点以及用于记录仪器配置文件名称的<DeviceFileName>节点。
第二部分是用于保存仪器配置中所有针脚的<Pins>节点及其子节点。其子节点中包含<DIPins>、<DOPins>、<AIPins>、<AOPins>、<RS232Pins>、<RS485Pins>、<EtherNetPins>和<DeviceNetPins>。将针脚按照其使用的通信协议进行分组保存的原因是针脚的属性与其使用的通信协议类型密切相关。每个针脚中包含三个部分的信息:第一部分表示针脚的基本信息,包括表示针脚名称的<PinName>节点、表示针脚编号的<PinNumber>节点;第二部分是与针脚相连的通道信息,包括通道所处的板卡以及与针脚连接的通道号;第三部分是针脚使用的通信协议,包括用于表示通信协议类型的<ProtocolName>节点和表示多个通信协议参数的子节点。每种通信协议需要的参数有很大的不同:数字输入信号需要指定其高低电平的电压范围;数字输出信号需要指定其高低电平的电压值;模拟输入、输出信号需要指定其电平的电压值范围;串口(包括RS-232和RS485)需要指定通信的波特率、数据位、校验位和停止位;以太网通信需要制定被测仪器使用的IP地址和端口号;DeviceNet需要指定被测仪器使用的MACID和传输波特率。
第三部分是用于保存仪器配置中指令集的<Commands>节点及其子节点。与<Pins>的子节点类似,<Commands>子节点按照信号和通信协议分组保存,其中包括<DOCommands>、<AOCommands>、<RS232Commands>、<RS485Commands>、<EtherNetCommands>和<DeviceNetCommands>节点。每个指令节点均包含指令的基本信息,包括表示指令名称的<CommandName>节点、表示指令是否有返回值的<WithFeedback>节点和表示指令发出时使用的针脚名称的<PinName>节点。除了指令的基本信息外,使用不同通信协议的指令中还包含依赖于通信协议的信息:数字输出信号需要制定信号输出的电平;模拟输出需要制定指令发出的电压范围对应的仪器参数范围;使用串口(包括RS-232和RS485)、以太网、和DeviceNet作为通信协议的指令需要制定指令的字符串。
第四部分是用于保存仪器配置中状态集的<States>节点及其子节点。由于不同状态集中的不同状态需要配置的参数有很大差异,所以按照查询状态时使用查询命令的通信协议将状态集分组。<States>节点包含的子节点有<DIStates>、<AIStates>、<RS232States>、<RS485States>、<EtherNetStates>、<DeviceNetStates>。每个<State>节点均包含仪器状态的基本信息,包括表示状态名称的<StateName>节点、表示状态使用针脚名称的<PinName>节点以及查询状态使用的查询指令,查询指令中的参数配置格式与第三部分的指令参数配置格式相同。
如图7所示,为本发明实施例的仪器配置反序列化的流程图。反序列化是仪器配置序列化的逆过程,实现了XML文件向内存对象的加载。包括以下步骤:
步骤S701,读取<Device>节点。
步骤S702,判断根节点中是否存在<Device>以判断加载的XML文件是否为仪器配置文件。如果判断根节点中不存在<Device>,则执行步骤S717并结束流程,以及报告用户仪器配置加载失败。
步骤S703,若根节点为<Device>,则根据<DeviceName>、<DeviceType>、<DeviceNote>、<DeviceID>、<CreatedTime>、<SavedTime>、<DeviceFileName>节点的值建立仪器配置对象。
步骤S704,读取仪器配置文件的<Pins>节点。
步骤S705,判断是否存在分类的Pin节点。如果判断不存在分类的Pin节点,则执行步骤S708。
步骤S706,如果判断存在分类的Pin节点,则读取节点连接的板卡及通道,并将其连接至仪器的针脚。
步骤S707,读取节点使用的协议,并为针脚建立相应的协议对象。
步骤S708,读取仪器配置的<Commands>节点。
步骤S709,判断是否存在分类的Command节点。如果判断不存在,则执行步骤S712。
步骤S710,如果判断存在,则依据Command支持的协议,建立Command的子类对象。
步骤S711,依据<Commands>子节点中的<PinName>节点的值,查找到仪器的针脚,并将其引用赋给当前指令。
步骤S712,读取<States>的子节点。
步骤S713,判断是否存在分类的State节点。如果判断不存在,则执行步骤S716。
步骤S714,如果判断存在,则依据State的查询指令支持的协议,建立State的子类对象及其查询指令对象。
步骤S715,依据<State>子节点中的<PinName>节点的值,查找到仪器的针脚,并将其引用赋给当前状态。
步骤S716,将针脚、指令集和状态集添加到仪器配置对象。
步骤S717,提示用户载入正确的仪器配置文件。
在本发明的优选实施例中,还包括对可用板卡通道初始化。为了保证仪器针脚连接的通道的可用性,并减少不同针脚连接通道的冲突,在连接仪器的针脚之前,首先初始化可用板卡的通道,并形成可用板卡通道的列表。用户在将仪器针脚连接时,只能从已建立的列表中选择,这样就减少了仪器的多个针脚同时连接一个板卡通道的错误。如图8所示,为本发明实施例的可用板卡通道初始化的流程图。包括以下步骤:
步骤S801,读取板卡配置。
步骤S802,判断是否存在板卡配置列表。如果判断不存在,则执行步骤S808。
步骤S803,如果判断存在板卡配置列表,则读取板卡信息。
步骤S804,读取每个板卡的各个通道信息。
步骤S805,判断通道是否被占用。如果判断通道已被占用,则执行步骤S804。
步骤S806,如果判断通道未被占用,则将通道加入可用通道列表。
步骤S807,判断是否已读取所有通道。如果判断是,则结束流程。在流程结束后,板卡配置系统中将生成可用板卡通道的列表。用户在将仪器的针脚连接到板卡上的通道时,仅能从可用板卡通道的列表中选择。如果判断不是,则返回步骤S703。
步骤S808,通知用户加载板卡配置列表并结束流程。
在本发明的优选实施例中,还包括日志管理。具体地,仪器静态配置的日志管理主要是记录用户配置仪器的过程。用户在进行仪器配置操作时,所有的动作信息,包括操作时间、操作对象、产生的结果以及生成的配置文件都将添加到日志列表中,用户在退出仪器配置系统时,系统将自动存储用户的日志列表。日志文件以天为单位存储,在每次存储仪器配置日志时,将首先判断是否存在当天的日志,若存在,则将当前日志列表追加到当天日志文件的末尾;若不存在,则新建当天的日志文件,并将日志列表保存到日志文件中。以天为单位保存日志的特点,减小了出现较大日志文件体积的可能性,同时方便用户组织和查看日志。
在本发明的优选实施例中,还包括配置文件管理。随着用户配置仪器数量的增多,仪器配置文件可能出现冲突和混淆。为了减少仪器配置文件的冲突,本发明使用仪器配置名称与保存仪器配置时刻的时间为配置文件名称的方式。为了避免文件名被修改后无法辨别文件保存时间的现象,在保存文件信息的同时,将仪器配置文件保存的时间写入到文件中。为了确保某一个仪器配置文件的唯一性,在保存配置文件的时刻,使用GUID(Global Unique Identification)生成算法,为仪器的配置文件生成标识ID。
为了满足仪器测试系统对用户界面的要求,并兼顾板卡配置系统的功能复杂度,本发明在Windows XP操作系统上,基于.NET Framework 3.5,使用Visual C#开发完成。仪器静态配置系统包括的命名空间有SimulationTester.Devices、SimulationTester.Pins、SimulationTester.Commands、SimulationTester.Protocols和SimulationTester.States。如图9所示,为本发明实施例的仪器静态配置方法的系统主要类的结构。其中,仪器配置系统中的核心类是Device,每个Device类包含多个Pin对象。Pin是一个虚拟的概念,作为Device对象连接Protocol对象、Command对象和State对象之间的桥梁。一个Pin对象对应一个Protocol对象,表示被测仪器的一个针脚使用一种通信信号或协议;一个Pin对象对应一个或多个Command对象,表示多个指令可以由一个针脚发出;一个Pin对象对应一个或多个State对象,表示多个状态可以通过一个针脚获得。
使用仪器静态配置系统时,首先应建立多个Pin对象,然后依据Pin对象建立多个Command对象形成指令集,建立多个State对象形成状态集。如图10所示,为本发明实施例的仪器配置系统的使用流程图。包括以下步骤:
步骤S1001,向仪器配置中添加针脚。
步骤S1002,在针脚基础上添加指令集。
步骤S1003,在针脚基础上添加状态集。
步骤S1004,校验仪器配置。
步骤S1005,判断针脚连接是否存在冲突。如果判断不存在冲突,则结束流程。
步骤S1006,如果判断存在冲突,则修改针脚与通道的连接。
在仪器静态配置系统时候时,首先添加针脚,其中包括针脚连接的板卡上的通道以及针脚使用的协议。其次通过选择已添加的针脚,向仪器静态配置中添加指令和状态。本发明实施例的添加针脚、指令和状态的页面如图11所示。如图12所示,为本发明实施例的仪器静态配置系统主界面,其中主要包括上端的日志和运行实现显示区,下端的功能选择区,左侧的信息选择区和右侧的功能选择区。
本发明将仪器测试时使用到的指令集和状态集通过虚拟的针脚概念连接到被测仪器的静态配置中,并据此对被测仪器使用的通信协议及其参数、被测仪器管脚与板卡的连接进行配置。通过对被测仪器静态配置的序列化及反序列化方法,可以将被测仪器的指令集、状态集配置为可移植的XML文件。本发明实现了对支持直接I/O、串口及以太网的被测仪器进行配置,并利用虚拟通道的方法实现了对支持DeviceNet被测仪器的静态配置功能。本发明降低了指令和状态与被测仪器的耦合度,提高了仪器测试系统静态配置的灵活性,并降低了静态配置时的复杂度。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (12)
1.一种仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,包括以下步骤:
生成仪器静态配置文件,其中,所述仪器静态配置文件以XML文件格式存放且以<Device>作为根节点,所述仪器静态配置文件包括仪器配置的基本信息、所有针脚的<Pins>节点及其子节点信息、指令集的<Commands>节点及其子节点信息和状态集的<States>节点及其子节点信息;
根据所述仪器静态配置文件对被测仪器的针脚、指令集和状态集进行配置。
2.如权利要求1所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,所述仪器静态配置文件由对仪器对象的Device类进行序列化得到,并在向内存加载时将所述仪器静态配置文件进行反序列化后加载,其中,所述仪器对象的Device类包括仪器配置的名称、仪器配置的说明、仪器配置的类型、仪器配置的唯一ID、仪器配置被创建的时间、仪器配置保存时的时间、仪器配置被序列化后的文件名、仪器配置的上层子系统对象、用于存储仪器配置中所有的针脚对象的链表结构、用于存放仪器配置中的指令集的链表结构、用于存放仪器配置中的状态集的链表结构。
3.如权利要求2所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,所述仪器配置的基本信息包括用于记录仪器配置名称的<DeviceName>节点、用于记录仪器配置类型的<DeviceType>节点,用于记录仪器配置说明的<DeviceNote>节点、用于记录仪器配置ID的<DeviceID>节点、用于记录仪器配置创建时间的<CreatedTime>节点、用于记录仪器配置文件保存时间的<SavedTime>节点以及用于记录仪器配置文件名称的<DeviceFileName>节点。
4.如权利要求2所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,所述所有针脚的<Pins>节点及其子节点信息中子节点包括<DIPins>、<DOPins>、<AIPins>、<AOPins>、<RS232Pins>、<RS485Pins>、<EtherNetPins>和<DeviceNetPins>,每个针脚包括针脚的基本信息、与针脚相连的通道信息和针脚使用的通信协议的信息。
5.如权利要求2所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,所述指令集的<Commands>节点及其子节点信息中的子节点包括<DOCommands>、<AOCommands>、<RS232Commands>、<RS485Commands>、<EtherNetCommands>和<DeviceNetCommands>。
6.如权利要求2所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,所述状态集的<States>节点及其子节点信息中的子节点包括<DIStates>、<AIStates>、<RS232States>、<RS485States>、<EtherNetStates>、<DeviceNetStates>。
7.如权利要求1所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,还包括:
对可用板卡的通道进行初始化,并形成可用板卡通道的列表;
根据所述可用板卡通道的列表建立所述可用板卡通道与所述被测仪器针脚的连接。
8.如权利要求1所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,还包括:
对用户对仪器的配置操作进行记录,并将操作信息添加至日志列表;
在所述用户退出仪器配置时自动存储所述日志列表。
9.如权利要求8所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,
所述日志文件以天为单位,且在所述日志列表时首先判断当天的日志文件是否存在;
如果判断当天的日志文件存在,则将所述日志列表追加到所述当天的日志文件的末尾;
如果判断当天的日志文件不存在,则新建当天的日志文件,并将所述日志列表保存到所述新建的当天的日志文件中。
10.如权利要求1所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,还包括:
以仪器配置名称和保存仪器配置时刻的时间作为所述仪器静态配置文件的文件名称。
11.如权利要求10所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,还包括:
在保存所述仪器静态配置文件的同时,使用GUID生成算法为所述仪器静态配置文件生成标识ID。
12.如权利要求1所述的仪器测试中适应多通信协议的仪器静态匹配方法,其特征在于,还包括:
显示出被测仪器所有针脚与板卡通道的连接情况,并提示用户对各个通道的连接进行确认。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102954410A CN101963933B (zh) | 2010-09-29 | 2010-09-29 | 仪器测试中适应多通信协议的仪器静态匹配方法 |
PCT/CN2010/080541 WO2012040989A1 (zh) | 2010-09-29 | 2010-12-30 | 用于集成电路制造设备的仿真测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102954410A CN101963933B (zh) | 2010-09-29 | 2010-09-29 | 仪器测试中适应多通信协议的仪器静态匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101963933A true CN101963933A (zh) | 2011-02-02 |
CN101963933B CN101963933B (zh) | 2012-11-14 |
Family
ID=43516807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102954410A Expired - Fee Related CN101963933B (zh) | 2010-09-29 | 2010-09-29 | 仪器测试中适应多通信协议的仪器静态匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101963933B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102607870A (zh) * | 2012-01-11 | 2012-07-25 | 清华大学 | 面向半导体制造设备的逻辑耦合测试方法 |
CN102830342A (zh) * | 2012-08-29 | 2012-12-19 | 上海宏力半导体制造有限公司 | 芯片测试方法以及芯片制造方法 |
CN103873134A (zh) * | 2014-03-20 | 2014-06-18 | 中国空间技术研究院 | 一种兼容多数据格式的卫星数据订阅方法 |
CN108072801A (zh) * | 2016-11-14 | 2018-05-25 | 江西昌河航空工业有限公司 | 一种基于并联测试电路的在线测试方法 |
CN111416756A (zh) * | 2020-03-13 | 2020-07-14 | 深圳市腾讯信息技术有限公司 | 协议测试方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376417A1 (fr) * | 2002-06-26 | 2004-01-02 | Emulation and Verification Engineering | Procédé et système d'émulation d'un circuit sous test associé à un environnement de test |
CN101064714A (zh) * | 2006-04-24 | 2007-10-31 | 华为技术有限公司 | 一种业务发放的方法 |
CN101118513A (zh) * | 2006-08-03 | 2008-02-06 | 鸿富锦精密工业(深圳)有限公司 | 板卡测试系统及方法 |
CN101488085A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 软件接口测试方法和装置 |
-
2010
- 2010-09-29 CN CN2010102954410A patent/CN101963933B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376417A1 (fr) * | 2002-06-26 | 2004-01-02 | Emulation and Verification Engineering | Procédé et système d'émulation d'un circuit sous test associé à un environnement de test |
CN101064714A (zh) * | 2006-04-24 | 2007-10-31 | 华为技术有限公司 | 一种业务发放的方法 |
CN101118513A (zh) * | 2006-08-03 | 2008-02-06 | 鸿富锦精密工业(深圳)有限公司 | 板卡测试系统及方法 |
CN101488085A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 软件接口测试方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102607870A (zh) * | 2012-01-11 | 2012-07-25 | 清华大学 | 面向半导体制造设备的逻辑耦合测试方法 |
CN102607870B (zh) * | 2012-01-11 | 2014-10-22 | 清华大学 | 面向半导体制造设备的逻辑耦合测试方法 |
CN102830342A (zh) * | 2012-08-29 | 2012-12-19 | 上海宏力半导体制造有限公司 | 芯片测试方法以及芯片制造方法 |
CN103873134A (zh) * | 2014-03-20 | 2014-06-18 | 中国空间技术研究院 | 一种兼容多数据格式的卫星数据订阅方法 |
CN103873134B (zh) * | 2014-03-20 | 2017-08-29 | 中国空间技术研究院 | 一种兼容多数据格式的卫星数据订阅方法 |
CN108072801A (zh) * | 2016-11-14 | 2018-05-25 | 江西昌河航空工业有限公司 | 一种基于并联测试电路的在线测试方法 |
CN111416756A (zh) * | 2020-03-13 | 2020-07-14 | 深圳市腾讯信息技术有限公司 | 协议测试方法、装置、计算机设备及存储介质 |
CN111416756B (zh) * | 2020-03-13 | 2021-12-14 | 深圳市腾讯信息技术有限公司 | 协议测试方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101963933B (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103178996B (zh) | 分布式包交换芯片模型验证系统及验证方法 | |
CN101963933B (zh) | 仪器测试中适应多通信协议的仪器静态匹配方法 | |
CN102685134B (zh) | 一种基于可扩展标记语言与动态库综合实现的通信管理机 | |
CN114363021B (zh) | 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置 | |
CN104885212A (zh) | 利用分区多跳网络的裸片堆叠装置 | |
CN101996148A (zh) | 用于多种通信协议的仪器测试板卡配置方法 | |
CN1981202A (zh) | 模块化测试系统中的数据日志支持 | |
CN108460199B (zh) | Cni建模系统 | |
CN101894192A (zh) | Afdx网络设计与验证的仿真和演示系统及其仿真和演示方法 | |
CN105450476A (zh) | 一种回归测试系统及测试方法 | |
CN101963798A (zh) | 嵌入式轨道交通车站设备信息采集机及其方法 | |
EP2511841A2 (en) | System and method for generation of cim-based power system circuit models | |
CN116049014A (zh) | Amba总线的验证平台生成方法及装置 | |
CN102571474B (zh) | 虚拟化的Radius测试系统及方法 | |
CN113779913B (zh) | 一种面向ai多芯片系统的验证平台结构和测试方法 | |
CN109684148B (zh) | 一种基于arinc653的机载嵌入式软件虚拟总线通信构建方法 | |
CN105426334B (zh) | 并联式大规模usb扩展装置及工作方法、系统 | |
CN106776372B (zh) | 基于fpga的仿真数据存取方法及装置 | |
CN109388406A (zh) | 转换java代码的方法及装置、存储介质、电子装置 | |
CN101336397A (zh) | 存储具有控制技术过程的数据的数据模块的方法以及控制装置和自动化装置 | |
CN115484187B (zh) | 容器环境下容器网络接口测试方法、设备及存储介质 | |
CN109376116B (zh) | 芯片网络的拓扑结构的构建方法及芯片节点 | |
CN106789449A (zh) | 一种can总线开发与测试方法及系统 | |
US7987083B2 (en) | Method for simulating a complex system with construction of at least one model including at least one modelled router, corresponding computer software package and storage means | |
CN103902313A (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: 20121114 Termination date: 20180929 |