Generate control codes for industrial facilities
Control logic is defined through a cause-and-effect matrix editor, combined with service- and instrument-based control logic to generate control code. This solves the difficulty of orchestrating some modular facilities and achieves a simplified combination of traditional process logic and service control, making it suitable for the control of complex facilities.
Patent Information
- Application Number
- CN202210842776.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-19
- Filing Date
- 2022-07-18
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2042-07-18
AI Technical Summary
When designing and building partially modular facilities, existing technologies make it difficult to effectively combine the functionality of modular and non-modular components exposed as services and direct control logic, resulting in orchestration difficulties.
Define control logic by editing the cause-effect matrix, combine service-based and instrument-based control logic, generate control code, and use the cause-effect matrix editor to provide engineers with an intuitive interface to define and combine traditional process logic and service control, supporting control logic definition for modular, non-modular or partially modular facilities.
It realizes a simple and efficient combination of traditional process logic and service control, reduces engineering time and errors, is suitable for non-automation engineers, and supports module nesting and control logic definition of complex facilities.
Smart Images

Figure CN115639787B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and system for generating control codes for an industrial facility and controlling the industrial facility using the generated control codes. Background Art
[0002] Modular facilities are an established aspect of Industry 4.0, offering benefits not only in terms of development costs but also in terms of time and material effort. A complete layer of modular facility architecture consists of prefabricated and well-tested modules called PEAs (Process Equipment Assemblies), which can be easily assembled in different combinations to realize different target systems. Data exchange between PEAs is achieved through standardized interface descriptions called Modular Type Packages (MTPs). Under the MTP approach, a service-oriented architecture is used, in which modules expose their internal functionality as services to the orchestration system. The MTP approach creates a framework for interoperability between modules and the orchestration system so that process facilities can be built and designed in a modular manner, with the goal of simplifying process facility engineering and lifecycle management.
[0003] Nevertheless, it is sometimes necessary to design and build facilities that contain both modular and non-modular ("monolithic") components, which are referred to herein as "partially modular facilities." Difficulties may arise when trying to orchestrate modules that expose their functionality as services and other units that do not provide services. Summary of the Invention
[0004] To better address one or more of these issues, in a first aspect, a method for generating control code for an industrial facility is provided. The method includes: defining control logic for controlling the industrial facility by editing a cause-effect matrix provided by an engineering tool, wherein the definition includes defining both instrument-based control logic and service-based control logic using the same cause-effect matrix; and generating control code for controlling the industrial facility based on the defined control logic.
[0005] The terms "service-based" and "instrument-based" as used in this document may be understood as the encapsulation of equipment used by modules of a modular facility, which expose their functionality as services accessible using well-defined interfaces, in contrast to the non-encapsulated nature of a non-modular facility (which may be directly accessed without any intervening interface). "Services" may be understood in the context of MTP, but may be referred to as functions in other contexts. In other words, service-based logic involves the indirect control of facility equipment via services exposed by modules, while instrument-based logic involves the direct control of facility equipment. In the case of service-based logic, an output signal may instruct a service provided by a module to change a service state, thereby indirectly causing a change in the state of an equipment, whereas in the case of instrument-based logic, an output signal may directly instruct a facility equipment to change its equipment state, such as an actuator state. Facility equipment cannot be directly controlled using service-based logic, as opposed to instrument-based logic. Instrument-based logic may also be referred to as equipment-based logic.
[0006] By displaying a module's service state logic alongside its normal or traditional (instrumentation-based) logic in a cause-and-effect matrix, engineers are provided with an intuitive, single-view tool for combining normal process logic with service control in a more graphical manner than using structured text. In other words, users are allowed to combine the configuration of logic via services with the configuration of logic via instrumentation in a single tool or view. This can be particularly useful in partially modularized and brownfield facilities when adding one or more modules.
[0007] The method of the first aspect may also include specifying a recipe for a process to be performed by the industrial facility, the recipe including at least one step associated with an action and at least one transition condition for transitioning to a subsequent step, wherein editing the cause-effect matrix to define the control logic includes using the cause-effect matrix to define logic for the action, logic for the transition condition, or both.
[0008] According to a second aspect, a method for generating control code for an industrial facility is provided. The method includes: specifying a recipe for a process to be executed by the industrial facility, the recipe including at least one step associated with an action and at least one transition condition for transitioning to a subsequent step; editing a cause-and-effect matrix provided by an engineering tool to define control logic for the industrial facility, including using the cause-and-effect matrix to define logic for the actions, logic for the transition conditions, or both; and generating control code for controlling the industrial facility based on the defined control logic.
[0009] Thus, by enabling users to enter the logic for the steps and transitions in a recipe using a cause-and-effect matrix, an intuitive and user-friendly interface is provided to allow people other than automation engineers to create recipes and enter the logic. Furthermore, recipes can be created in this manner for modular, non-modular, or partially modular industrial facilities.
[0010] In the method of the second aspect, the step of defining the control logic may include defining both the instrument-based control logic and the service-based control logic using the same cause-effect matrix.
[0011] In one example of the method of the first or second aspect, the instrument-based logic relates to the operation of the non-modular portion of the industrial facility, and the service-based logic relates to the operation of the modular portion of the industrial facility, so that a single cause-and-effect matrix can be used to define some or all of the control logic for the partially modular facility to combine traditional process logic with the orchestration of services used in the modules. In another example, the instrument-based logic relates to the operation of a first module of the industrial facility, and the service-based logic relates to the operation of a second module nested within the first module, so that a single cause-and-effect matrix facilitates the nesting of modules and the orchestration of nested modules within the modular or partially modular facility.
[0012] In the method of the first aspect or the second aspect, the cause-effect matrix may include an extended cause-effect matrix that implements the definition of both the safety logic and the process control logic. The extended cause-effect matrix (which may be referred to as xCE) provides a compact and easy-to-use engineering format, the use of which can save engineering time while reducing errors and misunderstandings because it can be understood by a variety of users. For example, xCE is described in "Technik-Kommunikation leicht gemacht: Cause-and-Effect-Diagramm als" by Katharina Gohr et al., ATP version 1-2 / 2014. ” is described in.
[0013] In the method of the first or second aspect, a sequential function chart or other type of flow chart may be used to specify the recipe for the process.
[0014] Once the control logic is defined, the control code can be automatically generated.The process of generating control code from the control logic is known in the art.
[0015] According to a third aspect, there is provided a method for controlling an industrial facility, the method comprising: generating a control code for the industrial facility using the method of the first aspect or the second aspect; and controlling the industrial facility using the generated control code.
[0016] According to a fourth aspect, a computing device is provided, comprising a processor configured to perform the method of any one of the first to third aspects.
[0017] According to a fifth aspect, there is provided a computer program product comprising instructions which, when executed by a computing device, enable the computing device to perform the method of any one of the first to third aspects.
[0018] According to a sixth aspect, there is provided a computer-readable medium comprising instructions which, when executed by a computing device, enable the computing device to perform the method of any one of the first to third aspects.
[0019] In variations of any of the aspects described herein, a function block diagram (FBD) may be used instead of or in addition to a cause-effect matrix. The function block diagram and cause-effect matrix, individually or in combination, may be more generally described as a process control logic definition device.
[0020] The present invention may include one or more aspects, examples or features, alone or in combination, regardless of whether specifically disclosed in that combination or alone.Any optional feature or sub-aspect of one of the above aspects is applicable to any other aspect.
[0021] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The present invention will now be described in detail by way of example only, with reference to the accompanying drawings, in which:
[0023] Figure 1 A cause-effect matrix editor of an engineering tool for editing a cause-effect matrix is shown;
[0024] Figure 2 shows the nesting of modules within a modular facility;
[0025] Figure 3 Shown Figure 1 The cause-effect matrix editor is used to specify the action logic of the sequential function chart;
[0026] Figure 4 Shown Figure 1 The Cause and Effect Matrix Editor is used to specify the transition logic of the sequential function diagram;
[0027] Figure 5 shows a functional block diagram for use in conjunction with the systems and methods described herein; and
[0028] Figure 6 A computing device that can be used in accordance with the systems and methods disclosed herein is shown. DETAILED DESCRIPTION
[0029] Figure 1 A cause-effect matrix editor 100 of an engineering tool for editing a cause-effect matrix 102 is shown. The cause-effect matrix 102 includes causes 104 arranged in horizontal rows and results 106 arranged in vertical columns. The causes 104 include both service-based causes 108 and instrument-based causes 110. The service-based causes 108 reflect module services and allow the status or mode of the services to be checked (as a kind of feedback). The instrument-based causes 110 correspond to input devices that provide input signals, such as sensor devices, for example, liquid level sensors, or the instrument-based causes 110 correspond to feedback from output devices, such as valves (for example, feedback valve open / close). That is, instrument-based causes 110 are generally related to instruments or process variables or parameters. Similarly, at least some of the results 106 are instrument-based results corresponding to output devices, i.e., facility devices such as actuators and motors that provide actions, while other results 106 are service-based. During the engineering phase, control logic configuration is performed by editing the matrix 102 using the editor 100, thereby forming connections between the causes 104 and the results 106. This has the result of connecting an input signal (e.g. an input signal from a level sensor) to an output signal (e.g. an output signal to be transmitted to an actuator or motor) in software. When the control logic is configured in this way, the engineering tool then converts the program logic components for the relevant causes 104 and the program logic components for the relevant results 106 into IEC 61311-3 control code. The program logic components may include standardized portions of the control code stored in a library in the form of function blocks, control modules, etc. Finally, the IEC 61311-3 control code, which is a form of intermediate code, is compiled into executable computer code and downloaded into the memory of at least one controller of the industrial facility. A suitable cause-effect editor may be provided by an engineering tool, such as the Control Builder M product or the Advant Safety Builder product provided by ABB.
[0030] from Figure 1 It is apparent that the same cause-effect matrix 102 can be used to define both service-based logic and instrument-based logic. Specifically, Figure 1 At 112, the definition of the control logic for starting (using the command "Start") a service (named "GasSeparation:Produce") within the module is shown, while at 114, Figure 1The following figure shows the definition of the logic for directly controlling the instrument SDV17 using the "Permit" command. An entry in the matrix (such as "Start" or "Permit") triggers an action. The possible actions (e.g., listed in the drop-down menu in the cross section) depend on the type of result (e.g., open / close for a valve, or service command for a service). An input can also be selected, such as the setpoint for a PID controller.
[0031] Using a single editor in this way to enable editing of service-based logic combined with instrument-based logic not only facilitates the definition of control logic for partially modular facilities, but also facilitates the nesting of modules within other modules.
[0032] Figure 2 202 . The nesting of modules within a modular facility 200 is shown. The upper layer comprises a process orchestration layer 202. The middle layer comprises modules 204, 206, within which the modules 208, 210, 212 of the lower layer are nested. This nesting requires the modules in the middle layer to control both the instrumentation that is part of these modules and the services provided by the modules in the lower layer. The instruments in the modules in the lower layer cannot be directly controlled by the modules in the middle layer because they are encapsulated by these modules and can only be accessed via services. The modules in the middle layer now combine the functionality of the POL 202 - the orchestration of services from the modules in the lower layer - with the functionality of the modules - providing services to the upper layer. While the POL 202 orchestrates the modules below it with commands for the services at each step, the situation in the middle layer is different.
[0033] Figure 2 A specific example is further shown in which a module (PEA) "OilSeparator" 206 has a module "GasTreatment" 212 nested within it, and the "GasTreatment" module 212 in the lower layer exposes the services "Produce," "Maintenance," and "Commissioning" to the "OilSeperator" module 206 in the middle layer. Using the causal matrix 102, these services can be accessed and controlled from within the "OilSeparator" module 206, while also controlling the instrumentation of the "OilSeperator" module 206. Thus, compared to the orchestration logic designed for the POL 202, the logic defined for this middle layer module 206 combines the service-based or orchestration logic of the module 212 in the lower layer with the instrumentation logic for directly controlling the instrumentation of the middle layer module 206.
[0034] Thus, the cause-effect matrix 102 represents a convenient diagram for providing an overview of the entire logic of module 206 and provides a new approach to performing automation engineering to achieve a simple and efficient combination of traditional instrument-based control logic and service-based control logic. This is an easy-to-understand format, even for non-automation engineers, and is well-suited for handling two different control code variants.
[0035] In other examples, the nesting can be extended to many more levels, so that even very large facilities can use the concept. Furthermore, the concept can be extended not only to physical modules with their own controllers, but also to so-called functional modules that do not have their own controllers but use a central controller or share a controller with other functional modules.
[0036] Cause-effect matrix editor 100 can also be used to define the logic for action and / or transition conditions when specifying the recipe of the process to be performed by industrial facilities. In this case, the process can be modular, non-modular or partially modular, and this concept is generally applicable to automation engineering. For example, a recipe can be specified using a sequential function chart (SFC) known in the art, which includes steps with associated actions, transitions with associated logical conditions, and directional links between steps and transitions. Cause-effect matrix editor 100 can be used to configure the logic for entering a step, the action during the step (that is, when the step is in an active state), and exiting a step.
[0037] Figure 3 and Figure 4 The configuration of the SFC 350 describing the recipe is shown. Figure 3 At 300, the cause-effect matrix editor 100 is shown for specifying action logic for entering step S1 of an SFC 350 representing a process recipe. In the non-limiting example shown, valve BDV15 is instructed to open upon entering step S1. Thus, an action may be triggered upon executing step S1 or depending on other inputs (causes). Figure 4 At 400, the cause-effect matrix editor 100 is shown for specifying transition logic that defines the conditions for transitioning from step S1 to step S2 of SFC 350. When the transition condition becomes true, the current step S1 is exited and the following steps are executed. One or more causes can be combined and evaluated to determine when and whether the transition condition becomes true. In the non-limiting example shown, a transition is made from step S1 to step S2 in response to parameter V of instrument PS007 becoming false or parameter PV of instrument PC007 falling below 35.
[0038] In a variation of the above system and method, a function block diagram (FBD) replaces the cause-effect matrix. The standard-compliant FBD language can be adapted for services by introducing special function blocks that provide service-based interfaces. Services can be controlled through FBD with the help of function blocks (FBs), such as Figure 5 As shown, this FB encapsulates a service. In addition to the standard inputs and outputs that each service may have (such as commands or current status), the FB also has service parameters specific to the service, such as the parameter "FlowRate" for metering services. In addition, the service FB can have process inputs and process outputs according to the MTP standard.
[0039] Now refer to Figure 6 , shows a high-level diagram of an exemplary computing device 800 that can be used in accordance with the systems and methods disclosed herein. Computing device 800 includes at least one processor 802 that executes instructions stored in memory 804. The instructions can be, for example, instructions for implementing the functions described as being performed by one or more of the components described above, or instructions for implementing one or more of the methods described above. Processor 802 can access memory 804 via a system bus 806. In addition to storing executable instructions, memory 804 can also store session input, scores assigned to session input, and the like.
[0040] The computing device 800 further includes a data store 808 accessible by the processor 802 via a system bus 806. The data store 808 may include executable instructions, log data, and the like. The computing device 800 also includes an input interface 810 that allows external devices to communicate with the computing device 800. For example, the input interface 810 may be used to receive instructions from an external computer device, a user, and the like. The computing device 800 also includes an output interface 812 that interfaces the computing device 800 with one or more external devices. For example, the computing device 800 may display text, images, and the like via the output interface 812.
[0041] It is contemplated that external devices that communicate with the computing device 800 via the input interface 810 and the output interface 812 can be included in an environment that provides substantially any type of user interface with which a user can interact. Examples of user interface types include graphical user interfaces, natural user interfaces, and the like. For example, a graphical user interface can accept input from a user using (multiple) input devices such as a keyboard, mouse, remote control, and provide output on an output device such as a display. In addition, a natural user interface can enable a user to interact with the computing device 800 in a manner that is not constrained by input devices such as a keyboard, mouse, remote control, and the like. In contrast, a natural user interface can rely on speech recognition, touch and stylus recognition, gesture recognition on and near the screen, mid-air gestures, head and eye tracking, voice and sound, vision, touch, gestures, machine intelligence, and the like.
[0042] Furthermore, although shown as a single system, it should be understood that the computing device 800 may be a distributed system. Thus, for example, several devices may communicate via a network connection and may jointly perform the tasks described as being performed by the computing device 800.
[0043] The various functions described herein can be implemented with hardware, software, or any combination thereof. If implemented with software, these functions can be stored or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer-readable storage media. Computer-readable storage media can be any available storage medium that a computer can access. As an example and not limitation, such computer-readable storage media can include flash memory storage media, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer. As used herein, disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks, and Blu-ray disks (BDs), wherein disks typically reproduce data magnetically, while optical disks typically reproduce data optically with lasers. In addition, propagation signals are not included within the scope of computer-readable storage media. Computer-readable media also include communication media, including any media that facilitates the transmission of a computer program from one place to another. For example, a connection can be a communication medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of communications media. Combinations of the above should also be included within the scope of computer-readable media.
[0044] Alternatively or additionally, the functions described herein may be performed at least in part by one or more hardware logic components. For example, but not limited to, illustrative types of hardware logic components that may be used include field programmable gate arrays (FPGAs), program-specific integrated circuits (ASICs), program-specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0045] It should be understood that the above-mentioned circuit system may have other functions in addition to the above-mentioned functions, and these functions may be performed by the same circuit.
[0046] Applicants hereby disclose individually each individual feature described herein, as well as any combination of two or more such features, to the extent such feature or combination can be implemented in accordance with the common general knowledge of a person skilled in the art based on the present specification as a whole, regardless of whether such feature or combination of features solves any problem disclosed herein, and without limiting the scope of the claims. Applicants indicate that aspects of the present invention may consist of any such individual feature or combination of features.
[0047] It should be noted that embodiments of the present invention are described with reference to different categories. In particular, some examples are described with reference to methods, while other examples are described with reference to devices. However, those skilled in the art will appreciate from the description that, unless otherwise stated, any combination of features belonging to one category, as well as any combination of features belonging to different categories, is also considered disclosed herein. However, all features can be combined to provide synergistic effects that are not simply the sum of the features.
[0048] Although the present invention has been illustrated and described in detail in the drawings and the foregoing description, such illustration and description are to be considered illustrative rather than restrictive. The present invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments may be understood and implemented by one skilled in the art by studying the drawings, the disclosure, and the appended claims.
[0049] The word "comprising" does not exclude other elements or steps.
[0050] The indefinite article "a" or "an" does not exclude a plurality. In addition, the articles "a" and "an" as used herein should generally be construed to mean "one or more", unless specified otherwise or clear from the context to indicate a singular form.
[0051] A single processor or other unit may fulfill the functions of several items recited in the claims.
[0052] The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
[0053] The computer program may be stored / distributed on suitable media such as optical storage media or solid-state media provided with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless communication systems.
[0054] Any reference signs in the claims should not be construed as limiting the scope.
[0055] Unless otherwise specified, or clear from the context, the phrases "one or more of A, B, and C," "at least one of A, B, and C," and "A, B, and / or C" as used herein are intended to refer to all possible permutations of one or more of the listed items. That is, the phrase "X includes A and / or B" is satisfied if any of the following occurs: X includes A; X includes B; or X includes both A and B.
Claims
1. A method for generating a control code for an industrial facility, the method comprising: defining control logic for controlling the industrial facility by editing a cause-effect matrix provided by an engineering tool, wherein the defining includes defining both instrument-based control logic and service-based control logic using the same cause-effect matrix, wherein the instrument-based control logic relates to direct control of facility equipment and the service-based control logic relates to indirect control of facility equipment via services exposed by modules, and wherein the instrument-based control logic relates to operation of a first module of the industrial facility and the service-based control logic relates to operation of a second module nested within the first module; as well as The control code for controlling the industrial facility is generated based on the defined control logic.
2. The method of claim 1, wherein the instrument-based control logic is associated with operation of a non-modular portion of the industrial facility, and the service-based control logic is associated with operation of a modular portion of the industrial facility.
3. The method of any preceding claim, wherein the causal matrix comprises an extended causal matrix, the extended causal matrix enabling definition of both safety logic and process logic.
4. The method according to claim 1 or 2, further comprising: A recipe is specified for a process to be performed by the industrial facility, the recipe comprising at least one step associated with an action and at least one transition condition for transitioning to a subsequent step, wherein editing the cause-effect matrix to define the control logic comprises using the cause-effect matrix to define logic for the action, logic for the transition condition, or both.
5. The method according to claim 4, further comprising: The recipe for the process is specified using a sequential function chart.
6. A method of controlling an industrial facility, the method comprising: generating control codes for the industrial facility using a method according to any preceding claim; as well as The industrial facility is controlled using the generated control code.
7. A computing device (800) comprising a processor (802) configured to perform the method according to any one of claims 1 to 6.
8. A computer-readable medium (804, 808) comprising instructions which, when executed by a computing device (800), enable the computing device to perform the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Method and tool for automatic distribution of control code in a safety system
CN102959480A
Method And Tool For Automatic Distribution Of Control Code In A Safety System
US20130131843A1