CN112051835A - Dcs冗余功能的测试方法及测试装置 - Google Patents
Dcs冗余功能的测试方法及测试装置 Download PDFInfo
- Publication number
- CN112051835A CN112051835A CN202010934372.7A CN202010934372A CN112051835A CN 112051835 A CN112051835 A CN 112051835A CN 202010934372 A CN202010934372 A CN 202010934372A CN 112051835 A CN112051835 A CN 112051835A
- Authority
- CN
- China
- Prior art keywords
- test
- dcs
- module
- tested
- configuration file
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请提供的DCS冗余功能的测试方法及测试装置,接收DCS冗余功能测试指令,获取该指令指示的预设文件,其存储有目标配置参数和预设调用方式,目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需测试用例;下发组态文件至待测DCS系统,使其基于组态文件运行;基于预设调用方式调用对应组态文件的测试用例;利用其对运行组态文件的待测DCS系统进行测试,并确定测试结果。可见,预先编写DCS冗余功能测试所需预设文件,测试时,通过调用预设文件,将其下发至待测DCS系统,基于预设调用方式调用对应组态文件的测试用例就能对DCS冗余功能进行自动测试,无需人为操作,且能反复进行高频率测试,提高了测试效率。
Description
技术领域
本发明涉及工控测试技术领域,更具体地说,涉及一种DCS冗余功能的测试方法及测试装置。
背景技术
DCS(Distributed Control System,集散控制系统)由于其集中管理和分散控制的特点,在许多行业诸如电力、石化等行业得到了广泛的应用。DCS的冗余技术是一项重要的容错处理技术,其实现原理如下:当正在运行的子系统出现故障时,能够切换到备用的子系统进行工作。然而,实现该项冗余技术需要测试DCS冗余功能的正确性。
目前,主要通过人工操作的方法测试DCS冗余功能的正确性。测试的过程中,需同时观察DCS冗余功能和DCS常规功能,由于DCS常规功能测试内容多,导致现有通过人工操作的方法出现测试覆盖率低、测试资源不集中、观察项分散、缺少高强度测试和高频率测试等情况,因而难以满足测试要求,并且给实际应用造成了测试代价高的困扰。
发明内容
有鉴于此,本发明实施例提供一种DCS冗余功能的测试方法及测试装置,以解决现有通过人工操作的方法测试DCS冗余功能带来不良影响的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一方面,本发明实施例提供一种DCS冗余功能的测试方法,其特征在于,所述测试方法包括:
接收DCS冗余功能测试指令,获取所述DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例;
下发所述组态文件至所述待测DCS系统,使所述待测DCS系统基于所述组态文件运行;
基于所述预设调用方式调用对应所述组态文件的测试用例;
利用所述测试用例对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
可选的,所述基于所述预设调用方式调用对应所述组态文件的测试用例,包括:
基于第一预设调用方式调用对应所述组态文件的第一测试用例,所述第一测试用例用于指示对所述待测DCS系统并行进行单个常规功能测试和冗余切换功能测试。
可选的,所述基于所述预设调用方式调用对应所述组态文件的测试用例,包括:
基于第二预设调用方式调用对应所述组态文件的第二测试用例,所述第二测试用例用于指示对所述待测DCS系统并行进行多个常规功能测试和冗余切换功能测试。
可选的,所述利用所述测试用例对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
基于不同的预设调用方式调用的测试用例调用不同组合的测试模块;
基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
可选的,若所述不同组合的测试模块包括:信号源模块、信号监控模块、故障注入模块、故障诊断模块、组态切换模块、控制器内部变量自动监测模块、程序处理模块、实时响应模块、模拟上位机操作模块、时钟同步模块和异构通信模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息之前和之后,其他测试模块运行所述组态文件时的信号变化值;
判断所述信号变化值是否符合预设值,并基于判断结果和所述故障诊断结果确定测试结果。
可选的,若所述不同组合的测试模块包括:故障注入模块、故障诊断模块、信号源模块、信号监控模块和控制器内部变量自动监测模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
通过LabVIEW控制所述信号源模块向运行所述组态文件的待测DCS系统的硬点输入测试信号;
获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息之后,所述信号监控模块中所述待测DCS系统的硬点输出信号;
判断所述硬点输出信号是否符合预设输出信号,并基于判断结果和所述故障诊断结果确定测试结果。
可选的,若所述不同组合的测试模块包括:故障注入模块、故障诊断模块和控制器内部变量自动监测模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述控制器内部变量自动监测模块输出的事件记录结果;
基于所述故障诊断结果和所述事件记录结果确定测试结果。
另一方面,本发明实施例提供一种DCS冗余功能的测试装置,其特征在于,所述测试装置包括:
DCS冗余功能测试指令接收模块,用于接收DCS冗余功能测试指令,获取所述DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例;
组态文件下载模块,用于下发所述组态文件至所述待测DCS系统,使所述待测DCS系统基于所述组态文件运行;
测试用例执行模块,用于基于所述预设调用方式调用对应所述组态文件的测试用例;利用所述测试用例对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
可选的,所述测试用例执行模块,具体用于基于不同的预设调用方式调用的测试用例调用不同组合的测试模块;基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
可选的,若所述不同组合的测试模块包括:信号源模块、信号监控模块、故障注入模块、故障诊断模块、组态切换模块、控制器内部变量自动监测模块、程序处理模块、实时响应模块、模拟上位机操作模块、时钟同步模块和异构通信模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果的测试用例执行模块,包括:
第一控制单元,用于通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
第一获取单元,用于获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息之前和之后,其他测试模块运行所述组态文件时的信号变化值;
第一处理单元,用于判断所述信号变化值是否符合预设值,并基于判断结果和所述故障诊断结果确定测试结果。
基于上述本发明实施例提供的DCS冗余功能的测试方法及测试装置,接收DCS冗余功能测试指令,获取DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例;下发组态文件至待测DCS系统,使待测DCS系统基于组态文件运行;基于预设调用方式调用对应组态文件的测试用例;利用测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果。在本方案中,预先编写DCS冗余功能测试所需的预设文件,在测试时,通过调用与DCS冗余功能测试指令对应的预设文件,将预设文件中的组态文件下发至待测DCS系统,基于预设文件中的预设调用方式调用对应组态文件的测试用例就能对DCS冗余功能进行自动测试,该过程无需人为测试DCS冗余功能,且能够反复进行高频率测试,提高了测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一实施例提供的DCS冗余功能测试的应用架构图;
图2为本发明一实施例提供的DCS冗余功能的测试方法的流程示意图;
图3为本发明一实施例提供的DCS冗余功能的测试装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,现有通过人工操作的方法测试DCS冗余功能会带来多种问题,难以满足测试要求,并且给实际应用造成了测试代价高的困扰。
有鉴于此,本发明实施例提供一种DCS冗余功能的测试方法及测试装置,以解决现有通过人工操作的方法测试DCS冗余功能带来不良影响的问题。
如图1所示,为本发明实施例提供的DCS冗余功能测试的应用架构图。该架构包括:DCS冗余功能测试框架100和待测DCS系统200。
其中,DCS冗余功能测试框架100可以具体为Robot framework工具或者TestStand工具等。DCS冗余功能测试框架100包括以下模块:信号源模块、信号监控模块、故障注入模块、故障诊断模块、模拟上位机操作模块、时钟同步模块、组态切换模块、异构通信模块、程序处理模块和实时响应模块。
待测DCS系统200包括控制器内部变量自动监测模块。
在具体实现DCS冗余功能测试的过程中,DCS冗余功能测试框架接收DCS冗余功能测试指令,基于该指令获取对应的预设文件,将预设文件中的组态文件下发至待测DCS系统,以便待测DCS系统基于组态文件运行,利用预设文件中测试用例对运行组态文件的待测DCS系统进行自动测试,并确定测试结果。该过程无需人为测试DCS冗余功能,且能够反复进行高频率测试,提高了测试效率。下面通过具体实施例进一步详细说明。
基于上述本发明实施例公开的应用架构,请参见图2,示出了本发明实施例提供的一种DCS冗余功能的测试方法的流程示意图。该测试方法包括以下步骤:
S201:接收DCS冗余功能测试指令,获取DCS冗余功能测试指令指示的预设文件。
在S201中,预设文件存储有目标配置参数和预设调用方式,目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例。
可选的,所述组态文件有多种类型和大小之分,可以包括:不同领域实际工业生产过程中使用的组态文件、容量极限组态文件、多种逻辑功能的组态文件和多种控制配置参数的组态文件。
在具体实现中,测试人员可以根据实际应用测试需要,在开始测试前,预先编写预设文件,将测试时需下载至待测DCS系统的组态文件以及测试时所需的测试用例写入该预设文件中。
预设调用方式表征测试用例的调用方式。
当存在多个测试用例的时候,所述调用方式可以包括:并行调用测试用例的方式、串行调用测试用例的方式和串、并行组合调用测试用例的方式。比如,存在多个测试用例时,可以同时调用三个测试用例进行测试,也可以先调用一个测试用例进行测试,再调用另外一个测试用例进行测试,当然也可以先调用一个测试用例进行测试,再同时调用三个测试用例进行测试。应当理解的是,上述仅用于举例说明,实际应用中还可以有其他调用测试用例的情况。
S202:下发组态文件至待测DCS系统,使待测DCS系统基于组态文件运行。
在S202中,下发指的是下载发送。具体的,下载预设文件中的组态文件并发送给待测DCS系统。
S203:基于预设调用方式调用对应组态文件的测试用例。
需要说明的是,组态文件和测试用例之间为对应关系,也就是说在测试的过程中,下发所需组态文件之后,还需要调用组态文件所对应的测试用例完成测试,如果调用非组态文件所对应的测试用例则不能完成测试。
在具体实现S203的过程中,可以基于多种预设调用方式调用对应组态文件的测试用例。
可选的,可以基于第一预设调用方式调用对应组态文件的第一测试用例,所述第一测试用例用于指示对待测DCS系统并行进行单个常规功能测试和冗余切换功能测试。
可选的,可以基于第二预设调用方式调用对应组态文件的第二测试用例,所述第二测试用例用于指示对待测DCS系统并行进行多个常规功能测试和冗余切换功能测试。
需要说明的是,上述仅对调用一个测试用例进行了介绍,实际应用中,若需要调用多个测试用例进行测试,可以选择基于不同于第一预设调用方式和第二预设调用方式的其他调用方式,如并行、串行或者以并行和串行组合调用测试用例的方式。
S204:利用测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果。
在具体实现S204的过程中,可以利用一个测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果。也可以利用多个测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果。
基于上述本发明实施例提供的DCS冗余功能的测试方法,接收DCS冗余功能测试指令,获取DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例;下发组态文件至待测DCS系统,使待测DCS系统基于组态文件运行;基于预设调用方式调用对应组态文件的测试用例;利用测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果。在本方案中,预先编写DCS冗余功能测试所需的预设文件,在测试时,通过调用与DCS冗余功能测试指令对应的预设文件,将预设文件中的组态文件下发至待测DCS系统,基于预设文件中的预设调用方式调用对应组态文件的测试用例就能对DCS冗余功能进行自动测试,该过程无需人为测试DCS冗余功能,且能够反复进行高频率测试,提高了测试效率。
基于上述图2本发明实施例公开的DCS冗余功能的测试方法,具体执行S204利用测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果的过程,包括以下步骤:
S41:基于不同的预设调用方式调用的测试用例调用不同组合的测试模块。
可选的,可以基于第一预设调用方式调用第一测试用例,再根据第一测试用例调用不同组合的测试模块。
可选的,可以基于第二预设调用方式调用第一测试用例,再根据第二测试用例调用不同组合的测试模块。
可选的,可以选择基于不同于第一预设调用方式和第二预设调用方式的其他调用方式调用测试用例,再基于调用的测试用例调用不同组合的测试模块,如以并行、串行或者并行和串行组合方式调用多个测试用例,再基于调用的多个测试用例调用不同组合的测试模块。
S42:基于不同组合的测试模块对运行组态文件的待测DCS系统进行测试,并确定测试结果。
在具体实现中,基于不同组合的测试模块向待测DCS系统输入测试信号,获取待测DCS系统的输出信号,依据该输出信号确定测试结果。其中,所述测试信号包括:硬点测试信号和通信测试信号。所述硬点测试信号包括:恒定信号、变化波形(如正弦波、三角波、锯齿波和方波等)信号、开关量输入信号(DI信号)、模拟量输入信号(AI信号)、SOE(事件记录)序列信号和时序信号等。所述通信测试信号包括:站间通信位号和异构通信位号等。
在一种可能的实施方式中,如果不同组合的测试模块包括:信号源模块、信号监控模块、故障注入模块、故障诊断模块、组态切换模块、控制器内部变量自动监测模块、程序处理模块、实时响应模块、模拟上位机操作模块、时钟同步模块和异构通信模块,通过以下执行A1至A3的过程确定测试结果:
A1:通过Python控制故障注入模块向运行组态文件的待测DCS系统的控制器注入多种不同等级的故障信息。
待测DCS系统的控制器分为工作控制器和备用控制器。当通过编写Python控制故障注入模块向工作控制器和备用控制器注入不同等级的故障信息时,使得待测DCS系统的工作控制器发生切换或者不切换。
需要说明的是,切换指的是由待测DCS系统的工作控制器进行工作切换到由待测DCS系统的备用控制器进行工作,即待测DCS系统发生冗余功能切换,不切换指的是维持待测DCS系统的工作控制器进行工作,即待测DCS系统不发生冗余功能切换。
为便于理解上述示出的内容,下面举例说明,当然下述仅用于举例说明。
比如,控制故障注入模块向待测DCS系统的工作控制器注入十级故障信息,不向待测DCS系统的备用控制器注入任何故障信息,则从待测DCS系统的工作控制器进行工作切换到由待测DCS系统的备用控制器进行工作。
控制故障注入模块向待测DCS系统的工作控制器注入十级故障信息,向待测DCS系统的备用控制器注入十二级故障信息,则维持待测DCS系统的工作控制器进行工作。
可选的,所述故障信息可以包括:工作控制器和备用控制器上/下电冷启动、看门狗热复位等。
A2:获取在待测DCS系统的控制器注入任一等级的故障信息时,故障诊断模块输出的故障诊断结果,以及获取在待测DCS系统的控制器注入任一等级的故障信息之前和之后,其他测试模块运行组态文件时的信号变化值。
故障诊断模块通过获取待测DCS系统的控制器在运行过程中的内存信息,查看待测DCS系统能否识别和记录故障注入模块所注入的故障信息,得到故障诊断结果。具体的,若待测DCS系统的控制器为工作控制器,即未发生控制器切换,故障诊断模块获取待测DCS系统的工作控制器在运行过程中的内存信息;若待测DCS系统的控制器为备用控制器,即发生控制器切换,故障诊断模块获取待测DCS系统的备用控制器在运行过程中的内存信息。
在具体实现中,通过信号源模块向待测DCS系统输入硬点测试信号和通信测试信号,故障注入模块向待测DCS系统的工作控制器注入故障信息之后,由信号监控模块和控制器内部变量自动监测模块获取待测DCS系统的输出信号,比较该输出信号与向待测DCS系统输入的硬点测试信号和通信测试信号,得到信号变化值。
具体的,通过编写Python控制控制器内部变量自动监测模块读取自身内存信息,包括读取:自定义位号、站间通信位号、异构通信位号、时间值、定时器、SOE记录等,结合接收待测DCS系统输出的变化波形信号,得到测试结果。
通过编写LabVIEW控制信号监控模块监测待测DCS系统输出的开关量(DO信号)、模拟量信号(AO信号)、变化波形信号、台阶信号的持续时间和信号精度,并依据监测结果确定测试结果。
程序处理模块给定时序逻辑,由信号源模块将该给定时序逻辑输入待测DCS系统,待测DCS系统的工作控制器依据给定时序逻辑通过FBD/SFC/LD/ST程序对硬点输入进行逻辑运算之后,将运算结果(可以理解为时序逻辑计算结果)通过硬点输出给信号监控模块,再由信号监控模块转发给程序处理模块,程序处理模块将接收到的运算结果与给定时序逻辑进行对比得到测试结果。
信号源模块向待测DCS系统输入开关量信号(DI信号)、模拟量信号(AI信号)和预设阶跃信号,待测DCS系统的工作控制器依据该开关量信号和模拟量信号进行处理之后,输出处理信号和预设阶跃信号给信号监控模块,信号监控模块将该输出信号与预设阶跃信号转发给实时响应模块,实时响应模块计算输出信号与预设阶跃信号的时间差,得到测试结果。
模拟上位机操作模块用于模拟操作人员自动操作上位机界面及发送数据包,通过组态切换模块实现修改组态文件、在线下载组态文件和离线下载组态文件等,使待测DCS系统能够基于运行不同的组态文件进行测试达到测试要求。
时钟同步模块用于模拟时钟同步服务器的时间,通过获取待测DCS系统的工作控制器的时钟同步时间,将获取的时钟同步时间与模拟时钟同步服务器的时间进行对比得到测试结果。
异构通信模块用于模拟异构通信,可以通过判断Modbus的主站和从站之间通信数据是否收发正常,根据判断结果确定测试结果。
A3:判断信号变化值是否符合预设值,并基于判断结果和故障诊断结果确定测试结果。
该预设值可以通过标定得到,或者根据经验值事先设定好。
在另一种可能的实施方式中,如果不同组合的测试模块包括:故障注入模块、故障诊断模块、信号源模块、信号监控模块和控制器内部变量自动监测模块,通过以下执行B1至B4的过程确定测试结果:
B1:通过Python控制故障注入模块向运行组态文件的待测DCS系统的控制器注入多种不同等级的故障信息。
执行B1的具体实现原理可以参见执行A1相关内容,这里不再介绍。
B2:通过LabVIEW控制信号源模块向运行组态文件的待测DCS系统的硬点输入测试信号。
通过编写LabVIEW控制信号源模块可以同时向待测DCS系统输入开关量信号、模拟量信号、变化波形信号和SOE序列信号,也可以向待测DCS系统输入开关量信号和模拟量信号,再输入变化波形信号和SOE序列信号,实现对待测DCS系统的SOE功能的并发测试或异步测试。
B3:获取在待测DCS系统的控制器注入任一等级的故障信息时,故障诊断模块输出的故障诊断结果,以及获取在待测DCS系统的控制器注入任一等级的故障信息之后,信号监控模块中待测DCS系统的硬点输出信号。
执行B1的具体实现原理可以参见执行A1至A3中相关内容,这里不再介绍。
B4:判断硬点输出信号是否符合预设输出信号,并基于判断结果和故障诊断结果确定测试结果。
该预设输出信号也可以通过标定得到,或者根据经验值事先设定好。
在另一种可能的实施方式中,如果不同组合的测试模块包括:故障注入模块、故障诊断模块和控制器内部变量自动监测模块,通过以下执行C1至C3的过程确定测试结果:
C1:通过Python控制故障注入模块向运行组态文件的待测DCS系统的控制器注入多种不同等级的故障信息。
执行C1的具体实现原理可以参见执行A1相关内容,这里不再介绍。
C2:获取在待测DCS系统的控制器注入任一等级的故障信息时,故障诊断模块输出的故障诊断结果,以及获取在待测DCS系统的控制器注入任一等级的故障信息时,控制器内部变量自动监测模块输出的事件记录结果。
在C3中,事件记录即SOE。执行C2的具体实现原理可以参见执行A1至A3中相关内容,这里不再介绍。
C3:基于故障诊断结果和事件记录结果确定测试结果。
在具体实现中,可以对比故障诊断结果和事件记录结果,根据对比结果得到测试结果。
在另一种可能的实施方式中,不同组合的测试模块还可以包括以下情况:
第一种情况,不同组合的测试模块包括:故障注入模块、故障诊断模块、信号监控模块、控制器内部变量自动监测模块和时钟同步模块。
第二种情况,不同组合的测试模块包括:故障注入模块、故障诊断模块、信号监控模块、控制器内部变量自动监测模块和异构通信模块。
第三种情况,不同组合的测试模块包括:故障注入模块、故障诊断模块、信号监控模块、控制器内部变量自动监测模块和程序处理模块。
第四种情况,不同组合的测试模块包括:故障注入模块、故障诊断模块、信号监控模块、控制器内部变量自动监测模块和实时响应模块。
第五种情况,不同组合的测试模块包括:故障注入模块、故障诊断模块、信号监控模块、控制器内部变量自动监测模块、模拟上位机操作模块和组态切换模块。
需要说明的是,上述各种情况中的各个模块可以并行执行操作,实现并行执行对待测DCS系统的冗余切换功能测试和常规功能测试。
在具体实现中,可以根据实际测试需要选择相应的组合测试模块对待测DCS系统进行测试。由于待测DCS系统外特性较稳定,当其发生多个部件芯片升级、内部操作系统更换或扩容等改变时,外特性均不会有大的改变,因此,可以分析待测DCS系统的改变内容,通过修改测试用例及重新编写相应测试模块,就可以使用修改后的测试用例及测试模块对待测DCS系统进行测试。
在本发明实施例中,基于不同的预设调用方式调用的测试用例调用不同组合的测试模块,再基于不同组合的测试模块对运行组态文件的待测DCS系统并行进行冗余功能测试和常规功能测试,并确定测试结果,实现了对DCS冗余功能的自动测试,该过程无需人为测试DCS冗余功能,且能够反复进行高频率测试,提高了测试效率。
上述本发明实施例提供了一种DCS冗余功能的测试方法,相应的,本发明实施例还提供一种DCS冗余功能的测试装置。
请参见图3,示出了本发明实施例提供的DCS冗余功能的测试装置的结构框图。该测试装置包括:DCS冗余功能测试指令接收模块301、组态文件下载模块302和测试用例执行模块303。
DCS冗余功能测试指令接收模块301,用于接收DCS冗余功能测试指令,获取DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例。
组态文件下载模块302,用于下发组态文件至待测DCS系统,使待测DCS系统基于组态文件运行。
测试用例执行模块303,用于基于预设调用方式调用对应组态文件的测试用例;利用测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果。
可选的,测试用例执行模块,具体用于基于第一预设调用方式调用对应组态文件的第一测试用例,所述第一测试用例用于指示对待测DCS系统并行进行单个常规功能测试和冗余切换功能测试。
或者,具体用于基于第二预设调用方式调用对应组态文件的第二测试用例,所述第二测试用例用于指示对待测DCS系统并行进行多个常规功能测试和冗余切换功能测试。
可选的,所述利用测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果的测试用例执行模块,具体用于基于不同的预设调用方式调用的测试用例调用不同组合的测试模块;基于不同组合的测试模块对运行组态文件的待测DCS系统进行测试,并确定测试结果。
可选的,若所述不同组合的测试模块包括:信号源模块、信号监控模块、故障注入模块、故障诊断模块、组态切换模块、控制器内部变量自动监测模块、程序处理模块、实时响应模块、模拟上位机操作模块、时钟同步模块和异构通信模块;所述基于不同组合的测试模块对运行组态文件的待测DCS系统进行测试,并确定测试结果的测试用例执行模块,包括:
第一控制单元,用于通过Python控制故障注入模块向运行组态文件的待测DCS系统的控制器注入多种不同等级的故障信息。
第一获取单元,用于获取在待测DCS系统的控制器注入任一等级的故障信息时,故障诊断模块输出的故障诊断结果,以及获取在待测DCS系统的控制器注入任一等级的故障信息之前和之后,其他测试模块运行组态文件时的信号变化值。
第一处理单元,用于判断信号变化值是否符合预设值,并基于判断结果和故障诊断结果确定测试结果。
可选的,若所述不同组合的测试模块包括:故障注入模块、故障诊断模块、信号源模块、信号监控模块和控制器内部变量自动监测模块;所述基于不同组合的测试模块对运行组态文件的待测DCS系统进行测试,并确定测试结果的测试用例执行模块,包括:
第二控制单元,用于通过Python控制故障注入模块向运行组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;通过LabVIEW控制信号源模块向运行组态文件的待测DCS系统的硬点输入测试信号。
第二获取单元,用于获取在待测DCS系统的控制器注入任一等级的故障信息时,故障诊断模块输出的故障诊断结果,以及获取在待测DCS系统的控制器注入任一等级的故障信息之后,信号监控模块中待测DCS系统的硬点输出信号。
第二处理单元,用于判断硬点输出信号是否符合预设输出信号,并基于判断结果和故障诊断结果确定测试结果。
可选的,若所述不同组合的测试模块包括:故障注入模块、故障诊断模块和控制器内部变量自动监测模块;所述基于不同组合的测试模块对运行组态文件的待测DCS系统进行测试,并确定测试结果的测试用例执行模块,包括:
第三控制单元,用于通过Python控制故障注入模块向运行组态文件的待测DCS系统的控制器注入多种不同等级的故障信息。
第三获取单元,用于获取在待测DCS系统的控制器注入任一等级的故障信息时,故障诊断模块输出的故障诊断结果,以及获取在待测DCS系统的控制器注入任一等级的故障信息时,控制器内部变量自动监测模块输出的事件记录结果。
第三处理单元,用于基于故障诊断结果和事件记录结果确定测试结果。
上述本发明实施例公开的DCS冗余功能的测试装置中的各个模块以及各个模块中的各个单元的具体实现原理可参见上述本发明实施例公开的DCS冗余功能的测试方法中相应的内容,这里不再赘述。
基于上述本发明实施例提供的DCS冗余功能的测试装置,DCS冗余功能测试指令接收模块接收DCS冗余功能测试指令,获取DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例;组态文件下载模块下发组态文件至待测DCS系统,使待测DCS系统基于组态文件运行;测试用例执行模块基于预设调用方式调用对应组态文件的测试用例;利用测试用例对运行组态文件的待测DCS系统进行测试,并确定测试结果。在本方案中,预先编写DCS冗余功能测试所需的预设文件,在测试时,通过调用与DCS冗余功能测试指令对应的预设文件,将预设文件中的组态文件下发至待测DCS系统,基于预设文件中的预设调用方式调用对应组态文件的测试用例就能对DCS冗余功能进行自动测试,该过程无需人为测试DCS冗余功能,且能够反复进行高频率测试,提高了测试效率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种DCS冗余功能的测试方法,其特征在于,所述测试方法包括:
接收DCS冗余功能测试指令,获取所述DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例;
下发所述组态文件至所述待测DCS系统,使所述待测DCS系统基于所述组态文件运行;
基于所述预设调用方式调用对应所述组态文件的测试用例;
利用所述测试用例对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述预设调用方式调用对应所述组态文件的测试用例,包括:
基于第一预设调用方式调用对应所述组态文件的第一测试用例,所述第一测试用例用于指示对所述待测DCS系统并行进行单个常规功能测试和冗余切换功能测试。
3.根据权利要求1所述的方法,其特征在于,所述基于所述预设调用方式调用对应所述组态文件的测试用例,包括:
基于第二预设调用方式调用对应所述组态文件的第二测试用例,所述第二测试用例用于指示对所述待测DCS系统并行进行多个常规功能测试和冗余切换功能测试。
4.根据权利要求1所述的方法,其特征在于,所述利用所述测试用例对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
基于不同的预设调用方式调用的测试用例调用不同组合的测试模块;
基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
5.根据权利要求4所述的方法,其特征在于,若所述不同组合的测试模块包括:信号源模块、信号监控模块、故障注入模块、故障诊断模块、组态切换模块、控制器内部变量自动监测模块、程序处理模块、实时响应模块、模拟上位机操作模块、时钟同步模块和异构通信模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息之前和之后,其他测试模块运行所述组态文件时的信号变化值;
判断所述信号变化值是否符合预设值,并基于判断结果和所述故障诊断结果确定测试结果。
6.根据权利要求4所述的方法,其特征在于,若所述不同组合的测试模块包括:故障注入模块、故障诊断模块、信号源模块、信号监控模块和控制器内部变量自动监测模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
通过LabVIEW控制所述信号源模块向运行所述组态文件的待测DCS系统的硬点输入测试信号;
获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息之后,所述信号监控模块中所述待测DCS系统的硬点输出信号;
判断所述硬点输出信号是否符合预设输出信号,并基于判断结果和所述故障诊断结果确定测试结果。
7.根据权利要求4所述的方法,其特征在于,若所述不同组合的测试模块包括:故障注入模块、故障诊断模块和控制器内部变量自动监测模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果,包括:
通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述控制器内部变量自动监测模块输出的事件记录结果;
基于所述故障诊断结果和所述事件记录结果确定测试结果。
8.一种DCS冗余功能的测试装置,其特征在于,所述测试装置包括:
DCS冗余功能测试指令接收模块,用于接收DCS冗余功能测试指令,获取所述DCS冗余功能测试指令指示的预设文件,所述预设文件存储有目标配置参数和预设调用方式,所述目标配置参数用于指示需下发至待测DCS系统的组态文件和测试所需的测试用例;
组态文件下载模块,用于下发所述组态文件至所述待测DCS系统,使所述待测DCS系统基于所述组态文件运行;
测试用例执行模块,用于基于所述预设调用方式调用对应所述组态文件的测试用例;利用所述测试用例对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
9.根据权利要求8所述的装置,其特征在于,
所述测试用例执行模块,具体用于基于不同的预设调用方式调用的测试用例调用不同组合的测试模块;基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果。
10.根据权利要求9所述的装置,其特征在于,若所述不同组合的测试模块包括:信号源模块、信号监控模块、故障注入模块、故障诊断模块、组态切换模块、控制器内部变量自动监测模块、程序处理模块、实时响应模块、模拟上位机操作模块、时钟同步模块和异构通信模块;所述基于不同组合的测试模块对运行所述组态文件的待测DCS系统进行测试,并确定测试结果的测试用例执行模块,包括:
第一控制单元,用于通过Python控制所述故障注入模块向运行所述组态文件的待测DCS系统的控制器注入多种不同等级的故障信息;
第一获取单元,用于获取在所述待测DCS系统的控制器注入任一等级的故障信息时,所述故障诊断模块输出的故障诊断结果,以及获取在所述待测DCS系统的控制器注入任一等级的故障信息之前和之后,其他测试模块运行所述组态文件时的信号变化值;
第一处理单元,用于判断所述信号变化值是否符合预设值,并基于判断结果和所述故障诊断结果确定测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010934372.7A CN112051835A (zh) | 2020-09-08 | 2020-09-08 | Dcs冗余功能的测试方法及测试装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010934372.7A CN112051835A (zh) | 2020-09-08 | 2020-09-08 | Dcs冗余功能的测试方法及测试装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112051835A true CN112051835A (zh) | 2020-12-08 |
Family
ID=73610379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010934372.7A Pending CN112051835A (zh) | 2020-09-08 | 2020-09-08 | Dcs冗余功能的测试方法及测试装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112051835A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610622A (zh) * | 2022-03-14 | 2022-06-10 | 浙江中控技术股份有限公司 | 一种系统功能块自动化测试分层设计方法及相关装置 |
CN115333987A (zh) * | 2022-08-11 | 2022-11-11 | 北京广利核系统工程有限公司 | 一种接口测试系统和方法 |
CN115933513A (zh) * | 2022-12-02 | 2023-04-07 | 中交一航局安装工程有限公司 | 一种基于5g传输的离散型散货码头plc系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200953088Y (zh) * | 2006-02-23 | 2007-09-26 | 周丹 | Dcs性能综合测试仪 |
CN101247293A (zh) * | 2008-03-11 | 2008-08-20 | 福建星网锐捷网络有限公司 | 自动测试方法及系统 |
CN101478449A (zh) * | 2009-01-22 | 2009-07-08 | 凌阳科技股份有限公司 | 一种协议自动测试方法及其系统 |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN109947078A (zh) * | 2019-03-20 | 2019-06-28 | 广州小鹏汽车科技有限公司 | 故障注入单元及其板卡、实时故障注入方法、装置和设备 |
-
2020
- 2020-09-08 CN CN202010934372.7A patent/CN112051835A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200953088Y (zh) * | 2006-02-23 | 2007-09-26 | 周丹 | Dcs性能综合测试仪 |
CN101247293A (zh) * | 2008-03-11 | 2008-08-20 | 福建星网锐捷网络有限公司 | 自动测试方法及系统 |
CN101478449A (zh) * | 2009-01-22 | 2009-07-08 | 凌阳科技股份有限公司 | 一种协议自动测试方法及其系统 |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN109947078A (zh) * | 2019-03-20 | 2019-06-28 | 广州小鹏汽车科技有限公司 | 故障注入单元及其板卡、实时故障注入方法、装置和设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610622A (zh) * | 2022-03-14 | 2022-06-10 | 浙江中控技术股份有限公司 | 一种系统功能块自动化测试分层设计方法及相关装置 |
CN114610622B (zh) * | 2022-03-14 | 2024-05-28 | 浙江中控技术股份有限公司 | 一种系统功能块自动化测试分层设计方法及相关装置 |
CN115333987A (zh) * | 2022-08-11 | 2022-11-11 | 北京广利核系统工程有限公司 | 一种接口测试系统和方法 |
CN115333987B (zh) * | 2022-08-11 | 2023-12-29 | 北京广利核系统工程有限公司 | 一种接口测试系统和方法 |
CN115933513A (zh) * | 2022-12-02 | 2023-04-07 | 中交一航局安装工程有限公司 | 一种基于5g传输的离散型散货码头plc系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112051835A (zh) | Dcs冗余功能的测试方法及测试装置 | |
CN101247293B (zh) | 自动测试方法及系统 | |
CN107831757B (zh) | 基于dSPACE的电机控制器硬件在环自动化测试系统及方法 | |
CN107562969B (zh) | 航空发动机控制系统软件的集成方法和装置 | |
CN102799508A (zh) | 一种自动化测试系统和方法 | |
CN107505520B (zh) | 场景式智能自动测试平台及方法 | |
EP3518441B1 (en) | Test troubleshooting system and method | |
CN103412817B (zh) | 自动化测试脚本脱机调试方法及系统 | |
US8701079B2 (en) | Procedure and development environment for generation of an executable overall control program | |
CN112631919B (zh) | 一种对比测试方法、装置、计算机设备及存储介质 | |
US20090204851A1 (en) | Method and System for Software Testing | |
CN104516809A (zh) | 一种自动化测试系统及方法 | |
CN109167701B (zh) | 一种配电自动化标准化扩展通信规约一致性校验方法、装置及系统 | |
CN112286741A (zh) | 一种硬件测试方法、装置、电子设备及存储介质 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN111737065B (zh) | 一种基于服务器接口测试的需求模型的接口测试方法及系统 | |
CN111258915B (zh) | 一种针对plc程序进行自动化单元测试的方法 | |
CN115470100A (zh) | 汽车零部件的信号场景测试方法及装置 | |
Mugarza et al. | Cetratus: Live Updates in Programmable Logic Controllers | |
CN114675948A (zh) | 一种dag数据模型动态调度方法及系统 | |
CN110362906B (zh) | 一种模拟车载电压动态变化环境的方法及系统 | |
CN114429782A (zh) | 一种固态硬盘故障诊断方法、装置、设备及介质 | |
CN106446400B (zh) | 一种机电系统性能的测试方法及装置 | |
CN112612666A (zh) | 测试控制方法、装置、计算机设备以及可读存储介质 | |
CN112578305A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201208 |
|
RJ01 | Rejection of invention patent application after publication |