General development method and device for industrial software, electronic equipment and storage medium
By obtaining and analyzing the development requirements data of industrial software, defining data structures and algorithm lists, establishing mapping relationships, and generating general development reports, the problem that existing technology cannot adapt to the complexity of industrial software is solved, and the standardization and standardization of industrial software development is realized, and development efficiency and quality are improved.
Patent Information
- Application Number
- CN202411939673.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-18
AI Technical Summary
Existing software development methods cannot adapt to the complexity of industrial software, resulting in irregular development processes, low efficiency and unstable quality.
By obtaining and analyzing the development requirements data of industrial software, defining the data structure and algorithm list of key objects, establishing a mapping relationship between the algorithm and the data structure, and generating a general development report to standardize and standardize the software development process.
It has realized the standardization and standardization of industrial software development, improved development efficiency and quality, and ensured the efficiency and maintainability of the software.
Smart Images

Figure CN119847493A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of Internet technology, and in particular, relates to a general development method, device, electronic device and storage medium for industrial software. Background Art
[0002] At present, demand analysis, architecture design and coding occupy the core position in the software development process. This development process has clear steps and clear division of labor, and has the advantages of being easy to implement and easy to control. It is very suitable for projects with simple objects and clear requirements.
[0003] However, for projects such as industrial software, which have complex objects and problems, long development cycles, step-by-step implementation, vague requirements and large changes, the current software development process is no longer applicable and cannot meet the common needs of industrial software development.
[0004] The main characteristics of industrial software are the complexity of industrial objects and problems, and the current software development methods are not suitable for the industrial field. Summary of the invention
[0005] The embodiments of the present application provide a general development method, device, equipment and storage medium for industrial software, which can solve the problem that the current software development method cannot be adapted to the industrial field.
[0006] In a first aspect, an embodiment of the present application provides a general development method for industrial software, the method comprising:
[0007] Obtain development demand data for industrial software, including functional demand data, performance indicator data, and user scenario data;
[0008] Analyze development requirement data, obtain object data of key objects and define data structure based on object data;
[0009] Defining algorithms according to object data of key objects to form an algorithm list;
[0010] Establish the mapping relationship between the algorithms in the algorithm list and the data structure;
[0011] Generate general development reports based on data structures, algorithm lists, and mapping relationships to develop industrial software.
[0012] In a second aspect, an embodiment of the present application provides a general development device for industrial software, the general development device for industrial software comprising:
[0013] The acquisition module is used to obtain the development demand data of industrial software, which includes functional demand data, performance indicator data and user scenario data;
[0014] An analysis module is used to analyze development requirement data, obtain object data of key objects and define data structure according to the object data;
[0015] A definition module, used for defining algorithms according to object data of key objects to form an algorithm list;
[0016] Establishing a module for establishing a mapping relationship between algorithms in the algorithm list and data structures;
[0017] A generation module is used to generate a general development report based on data structures, algorithm lists and mapping relationships to develop industrial software.
[0018] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the method in the first aspect or any possible implementation of the first aspect.
[0019] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the method in the first aspect or any possible implementation of the first aspect is implemented.
[0020] In the embodiments of the present application, by obtaining and analyzing development requirement data, it is ensured that the goals of software development are clear and development deviations caused by unclear requirements are avoided. By defining the data structure of key objects, it is ensured that the data structure can effectively organize and store data, providing a basis for algorithm implementation. By defining an algorithm list, it is ensured that the algorithm can efficiently process the data of key objects and realize the functional requirements of the software. By establishing a mapping relationship between the algorithm and the data structure, the collaborative work of the algorithm and the data structure is ensured, and the efficiency and maintainability of the software are improved. By generating a general development report, the software development process is standardized and standardized, the development efficiency and quality are improved, and the standardization and standardization of industrial software development are realized, thereby improving the quality and development efficiency of industrial software. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0022] Figure 1 It is a flowchart of a general development method of industrial software provided in an embodiment of the present application;
[0023] Figure 2 It is a schematic diagram of a software development process provided by an embodiment of the present application;
[0024] Figure 3 is a schematic diagram of a tree-like hierarchical structure provided in an embodiment of the present application;
[0025] Figure 4 It is a schematic diagram of the derivation of a parent element and a child vector provided in an embodiment of the present application;
[0026] Figure 5 It is a schematic diagram of a multi-level vector derivation paradigm provided in an embodiment of the present application;
[0027] Figure 6 It is a structural schematic diagram of a general development device for industrial software provided in an embodiment of the present application;
[0028] Figure 7 It is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0029] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only configured to explain the present application and are not configured to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0030] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0031] Figure 1 It is a flowchart of a general development method of industrial software provided in an embodiment of the present application.
[0032] like Figure 1 As shown, the general development method of industrial software may include steps 110 to 150, and the method is applied to a general development device of industrial software, as shown below:
[0033] Step 110, obtaining development requirement data of industrial software, where the development requirement data includes functional requirement data, performance indicator data, and user scenario data;
[0034] Industrial software refers to special software used in the industrial field, usually used to control, monitor, optimize or manage industrial equipment and processes. For example, PLC programming software, SCADA system, MES system, etc. Industrial software improves the efficiency, quality and safety of industrial production through digitalization and automation.
[0035] Development requirement data refers to the functional, performance, and scenario information required in the industrial software development process. Development requirement data is the basis of industrial software development and is used to guide software design and implementation.
[0036] Development requirements data include:
[0037] Functional requirement data: describes the specific functions that the software needs to implement, such as data collection, alarm management, report generation, etc.
[0038] Performance indicator data: describes the performance requirements of the software, such as response time, throughput, stability, etc.
[0039] User scenario data: describes the software usage scenarios and user needs, such as operation interface design, user authority management, etc.
[0040] Through communication with users, business experts and domain experts, we collect the functional requirements, performance indicators and user scenario data of industrial software. These data are the basis of software development and are used to clarify the goals and scope of the software, ensure that the goals of software development are clear, and avoid development deviations caused by unclear requirements.
[0041] Step 120, analyzing the development requirement data, obtaining object data of key objects and defining a data structure according to the object data;
[0042] Key objects refer to the core entities or concepts that need to be focused on in industrial software, such as equipment, sensors, alarms, reports, etc. Key objects are the core of software design and implementation. By analyzing key objects, data structures and algorithms can be defined.
[0043] Data structure refers to the way to organize and store data, such as arrays, linked lists, trees, graphs, etc. Data structure is the basis for algorithm implementation, and a reasonable data structure can improve the efficiency and maintainability of the algorithm.
[0044] As for the architectural design dimension of industrial software, it can be attributed to the data structure of the system. That is, with the precise definition of the data structure, it is possible to systematically and comprehensively describe various objects, complex problems and dynamic changes in the industrial system, build the basic framework of the architecture and a rigorous logical context, so as to achieve the orderly integration and presentation of the complex processes and multiple elements of the industrial system.
[0045] By analyzing the development requirements data, key objects in industrial software are identified. According to the attributes of key objects, corresponding data structures are defined. Ensure that the data structure can effectively organize and store the data of key objects, providing a basis for algorithm implementation.
[0046] Step 130, defining algorithms according to the object data of the key objects to form an algorithm list;
[0047] Algorithms refer to the steps or methods for solving specific problems, such as sorting algorithms, search algorithms, optimization algorithms, etc. Algorithms are the core of realizing software functions. By defining algorithms, we can ensure that the software can process data and complete tasks efficiently.
[0048] The algorithms can be industry-related algorithms, such as simulation algorithms for industrial process simulation, optimization algorithms for production resource allocation, and control algorithms for intelligent regulation of industrial equipment, etc., which constitute the core elements of the encoding process.
[0049] Define the corresponding algorithms according to the attributes and functional requirements of key objects, organize the defined algorithms into a list, and clarify the input, output and function of each algorithm. Ensure that the algorithm can efficiently process the data of key objects and realize the functional requirements of the software.
[0050] Step 140, establishing a mapping relationship between the algorithms in the algorithm list and the data structure;
[0051] A mapping relationship refers to the correspondence between an algorithm and a data structure. For example, an algorithm requires a specific data structure to store and operate data. By establishing a mapping relationship, it can be ensured that the algorithm can correctly operate the data structure, thereby realizing the software function.
[0052] By analyzing the relationship between algorithms and data structures, we can establish a mapping between algorithms and data structures to ensure that the algorithms can correctly operate the data structures, thereby realizing the software functions. We can ensure that the algorithms and data structures work together to improve the efficiency and maintainability of the software.
[0053] Step 150, generating a general development report based on the data structure, algorithm list and mapping relationship to develop industrial software.
[0054] The general development report refers to the development document generated based on the data structure, algorithm list and mapping relationship, which is used to guide the specific implementation of industrial software. The general development report is an important reference for software development to ensure the normalization and standardization of the development process.
[0055] The data structure, algorithm list and mapping relationship are organized into a general development report as a guide document for software development. The development team implements the software according to the general development report to ensure the normalization and standardization of the software development process and improve development efficiency and quality.
[0056] By acquiring and analyzing development requirements data, we can ensure that the goals of software development are clear and avoid development deviations caused by unclear requirements. By defining the data structure of key objects, we can ensure that the data structure can effectively organize and store data, providing a basis for algorithm implementation. By defining the algorithm list, we can ensure that the algorithm can efficiently process the data of key objects and realize the functional requirements of the software. By establishing a mapping relationship between algorithms and data structures, we can ensure that the algorithms and data structures work together to improve the efficiency and maintainability of the software. By generating general development reports, we can ensure the normalization and standardization of the software development process and improve development efficiency and quality.
[0057] By acquiring development requirement data, analyzing key objects, defining data structures and algorithms, establishing mapping relationships, and generating general development reports, the normalization and standardization of industrial software development is achieved, thereby improving the quality and development efficiency of industrial software.
[0058] Specifically, Figure 2 As shown, the embodiment of the present application can be divided into two main parts, which are described below respectively:
[0059] Part I: Object and Problem Definition:
[0060] The core task of this part is to simplify the core tasks of industrial software development requirements analysis and architecture design into three key steps: data structure definition, algorithm definition, and definition of the mapping relationship between algorithm and data structure. In this way, the complexity of industrial software development can be greatly reduced, and the foundation of standardization, maintainability and scalability can be laid for subsequent code writing.
[0061] First, data structure definition is the foundation of the entire development process. It involves an abstract description of the objects and problems that the software handles. Specifically, data structure definition includes:
[0062] Object properties: clarify what properties the objects that the software needs to process have and how these properties are represented.
[0063] Relationships between objects: Define the association relationships between objects, such as hierarchy, dependency, etc.
[0064] Selection of data model: Select the appropriate data model according to your needs, such as relational database, graph database, object-oriented model, etc.
[0065] Through clear data structure definition, developers can better understand the data that the software needs to process and provide a basis for subsequent algorithm design.
[0066] Second, algorithm definition is the core of problem solving. In this step, developers need to clarify the operations and calculation logic that the software needs to perform. Specifically, algorithm definition includes:
[0067] Decomposition of business logic: Decompose complex business logic into a series of executable steps or operations.
[0068] Algorithm input and output: Clarify the input data and output results of each algorithm.
[0069] Complexity analysis of algorithms: Evaluate the efficiency of algorithms to ensure that they can run efficiently in practical applications.
[0070] Through algorithm definition, developers can translate business requirements into specific computing logic to ensure that the software can solve the problem correctly.
[0071] Third, the mapping relationship between algorithms and data structures is defined.
[0072] This step is to combine the data structure and the algorithm to ensure that the algorithm can operate the data structure correctly. Specifically, the mapping relationship definition includes:
[0073] Interaction between data structures and algorithms: clarify how algorithms access and modify data in data structures.
[0074] Interface design: Define the interfaces between algorithms and data structures to ensure they can work together seamlessly.
[0075] Modular design: Divide algorithms and data structures into independent modules to facilitate subsequent maintenance and expansion.
[0076] By defining the mapping relationship between algorithms and data structures, developers can ensure that the various parts of the software can work together to achieve overall functionality.
[0077] Part II: Software Development:
[0078] First, coding implementation: After the object and problem are defined, developers can implement coding according to the defined data structure and algorithm. The coding implementation stage includes:
[0079] Code writing: Write specific code based on data structure and algorithm definitions.
[0080] Coding standards: Follow unified coding standards to ensure code readability and maintainability.
[0081] Unit testing: Write unit test cases to ensure that each module functions correctly.
[0082] Second, integration and testing:
[0083] After the coding is completed, the modules need to be integrated and the system tested. The integration and testing phase includes:
[0084] Module integration: combining individual modules into a complete system.
[0085] System testing: Conduct functional testing, performance testing, stress testing, etc. to ensure that the system can meet the requirements.
[0086] Defect repair: Fix defects in the system based on test results.
[0087] Between the first part and the second part, a codeless or less-code conversion is achieved through a fixed pattern. Specifically, this conversion can be achieved in the following ways:
[0088] Automation tools: Use automation tools to convert data structures and algorithm definitions into code frameworks, reducing the workload of manual coding.
[0089] Templated development: Use predefined code templates to generate code based on data structure and algorithm definitions to reduce duplication of work.
[0090] Code Generators: Develop specialized code generators that automatically generate most of the code based on the definition, leaving developers with only minor tweaks and optimizations.
[0091] Through this conversion method, developers can focus on the research of objects and problems rather than tedious code writing, which not only reduces development costs but also improves the scalability and maintainability of software.
[0092] Therefore, by decomposing the process of process software development into two parts: object and problem definition and software development, developers can focus more on solving core problems instead of getting bogged down in complex code details. The first part simplifies the process of requirements analysis and architecture design through data structure definition, algorithm definition, and mapping relationship definition; the second part follows the general software development process to ensure the implementation and maintenance of the software. The code-free or low-code conversion between the two parts further reduces the complexity of development and improves the automation of the software, thereby achieving the goal of reducing development costs, improving scalability, and ease of maintenance.
[0093] In a possible embodiment, step 140 includes:
[0094] Determine the relationship between the fields in the data structure and the algorithm input and output of the algorithm;
[0095] Define the data flow path required by each algorithm in the data structure;
[0096] Based on the association relationship and data flow path, establish the mapping relationship between the algorithms in the algorithm list and the data structure.
[0097] A field in a data structure refers to a specific data item stored in the data structure. For example, in a structure representing a device, the fields may include device ID, device name, device status, etc. Fields are the basic components of a data structure and are used to store and represent the attributes of key objects.
[0098] For industrial software, the universality, scalability and maintainability of the data structure are key considerations. Therefore, in the embodiment of the present application, the data structure of the industrial software is defined as a standard tree structure, and all objects, problems and changes of the industrial system are expanded based on the tree structure.
[0099] like Figure 3 As shown, the tree hierarchy is easy to define industrial problems, but is not suitable for more complex system descriptions. Therefore, the tree hierarchy used in the embodiment of the present application should eventually be changed into a more clearly defined multi-dimensional array with index, which is convenient for storage and addition, deletion, modification and query operations in the software system.
[0100] It is clear that the multidimensional array described for industrial systems has certain particularities, and is accurately described using the cyclic derivative paradigm of multi-level vectors. Under this paradigm, Figure 4 As shown in the figure, any element in the tree hierarchy has a dual identity, which can be regarded as an element of the parent vector and a parent element of the child vector. And this parent-child relationship can be used to define the derivative relationship of values / vectors / multi-level vectors, so it is called the cyclic derivative paradigm of multi-level vectors, such as Figure 5 shown.
[0101] This is completely different from the way traditional industrial software handles data structures. Previous data structures often find it difficult to strike a balance between the comprehensiveness and flexibility of describing complex industrial systems and the convenience of data operations.
[0102] The cyclic derivation paradigm of the multi-level vectors in the embodiments of the present application, through a unique design concept, enables the elements in the tree hierarchy to have dual role conversion capabilities, that is, any element can participate in the construction of the high-level system architecture as a parent vector element, and can also serve as a parent element of a child vector to further refine the description of the subsystem, thereby constructing a new numerical / vector / multi-level vector relationship network with cyclic derivation characteristics, providing a more accurate, efficient and highly scalable solution for the expression of complex objects, problems and changes in industrial systems.
[0103] For example, when dealing with highly integrated industrial smart factory systems, which involve many different levels of production equipment, process flows, material flows, and quality inspection links, traditional data structures are prone to problems such as information redundancy, logical confusion, or difficulty in updating data when integrating these diverse and multi-level information.
[0104] By adopting the cyclic derivation paradigm of multi-level vectors in the embodiments of the present application, information at each level can be easily organized and expressed in a concise, orderly and closely interrelated manner, so that when the industrial software processes the data of the smart factory system, whether it is data storage, query, update or complex industrial process simulation, optimization decision-making and other operations based on these data, it can be completed with higher efficiency and accuracy, greatly improving the ability of industrial software to cope with complex industrial scenarios, which is significantly better than the data structure model used in the prior art.
[0105] Algorithm input: The data or parameters required by the algorithm to execute. For example, the input to a sorting algorithm may be an array.
[0106] Algorithm output: The result data generated after the algorithm is executed. For example, the output of a sorting algorithm is an ordered array. The input and output of an algorithm define the function and how to use the algorithm.
[0107] Industrial software algorithms are standardized, as shown in Formula 1(1), and are uniformly represented in the form of method function Y = f((X)), which consists of the algorithm body (function, program, control, etc.), input and output, where X and Y are indexed input and output vectors, respectively. This standardized form makes the algorithm highly universal and interchangeable.
[0108] Y=f(X)X,Y∈D
[0109] Where: X, Y are the indexed input and output vectors,
[0110] D is the function definition domain, which has a mapping relationship with the system's multi-level vector loop derivative paradigm (1)
[0111] For example, in different industrial automation production lines, although the specific production processes and equipment are different, this standardized algorithm form effectively reduces the difficulty of algorithm integration, and various control algorithms can be easily integrated to achieve efficient operation and control of the production line.
[0112] The data flow path refers to the direction and order in which data flows during the execution of an algorithm. For example, data is read from a field, processed by an algorithm, and finally written to another field. The data flow path describes how data interacts between algorithms and data structures, ensuring that data can flow and be processed correctly.
[0113] The mapping relationship refers to the correspondence between the algorithm and the data structure, including the input fields, output fields and data flow paths required by the algorithm. The mapping relationship ensures that the algorithm can correctly operate the data structure to realize the software function.
[0114] Analyze the fields in the data structure to determine which fields are the input to the algorithm and which fields are the output of the algorithm. For example, for a device status update algorithm, the input may be the device ID and the new status, and the output may be the updated device status field. Clarify the relationship between the algorithm and the data structure to ensure that the algorithm can read and write data correctly.
[0115] Define the flow path of data in the data structure according to the function of the algorithm. For example, data is read from a field, processed by the algorithm, and finally written to another field. For example, for an alarm processing algorithm, the data flow path may be to read data from the sensor data field, pass through the alarm judgment algorithm, and finally write to the alarm record field. Ensure that data can flow and be processed according to the predetermined path to avoid data loss or errors.
[0116] Organize the relationship between the algorithm and the data structure and the data flow path into a mapping table, and clarify the input fields, output fields, and data flow path required for each algorithm. For example, the mapping table may include information such as the algorithm name, input fields, output fields, and data flow path. Ensure that the algorithm can correctly operate the data structure and realize the software function, while improving the readability and maintainability of the code.
[0117] By determining the relationship between the algorithm input and output content and the data structure fields, ensure that the algorithm can correctly read and write data. By defining the data flow path, ensure that data can flow and be processed according to the predetermined path to avoid data loss or errors.
[0118] By establishing a mapping relationship between the algorithm and the data structure, the code structure is clear and easy to maintain and expand. Through clear mapping relationships and data flow paths, the algorithm can accurately operate the data structure and realize the software function.
[0119] For example, an industrial software is used to monitor the status of equipment. The following are the specific steps:
[0120] The fields in the data structure include: device ID, device name, and device status. The input content of the device status update algorithm: device ID, new status. The output content of the device status update algorithm: updated device status field. Read the device ID from the device ID field, read the new status from the new status field, and update the device status field.
[0121] According to the association relationship and data flow path, establish the mapping relationship between the algorithms in the algorithm list and the data structure:
[0122] Mapping relationship table:
[0123] Algorithm name: Device status update algorithm.
[0124] Input fields: Device ID, New Status.
[0125] Output field: Device status.
[0126] Data flow path: device ID → new status → device status.
[0127] By determining the relationship between the fields in the data structure and the input and output content of the algorithm, defining the data flow path, and establishing a mapping relationship between the algorithm and the data structure, we can ensure that the algorithm can correctly operate the data structure and realize the software function.
[0128] In a possible embodiment, an algorithm logic model is constructed according to actual demand data of the industrial system, and the algorithm logic model includes operation rules and control processes for processing industrial data of the industrial system;
[0129] Defining a data structure associated with the algorithm logic model, wherein the data structure associated with the algorithm logic model includes real-time status data, historical record data, and control instruction data;
[0130] Through mapping relationships, the algorithm logic model is associated with the data structure;
[0131] According to the mapping relationship, the real-time operation status data of the industrial system is collected, and the real-time operation status data is processed through the algorithm logic model to generate control instructions;
[0132] The control instructions are transmitted to the industrial equipment associated with the industrial system through the industrial control interface to monitor the real-time status of the industrial system and regulate its intelligent behavior.
[0133] Industrial systems refer to equipment and systems used in industrial production processes, such as production lines, robots, sensor networks, etc. Industrial systems achieve efficient and stable industrial production through automated control and data processing.
[0134] The algorithmic logic model refers to an abstract model of the operation rules and control flow used to process industrial data. It includes the logic, decision rules and control flow of data processing. The algorithmic logic model is the core of industrial software and is used to process and analyze industrial data and generate control instructions.
[0135] Data structure refers to the way to organize and store data, such as arrays, linked lists, trees, database tables, etc. Data structure is the basis of algorithm logic model, which is used to store and manage real-time status data, historical record data and control instruction data of industrial systems.
[0136] Real-time status data refers to the real-time data generated by industrial systems during operation, such as equipment status, sensor readings, production progress, etc. Real-time status data is used to reflect the current operating status of industrial systems and provide input for algorithm logic models.
[0137] Historical record data refers to the data generated by the industrial system during its past operation, such as equipment operation logs, production records, fault records, etc. Historical record data is used to analyze and optimize the operation of industrial systems and provide reference for algorithm logic models.
[0138] Control instruction data refers to control instructions generated by the algorithm logic model, such as equipment start and stop instructions, parameter adjustment instructions, alarm processing instructions, etc. Control instruction data is used to control the operation of industrial systems and realize intelligent behavior control.
[0139] The mapping relationship refers to the corresponding relationship between the algorithm logic model and the data structure, including the input data, output data and data processing flow required by the algorithm logic model. The mapping relationship ensures that the algorithm logic model can correctly operate the data structure and realize data processing and control functions.
[0140] Industrial control interface refers to the interface used to transmit control instructions to industrial equipment. Industrial control interface is the bridge between industrial software and industrial equipment, ensuring that control instructions can be accurately transmitted and executed.
[0141] By analyzing the actual demand data of the industrial system, the operation rules and control flow of the algorithm logic model are defined. For example, for a production line control system, the algorithm logic model may include production scheduling algorithm, equipment status monitoring algorithm, fault handling algorithm, etc. Ensure that the algorithm logic model can meet the actual needs of the industrial system and achieve efficient data processing and control.
[0142] According to the requirements of the algorithm logic model, define the corresponding data structure, including real-time status data, historical record data, and control instruction data. For example, real-time status data may be stored in a real-time database, historical record data may be stored in a historical database, and control instruction data may be stored in an instruction queue. Ensure that the data structure can effectively organize and store industrial data to provide support for the algorithm logic model.
[0143] By analyzing the relationship between the algorithm logic model and the data structure, a mapping relationship is established to clarify the input data, output data, and data processing flow required by the algorithm logic model. For example, the production scheduling algorithm may need to read real-time status data and historical record data to generate control instruction data. Ensure that the algorithm logic model can correctly operate the data structure and realize data processing and control functions.
[0144] According to the mapping relationship, real-time operation status data is collected from the industrial system, and the data is processed through the algorithm logic model to generate control instructions. For example, the equipment status monitoring algorithm may determine whether the equipment is operating normally based on the real-time status data and generate equipment start and stop instructions. Ensure that the real-time operation status data of the industrial system can be processed in a timely manner and generate accurate control instructions.
[0145] The generated control instructions are transmitted to industrial equipment through the industrial control interface to achieve real-time status monitoring and intelligent behavior regulation of industrial systems. For example, the start and stop instructions of the equipment are transmitted to the PLC through the Modbus interface to control the operating status of the equipment. Ensure that the control instructions can be accurately transmitted and executed to achieve intelligent regulation of industrial systems.
[0146] By building an algorithmic logic model, we ensure that industrial software can meet the actual needs of the industrial system and achieve efficient data processing and control. By defining the data structure associated with the algorithmic logic model, we ensure that industrial data can be effectively organized and stored to provide support for the algorithmic logic model. By establishing a mapping relationship, we ensure that the algorithmic logic model can correctly operate the data structure and achieve accurate data processing and control. By collecting real-time operating status data and generating control instructions, we ensure that the real-time status of the industrial system can be monitored and regulated in a timely manner.
[0147] Transmitting control instructions through industrial control interfaces ensures that industrial equipment can accurately execute instructions and improves the operating efficiency of industrial systems.
[0148] For example, involving a production line control system, the following are the specific steps:
[0149] Constructing algorithm logic model:
[0150] The algorithm logic model includes production scheduling algorithm, equipment status monitoring algorithm, and fault handling algorithm.
[0151] The production scheduling algorithm is used to optimize the allocation of production tasks, the equipment status monitoring algorithm is used to monitor the operating status of the equipment, and the fault handling algorithm is used to handle equipment failures.
[0152] Define the data structure:
[0153] Real-time status data: equipment status, sensor readings, production progress.
[0154] Historical record data: equipment operation log, production record, fault record.
[0155] Control command data: equipment start and stop commands, parameter adjustment commands, and alarm processing commands.
[0156] Establish a mapping relationship:
[0157] Production scheduling algorithm: reads real-time status data and historical record data to generate control instruction data.
[0158] Equipment status monitoring algorithm: reads real-time status data and generates equipment start and stop instructions.
[0159] Fault handling algorithm: reads real-time status data and historical record data, and generates alarm handling instructions.
[0160] Collect real-time operating status data and generate control instructions:
[0161] Collect real-time status data from the production line, determine whether the equipment is operating normally through the equipment status monitoring algorithm, and generate equipment start and stop instructions.
[0162] Transmission control instructions:
[0163] The equipment start and stop instructions are transmitted to the PLC through the Modbus interface to control the operating status of the equipment.
[0164] By building an algorithm logic model, defining data structure, establishing mapping relationships, collecting real-time operation status data and generating control instructions, and transmitting control instructions, real-time status monitoring and intelligent behavior regulation of industrial systems can be achieved. It can meet the actual needs of industrial systems, optimize data management, improve data processing and control accuracy, achieve real-time status monitoring and intelligent regulation, and improve the operating efficiency of industrial systems.
[0165] In a possible embodiment, a data structure for industrial equipment fault diagnosis is constructed, the data structure including an equipment operation parameter vector and a fault diagnosis result vector, wherein each element in the equipment operation parameter vector and the fault diagnosis result vector is identified by an index name or an index position;
[0166] Define the input vector and output vector of the fault diagnosis algorithm. The input vector is used to receive the equipment operation parameters, and the output vector is used to generate the fault diagnosis results.
[0167] Through a mapping relationship with the same index name or the same index position, the device operation parameter vector in the data structure is numerically mapped to the input vector of the fault diagnosis algorithm;
[0168] Using the fault diagnosis algorithm to operate and analyze the input vector, generating a fault diagnosis result vector;
[0169] The data in the fault diagnosis result vector is written back to the fault diagnosis result vector in the data structure through the index mapping relationship.
[0170] Data structure refers to the way to organize and store data, such as arrays, linked lists, trees, database tables, etc. Data structure is the basis for algorithm implementation, and a reasonable data structure can improve the efficiency and maintainability of the algorithm.
[0171] The equipment operation parameter vector refers to a one-dimensional array or list used to store equipment operation parameters, and each element represents a specific operation parameter, such as temperature, pressure, speed, etc. The equipment operation parameter vector is used to store and represent the real-time operation status of the equipment and provide input data for the fault diagnosis algorithm.
[0172] The fault diagnosis result vector refers to a one-dimensional array or list used to store fault diagnosis results, and each element represents a specific diagnosis result, such as normal, warning, fault, etc. The fault diagnosis result vector is used to store and represent the results of fault diagnosis to provide a basis for subsequent processing.
[0173] Index name: Identifies an element in a data structure by name, such as "temperature", "pressure", etc. Index position: Identifies an element in a data structure by position, such as the 0th element, the 1st element, etc. Index name or index position is used to uniquely identify an element in a data structure, facilitating the reading and writing of data.
[0174] Fault diagnosis algorithms refer to algorithms used to analyze equipment operating parameters and generate fault diagnosis results, such as rule-based diagnosis algorithms, machine learning-based diagnosis algorithms, etc. Fault diagnosis algorithms are the core of the fault diagnosis system and are used to achieve automatic detection and diagnosis of equipment faults.
[0175] Input vector: The input data of the fault diagnosis algorithm, usually the equipment operating parameter vector.
[0176] Output vector: The output data of the fault diagnosis algorithm, usually the fault diagnosis result vector.
[0177] The input vector and output vector define the function and usage of the fault diagnosis algorithm.
[0178] The mapping relationship refers to the correspondence between the elements in the data structure and the input and output vectors of the fault diagnosis algorithm, such as numerical mapping by index name or index position. The mapping relationship ensures that the fault diagnosis algorithm can correctly read and write data to achieve the fault diagnosis function.
[0179] Define the equipment operation parameter vector and fault diagnosis result vector, and identify the elements in each vector by index name or index position. For example, the equipment operation parameter vector may include elements such as "temperature", "pressure", and "speed", and the fault diagnosis result vector may include elements such as "normal", "warning", and "fault". Ensure that the data structure can effectively organize and store equipment operation parameters and fault diagnosis results to provide support for fault diagnosis algorithms.
[0180] Define the input vector and output vector of the fault diagnosis algorithm. The input vector is used to receive the equipment operating parameters, and the output vector is used to generate the fault diagnosis results. For example, the input vector may include elements such as "temperature", "pressure", and "speed", and the output vector may include elements such as "normal", "warning", and "fault". Clarify the input and output of the fault diagnosis algorithm to ensure that the algorithm can read and generate data correctly.
[0181] The device operating parameter vector in the data structure is numerically mapped to the input vector of the fault diagnosis algorithm through the index name or index position. For example, the "temperature" element in the device operating parameter vector is mapped to the "temperature" element in the input vector through the index name. This ensures that the fault diagnosis algorithm can correctly read the device operating parameters and achieve accurate data transmission.
[0182] Use the fault diagnosis algorithm to calculate and analyze the equipment operating parameters in the input vector to generate a fault diagnosis result vector. For example, a rule-based diagnosis algorithm may determine whether the equipment is operating normally based on parameters such as temperature, pressure, and speed, and generate diagnostic results such as "normal", "warning", and "fault". Ensure that the fault diagnosis algorithm can accurately analyze the equipment operating parameters and generate reliable fault diagnosis results.
[0183] The data in the fault diagnosis result vector is written back to the fault diagnosis result vector in the data structure through the index name or index position. For example, the "fault" element in the fault diagnosis result vector is written back to the "fault" element in the data structure through the index name. Ensure that the fault diagnosis results can be correctly stored and represented to provide a basis for subsequent processing.
[0184] By constructing the equipment operation parameter vector and the fault diagnosis result vector, we ensure that the data structure can effectively organize and store data to provide support for the fault diagnosis algorithm. By defining the input vector and output vector of the fault diagnosis algorithm, we ensure that the algorithm can correctly read and generate data to achieve accurate fault diagnosis. Through the mapping relationship of index name or index position, we ensure that the equipment operation parameters can be accurately passed to the fault diagnosis algorithm and the diagnosis results can be correctly written back to the data structure. The fault diagnosis algorithm is used to calculate and analyze the equipment operation parameters to generate reliable fault diagnosis results and improve the efficiency of fault diagnosis. Through clear mapping relationships and data structures, we ensure the readability and maintainability of the system, which is convenient for subsequent expansion and optimization.
[0185] For example, involving an industrial equipment fault diagnosis system, the following are the specific steps:
[0186] Build the data structure:
[0187] Equipment operating parameter vector: ["temperature","pressure","speed"].
[0188] Fault diagnosis result vector: ["Normal", "Warning", "Fault"].
[0189] Define the input vector and output vector of the fault diagnosis algorithm:
[0190] Input vector: ["temperature","pressure","speed"].
[0191] Output vector: ["Normal", "Warning", "Failure"].
[0192] Establish a mapping relationship:
[0193] The "temperature" element in the device operation parameter vector is mapped to the "temperature" element in the input vector through the index name.
[0194] Generate diagnostic results using fault diagnosis algorithms:
[0195] Input vector: ["temperature"=80,"pressure"=120,"speed"=1500].
[0196] The fault diagnosis algorithm generates an output vector based on the input vector: ["Normal"].
[0197] Write back the diagnostic results:
[0198] Write the "normal" elements in the output vector back to the "normal" elements in the data structure by index name.
[0199] By building data structures, defining input and output vectors, establishing mapping relationships, using fault diagnosis algorithms to generate diagnostic results, and writing back diagnostic results, automatic detection and diagnosis of industrial equipment faults can be achieved. This can optimize data management, improve data processing accuracy, achieve data mapping and transmission, improve fault diagnosis efficiency, and enhance system maintainability.
[0200] In one possible embodiment, a data structure for controlling an industrial process is constructed, the data structure including data states and values in a multi-level vector for real-time monitoring of the industrial process, wherein the elements of each multi-level vector are identified by an index name or an index position;
[0201] Monitor the changes in the status of each data in the data structure in real time to determine whether there is an abnormal state;
[0202] When an abnormal state is detected, the control algorithm corresponding to the abnormal state is driven to run, and the relevant values in the data structure are input into the control algorithm through a mapping relationship. The control algorithm performs calculations and decisions based on the input values to generate a control instruction vector;
[0203] By mapping the index name or the index position, the control instruction vector is updated to the relevant value in the data structure to obtain an updated data structure;
[0204] Based on the updated data structure, the industrial process is controlled.
[0205] A multilevel vector is a vector structure that contains multiple levels or dimensions, with each element identified by an index name or index position. For example, a multilevel vector may include data of multiple dimensions such as device status, sensor readings, and control parameters. Multilevel vectors are used to store and represent the real-time status of industrial processes and provide input data for control algorithms.
[0206] Data status refers to the current state of each element in the data structure, such as normal, warning, fault, etc. Data status is used to reflect the real-time operating status of the industrial process and provide a basis for abnormal detection and control decisions.
[0207] An abnormal state refers to the state of an element in the data structure exceeding the preset normal range, such as too high temperature, too low pressure, etc. The abnormal state is used to trigger the operation of the control algorithm to achieve real-time control of the industrial process.
[0208] Control algorithm refers to the algorithm used to analyze industrial process data and generate control instructions, such as PID control algorithm, fuzzy control algorithm, optimization control algorithm, etc. Control algorithm is the core of industrial process control and is used to realize automatic regulation of industrial processes.
[0209] A control instruction vector refers to a set of control instructions generated by a control algorithm, and each element represents a specific control instruction, such as equipment start and stop instructions, parameter adjustment instructions, etc. The control instruction vector is used to control the operation of industrial processes and achieve real-time regulation.
[0210] The mapping relationship refers to the correspondence between the elements in the data structure and the input and output vectors of the control algorithm, such as numerical mapping by index name or index position. The mapping relationship ensures that the control algorithm can correctly read and write data to achieve control functions.
[0211] Define a multi-level vector for real-time monitoring of industrial processes, where the elements of each vector are identified by index name or index position. For example, a multi-level vector may include data of multiple dimensions such as device status, sensor readings, and control parameters. Ensure that the data structure can effectively organize and store the real-time status of the industrial process to support the control algorithm.
[0212] Monitor the state changes of each element in the data structure in real time to determine whether there is an abnormal state. For example, when the reading of the temperature sensor exceeds the preset normal range, it is judged as an abnormal state. Ensure that the abnormal state can be detected in time and trigger the operation of the control algorithm.
[0213] When an abnormal state is detected, the corresponding control algorithm is driven to run, and the relevant values in the data structure are input to the control algorithm through the mapping relationship. The control algorithm performs calculations and decisions based on the input values and generates a control instruction vector. For example, the PID control algorithm generates a temperature adjustment instruction based on the reading of the temperature sensor. Ensure that the control algorithm can accurately analyze the industrial process data and generate reliable control instructions.
[0214] Update the control instructions in the control instruction vector to the relevant values in the data structure by index name or index position. For example, update the temperature adjustment instruction to the temperature control parameter in the data structure. Ensure that the control instructions can be correctly stored and represented to provide a basis for the control of industrial processes.
[0215] The industrial process is controlled according to the updated data structure. For example, the power of the heater is adjusted according to the updated temperature control parameters. This ensures that the industrial process can be regulated in real time according to the control instructions and achieves stable operation.
[0216] By building a multi-level vector data structure, the real-time status of the industrial process can be effectively organized and stored to provide support for the control algorithm. By real-time monitoring of the changes in the status of each data in the data structure, abnormal conditions can be detected in time to trigger the operation of the control algorithm. The control algorithm analyzes and makes decisions on industrial process data, generates reliable control instructions, and ensures accurate regulation of the industrial process.
[0217] The control instruction vector is updated to the data structure through the mapping relationship to ensure that the control instruction can be correctly stored and represented, providing a basis for the control of the industrial process. Based on the updated data structure, the industrial process is controlled in real time to ensure the stable operation of the industrial process.
[0218] For example, involving a temperature control system, the following are the specific steps:
[0219] Build the data structure:
[0220] Multilevel vector: ["Temperature sensor reading","Heater power","Target temperature"].
[0221] Real-time monitoring of data status:
[0222] The temperature sensor reading is 120°C, which exceeds the preset normal range (100°C) and is judged to be an abnormal state.
[0223] Drive control algorithm operation:
[0224] The drive PID control algorithm runs, and the temperature sensor reading and target temperature are input into the control algorithm to generate a control command vector: ["reduce heater power"].
[0225] Update the data structure:
[0226] Update the "Reduce Heater Power" instruction in the control instruction vector to the "Heater Power" element in the data structure.
[0227] Controlling industrial processes:
[0228] According to the updated "heater power" element, the power of the heater is adjusted so that the temperature sensor reading gradually approaches the target temperature.
[0229] By building data structures, monitoring data status in real time, driving control algorithms, updating data structures, and controlling industrial processes, real-time monitoring and precise regulation of industrial processes can be achieved. This can optimize data management, improve anomaly detection efficiency, achieve precise control, ensure data consistency, and improve industrial process stability.
[0230] In a possible embodiment, after step 150 generates a general development report according to the data structure, the algorithm list and the mapping relationship, the method further includes:
[0231] Input object data and problem data in a preset description format into the automation tool;
[0232] Generate preliminary codes from object data and question data using automated tools;
[0233] Output preliminary code to the software development environment of industrial software for optimization.
[0234] The general development report refers to the development document generated based on the data structure, algorithm list and mapping relationship, which is used to guide the specific implementation of industrial software. The general development report is an important reference for software development to ensure the normalization and standardization of the development process.
[0235] The preset description format refers to a standardized format for describing object data and problem data, such as JSON, XML, YAML, etc. The preset description format ensures that the object data and problem data can be correctly parsed and processed by automated tools.
[0236] Object data refers to the data of core entities or concepts that need to be processed in industrial software, such as equipment, sensors, alarms, reports, etc. Object data is the basis of software development and is used to define data structures and algorithms.
[0237] Problem data refers to data about specific problems or requirements that industrial software needs to solve, such as functional requirements, performance indicators, user scenarios, etc. Problem data is used to guide software design and implementation to ensure that the software can meet actual needs.
[0238] Automation tools refer to software tools used to automatically generate code, such as code generators, template engines, low-code platforms, etc. Automation tools automatically generate preliminary coding by parsing object data and problem data to improve development efficiency.
[0239] Preliminary coding refers to the initial code generated by the automation tool based on the object data and problem data, which usually needs to be further optimized and improved. Preliminary coding is the basis of software development and provides a reference for subsequent optimization.
[0240] A software development environment refers to an integrated development environment used to write, debug, and optimize code, such as VisualStudio, Eclipse, PyCharm, etc. The software development environment provides functions such as code editing, debugging, and testing to ensure the quality and performance of the code.
[0241] Input object data and problem data into the automation tool in a preset description format (such as JSON, XML, YAML). For example, object data may include device ID, device name, device status, etc., and problem data may include functional requirements, performance indicators, user scenarios, etc. Ensure that object data and problem data can be correctly parsed and processed by the automation tool to provide a basis for code generation.
[0242] The automation tool automatically generates preliminary codes based on the input object data and problem data. For example, the automation tool may generate device management code based on device object data and function implementation code based on function requirement data. This improves development efficiency, reduces the workload of manual coding, and ensures the standardization and consistency of the code.
[0243] Output the preliminary code generated by the automation tool to the software development environment of the industrial software for further optimization and improvement. For example, developers can debug, test and optimize the preliminary code in the IDE to ensure the quality and performance of the code. Ensure that the preliminary code can meet the actual needs of the industrial software and improve the quality and maintainability of the code.
[0244] Generate preliminary codes through automated tools to reduce the workload of manual coding and improve development efficiency. Ensure that the generated code meets specifications and standards through preset description formats and automated tools, and improve the readability and maintainability of the code. Optimize and improve the preliminary codes through the software development environment to ensure the quality and performance of the codes. Ensure that the generated codes can meet the actual needs of industrial software through the input of object data and problem data. Reduce the workload of developers and reduce development costs through automated tools and preliminary coding.
[0245] For example, when it comes to industrial equipment management systems, the following are the specific steps:
[0246] Enter object data and question data:
[0247] Object data: device ID, device name, device status.
[0248] Problem data: functional requirements, performance indicators, user scenarios.
[0249] Preset description format: JSON. Input to automation tools.
[0250] Generate preliminary code: The automation tool generates code for the equipment management class, the equipment status monitoring function, and the alarm management function based on the input object data and problem data.
[0251] Output preliminary code to the software development environment: Output the generated preliminary code to Visual Studio, where developers debug, test, and optimize the code to ensure code quality and performance.
[0252] By inputting object data and problem data in a preset description format into an automation tool, generating preliminary coding, and outputting it to the software development environment for optimization, efficient development and optimization of industrial software can be achieved. This can improve development efficiency, ensure code standardization, optimize code quality, meet actual needs, and reduce development costs.
[0253] In a possible embodiment, after step 150, the method further includes:
[0254] Receive demand data for specific industrial scenarios;
[0255] Adjust the algorithm logic of the algorithm in the algorithm list according to the mapping relationship to obtain an adjusted algorithm to adapt to a specific industrial scenario;
[0256] Develop industrial software for specific industrial scenarios based on adjusted algorithms and data structures.
[0257] A specific industrial scenario refers to a specific industrial application environment or demand, such as petrochemicals, intelligent manufacturing, power systems, etc. Specific industrial scenarios are the goal of industrial software development to ensure that the software can meet specific industrial needs.
[0258] Demand data refers to the functions, performance, and user requirements that need to be met in a specific industrial scenario, such as data collection, real-time monitoring, alarm processing, etc. Demand data is the basis of industrial software development and is used to guide software design and implementation.
[0259] The mapping relationship refers to the corresponding relationship between the algorithm and the data structure, including the input data, output data and data processing flow required by the algorithm. The mapping relationship ensures that the algorithm can correctly operate the data structure and realize the software function.
[0260] Algorithm logic refers to the specific implementation steps and rules of the algorithm, such as data processing flow, decision-making rules, control flow, etc. Algorithm logic is the core of the algorithm and is used to implement the specific functions of the software.
[0261] The adjusted algorithm refers to the algorithm whose algorithm logic is adjusted and optimized according to the demand data of specific industrial scenarios. The adjusted algorithm can better adapt to the needs of specific industrial scenarios and improve the applicability and performance of the software.
[0262] Industrial software for specific industrial scenarios refers to special software developed for a specific industrial scenario, such as petrochemical monitoring systems, intelligent manufacturing control systems, power dispatching systems, etc. Industrial software for specific industrial scenarios improves the efficiency, quality and safety of industrial production by meeting specific industrial needs.
[0263] Through communication with users, business experts, and domain experts, demand data for specific industrial scenarios is collected, including functional requirements, performance indicators, and user scenarios. For example, demand data for petrochemical scenarios may include real-time monitoring, alarm processing, data analysis, etc. Ensure that the goals of software development are clear and avoid development deviations caused by unclear requirements.
[0264] According to the demand data of specific industrial scenarios, adjust the algorithm logic of the algorithms in the algorithm list to make them better adapt to the needs of specific industrial scenarios. For example, adjust the data processing flow of the real-time monitoring algorithm so that it can handle complex data in petrochemical scenarios. Ensure that the algorithm can meet the needs of specific industrial scenarios and improve the applicability and performance of the software.
[0265] According to the adjusted algorithms and data structures, industrial software development for specific industrial scenarios is carried out. For example, a petrochemical monitoring system is developed to realize functions such as real-time monitoring, alarm processing, and data analysis. Ensure that industrial software can meet the needs of specific industrial scenarios and improve the efficiency, quality, and safety of industrial production.
[0266] For specific industrial objects and problems, after completing the precise definition of their data structure, algorithm and mapping relationship, only a small amount of fixed code is needed to build systematic industrial software. Such a development process has a high degree of consistency, each module is highly reusable, easy to expand and has extremely high development efficiency. The embodiments of the present application break the dilemma of low development efficiency and unstable software quality caused by complex requirements and vague architecture of the traditional development model, and provide a new, efficient and reliable solution for the development of industrial software, which greatly promotes the advancement and innovative application of industrial software technology and provides a solid technical guarantee for the digital transformation of industry.
[0267] By receiving demand data for specific industrial scenarios, we ensure that the goals of software development are clear and meet specific industrial needs. By adjusting the algorithm logic, we ensure that the algorithm can better adapt to the needs of specific industrial scenarios and improve the applicability and performance of the software. Based on the adjusted algorithm and data structure, we can quickly develop industrial software for specific industrial scenarios and improve development efficiency. By adjusting the algorithm logic and data structure, we ensure that the industrial software can meet the needs of specific industrial scenarios and enhance the applicability of the software. By developing industrial software for specific industrial scenarios, we can improve the efficiency, quality and safety of industrial production.
[0268] For example, involving a petrochemical monitoring system, the following are the specific steps:
[0269] Receiving demand data:
[0270] Demand data: real-time monitoring, alarm processing, and data analysis.
[0271] Collect demand data for petrochemical scenarios through communication with users and domain experts.
[0272] Adjust algorithm logic:
[0273] Adjust the data processing flow of the real-time monitoring algorithm so that it can handle complex data in petrochemical scenarios.
[0274] Adjust the decision rules of the alarm processing algorithm so that it can more accurately judge the alarm condition.
[0275] Development of industrial software:
[0276] Based on the adjusted algorithms and data structures, a petrochemical monitoring system was developed to realize functions such as real-time monitoring, alarm processing, and data analysis.
[0277] By receiving demand data for specific industrial scenarios, adjusting algorithm logic, and developing industrial software based on the adjusted algorithm and data structure, efficient support and optimization for specific industrial scenarios can be achieved. It can meet the needs of specific industrial scenarios, optimize algorithm logic, improve software development efficiency, enhance software applicability, and improve industrial production efficiency.
[0278] In the embodiments of the present application, by obtaining and analyzing development requirement data, it is ensured that the goals of software development are clear and development deviations caused by unclear requirements are avoided. By defining the data structure of key objects, it is ensured that the data structure can effectively organize and store data, providing a basis for algorithm implementation. By defining an algorithm list, it is ensured that the algorithm can efficiently process the data of key objects and realize the functional requirements of the software. By establishing a mapping relationship between the algorithm and the data structure, the collaborative work of the algorithm and the data structure is ensured, and the efficiency and maintainability of the software are improved. By generating a general development report, the software development process is standardized and standardized, the development efficiency and quality are improved, and the standardization and standardization of industrial software development are realized, thereby improving the quality and development efficiency of industrial software.
[0279] Based on the above Figure 1 The general development method of industrial software shown in the embodiment of the present application also provides a general development device for industrial software, such as Figure 6 As shown, the general development device 600 of industrial software may include:
[0280] The acquisition module 610 is used to acquire development requirement data of industrial software, where the development requirement data includes functional requirement data, performance indicator data, and user scenario data;
[0281] An analysis module 620 is used to analyze the development requirement data, obtain object data of key objects and define a data structure according to the object data;
[0282] A definition module 630, for defining algorithms according to object data of key objects to form an algorithm list;
[0283] Establishing module 640, used to establish a mapping relationship between the algorithms in the algorithm list and the data structure;
[0284] The generation module 650 is used to generate a general development report based on the data structure, algorithm list and mapping relationship to develop industrial software.
[0285] In a possible embodiment, the establishment module 640 is specifically used to:
[0286] Determine the relationship between the fields in the data structure and the algorithm input and output of the algorithm;
[0287] Define the data flow path required by each algorithm in the data structure;
[0288] Based on the association relationship and data flow path, establish the mapping relationship between the algorithms in the algorithm list and the data structure.
[0289] In a possible embodiment, the apparatus 600 may further include:
[0290] A first construction module is used to construct an algorithm logic model according to actual demand data of the industrial system, and the algorithm logic model includes operation rules and control processes for processing industrial data of the industrial system;
[0291] The definition module 630 is further used to define a data structure associated with the algorithm logic model, and the data structure associated with the algorithm logic model includes real-time status data, historical record data and control instruction data;
[0292] An association module is used to associate the algorithm logic model with the data structure through a mapping relationship;
[0293] The acquisition module is used to collect the real-time operation status data of the industrial system according to the mapping relationship, and process the real-time operation status data through the algorithm logic model to generate control instructions;
[0294] The transmission module is used to transmit control instructions to industrial equipment associated with the industrial system through the industrial control interface to monitor the real-time status and intelligent behavior of the industrial system.
[0295] In a possible embodiment, the apparatus 600 may further include:
[0296] A second building module is used to build a data structure for industrial equipment fault diagnosis, the data structure including an equipment operation parameter vector and a fault diagnosis result vector, wherein each element in the equipment operation parameter vector and the fault diagnosis result vector is identified by an index name or an index position;
[0297] The definition module 630 is further used to define an input vector and an output vector of the fault diagnosis algorithm, the input vector is used to receive the equipment operation parameters, and the output vector is used to generate the fault diagnosis result;
[0298] A mapping module, used for numerically mapping the device operation parameter vector in the data structure to the input vector of the fault diagnosis algorithm through a mapping relationship with the same index name or the same index position;
[0299] A calculation module, used to calculate and analyze the input vector using a fault diagnosis algorithm to generate a fault diagnosis result vector;
[0300] The write-back module is used to write the data in the fault diagnosis result vector back to the fault diagnosis result vector in the data structure through the index mapping relationship.
[0301] In a possible embodiment, the apparatus 600 may further include:
[0302] A third building block is used to build a data structure for controlling an industrial process, the data structure including data states and values in a multi-level vector for real-time monitoring of the industrial process, wherein each element of the multi-level vector is identified by an index name or an index position;
[0303] The monitoring module is used to monitor the changes in the status of each data in the data structure in real time and determine whether there is an abnormal state;
[0304] A driving module is used to drive the control algorithm corresponding to the abnormal state to run when an abnormal state is detected, input the relevant values in the data structure into the control algorithm through a mapping relationship, and perform calculations and decisions based on the input values through the control algorithm to generate a control instruction vector;
[0305] An updating module, used for updating the control instruction vector to a related value in the data structure through a mapping relationship of an index name or an index position, to obtain an updated data structure;
[0306] A control module is used for controlling an industrial process based on the updated data structure.
[0307] In a possible embodiment, the apparatus 600 may further include:
[0308] An input module, used for inputting object data and problem data in a preset description format into the automation tool;
[0309] A coding module, which is used to generate preliminary codes based on object data and question data through automated tools;
[0310] The output module is used to output the preliminary coding to the software development environment of the industrial software for optimization.
[0311] In a possible embodiment, the apparatus 600 may further include:
[0312] A receiving module, used to receive demand data for specific industrial scenarios;
[0313] An adjustment module, used to adjust the algorithm logic of the algorithm in the algorithm list according to the mapping relationship to obtain an adjusted algorithm to adapt to a specific industrial scenario;
[0314] Development module, used to develop industrial software for specific industrial scenarios based on adjusted algorithms and data structures.
[0315] In the embodiments of the present application, by obtaining and analyzing development requirement data, it is ensured that the goals of software development are clear and development deviations caused by unclear requirements are avoided. By defining the data structure of key objects, it is ensured that the data structure can effectively organize and store data, providing a basis for algorithm implementation. By defining an algorithm list, it is ensured that the algorithm can efficiently process the data of key objects and realize the functional requirements of the software. By establishing a mapping relationship between the algorithm and the data structure, the collaborative work of the algorithm and the data structure is ensured, and the efficiency and maintainability of the software are improved. By generating a general development report, the software development process is standardized and standardized, the development efficiency and quality are improved, and the standardization and standardization of industrial software development are realized, thereby improving the quality and development efficiency of industrial software.
[0316] Figure 7 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.
[0317] The electronic device may include a processor 301 and a memory 302 storing computer program instructions.
[0318] Specifically, the processor 301 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0319] The memory 302 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 302 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 302 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 302 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 302 is a non-volatile solid-state memory. In a specific embodiment, the memory 302 includes a read-only memory (ROM). In appropriate cases, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM) or a flash memory or a combination of two or more of these.
[0320] The processor 301 reads and executes the computer program instructions stored in the memory 302 to implement any one of the general development methods for industrial software in the embodiments shown in the figure.
[0321] In one example, the electronic device may further include a communication interface 303 and a bus 310. Figure 3 As shown, the processor 301, the memory 302, and the communication interface 303 are connected via a bus 310 and communicate with each other.
[0322] The communication interface 303 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0323] Bus 310 includes hardware, software or both, and the parts of electronic equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 310 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.
[0324] The electronic device can execute the general development method of industrial software in the embodiment of the present application, thereby realizing the combination of Figure 2 Describes a common development methodology for industrial software.
[0325] In addition, in combination with the general development method of industrial software in the above embodiment, the embodiment of the present application can provide a computer-readable storage medium for implementation. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by the processor, the Figure 1 A general development method for industrial software.
[0326] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0327] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0328] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0329] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A general development method for industrial software, characterized in that: The method comprises: Obtain development demand data for industrial software, including functional demand data, performance indicator data, and user scenario data; Analyze development requirement data, obtain object data of key objects and define data structure based on object data; Defining algorithms according to object data of key objects to form an algorithm list; Establish the mapping relationship between the algorithms in the algorithm list and the data structure; Generate general development reports based on data structures, algorithm lists, and mapping relationships to develop industrial software.
2. The method according to claim 1, characterized in that Establish the mapping relationship between the algorithms in the algorithm list and the data structure, including: Determine the relationship between the fields in the data structure and the algorithm input and output of the algorithm; Define the data flow path required by each algorithm in the data structure; Based on the association relationship and data flow path, establish the mapping relationship between the algorithms in the algorithm list and the data structure.
3. The method according to claim 1, characterized in that The method also includes: According to the actual demand data of the industrial system, an algorithm logic model is constructed, and the algorithm logic model includes operation rules and control processes for processing the industrial data of the industrial system; Defining a data structure associated with the algorithm logic model, wherein the data structure associated with the algorithm logic model includes real-time status data, historical record data, and control instruction data; Through mapping relationships, the algorithm logic model is associated with the data structure; According to the mapping relationship, the real-time operation status data of the industrial system is collected, and the real-time operation status data is processed through the algorithm logic model to generate control instructions; The control instructions are transmitted to the industrial equipment associated with the industrial system through the industrial control interface to monitor the real-time status of the industrial system and regulate its intelligent behavior.
4. The method according to claim 1, characterized in that The method also includes: Constructing a data structure for industrial equipment fault diagnosis, the data structure comprising an equipment operation parameter vector and a fault diagnosis result vector, wherein each element in the equipment operation parameter vector and the fault diagnosis result vector is identified by an index name or an index position; Define the input vector and output vector of the fault diagnosis algorithm. The input vector is used to receive the equipment operation parameters, and the output vector is used to generate the fault diagnosis results. Through a mapping relationship with the same index name or the same index position, the device operation parameter vector in the data structure is numerically mapped to the input vector of the fault diagnosis algorithm; Using the fault diagnosis algorithm to operate and analyze the input vector, generating a fault diagnosis result vector; The data in the fault diagnosis result vector is written back to the fault diagnosis result vector in the data structure through the index mapping relationship.
5. The method according to claim 1, characterized in that The method also includes: Constructing a data structure for controlling an industrial process, the data structure including data states and values in a multi-level vector for real-time monitoring of the industrial process, wherein elements of each multi-level vector are identified by an index name or an index position; Monitor the changes in the status of each data in the data structure in real time to determine whether there is an abnormal state; When an abnormal state is detected, the control algorithm corresponding to the abnormal state is driven to run, and the relevant values in the data structure are input into the control algorithm through a mapping relationship. The control algorithm performs calculations and decisions based on the input values to generate a control instruction vector; By mapping the index name or the index position, the control instruction vector is updated to the relevant value in the data structure to obtain an updated data structure; Based on the updated data structure, the industrial process is controlled.
6. The method according to claim 1, characterized in that After generating a general development report according to the data structure, the algorithm list and the mapping relationship, the method further includes: Input object data and problem data in a preset description format into the automation tool; Generate preliminary codes from object data and question data using automated tools; Output preliminary code to the software development environment of industrial software for optimization.
7. The method according to claim 1, characterized in that After generating a general development report according to the data structure, the algorithm list and the mapping relationship, the method further includes: Receive demand data for specific industrial scenarios; Adjust the algorithm logic of the algorithm in the algorithm list according to the mapping relationship to obtain an adjusted algorithm to adapt to a specific industrial scenario; Develop industrial software for specific industrial scenarios based on adjusted algorithms and data structures.
8. A general development device for industrial software, characterized in that: The general development device of the industrial software comprises: The acquisition module is used to obtain the development demand data of industrial software, which includes functional demand data, performance indicator data and user scenario data; An analysis module is used to analyze development requirement data, obtain object data of key objects and define data structure according to the object data; A definition module, used for defining algorithms according to object data of key objects to form an algorithm list; Establishing a module for establishing a mapping relationship between algorithms in the algorithm list and data structures; A generation module is used to generate a general development report based on data structures, algorithm lists and mapping relationships to develop industrial software.
9. An electronic device, characterized in that: The electronic device comprises: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the general development method for industrial software as claimed in any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the general development method for industrial software according to any one of claims 1 to 7 is implemented.