Missile integrated test software implementation method based on object-oriented technology

By using object-oriented technology and multi-threaded design, the missile integrated testing software solves the problems of existing software being highly targeted and lacking scalability, realizing an efficient and easy-to-maintain missile testing system, and improving work efficiency and user experience.

CN116257214BActive Publication Date: 2025-11-11HUBEI AEROSPACE VEHICLE RES INST
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211658703.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-22
Publication Date
2025-11-11
Estimated Expiration
2042-12-22

AI Technical Summary

Technical Problem

Existing missile integrated testing software is highly targeted but lacks scalability and has a low code reuse rate, making it difficult to meet the testing needs of different missile models and affecting work efficiency.

Method used

The missile integrated test software was developed using object-oriented technology. This involved creating a main window class, a data receiving class, a data sending class, a functional test class, a software upgrade class, and a waveform chart drawing class. Inter-class communication was achieved using the signal slot mechanism, and data processing was performed using multi-threading technology.

Benefits of technology

It achieves high software modularity, high reusability, and easy expansion, improving the efficiency of missile testing and user experience, and avoiding interface freezes and data processing delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116257214B_ABST
    Figure CN116257214B_ABST
Patent Text Reader

Abstract

This invention relates to a method for implementing missile integrated testing software using object-oriented technology. Developed on a C++-based QT platform, it utilizes C++'s object-oriented technology and QT's unique signal-slot mechanism for missile integrated testing software development. This invention, specifically for missile integrated testing software, mainly defines classes such as a main window class, a data receiving encapsulation class, a data sending encapsulation class, a software upgrade encapsulation class, a functional test encapsulation class, and a chart drawing encapsulation class. The signal-slot mechanism is used to achieve data communication between different classes. The code is highly modular, reusable, and easily extensible. Furthermore, this invention utilizes multithreading technology to place data receiving and parsing, data sending, and main window display refresh in different threads, ensuring both the real-time refresh speed of the interface and the speed and efficiency of data parsing. A developed waveform refresh and chart scaling technology is used to dynamically adjust the display range of waveform charts.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of missile integrated testing technology, specifically relating to a missile integrated testing software implementation method using object-oriented technology. Background Technology

[0002] Missile testing constitutes a significant portion of the workload during missile development, production, and deployment. Its purpose is to verify the functionality and key technical performance of the entire missile system or its subsystems. It can also guide adjustments to relevant performance parameters, pinpoint faulty components, and ensure the missile is in good operational condition during missile development.

[0003] Missile testing requires integrated missile testing software. The testing requirements vary significantly depending on the missile model, resulting in highly specialized but limited scalability and low code reusability in the development of integrated testing software. Therefore, developing user-friendly, reliable, easy-to-maintain, and highly scalable integrated missile testing software can play a crucial role in the missile research and production process, effectively improving work efficiency. Summary of the Invention

[0004] This invention provides a method for implementing missile integrated testing software based on object-oriented technology. The complex logic and functionality of the missile integrated testing software are developed by creating multiple classes. The software developed using the object-oriented method has a clear structure, highly modular code, is easy to understand, highly readable, and has high code reusability and extensibility.

[0005] To achieve the above objectives, the specific technical solution adopted by the present invention is as follows: a method for implementing missile integrated testing software based on object-oriented technology, characterized in that:

[0006] Create a main window class, and create functional subclasses within the constructor of the main window class. These subclasses include a data receiving class, a data sending class, a functional testing class, a software upgrade class, and a waveform chart drawing class.

[0007] Define signal functions and slot functions in each of the created classes, and establish corresponding connections between the main window class and its subclasses, as well as between the subclasses and their signal functions and slot functions.

[0008] Create a main window thread for displaying and refreshing the main window class;

[0009] Create a sub-thread for receiving and parsing data, which is used by the data receiving class to receive and parse network interface data;

[0010] A data sending sub-thread is created for the data sending class to issue control commands from the host computer.

[0011] Furthermore, establishing corresponding connections between the main window class and its subclasses, as well as between the subclasses themselves, includes:

[0012] Define functions for obtaining missile cycle data slots, command byte data packet signals, and command sending slots within the main window class;

[0013] Define a missile periodic data signal function in the data receiving class. After receiving missile data in a loop, parse it, package the parsed missile data, and send the missile periodic data signal function to the main window class. After receiving the signal, the main window class responds with a function to get the missile periodic data slot.

[0014] Define a function in the data sending class to retrieve instruction data packet slots, which is used to respond to control instructions or software upgrade data packets sent by the main window class;

[0015] Define a test instruction data packet signal function in the functional test class, and connect it to the instruction sending slot function of the main window class. The main window class forwards the test instruction data packet signal function to the data sending class, and the data sending class responds with the instruction data packet slot function. The main window class continuously receives missile data sent by the data receiving class, and guides the next step of the functional test class based on the missile data.

[0016] Define a software upgrade data signal function in the software upgrade class. The data sending class receives the upgrade command sent by the main window class. The software upgrade class sends the software upgrade data signal function to the data sending class. The data sending class responds with the command data packet slot function.

[0017] Furthermore, the waveform chart drawing class is used to update the front panel controls of the main window class. The front panel controls include a missile status value display control, a status indicator LED, and a single-machine data waveform chart display control.

[0018] Furthermore, a zoom button click slot function is created in the front panel control, and an XY axis range zoom slot function is defined in the waveform chart drawing class. The zoom button click slot function sends a chart zoom signal to the waveform chart drawing class, and the waveform chart drawing class responds to the XY axis range zoom slot function to realize the dynamic adjustment of the display range of the waveform chart.

[0019] Furthermore, the private members of the data receiving class include a UDP network interface, a data parsing and file saving interface, and a text stream interface; the class member functions include a network interface raw data receiving function, a raw byte data parsing function, a periodic data parsing function, an aperiodic data parsing function, and a parsed data saving function.

[0020] Furthermore, the private members of the data sending class include a UDP network interface, an instruction save file interface, a text stream interface, and a data array for sending bytes; the class member functions of the data sending encapsulation class include a data initialization function for sending bytes, a function for generating instruction byte data, a function for generating software upgrade and information binding data packets, and a function for sending network interface data.

[0021] Furthermore, the data sending class completes the issuance of host computer control commands, as well as the sending of software upgrade and information binding data packets in the data sending sub-thread, and stores the sent data content to a file.

[0022] Furthermore, the private members of the software upgrade class include a byte array of length 1024, the number of bytes in the binary file, the number of successful upgrade frames, and the maximum frame count. The class member functions include an initialization function, a function to get the maximum frame count of the binary file, a function to open the binary file, a function to extract a frame from the header, a function to generate a binary file by binding information, and a function to generate a binary file by simulating flight.

[0023] Furthermore, the private members of the functional test class include a pop-up number, a functional test type, a test result file saving interface, and a test standard data array. The class member functions include a function to set the test type, a function to judge the test result, and a function to write the test result to a file.

[0024] Furthermore, the private members of the chart drawing class include the number of data points in the waveform chart, and the class member functions include a function to create a waveform chart, a function to add data to a curve, and a function to refresh the chart.

[0025] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0026] This invention utilizes the QT platform based on C++, leveraging C++'s object-oriented technology and QT's unique signal-slot mechanism to develop missile integrated testing software. In object-oriented programming, the determination and division of classes are crucial, directly impacting the quality of the software system. This invention, specifically for missile integrated testing software, defines classes such as a main window class, a data receiving encapsulation class, a data sending encapsulation class, a software upgrade encapsulation class, a functional testing encapsulation class, and a chart drawing encapsulation class. The signal-slot mechanism is used to achieve data communication between different classes; the code is highly modular, reusable, and easily extensible.

[0027] Meanwhile, this invention utilizes multi-threading technology to place data reception and parsing, data transmission and main window display refresh in different threads, which does not affect the real-time refresh speed of the interface, and also ensures the speed and efficiency of data parsing; the developed waveform refresh chart scaling technology is used to dynamically adjust the display range of waveform charts. Attached Figure Description

