CN112181483A - Plasma control system software development platform and method - Google Patents

Plasma control system software development platform and method Download PDF

Info

Publication number
CN112181483A
CN112181483A CN202011057518.0A CN202011057518A CN112181483A CN 112181483 A CN112181483 A CN 112181483A CN 202011057518 A CN202011057518 A CN 202011057518A CN 112181483 A CN112181483 A CN 112181483A
Authority
CN
China
Prior art keywords
algorithm
control system
control
plasma
plasma control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011057518.0A
Other languages
Chinese (zh)
Other versions
CN112181483B (en
Inventor
袁旗平
严玲玲
张睿瑞
肖炳甲
朱建秋
郭和茹
郑盈盈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Institutes of Physical Science of CAS
Original Assignee
Hefei Institutes of Physical Science of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei Institutes of Physical Science of CAS filed Critical Hefei Institutes of Physical Science of CAS
Priority to CN202011057518.0A priority Critical patent/CN112181483B/en
Publication of CN112181483A publication Critical patent/CN112181483A/en
Application granted granted Critical
Publication of CN112181483B publication Critical patent/CN112181483B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

The invention provides a plasma control system software development platform and a method thereof. The plasma control system software development platform comprises: visualizing a universal development environment; an algorithm template development component; and a version management component that manages versions of the plasma control system software, the algorithm template development component comprising: an algorithm wizard module that visually provides an algorithm creation wizard for the plasma control system; a control operation module that visually creates or modifies properties of customized controls used in the plasma control system; the algorithm file generation module is used for automatically generating or updating an algorithm code according to the attribute of the customized control and by combining a predefined algorithm logic part template in the algorithm initial file and storing the algorithm code into an algorithm template file; and an algorithm integration module that automatically modifies the associated files in the plasma control system software, thereby integrating the algorithm template files into the plasma control system software.

Description

Plasma control system software development platform and method
Technical Field
The invention relates to a plasma control system software development platform and an implementation method thereof.
Background
The Chinese nuclear Fusion Engineering Testing Reactor (CFETR) is an important subject for verifying the key scientific and technical problems of Fusion reactors, and is currently in the design stage. The CFETR is a very complex project and comprises a plurality of functional components and subsystems, wherein a plasma control system is a core subsystem of a fusion reactor and ensures the steady-state operation of the physics experiment. The plasma control system mainly comprises two parts of contents, wherein the first part is a real-time control framework which mainly provides functions of a related hardware equipment calling interface, a general function module, data communication management and the like; the second is a control function, which mainly consists of a plurality of control algorithms of different control objects, and mainly comprises magnetic control, density control, dynamic control, error field control, event detection, exception handling, support functions and the like. And as the physical experiment is continuously changed and upgraded, the physical performance requirement is also continuously improved, the control function is continuously improved, and a new algorithm is developed, so that the control algorithm provided by a physical expert can be quickly realized and is integrated into the whole framework of the plasma control system, which is particularly important for fusion engineering.
The existing plasma control system is used for engineering physical experiments from 2005, and after years of development, the existing plasma control system has the functions of plasma current, position and shape and other magnetic control, and plasma density, thermal radiation control and plasma internal section control, and a GPU parallel balance inversion program P-EFIT developed in two years has been successfully applied to plasma position and shape control.
Disclosure of Invention
Although the existing plasma control system is mature and stable in control function, the following defects exist in the development and improvement process of the existing plasma control system:
(1) the editing, compiling, running and debugging of the whole project of the plasma control system are all edited by text editing software in a Linux environment, the system operation is also all carried out through a Linux command line, the program codes of the system are completely separated from the final control interface, and the visual experience is poor;
(2) all version updates of the system are manually saved and backed up, and the cooperativity between developers is poor;
(3) the new algorithm development and code updating have a lot of repeated code editing, the algorithm is integrated into a software framework of the plasma control system, a plurality of framework files need to be manually and repeatedly updated or modified, the workload is large, the efficiency is low, and the method is particularly difficult for personnel who are not familiar with the algorithm development process and the software framework of the plasma control system.
The invention aims to overcome the defects of the current situation and provide a plasma control system software development platform which has convenient and fast visual editing, compiling, debugging and running environment, supports automatic and fast version management, and realizes the integration of the functions of the generation of a visual control interface, the control of a logic template, a system customization control and the automatic generation of algorithm codes of algorithm development and an implementation method thereof.
In order to achieve the above object, the present invention is a plasma control system software development platform, capable of visually creating or modifying an algorithm file in plasma control system software, comprising: visualizing a universal development environment; an algorithm template development component which visually generates or modifies an algorithm template in the visual general development environment and integrates the algorithm template into the plasma control system software; and a version management component for managing the version of the plasma control system software, the algorithm template development component comprising: an algorithm wizard module which visually provides an algorithm creation wizard of the plasma control system, acquires and checks initial options input by a user, and creates an algorithm initial file comprising a predefined algorithm logic part template; the control operation module is used for visually creating or modifying the plasma control system customized control used in the plasma control system and realizing the attribute editing of the plasma control system customized control; an algorithm file generating module, which automatically generates or updates an algorithm code and stores the algorithm code as an algorithm template file according to the attribute of the customized control of the plasma control system created or modified by the control operating module and by combining the predefined algorithm logic part template in the algorithm initial file; and an algorithm integration module for automatically modifying the related files in the plasma control system software according to the setting of the interface, thereby integrating the algorithm template file generated or updated by the algorithm file generation module into the plasma control system software.
In the plasma control system software development platform, the control operation module is provided with a multi-tab editor which comprises a text editing tab and a control visual editing tab, the text editing tab and the control visual editing tab can be edited synchronously in two directions, and a structured description language is used as an intermediate language to connect the text editing tab and the control visual editing tab for bidirectional editing and automatic synchronization.
The structured description language may be XML. The visual general development environment may be Eclipse.
The plasma control system customized control comprises a control palette, a tree control, a form, a multi-line text box edit box, a chart edit box, an algorithm control, a matrix control, a waveform control, a vector control, a parameter control, a subset control and a PID control.
The operation of the control operation module on the plasma control system customized control comprises dragging, releasing, editing, adding, copying, pasting, deleting and attribute editing.
In addition, the present invention is a method for developing plasma control system software, which can visually create or modify an algorithm file in the plasma control system software, and is characterized by comprising: building a visual general development environment; an algorithm template development step, wherein an algorithm template is visually generated or modified under the visual general development environment and is integrated into the plasma control system software; and a version management step of managing the version of the plasma control system software, wherein the algorithm template development step includes: an algorithm guide step, visually providing an algorithm creating guide of the plasma control system, acquiring and checking initial options input by a user, and creating an algorithm initial file comprising a predefined algorithm logic part template; a control operation step, wherein a plasma control system customized control used in a plasma control system is visually created or modified, and the attribute editing of the plasma control system customized control is realized; an algorithm file generating step, namely automatically generating or updating an algorithm code according to the attribute of the customized control of the plasma control system created or modified in the control operating step and by combining the predefined algorithm logic part template in the algorithm initial file, and storing the algorithm code into an algorithm template file; and an algorithm integration step of automatically modifying the relevant files in the plasma control system software according to the setting of the interface, thereby integrating the algorithm template file generated or updated in the algorithm file generation step into the plasma control system software.
In the method for developing the software of the plasma control system, in the step of operating the controls, the controls are customized by using a multi-tab editor, the multi-tab editor comprises a text editing tab and a control visual editing tab, the text editing tab and the control visual editing tab can be edited in a bidirectional and synchronous manner, and a structured description language is used as an intermediate language to connect the bidirectional editing and automatic synchronization of the text editing tab and the control visual editing tab.
The structured description language may be XML. The visual general development environment may be Eclipse.
The plasma control system customized control comprises a control palette, a tree control, a form, a multi-line text box edit box, a chart edit box, an algorithm control, a matrix control, a waveform control, a vector control, a parameter control, a subset control and a PID control.
In the control operation step, the operations for customizing the control for the plasma control system comprise dragging, releasing, editing, adding, copying, pasting, deleting and attribute editing.
Effects of the invention
According to the invention, a plasma control system software development platform integrating multiple functions of visual control interface generation, control logic template, system customization control and algorithm code automatic generation of algorithm development and an implementation method thereof can be provided, wherein the plasma control system software development platform has a convenient and fast visual editing, compiling and debugging running environment, supports automatic and convenient version management, and realizes algorithm development.
Drawings
Fig. 1 is a block diagram of a plasma control system software development platform according to the present invention.
Fig. 2 is a schematic diagram of an MVC design pattern.
Fig. 3A is an example of a text editing tab page 109, and fig. 3B is an example of a visual editing tab page 110.
Fig. 4 shows an example of the visual editing performed in the control visual editing tab 110.
Fig. 5 is a flowchart of software development of the plasma control system according to the present embodiment.
Detailed Description
Embodiments and examples of the present invention are described in detail below with reference to the accompanying drawings, wherein like reference numerals refer to like elements or functional blocks.
Fig. 1 is a block diagram of a plasma control system software development platform according to the present invention.
The plasma control system software development platform comprises: a visualization generic development environment 100, an algorithm template development component 101, plasma system software 102, and a version management component 103.
The visualized universal development environment 100 is an application program that generally provides computer development, and generally includes a code editor, a compiler, a debugger, a graphical user interface, and a service suite that integrates functions of code writing, compiling, debugging, running, and the like into one software development. The service suite is many, and the implementation mode adopts the JAVA-based Eclipse software with strong expansibility as a basic framework, and expands and customizes a plasma control system development menu and tools on the basis. In the embodiment, the plasma system software 102 is developed by adopting the C language, so that a CDT plug-in is integrated on the basis to support a C/C + + environment, and a visual general development environment of the plasma control system is realized.
The visual generic development environment 100 functions include:
(1) the functions of managing the whole project comprise importing, exporting, creating, opening, saving, deleting, editing, compiling, debugging, running and the like;
(2) the functions of managing the system algorithm programs comprise ' new ', opening ', ' editing ', ' saving ', ' deleting ', and the like;
(3) the functions of managing the working files required by the visual environment include "new", "open", "edit", "save", "delete", and the like.
The version management module 103 manages the version of the plasma control system software 102, and in this embodiment, a version management tool GIT is integrated in Eclipse, a cloud warehouse is connected through command construction, and meanwhile, multi-user collaborative development is realized through configuration setting.
The specific functions of the version management module 103 include:
(1) visually constructing a command backup file;
(2) "clone", "commit", "branch", "merge", "patch" of a support version;
(3) support for version "history", "version rollback";
(4) and multi-end sharing and team cooperation are supported.
The algorithm template development component 101 visually generates or modifies algorithm templates in a visual generic development environment and integrates them into the plasma control system software 102. The plasma control system algorithm is mainly composed of two parts, wherein the first part is a parameter definition corresponding to a control interface, and the second part is a service logic part which needs to be realized by the algorithm. According to the parameter requirements of the algorithm control interface, the plasma control system self-defined control library is designed, developers can directly drag controls, and the first part of the algorithm can be automatically generated by editing the parameter attributes. Moreover, the invention predefines a master document template of the algorithm logic part, comprising basic functions and modules.
The algorithm template development component 101 includes: an algorithm guide module 104, a control operation module 105, an algorithm file generation module 106 and an algorithm integration module 107.
The algorithm wizard module 104 visually provides, among other things, an algorithm creation wizard for the plasma control system, retrieves and checks the initial options entered by the user, and creates an algorithm initial file that includes a predefined algorithm logic portion template.
The control operation module 105 visually edits or modifies the plasma control system customized control used in the plasma control system, and implements property editing of the plasma control system customized control.
The control manipulation module 105 has a multi-tab editor 108 that includes a text editing tab 109 and a control visualization editing tab 110, the text editing tab 109 and the control visualization editing tab 110 enabling bi-directional synchronous editing. In order to implement the bidirectional editing and automatic synchronization of the text editing tab page 109 and the control visual editing tab page 110, it is more feasible to select a structured description language as an intermediate language to connect visual parts to implement the bidirectional editing and automatic synchronization. The XML language is selected as the intermediate file syntax for the development of the plug-in visualization after evaluation, but the invention is not limited thereto.
The algorithm file generating module 106 automatically generates or updates algorithm codes according to the attributes of the customized controls of the plasma control system created or modified by the control operating module, and combines with a predefined algorithm logic part template in the algorithm initial file, and stores the algorithm codes into an algorithm template file.
The algorithm integration module 107 automatically modifies the relevant files in the plasma control system software according to the settings of the interface, thereby integrating the algorithm template file generated or updated by the algorithm file generation module into the plasma control system software 102.
The following is a detailed description of the embodiments.
In the present embodiment, the algorithm template development component 101 is implemented in the form of a plug-in as Eclipse.
A plug-in user interface is constructed on a program frame design Model by adopting an MVC design mode, namely three functional elements of a reasonable design division Model/View/controller (Model/View/Control), a subscription/notification protocol separation View and a Model are established, when Model data changes, the Model notifies the View, and the View is automatically updated to display the latest Model data. Through reasonable design, the objects are decoupled and separated, so that the change of one object can naturally and synchronously affect other related objects, and meanwhile, the implementation details of the affected object do not need to be known. Fig. 2 is a schematic diagram of an MVC design pattern.
The data model part adopts XML syntax format to describe the record, and takes the small data scale, the convenient use and the reliability into consideration, and adopts org.w3c.dom package as an XML data analysis processing library. org.w3c.dom treats XML data as a tree, and dom (document Object model) is a description of a data structure of the tree, allowing programs to dynamically access and update the contents and structure of documents.
UI view section inherits the org, eclipse, UI, part, multipage editor part type to implement a custom multi-tabbed panel editor 108. The multi-tab page editor 108 creates two editor tabs, a text editing tab page 109 and a control visualization editing tab page 110, the first text editing tab page 109 for displaying the textual content of the XML grammar structure and the control visualization editing tab page 110 for visualizing the edited portion. Both tab pages are different ways of presentation and editing provided for the same DOM data. Fig. 3A is an example of a text editing tab page 109, and fig. 3B is an example of a visual editing tab page 110.
The text editing tab page 109 inherits and customizes the syntax parsing, highlighting, double-click selection logic of XML from the org. The text editor configuration is mainly set through a setSourceViewerconfiguration method of a TextEditor and a document data source is set through a setDocumentProvider method on codes.
As shown in fig. 3B, the control visualization editing tab 110 is roughly divided into two main areas, the left side uses a tree control to display and edit the hierarchical relationship between the data units of the plasma control system algorithm, and the right side provides the display and editing of the detailed attribute data of specific data units in the form control.
Specifically, in the implementation code, the tree part provides view display by using org.
The form part provides view support by using the org.eclipse.jface.viewers.TableViewer, provides data model support by matching the org.eclipse.jface.viewers.ISstructured conditional extend provider and the org.eclipse.jface.viewers.ITable LabelProvider, and provides user response support by using the org.eclipse.jface.viewers.EditingSupport as a controller. Wherein the EditingSupport provides support for several data types, i.e. pool, int, float, string, enum.
The modification between the two tab pages is synchronous, namely, any modification can immediately affect the other, and the modified document is marked by using the valid dirty bit state until the document is saved. When the document is saved, the C language algorithm file of the plasma control system is generated by using the current latest DOM data according to a preset rule.
In order to better adapt to the change of the algorithm data items of the plasma control system, the change of program codes is reduced. Xml document is introduced in the plug-in for defining which data items exist in the plasma control system algorithm, which data attributes exist in each data item and the label name, description, type and default initial value of the data attributes. If the properties of the subsequent data items are increased or changed, the plug-in modification is limited to the modification of the document, and the code part is kept unchanged or changed little.
Fig. 4 shows an example of the visual editing performed in the control visual editing tab 110. In the visual editing tab 110, the plasma control system customization controls include control palettes, tree controls, forms, multi-line text box edit boxes, chart edit boxes, algorithm controls, matrix controls, waveform controls, vector controls, parameter controls, subset controls, PID controls, and the like. The operation of the control operation module 105 on the plasma control system to customize the control includes dragging and releasing, editing, adding, copying, pasting, deleting, editing the attribute and the like. The corresponding code can be generated by what you see is what you get is the way of dragging the component, and can be edited in reverse, that is, by editing the code in the text editing tab page 109, it can also be reflected in the visual editing tab page 110 in real time. The control is displayed in a control panel through icons and word descriptions, a user drags the control to a design area to generate corresponding codes in real time, the user can set the properties of the control on a property panel, the property setting panel is divided into different types of settable and default values, the types of settable and default values are arranged according to a common sequence, and the codes are changed in real time.
Selecting and clicking the level page in FIG. 3A, the user can enter FIG. 3B of the visual design interface. By adding the operation of the algorithm, the system can automatically generate the control of the limited algorithm on the interface. For some functions required by the algorithm, a pool type is adopted for showing, if yes is selected, the function appears in the algorithm, and if no is selected, the function does not appear, for example, YIT selects yes, and the function appears in the algorithm. Some brief descriptions of subset (common child node in algorithm) and pidsbset (pid calculation node in algorithm) in fig. 3B are made. Some child nodes in the algorithm mainly contain other controls needed by common subset, namely different physical parameters in the algorithm, and the algorithm totally relates to the following needed parameters:
subset: the child nodes in the algorithm are selected from the group,
waveform: generation of GEN _ WAVEFORM type data definition control (Subset of the child node)
Vector: generating a control (Subset child node) for GEN _ VECTOR type data definition
Paramdata: generation of GEN _ PARAMDATA type data definition control (Subset of the child node)
Matrix: generating a control for GEN _ MATRIX type data definition (Subset child node)
Pidsubset: pid child node of algorithm
Pidgain: generating a GEN _ PIDGAIN type data definition control (child node of Pidsubset)
Pidoption: child node of Pidgain
According to development needs, several controls are independently designed and respectively include names, attributes, icons and operation responses, the attribute types are generally character string types except labels, the Algorithm controls are displayed in a form of a pop-up dialog box and a list, developers can select and fill, others can be in a dragging form, and all controls can perform operations such as right-key copying, deleting, adding, cutting and the like.
Specific control names, icons, and the like are shown in fig. 3B:
algorithm: algorithm control
Subset: algorithm subset control
Waveform: waveform control
Vector: vector item control
Paramdata: data block control
Matrix: matrix control
Pidsubset: algorithmic pid subset control
Pidgain: pid parameter control
pid parameter option control
This is merely an example of the present embodiment, and the present invention is not limited thereto.
The plug-in provides an algorithm creation wizard, algorithm wizard module 104. The main function of the wizard is to create a wizard flow and user interface for the user to edit the input part of the initial data, and then to create the relevant documents, data, interface resources, etc. according to the user input.
The wizard inherits from and implements the org. The main interfaces implemented are: public void addPages () used for setting a guide flow and a user interface, and self-defining a Page inherits from org. Currently, only the algorithm file name and directory need be provided by the user. Wherein the catalog part automatically defaults to a selected catalog if the user has selected a catalog in the explorer window of Eclipse or created in the explorer part right mouse button New menu. public boilean perforfinish () and private void doFinish (String contenanternname, String fileName, iprogress monitor) throws CoreException. And after the user guide page is finished, relevant documents, data, interface resources and the like are created. The algorithm development plug-in of the plasma control system mainly generates a default algorithm XML file (the suffix of the file name is. alg).
Fig. 5 shows a flow of the operation of the present embodiment.
First, in step S1, a visualization generic development environment is built. In the present embodiment, Eclipse is adopted, and the system environment is Linux. Next, the boot Eclipse plug-in is loaded. In step S2, it is determined whether a new algorithm needs to be created. If yes is determined in step S2, the process proceeds to step S3, where the algorithm creation guide is turned on. The menu used in the algorithm creation wizard is realized by adding a plasma control system algorithm creation wizard menu item and a related dialog box in an Eclipse menu New- > other.
In step S3, creating a wizard dialog box through the plasma control system algorithm, acquiring and checking the initial options input by the user; in step S4, an algorithm initial file is created that includes a predefined algorithm logic portion template.
The plasma control system algdevwizard. java in the algorithm creation wizard inherits from org. The method is mainly used for registering in a New menu of Eclipse. The plasma control system algdevnew wizardpage. java inherits from org. Dialog boxes and associated interactive functionality are provided.
If the determination in step S2 is "no", the process proceeds to step S5, and the created algorithm template file is loaded.
Next, in step S6, a plasma control system control for use in the plasma control system is visually created or modified to enable property editing of the plasma control system control. This is done using a multi-tab page editor 108 that includes a text editing tab page 109 and a control visual editing tab page 110, the text editing tab page 109 and the control visual editing tab page 110 enabling bi-directional synchronous editing.
Plasma control system controls can be divided into common controls and custom controls. Common controls are trees, forms and the like, and main layout controls and related editing functions of the algorithm visualization development label page are provided. The user-defined control provides corresponding data editing modes for different data types, such as newly-built algorithm dialog box top point diagram editing input, multi-line input, subset, alg, waveform, paramdata, matrix, pidgain and the like.
Examples of common controls are as follows:
·PCSAlgDevPage.java
inherit from org. The method and the device are mainly used for setting the whole page layout and related interaction of the visual editing tag page.
·PCSAlgDevPageFormContentProvider.java
Implement org.
As a form data provider.
·PCSAlgDevPageFormEditingSupport.java
Inheriting from org, eclipse, face, viewers, edition support class. As a form editing supporter.
·PCSAlgDevPageFormLabelProvider.java
Implement org. As a form label provider.
·PCSAlgDevPageTreeContentProvider.java
Implement org. As a tree data provider.
·PCSAlgDevPageTreeLabelProvider.java
Implement org, eclipse, face, devices, ILabeL provider interface. As a tree tag provider.
Leveraging the MVC model to separate data from UI view interfaces.
Examples of custom controls are as follows:
·PCSAlgDevDialogEditorMultiLine.java
inherit from org, eclipse, face, dialogs, dialog class and realizes IPCSAlgDev DialogEditor interface. A custom multi-line text editing dialog box is implemented.
·PCSAlgDevDialogEditorVertices.java
Inherit from org, eclipse, face, dialogs, dialog class and realizes IPCSAlgDev DialogEditor interface. And realizing a user-defined top point diagram table editing dialog box. The internal schema function is implemented using pcsalgdevverities sort, inherited from org. And simultaneously realizing the interfaces of org, eclipse, swt, events, controlListener, org, eclipse, swt, events, MouseListener and org, eclipse, swt, events, MousemEvoListener in the customized PCSALGEVVERTICESCHART class and customizing the processing of the user interaction event.
The control operation mainly provides operation functions of copying, pasting, dragging, deleting and the like of the algorithm basic control. Java, by pcsalgdevpage.
As mentioned above, the contents of the algorithm file are defined and stored in an XML file format. And when the algorithm file is opened, the algorithm file is analyzed into a DOM tree form for recording. Therefore, operations of copying, pasting, dragging, deleting and the like are all operations on corresponding nodes in the DOM tree objects logically.
Replication: and cloning the currently selected node.
Pasting: in order to support the copy and paste operations, the operation can be used across algorithm files, the document to which the node belongs needs to be checked during copying, extra import operation needs to be carried out during document crossing, and an import function is called.
Drag: the dnd (draw and drop) mechanism of SWT is used, which is a simple and fast function that Eclipse provides for data transfer on different components. The source and target of the drag are described by dragSource and DropTarget, respectively.
Delete: and deleting the currently selected node.
The multi-page editor is implemented by pcsalgeeditor. java, which inherits from the org. After the multi-label page editing unit is called by an Eclipse platform framework, an XML text label page and a visual label page are respectively created. The bi-directional synchronization of the multi-page editor updates the content from another tab page based on the tab page dirty flag according to the switching snoop function of the tab page.
Next, in step S7, algorithm codes are automatically generated or updated according to the attributes of the plasma control system control created or modified in the above steps, and combined with the predefined algorithm logic part template in the algorithm initial file, and saved as an algorithm template file.
In the automatic code generation, an algorithm file is saved and a < algid >. h file with GEN _ XXX macro as the main content is generated according to user editing. The documents referred to therein are as follows.
·alg_dev_defines.xml
The file defines the attribute values of the basic control of the plasma control system algorithm in detail and the hierarchical relationship between the attribute values and the basic control.
·PCSAlgMasterDefines.java
The file is mainly used for loading alg _ dev _ definitions.
And providing interfaces of related content query and node template creation and the like.
·PCSAlgCoderGenerator.java
The file is mainly used for code generation. Combining the algorithm file content saved by the user with alg _ dev _ definitions.
And when the algorithm file is stored, the plug-in generates an alg.h file according to the latest algorithm file content and updates the master.h file. The documents referred to therein are as follows.
·PCSAlgEditor.java
The foregoing has been described.
·PCSAlgCoderGenerator.java
And analyzing the file with the same algorithm to generate the content of the alg.h file.
The content generation of the alg.h file traverses the nodes in the algorithm file strictly in order while matching the definitions in the algorithm pre-defined file (alg _ dev _ definitions.xml).
When part of the predefined attribute items are missing from the algorithm file, they will be filled in using the default values in the predefined file.
H-file content update is located and replaced in a text retrieval manner according to the definition in the algorithm predefined file (alg _ dev _ definitions. Partial annotations (e.g., filename, time), etc. are located for retrieval using regular expressions. The relevant functions of init, phasebegin, clean, etc. are added or deleted by means of a macro-compiler switch. This approach facilitates modification of the text while preserving the user's historical editing content.
Next, in step S8, the relevant files in the plasma control system software are automatically modified according to the settings of the interface, thereby integrating the algorithm template file generated or updated in step S7 into the plasma control system software.
Specifically, updating the categories.h file according to the latest catid and algid of the algorithm file. Java, as described previously. Updating the categories.h files mainly adopts a text retrieval mode to locate the positions needing to be updated and then update. In order to avoid the situation that file retrieval is possible to be detected wrongly, various symbols used in macro definition are strictly matched according to information before and after the position.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications, decorations, combinations of replacement steps, etc. may be made without departing from the principle and the basis of the present invention, and these modifications, decorations, combinations of replacement steps, etc. should also be within the scope of the present invention.
As will be appreciated by one skilled in the art, the present invention may be provided as a method, system, or computer program product. The present invention can be realized entirely in hardware, entirely in software, or in a combination of software and hardware. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
The present invention is described in terms of flowchart illustrations and/or block diagrams of methods, systems, or computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Industrial applicability
The invention provides a convenient multifunctional integrated plasma control system software development platform, which utilizes an Eclipse basic framework to carry out secondary development, increases the visualization function of flow design, and has the functions of efficient and automatic version management, custom plasma control system algorithm control, pre-defined algorithm logic file template, interface automatic integration framework, drag programming and the like. Therefore, even a worker who is not familiar with the algorithm development process and the software framework of the plasma control system and is simply in physics can quickly master the development and the use of the software of the plasma control system.

Claims (10)

1. A plasma control system software development platform capable of visually creating or modifying an algorithm file in plasma control system software, comprising:
visualizing a universal development environment;
an algorithm template development component that visually generates or modifies an algorithm template and integrates it into the plasma control system software in the visual generic development environment; and
a version management component that manages a version of the plasma control system software,
the algorithm template development component comprises:
an algorithm wizard module which visually provides an algorithm creation wizard of the plasma control system, acquires and checks initial options input by a user, and creates an algorithm initial file comprising a predefined algorithm logic part template;
the control operation module is used for visually creating or modifying a plasma control system customized control used in a plasma control system and realizing attribute editing of the plasma control system customized control;
the algorithm file generation module is used for automatically generating or updating algorithm codes according to the attributes of the customized controls of the plasma control system created or modified by the control operation module and by combining the predefined algorithm logic part template in the algorithm initial file, and storing the algorithm codes into an algorithm template file; and
and the algorithm integration module automatically modifies related files in the plasma control system software according to the setting of an interface, so that the algorithm template file generated or updated by the algorithm file generation module is integrated into the plasma control system software.
2. The plasma control system software development platform of claim 1, wherein:
the control operation module is provided with a multi-tab editor which comprises a text editing tab and a control visual editing tab, the text editing tab and the control visual editing tab can be edited synchronously in two directions, and a structured description language is used as an intermediate language to connect the two-way editing and automatic synchronization of the text editing tab and the control visual editing tab.
3. The plasma control system software development platform of claim 2, wherein:
the structured description language is XML and,
the visual general development environment is Eclipse.
4. The plasma control system software development platform of any one of claims 1 to 3, wherein:
the plasma control system customization controls include at least one of a control palette, a tree control, a form, a multi-line text box edit box, a chart edit box, an algorithm control, a matrix control, a waveform control, a vector control, a parameter control, a subset control, and a PID control.
5. The plasma control system software development platform of any one of claims 1 to 3, wherein:
the operation of the control operation module on the plasma control system customized control comprises at least one of dragging and releasing, editing, adding, copying, pasting, deleting and attribute editing.
6. A method for developing plasma control system software, capable of visually creating or modifying an algorithm file in the plasma control system software, comprising:
building a visual general development environment;
an algorithm template development step, wherein an algorithm template is visually generated or modified in the visual general development environment and is integrated into the plasma control system software; and
a version management step of managing a version of the plasma control system software,
the algorithm template development step comprises the following steps:
an algorithm guide step, visually providing an algorithm creating guide of the plasma control system, acquiring and checking initial options input by a user, and creating an algorithm initial file comprising a predefined algorithm logic part template;
a control operation step, wherein a plasma control system customized control used in a plasma control system is visually created or modified, and the attribute editing of the plasma control system customized control is realized;
an algorithm file generating step, namely automatically generating or updating an algorithm code according to the attribute of the customized control of the plasma control system created or modified in the control operating step and by combining the predefined algorithm logic part template in the algorithm initial file, and storing the algorithm code into an algorithm template file; and
and an algorithm integration step of automatically modifying a related file in the plasma control system software according to the setting of an interface, thereby integrating the algorithm template file generated or updated in the algorithm file generation step into the plasma control system software.
7. The plasma control system software development method of claim 6, wherein:
in the control operation step, a multi-tab editor is used for operating the plasma control system customized control, the multi-tab editor comprises a text editing tab and a control visual editing tab, the text editing tab and the control visual editing tab can be edited in a bidirectional and synchronous manner, and a structured description language is used as an intermediate language to connect the bidirectional editing and automatic synchronization of the text editing tab and the control visual editing tab.
8. The plasma control system software development method of claim 7, wherein:
the structured description language is XML and,
the visual general development environment is Eclipse.
9. The plasma control system software development method of any one of claims 6 to 8, wherein:
the plasma control system customization controls include at least one of a control palette, a tree control, a form, a multi-line text box edit box, a chart edit box, an algorithm control, a matrix control, a waveform control, a vector control, a parameter control, a subset control, and a PID control.
10. The plasma control system software development method of any one of claims 6 to 8, wherein:
in the control operation step, the operation of customizing the control for the plasma control system comprises at least one of dragging and releasing, editing, adding, copying, pasting, deleting and attribute editing.
CN202011057518.0A 2020-09-30 2020-09-30 Plasma control system software development platform and method Active CN112181483B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011057518.0A CN112181483B (en) 2020-09-30 2020-09-30 Plasma control system software development platform and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011057518.0A CN112181483B (en) 2020-09-30 2020-09-30 Plasma control system software development platform and method

Publications (2)

Publication Number Publication Date
CN112181483A true CN112181483A (en) 2021-01-05
CN112181483B CN112181483B (en) 2023-12-26

Family

ID=73946680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011057518.0A Active CN112181483B (en) 2020-09-30 2020-09-30 Plasma control system software development platform and method

Country Status (1)

Country Link
CN (1) CN112181483B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860247A (en) * 2021-02-09 2021-05-28 恒安嘉新(北京)科技股份公司 Custom generation method, device, equipment and medium for model component

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722372A (en) * 2012-05-25 2012-10-10 上海学智科技有限公司 Method and system for automatically generating codes through classification and configuration
CN102799430A (en) * 2012-07-02 2012-11-28 电子科技大学 Mobile internet business-oriented off-line visual business development generator
CN104793961A (en) * 2015-05-10 2015-07-22 黄伟 Quick JavaWeb development method and system using native Web codes
CN109062567A (en) * 2018-07-09 2018-12-21 南京君度科技有限公司 Information management system quick development platform based on B/S structure
CN109669688A (en) * 2018-09-26 2019-04-23 深圳壹账通智能科技有限公司 Based on visual software development methodology, device, terminal device and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722372A (en) * 2012-05-25 2012-10-10 上海学智科技有限公司 Method and system for automatically generating codes through classification and configuration
CN102799430A (en) * 2012-07-02 2012-11-28 电子科技大学 Mobile internet business-oriented off-line visual business development generator
CN104793961A (en) * 2015-05-10 2015-07-22 黄伟 Quick JavaWeb development method and system using native Web codes
CN109062567A (en) * 2018-07-09 2018-12-21 南京君度科技有限公司 Information management system quick development platform based on B/S structure
CN109669688A (en) * 2018-09-26 2019-04-23 深圳壹账通智能科技有限公司 Based on visual software development methodology, device, terminal device and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860247A (en) * 2021-02-09 2021-05-28 恒安嘉新(北京)科技股份公司 Custom generation method, device, equipment and medium for model component
CN112860247B (en) * 2021-02-09 2023-11-28 恒安嘉新(北京)科技股份公司 Custom generation method, device, equipment and medium of model component

Also Published As

Publication number Publication date
CN112181483B (en) 2023-12-26

Similar Documents

Publication Publication Date Title
US10997246B2 (en) Managing and automatically linking data objects
US20080263101A1 (en) Data Processing Device and Data Processing Method
US20100153149A1 (en) Software for model-based configuration constraint generation
US20090132906A1 (en) Document processing device and document processing method
US20070083853A1 (en) System and method for declarative validation rule editor
US7805452B2 (en) Data processing device and data processing method
KR101326985B1 (en) Method and apparatus for developing, distributing and executing object-wise dynamic compileless programs
Snell et al. Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2
US7802181B2 (en) Document processing device and document processing method
US20080320412A1 (en) Document Processing Device and Document Processing Method
US20090235156A1 (en) Document processing device and document processing method
CN112181483B (en) Plasma control system software development platform and method
Liberty et al. Programming ASP. NET: Building Web Applications and Services with ASP. NET 2.0
EP1821220A1 (en) Data processing device, document processing device, and document processing method
CN116107555A (en) GUI model driven low-code platform based on energy industry and use method
US20200257507A1 (en) Integration of workflow and logical data objects using visual programming
JP2007011507A (en) Display method of program tree and program generation system
US20100115395A1 (en) Data processing apparatus
Zweihoff Cinco products for the web
Yan et al. Custom application of PCS software development platform on EAST
US20080147957A1 (en) Archiver Device, Data Acquisition Device, and Data Acquisition Method
US20090077369A1 (en) Data Processing Device And Data Processing Method
CN108228161B (en) System and method for extending structured command line
Savolainen et al. Spine deliverable 2.1 software design document
Gjesdal A Modular Integrated Development Environment for Coloured Petri Net Models

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant