Debugging and developing system and method for accelerator control system separated from hardware device
By configuring the hardware environment of the virtual accelerator system on the server, advanced application software debugging of accelerator control system that is separated from the hardware device is realized, solving the problem that debuggers need to frequently go to the device in traditional debugging methods, significantly improving work efficiency.
Patent Information
- Application Number
- CN202211394264.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-08
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2042-11-08
AI Technical Summary
The debugging of advanced application software of existing accelerator control systems requires debugging personnel to repeatedly hold the computer to the device for debugging, resulting in inconvenient and inefficient debugging.
Using a debugging and development system that is separated from hardware devices, it uses an enterprise-level virtual machine ESXI operating system to install the server, configure the hardware environment of the virtual accelerator system, and develop advanced application software on the host to realize communication and hardware function debugging between the advanced application software and the virtual accelerator system.
It realizes debugging of all subsystem advanced application software in the office, significantly improves work efficiency, reduces debugging difficulty, and solves the problem that debuggers need to frequently go to the device in traditional debugging methods.
Smart Images

Figure CN115840385B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of accelerators and application software development, and in particular relates to a debugging and development system and method for an accelerator control system separated from hardware equipment. Background Art
[0002] The accelerator control system is mainly responsible for monitoring, diagnosing, analyzing and automatically controlling various parameters of the accelerator. The control system of the accelerator is composed of different subsystems: magnetic field related systems include: cryogenic system, superconducting coil system, lifting system, main magnet system, trim-rod system, phase stability controller; vacuum related systems include: vacuum system, pneumatic system; high frequency related systems include: transmitter, low level; beam related systems include: ion source system, high frequency cavity, vertical deflection plate, phase selector, extraction system; support debugging system: power supply system, water cooling system, beam measurement system and external related systems, etc. In short, the accelerator control system is a large system composed of dozens of subsystems.
[0003] The accelerator control system is divided into four layers from bottom to top: the bottom layer is the hardware device, above the hardware device is the hardware device controller of a third-party manufacturer, above the hardware device controller is the middleware program written by the user, and above the middleware program is the advanced application software. Among them, the hardware device controller of the third-party manufacturer and the middleware program are both deployed in the corresponding boards of their respective hardware devices.
[0004] The debugging of the accelerator control system is divided into debugging of the upper computer advanced application software and debugging of the lower computer software. The debugged party of the upper computer advanced application software is the middleware program in the board, and the debugged party of the lower computer software is the hardware device controller of the third-party manufacturer in the board.
[0005] The difficulty of debugging the advanced application software of the accelerator control system by the traditional method is that the middleware program as the debugged party is arranged in the board of the device. Since the board is connected to the hardware device and the hardware device is large and inconvenient to move, when debugging the advanced application software for each subsystem, the debugger must carry the computer to the side of the device for debugging. If it is a complex large system with dozens of subsystems, it is conceivable that the debugger must carry the computer to the side of the device for debugging again and again. This limits the developers to repeatedly debug the advanced application software on site, making the debugging process very inconvenient. Summary of the invention
[0006] The present invention aims at solving the problems existing in the prior art and proposes a debugging and developing system and method for an accelerator control system separated from hardware equipment, aiming to solve the problem that the debugging personnel must repeatedly carry the computer to the equipment to debug the advanced application software, making the debugging process very inconvenient.
[0007] In order to solve the technical problems, the present invention proposes the following technical solutions:
[0008] An advanced application software debugging and development system for an accelerator control system that is independent of hardware equipment, characterized in that: the system includes a host and advanced application software running on the host, and a server and a hardware environment of a virtual accelerator system running on the server; the hardware environment of the virtual accelerator system is a hardware environment of a virtual accelerator system based on an enterprise-level virtual machine ESXI operating system;
[0009] The advanced application software includes communication modules of different subsystems of the accelerator and hardware function modules of different subsystems of the accelerator; the hardware environment of the virtual accelerator system includes operating systems of different subsystems of the accelerator and middleware programs of different subsystems; the middleware programs of different subsystems include communication modules of different subsystems of the accelerator and hardware function modules of different subsystems of the accelerator;
[0010] The advanced application software debugs the communication functions between the advanced application software and the middleware program through the communication modules of the different subsystems of the accelerators of both parties, and the advanced application software debugs the corresponding hardware functions between the advanced application software and the middleware program through the hardware function modules of the different subsystems of the accelerators of both parties; the two parties refer to the advanced application software running on the host and the hardware environment of the virtual accelerator system running on the server.
[0011] A method for debugging and developing advanced application software for an accelerator control system, characterized in that it comprises the following steps:
[0012] Step 1: Install the enterprise-level virtual machine ESXI operating system on the remote server;
[0013] Step 2: Configure the accelerator virtual hardware development environment on ESXI and select appropriate message middleware. The virtual hardware development environment refers to the hardware development environment including the operating system configured for different subsystems of the accelerator.
[0014] Step 3: write a specific middleware program according to the different subsystem hardware of the specific accelerator and the selected message middleware, wherein the middleware program is used to realize the orderly operation of the different subsystem hardware and the data communication with the advanced application software;
[0015] Step 4: running the written middleware program in the configured virtual hardware development environment, and simulating the underlying hardware environment of the accelerator control system through the middleware program and the virtual hardware development environment;
[0016] Step 5: Develop matching advanced application software on the host based on the selected message middleware and the written middleware program;
[0017] Step 6: Use the advanced application software and the middleware program for joint debugging.
[0018] Furthermore, the configuration of the accelerator virtual hardware development environment in step 2 refers to configuring the hardware development environment including the operating system required for simultaneously configuring multiple accelerator subsystems on one ESXI.
[0019] Furthermore, the hardware development environment including the operating system required for configuring multiple accelerator subsystems on one ESXI simultaneously includes but is not limited to:
[0020] Install the LINUX-based hardware development environment, run the middleware program EPICS IOC on it, and simultaneously develop the EPICS OPI operator interface software on the host;
[0021] Install the hardware development environment based on the VxWorks system, run the middleware program of the vertical deflection plate on it, simulate the underlying hardware environment required for the vertical deflection plate, and simultaneously develop the advanced application software of the vertical deflection plate on the host;
[0022] Install a Windows-based hardware development environment, run the beam diagnostic middleware program on it, simulate the underlying hardware environment required by the beam diagnostic system, and simultaneously develop the advanced application software of the beam diagnostic system on the host;
[0023] Install a hardware development environment based on the VxWorks system, run the middleware program of the low-level control system on it, simulate the underlying hardware environment of the low-level control system, and simultaneously develop the advanced application software of the low-level control system on the host.
[0024] Furthermore, the step 2 of selecting appropriate message middleware refers to selecting different message middleware according to different accelerator control subsystems; the message middleware is used to implement communication and data exchange between the middleware program and the advanced application software.
[0025] Furthermore, the selecting different message middleware according to different accelerator control subsystems means that each accelerator control subsystem uses different hardware, so the communication mode is also different and the selected message middleware is also different. The selected message middleware includes but is not limited to: Modbus message middleware for beam diagnosis system; SCPI message middleware for low-level control system; DDS message middleware for degrader control system; CPCI message middleware for vertical deflection plate control system.
[0026] Furthermore, the step five of developing matching advanced application software on the host based on the selected message middleware and the written middleware program means that the advanced application software must match the middleware program functional instructions and use the same message middleware. Both conditions must be met for correct communication and control.
[0027] Furthermore, the step six uses the advanced application software and the middleware program for joint debugging, and the specific process is as follows:
[0028] 1) The advanced application software debugs the communication connection code between it and the middleware program to see if it passes. If not, the corresponding part of the source code of the advanced application software is modified; if the debugging passes, the middleware program returns the corresponding mark to the advanced application software interface and continues process 2);
[0029] 2) The high-level application software debugs the code corresponding to the hardware function of the middleware program to see if it passes. If not, modify the corresponding part of the source code of the high-level application software; if the debugging passes, the middleware program returns the corresponding flag to the high-level application software interface, and then continue with process 3);
[0030] 3) Debugging is completed.
[0031] Advantages and effects of the present invention
[0032] 1. The present invention utilizes the characteristic of the ESXI operating system as a bare metal operating system, and installs multiple operating systems required by dozens of subsystems of the accelerator thereon. Although multiple operating systems are installed, it only takes 3-4 seconds to remotely log in to the server to debug the advanced application software of each subsystem. The debugger no longer needs to carry the computer to the side of the equipment for debugging, and can complete the debugging of the advanced application software of all subsystems while sitting in the office. The work efficiency is improved by dozens of times, resulting in a leap from quantitative change to qualitative change.
[0033] 2. The present invention solves the technical problem that those skilled in the art have been eager to solve but have never been able to solve. Those skilled in the art have been eager to solve the technical problem of convenient debugging. The method of the present invention solves the technical problem of convenient debugging and has substantial characteristics and significant progress.
[0034] 3. The present invention adopts the prejudice of "moving the hardware environment to the server" that people have abandoned due to technical prejudice, and overcomes this prejudice, thereby solving technical problems, and has substantial characteristics and significant progress. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 It is a schematic diagram of the advanced application software debugging system of the prior art accelerator control system;
[0036] Figure 2 This is a schematic diagram of the advanced application software debugging system for the accelerator control system of the present invention;
[0037] Figure 3 It is a schematic diagram of the present invention using advanced application software and middleware program to perform two-way joint debugging;
[0038] Figure 4 The present invention is a flow chart of two-way joint debugging using advanced application software and middleware program. DETAILED DESCRIPTION
[0039] Design principle of the present invention
[0040] 1. Innovation: A certain element of the known product of the present invention refers to the real hardware environment based on the hardware board, and the replacement by other known elements refers to the replacement by the virtual hardware environment based on the ESXI operating system. The reason why the element replacement can produce unexpected effects is that, first, ESXI is a bare metal operating system also called a virtual machine. The bare metal operating system is the operating system that can be directly installed and used without installing Windows first and then installing the ESXI operating system on the Windows operating system. This is a major feature of the ESXI operating system; second, ESXI itself is an operating system, and multiple other operating systems can be installed on this operating system; third, the difference between the ESXI operating system and the traditional virtual machine is that the traditional virtual machine must first install Windows, and then install the traditional virtual machine on the Windows operating system, which makes the virtual machine very stuck after installation. Although other operating systems are also allowed to be installed on the traditional virtual machine, it is conceivable that only installing one operating system is very stuck, let alone installing multiple other operating systems. Fourth, the relationship between debugging the high-level application software of the upper computer and the operating system in the board: The accelerator control system is a large system with at least more than 20 subsystems. Since each subsystem has different corresponding hardware, the hardware environment supporting these hardware, that is, the operating system on the board, is also different. The operating system on each board is used to support the middleware program on the board. When debugging the high-level application software of the host computer, the debugged object is the middleware program in the hardware board, and the middleware program depends on the operating system. Therefore, debugging the high-level application software of the host computer is inseparable from the operating system in the board. Fifth, the present invention utilizes the characteristic that the ESXI operating system is a bare metal operating system. After installing the operating system required by more than 20 subsystems of the accelerator (more than 20 subsystems have at least four or five non-repeated operating systems), it only takes 3-4 seconds to remotely log in to the server for operation. The debugging personnel do not need to carry the computer to the side of the equipment for debugging. They can complete the debugging of the high-level application software of more than 20 subsystems while sitting in the office. The work efficiency is improved by dozens of times, resulting in a leap from quantitative change to qualitative change. Therefore, the element replacement produces unexpected effects.
[0041] 2. Solution: The debugging of the accelerator control system is mainly divided into the debugging of the middleware and the debugging of the advanced application software. The debugging of the middleware program is debugged by connecting to the underlying related hardware, and the debugging of the advanced application software is debugged by connecting to the underlying controller hardware with the middleware downloaded. The present invention mainly creates a method to virtualize the underlying controller hardware environment, so that when debugging advanced application software, it is not necessary to connect to the underlying controller hardware every time, which breaks away from the difficult problem that the development of the accelerator control system must be connected to the underlying hardware controller, and facilitates the debugging and development of advanced application software. At the same time, since the environment required by the underlying controller of each accelerator subsystem is different, this method innovatively installs ESXI on the server, and configures the hardware environment including the operating system required by multiple accelerator control subsystems on it, which facilitates developers to develop multiple accelerator control subsystems on the same PC at the same time, lowering the threshold for development.
[0042] Based on the above invention principle, the present invention designs an advanced application software debugging and development system for an accelerator control system that is independent of hardware devices, and the system is characterized in that: the system includes a host and advanced application software running on the host, and a server and a hardware environment of a virtual accelerator system running on the server; the hardware environment of the virtual accelerator system is a hardware environment of a virtual accelerator system based on an enterprise-level virtual machine ESXI operating system;
[0043] The advanced application software includes communication modules of different subsystems of the accelerator and hardware function modules of different subsystems of the accelerator; the hardware environment of the virtual accelerator system includes operating systems of different subsystems of the accelerator and middleware programs of different subsystems; the middleware programs of different subsystems include communication modules of different subsystems of the accelerator and hardware function modules of different subsystems of the accelerator;
[0044] The advanced application software debugs the communication functions between the advanced application software and the middleware program through the communication modules of the different subsystems of the accelerators of both parties, and the advanced application software debugs the corresponding hardware functions between the advanced application software and the middleware program through the hardware function modules of the different subsystems of the accelerators of both parties; the two parties refer to the advanced application software running on the host and the hardware environment of the virtual accelerator system running on the server.
[0045] Additional Notes
[0046] 1. Figure 1 (Prior Art) and Figure 2(The present invention) is a comparison diagram of the prior art and the present invention. The difference is that in the lower half of each diagram, the middleware program of the prior art as the debugged party of the advanced application software is arranged in the hardware board. The middleware program of the present invention as the debugged party of the advanced application software is arranged in the ESXI operating system of the server.
[0047] 2. Figure 3 It is the debugging link involved in debugging between high-level application software and middleware. There are two links for debugging: one is the communication link and the other is the functional link.
[0048] 3. Figure 4 This is the order of debugging between high-level application software and middleware, first debugging the communication link, then debugging the functional link;
[0049] Based on the above debugging and development system, the present invention also designs a high-level application software debugging and development method for an accelerator control system, which is characterized in that it includes the following steps:
[0050] Step 1: Install the enterprise-level virtual machine ESXI operating system on the remote server;
[0051] Step 2: Configure the accelerator virtual hardware development environment on ESXI and select appropriate message middleware. The virtual hardware development environment refers to the hardware development environment including the operating system configured for different subsystems of the accelerator.
[0052] Step 3: write a specific middleware program according to the different subsystem hardware of the specific accelerator and the selected message middleware, wherein the middleware program is used to realize the orderly operation of the different subsystem hardware and the data communication with the advanced application software;
[0053] Step 4: running the written middleware program in the configured virtual hardware development environment, and simulating the underlying hardware environment of the accelerator control system through the middleware program and the virtual hardware development environment;
[0054] Step 5: Develop matching advanced application software on the host based on the selected message middleware and the written middleware program;
[0055] Step 6: Use the advanced application software and the middleware program for joint debugging.
[0056] Furthermore, the configuration of the accelerator virtual hardware development environment in step 2 refers to configuring the hardware development environment including the operating system required for simultaneously configuring multiple accelerator subsystems on one ESXI.
[0057] Furthermore, the hardware development environment including the operating system required for configuring multiple accelerator subsystems on one ESXI simultaneously includes but is not limited to:
[0058] Install the LINUX-based hardware development environment, run the middleware program EPICS IOC on it, and simultaneously develop the EPICS OPI operator interface software on the host;
[0059] Install the hardware development environment based on the VxWorks system, run the middleware program of the vertical deflection plate on it, simulate the underlying hardware environment required for the vertical deflection plate, and simultaneously develop the advanced application software of the vertical deflection plate on the host;
[0060] Install a Windows-based hardware development environment, run the beam diagnostic middleware program on it, simulate the underlying hardware environment required by the beam diagnostic system, and simultaneously develop the advanced application software of the beam diagnostic system on the host;
[0061] Install a hardware development environment based on the VxWorks system, run the middleware program of the low-level control system on it, simulate the underlying hardware environment of the low-level control system, and simultaneously develop the advanced application software of the low-level control system on the host.
[0062] Furthermore, the step 2 of selecting appropriate message middleware refers to selecting different message middleware according to different accelerator control subsystems; the message middleware is used to implement communication and data exchange between the middleware program and the advanced application software.
[0063] Furthermore, the selecting different message middleware according to different accelerator control subsystems means that each accelerator control subsystem uses different hardware, so the communication mode is also different and the selected message middleware is also different. The selected message middleware includes but is not limited to: Modbus message middleware for beam diagnosis system; SCPI message middleware for low-level control system; DDS message middleware for degrader control system; CPCI message middleware for vertical deflection plate control system.
[0064] Furthermore, the step five of developing matching advanced application software on the host based on the selected message middleware and the written middleware program means that the advanced application software must match the middleware program functional instructions and use the same message middleware. Both conditions must be met for correct communication and control.
[0065] Furthermore, the step six uses the advanced application software and the middleware program for joint debugging, and the specific process is as follows:
[0066] 1) The advanced application software debugs the communication connection code between it and the middleware program to see if it passes. If not, the corresponding part of the source code of the advanced application software is modified; if the debugging passes, the middleware program returns the corresponding mark to the advanced application software interface and continues process 2);
[0067] 2) The high-level application software debugs the code corresponding to the hardware function of the middleware program to see if it passes. If not, modify the corresponding part of the source code of the high-level application software; if the debugging passes, the middleware program returns the corresponding flag to the high-level application software interface, and then continue with process 3);
[0068] 3) Debugging is completed.
[0069] It should be emphasized that the above specific embodiments are merely explanations of the present invention, and they are not limitations of the present invention. After reading this specification, those skilled in the art can make modifications to the above embodiments without any creative contribution as needed, but as long as they are within the scope of the claims of the present invention, they are protected by patent law.
Claims
1. An advanced application software debugging and development system for an accelerator control system that is independent of hardware equipment. Features: The system includes a host and advanced application software running on the host, and a server and a hardware environment of a virtual accelerator system running on the server; the hardware environment of the virtual accelerator system is a hardware environment of a virtual accelerator system based on an enterprise-level virtual machine ESXI operating system; The advanced application software includes communication modules of different subsystems of the accelerator and hardware function modules of different subsystems of the accelerator; the hardware environment of the virtual accelerator system includes operating systems of different subsystems of the accelerator and middleware programs of different subsystems; the middleware programs of different subsystems include communication modules of different subsystems of the accelerator and hardware function modules of different subsystems of the accelerator; The advanced application software debugs the communication functions between the advanced application software and the middleware program through the communication modules of the different subsystems of the accelerators of both parties, and the advanced application software debugs the corresponding hardware functions between the advanced application software and the middleware program through the hardware function modules of the different subsystems of the accelerators of both parties; the two parties refer to the advanced application software running on the host and the hardware environment of the virtual accelerator system running on the server.
2. A method for debugging and developing advanced application software for an accelerator control system that is independent of hardware devices based on the advanced application software debugging and development system for an accelerator control system that is independent of hardware devices according to claim 1, It is characterized in that The following steps are involved: Step 1: Install the enterprise-level virtual machine ESXI operating system on the remote server; Step 2: Configure the accelerator virtual hardware development environment on ESXI and select appropriate message middleware. The virtual hardware development environment refers to the hardware development environment including the operating system configured for different subsystems of the accelerator. Step 3: write a specific middleware program according to the different subsystem hardware of the specific accelerator and the selected message middleware, wherein the middleware program is used to realize the orderly operation of the different subsystem hardware and the data communication with the advanced application software; Step 4: running the written middleware program in the configured virtual hardware development environment, and simulating the underlying hardware environment of the accelerator control system through the middleware program and the virtual hardware development environment; Step 5: Develop matching advanced application software on the host based on the selected message middleware and the written middleware program; Step 6: Use the advanced application software and the middleware program for joint debugging.
3. According to claim 2, a method for debugging and developing advanced application software for an accelerator control system that is independent of hardware devices, Features: The configuration of the accelerator virtual hardware development environment in step 2 refers to configuring the hardware development environment including the operating system required for multiple accelerator subsystems on one ESXI at the same time.
4. According to claim 3, a method for debugging and developing advanced application software for an accelerator control system independent of hardware devices, Features: The hardware development environment including the operating system required for configuring multiple accelerator subsystems on one ESXI includes but is not limited to: Install the LINUX-based hardware development environment, run the middleware program EPICSIOC on it, and simultaneously develop the EPICS OPI operator interface software on the host; Install the hardware development environment based on the VxWorks system, run the middleware program of the vertical deflection plate on it, simulate the underlying hardware environment required for the vertical deflection plate, and simultaneously develop the advanced application software of the vertical deflection plate on the host; Install a Windows-based hardware development environment, run the beam diagnostic middleware program on it, simulate the underlying hardware environment required by the beam diagnostic system, and simultaneously develop the advanced application software of the beam diagnostic system on the host; Install a hardware development environment based on the VxWorks system, run the middleware program of the low-level control system on it, simulate the underlying hardware environment of the low-level control system, and simultaneously develop the advanced application software of the low-level control system on the host.
5. According to claim 2, a method for debugging and developing advanced application software for an accelerator control system that is independent of hardware equipment, Features: The step 2 of selecting appropriate message middleware refers to selecting different message middleware according to different accelerator control subsystems; the message middleware is used to realize communication and data exchange between the middleware program and the advanced application software.
6. According to claim 5, a method for debugging and developing advanced application software for an accelerator control system that is independent of hardware devices, Features: The selecting different message middleware according to different accelerator control subsystems means that each accelerator control subsystem uses different hardware, so the communication mode is also different and the selected message middleware is also different. The selected message middleware includes but is not limited to: Modbus message middleware for beam diagnosis system; SCPI message middleware for low-level control system; DDS message middleware for degrader control system; CPCI message middleware for vertical deflection plate control system.
7. According to claim 2, a method for debugging and developing advanced application software for an accelerator control system that is independent of hardware devices, It is characterized in that The step five of developing matching advanced application software on the host based on the selected message middleware and the written middleware program means that the advanced application software must match the middleware program functional instructions and use the same message middleware. Both conditions must be met for correct communication and control.
8. According to claim 2, a method for debugging and developing advanced application software for an accelerator control system that is independent of hardware equipment, It is characterized in that The step 6 uses the advanced application software and the middleware program to perform joint debugging, and the specific process is as follows: 1) The advanced application software debugs the communication connection code between it and the middleware program to see if it passes. If not, modify the corresponding part of the source code of the advanced application software; If the debugging is successful, the middleware program returns the corresponding flag to the advanced application software interface and continues process 2); 2) The high-level application software debugs the code corresponding to the hardware function of the middleware program to see if it passes. If not, modify the corresponding part of the source code of the high-level application software; If the debugging is successful, the middleware program returns the corresponding flag to the advanced application software interface, and then continues with process 3); 3) Debugging is completed.
Citation Information
Patent Citations
Operation feedback control experimental system of embedded electric melting magnesium furnace
CN107942728A
Virtual machine for embedded systemic software development
CN1490724A