An industrial device control method, system, device and medium based on multi-control application
By developing dedicated scheduling rules for multiple control applications on the industrial control platform and constructing scheduling execution sequences with data dependencies, the problems of low scheduling accuracy and execution efficiency in existing platforms are solved, achieving efficient and reliable industrial equipment control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- EASTERN BOILER CONTROL CO LTD
- Filing Date
- 2026-04-14
- Publication Date
- 2026-06-12
AI Technical Summary
Existing industrial control platforms suffer from insufficient scheduling accuracy, low execution efficiency of complex control links, and difficulty in ensuring logical correctness when scheduling multiple control applications, making them particularly unsuitable for industrial scenarios with high precision and low latency requirements.
By defining dedicated application scheduling rules for each control application and constructing scheduling execution sequences based on the data dependencies of algorithm blocks, scheduling isolation and mixed execution among multiple control applications are achieved, avoiding circular dependencies and ensuring logical rigor and computational consistency.
It significantly improves overall scheduling efficiency and resource utilization, meets the high precision and low latency requirements of industrial scenarios, and achieves logical rigor and computational consistency in complex control loops.
Smart Images

Figure CN122194924A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of program execution scheduling technology, and specifically to an industrial equipment control method, system, device, and medium based on multi-control applications. Background Technology
[0002] With the rapid advancement of Industry 4.0 and intelligent manufacturing, the complexity, real-time performance, and intelligence requirements of industrial process control continue to increase. Advanced control algorithms, model predictive control, and intelligent optimization control technologies are widely used in process industries such as power, chemical, and metallurgy. Traditional industrial control systems (such as DCS distributed control systems and PLC programmable logic controllers) are limited by hardware computing power and closed architecture, making it difficult to support the concurrent operation, flexible expansion, and rapid iteration of multiple complex and advanced control applications. Therefore, industrial control platforms based on microservice architecture have become the mainstream direction of industry development.
[0003] Existing microservice-based industrial control platforms have the following main technical shortcomings in controlling industrial equipment based on multiple control applications:
[0004] (1) Insufficient scheduling accuracy and isolation: Existing platforms mostly use a unified scheduling engine to handle scheduling tasks of multiple applications. The scheduling resources of different control applications are not completely isolated. Anomalies or high loads of a single application can easily spread and affect the stability of global scheduling. At the same time, the scheduling logic and the algorithm calculation logic are deeply coupled. The algorithm calculation time directly affects the scheduling cycle, making it difficult to meet the millisecond-level high-precision periodic scheduling requirements of industrial scenarios.
[0005] (2) It is difficult to balance the execution efficiency and logical correctness of complex control links: Advanced control applications usually form complex control loops by combining multiple algorithm blocks through data dependencies. Existing platforms cannot effectively handle the dependencies between algorithm blocks, and are prone to problems such as circular dependencies and incorrect execution order. At the same time, it is impossible to maximize the parallel execution of algorithm blocks under the premise of satisfying data dependency constraints, resulting in low overall scheduling efficiency and difficulty in adapting to the low latency requirements of complex control scenarios.
[0006] Based on this, the present invention aims to provide an industrial equipment control method, system, device and medium based on multi-control applications to solve the related problems mentioned above. Summary of the Invention
[0007] The technical problem this invention aims to solve is the difficulty in achieving both high scheduling accuracy and efficient execution of complex control loops in existing industrial control platforms, particularly in balancing the scheduling accuracy of multiple control applications with logical correctness. The invention provides a method, system, device, and medium for controlling industrial equipment based on multiple control applications. By formulating dedicated application scheduling rules according to the operating conditions of each control application, scheduling isolation between multiple control applications is achieved, preventing the impact of individual application anomalies on global scheduling. Simultaneously, by constructing a scheduling execution sequence based on the data dependencies of algorithm blocks within the control application, and executing algorithm calculations according to the execution order of the scheduling sequence, circular dependency problems are fundamentally eliminated, ensuring the logical rigor and computational consistency of complex control loops. Furthermore, based on dependencies, a hybrid serial and parallel execution of algorithm blocks is achieved, maximizing parallel execution while satisfying data constraints, significantly improving overall scheduling efficiency and resource utilization.
[0008] This invention is achieved through the following technical solution:
[0009] An industrial equipment control method based on multi-control applications, used in a microservice industrial control platform, to achieve intelligent equipment control of industrial equipment, the method includes:
[0010] Based on the application operation conditions of each control application, formulate corresponding application scheduling rules for each control application;
[0011] Based on the data dependencies between multiple algorithm blocks within each control application, the execution order of the algorithm blocks is parsed and arranged to generate a scheduling execution sequence;
[0012] In response to user input commands to run applications, the corresponding control application is scheduled to run according to the defined application scheduling rules.
[0013] During each run of the corresponding control application, the algorithm blocks will be executed sequentially according to the order of the algorithm blocks in the scheduling execution sequence, and the input variables corresponding to each algorithm block will be collected from the variable pool during the execution of each algorithm block.
[0014] Each algorithm block performs algorithmic calculations on the input variables to obtain the output variables, and then transmits the output variables to external industrial equipment.
[0015] Furthermore, after receiving the application execution command input by the user, the method also includes:
[0016] The control application scheduled by the application execution command and its multiple algorithm blocks are sequentially triggered with multi-dimensional pre-verification. After the pre-verification passes, the application execution command input by the user is responded to.
[0017] Furthermore, the multi-dimensional pre-verification includes:
[0018] Detect whether the control application scheduled by the application execution command is already running;
[0019] Check whether the input and output variables of all algorithm blocks of the control application scheduled by the application's running instructions have been defined and bound, and whether the variable read and write permissions have been configured correctly;
[0020] Detect whether there are circular dependencies or undefined dependencies among all algorithm blocks of the control application scheduled by the application's execution instructions;
[0021] Check whether the application scheduling rules corresponding to the control application scheduled by the application execution command meet the requirements.
[0022] Furthermore, based on the application operating conditions of each control application, corresponding application scheduling rules are formulated for each control application, specifically as follows:
[0023] Obtain the application runtime of each control application, and formulate corresponding application scheduling rules for each control application based on the runtime of each control application;
[0024] The application scheduling rules include the number of times the application runs, the threshold for the number of runs, the application running interval, and the application running timeout.
[0025] Furthermore, based on the data dependencies between multiple algorithm blocks within each control application, the execution order of the algorithm blocks is parsed and arranged to generate a scheduled execution sequence, specifically:
[0026] Based on the data dependencies between multiple algorithm blocks within each control application, a directed graph of relationships is constructed for each control application.
[0027] Based on the directed connections between algorithm blocks in the relational directed graph, the execution order of the algorithm blocks is parsed and arranged to generate a scheduling execution sequence.
[0028] Furthermore, the algorithm blocks are executed sequentially according to the order of the algorithm blocks in the scheduling execution sequence, specifically as follows:
[0029] When two algorithm blocks have a data dependency, the two algorithm blocks are executed sequentially according to the data dependency.
[0030] When there is no data dependency between two algorithm blocks, the two algorithm blocks are executed in parallel.
[0031] Furthermore, the method also includes:
[0032] The system acquires the runtime status data of each algorithm block during the runtime of the control application, judges the abnormal conditions of the algorithm block based on the runtime status data, and isolates the algorithm block based on the abnormal condition judgment results.
[0033] Furthermore, the method also includes:
[0034] The system obtains the number of times the control application has been scheduled to run. It then judges the number of times the control application has been scheduled to run based on the running count threshold. When the number of times the control application has run exceeds the running count threshold, the scheduling of the control application is stopped.
[0035] The present invention also provides an industrial equipment control system for multiple control applications, which is used in the industrial equipment control method based on multiple control applications described in any one of the above claims, the system comprising:
[0036] The scheduling rule formulation module is used to formulate corresponding application scheduling rules for each control application based on the application running conditions of each control application.
[0037] The execution sequence generation module is used to parse and arrange the execution order of algorithm blocks based on the data dependencies between multiple algorithm blocks within each control application, and generate a scheduled execution sequence.
[0038] The application scheduling module is used to respond to user-inputted application execution commands and schedule the corresponding control applications to run according to the defined application scheduling rules.
[0039] The control application execution module is used to execute the algorithm blocks sequentially according to the algorithm block order in the scheduling execution sequence during each run of the corresponding control application, and to collect the input variables corresponding to each algorithm block from the variable pool during the execution of each algorithm block.
[0040] The algorithm block execution module is used to perform algorithmic calculations on the input variables of each algorithm block to obtain the output variables, and then transmit the output variables to external industrial equipment.
[0041] Furthermore, after receiving the application execution command from the user, the system also includes:
[0042] Multi-dimensional pre-verification is triggered sequentially for each control application and its multiple algorithm blocks. After the pre-verification passes, the application execution command input by the user is responded to.
[0043] Furthermore, the multi-dimensional pre-verification includes:
[0044] Detect whether the control application scheduled by the application execution command is already running;
[0045] Check whether the input and output variables of all algorithm blocks of the control application scheduled by the application's running instructions have been defined and bound, and whether the variable read and write permissions have been configured correctly;
[0046] Detect whether there are circular dependencies or undefined dependencies among all algorithm blocks of the control application scheduled by the application's execution instructions;
[0047] Check whether the application scheduling rules corresponding to the control application scheduled by the application execution command meet the requirements.
[0048] The present invention also provides a computer device, including a system memory and a processor, wherein the system memory stores a computer program, and the processor executes the computer program to implement the steps of any of the methods described above.
[0049] The present invention also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of any of the methods described above.
[0050] The present invention also provides a computer program product containing instructions that, when executed by a cluster of computer devices, cause the cluster of computer devices to perform the method described in any of the preceding claims.
[0051] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0052] In this invention, by formulating dedicated application scheduling rules based on the operating conditions of the control applications, scheduling isolation between multiple control applications is achieved, avoiding the impact of single application anomalies on global scheduling. Simultaneously, by constructing scheduling execution sequences based on the data dependencies of algorithm blocks within the control applications, and executing algorithm calculations according to the execution order of the scheduling execution sequences, the circular dependency problem is fundamentally eliminated, ensuring the logical rigor and computational consistency of complex control loops. Furthermore, based on dependency relationships, serial and parallel hybrid execution of algorithm blocks is achieved, maximizing parallel execution while satisfying data constraints, significantly improving overall scheduling efficiency and resource utilization. Attached Figure Description
[0053] To more clearly illustrate the technical solutions of the exemplary embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort. In the drawings:
[0054] Figure 1 This is a schematic diagram of the method flow of an industrial equipment control method based on multi-control applications in this embodiment;
[0055] Figure 2 This is a schematic diagram of the module connection of an industrial equipment control system based on multi-control applications in this embodiment;
[0056] Figure 3 This is a schematic diagram of the structure of a computer device in this embodiment. Detailed Implementation
[0057] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0058] In this disclosure, unless otherwise stated, the use of terms such as "first," "second," etc., to describe various elements is not intended to limit the positional, temporal, or importance relationships of these elements; such terms are merely used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of that element, while in other cases, based on the context, they may refer to different instances.
[0059] The terminology used in the description of the various examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context explicitly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. Furthermore, the term "and / or" as used in this disclosure covers any one of the listed items and all possible combinations thereof.
[0060] Example 1
[0061] This embodiment provides an industrial equipment control method based on multiple control applications. This method is used in a microservice industrial control platform integrating a communication management module, an algorithm management module, a file management module, a variable management module, and an application management module to achieve intelligent equipment control of industrial equipment. The communication management module is responsible for connecting the platform with external industrial equipment via data links, supporting industrial communication protocols such as Modbus RTU, Modbus TCP, OPCUA, and HTTP interfaces. The algorithm management module has a built-in basic calculation and logic algorithm library and also supports user-uploaded Python algorithm files, executable dynamic link libraries, and other custom algorithms (including but not limited to complex process control algorithms). The file management module supports script data uploads, providing data support for algorithm parameters. The variable management module achieves real-time synchronization of data across the entire platform through a variable pool. Point data from the communication management module is synchronized to the variable pool in real time, and algorithm calculation results are synchronized to the variable pool and then written back to the communication link. The application management module manages all control applications within the platform, allowing users to combine and link algorithm blocks and variables to form control loops through a visual drag-and-drop interface. Theoretically, with hardware support, it can support an unlimited number of concurrent control applications.
[0062] See Figure 1 , Figure 1 A flowchart illustrating a method for controlling industrial equipment based on multi-control applications is shown, wherein the method includes:
[0063] S1: Based on the application running conditions of each control application, formulate corresponding application scheduling rules for each control application;
[0064] Specifically, in this embodiment, it is first necessary to obtain the application runtime of each control application, and then formulate corresponding application scheduling rules for each control application based on the runtime of each control application; wherein, the application scheduling rules include the number of application runs, the number of runs threshold, the application run interval time, and the application run timeout time.
[0065] It should be noted that in this embodiment, the control application is an industrial control loop formed by the user through a visual operation, linking the algorithm blocks in the algorithm management module with the variables in the variable management module. Examples include power plant unit load optimization control loops and advanced temperature control loops for chemical reactors. The construction method of the control application is a conventional technique in this field and will not be elaborated further here. Simultaneously, a globally unique application ID is generated for each control application, and a scheduler is created that is bound one-to-one with each application ID, ensuring that scheduling instructions from different control applications do not interfere with each other. A lightweight runtime cache space is also established in memory for the application's scheduling rules, used to synchronously store the application's current running parameters, algorithm block execution progress, variable snapshots, and running status data, providing data support for status queries, anomaly tracing, rapid stopping, and breakpoint resumption. When an application stop instruction is received or an anomaly is detected, the control application scheduling can be quickly terminated based on the cached data. During anomaly recovery, the cache snapshot can be directly read to enable breakpoint resumption of the control application.
[0066] S2: Based on the data dependencies between multiple algorithm blocks within each control application, the execution order of the algorithm blocks is parsed and arranged to generate a scheduling execution sequence;
[0067] Specifically, in this embodiment, a directed graph corresponding to each control application is constructed based on the data dependency relationship between multiple algorithm blocks within each control application; based on the directed connection relationship of each algorithm block in the directed graph, the execution order of the algorithm blocks is parsed and arranged to generate a scheduling execution sequence.
[0068] It should be noted that in this embodiment, a data dependency graph between each algorithm block within each control application is constructed based on the Directed Acyclic Graph (DAG) model in discrete mathematics. Each algorithm block is treated as a node in the DAG model, and the input-output data dependencies between algorithm blocks are represented by directed edges in the DAG. A topological sorting mechanism is used to dynamically parse and optimize the execution order of the algorithm blocks, generating a scheduling execution sequence that satisfies data dependency constraints. This mechanism can automatically identify and verify circular dependency problems. At the same time, under the premise of satisfying data dependency constraints, algorithm blocks without dependencies are divided into groups that can be executed in parallel, maximizing parallel execution capability. This ensures the logical rigor and computational consistency in complex algorithm chains while significantly improving overall scheduling efficiency and resource utilization.
[0069] S3: In response to the user's input application running command, schedule the corresponding control application to run according to the defined application scheduling rules;
[0070] Specifically, in this embodiment, the system first receives an application running instruction input by the user, which includes the application ID of the control application to be scheduled; then, in response to the application running instruction input by the user, the system schedules the corresponding control application to run according to the defined application scheduling rules through the bound scheduler.
[0071] Upon receiving the application execution command from the user, the system also needs to trigger multi-dimensional pre-verification on the control application scheduled by the command and its multiple algorithm blocks. Only after these pre-verifications pass can the system respond to the user's input. These multi-dimensional pre-verifications include: checking if the control application scheduled by the command is already running; checking if the input and output variables of all algorithm blocks in the control application are correctly defined and bound, and if variable read / write permissions are correctly configured; checking for circular or undefined dependencies among the algorithm blocks; checking if the application scheduling rules for the control application meet the requirements; checking the running status to avoid resource conflicts and computational errors caused by repeated scheduling; checking the completeness of input and output variable configurations to eliminate issues such as missing variables, incorrect addresses, and mismatched parameters; checking algorithm block dependencies to ensure the rationality of the scheduling execution sequence; and checking the rationality of the application scheduling rules to prevent scheduling anomalies caused by invalid parameters.
[0072] S4: During each run of the corresponding control application, the algorithm blocks will be executed sequentially according to the order of the algorithm blocks in the scheduling execution sequence, and the input variables corresponding to each algorithm block will be collected from the variable pool during the execution of each algorithm block;
[0073] Specifically, in this embodiment, during each run of the corresponding control application, the algorithm blocks will be executed sequentially according to the order of the algorithm blocks in the scheduling execution sequence; at the same time, for the algorithm blocks in the scheduling execution sequence, when there is a data dependency between two algorithm blocks, the two algorithm blocks will be executed sequentially according to the data dependency; when there is no data dependency between two algorithm blocks, the two algorithm blocks will be executed in parallel; during the execution of each algorithm block, the input variables corresponding to each algorithm block will be collected from the variable pool.
[0074] S5: Each algorithm block performs algorithmic calculations on the input variables to obtain the output variables, and then transmits the output variables to external industrial equipment.
[0075] Specifically, in this embodiment, when each algorithm block is executed, it will collect real-time data of the input variables corresponding to the current algorithm block from the variable pool. After the algorithm block completes the calculation according to the preset algorithm logic, it will generate output variables and write the output variables into the variable pool. At the same time, it will monitor the changes in the values of the variable pool in real time and write the optimized control instructions back to external industrial equipment (such as power plant DCS system, PLC controller, etc.) through a pre-established communication link, thus completing the closed-loop control of the entire process from data acquisition, optimization calculation to control execution.
[0076] It should be noted that in this embodiment, the algorithm block itself has multiple execution modes. It can complete the computation locally, call remote algorithm services via the HTTP protocol, or interact with external systems through interfaces, adapting to distributed or hybrid deployment scenarios. Simultaneously, the algorithm block supports synchronous and asynchronous execution modes to flexibly address different computational loads and real-time requirements: in asynchronous mode, long-duration computations will not block the execution of other algorithm blocks, thereby improving the overall system throughput; in synchronous mode, the correctness of data dependency order is guaranteed, avoiding result deviations caused by parallel execution.
[0077] In this embodiment, the variable pool enables the subscription of input variables and the publication of output variables, while supporting real-time cache updates. The variable types include analog quantities, switch quantities, intermediate calculation quantities, and final result variables, enabling data processing, storage, and trend-driven display to be carried out within a unified framework. The variable pool not only supports data sharing between algorithm blocks, but also provides real-time data support for trend updates and visualization, ensuring that the system can maintain data consistency and calculation accuracy even under high concurrency and multiple algorithm block operation.
[0078] In addition, this embodiment also includes: during the operation of the control application, acquiring the running status data of each algorithm block in real time, judging the abnormal situation of the algorithm block based on the running status data, and isolating the algorithm block based on the abnormal status judgment result;
[0079] The number of times the control application has been scheduled to run is obtained. The number of times the control application has been scheduled to run is judged based on the number of times the running count threshold is exceeded. When the number of times the control application has been scheduled to run exceeds the number of times the running count threshold is exceeded, the scheduling of the control application is stopped.
[0080] The runtime of the control application is obtained. When the runtime of a single instance reaches the application's timeout period, a timeout flag is set or the application is interrupted to prevent system delays caused by the accumulation of cycles.
[0081] It should be noted that in this embodiment, by setting an independent atomic increment counter for each control application or algorithm block, the corresponding counter will perform an atomic increment operation each time the application starts and triggers an execution cycle, or when a single algorithm block completes an execution, ensuring accurate counting in a high-concurrency environment and avoiding counting conflicts caused by multiple threads or instances running simultaneously. Based on the user-preset execution count threshold, it is determined whether to continue execution. When the execution count reaches the preset upper limit, the scheduling of the corresponding control application or algorithm block is automatically stopped to avoid over-execution or resource waste. At the same time, the execution count data can be written to a unified variable pool in real time to participate in algorithm calculation or logical judgment, providing the control application with dynamic control capabilities based on the execution count, such as realizing batch control and process control scenarios with a fixed number of executions.
[0082] This mechanism uses Redis to store the counting data, which greatly reduces the access pressure on the database and improves the overall system response performance. At the same time, it supports flexible configuration options, allowing users to set the maximum number of runs or an unlimited running mode to meet the needs of different control scenarios and achieve fine-grained management of the application lifecycle.
[0083] Example 2
[0084] See Figure 2 The present invention also provides an industrial equipment control system for multiple control applications, which is used in the industrial equipment control method based on multiple control applications described in any one of the above claims, the system comprising:
[0085] The scheduling rule formulation module 100 is used to formulate corresponding application scheduling rules for each control application based on the application running conditions of each control application.
[0086] The execution sequence generation module 200 is used to parse and arrange the execution order of algorithm blocks based on the data dependency relationship between multiple algorithm blocks in each control application, and generate a scheduled execution sequence.
[0087] The control application scheduling module 300 is used to respond to the application running command input by the user and schedule the corresponding control application to run according to the established application scheduling rules.
[0088] The control application running module 400 is used to execute the algorithm blocks sequentially according to the algorithm block order in the scheduling execution sequence during each run of the corresponding control application, and to collect the input variables corresponding to each algorithm block from the variable pool during the execution of each algorithm block.
[0089] The algorithm block execution module 500 is used to perform algorithmic calculations on the input variables of each algorithm block to obtain the output variables, and then transmit the output variables to external industrial equipment.
[0090] Furthermore, after receiving the application execution command from the user, the system also includes:
[0091] The control application scheduled by the application execution command and its multiple algorithm blocks are sequentially triggered with multi-dimensional pre-verification. After the pre-verification passes, the application execution command input by the user is responded to.
[0092] Furthermore, the multi-dimensional pre-verification includes:
[0093] Detect whether the control application scheduled by the application execution command is already running;
[0094] Check whether the input and output variables of all algorithm blocks of the control application scheduled by the application's running instructions have been defined and bound, and whether the variable read and write permissions have been configured correctly;
[0095] Detect whether there are circular dependencies or undefined dependencies among all algorithm blocks of the control application scheduled by the application's execution instructions;
[0096] Check whether the application scheduling rules corresponding to the control application scheduled by the application execution command meet the requirements.
[0097] It should be noted that the modules in the system of Embodiment 2 correspond to the steps in the method of Embodiment 1. The steps in the method of Embodiment 1 have been described in detail in Embodiment 1, and the module content in the system will not be described in detail in this Embodiment 2.
[0098] Example 3
[0099] This embodiment also provides a computer device, including a system memory 1005 and a processor 1001. The system memory 1005 stores a computer program, and the processor 1001 executes the computer program to implement the steps of any of the methods described above.
[0100] It should be noted that the processor 1001 is used to execute the steps in the above method embodiments according to the instructions in the program code. Alternatively, when the processor 1001 executes the computer program, it implements the functions of each module / unit in the above system / device embodiments.
[0101] Specifically, in this embodiment, the computer program can be divided into one or more modules / units, which are stored in the system memory 1005 and executed by the processor 1001 to complete this application. The one or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program in the terminal device.
[0102] The terminal device can be a desktop computer, laptop, handheld computer, or cloud server, etc. The terminal device may include, but is not limited to, a processor 1001 and a system memory 1005. Those skilled in the art will understand that this does not constitute a limitation on the terminal device; it may include more or fewer components than shown in the figures, or a combination of certain components, or different components. For example, the terminal device may also include an input / output device 1003, a network access device 1002, a bus 1006, etc.
[0103] The processor 1001 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0104] System memory 1005 can be an internal storage unit of the terminal device, such as a hard drive or RAM. System memory 1005 can also be a storage device 1004 of the terminal device, such as an external hard drive, SmartMedia Card (SMC), Secure Digital (SD) card, or FlashCard. Furthermore, system memory 1005 can include both internal storage units and storage device 1004. System memory 1005 is used to store computer programs and other programs and data required by the terminal device. System memory 1005 can also be used to temporarily store data that has been output or will be output.
[0105] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0106] Example 4
[0107] This embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the methods described above.
[0108] The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), registers, hard disks, optical fibers, compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof, or any other form of computer-readable storage medium in the art.
[0109] An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside within an application-specific integrated circuit (ASIC). In embodiments of the invention, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device.
[0110] Example 5
[0111] This embodiment also provides a computer program product containing instructions that, when executed by a cluster of computer devices, cause the cluster of computer devices to perform the method described in Embodiment 1.
[0112] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. An industrial equipment control method based on multi-control applications, characterized in that, This method is used in a microservice industrial control platform to achieve intelligent device control of industrial equipment. The method includes: Based on the application operation conditions of each control application, formulate corresponding application scheduling rules for each control application; Based on the data dependencies between multiple algorithm blocks within each control application, the execution order of the algorithm blocks is parsed and arranged to generate a scheduling execution sequence; In response to user input commands to run applications, the corresponding control application is scheduled to run according to the defined application scheduling rules. During each run of the corresponding control application, the algorithm blocks will be executed sequentially according to the order of the algorithm blocks in the scheduling execution sequence, and the input variables corresponding to each algorithm block will be collected from the variable pool during the execution of each algorithm block. Each algorithm block performs algorithmic calculations on the input variables to obtain the output variables, and then transmits the output variables to external industrial equipment.
2. The industrial equipment control method based on multi-control applications according to claim 1, characterized in that, After receiving the user's input command to run the application, the method also includes: The control application scheduled by the application execution command and its multiple algorithm blocks are sequentially triggered with multi-dimensional pre-verification. After the pre-verification passes, the application execution command input by the user is responded to.
3. The industrial equipment control method based on multi-control applications according to claim 2, characterized in that, The multi-dimensional pre-verification includes: Detect whether the control application scheduled by the application execution command is already running; Check whether the input and output variables of all algorithm blocks of the control application scheduled by the application's running instructions have been defined and bound, and whether the variable read and write permissions have been configured correctly; Detect whether there are circular dependencies or undefined dependencies among all algorithm blocks of the control application scheduled by the application's execution instructions; Check whether the application scheduling rules corresponding to the control application scheduled by the application execution command meet the requirements.
4. The industrial equipment control method based on multi-control applications according to claim 1, characterized in that, Based on the application operating conditions of each control application, corresponding application scheduling rules are formulated for each control application, specifically as follows: Obtain the application runtime of each control application, and formulate corresponding application scheduling rules for each control application based on the runtime of each control application; The application scheduling rules include the number of times the application runs, the threshold for the number of runs, the application running interval, and the application running timeout.
5. The industrial equipment control method based on multi-control applications according to claim 1, characterized in that, Based on the data dependencies between multiple algorithm blocks within each control application, the execution order of the algorithm blocks is parsed and arranged to generate a scheduled execution sequence, specifically: Based on the data dependencies between multiple algorithm blocks within each control application, a directed graph of relationships is constructed for each control application. Based on the directed connections between the algorithm blocks in the relational directed graph, the execution order of the algorithm blocks is parsed and arranged to generate a scheduling execution sequence.
6. The industrial equipment control method based on multi-control applications according to claim 1, characterized in that, The algorithm blocks are executed sequentially according to the order of the algorithm blocks in the scheduling execution sequence, specifically: When two algorithm blocks have a data dependency, the two algorithm blocks are executed sequentially according to the data dependency. When there is no data dependency between two algorithm blocks, the two algorithm blocks are executed in parallel.
7. The industrial equipment control method based on multi-control applications according to claim 1, characterized in that, The method also includes: The system acquires runtime status data for each algorithm block during the application's runtime, determines abnormal situations of the algorithm blocks based on the runtime status data, and isolates the algorithm blocks based on the abnormal status determination results.
8. The industrial equipment control method based on multi-control applications according to claim 1, characterized in that, The method also includes: The system obtains the number of times the control application has been scheduled to run. It then judges the number of times the control application has been scheduled to run based on the running count threshold. When the number of times the control application has run exceeds the running count threshold, the scheduling of the control application is stopped.
9. An industrial equipment control system for multiple control applications, characterized in that, This system is used in an industrial equipment control method based on multi-control applications as described in any one of claims 1-8, the system comprising: The scheduling rule formulation module is used to formulate corresponding application scheduling rules for each control application based on the application running conditions of each control application. The execution sequence generation module is used to parse and arrange the execution order of algorithm blocks based on the data dependencies between multiple algorithm blocks within each control application, and generate a scheduled execution sequence. The application scheduling module is used to respond to user-inputted application execution commands and schedule the corresponding control applications to run according to the defined application scheduling rules. The control application execution module is used to execute the algorithm blocks sequentially according to the algorithm block order in the scheduling execution sequence during each run of the corresponding control application, and to collect the input variables corresponding to each algorithm block from the variable pool during the execution of each algorithm block. The algorithm block execution module is used to perform algorithmic calculations on the input variables of each algorithm block to obtain the output variables, and then transmit the output variables to external industrial equipment.
10. An industrial equipment control system based on multi-control applications according to claim 9, characterized in that, After receiving the user's command to run the application, the system also includes: The control application scheduled by the application execution command and its multiple algorithm blocks are sequentially triggered with multi-dimensional pre-verification. After the pre-verification passes, the application execution command input by the user is responded to.
11. An industrial equipment control system based on multi-control applications according to claim 10, characterized in that, The multi-dimensional pre-verification includes: Detect whether the control application scheduled by the application execution command is already running; Check whether the input and output variables of all algorithm blocks of the control application scheduled by the application's running instructions have been defined and bound, and whether the variable read and write permissions have been configured correctly; Detect whether there are circular dependencies or undefined dependencies among all algorithm blocks of the control application scheduled by the application's execution instructions; Check whether the application scheduling rules corresponding to the control application scheduled by the application execution command meet the requirements.
12. A computer device comprising a system memory and a processor, wherein the system memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 8.
13. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method described in any one of claims 1 to 8.
14. A computer program product containing instructions, characterized in that, When the instructions are executed by a cluster of computer devices, the cluster of computer devices causes the cluster of computer devices to perform the method as described in any one of claims 1 to 8.