引言:
DCS软件称之为集散控制系统,该系统具有分散控制、集中管理、随机配置的优势,已经被广泛应用到了工业领域中,优势显著,效果突出,但是在当前工业领域生产中发现,因为人员操作不当、环境因素影响、设备老化等会儿导致DCS软件出现各种故障问题。如果没有及时发现、处理故障会出现连锁反应,对整个生产任务的持续进行产生影响,进一步影响工厂的安全和稳定,对此需要人们定期对DCS软件系统运行情况进行动态化检测,并对故障诊断进行测试,确保系统可以正常运行。随着人们的研究深入,DCS软件实现测试过程中有一些人已经开始使用自动化测试技术进行测试,在自动化测试可以有效解决传统人工测试下的弊端问题。比如人们可以将计算机技术和自动化控制技术进行结合,应用在DCS软件故障诊断测试中,有效缩短测试时间,降低成本。
一、DCS软件故障诊断技术应用现状
对于DCS软件故障诊断主要是实时诊断,实时诊断是指对系统运行过程中的状态进行检测、监测,及时发现系统中的异常情况,进一步判断故障类型、故障点、故障原因,并得出故障结果的诊断。当前DCS软件故障表现是不同的,出现在不同层次中,具有很大的传播性、相关性、拓展性、不稳定性的特点,对此在故障发生后需要即刻诊断、分析和消除。当前的DCS软件故障实时诊断主要采用人工测试方法,具体的操作如下所示:人们先需要将检测模块进行连接,确保故障诊断系统没有故障项,确保诊断准确无误。在连接后人们需要对每一个模块故障进行测试,在测试中可以反复进行,最终得出结果,通过测试记录发现每一个诊断测试结果都在两个以上,部分是多个结果。对于诊断系统较为复杂,由控制器、通信拨款、仪表、操作台、网络连接器等硬件设备组成,除了以上诊断外也需要对计算机系统和组态进行诊断。在诊断结果输出后需要对结果进行深度分析,做好相关记录,确保准确记录,及时报警,避免出现误报和错报的现象[1]。
当前诊断工作覆盖整个系统,测试人员在诊断时要根据模块特点制造故障,可以通过破坏模块制造故障,并将故障诊断结果和早期预算结果进行对比,确保实现测试目标。但是这种方法费时费力,效率低,因为模块关联性强,测试人员容易出现疏忽的情况,无法真实地掌握整个系统的状态。对于以上问题可以采用UI自动化技术进行测试,但是因为实时故障诊断主要将诊断数据信息传输到显示界面中,该界面因为自身设置问题会自动增加或者阐述一些数据,影响精准性。且UI对象识别难度大,不适用于一些数据准确度要求高的检测中,无法精准地检测出实时故障诊断,对于以上弊端问题可以采用数字化驱动技术进行检测。在这种技术下设置有自动化检测架构和故障诊断脚本,可以根据软件组态对故障进行自动化检测,通过实践验证发现效果非常好,可以提高DCS软件的控制水平。
二、DCS软件故障诊断的自动化测试技术应用
(一)自动化测试方法
当前的自动化测试方法是表格式语法,这种方法实现数字化驱动,效果显著,对于测试报告通过文字格式,方便人们阅读,是一种编程编写的交互式数据程序,可以被解码成为网络协议数据包,可以及时发送,恢复、需求匹配。通过相关程序可以对控制器通信协议进行封装,根据协议数据和控制器通信可以直接替换原有的故障数据包。在脚本下可以避免对硬件设备过度依赖,通过数字驱动,发送不同的故障诊断命令,制造不同的故障,并在故障传播后通过故障诊断软件中的提示将显示数据信息录入到历史故障记录中和系统报警中。后人们可以直接读取诊断模块诊断数值,后对数字进行验证,确保符合检测结果,在整个测试完成后可以自动生成测试报告,此时人们只需要根据测试报告判断具体需要测试的诊断模块。
(二)自动化测试进行
当前的自动化测试可以分为五个环节,每一个环节都有特定的测试库和关键字,具体的流程如下所示:第一,环境初始化处理。人们需要还原故障诊断测试需要的组态,启动监控系统;第二,根据组态发送的数据包,可以让故障诊断系统中的模块都处于正常状态;第三,改动其中一模块的诊断项,将其调整为故障状态,获取故障数值后将其传输到诊断系统中;第四,读取诊断系统模块中的故障状态,将其和预期目标进行对比,如果发现两者相符,则可以通过以上程序继续下一个指令的执行。如果不相符,则表明不通过;第五,执行完成后则可以表明整个程序完成,可以自动生成测试报告,人们需要及时清零环境,确保环境恢复正常状态,不影响下一个模块的测试[2]。总之,以上环境初始化和数据包发送是测试开始前的准备工作,此时人们需要调整参数信息,将结果发送出来,这和人工测试模块是相对应的。一般可以根据控制器内部控制网中的通信状态诊断模块作为对象,在具体的测试中进行。
对于人工测试控制网故障诊断操作流程如下所示:
第一,手动切断控制器控制网中的网线;第二,检查故障显示界面中的控制网通讯状态,判断诊断项是否有故障,判断文字说明是否准确,文字颜色是否正常,界面显示灯是否亮起,以及控制器诊断中的控制器图标拓扑网络节点和状态是否正常;第三,连接控制器的控制网网线;第四,再次检查第二个环节中的所有内容,确保检查结果符合要求。对于以上人工测试中的流程也可以通过测试框架软件来编写。在脚本启动后,制造控制网通信状态诊断结果下的控制器网口故障出现,则人们可以直接对控制器通信状态进行判断。对于整个自动化测试过程都需要做好记录,但是结果发现人们只对控制网中的通信状态控制器网口故障进行了诊断测试,没有对其他故障进行处理,且整个测试时间段,可以自动生成测试报告。对于人工测试而言,需要对网口进行破坏才可以达到测试目标,这种破坏的做法会影响后期的测试。对此可见,需要采用组合的测试架构才可以对DCS软件实时故障诊断模块的诊断项进行功能测试,在这种自动化测试下可以拓宽测试范围,改变以往对硬化设备的依赖问题,可以将不同的诊断项进行结合,可以应用在不同的测试场景中,减少人为失误因素的影响,提高测试的准确性[3]。
三、结束语
总之,对于DCS软件故障诊断测试工作需要判断故障发生时间,采用基于DCS软件故障诊断的自动化测试技术,对于这种技术可以应用在不同版本的软件测试中,也可以应用在控制软件系统中。通过自动化测试框架可以提升脚本用例的可持续性、可维护性,提高测试效率,降低成本,确保软件测试质量符合要求。
参考文献
[1] 陶伟,顾靖,赵丽莉,等.DCS软件故障诊断的自动化测试技术的研究与应用[J].自动化与仪器仪表, 2023.
[2] 刘红刚,黄太新,宋立新,等.DCS软件界面自动化测试技术研究与应用[J].自动化博览, 2017, 34(4):5.
[3] 王国敬.核电厂数字化仪控系统I/O通道自动化测试技术的研究与应用[J].自动化博览, 2021.03.018.