一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种发动机控制软件测试方法与流程

2022-04-02 07:28:11 来源:中国专利 TAG:


1.本发明涉及一种软件测试方法,具体涉及一种发动机控制软件测试方法,是一种自动化、智能化测试及提高rs-232串口协议与虚拟dos系统通信传输效率的方法。


背景技术:

2.虚拟机(virtual machine)技术是虚拟化技术的一种,通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,能提供物理计算机的功能。虚拟机根据它们的运用和与直接机器的相关性可分为系统虚拟机和程序虚拟机。采用虚拟机,可将传统测试设备的操作系统通过软件模拟实现,为客户虚拟一套独立于实际硬件的虚拟环境。
3.虚拟机虽然虚拟了dos操作系统,但由于产品端依然采用传统的rs-232串口协议,加上虚拟系统波特率不可调,固定为9600bit/s,且数据下载过程中因握手次数频繁,导致虚拟机和产品通信传输效率低下,下载、查看试验数据的时间过长,影响产品测试周期。由于虚拟机保护机制,在保证串口通讯的模式下无法提升波特率,导致rs-232串口通讯模式数据吞吐能力不能满足数据快速访问需求。
4.总之,现有的测试方法智能化、自动化生产水平低,操作复杂,费时费力,且由于厂内试验周期长、项目多,手工填写卷宗,极易造成误操作,严重影响产品正常交付进度。


技术实现要素:

