本发明涉及计算机,尤其涉及一种事件处理方法、测试系统、计算机设备和存储介质。
背景技术:
1、目前事件处理方法通常采用队列处理模型,该模型分为“事件处理循环”即按用户界面发生的操作生成各种消息,和“消息处理循环”对产生的消息进行处理,消息内容为字符串,可以方便的进行消息处理,但队列处理模型存在内循环多和多级初始化的问题,导致应用程序可能出现卡死的情况。
2、可见,现有技术中的事件处理方法存在内循环多和多级初始化的问题。
技术实现思路
1、针对现有技术中所存在的不足,本发明的提供的一种事件处理方法、测试系统、计算机设备和存储介质,其解决了现有技术中的事件处理方法存在内循环多和多级初始化的问题。
2、第一方面,本发明提供一种事件处理方法,所述处理方法包括:对系统界面上的所有控件进行初始化,并为每个按键控件建立相对应的按键事件;将所有按键事件添加到事件结构程序框中,并为每个按键事件设置相对应的事件程序;所述事件结构程序框外的第一循环模块循环监测是否有触发按键事件;当监测到触发按键事件时,运行与触发的按键事件相匹配的事件程序的同时,通过第二循环模块依次循环接收数据和处理数据,得到系统界面的显示数据。
3、可选地,在对系统界面上的所有控件进行初始化,并为每个按键控件建立相对应的按键事件之前,所述方法还包括:建立事件处理中的初始化状态、事件监测状态、数据接收状态、数据处理状态和结束状态;在条件结构程序框中建立分别与所述初始化状态、事件监测状态、数据接收状态、数据处理状态和结束状态相对应的状态分支,并为每个状态分支创建枚举常量;将每个状态分支对应的枚举常量依次与移位寄存器进行连接,使移位寄存器将上一个状态分支的输出作为下一个状态分支的输入。
4、可选地,当监测到触发按键事件时,运行与触发的按键事件相匹配的事件程序的同时,通过第二循环模块依次循环接收数据和处理数据,包括:当第一循环模块监测到触发按键事件时,运行与触发的按键事件相匹配的事件程序的同时,所述条件结构程序框中与事件监测状态相对应的状态分支输出第一结果值到移位寄存器;所述移位寄存器根据所述第一结果值触发所述第二循环模块,使所述第二循环模块接收外部设备通过串口发送的初始数据,并对所述初始数据进行处理得到系统界面的显示数据。
5、可选地,所述第二循环模块接收通过串口发送的初始数据,并对所述初始数据进行处理得到系统界面的显示数据,包括:当所述第二循环模块中的数据接收单元接收完成外部设备通过串口发送的初始数据后,所述条件结构程序框中与数据接收状态相对应的状态分支输出第二结果值到移位寄存器;所述移位寄存器根据所述第二结果值触发所述第二循环模块中的数据处理单元,使所述数据处理单元对所述初始数据进行数据截取、数据运算和类型转换得到系统界面的显示数据。
6、可选地,当所述系统界面上的所有控件包括:按键控件、显示控件和输入控件时,对系统界面上的所有控件进行初始化包括:将每个按键控件的初始值设置为第一阈值,使每个按键控件都处于未按下状态;将每个显示控件的初始值设置为null值,使每个显示控件都显示空白;根据每个输入控件的类型输入相匹配的实际初始值,使系统根据所述实际初始值进行运行。
7、可选地,在对系统界面上的所有控件进行初始化,并为每个按键控件建立相对应的按键事件之前,所述方法还包括:根据预设函数库中的初始化函数对运动控制板进行初始化,并根据串口配置函数对串口进行初始化。
8、第二方面,本发明提供一种测试系统,所述测试系统包括实现所述的事件处理方法的软件系统;所述软件系统的系统界面包括状态指示区、工作信息显示区、参数设置及保护区、数据回传区和系统控制区;其中,所述系统控制区包括多个控制按钮,通过所述多个控制按钮用于控制待测试产品的进料、出料、开始测试和结束测试操作。
9、可选地,所述测试系统还包括:运行所述软件系统的上位机、电机、气缸和主控板;所述上位机分别与驱动电机和气缸运动的驱动板卡、所述主控板电连接,通过操作软件系统中的进料控制按钮,使所述电机驱动待测试产品到达目标测试区域;通过操作软件系统中的开始测试控制按钮,使所述气缸驱动所述主控板与待测试产品进行电连接。
10、第三方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:对系统界面上的所有控件进行初始化,并为每个按键控件建立相对应的按键事件;将所有按键事件添加到事件结构程序框中,并为每个按键事件设置相对应的事件程序;所述事件结构程序框外的第一循环模块循环监测是否有触发按键事件;当监测到触发按键事件时,运行与触发的按键事件相匹配的事件程序的同时,通过第二循环模块依次循环接收数据和处理数据,得到系统界面的显示数据。
11、第四方面,本发明提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:对系统界面上的所有控件进行初始化,并为每个按键控件建立相对应的按键事件;将所有按键事件添加到事件结构程序框中,并为每个按键事件设置相对应的事件程序;所述事件结构程序框外的第一循环模块循环监测是否有触发按键事件;当监测到触发按键事件时,运行与触发的按键事件相匹配的事件程序的同时,通过第二循环模块依次循环接收数据和处理数据,得到系统界面的显示数据。
12、相比于现有技术,本发明具有如下有益效果:
13、本发明将系统初始化设置在按键事件循环监测之前,且只进行依次初始化,避免出现将初始化设置在状态循环中的多次初始化硬件导致程序卡死、运行数据情况或控制失效的问题;本发明在运行与触发的按键事件相匹配的事件程序的同时,通过第二循环模块依次循环接收数据和处理数据,使数据接收状态和数据处理状态处于并行与运行事件程序的循环中,不仅保证了事件状态之间的数据流传递,还有效防止因数据持续接收或处理数据导致按键程序被卡死的问题。
1.一种事件处理方法,其特征在于,所述处理方法包括:
2.如权利要求1所述的事件处理方法,其特征在于,在对系统界面上的所有控件进行初始化,并为每个按键控件建立相对应的按键事件之前,所述方法还包括:
3.如权利要求2所述的事件处理方法,其特征在于,当监测到触发按键事件时,运行与触发的按键事件相匹配的事件程序的同时,通过第二循环模块依次循环接收数据和处理数据,包括:
4.如权利要求3所述的事件处理方法,其特征在于,所述第二循环模块接收通过串口发送的初始数据,并对所述初始数据进行处理得到系统界面的显示数据,包括:
5.如权利要求1所述的事件处理方法,其特征在于,当所述系统界面上的所有控件包括:按键控件、显示控件和输入控件时,对系统界面上的所有控件进行初始化包括:
6.如权利要求1所述的事件处理方法,其特征在于,在对系统界面上的所有控件进行初始化,并为每个按键控件建立相对应的按键事件之前,所述方法还包括:
7.一种测试系统,其特征在于,所述测试系统包括实现权利要求1-4任一项所述的事件处理方法的软件系统;
8.如权利要求1所述的测试系统,其特征在于,所述测试系统还包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项方法的步骤。