[0028] Figure 1 This is a structural diagram of the missile integrated testing software of the present invention. Detailed Implementation

[0029] To clearly illustrate the technical solution of the present invention, the present invention will be described in detail below through specific embodiments and in conjunction with the accompanying drawings.

[0030] This invention provides a method for implementing missile integrated testing software based on object-oriented technology, comprising:

[0031] Create a main window class, and create functional subclasses within the constructor of the main window class. These subclasses include a data receiving class, a data sending class, a functional testing class, a software upgrade class, and a waveform chart drawing class.

[0032] Define signal functions and slot functions in each of the created classes, and establish corresponding connections between the main window class and its subclasses, as well as between the subclasses and their signal functions and slot functions.

[0033] Create a main window thread for displaying and refreshing the main window class;

[0034] Create a sub-thread for receiving and parsing data, which is used by the data receiving class to receive and parse network interface data;

[0035] A data sending sub-thread is created for the data sending class to issue control commands from the host computer.

[0036] The main window class contains objects of data receiving encapsulation classes, data sending encapsulation classes, software upgrade encapsulation classes, functional testing encapsulation classes, chart drawing encapsulation classes, and indicator light and button style changing encapsulation classes, which are used to complete the functions of their respective classes.

[0037] Define functions for obtaining missile cycle data slots, command byte data packet signals, and command sending slots within the main window class;

[0038] The front panel controls of the main window include the main missile status value display controls, status indicator LEDs, and important single-machine data waveform chart display controls. The waveform chart drawing class is used to update the front panel controls of the main window class. A zoom button click function is created in the front panel controls, and an XY axis range zoom function is defined in the waveform chart drawing class. The zoom button click function sends a chart zoom signal to the waveform chart drawing class, which responds to the XY axis range zoom function. Dynamic chart zooming is achieved by changing the number of display points on the horizontal axis and the range of the vertical axis.

[0039] This is a waveform chart drawing class used to dynamically draw waveform charts, complete the drawing and dynamic data refresh of waveform charts for servo angles, add-in data, and gyroscope data in the main window; it also enables the scaling function of waveform charts.

[0040] Define a waveform chart class. The main private members of this class include the number of data points in the waveform chart, and the class member functions include functions for creating waveform charts, adding data to curves, and refreshing charts.

[0041] The data receiving class is used to receive and parse network data in the data receiving and parsing sub-thread, and send signals to the main thread to refresh the interface controls and display waveform charts.

[0042] The specific implementation method is as follows: Define a data receiving class and encapsulate it. The main private members of this class include UDP network interface, data classification and parsing file saving interface, text stream interface, etc. The main class member functions include network interface raw data receiving function, raw byte data parsing function, periodic data parsing function, non-periodic data parsing function, parsing data saving function, etc.

[0043] In the main program, an object of the data receiving class is created and placed in a sub-thread for data receiving and parsing. This sub-thread handles the parsing and storage of periodic and non-periodic data from the lower-level machine. A missile periodic data signal function is defined within the data receiving class. After receiving missile data cyclically via the network port, the function parses the data, packages the parsed data into a structure, and sends the missile periodic data signal to the main window class. Upon receiving the signal, the main window class responds with a function to retrieve the missile periodic data slot. This function updates window control values, status lights, and refreshes waveform charts. The window's display controls are dynamically refreshed based on the received data. Here, the waveform chart class plays a crucial role, primarily handling tasks such as adding chart data, dynamically refreshing the chart display, and scaling the display area.

[0044] The data sending class is used to send control commands from the host computer, as well as software upgrades and data packet bindings, in the data sending sub-thread.

[0045] The specific implementation method is as follows: Define a data sending class and encapsulate it. The main private members of this class include the UDP network interface, the instruction save file interface, the text stream interface, the array of sent byte data, etc. The main class member functions include the sent byte data initialization function, the instruction byte data generation function, the software upgrade and information binding data packet generation function, the network interface data sending function, etc.