5.本发明的目的是解决现有发动机软件测试方法在保证串口通讯的模式下无法提升波特率,导致rs-232串口通讯模式数据吞吐能力不能满足数据快速访问需求的技术问题,提出一种发动机控制软件测试方法,在虚拟dos系统中,不改变波特率的前提下,自主开发程序,采用全中文人机交互系统,试验过程中所有操作均采用人机对话问答、触摸选择方式完成,具备产品标定、数据智能判定、报表自动打印、用户管理、故障诊断等功能。
6.为了实现上述目的,本发明所采用的技术方案是:
7.一种发动机控制软件测试方法,其特殊之处在于,包括以下步骤:
8.步骤1、根据发动机控制软件产品测试过程中各个阶段的数据分析,对每个阶段需要用到的关键点单独进行处理,相应设置8种关键字;所述8种关键字用数字0-7表示;其中:
9.关键字“0”表示控制器执行进入标定模式;
10.关键字“1”表示执行软件模式转换成硬件模式;
11.关键字“2”表示执行硬件模式转换成软件模式且压缩数据文件;
12.关键字“3”表示执行删除之前的数据文件并将最新数据拷贝后解压至设置文件;
13.关键字“4”表示拷贝测试工具至产品侧;
14.关键字“5”表示测试完成后删除测试工具;
15.关键字“6”表示不考虑软硬件模式,执行压缩数据文件;
16.关键字“7”表示任意模式均切换成软件模式;
17.步骤2、虚拟机通过工控机硬件rs-232串口与发动机控制软件产品握手成功,以9600bit/s的串口传输速率建立通讯;
18.步骤3、虚拟机对发动机控制软件产品根目录下文件进行扫描,检查有无特定测试工具,若未发现特定测试工具,在虚拟机根目录下的workitem.log文件中运行关键字“4”,则虚拟机往产品根目录下拷贝该特定测试工具;
19.步骤4、依次运行关键字“0”、“1”、“2”,驱动特定测试工具对产品进行测试;若测试过程中出问题,运行关键字“6”,压缩产品生成的数据文件;若测试过程中出现故障且不清楚当前测试模式,运行关键字“7”,将当前测试模式切换至软件模式;
20.步骤5、整个测试完成后,运行关键字“5”,产品删除特定测试工具;
21.步骤6、运行关键字“3”,虚拟机依次从发动机中将测试生成的数据逐一下载并分析判断数据是否在范围内,数据在设定范围内,则判定数据合格;数据超出设定范围,判定数据不合格;
22.步骤7、判定完成后生成wkresult.log文件,写入“done!”。
23.进一步地,上述8种关键字中,
24.关键字“0”运行步骤为:产品运行标定程序验证;
25.关键字“1”运行步骤为:产品内部dos系统autoexec.bat文件执行硬件模式.exe文件;
26.关键字“2”运行步骤为:产品内部dos系统autoexec.bat文件由硬件模式.exe文件切换成软件模式.exe文件,并根据过程分析进行执行压缩产品数据文件;
27.关键字“3”运行步骤为:创建新文件夹temp,若存在该文件夹,删除文件夹内的所有文件,将关键字“2”步骤中压缩后的数据拷贝到temp文件夹中,并执行解压,再分析判断数据是否在范围内;
28.关键字“4”运行步骤为:每次测试设备和产品建立通讯后,首先检查是否存特定测试工具;若存在,按流程继续;若不存在,拷贝该特定测试工具至产品侧;
29.关键字“5”运行步骤为:整个测试完成后,完成对测试工具的删除;
30.关键字“6”运行步骤为:在测试过程中出问题后,压缩产品生成的数据文件;
31.关键字“7”运行步骤为:测试过程中出现故障且不清楚当前测试模式时,将当前测试模式切换至软件模式。
32.进一步地,所述测试工具包括yasuo2.bat、rar.exe和yasuo.exe;
33.所述yasuo2.bat用于将yasuo2.bat重命名为autoexec.bat,主要执行yasuo.exe;
34.所述rar.exe用于在dos环境下,对产品内部数据进行压缩处理;
35.所述yasuo.exe用于对产品内部数据按时间顺序进行排序处理,并压缩排序后的数据文件。
36.进一步地,上述8种关键字中,
37.关键字“0”具体运行步骤为:打开通讯和给产品供电后,打开虚拟机,将产品内部映射盘符f盘打开,将内部autoexec.bat重命名为bd.bat,将控制平台的ys.bat拷贝至产品内部,重命名为autoexec.bat,给产品断电,断通讯,重新给产品上电,此时产品按流程进入标定程序;
38.关键字“1”具体运行步骤为:打开通讯和给产品供电后,打开虚拟机,将产品内部
映射盘符f盘打开,将内部autoexec.bat重命名为2a.bat,将产品内部h.bat重命名为autoexec.bat;给产品断电,断通讯,重新给产品上电,此时产品按流程进入硬件模式;
39.关键字“2”具体运行步骤为:打开通讯和给产品供电后,打开虚拟机,将产品内部映射盘符f盘打开,将内部autoexec.bat重命名为h.bat,将产品内部yasuo2.bat拷贝至产品内部,重命名为autoexec.bat;给产品断电,断通讯,重新给产品上电,此时执行yasuo.exe,产品按流程进入内部数据文件压缩模式,压缩完后自动将模式切换成软件模式;
40.关键字“3”具体运行步骤为:打开通讯和给产品供电后,打开虚拟机,将产品内部映射盘符f盘打开,在控制平台侧新建文件夹,将关键字“2”过程执行完成后产生的压缩文件夹拷贝至控制平台,进行解压;然后给产品断电,断通讯,对解压后的数据文件进行解析提取判定分析,和产品测试对应的曲线类型作比较,看提取到的关键数据是否在合格范围内,以此判定此测试过程成功与否,并提醒检查该测试过程的正确性;
41.关键字“4”具体运行步骤为:虚拟机和产品建立通讯后,在测试前,向产品内部拷贝yasuo.exe和yasuo2.bat文件以及rar.exe压缩软件;
42.关键字“5”具体运行步骤为:在测试完成后,将产品内部yasuo.exe、yasuo2.bat、rar.exe、dat20.rar文件删除;
43.关键字“6”具体运行步骤为:打开通讯和给产品供电后,打开虚拟机,将内部autoexec.bat重命名为back.bat,将产品内部yasuo2.bat拷贝至产品内部f盘,重命名为autoexec.bat,给产品断电,断通讯,重新给产品上电,此时执行yasuo.exe,产品按流程进入内部数据文件压缩模式,压缩完成后自动将模式切换成软件模式;
44.关键字“7”具体运行步骤为:打开通讯和给产品供电后,打开虚拟机,将控制平台的2a.bat文件拷贝至产品内部,重命名为autoexec.bat,将控制平台的h.bat拷贝至产品内部f盘;给产品断电,断通讯,重新给产品上电,产品自动将模式切换成软件模式。
45.与现有技术相比,本发明的有益效果是:
46.1)本发明根据实际情况运行不同的功能,每条功能均由各自的关键字对应,将产品中的指令实行模式切换和数据打包下载,减少通讯与产品之间的握手次数,适当降低串口通信上的数据流量来提高整个访问和传输效率,从而达到提高rs-232串口通讯传输效率的目的。
47.2)本发明中产品标定模式实现了不用分解产品即可在线检查产品标定数据,缩短了排故周期。
48.3)本发明从实际使用需求出发,基于c#和虚拟机技术进行开发,实现了产品测试过程“一键自动”测试,智能判断,软件机制采用人机对话、引导式操作,操作简单,有效节省了人力资源投入,与原有人工手动测试方式相比,不会出现错测和漏测、晚测的情况。
附图说明
49.图1为本发明的命令写入流程图;
50.图2为本发明中关键字“0”的运行流程示意图;
51.图3为本发明中关键字“1”的运行流程示意图;
52.图4为本发明中关键字“2”的运行流程示意图;
53.图5为本发明中关键字“3”的运行流程示意图;
54.图6为本发明中关键字“4”的运行流程示意图;
55.图7为本发明中关键字“5”的运行流程示意图;
56.图8为本发明中关键字“6”的运行流程示意图;
57.图9为本发明中关键字“7”的运行流程示意图。
具体实施方式
58.为了更清楚地说明本发明的技术方案,下面结合附图和具体实施例对本发明进行详细说明。
59.本发明发动机控制软件测试方法,在虚拟dos系统中,不改变波特率的前提下,自主开发程序,采用全中文人机交互系统,试验过程中所有操作均采用人机对话问答、触摸选择方式完成,具备产品标定、数据智能判定、报表自动打印、用户管理、故障诊断等功能。本发明的具体实现方法包括以下内容:
60.根据产品测试过程中各个阶段的数据分析,对每个阶段需要用到的关键点单独进行处理,设置关键字,通过关键字驱动整个产品的测试,即可使用一种通用的模式来对产品的需求进行测试,而关键字提供整个自动化过程的衔接,对整个流程进行驱动,以满足测试需求。
61.关键字主要用面向对象的形式将其表现出来,实现脚本与界面元素分离,单独执行,互不干扰,表1为产品的关键字说明表。
62.表1关键字说明表
[0063][0064]
关键字0:产品运行标定程序验证;
[0065]
关键字1:产品内部dos系统autoexec.bat文件执行硬件模式.exe文件;
[0066]
关键字2:产品内部dos系统autoexec.bat文件由硬件模式.exe文件切换成软件模式.exe文件,并根据过程分析进行执行压缩产品数据文件;
[0067]
关键字3:创建新文件夹temp,若存在该文件夹,删除文件夹内的所有文件,将关键字2压缩后的数据拷贝到temp文件夹中,并执行解压,分析判断数据是否在范围内。
[0068]
关键字4:每次测试设备和产品建立通讯后,首先检查是否存在yasuo2.bat,rar.exe,yasuo.exe三个测试工具。若存在,按流程继续;若不存在,拷贝测试工具至产品侧。
[0069]
关键字5:等整个测试完成后,完成对测试工具的删除。
[0070]
关键字6:在测试过程中出问题后,执行关键字6可以压缩产品生成的数据文件。
[0071]
关键字7:测试过程中出现故障,不清楚当前测试模式,执行关键字7可以将模式切换至软件模式,方便后续流程进行。
[0072]
图1为本发明的命令写入流程图,整个数据传输方向为虚拟机到产品。在workitem.log文件中写入关键字,在测试设备和产品建立通讯后供电,此时执行关键字指令,运行关键字所指示的内容,完成检查是否存在wkresult.log文件,若存在则写入“done!”,执行完成。
[0073]
(1)关键字0
[0074]
关键字0执行操作,根据关键字命令写入流程图。在打开通讯和给产品供电后,打开虚拟机,将产品内部映射盘符f盘打开,将内部autoexec.bat重命名为bd.bat,将控制平台ys.bat拷贝至产品内部,重命名为autoexec.bat,将bd.txt拷贝至产品f盘,给产品断电,断通讯,重新给产品上电,此时产品将按流程进入标定程序,关键流程如图2所示。
[0075]
关键字0主要执行代码如下:
[0076]
system("f:\\");
[0077]
system(

ren autoexec.bat bd.bat");
[0078]
system("copy c:\\ys.bat f:\\autoexec.bat/y");
[0079]
system("copy c:\\bd.txt/y");
[0080]
(2)关键字1
[0081]
关键字1执行操作,根据命令写入流程图。在打开通讯和给产品供电后,打开虚拟机,将产品内部映射盘符f盘打开,将内部autoexec.bat重命名为2a.bat,将产品内部h.bat重命名为autoexec.bat,给产品断电,断通讯,重新给产品上电,此时产品将按流程进入硬件模式,关键流程如图3所示。
[0082]
关键字1主要执行代码如下:
[0083]
system("f:\\");
[0084]
system(

ren autoexec.bat 2a.bat");
[0085]
system(

ren h.bat autoexec.bat");
[0086]
(3)关键字2
[0087]
关键字2执行操作,根据命令写入流程图。在打开通讯和给产品供电后,打开虚拟机,将产品内部映射盘符f盘打开,将内部autoexec.bat重命名为h.bat,将产品内部yasuo2.bat拷贝至产品内部,重命名为autoexec.bat,给产品断电,断通讯,重新给产品上电,此时执行yasuo.exe软件,产品将按流程进入内部数据文件压缩模式,压缩完后自动将模式切换成软件模式,关键流程如图4所示。
[0088]
关键字2主要执行代码如下:
[0089]
system("f:\\");
[0090]
system(

ren autoexec.bat h.bat");
[0091]
system(

copy c:\\yasuo2.bat autoexec.bat/y");
[0092]
(4)关键字3
[0093]
关键字3执行操作,根据命令写入流程图。在打开通讯和给产品供电后,打开虚拟机,将产品内部映射盘符f盘打开,在控制平台侧新建文件夹,将关键字2过程执行完成后产生的压缩文件夹拷贝至控制平台,进行解压。然后给产品断电,断通讯,对解压后的数据文件进行解析提取判定分析,和产品测试对应的曲线类型作比较,看提取到的关键数据是否在合格范围内,以此判定此测试过程成功与否,提醒检查该测试过程的正确性。关键流程如图5所示。
[0094]
关键字3主要执行代码如下:
[0095]
system("cd c:\\temp");
[0096]
system(

deltree/y c:\\temp\\*.*");
[0097]
system(

copy f:\\dat20.rar c:\\temp/y");
[0098]
system(

c:\\rar.exe x c:\\temp\\date20.rar/y");
[0099]
(5)关键字4
[0100]
在测试前,为方便和产品进行测试,需要往产品侧拷入测试工具。和产品建立通讯后,向产品内部拷贝yasuo.exe和yasuo2.bat文件以及rar.exe压缩软件,方便后续测试,如图6所示。
[0101]
关键字4主要执行代码如下:
[0102]
if(findfirst("f:\\yasuo.exe",&ff,0x20)!=0)
[0103]
{system(

copy c:\\yasuo.exe f:\\");}
[0104]
if(findfirst("f:\\yasuo2.bat",&ff,0x20)!=0)
[0105]
{system(

copy c:\\yasuo2.bat f:\\");}
[0106]
if(findfirst("f:\\rar.exe",&ff,0x20)!=0)
[0107]
{system(

copy c:\\rar.exe f:\\");}
[0108]
(6)关键字5
[0109]
在测试完成后,需要将测试工具删除,所以关键字5主要和产品建立通讯后,将产品内部yasuo.exe、yasuo2.bat、rar.exe、dat20.rar文件删除,如图7所示。
[0110]
关键字5主要执行代码如下:
[0111]
system("del f:\\yasuo2.bat");
[0112]
system("del f:\\yasuo.exe");
[0113]
system("del f:\\rar.exe");
[0114]
system("del f:\\dat20.rar");
[0115]
(7)关键字6
[0116]
关键字6执行操作,根据命令写入流程图。完成不管产品内部模式直接进行压缩数据文件功能。在打开通讯和给产品供电后,打开虚拟机,将内部autoexec.bat重命名为back.bat,将产品内部yasuo2.bat拷贝至产品内部f盘,重命名为autoexec.bat,给产品断电,断通讯,重新给产品上电,此时执行yasuo.exe软件,产品将按流程进入内部数据文件压缩模式,压缩完成后自动将模式切换成软件模式,关键流程如图8所示。
[0117]
关键字6主要执行代码如下:
[0118]
system("f:\\");
[0119]
system(

ren autoexec.bat back.bat");
[0120]
system(

copy c:\\yasuo2.bat autoexec.bat/y");
[0121]
(8)关键字7
[0122]
关键字7执行操作,根据命令写入流程图。在打开通讯和给产品供电后,打开虚拟机,将控制平台的2a.bat文件拷贝至产品内部,重命名为autoexec.bat,将控制平台h.bat拷贝至产品内部f盘,给产品断电,断通讯,重新给产品上电,自动将模式切换成软件模式,关键流程如图9所示。
[0123]
关键字7主要执行代码如下:
[0124]
system(

copy c:\\2a.bat f:\\autoexec.bat/y");
[0125]
system(

copy c:\\h.bat f:\\autoexec.bat/y");
[0126]
目前产品采用的数据访问模式为虚拟机通过工控机硬件rs-232串口与产品握手成功后,再依次从产品中将生成的数据逐一下载,每次传输文件需按“询问

确认

再确认”进行三次握手。由于rs-232串口传输速率为9600bit/s,换算成字节约1066byte/s,即1.1kb/s。产品中测试过程产生的数据文件平均大小为10k,产品每条曲线测试必定生成4个数据文件,一个试验阶段最短将产生12个数据文件。若按正常访问机制下载数据方式,加上使用dos命令“dir”显示数据文件,打开数据文件目录“f:\”,“cd tc”指令,再依次使用“copy fdj1_1.dat”命令进行单条数据文件拷贝。若拷贝12条数据,需要12*3=36次握手,每个文件传输时间至少为10/1.1≈9s,考虑到握手时间,则延长至1分钟,因此,拷贝12个文件,将至少需要12分钟。
[0127]
从以上分析可以看出,引起数据访问或下载数据速度慢主要原因是虚拟机与产品在数据下载过程中握手次数过多、握手时间太长导致。并且,由于rs-232串口通讯模式数据吞吐能力不足不能满足数据快速访问需求,因此,可以通过减少测试仪器和产品握手次数,适当降低串口通讯上数据流量来提高数据访问速度。
[0128]
根据计算,本发明整个数据访问过程仅需一次指令,3次握手即可完成,单项试验数据流通时间12
÷
1.1≈11秒,加上握手延时,完全可以在1分钟左右完成12个数据文件拷贝,能够缩短数据下载时间约11分钟/次。
[0129]
具体步骤如下:
[0130]
1、在整个执行测试过程中,当测试设备和产品建立通讯时,先对产品根目录下文件进行扫描,检查有没有发现yasuo2.bat、rar.exe、yasuo.exe三个测试工具,若未发现测试工具,在虚拟机根目录下的workitem.log文件中运行关键字“4”,则往产品根目录下拷贝yasuo2.bat、rar.exe、yasuo.exe三个测试工具。
[0131]
2、测试工具拷贝完成后,根据试验顺序,针对测试过程的进度进行关键字切换,进行模式转化,压缩数据和下载数据,并对生成的数据进行判定,数据在设定范围内,则判定数据合格;数据超出设定范围,判定数据不合格。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献