Modular design method for an industrial control system
By employing modular methodology and spectral clustering algorithms, the complexity and coupling issues of modular design in the development of complex industrial control system software were resolved, achieving clarity and maintainability of modular design and improving the reliability of software products.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-18
- Publication Date
- 2026-03-20
AI Technical Summary
In the development of software for complex industrial control systems, existing technologies involve complex modular design processes, code development is not dominant, business requirements analysis is labor-intensive, and the coupling between modules is high, making it difficult to achieve a clear and maintainable software structure.
By adopting a modular methodology, an association matrix is established through function-structure description, data flow diagrams, and phylogenetic clustering algorithms to divide modules, reduce module coupling, and improve module independence and maintainability.
Modular design of complex industrial control system software has been achieved, which has improved the generality, standardization and serialization of modules, enhanced the clarity and reliability of software structure, reduced the coupling between modules and improved the maintainability of software products.
Smart Images

Figure CN115935613B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the technical fields of complex industrial systems, software engineering, and modular methods, and specifically relates to a modular design method for complex industrial control systems, such as various power plant control systems. Background Technology
[0002] To simplify a large and complex software system, modular decomposition is necessary. Modularization involves dividing the software into independently named and accessible modules, each typically with different functions or responsibilities. Each module can be independently developed, tested, and ultimately assembled into a complete software system. Software modules are independent of each other, with each module addressing only one specific sub-function required by the software.
[0003] Complex industrial system software products can be viewed as a series of components with specific functions. A complete system can also be decomposed into a series of functional modules, and the interaction between these modules forms all the system's functions. The development and improvement of each module are independent of the development and improvement of other modules. Each module's unique information processing is contained within its own internal structure, like a "black box," but it has one or more common standard interfaces to connect with the system or other modules. In the software development process, the development of modular components is relatively complex. Code development is not the dominant factor; rather, it is reflected in the need for in-depth analysis of business requirements during the division of software functional modules. The division of business subsystems and the planning of business components account for the majority of the workload.
[0004] This invention proposes a modular design process for complex industrial software using a modular methodology. It is a universal and operable modular design process and method that extracts typical product structures from software product platforms and then further divides or reorganizes them to form a relatively complete software modular system. Summary of the Invention
[0005] To address one or more of the above-mentioned deficiencies or improvement needs in the prior art, the present invention provides a modular design method for an industrial control system, the method comprising the following steps:
[0006] Step S1: Taking the control system as the research object, based on the requirements and tasks, and combined with the business functions in the industrial scenario object of the control system, establish the system functional structure, and classify it according to the functional mode to obtain the initial functional structure.
[0007] Step S2: Constructing the function module structure tree: according to the initial function structure, decompose it into multiple sub-functions, divide the modules according to the hierarchy, follow the function independent principle, after obtaining the function module and structure of a level, divide the function modules of the next level;
[0008] Step S3: Analyzing the child nodes of the node to be processed from bottom to top of the structure tree, using the function-structure description method to describe the function, and obtaining the physical correlation matrix:
[0009]
[0010] Wherein, the number of sub-node modules is n, i and j are any two sub-functions in n, and the physical correlation between the functions of the n nodes is α p (i,j);
[0011] Step S4: Analyzing the child nodes of the node to be processed from bottom to top of the structure tree, obtaining the function correlation matrix between the functions of the n nodes:
[0012]
[0013] Wherein, the number of sub-node modules is n, i and j are any two sub-functions in n, and the function correlation between the functions of the n nodes is α f (i,j);
[0014] Step S5: Analyzing the child nodes of the node to be processed from bottom to top of the structure tree, and obtaining the data correlation matrix by clarifying the data flow between the function modules:
[0015]
[0016] Wherein, the number of sub-node modules is n, i and j are any two sub-functions in n, and the data correlation between the functions of the n nodes is α d (i,j);
[0017] Step S6: According to the actual situation, determine the weight ω p (i,j), ω f (i,j), ω d (i,j), the physical correlation, function correlation and data correlation three weight matrices can be obtained:
[0018]
[0019] Wherein, ω p (i,j)+ω f (i,j)+ω d(i,j) = 1, and ω p (i,j), ω f (i,j), ω d (i,j) are all greater than or equal to 0;
[0020] Step S7: According to the correlation degree calculation formula between modules:
[0021] R(i,j) = ω p (i,j) · α p (i,j) + ω f (i,j) · α f (i,j) + ω d (i,j) · α d (i,j)
[0022] , and an association matrix is established:
[0023] Wherein, R(i,j) represents the association between modules;
[0024] Step S8: A pedigree clustering algorithm is used to divide the modules according to the correlation degree matrix.
[0025] Step S9: Steps S3-S9 are repeated from bottom to top on the structure tree until the entire software module division is completed.
[0026] Preferably, in the step S1, the classification according to the function mode includes business functions, general functions, auxiliary functions, and special functions.
[0027] Preferably, in the step S3, the physical correlation degree includes material flow, energy flow, and information flow; wherein, the material flow is a relationship in which materials flow in the industrial system during operation; the energy flow is a relationship process in which energy from the outside of the manufacturing system is converted through transmission, loss, storage, and release to complete the relevant functions of the industrial system; and the information flow is various data and information generated by the industrial manufacturing system, which is constantly used, saved, updated, and deleted in a certain flow form, forming the information flow of the industrial control system.
[0028] Preferably, in the step S8, the clustering algorithm is realized by the following steps:
[0029] Step (1) Set n 0 sub-function modules to be divided Calculate the correlation degree R (0) between each function module, set the iteration number counter b = 0; wherein the upper right corner number (0) represents the state of starting operation of clustering
[0030] Step (2) Calculate the correlation degree matrix R (b)the maximum element in the matrix, except the diagonal elements, if the maximum element is the correlation between the two classes, then merge into a class and thus establish a new classification: The new number of modules is n (b+1) ;
[0031] Step (3) calculates the correlation between the new classes after merging, and obtains a correlation matrix R (b+1) .
[0032] Step (4) selects a suitable threshold value δ according to the actual situation, when the number of modules n (b+1) satisfies the threshold condition or, the algorithm stops, and the classification result obtained is the module division result, otherwise, let b = b + 1, adjust to step (2), repeat the calculation and merging.
[0033] Overall, compared with the prior art, the above technical solutions conceived by the present application have the beneficial effects including:
[0034] (1) The present application provides a modular design method for complex industrial control system software, which is applied to the summary design phase of software engineering. A functional module oriented to industrial objects is established to improve the aggregation degree of the module, reduce the coupling degree between the modules, make the module easy to be universalized, standardized and serialized, make the software structure more clear, and improve the maintainability and reliability of the software product;
[0035] (2) The present application takes the functional module in the software design process as a single analysis element, describes it in the form of a functional operation interface, and for a specific functional module, its function can be abstracted into attributes and operations. The connection between multiple functional modules in a system is established through an interface. If a functional module implements an operation, a message should be transmitted through the interface. The calling between the functional modules is realized through the interface, that is, the functional module defines an object, and the operation in the functional module is called through the object. BRIEF DESCRIPTION OF DRAWINGS
[0036] Figure 1 is the functional module structure tree of the complex industrial control system provided by the embodiment of the present application;
[0037] Figure 2 is the functional model diagram provided by the embodiment of the present application;
[0038] Figure 3 is the module data flow diagram provided by the embodiment of the present application. DETAILED DESCRIPTION
[0039] In order to make the objects, technical solutions and advantages of the present application clearer, further detailed description will be made to the present application in combination with the accompanying drawings and examples. It should be understood that the specific examples described herein are only used to explain the present application, and are not used to limit the present application. In addition, the technical features involved in each embodiment of the present application described below can be combined with each other as long as they do not conflict with each other.
[0040] Embodiment:
[0041] The present application provides a modular design method for complex industrial control system software, specifically comprising the following steps:
[0042] Step 1, taking a complex industrial control system as a research object, establishing a system function structure according to a demand task sheet and combining business functions in the researched industrial scene object, and classifying according to the following function modes, the goal of this step is to obtain an initial function structure of the software.
[0043] (1) Business function: the basic function that the controlled object corresponding to the physical structure of the industrial system should have, including business process, the function module in this part corresponds to the business hardware system.
[0044] (2) General function: including some repeated and general functions, such as system log, alarm, curve display, etc.
[0045] (3) Auxiliary function: the function that assists the system to be more perfect, such as system login, user management, permission allocation, interface setting, browsing log, etc.
[0046] (4) Special function: special and extended function, such as remote monitoring, flow management, etc.
[0047] Step 2, constructing a software function module structure tree to more clearly express the composition of the software. According to the total function structure of step 1, decompose multiple sub-functions, divide the modules according to the level, follow the function independent principle, after obtaining the function module and structure of a level, divide the function modules of the next level. For example Figure 1 The function module structure tree of the complex industrial control system provided by the present application is shown in the figure, the most basic function module is called function element.
[0048] Step 3, obtaining a physical correlation matrix.
[0049] (1) Business function model
[0050] Because it has a corresponding relationship with the actual industrial system equipment, it can be analyzed according to the physical correlation first. Analyzing the child nodes of the node to be processed from bottom to top of the structure tree, using the function-structure description method to describe the function, establishing a function model as shown in Figure 2The function model is shown. The function of the module is represented by a block, the input and output of the block represent the exchange of matter, energy and information between the function and the outside world, and the connection between functions is expressed through matter flow, energy flow and information flow; wherein, the matter flow is the relationship of material flow in the running process of the industrial system; the energy flow is the relationship process of energy from the outside of the manufacturing system, through transmission, loss, storage, release and conversion to complete the relevant functions of the industrial system; the information flow is various data and information generated by the industrial manufacturing system, which is constantly used, saved, updated, deleted and the like in a certain flow form, forming the information flow of the industrial control system. Figure 2 The function model diagram provided by the application is shown, in the process, each function module is removed from the upper and lower constraints and controls.
[0051] (2) Obtain the physical correlation matrix
[0052]
[0053] Suppose the number of sub-node modules is n, i and j are any two sub-functions in n, and the physical correlation α p (i,j) between each function of n nodes is calculated according to the function model diagram. And for non-business functions, the physical correlation can be set to 0.
[0054] According to the above table, the physical correlation matrix shown below can be obtained:
[0055]
[0056] Step 4, obtain the function correlation matrix. Analyze the child nodes of the node to be processed from bottom to top, suppose the number of sub-node modules is n, i and j are any two sub-functions in n, and the function correlation α f (i,j) between each function of n nodes is calculated according to the function correlation table as follows.
[0057]
[0058] The function correlation matrix shown below is obtained.
[0059]
[0060] Step 5, obtain the data correlation matrix. Analyze the child function nodes of the node to be processed, and clarify the data flow between the function modules to establish a corresponding data flow diagram, which is shown as Figure 3 The number on the line is the weight of information interaction (value range: 1-10, which can be line, data volume and other influencing factors).
[0061] According to the data flow diagram, the data correlation is obtained according to the following table, and the data correlation matrix is obtained.
[0062]
[0063] The data correlation matrix is shown as follows.
[0064]
[0065] Step 6, obtaining the weight matrix. Since the weights of the physical correlation, the functional correlation and the service correlation of any two sub-function modules are different, for example, the functional correlation of two service function modules accounts for a large weight, and the data correlation of two general functions accounts for a large weight. Therefore, the weights ω p (i,j), ω f (i,j), ω d (i,j) of the three types of the sub-module i and j should be determined according to the actual situation.
[0066]
[0067] In the above formula, ω p (i,j) + ω f (i,j) + ω d (i,j) = 1, and ω p (i,j), ω f (i,j), ω d (i,j) are all greater than or equal to 0.
[0068] Step 7, defining the correlation degree calculation formula between the modules, and establishing the correlation matrix.
[0069] The basic basis for modular design is to analyze the correlation degree, the present application utilizes the three influence factors of the physical, the function and the data listed in steps 3-5, and defines the correlation degree of the function module itself as 1, so that the correlation degree calculation formula of the sub-function i and the sub-function j can be defined as:
[0070] R(i,j) = ω p (i,j) · α p (i,j) + ω f (i,j) · α f (i,j) + ω d (i,j) · α d (i,j) According to the correlation degree, the correlation degree matrix can be established as shown below.
[0071]
[0072] Step 8, using the pedigree clustering algorithm to divide the modules, which is realized by the following steps:
[0073] (1) Set n 0 sub-function modules to be divided Calculate the correlation degree R between each function module (0) (The upper right corner number (0) represents the state of starting the clustering operation), set the iteration count counter b = 0.
[0074] (2) Find the maximum element in the correlation matrix R (b) (excluding the diagonal element), if the maximum element is the correlation between the two classes, then merge into a class and establish a new classification from it: The number of new modules is n (b+1) .
[0075] (3) Calculate the correlation between the new classes after merging, get the correlation matrix R (b+1) .
[0076] (4) Select a suitable threshold value δ according to the actual situation (usually take ), when the module number n (b+1) satisfies the threshold condition or, the algorithm stops, and the classification result obtained is the module division result, otherwise let b = b + 1, adjust to (2), repeat the calculation and merge.
[0077] Step 9, repeat steps 3-9 from bottom to top on the entire structure tree until the entire software module division is completed.
[0078] Those skilled in the art will readily understand that the above description is only a preferred embodiment of the present application and is not intended to limit the present application, and any modifications, equivalent replacements and improvements made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A modular design method for an industrial control system, characterized in that: The method includes the following steps: Step S1: Taking the control system as the research object, based on the requirements and tasks, and combined with the business functions in the industrial scenario object of the control system, establish the system functional structure, and classify it according to the functional mode to obtain the initial functional structure. Step S2: Construct a functional module structure tree: Based on the initial functional structure, decompose it into multiple sub-functions, divide the modules according to the hierarchy, follow the principle of functional independence, and after obtaining the functional modules and structure of one level, divide the functional modules of the next level. Step S3: Analyze the child nodes of the node to be processed from bottom to top in the structure tree, and use the function-structure description method to perform functional description to obtain the physical relevance matrix: Where the number of child node modules is n, i and j are any two sub-functions in n, and the physical correlation between the functions of the n nodes is: ; Step S4: Analyze the child nodes of the node to be processed from bottom to top in the structure tree to obtain the functional correlation matrix between the functions of the n nodes: Where the number of child node modules is n, i and j are any two sub-functions in n, and the functional correlation between the functions of the n nodes is: ; Step S5: Analyze the child nodes of the node to be processed from bottom to top in the structure tree to clarify the data flow between functional modules and obtain the data correlation matrix: Where the number of child node modules is n, and i and j are any two sub-functions in n, the data correlation between the functions of the n nodes is as follows: ; Step S6: Determine the weights of submodules i and j of the three types based on the actual situation. , , This yields three weight matrices: physical relevance, functional relevance, and data relevance. , , in, + + =1, and , , All are greater than or equal to 0; Step S7: Calculate the correlation between modules using the following formula: , Establish a correlation matrix: in, This indicates the relationships between modules; Step S8: Divide the correlation matrix into modules using a phylogenetic clustering algorithm; Step S9: Repeat steps S3-S9 from bottom to top on the structure tree until the entire software module division is completed.
2. The method according to claim 1, characterized in that: In step S1, the classification according to functional mode includes business functions, general functions, auxiliary functions, and special functions.
3. The method according to claim 1, characterized in that: In step S3, the physical correlation includes material flow, energy flow, and information flow. Material flow refers to the relationship of material transfer during the operation of an industrial system. Energy flow refers to the process by which energy originates from outside the manufacturing system and completes the relevant functions of the industrial system through transmission, loss, storage, release, and conversion. Information flow refers to the various data and information generated by the industrial manufacturing system, which are continuously used, saved, updated, and deleted in a certain process, forming the information flow of the industrial control system.
4. The method according to claim 1, characterized in that: In step S8, the clustering algorithm is implemented iteratively by the following steps: Step (1) Let the parts to be divided be... Sub-functional modules , , ..., Calculate the correlation between each functional module. Set the iteration counter b=0; where the upper right corner label (0) indicates the state where clustering operation has started; Step (2) Calculate the correlation matrix The largest element in the array, excluding the diagonal elements, if the largest element is , The correlation between the two classes will then , Merged into one category And thus establish a new classification: , ,…., The number of new modules is ; Step (3) Calculate the correlation between the new categories after merging to obtain the correlation matrix. ; Step (4) Select an appropriate threshold based on the actual situation. When the number of modules When the threshold condition is met Alternatively, the algorithm stops, and the classification result obtained is the module partitioning result; otherwise, let b = b + 1, adjust to step (2), repeat the calculation and merge.
Citation Information
Patent Citations
Simulation method and information processing apparatus
US20180107773A1
Efficient design and optimization algorithm framework of multi-scale porous structures
US20220327258A1