[0046] In the main program, create an object of the data sending class and place it in the created data sending sub-thread. In the data sending sub-thread, implement the sending of host computer control commands, software upgrades, and information binding data packets, and store the sent data content to a file.

[0047] Define a function in the data sending class to retrieve command data packet slots, used to respond to control commands or software upgrade data packets sent from the main window. Create click slot functions for the function buttons on the main window's front panel to send command signals to the data sending class. Different types of commands are categorized and packaged by creating command data packet structures. The data receiving class receives the command data structure and then decomposes it to obtain the corresponding command. The process for responding to software upgrade commands is similar, the difference being the size of the data packet.

[0048] The functional test class is used to complete functional tests such as integration testing, simulated flight testing, and polarity checks. It acquires servo angle data, gyroscope data, and gauge data to determine whether the test items pass or fail.

[0049] The specific implementation method is as follows: Define a functional test class. The main private members of this class include the pop-up number, functional test type, test result file saving interface, test standard data array, etc. The class member functions include the test type setting function, the test result judgment function, and the test result writing file function, etc.

[0050] In the functional test class, a test instruction data packet signal function is defined and connected to the instruction sending slot function of the main window class. The main window class forwards the test instruction data packet signal function to the data sending class. The data sending class responds with the instruction data packet slot function, thus sending the test step instructions to the data sending thread. Simultaneously, the main window class continuously receives missile data from the data receiving class, and determines whether the functional test class should continue sending the next test step, pause sending, or stop the test altogether by judging certain specific conditions. This establishes a closed-loop process involving the main window class, functional test class, data receiving class, and data sending class, used to complete each missile functional test.

[0051] Software upgrade category, used to realize functions such as flight control software upgrade, simulated flight software upgrade, simulated flight data binding, and missile information binding.

[0052] The specific implementation method is as follows: Define a software upgrade class. The main private members of this class include a 1024-byte array, the number of bytes in the binary file, the successful upgrade frame count, and the maximum frame count. The main class member functions include an initialization function, a function to get the maximum frame count of the binary file, a function to open the binary file, a function to extract a frame (1024 bytes) from the header, a function to generate a binary file for information binding, and a function to generate a binary file for flight simulation.

[0053] A software upgrade data signal function is defined in the software upgrade class. When the corresponding upgrade button is clicked in the main window, the data sending class receives the upgrade command sent by the main window class, preparing for the upgrade process and establishing a connection. At this time, the software upgrade class completes tasks such as reading the upgrade binary file and determining the upgrade frame count. Then, the software upgrade class sends the software upgrade data signal function to the data sending class. The data sending class responds with the function to obtain the command data packet slot, sends the upgrade data packet to the data sending thread, and determines whether the upgrade process is normal based on the data received by the main window and the missile upgrade status data sent by the sub-thread. Based on the feedback status, it chooses to continue sending the next frame, resend the current frame, or stop the upgrade.

[0054] Within the constructor, a style modification class is also created. By setting different styles for indicator lights and buttons (including text display, font color, size, background color, etc.), the interface (LED) display effects in different states are achieved, as well as the display differences between pressing and releasing different types of buttons.

[0055] This invention develops missile integrated testing software by creating multiple classes. The structure of the missile integrated testing software is as follows: Figure 1 As shown in the figure, this software is reliable, easy to maintain, and highly scalable, effectively improving work efficiency. This invention achieves coordinated operation of multiple software functions by creating multi-threaded interfaces, enhancing both software efficiency and user experience, and preventing issues such as main window freezing, inability to refresh charts, and failure to respond to user actions. The main thread consists of a main window thread, data receiving and parsing sub-threads, and data sending sub-threads. Data communication between the main thread and sub-threads, and between sub-threads themselves, is achieved through signals and slots.

Claims

