CN113688039B - 一种基于数字孪生的自动测试系统仿真验证方法 - Google Patents
一种基于数字孪生的自动测试系统仿真验证方法 Download PDFInfo
- Publication number
- CN113688039B CN113688039B CN202110960442.0A CN202110960442A CN113688039B CN 113688039 B CN113688039 B CN 113688039B CN 202110960442 A CN202110960442 A CN 202110960442A CN 113688039 B CN113688039 B CN 113688039B
- Authority
- CN
- China
- Prior art keywords
- simulation
- driver
- instrument
- test
- ats
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3608—Analysis of software for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3612—Analysis of software for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于数字孪生的自动测试系统仿真验证方法,其特征在于,包括如下步骤:步骤S1,根据ATS的集成设计方案构建ATS数字孪生模型,并开发一个仿真服务;步骤S2,根据仪器开发手册和仿真服务访问方式,开发驱动程序;步骤S3,根据UUT测试需求,开发TP;步骤S4,启动运行仿真服务和TP,开展联合仿真验证。本发明基于一个ATS数字孪生模型能够对ATS集成设计方案、TP和驱动程序进行全面的联合仿真验证,并且可有效控制系统仿真建模的复杂度,显著降低时间和经济成本。
Description
技术领域
本发明涉及测试系统仿真技术领域,具体而言,涉及一种基于数字孪生的自动测试系统仿真验证方法。
背景技术
自动测试系统(Automatic Test System,ATS)广泛应用于国民经济领域中的各种复杂装备产品,尤其是复杂电子信息装备的研制生产和使用维护保障,是确保产品研制进度和质量特性的重要手段。
ATS通过在控制计算机上运行测试程序(Test Program,TP)实现复杂的测试业务逻辑,调用驱动程序对系统中集成的仪器设备进行控制,完成信号的自动化激励、采集和数据处理。
通用的ATS可满足多个型号的被测单元(Unit Under Test,UUT)测试要求,需要运行多个与UUT相对应的TP。将这些TP部署在ATS上前,需要对其进行调试和验证,排除早期错误和缺陷,减少TP部署过程对ATS的占用时间。
现有存在一种方案,当在TP执行过程中需要与ATS中的仪器进行交互时,由TP调用驱动程序函数接口,通过参数通知驱动程序当前为仿真状态(即无需运行实际控制仪器的代码),然后由驱动程序返回一个预设的虚假测量值或状态值给TP。由此确保TP能够顺利执行完毕,完成对TP和驱动程序基本功能的验证。
这种方式存在的主要问题是只能验证TP能否从头至尾顺利执行完毕,以及能否顺利访问驱动程序接口;仿真验证仅局限于一个仪器设备局部,而不能在系统全局对ATS集成设计、TP和驱动程序(如测试步骤的顺序以及驱动控制指令的使用等)进行全面验证。以至于这些经过验证的TP和驱动程序仍然需要在实物ATS上花费大量时间和人力进行调试才能满足要求。
发明内容
本发明旨在提供一种基于数字孪生的自动测试系统仿真验证方法,以解决上述存在的技术问题。
本发明提供的一种基于数字孪生的自动测试系统仿真验证方法,包括如下步骤:
步骤S1,根据ATS的集成设计方案构建ATS数字孪生模型,并开发一个仿真服务;
步骤S2,根据仪器开发手册和仿真服务访问方式,开发驱动程序;
步骤S3,根据UUT测试需求,开发能够调用驱动程序的TP;
步骤S4,基于ATS数字孪生模型,启动运行仿真服务和TP,开展联合仿真验证。
进一步的,步骤S1中根据ATS的集成设计方案构建ATS数字孪生模型的方法为:根据ATS的集成设计方案,确定使用的仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备,并分别为这些仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备构建行为级仿真模型;然后将这些仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备的行为级仿真模型的端口进行连接,得到集成后的ATS数字孪生模型;所述构建行为级仿真模型的方法为:通过对仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备的功能和性能进行描述,包括模型的端口、状态变量和行为函数,由此构建行为级仿真模型;其中,所述模型的行为函数的代码实现原理应与实际仪器设备的信号发生或测量原理相一致;所述模型的端口上输入的信号的数据结构应参照仪器厂商给出的开发手册中的接口描述进行设计。
进一步的,在构建行为级仿真模型后,还对构建的行为级仿真模型进行调试,模拟在其各个输入端口上施加信号,检查相应的行为函数执行逻辑是否正确;在得到集成后的ATS数字孪生模型后,还对集成后的ATS数字孪生模型进行调试,模拟在该集成后的ATS数字孪生模型中某些硬件模型上输入信号并驱动仿真运行,检查系统行为逻辑是否符合预期。
进一步的,步骤S2中所述驱动程序中封装了由仪器生产厂商提供的控制程序或指令以及访问仿真服务的代码;其中,通过封装由仪器生产厂商提供的控制程序或指令实现仪器的实际控制,通过封装访问仿真服务的代码实现仿真验证。
进一步的,所述访问仿真服务的代码包括一个或多个仿真服务访问数据结构,用于在驱动程序中模拟真实情况对仪器进行控制;所述仿真服务访问数据结构为一个类、结构体、函数或脚本文件,其在驱动程序中的调用方式与仪器开发手册上提供的接口相似。
进一步的,在驱动程序中封装由仪器生产厂商提供的控制程序或指令的方法为:根据TP对驱动程序调用的需求,对仪器生产厂商提供的控制程序或指令进行封装,形成驱动程序接口;所述驱动程序的执行方式通过所述驱动程序接口的参数传递给驱动程序函数体;所述驱动程序的执行方式分为接口调用、模型仿真和物理测试三种类型:
所述接口调用是指驱动程序不做任何处理,直接返回一个事先规定的结果给TP,该结果可以是虚拟的测量值或状态值;
所述模型仿真是指驱动程序对TP传入的参数进行处理,然后向仿真服务发送仿真请求,根据获得的响应返回一个接近实际的测试结果给TP;
所述物理测试是指驱动程序对TP传入的参数进行处理,然后通过调用仪器厂商提供的底层控制程序或发送控制指令,对实际仪器进行控制,根据获得的仪器响应返回一个真实的测试结果给TP。
进一步的,在开发驱动程序的过程中可以对所述驱动程序进行调试,模拟在不同执行方式下对驱动程序进行调用,检查该驱动程序功能是否达到预期。
进一步的,步骤S3中所述TP是一个描述UUT测试需求的计算机程序,用于进行测试过程的控制和数据分析处理;其中显式或隐含地包括对驱动程序的调用;所述TP根据TP描述UUT需求方式的不同分为面向仪器的TP和面向信号的TP;所述面向仪器的TP和/或面向信号的TP包含对测试数据进行处理的方法。
进一步的,一个TP可以同时使用面向仪器的方式和面向信号的方式进行开发;开发TP的方法包括通过编写代码的方式开发TP或通过图形化的配置方式开发TP;并且开发的TP为直接可执行的程序或需要独立执行程序对其进行加载运行的数据结构或脚本。
进一步的,步骤S4包括:
手动启动仿真服务或通过程序或脚本自动启动仿真服务;
然后开展联合仿真验证:以TP为原始输入激励,在TP执行过程中调用驱动程序,再由驱动程序访问仿真服务,实现与ATS数字孪生中仿真模型的交互;所述与ATS数字孪生中仿真模型的交互是在与驱动程序相对应的仪器的行为级仿真模型端口上输入控制指令,触发其行为函数的执行,继而产生响应信号,该响应信号通过仪器的行为级仿真模型端口输出,驱动与之相连的UUT或其他仪器继续动作,形成连锁反应,直到系统达到稳定状态为止;所述连锁反应是通过一个仿真调度算法进行控制,其中包括对端口信号事件的记录和执行逻辑;所述联合仿真验证包括对ATS集成设计方案、TP和驱动程序进行全面的验证,其验证效果是通过比较ATS数字孪生模型中信号的处理和流动方式是否与预期一致来判断;并且在所述联合仿真验证过程中对仿真过程数据进行收集、处理和分析,用于仿真验证效果的评估或其他应用.
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明基于一个ATS数字孪生模型能够对ATS集成设计方案、TP和驱动程序进行全面的联合仿真验证。并且该ATS数字孪生模型建立在行为级抽象层次上,可有效控制系统仿真建模的复杂度,且与实物ATS具有一致的行为。因此,在该ATS数字孪生模型上验证后的TP和仪器驱动程序几乎无需更改或仅需少量更改即可运行在实物ATS上,这是对当前装备自动测试系统开发工作方式的重大改进,能够显著降低时间和经济成本。
2、本发明面向仿真验证的驱动程序的代码与实际控制仪器的代码在形式上基本一致。由此能够对驱动程序中的核心部分(即仪器控制指令及其组合方式)进行验证,可大幅减少驱动程序在实物ATS上部署时所需的代码更改和调试时间开销。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明基于数字孪生的自动测试系统仿真验证方法的流程图。
图2为本发明示例的ATS的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本实施例提出一种基于数字孪生的自动测试系统仿真验证方法,包括如下步骤:
步骤S1,根据ATS的集成设计方案构建ATS数字孪生模型,并开发一个仿真服务;
其中,根据ATS的集成设计方案构建ATS数字孪生模型的方法为:根据ATS的集成设计方案,确定使用的仪器设备、被测单元以及可选的测试电缆、测试适配器和/或其他测试设备,并分别为这些仪器设备、被测单元以及可选的测试电缆、测试适配器和/或其他测试设备构建行为级仿真模型;然后将这些仪器设备、被测单元以及可选的测试电缆、测试适配器和/或其他测试设备的行为级仿真模型的端口进行连接,得到集成后的ATS数字孪生模型。
所述构建行为级仿真模型的方法为:通过对仪器设备、被测单元以及可选的测试电缆、测试适配器和/或其他测试设备的功能和性能进行描述,包括模型的端口、状态变量和行为函数,由此构建行为级仿真模型。以仪器设备为例对构建行为级仿真模型的方法进行详述,对于被测单元以及可选的测试电缆、测试适配器和/或其他测试设备均可按照该方法构建相应的行为级仿真模型,具体地:
所述模型的行为函数由更低层次的功能模块的组合代替,以描述复杂硬件的层次结构,但最低层次的功能模块必然包括行为函数;作为优选,所述模型的行为函数的代码实现原理应与实际仪器设备的信号发生或测量原理相一致;
所述模型的端口描述仪器设备与外界交互的接口,当端口上发生信号输入事件时,触发与之绑定的行为函数执行;行为函数模拟仪器设备的功能和性能,执行后改变仪器设备的状态变量或者从指定端口输出信号;作为优选,所述模型的端口上输入的信号的数据结构应参照仪器厂商给出的开发手册中的接口描述进行设计,以减少驱动程序中仿真验证和实际控制代码语句之间的差异。
可选的,在构建行为级仿真模型后,还对构建的行为级仿真模型进行调试,模拟在其各个输入端口上施加信号,检查相应的行为函数执行逻辑是否正确。
进一步,各仪器设备、被测单元以及可选的测试电缆、测试适配器和/或其他测试设备的行为级仿真模型的端口的连接分为单向连接和双向连接;单向连接是将一个端口添加到另一个端口的输出列表;双向连接是指两个端口互为彼此的输出列表元素。
可选的,在得到集成后的ATS数字孪生模型后,还对集成后的ATS数字孪生模型进行调试,模拟在该集成后的ATS数字孪生模型中某些硬件模型上输入信号并驱动仿真运行,检查系统行为逻辑是否符合预期。
所述仿真服务用于提供外部程序访问ATS数字孪生模型的接口;所述仿真服务是一个本地或网络服务,运行在独立的进程上。该仿真服务可以根据服务请求的参数完成对相关ATS数字孪生模型的加载和初始化,以及完成ATS数字孪生模型中端口信号的输入,从而驱动仿真运行。
步骤S2,根据仪器开发手册和仿真服务访问方式,开发驱动程序;
所述驱动程序中封装了由仪器生产厂商提供的控制程序或指令以及访问仿真服务的代码;其中,通过封装由仪器生产厂商提供的控制程序或指令实现仪器的实际控制,通过封装访问仿真服务的代码实现仿真验证;一般驱动程序运行在ATS的控制计算机上。
所述访问仿真服务的代码包括一个或多个仿真服务访问数据结构,用于在驱动程序中模拟真实情况对仪器进行控制;所述仿真服务访问数据结构可以是一个类、结构体、函数或脚本文件,其在驱动程序中的调用方式与仪器开发手册上提供的接口相似,以减少仿真验证驱动程序代码向仪器实际控制代码转换的工作量和错误率。
在驱动程序中封装由仪器生产厂商提供的控制程序或指令的方法为:根据TP对驱动程序调用的需求,对仪器生产厂商提供的控制程序或指令进行封装,形成驱动程序接口;
进一步的,所述驱动程序的执行方式为通过所述驱动程序接口的参数传递给驱动程序函数体;可选地,所述驱动程序的执行方式可以分为接口调用、模型仿真和物理测试三种类型:
所述接口调用是指驱动程序不做任何处理,直接返回一个事先规定的结果给TP,该结果可以是虚拟的测量值或状态值;
所述模型仿真是指驱动程序对TP传入的参数进行处理,然后向仿真服务发送仿真请求,根据获得的响应返回一个接近实际的测试结果给TP;
所述物理测试是指驱动程序对TP传入的参数进行处理,然后通过调用仪器厂商提供的底层控制程序或发送控制指令,对实际仪器进行控制,根据获得的仪器响应返回一个真实的测试结果给TP。
可选的,在开发驱动程序的过程中可以对所述驱动程序进行调试,模拟在不同执行方式下对驱动程序进行调用,检查该驱动程序功能是否达到预期。
需要说明的是,如果要在模型仿真方式下执行或调试驱动程序,需要事先启动仿真服务。另外,可以将用于控制UUT和除仪器以外的其他可程控测试设备的计算机程序视为驱动程序进行封装和调用。
步骤S3,根据UUT测试需求,开发能够调用驱动程序的TP;
所述TP是一个描述UUT测试需求的计算机程序,运行在ATS的控制计算机上,用于进行测试过程的控制和数据分析处理,其中显式或隐含地包括对驱动程序的调用。所述TP根据TP描述UUT需求方式的不同,可以分为面向仪器的TP和面向信号的TP:
(1)面向仪器的TP
所述面向仪器的TP直接面向仪器编程,按照一定的逻辑控制仪器协同完成自动测试任务;所述面向仪器的TP通常是显式地调用驱动程序;可选的,所述面向仪器的TP包含对测试数据进行处理的方法。
(2)面向信号的TP
所述面向信号的TP是一种真正面向UUT测试需求的编程方式,其描述的核心内容是如何在UUT接口上施加或测量各种信号,以及这些信号的连接和断开等操作;在所述面向信号的TP中,仪器的选择和控制逻辑(包括驱动程序的调用)由独立于的TP的执行程序通过算法来决定;可选的,所述面向信号的TP包含对测试数据进行处理的方法。
进一步,一个TP可以同时使用面向仪器的方式和面向信号的方式进行开发。
可选的,可以通过编写代码的方式开发TP,也可以通过图形化的配置方式开发TP。
可选的,所述TP可以是直接可执行的程序,也可以是需要独立执行程序对其进行加载运行的数据结构或脚本。
步骤S4,基于ATS数字孪生模型,启动运行仿真服务和TP,开展联合仿真验证。
手动启动仿真服务或通过程序或脚本自动启动仿真服务;所述仿真服务可以位于本地计算机上,也可以位于远程计算机或服务器上;可选的,所述仿真服务可以独立于TP和驱动程序,因此当仿真服务已经启动时,无需重新启动,只需在当前TP对应的ATS变化时重新加载和初始化ATS数字孪生模型。
然后开展联合仿真验证:以TP为原始输入激励,在TP执行过程中调用驱动程序,再由驱动程序访问仿真服务,实现与ATS数字孪生中仿真模型的交互;
所述与ATS数字孪生中仿真模型的交互是在与驱动程序相对应的仪器的行为级仿真模型端口上输入控制指令,触发其行为函数的执行,继而产生响应信号,该响应信号通过仪器的行为级仿真模型端口输出,驱动与之相连的UUT或其他仪器继续动作,形成连锁反应,直到系统达到稳定状态为止;所述连锁反应是通过一个仿真调度算法进行控制,其中包括对端口信号事件的记录和执行逻辑。
所述联合仿真验证包括对ATS集成设计方案、TP和驱动程序进行全面的验证,其验证效果是通过比较ATS数字孪生中信号的处理和流动方式是否与预期一致来判断,可以用于尽早发现ATS方案中的设计缺陷。可选的,在所述联合仿真验证过程中,可以对仿真过程数据进行收集、处理和分析,用于仿真验证效果的评估或其他应用。
示例:
现以一个具体示例对本发明进行进一步说明:
步骤S1,根据ATS的集成设计方案构建ATS数字孪生模型,并开发一个仿真服务。
如图2所示的一个简化的ATS,其中包括:
一个矢量信号分析仪(m1),用于对信号进行频谱分析;
一个射频开关(m2),其中包括两个单刀多掷的开关K1和K2;
一个被测单元,即UUT(u1);
若干与这些硬件相关的(仪器)驱动程序:d1、d2和d3。此处将用于控制UUT的程序一同视为驱动程序,即d3。
UUT通过射频开关与矢量信号分析仪间接相连,目的是提高测试系统的通用性和灵活性。
简洁起见但不失一般性,假设自动测试任务是使用矢量信号分析仪对UUT输出的一个单载波射频信号(即正弦波信号)进行测试,测量该信号的中心频率和功率。
确定示例ATS中使用的仪器资源,即矢量信号分析仪和射频开关。
为仪器构建行为级仿真模型,以射频开关为例,该模型包含7个端口,分别为RFIN1、RFIN2、COM1、RFOUT1、RFOUT2、RFOUT3和RFOUT4,其中:
RFIN1和RFIN2是输入端口,用于接收从UUT输入的射频信号;
COM1是通信端口,用于与上位驱动程序d2进行交互;
RFOUT1、RFOUT2、RFOUT3和RFOUT4是输出端口,用于将射频信号输出到相连的测试仪器上(本示例中只连接了一个矢量信号分析仪,连接于RFOUT4端口)。
射频开关的行为级仿真模型中的主要状态变量包括:当前仪器在ATS中的地址(addr)、K1开关闭合的位置(K1Pole,默认为1)和K2开关闭合的置为(K2Pole,默认为1)。
射频开关的行为级仿真模型中包含三个行为函数:
行为函数rfin1_handle绑定在端口RFIN1上,当RFIN1有信号输入时,根据射频开关K1和K2的闭合状态,将该信号传递到相应的输出端口;
行为函数rfin2_handle绑定在端口RFIN2上,当RFIN2有信号输入时,根据射频开关K1和K2的闭合状态,将该信号传递到相应的输出端口;
行为函数write绑定在端口COM1上,当COM1有驱动程序输入驱动控制指令时,对输入的驱动控制指令进行解析,根据驱动控制指令中包含的控制参数,设置开关K1和K2的闭合状态。
所述UUT输出的单载波射频信号施加于射频开关的行为级仿真模型的RFIN1端口上,信号数据结构可表示为一个对象,例如:
{“type”:“SingleCarrier”,“freq”:“100MHz”,“ampl”:“-30dBm”}
所述的驱动控制指令信号,根据实际仪器的控制指令进行描述,例如:
{“type”:“DriverSig”,“cmd”:“:CON:K2:4”}
编写一段调试代码,模拟在射频开关的行为级仿真模型的端口上输入相应的信号,考察其行为是否符合预期。例如,首先在其RFIN1上输入上述单载波射频信号,然后在其COM1端口上输入上述驱动控制指令信号,考察该单载波射频信号是否按预期从RFOUT4端口输出。
针对本实施例中的矢量信号分析仪和UUT,可以参见射频开关的建模方式为其构建行为级仿真模型,这里不再一一赘述。
根据示例ATS的集成设计方案,将射频开关、矢量信号分析仪和UUT的行为级仿真模型中的对应端口进行连接,将其集成为一个整体,得到ATS的数字孪生模型。具体地:
将UUT的RFOUT1端口单向连接到射频开关的RFIN1端口,即将后者添加到前者的输出列表中;
将射频开关的RFOUT4端口单向连接到矢量信号分析仪的SIGIN1端口。
完成示例ATS数字孪生模型的集成后,可以对集成后的ATS数字孪生模型进行调试,具体地:
在UUT的LAN1端口由驱动程序输入驱动控制指令,使该UUT从该UUT的行为级仿真模型的RFOUT1端口输出一个具有指定中心频率和功率的单载波射频信号;
在射频开关的行为级仿真模型的COM1端口由驱动程序输入驱动控制指令,使得K1闭合于1端(K1Pole=1),K2闭合于4端(K2Pole=4);
观察上述单载波射频信号是否正确地从矢量信号分析仪的SIGIN1端口输入并触发相应的行为函数执行。
基于HTTP协议开发一个仿真服务,该仿真服务位于本机或服务器上的某个网络端口,例如本机的127.0.0.1:5009;
所述仿真服务中包括两个主要的功能:
初始化ATS数字孪生模型。传入的服务请求参数主要包括ATS数字孪生模型脚本或程序所在的路径,服务处理方法加载该ATS数字孪生模型并对其进行初始化。可以通过类似127.0.0.1:5009/simservice/initats的路由访问该功能;
处理仿真控制指令。传入的服务请求参数主要包括仪器的地址和指令字符串。地址用于查找目标仪器(包括UUT)的行为级仿真模型,然后将指令字符串输入到对应的行为级仿真模型的端口上,如上述射频开关的行为级仿真模型的COM1。可以通过类似127.0.0.1:5009/simservice/simcommand的路由访问该功能。
步骤S2,根据仪器开发手册和仿真服务访问方式,开发驱动程序。
以示例ATS中的矢量信号分析仪为例。
对访问仿真服务的代码进行封装,用于在驱动程序中模拟真实情况对仪器进行控制。将所述访问仿真服务的代码封装为一个名为SimServiceHandle的类,其中包括一个仪器地址字段和一个控制端口字段以及若干对象方法。一个主要的方法write是通过上述HTTP路由访问仿真服务,将驱动控制指令传递给ATS数字孪生模型。
根据TP对驱动程序调用的需求,对仪器厂商提供的底层控制程序或代码进行封装,形成驱动程序接口,例如:
矢量信号分析仪的驱动程序中包括仪器初始化函数(Init)、仪器重置函数(Reset)、仪器设置函数(Setup)和信号测量函数(Read)等;
当仪器初始化函数执行时,将一个SimServiceHandle类的实例保存在驱动程序的一个全局变量handle中,其中包含当前仪器的地址信息。
进一步以所述信号测量函数Read为例。为了测量一个单载波射频信号的中心频率和功率,进行如下设置:
handle.write(':CALC:MARK1:MAX')//标记最大值
markfreq=handle.query(':CALC:MARK1:X?')//获取中心频率
markampl=handle.query(':CALC:MARK1:Y?')//获取功率
其中,用于仿真验证(对应于驱动执行方式中的模型仿真)的代码与实际控制仪器的代码(对应于驱动执行方式中的物理测试)在形式上完全相同,只是在实际控制仪器时handle不是这里封装的访问仿真服务的代码,而是真正的仪器资源句柄。
当TP以模型仿真方式调用上述驱动程序时,驱动程序中相关的函数首先对TP传入的参数进行处理,然后向仿真服务发送仿真请求,根据获得的响应返回一个接近实际的测试结果给TP。
在对驱动程序进行调试时,首先启动一个仿真服务,然后调用仪器初始化函数Init进行初始化,再依次调用各个驱动程序函数,观察仿真服务是否正常响应。
步骤S3,根据UUT测试需求,开发能够调用驱动程序的TP。
本示例中UUT的测试需求被简化为从UUT的RFOUT1端口输出一个单载波射频信号,这里假设已经控制UUT的行为级仿真模型完成了该信号的输出。
以面向信号的TP为例,TP的测试步骤中包含对信号需求的描述,包括该信号需求的类型(激励或测量,此处为测量),信号的属性(此处需指明测量单载波射频信号的中心频率freq和功率ampl属性),以及该信号需求关联的UUT接口上的针脚信息(此处为组成RFOUT1端口的针脚)。
当执行信号的连接操作时,由一个TP执行程序根据仪器的能力进行资源分配(此处分配的仪器资源为矢量信号分析仪),然后搜索从UUT端口到所分配仪器端口之间的信号通路,即确定信号通路上的开关以及开关所需的设置信息(此处为K1:1和K2:4);
所述TP执行程序自动调用射频开关的驱动程序相关函数使开关K1和K2分别闭合于1端和4端,然后调用矢量信号分析仪驱动程序相关函数对通过射频开关传入的单载波射频信号进行测量;
所述测量行为的模拟需要根据仪器的实际工作原理进行描述,例如,若矢量信号分析仪的测量区间设置不正确,则无法测得正确的结果。
步骤S4,基于ATS数字孪生模型,启动运行仿真服务和TP,开展联合仿真验证。
手动在本机的127.0.0.1:5009端口上启动仿真服务。
启动TP,在TP初始化时通过HTTP请求(127.0.0.1:5009/simservice/initats)对当前TP所依赖的ATS数字孪生模型进行加载和初始化。
TP中的测试步骤被TP执行程序依次执行。当涉及仪器控制时,TP执行程序以模型仿真方式调用相应仪器的驱动程序,再由后者访问仿真服务获得接近实际的测试响应;所述的测试响应可以是仪器的状态(如激励类仪器已经完成信号输出),也可以是仪器的测量值(如测量类仪器已经完成信号测量)。直到TP执行完毕,联合仿真验证结束。
在上述联合仿真验证过程中,TP是原始输入激励,其执行效果是影响ATS数字孪生中各个仪器模型以及UUT模型的状态。
若TP逻辑存在问题,则不会产生期望的测试结果,基于此可以对TP进行更加充分的验证。例如,在使用矢量信号分析仪测量UUT输出的单载波射频信号前,需要先完成对UUT的相应控制。若TP的逻辑违背这一原则,则得不到有效的测试结果。
上述联合仿真验证还包括对ATS集成设计方案的验证。例如,若将矢量信号分析仪连接到射频开关的RFOUT3端口,那么在面向信号的测试中信号通路将变为K1:1和K2:3,与预期的K1:1和K2:4不符;若TP是面向仪器的方式实现,即仍然控制射频开关中的K2闭合于4端,则矢量信号分析仪不会接收到信号,同样与预期结果不符。由此,可以通过仿真验证发现ATS方案中的设计缺陷。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于数字孪生的自动测试系统仿真验证方法,其特征在于,包括如下步骤:
步骤S1,根据ATS的集成设计方案构建ATS数字孪生模型,并开发一个仿真服务;
步骤S2,根据仪器开发手册和仿真服务访问方式,开发驱动程序;
步骤S3,根据UUT测试需求,开发能够调用驱动程序的TP;
步骤S4,基于ATS数字孪生模型,启动运行仿真服务和TP,开展联合仿真验证;
步骤S1中根据ATS的集成设计方案构建ATS数字孪生模型的方法为:根据ATS的集成设计方案,确定使用的仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备,并分别为这些仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备构建行为级仿真模型;然后将这些仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备的行为级仿真模型的端口进行连接,得到集成后的ATS数字孪生模型;所述构建行为级仿真模型的方法为:通过对仪器设备、UUT以及可选的测试电缆、测试适配器和/或其他测试设备的功能和性能进行描述,包括模型的端口、状态变量和行为函数,由此构建行为级仿真模型;其中,所述模型的行为函数的代码实现原理应与实际仪器设备的信号发生或测量原理相一致;所述模型的端口上输入的信号的数据结构应参照仪器厂商给出的开发手册中的接口描述进行设计;
步骤S2中所述驱动程序中封装了由仪器生产厂商提供的控制程序或指令以及访问仿真服务的代码;其中,通过封装由仪器生产厂商提供的控制程序或指令实现仪器的实际控制,通过封装访问仿真服务的代码实现仿真验证;
在驱动程序中封装由仪器生产厂商提供的控制程序或指令的方法为:根据TP对驱动程序调用的需求,对仪器生产厂商提供的控制程序或指令进行封装,形成驱动程序接口;所述驱动程序的执行方式通过所述驱动程序接口的参数传递给驱动程序函数体;所述驱动程序的执行方式分为接口调用、模型仿真和物理测试三种类型:
所述接口调用是指驱动程序不做任何处理,直接返回一个事先规定的结果给TP,该结果可以是虚拟的测量值或状态值;
所述模型仿真是指驱动程序对TP传入的参数进行处理,然后向仿真服务发送仿真请求,根据获得的响应返回一个接近实际的测试结果给TP;
所述物理测试是指驱动程序对TP传入的参数进行处理,然后通过调用仪器厂商提供的底层控制程序或发送控制指令,对实际仪器进行控制,根据获得的仪器响应返回一个真实的测试结果给TP;
步骤S3中所述TP是一个描述UUT测试需求的计算机程序,用于进行测试过程的控制和数据分析处理;其中显式或隐含地包括对驱动程序的调用;所述TP根据TP描述UUT需求方式的不同分为面向仪器的TP和面向信号的TP;所述面向仪器的TP和/或面向信号的TP包含对测试数据进行处理的方法;
步骤S4包括:
手动启动仿真服务或通过程序或脚本自动启动仿真服务;
然后开展联合仿真验证:以TP为原始输入激励,在TP执行过程中调用驱动程序,再由驱动程序访问仿真服务,实现与ATS数字孪生中仿真模型的交互;所述与ATS数字孪生中仿真模型的交互是在与驱动程序相对应的仪器的行为级仿真模型端口上输入控制指令,触发其行为函数的执行,继而产生响应信号,该响应信号通过仪器的行为级仿真模型端口输出,驱动与之相连的UUT或其他仪器继续动作,形成连锁反应,直到系统达到稳定状态为止;所述连锁反应是通过一个仿真调度算法进行控制,其中包括对端口信号事件的记录和执行逻辑;所述联合仿真验证包括对ATS集成设计方案、TP和驱动程序进行全面的验证,其验证效果是通过比较ATS数字孪生模型中信号的处理和流动方式是否与预期一致来判断;并且在所述联合仿真验证过程中对仿真过程数据进行收集、处理和分析,用于仿真验证效果的评估或其他应用。
2.根据权利要求1所述的基于数字孪生的自动测试系统仿真验证方法,其特征在于,在构建行为级仿真模型后,还对构建的行为级仿真模型进行调试,模拟在其各个输入端口上施加信号,检查相应的行为函数执行逻辑是否正确;在得到集成后的ATS数字孪生模型后,还对集成后的ATS数字孪生模型进行调试,模拟在该集成后的ATS数字孪生模型中某些硬件模型上输入信号并驱动仿真运行,检查系统行为逻辑是否符合预期。
3.根据权利要求1所述的基于数字孪生的自动测试系统仿真验证方法,其特征在于,所述访问仿真服务的代码包括一个或多个仿真服务访问数据结构,用于在驱动程序中模拟真实情况对仪器进行控制;所述仿真服务访问数据结构为一个类、结构体、函数或脚本文件,其在驱动程序中的调用方式与仪器开发手册上提供的接口相似。
4.根据权利要求1所述的基于数字孪生的自动测试系统仿真验证方法,其特征在于,在开发驱动程序的过程中可以对所述驱动程序进行调试,模拟在不同执行方式下对驱动程序进行调用,检查该驱动程序功能是否达到预期。
5.根据权利要求1所述的基于数字孪生的自动测试系统仿真验证方法,其特征在于,一个TP可以同时使用面向仪器的方式和面向信号的方式进行开发;开发TP的方法包括通过编写代码的方式开发TP或通过图形化的配置方式开发TP;并且开发的TP为直接可执行的程序或需要独立执行程序对其进行加载运行的数据结构或脚本。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110960442.0A CN113688039B (zh) | 2021-08-20 | 2021-08-20 | 一种基于数字孪生的自动测试系统仿真验证方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110960442.0A CN113688039B (zh) | 2021-08-20 | 2021-08-20 | 一种基于数字孪生的自动测试系统仿真验证方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113688039A CN113688039A (zh) | 2021-11-23 |
| CN113688039B true CN113688039B (zh) | 2023-10-31 |
Family
ID=78581152
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110960442.0A Active CN113688039B (zh) | 2021-08-20 | 2021-08-20 | 一种基于数字孪生的自动测试系统仿真验证方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113688039B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115878131B (zh) * | 2023-02-09 | 2023-05-09 | 天津汉云工业互联网有限公司 | 数字孪生应用的代码生成方法、装置和电子设备 |
| CN120336148A (zh) * | 2023-03-25 | 2025-07-18 | 曹庆恒 | 一种虚拟测试系统及其使用方法 |
| CN118435175B (zh) * | 2023-03-25 | 2025-06-27 | 曹庆恒 | 一种虚拟测试系统及其使用方法 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019076233A1 (zh) * | 2017-10-17 | 2019-04-25 | 广东工业大学 | 一种智能车间快速定制设计方法及系统 |
| KR20200015642A (ko) * | 2020-01-25 | 2020-02-12 | 이승철 | Super Tree 기반의 Project/Task 지능 목표관리 방법 및 플랫폼 |
| CN111209219A (zh) * | 2020-04-21 | 2020-05-29 | 中国人民解放军国防科技大学 | 一种卫星导航仿真模型一致性验证方法及系统 |
| CN111338300A (zh) * | 2020-02-27 | 2020-06-26 | 广东工业大学 | 生产线基于数字孪生的物理仿真方法及其系统 |
| CN111819538A (zh) * | 2018-01-15 | 2020-10-23 | 西门子股份公司 | 在云计算系统上的工件生命周期管理 |
| CN112327780A (zh) * | 2020-11-16 | 2021-02-05 | 中国电子科技集团公司第二十九研究所 | 一种电子装备测试生产线的数字孪生系统构建方法及架构 |
| CN112487668A (zh) * | 2020-12-21 | 2021-03-12 | 广东工业大学 | 一种基于数字孪生的近物理仿真集成调试方法及其系统 |
| CN112949041A (zh) * | 2021-02-01 | 2021-06-11 | 广东工业大学 | 一种基于数字孪生的自动化立体仓库构建方法 |
| CN113111006A (zh) * | 2021-05-06 | 2021-07-13 | 上海三一重机股份有限公司 | 作业机械控制系统调试方法及系统 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190325093A1 (en) * | 2018-04-23 | 2019-10-24 | Honeywell International Inc. | Visual debugging, simulation, and validation of hybrid control system configuration with rewind, play back, and play forward capability |
-
2021
- 2021-08-20 CN CN202110960442.0A patent/CN113688039B/zh active Active
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019076233A1 (zh) * | 2017-10-17 | 2019-04-25 | 广东工业大学 | 一种智能车间快速定制设计方法及系统 |
| CN111819538A (zh) * | 2018-01-15 | 2020-10-23 | 西门子股份公司 | 在云计算系统上的工件生命周期管理 |
| KR20200015642A (ko) * | 2020-01-25 | 2020-02-12 | 이승철 | Super Tree 기반의 Project/Task 지능 목표관리 방법 및 플랫폼 |
| CN111338300A (zh) * | 2020-02-27 | 2020-06-26 | 广东工业大学 | 生产线基于数字孪生的物理仿真方法及其系统 |
| CN111209219A (zh) * | 2020-04-21 | 2020-05-29 | 中国人民解放军国防科技大学 | 一种卫星导航仿真模型一致性验证方法及系统 |
| CN112327780A (zh) * | 2020-11-16 | 2021-02-05 | 中国电子科技集团公司第二十九研究所 | 一种电子装备测试生产线的数字孪生系统构建方法及架构 |
| CN112487668A (zh) * | 2020-12-21 | 2021-03-12 | 广东工业大学 | 一种基于数字孪生的近物理仿真集成调试方法及其系统 |
| CN112949041A (zh) * | 2021-02-01 | 2021-06-11 | 广东工业大学 | 一种基于数字孪生的自动化立体仓库构建方法 |
| CN113111006A (zh) * | 2021-05-06 | 2021-07-13 | 上海三一重机股份有限公司 | 作业机械控制系统调试方法及系统 |
Non-Patent Citations (2)
| Title |
|---|
| A Low Cost Flexible Digital Twin Platform for Spacecraft Lithium-ion Battery Pack Degradation Assessment;Yu Peng等;《2019 IEEE International Instrumentation and Measurement Technology Conference (I2MTC)》;第1-6页 * |
| 面向自动测试单元执行的虚实同步映射建模仿真与过程监控技术;林志斌;《中国优秀硕士学位论文全文数据库 信息科技辑》(第6期);I140-433 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113688039A (zh) | 2021-11-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113688039B (zh) | 一种基于数字孪生的自动测试系统仿真验证方法 | |
| CN112817872B (zh) | 开发测试系统及方法 | |
| US6868508B2 (en) | System and method enabling hierarchical execution of a test executive subsequence | |
| KR20210116604A (ko) | 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비 | |
| JP3735636B2 (ja) | 試験エミュレート装置、試験モジュールエミュレート装置、及びこれらのプログラムを記録した記録媒体 | |
| CN107562969B (zh) | 航空发动机控制系统软件的集成方法和装置 | |
| CN117597669A (zh) | 一种测试方法、系统及装置 | |
| CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
| US8489381B1 (en) | Method and system for simulating test instruments and instrument functions | |
| JP2004509425A (ja) | テストコントローラアクセスデータを用いて回路をテスト及び/または診断する方法及びシステム | |
| KR20160012982A (ko) | 프로토콜 독립적 디바이스 시험 시스템 내 프로토콜 재구성을 지원하는 클라우드 기반 인트라스트럭처 | |
| JP2009116876A (ja) | 試験装置のシミュレーションシステム、方法、及びプログラム製品 | |
| CN101915877A (zh) | 一种基于总线技术的通用电磁敏感度测试装置及测试方法 | |
| JP2009116878A (ja) | 試験装置のシミュレーションシステム、方法、及びプログラム製品 | |
| CN108984403A (zh) | Fpga逻辑代码的验证方法及装置 | |
| US9690888B2 (en) | Method and apparatus for system design verification | |
| CN115904333B (zh) | 一种可扩展卫星地面集成测试系统设计方法及系统 | |
| CN105067894A (zh) | 混频器变频损耗的测试方法和系统 | |
| CN117787155A (zh) | 一种芯片可测性代码动态仿真测试系统及测试方法 | |
| CN120492248A (zh) | 寄存器模型及寄存器传输级的生成与测试方法、装置、设备及介质 | |
| CN120893364A (zh) | 一种面向探针处理器的验证与测试一体化平台 | |
| CN118363873B (zh) | 调试模块的测试方法、装置、设备及可读存储介质 | |
| CN211528548U (zh) | 一种基于片上系统的小型化卫星通用测试平台 | |
| JP2007057541A (ja) | 試験エミュレート装置 | |
| CN113947047B (zh) | 用于验证待测设计的接口连接方法及相关设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |