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

试验设备参数修改方法、装置、电子设备及存储介质与流程

2022-02-22 09:21:26 来源:中国专利 TAG:


1.本发明涉及试验设备控制技术领域,尤其涉及一种试验设备参数修改方法、装置、电子设备及存储介质。


背景技术:

2.随着自动控制技术的发展,试验设备的控制也朝着自动化和智能化的方向发展,例如拉力机、炭黑分散仪等。试验设备控制通常是通过软件修改试验设备参数的方式来实现的,试验设备按照修改后的试验设备参数运行,完成相应的试验。
3.目前,通过软件修改试验设备参数的方式有以下几种:
4.1、通过opc协议连接试验设备修改试验设备参数,此种方式需安装必要的协议网关硬件来实现,并需设备生产厂家提供plc地址等信息,才能够达到通过软件修改试验设备参数的目的,且部分试验设备并不支持opc协议,导致无法修改试验设备参数。
5.2、使用厂家提供的设备标准接口修改试验设备参数,部分国外设备生产厂家需要收取高额费用后才可提供设备标准接口,导致这部分设备无法实现通过软件修改试验设备参数的目的。
6.3、使用软件程序模拟人工操作修改试验设备参数,此种方式速度慢、不稳定,容易导致参数修改失败。
7.因此,如何设计一种稳定高效且不受设备生产厂家限制的试验设备参数修改方法是一个亟待解决的问题。


技术实现要素:

8.本发明提供一种试验设备参数修改方法、装置、电子设备及存储介质,通过准确地查找试验设备参数所在内存地址的方式,直接在内存中修改设备试验参数,实现了设备试验参数的自动修改,解决了现有技术由于设备本身和设备生产厂家的限制,导致的参数修改难度大、效率低、稳定性差的问题。
9.第一方面,本发明提供一种试验设备参数修改方法,包括:
10.对试验设备的上位机软件进行多次预启动,并从内存空间中获取每次预启动后试验设备参数对应的特征数据;
11.根据预设的比对规则对多组所述特征数据进行比对得到参数特征码;
12.在正式启动试验设备的上位机软件后,利用字符串匹配算法在内存中查找与所述参数特征码相匹配的目标数据,并确定所述目标数据在内存中的起始地址;
13.根据所述起始地址以及所述试验设备参数的数据类型确定所述试验设备参数所在的内存地址;
14.调用写入函数将所述试验设备参数所在的内存地址中存储的数据修改为预设数据。
15.可选实施例中,所述对试验设备的上位机软件进行多次预启动,并从内存空间中
获取每次预启动后试验设备参数对应的特征数据,包括:
16.启动试验设备的上位机软件,并利用调试工具加载已启动的所述上位机软件获取试验设备参数的内存基址;
17.根据所述内存基址和预设数据长度确定试验设备参数对应的特征数据的内存地址;
18.根据所述试验设备参数对应的特征数据的内存地址获取内存空间中存储的试验设备参数对应的特征数据;
19.通过反复重启上位机软件的方式,获得多组试验设备参数对应的特征数据。
20.可选实施例中,所述根据预设的比对规则对多组所述特征数据进行比对得到参数特征码,包括:
21.依次比对多组所述特征数据同一位置的数值,若多组所述特征数据的第i个位置的数值相同,则设定该数值为参数特征码中第i个位置的数值;
22.否则,将参数特征码中第i个位置的数值设定为预设符号;
23.直至完成多组所述特征数据全部位置的比对,得到参数特征码。
24.可选实施例中,所述调试工具包括cheat engine、x32dbg以及ollydbg反编译工具中的至少一种。
25.可选实施例中,所述字符串匹配算法为kmp算法。
26.第二方面,本发明提供一种试验设备参数修改装置,包括:
27.获取模块,用于对试验设备的上位机软件进行多次预启动,并从内存空间中获取每次预启动后试验设备参数对应的特征数据;
28.比对模块,用于根据预设的比对规则对多组所述特征数据进行比对得到参数特征码;
29.匹配模块,用于在正式启动试验设备的上位机软件后,利用字符串匹配算法在内存中查找与所述参数特征码相匹配的目标数据,并确定所述目标数据在内存中的起始地址;
30.确定模块,用于根据所述起始地址以及所述试验设备参数的数据类型确定所述试验设备参数所在的内存地址;
31.修改模块,用于调用写入函数将所述试验设备参数所在的内存地址中存储的数据修改为预设数据。
32.可选实施例中,所述获取模块,具体用于启动试验设备的上位机软件,并利用调试工具加载已启动的所述上位机软件获取试验设备参数的内存基址;根据所述内存基址和预设数据长度确定试验设备参数对应的特征数据的内存地址;根据所述试验设备参数对应的特征数据的内存地址获取内存空间中存储的试验设备参数对应的特征数据;通过反复重启上位机软件的方式,获得多组试验设备参数对应的特征数据。
33.可选实施例中,所述比对模块,具体用于依次比对多组所述特征数据同一位置的数值,若多组所述特征数据的第i个位置的数值相同,则设定该数值为参数特征码中第i个位置的数值;否则,将参数特征码中第i个位置的数值设定为预设符号;直至完成多组所述特征数据全部位置的比对,得到参数特征码。
34.可选实施例中,所述调试工具包括cheat engine、x32dbg以及ollydbg反编译工具
中的至少一种。
35.可选实施例中,所述字符串匹配算法为kmp算法。
36.第三方面,本发明提供一种电子设备,包括:至少一个处理器和存储器;
37.所述存储器存储计算机执行指令;
38.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的试验设备参数修改方法。
39.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的试验设备参数修改方法。
40.本发明提供的一种试验设备参数修改方法、装置、电子设备及存储介质,对试验设备的上位机软件进行多次预启动,并从内存空间中获取每次预启动后试验设备参数对应的特征数据;根据预设的比对规则对多组所述特征数据进行比对得到参数特征码;在正式启动试验设备的上位机软件后,利用字符串匹配算法在内存中查找与所述参数特征码相匹配的目标数据,并确定所述目标数据在内存中的起始地址;根据所述起始地址以及所述试验设备参数的数据类型确定所述试验设备参数所在的内存地址;调用写入函数将所述试验设备参数所在的内存地址中存储的数据修改为预设数据。与现有技术相比,本发明提供的方案,首先获取多组试验设备参数在内存中的特征数据,然后根据特征数据确定试验设备参数对应的特征码,并根据特征码准确地定位试验设备参数所在的内存地址,最后直接在内存中修改设备试验参数,实现了设备试验参数的自动修改,解决了现有技术由于设备本身和设备生产厂家的限制,导致的参数修改难度大、效率低、稳定性差的问题。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1为本公开实施例一提供的一种试验设备参数修改方法的流程示意图;
43.图2为本公开实施例一提供的另一种试验设备参数修改方法的流程示意图;
44.图3为本公开实施例一提供的又一种试验设备参数修改方法的流程示意图;
45.图4为本公开实施例二提供的一种试验设备参数修改装置的结构示意图;
46.图5为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
47.下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
48.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作
完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
49.下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
50.实施例一
51.图1为本公开实施例一提供的一种试验设备参数修改方法的流程示意图,本实施例的执行主体为试验设备参数修改装置,该装置可以由软件和/或硬件的方式来实现,并可集成于服务器或者终端中,如图1所示,本公开实施例提供的一种试验设备参数修改方法,包括:
52.s1、对试验设备的上位机软件进行多次预启动,并从内存空间中获取每次预启动后试验设备参数对应的特征数据。
53.其中,上位机软件为上位机上装载的控制试验设备运行的软件,特征数据为试验设备参数存储至内存时生成的特定格式和内容的数据。
54.本实施例中,由于上位机软件每次启动时,都会在内存中申请一段内存空间,用于存储试验设备参数,以保证程序正常运行,且每次启动时申请的内存空间的地址均不相同,这就导致试验设备参数每次在内存中存储的地址都是不一样的,但是试验设备参数每次存储至内存时都会在起始部分生成一段特定格式和内容的数据,这段特定格式和内容的数据可以作为试验设备参数对应的特征数据,可利用调试工具确定试验设备参数对应的特征数据的内存地址,并根据内存地址获取内存空间中存储的试验设备参数对应的特征数据。
55.s2、根据预设的比对规则对多组所述特征数据进行比对得到参数特征码。
56.本实施例中,由于得到的多组特征数据之间存在一些差别,需要确定一个能表示试验设备参数的统一的特征码,用以之后查找试验设备参数在内存中的位置,可比对多组特征数据同一位置的数值,保留相同的数值,不同的数值用特定符号替代,生成一个包含数值和符号的特征码。
57.s3、在正式启动试验设备的上位机软件后,利用字符串匹配算法在内存中查找与所述参数特征码相匹配的目标数据,并确定所述目标数据在内存中的起始地址。
58.本实施例中,可通过字符串匹配算法从内存中查找与参数特征码相匹配的目标数据,查找到目标数据后,获取目标数据的起始地址,即为试验设备参数在内存中的首地址。
59.s4、根据所述起始地址以及所述试验设备参数的数据类型确定所述试验设备参数所在的内存地址。
60.其中,试验设备参数所在的内存地址包含起始地址和占用的内存大小。
61.本实施例中,可根据试验设备参数的数据类型确定试验设备参数占用的内存大小,根据试验设备参数的起始地址和占用的内存大小可准确地确定试验设备参数在内存中的位置,以对确定的位置中存储的数据进行修改。
62.s5、调用写入函数将所述试验设备参数所在的内存地址中存储的数据修改为预设数据。
63.本公开实施例所提供的技术方案,对试验设备的上位机软件进行多次预启动,并从内存空间中获取每次预启动后试验设备参数对应的特征数据;根据预设的比对规则对多组所述特征数据进行比对得到参数特征码;在正式启动试验设备的上位机软件后,利用字
符串匹配算法在内存中查找与所述参数特征码相匹配的目标数据,并确定所述目标数据在内存中的起始地址;根据所述起始地址以及所述试验设备参数的数据类型确定所述试验设备参数所在的内存地址;调用写入函数将所述试验设备参数所在的内存地址中存储的数据修改为预设数据。通过采用本公开所提供的技术方案,获取多组试验设备参数在内存中的特征数据,根据特征数据确定试验设备参数对应的特征码,并根据特征码准确地定位试验设备参数所在的内存地址,根据试验设备参数所在的内存地址直接在内存中修改设备试验参数,实现了设备试验参数的自动修改,解决了现有技术由于设备本身和设备生产厂家的限制,导致的参数修改难度大、效率低、稳定性差的问题。
64.在图1所述实施例的基础上,图2为本公开实施例一提供的另一种试验设备参数修改方法的流程示意图,本公开实施例提供的方法是对前述实施例中s1步骤的进一步说明,所述试验设备参数修改方法包括:
65.s101、启动试验设备的上位机软件,并利用调试工具加载已启动的所述上位机软件获取试验设备参数的内存基址。
66.本实施例中,调试工具可包括cheat engine、x32dbg以及ollydbg等反编译工具中的至少一种,也可为其他可获取试验设备参数的内存基址的调试工具,本实施例对此不做限制。
67.s102、根据所述内存基址和预设数据长度确定试验设备参数对应的特征数据的内存地址。
68.其中,预设数据长度是根据实际试验设备参数在内存中的存储情况而设定的。
69.本实施例中,根据试验设备参数的内存基址以及预设数据长度可以获得试验设备参数对应的特征数据的内存地址。
70.s103、根据所述试验设备参数对应的特征数据的内存地址获取内存空间中存储的试验设备参数对应的特征数据。
71.本实施例中,根据试验设备参数对应的特征数据的内存地址获取内存地址对应的内存空间中存储的特征数据。
72.s104、通过反复重启上位机软件的方式,获得多组试验设备参数对应的特征数据。
73.本实施例中,反复重启上位机软件,按照s101-s103所述的方法,获取多组特征数据。
74.举例来说,举例来说,上位机软件运行于windows系统中,初次启动上位机软件,并利用反编译工具加载获取试验设备参数的内存基址为00342000,假设试验设备参数对应数据类型在内存中占4个字节,需从内存地址中以00342000为起点取出大于4个字节的的数据,预设取出24个字节的数据,则试验设备参数对应的特征数据的内存地址为00342000~00342017,获取00342000~00342017指向的内存空间中存储的数据为61006e0069006d0061006c0073000000124f434600000080,得到第一组特征数据,反复两次重启上位机软件,采用同样的方式得到另外两组特征数据为612c6e0069005c0022006c21730000001f4f434600000080和61006e2269006d002e006c1e730000002d4f434600000080。
75.本技术方案在上述技术方案的基础上,提供了一种具体的获得试验设备参数对应的特征数据的方式,本实施例这样设置的好处是可以通过获取试验设备参数内存地址的方式获取多组试验设备参数在内存中存储数据的特征数据,从而能够根据特征数据确定试验
设备参数对应的特征码,特征码可用于从内存中自动查找试验设备参数。
76.在图1所述实施例的基础上,图3为本公开实施例一提供的又一种试验设备参数修改方法的流程示意图,本公开实施例提供的方法是对前述实施例中s2步骤的进一步说明,所述试验设备参数修改方法包括:
77.s201、依次比对多组所述特征数据同一位置的数值,若多组所述特征数据的第i个位置的数值相同,则设定该数值为参数特征码中第i个位置的数值;
78.s202、否则,将参数特征码中第i个位置的数值设定为预设符号;
79.s203、直至完成多组所述特征数据全部位置的比对,得到参数特征码。
80.举例来说,如表1所示,3组特征数据包括:第1组特征数据61006e0069006d0061006c0073000000124f434600000080、第2组特征数据612c6e0069005c0022006c21730000001f4f434600000080和第3组特征数据61006e2269006d002e006c1e730000002d4f434600000080,依次对比3组特征数据每一地址中存储的数值,保持数值相同的地址的数值不变,将数值不同的地址的数值设定为“?”,得到参数特征码61??6e??6900??00??006c??73000000??4f434600000080。
81.表1
82.地址第1组特征数据第2组特征数据第3组特征数据特征码006161616101002c00??026e6e6e6e03000022??04696969690500000000066d5c6d??07000000000861222e??09000000000a6c6c6c6c0b00211e??0c737373730d000000000e000000000f0000000010121f2d??114f4f4f4f12434343431346464646140000000015000000001600000000
1780808080
83.本技术方案在上述各技术方案的基础上,提供了一种参数特征码的生成方法,这样设置的好处是可以利用试验设备参数对应的特征数据生成参数特征码,从而根据参数特征码自动查找试验设备参数。
84.在得到参数特征码的基础上,可利用字符串匹配算法在内存中存储的大量数据中查找与参数特征码相匹配的目标数据,从而确定目标数据在内存中的起始地址,这里使用的字符串匹配算法具体可以为kmp算法。
85.实施例二
86.图4为本公开实施例二提供的一种试验设备参数修改装置的结构示意图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图4,所述试验设备参数修改装置包括:
87.获取模块41,用于对试验设备的上位机软件进行多次预启动,并从内存空间中获取每次预启动后试验设备参数对应的特征数据;
88.比对模块42,用于根据预设的比对规则对多组所述特征数据进行比对得到参数特征码;
89.匹配模块43,用于在正式启动试验设备的上位机软件后,利用字符串匹配算法在内存中查找与所述参数特征码相匹配的目标数据,并确定所述目标数据在内存中的起始地址;
90.确定模块44,用于根据所述起始地址以及所述试验设备参数的数据类型确定所述试验设备参数所在的内存地址;
91.修改模块45,用于调用写入函数将所述试验设备参数所在的内存地址中存储的数据修改为预设数据。
92.本公开实施例所提供的技术方案,通过获取模块对试验设备的上位机软件进行多次预启动,并从内存空间中获取每次预启动后试验设备参数对应的特征数据;通过比对模块根据预设的比对规则对多组所述特征数据进行比对得到参数特征码;通过匹配模块在正式启动试验设备的上位机软件后,利用字符串匹配算法在内存中查找与所述参数特征码相匹配的目标数据,并确定所述目标数据在内存中的起始地址;通过确定模块根据所述起始地址以及所述试验设备参数的数据类型确定所述试验设备参数所在的内存地址;通过修改模块调用写入函数将所述试验设备参数所在的内存地址中存储的数据修改为预设数据。通过采用本公开所提供的技术方案,获取多组试验设备参数在内存中的特征数据,根据特征数据确定试验设备参数对应的特征码,并根据特征码准确地定位试验设备参数所在的内存地址,根据试验设备参数所在的内存地址直接在内存中修改设备试验参数,实现了设备试验参数的自动修改,解决了现有技术由于设备本身和设备生产厂家的限制,导致的参数修改难度大、效率低、稳定性差的问题。
93.可选的,所述获取模块41,具体用于启动试验设备的上位机软件,并利用调试工具加载已启动的所述上位机软件获取试验设备参数的内存基址;根据所述内存基址和预设数据长度确定试验设备参数对应的特征数据的内存地址;根据所述试验设备参数对应的特征数据的内存地址获取内存空间中存储的试验设备参数对应的特征数据;通过反复重启上位机软件的方式,获得多组试验设备参数对应的特征数据。
94.可选的,所述比对模块42,具体用于依次比对多组所述特征数据同一位置的数值,
若多组所述特征数据的第i个位置的数值相同,则设定该数值为参数特征码中第i个位置的数值;否则,将参数特征码中第i个位置的数值设定为预设符号;直至完成多组所述特征数据全部位置的比对,得到参数特征码。
95.可选的,所述调试工具包括cheat engine、x32dbg以及ollydbg等反编译工具中的至少一种。
96.可选的,所述字符串匹配算法为kmp算法。
97.上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
98.实施例三
99.图5为本公开实施例提供的一种电子设备的结构示意图,如图5所示,本实施例的电子设备50可以包括:存储器51、处理器52。
100.存储器51,用于存储计算机程序(如实现上述一种试验设备参数修改方法的应用程序、功能模块等)、计算机指令等;
101.上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器51中。并且上述的计算机程序、计算机指令、数据等可以被处理器52调用。
102.处理器52,用于执行存储器51存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
103.具体可以参见前面方法实施例中的相关描述。
104.存储器51和处理器52可以是独立结构,也可以是集成在一起的集成结构。当存储器51和处理器52是独立结构时,存储器51、处理器52可以通过总线53耦合连接。
105.本实施例的一种电子设备可以执行图1-图3所示方法中的技术方案,其具体实现过程和技术原理参见图1-图3所示方法中的相关描述,此处不再赘述。
106.此外,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
107.其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
108.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
109.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。
再多了解一些

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

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

相关文献