1. A method for implementing missile integrated testing software based on object-oriented technology, characterized in that: Create a main window class, and create subclasses within the constructor of the main window class. The subclasses include a data receiving class, a data sending class, a functional testing class, a software upgrade class, and a waveform chart drawing class. Define signal functions and slot functions in each of the created classes, and establish corresponding connections between the main window class and its subclasses, as well as between the subclasses and their signal functions and slot functions. Create a main window thread for displaying and refreshing the main window class; Create a sub-thread for receiving and parsing data, which is used by the data receiving class to receive and parse network interface data; Create a data sending sub-thread for the data sending class to send control commands from the host computer. The step of simultaneously establishing corresponding connections between the main window class and its subclasses, as well as between the signal functions and slot functions of the subclasses, includes: Define functions for obtaining missile cycle data slots, command byte data packet signals, and command sending slots within the main window class; Define a missile periodic data signal function in the data receiving class. After receiving missile data in a loop, parse it, package the parsed missile data, and send the missile periodic data signal function to the main window class. After receiving the signal, the main window class responds with a function to get the missile periodic data slot. Define a function in the data sending class to retrieve instruction data packet slots, which is used to respond to control instructions or software upgrade data packets sent by the main window class; Define a test instruction data packet signal function in the functional test class, and connect it to the instruction sending slot function of the main window class. The main window class forwards the test instruction data packet signal function to the data sending class, and the data sending class responds with the instruction data packet slot function. The main window class continuously receives missile data sent by the data receiving class, and guides the next step of the functional test class based on the missile data. Define a software upgrade data signal function in the software upgrade class. The data sending class receives the upgrade command sent by the main window class. The software upgrade class sends the software upgrade data signal function to the data sending class. The data sending class responds with the command data packet slot function.

2. The missile integrated testing software implementation method based on object-oriented technology according to claim 1, characterized in that, The waveform chart drawing class is used to update the front panel controls of the main window class. The front panel controls include a missile status value display control, a status indicator LED, and a single-machine data waveform chart display control.

3. The missile integrated testing software implementation method based on object-oriented technology according to claim 2, characterized in that, Create a zoom button click slot function in the front panel control, and define an XY axis range zoom slot function in the waveform chart drawing class. The zoom button click slot function sends a chart zoom signal to the waveform chart drawing class, and the waveform chart drawing class responds to the XY axis range zoom slot function.

4. The missile integrated testing software implementation method based on object-oriented technology according to claim 1, characterized in that, The private members of the data receiving class include a UDP network interface, a data parsing and file saving interface, and a text stream interface; the class member functions include a network interface raw data receiving function, a raw byte data parsing function, a periodic data parsing function, an aperiodic data parsing function, and a parsed data saving function.

5. The missile integrated testing software implementation method based on object-oriented technology according to claim 1, characterized in that, The private members of the data sending class include a UDP network interface, an instruction save file interface, a text stream interface, and a send byte data array; the class member functions of the data sending class include a send byte data initialization function, an instruction byte data generation function, a software upgrade and information binding data packet generation function, and a network interface data sending function.

6. The missile integrated testing software implementation method based on object-oriented technology according to claim 1, characterized in that, The data sending class completes the issuance of host computer control commands, as well as the sending of software upgrade and information binding data packets in the data sending sub-thread, and stores the sent data content to a file.

7. The missile integrated testing software implementation method based on object-oriented technology according to claim 1, characterized in that, The private members of the software upgrade class include a 1024-byte array, the number of bytes in the binary file, the number of successful upgrade frames, and the maximum frame count. The class member functions include an initialization function, a function to get the maximum frame count of the binary file, a function to open the binary file, a function to extract a frame from the header, a function to generate a binary file by binding information, and a function to generate a binary file by simulating flight.

8. The missile integrated testing software implementation method based on object-oriented technology according to claim 1, characterized in that, The private members of the functional test class include the pop-up number, functional test type, test result file saving interface, and test standard data array. The class member functions include a function to set the test type, a function to judge the test result, and a function to write the test result to the file.

9. The missile integrated testing software implementation method based on object-oriented technology according to claim 1, characterized in that, The private members of the waveform chart drawing class include the number of waveform chart data points, and the class member functions include a waveform chart creation function, a curve data addition function, and a chart refresh function.

Citation Information

Patent Citations

  • General missile testing device and method

    CN110940237A

  • Man-machine interaction interface implementation method for ground console of guide equipment

    CN111324348A