1.本技术一般涉及计算机控制领域,尤其涉及一种被测设备功能测试方法和中间装置。
背景技术:
2.工业设备间内的设备接口往往具有多种总线形式,要对单个设备系统内的多个设备进行功能测试,或对多个设备系统内的设备进行功能测试时,往往需要使用不同接口的测试设备(一般为工控计算机),以将被测设备和测试设备进行连接,并实现二者之间直接的、无需转换的通信,进而测得被测设备的相应功能信息。但这样在测试时需要频繁更换测试设备,较为浪费人力物力。
技术实现要素:
3.鉴于现有技术中的上述缺陷或不足,期望提供一种无需针对不同接口的被测设备更换与之相应的测试设备的被测设备功能测试方法和中间设备。
4.具体技术方案如下:
5.第一方面
6.本技术提供一种被测设备功能测试方法,包括如下步骤:
7.将测试数据获取指令发送至所述被测设备;
8.从所述被测设备处获取第一格式的测试数据,所述测试数据中携带有被测设备的与所述测试数据获取指令相应的功能信息;
9.将所述测试数据由第一格式转化为第二格式;
10.将第二格式的所述测试数据发送至测试设备,使得所述测试设备可根据第二格式的所述测试数据,获取所述被测设备的相应功能信息。
11.作为本技术的进一步限定,在所述测试数据由所述第一格式被转化至所述第二格式后,至其被发送至所述测试设备前,还包括:
12.将第一格式的所述测试数据转化至第三格式;
13.将第三格式的所述测试数据转化至第二格式,所述第三格式为通用转化格式。
14.作为本技术的进一步限定,所述从所述被测设备处获取第一格式的测试数据,包括如下步骤:
15.针对不同的常用总线定义不同的数据结构体,其中所述数据结构体采用一字节对齐方式;
16.定义总线类型type,将总线类型type以及上述步骤中数据结构体再次封装。
17.作为本技术的进一步限定,所述将第二格式的所述测试数据发送至测试设备,包括如下步骤:
18.以本地回送方式,创建udp发送套接字;
19.创建udp接收套接字。
20.作为本技术的进一步限定,所述针对不同的常用总线定义不同的数据结构体,包括:
21.对于串口类总线,定义串口结构体com_stru,包含:串口通道号num,占用一个字节;数据长度,占用两个字节;存放串口数据的数组,数组元素为字符型,数组长度为max_length;
22.对于can总线,定义结构体can_stru,包含:can id值,占用四个字节;can帧数据长度,占用一个字节;can数据数组,类型为字符型,长度为8;
23.对于1553b总线,定义结构体1553b_stru,包含:子地址值,占用一个字节;1553b数据数组,数组元素为短整型,占用两个字节,数据长度为32。
24.作为本技术的进一步限定,所述定义总线类型type,将总线类型type以及上述步骤中数据结构体再次封装,包括:
25.使用宏定义进行总线类型定义,分别为0x01表示串口类型,0x02表示can总线类型,0x03表示1553b总线;
26.串口类总线再次封装后的数据结构体com_stru_d为变量type和com_stru的组合结构体;
27.can总线再次封装后的数据结构体can_stru_d为变量type和can_stru的组合结构体;
28.1553b总线再次封装后的数据结构体1553b_stru_d为变量type和1553b_stru的组合结构体。
29.作为本技术的进一步限定,所述以本地回送方式,创建udp发送套接字,包括:
30.创建网络发送套接字,端口号设置为接收方端口号0x1234,ip地址设备设置为回送地址127.0.0.0,使用socket函数创建udp发送套接字,参数为数据包形式sock_dgram,发送成功后返回句柄sendsocket;
31.根据总线类型定义所述数据结构体,其中,串口类总线定义串口总线再次封装后的数据结构体com_stru_d变量,can总线定义can总线再次封装后的数据结构体can_stru_d变量,1553b总线定义1553b总线再次封装后的数据结构体1553b_stru_d变量;
32.对变量进行总线数据赋值,获取此变量的内存首地址,计算需要发送数据的长度,使用udp标准函数sendto发送报文,参数填入要发送数据的指针以及数据的长度。
33.作为本技术的进一步限定,所述创建udp接收套接字,包括:
34.创建网络接收套接字,此时端口号设置为本地端口号0x5678,ip地址设置为inaddr_any,使用socket函数创建udp接收套接字,参数为数据包形式sock_dgram,创建成功后返回句柄recvsocket。使用bind对句柄recvsocket进行绑定操作。
35.在死循环中,使用recvfrom函数阻塞接收recvsocket的数据。接收到的数据符合s2中的总线发送结构体,其中,串口总线再次封装后的数据结构体com_stru_d,can总线再次封装后的数据结构体can_stru_d,1553b总线再次封装后的数据结构体1553b_stru_d;
36.当接收到数据时,得到数据报文的长度以及指针,解析出第一个字节即总线类型,根据总线类型使用内存拷贝函数将数据赋值到相应结构体中;
37.将对应的再次封装后的数据结构体通过队列方式提供给上层应用。
38.第二方面
39.本技术提供一种被测设备功能测试中间装置,包括:
40.测试指令发送模块,用于将测试数据获取指令发送至所述被测设备;
41.测试数据获取模块,用于从所述被测设备处获取第一格式的测试数据,所述测试数据中携带有被测设备的与所述测试数据获取指令相应的功能信息;
42.测试数据第一转化模块,用于将所述测试数据由第一格式转化为第二格式;
43.测试数据发送模块,用于将第二格式的所述测试数据发送至测试设备,使得所述测试设备可根据第二格式的所述测试数据,获取所述被测设备的相应功能信息。
44.作为本技术的进一步限定,还包括:
45.测试数据第二转化模块,用于在所述测试数据由所述第一格式被转化至所述第二格式后,至其被发送至所述测试设备前,将第一格式的所述测试数据转化至第三格式;将第三格式的所述测试数据转化至第二格式,所述第三格式为通用转化格式。
46.本技术有益效果在于:
47.相比于现有技术在测试被测设备相关功能时,需要选择与被测设备具有相同接口的测试设备的方法,本方案中的测试方法,通过别与被测设备和测试设备分别建立通信连接后,将从被测设备上获取的携带有相关功能信息的测试数据转化为可被测试设备读取的格式,进而使测试设备和被测设备之间无需进行物理连接,也即无需将二者接口进行匹配即可完成对被测设备上相关功能信息的获取。因此,该方法减少了对测试设备的频繁更换,降低了设备功能测试时人力物力的支出。
附图说明
48.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
49.图1为本技术实施例1提供的被测设备功能测试方法的流程图;
50.图2为本技术实施例2提供的被测设备功能测试中间装置的结构示意图;
51.图中标号:1,被测设备功能测试中间装置;11,测试指令发送模块;12,测试数据获取模块;13,测试数据第一转化模块;14,测试数据发送模块;2,被测设备;3,测试设备。
具体实施方式
52.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
53.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
54.实施例1
55.请参考图1,为本实施例提供的一种被测设备功能测试方法,包括如下步骤:
56.将测试数据获取指令发送至所述被测设备;
57.从所述被测设备处获取第一格式的测试数据,所述测试数据中携带有被测设备的与所述测试数据获取指令相应的功能信息;
58.将所述测试数据由第一格式转化为第二格式;
59.将第二格式的所述测试数据发送至测试设备,使得所述测试设备可根据第二格式的所述测试数据,获取所述被测设备的相应功能信息。
60.相比于现有技术在测试被测设备相关功能时,需要选择与被测设备具有相同接口的测试设备的方法,本方案中的测试方法,通过别与被测设备和测试设备分别建立通信连接后,将从被测设备上获取的携带有相关功能信息的测试数据转化为可被测试设备读取的格式,进而使测试设备和被测设备之间无需进行物理连接,也即无需将二者接口进行匹配即可完成对被测设备上相关功能信息的获取。因此,该方法减少了对测试设备的频繁更换,降低了设备功能测试时人力物力的支出。所述第一格式可以为串口类总线数据格式、can总线数据格式、1553b总线数据格式或其他总线数据格式中的一种;所述第二格式可以为上述总线数据格式中的另一种。
61.该方法中需要在被测设备与测试设备之间设置中间装置,用于连接具有不同接口的被测设备和测试设备。该中间设备一般为可以与被测设备和测试设备进行无线连接的计算机或手持终端等具有指令执行功能的智能设备,其通过与测试设备和被测设备之间进行无线连接,有效的回避了二者之间的接口不同的问题,并且也可有效解决因接口不同而产生的数据格式不同的问题,该中间设备在测试设备与被测设备之间起到了“连接”和“翻译”的作用。
62.其中在进一步提升该方法适用范围的优选实施方式中,在所述测试数据由所述第一格式被转化至所述第二格式后,至其被发送至所述测试设备前,还包括:
63.将第一格式的所述测试数据转化至第三格式;
64.将第三格式的所述测试数据转化至第二格式,所述第三格式为通用转化格式。
65.其中所述第三格式,一般为udp格式,为所述测试数据在中间设备中存储和传输的通用格式,所述中间设备可根据测试设备的接口状况将所述测试数据转化为与其相应的所述第二格式。这样可以采用不同接口的测试装置进行测试,提升了该方法适用范围。
66.所述从所述被测设备处获取第一格式的测试数据,包括如下步骤:
67.针对不同的常用总线定义不同的数据结构体,其中所述数据结构体采用一字节对齐方式;
68.定义总线类型type,将总线类型type以及上述步骤中数据结构体再次封装。
69.所述将第二格式的所述测试数据发送至测试设备,包括如下步骤:
70.以本地回送方式,创建udp发送套接字;
71.创建udp接收套接字。
72.所述针对不同的常用总线定义不同的数据结构体,包括:
73.对于串口类总线,定义串口结构体com_stru,包含:串口通道号num,占用一个字节;数据长度,占用两个字节;存放串口数据的数组,数组元素为字符型,数组长度为max_length;
74.对于can总线,定义结构体can_stru,包含:can id值,占用四个字节;can帧数据长度,占用一个字节;can数据数组,类型为字符型,长度为8;
75.对于1553b总线,定义结构体1553b_stru,包含:子地址值,占用一个字节;1553b数据数组,数组元素为短整型,占用两个字节,数据长度为32。
76.所述定义总线类型type,将总线类型type以及上述步骤中数据结构体再次封装,
包括:
77.使用宏定义进行总线类型定义,分别为0x01表示串口类型,0x02表示can总线类型,0x03表示1553b总线;
78.串口类总线再次封装后的数据结构体com_stru_d为变量type和com_stru的组合结构体;
79.can总线再次封装后的数据结构体can_stru_d为变量type和can_stru的组合结构体;
80.1553b总线再次封装后的数据结构体1553b_stru_d为变量type和1553b_stru的组合结构体。
81.所述以本地回送方式,创建udp发送套接字,包括:
82.创建网络发送套接字,端口号设置为对方端口号0x1234,ip地址设备设置为回送地址127.0.0.0,使用socket函数创建udp发送套接字,参数为数据包形式sock_dgram,发送成功后返回句柄sendsocket;
83.根据总线类型定义所述数据结构体,其中,串口类总线定义串口总线再次封装后的数据结构体com_stru_d变量,can总线定义can总线再次封装后的数据结构体can_stru_d变量,1553b总线定义1553b总线再次封装后的数据结构体1553b_stru_d变量;
84.对变量进行总线数据赋值,获取此变量的内存首地址,计算需要发送数据的长度,使用udp标准函数sendto发送报文,参数填入要发送数据的指针以及数据的长度。
85.所述创建udp接收套接字,包括:
86.创建网络接收套接字,此时端口号设置为本地端口号0x5678,ip地址设置为inaddr_any,使用socket函数创建udp接收套接字,参数为数据包形式sock_dgram,创建成功后返回句柄recvsocket。使用bind对句柄recvsocket进行绑定操作。
87.在死循环中,使用recvfrom函数阻塞接收recvsocket的数据。接收到的数据符合s2中的总线发送结构体,其中,串口总线再次封装后的数据结构体com_stru_d,can总线再次封装后的数据结构体can_stru_d,1553b总线再次封装后的数据结构体1553b_stru_d;
88.当接收到数据时,得到数据报文的长度以及指针,解析出第一个字节即总线类型,根据总线类型使用内存拷贝函数将数据赋值到相应结构体中;
89.将对应的再次封装后的数据结构体通过队列方式提供给上层应用。
90.实施例2
91.本实施例提供的一种被测设备功能测试中间装置,如图2中所示,包括:
92.测试指令发送模块11,用于将测试数据获取指令发送至所述被测设备2;
93.测试数据获取模块12,用于从所述被测设备2处获取第一格式的测试数据,所述测试数据中携带有被测设备2的与所述测试数据获取指令相应的功能信息;
94.测试数据第一转化模块13,用于将所述测试数据由第一格式转化为第二格式;
95.测试数据发送模块14,用于将第二格式的所述测试数据发送至测试设备3,使得所述测试设备3可根据第二格式的所述测试数据,获取所述被测设备2的相应功能信息。
96.该装置还包括:
97.测试数据第二转化模块,用于在所述测试数据由所述第一格式被转化至所述第二格式后,至其被发送至所述测试设备3前,将第一格式的所述测试数据转化至第三格式;将
第三格式的所述测试数据转化至第二格式,所述第三格式为通用转化格式。
98.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。