Method, system, and computer program product for generating implementable sequential function chart code for process control systems.

JP7899530B2Active Publication Date: 2026-08-04YOKOGAWA ELECTRIC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
YOKOGAWA ELECTRIC CORP
Filing Date
2021-12-23
Publication Date
2026-08-04

Smart Images

  • Figure 0007899530000001
    Figure 0007899530000001
  • Figure 0007899530000002
    Figure 0007899530000002
  • Figure 0007899530000003
    Figure 0007899530000003
Patent Text Reader

Abstract

To provide a method allowing for generating an executable sequential function chart for subsequent search and implementation by a process control system.SOLUTION: An implementable sequential function chart generating step includes the steps of: (i) receiving device selection data representing devices selected to implement operation functions in a sequence flow; (ii) receiving operation data representing a set of the operation functions implemented by the selected devices; (iii) assigning values to one or a plurality of configuration parameters; (iv) receiving a set of control statements intended to be implemented for process flow control during implementation of the set of operation functions; (v) assigning values to one or a plurality of control statement configuration parameters; and a step of generating machine-readable SEBOL program code for implementing the set of operation functions.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of industrial automation and process control systems. More particularly, the present invention provides a method, system, and computer program product that enable the generation of executable sequential function charts for subsequent retrieval and implementation by a process control system.

Background Art

[0002] Industrial environments implement control systems (e.g., distributed process control systems) for executing and controlling processes for manufacturing, converting, or producing. A control system typically includes one or more process controllers connected to one or more field devices. Field devices may include valves, valve actuators, switches, and transmitters (e.g., temperature, pressure, level, and flow sensors) that are located within the industrial environment and configured for physical control functions or process control functions. Examples of field device control functions include opening and closing valves, as well as measuring process and / or environmental parameters (e.g., temperature or pressure) for controlling one or more processes within a process plant or system.

[0003] On the other hand, a process controller within a control system may be configured to receive signals generated by field devices, the received signals conveying information corresponding to process parameters measured by the field devices, and / or other information about the state of the field devices. The process controller may further execute a control application that implements one or more control modules for implementing process control decisions. The control modules within the process controller transmit control signals to field devices via communication lines or connections to control the operation of one or more of the field devices. Input / output (I / O) devices, positioned as communication intermediaries between the process controller and one or more field devices, enable data transfer and control command transfer between the process controller and field devices by converting electrical signals into digital values ​​and by sending and receiving such signals via one or more communication protocols.

[0004] A control system within a process plant may include one or more process controllers, each controller connected to one or more field devices via I / O cards and / or I / O ports. The one or more controllers store control applications and implement control strategies for the control and operation of field devices. The control system may be configured to track or collect data related to various plant assets or plant equipment, including but not limited to field devices, rotating equipment, and major machinery. The control system retrieves device-related data and / or performance data for all devices or assets within the plant or plant group for the purpose of monitoring the status and health of plant assets and performing maintenance work. Furthermore, the control system may be configured to function as a communication intermediary between a plant operator or operator terminal and one or more field devices, on the one hand, for the purpose of enabling efficient configuration, commissioning, inspection, and maintenance of such field devices.

[0005] For the purposes of this description, references to “field devices” are understood to include references to any of the following: valves, valve actuators, switches, transmitters, smart transmitters, positioners, or other sensor devices that may be located within an industrial process environment and may be configured for physical or process control functions. Field devices may also include “smart” field devices, i.e., devices that support digital communication protocols such as HART or Foundation fieldbus communication protocols.

[0006] For the purposes of this description, references to “control systems” should be understood as references to any control system that may be implemented within a process control environment, an industrial plant, or an industrial environment, and shall include distributed control systems (DCS) and / or safety control systems (SCS).

[0007] For the purposes of the following description, the term “physical device tag” means the device name or device identifier associated with an actual field device. Ideally, all field devices located in or coupled with a control system within an industrial environment are provided with a unique physical device tag. Typically, each field device is provided with local memory, and the physical device tag corresponding to such a field device is stored retrievably in that local memory. When a field device is coupled with a control system, the control system may retrieve and read the physical device tag corresponding to the field device and use such physical device tag as a unique identifier corresponding to the field device for the purpose of operating, controlling, or monitoring the field device.

[0008] For the purposes of the following description, the term “system tag” means a name or identifier uniquely associated with a software function block or software control module within a control system, which is configured to control, monitor, or interface with a particular field device. Ideally, every software function block in a software control module configured to control, monitor, or interface with a field device is provided with a unique system tag. The system tag is used by the control system to implement, control, and / or operate the corresponding software function block or software control module.

[0009] For the purposes of the following description, the term "tag" is understood to refer to either a physical device tag or a system tag.

[0010] When configuring and implementing processes in an industrial environment, a Piping and Instrumentation Diagram (P&ID) is used to show the piping of the process flow along with the installed equipment and instrumentation. Typically, one or more P&IDs are provided to engineers in printed form or as PDF or image files. P&IDs usually include standardized symbols and numbers for pipes, signal lines, instruments, and groups of instruments.

[0011] During the design process of a process control environment (for example, the design process of an industrial plant), a control engineer may design a process control system based on P&ID drawings. The control engineer reads the P&ID and extracts engineering data from it. This engineering data may be used to configure batch processes or one or more other processes within the process control environment.

[0012] Figure 1 shows an exemplary P&ID100. P&ID100 shown in Figure 1 represents a process environment for manufacturing and distributing tea, and includes representations of a teapot, inlet and outlet valves, water and steam inputs, and corresponding piping, valves, and control components related to the process.

[0013] The processes represented within a P&ID may be captured and displayed using a Sequential Function Chart (SFC). An SFC is a sequence of program code expressed in a graphical programming language, which is generated for implementation within a process control system. It can be used to program a process that can be represented as a series of sequentially organized steps implemented within the process control system.

[0014] For example, Figure 2 shows an SFC 200 for implementing a process of filling teapots with water to produce and serve tea within the process environment 100 of Figure 1. As shown in Figure 2, the SFC 200 comprises (i) initializing the process in step 202, (ii) filling the teapots in step 204, and (iii) ending the water supply step in step 206.

[0015] Each step within an SFC is defined by program code in a graphical programming language (preferably the Sequence and Batch-Oriented Language (SEBOL) programming language). The program code defines the actions performed in each step. Existing systems for generating SFCs involve generating SFCs within an SFC Sequence Builder Interface. The SFC Sequence Builder Interface is a graphical user interface that allows a user to define a series of ordered and linked steps.

[0016] When generating an SFC within a conventional SFC sequence builder interface, the user frequently needs to refer to the P&ID. This is because the program code must include the tag identifier or tag name of the physical device within the batch process in order for the program code to operate and control the physical device.

[0017] Figure 3 provides an exemplary representation 300 of P&ID 302 and a corresponding program code 304 of a type that may be included within the SFC corresponding to P&ID 302. As can be seen from Figure 3, various tag identifiers from P&ID 302 (e.g., 01XV001, 01LI001) are specifically included within the corresponding segments of the program code 304 for the purpose of enabling the SFC to operate and control the devices corresponding to these tag identifiers. Therefore, it is understood that when generating an SFC, the user will need to repeatedly refer to and browse the corresponding P&ID.

[0018] Figure 4 shows a type of SFC sequence editor 400 that may be configured to enable the generation of SFCs. The SFC sequence editor 400 may be configured so that an action sequence implemented by one or more specific devices or one or more components thereof may be generated within the SFC sequence editor 400. The SFC sequence editor 400 may provide a drawing canvas for a user or control engineer to create a sequence of ordered steps to represent a sequence flowchart. Each step in the sequence of ordered steps may have one or more actions that can be implemented on or by a specific device or one or more components thereof. The sequence of steps may be ordered by using directed connectors to interconnect the individual steps, and the directed connectors may specify the control flow and define how to proceed from one step to the next.

[0019] User-input-based or control engineer-input-based actions for creating a sequence of ordered steps within the SFC Sequence Editor 400 must be completed by coding the steps implemented in the program code text editor, so that the control engineer can specify or create programming code (e.g., SEBOL code) intended to be implemented in one or more specific steps in the operation sequence defined within the SFC Sequence Editor 400.

[0020] Figure 5 provides a representation 500 of the SFC sequence editor 502 and the text-based editor 504. Each step of the SFC being constructed can consist of program code (e.g., SEBOL code). By selecting a step in the SFC within the SFC sequence editor 502 (e.g., by double-clicking it or by triggering an appropriate command or interface option), the SFC sequence editor 502 invokes the text-based editor (SFC sequence editor 504) on the display, allowing a user or control engineer to write program code (e.g., SEBOL code) corresponding to the selected step. The code written in the text editor SFC sequence editor 504 is associated with or linked to the selected step in the SFC, so that when that step in the SFC is executed within the process control system, the corresponding program code is executed for the purpose of operating or controlling a particular instrument or component.

[0021] The types of prior art solutions described in relation to Figures 1 to 5 above present several disadvantages, including the fact that existing text-based editors used to generate SFC program code do not integrate the display of P&IDs within the editor, requiring users or control engineers to continuously switch between the P&ID display and the text editor to write SFC program code corresponding to the P&IDs, and that manually writing program code in a text-based editor is slow and prone to errors, especially if the user or control engineer is not familiar with the programming language. [Overview of the project] [Problems that the invention aims to solve]

[0022] Therefore, solutions are needed to address these shortcomings in existing state-of-the-art technologies. [Means for solving the problem]

[0023] The present invention provides a method, system, and computer program product that enable the generation of executable sequential function charts for subsequent retrieval and implementation by process control systems.

[0024] The present invention provides a processor implementation method for generating program code in a sequential function chart for process control within a process control system. In one embodiment, the method comprises: (i) receiving equipment selection data representing equipment selected to implement a sequence flow; (ii) receiving operation data representing a set of operation functions intended to be implemented by the selected equipment; (iii) assigning values ​​to one or more operation function configuration parameters corresponding to one or more operation functions; (iv) receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operation functions; (v) assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements; and (vi) generating machine-readable program code for implementing a set of operation functions based on one or more of the received operation data, the received control statement data, the assigned operation function configuration parameters, and the assigned control statement configuration parameters.

[0025] In a further embodiment of the present method, the step of receiving device selection data comprises: (i) receiving an input having device-selective user input within the display interface 700; (ii) rendering a visual representation of the device selected based on the device-selective user input on the display; (iii) receiving function block identifier data and function block type data associated with the selected device; and (iv) receiving operation data representing a set of operation functions intended to be implemented by the selected device.

[0026] The method steps for receiving operation data representing a set of operation functions intended to be implemented by a selected device may include: (i) in response to receiving user input, displaying a list of operation functions executable on the selected device; (ii) receiving a selection of an operation function from the displayed list of operation functions via another user input; (iii) identifying an operation function type associated with the selected operation function; (iv) searching for a set of configuration parameters associated with the identified operation function type; and (v) starting to display the selected operation function within a display interface.

[0027] In one embodiment, the method steps for assigning values to one or more operation function configuration parameters corresponding to one or more operation functions within a set of operation functions include: (i) associating the selected operation function with the set of selected operation function configuration parameters; (ii) searching for default operation function configuration parameter values for one or more operation function configuration parameters within the set of selected operation function configuration parameters; (iii) assigning the default operation function configuration parameter values to the corresponding operation function configuration parameters associated with the selected operation function; (iv) receiving user input to identify one or more user-specified parameter values for assignment to one or more operation function configuration parameters within the set of selected operation function configuration parameters; and (v) assigning the user-specified parameter values to the operation function configuration parameters corresponding to the selected operation function.

[0028] In a particular embodiment, the method step of receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of a set of operational functions comprises: (i) displaying a list of selectable control statements for process flow control corresponding to one or more operational functions intended to be implemented by a selected device; (ii) selecting a control statement from the list of selectable control statements based on user input; (iii) retrieving a set of configuration parameters associated with the selected control statement; and (iv) starting to display the selected control statement within a display interface.

[0029] In another embodiment of the method, the step of assigning values to one or more control statement configuration parameters corresponding to one or more control statements within a set of control statements comprises: (i) identifying a set of control statement configuration parameters corresponding to the control statements within the set of control statements; (ii) retrieving default configuration parameter values corresponding to one or more control statement configuration parameters within the identified set of control statement configuration parameters; (iii) assigning the default configuration parameter values to the corresponding control statement configuration parameters; (iv) receiving user input identifying one or more user-specified parameter values for assignment to one or more of the control statement configuration parameters; and (v) assigning the user-specified parameter values to the corresponding control statement configuration parameters.

[0030] In a particular embodiment of the method, the step of generating machine-readable SEBOL program code for implementing a set of operational functions comprises: (i) searching for a set of machine code generation rules corresponding to (a) a set of operational functions selected for implementation in a selected device, and (b) a set of control statements selected for process flow control corresponding to one or more operational functions in the set of operational functions; and (ii) generating machine-readable program code for implementing the set of operational functions in a selected device, wherein the generated machine-readable program code is based on (a) the searched set of machine code generation rules, (b) a set of operational functions and one or more operational function configuration parameter values ​​assigned to one or more operational function configuration parameters associated with the set of operational functions, (c) a set of control statements and one or more control statement configuration parameter values ​​assigned to one or more control statement configuration parameters associated with the set of control statements, and (d) function block type data associated with the selected device.

[0031] The present invention further provides a system for generating program code in a sequential function chart for process control within a process control system, the system comprising: (i) memory; and a processor configured to (a) receive equipment selection data representing equipment selected to implement a sequence flow; (b) receive operation data representing a set of operation functions intended to be implemented by the selected equipment; (c) assign values ​​to one or more operation function configuration parameters corresponding to one or more operation functions; (d) receive control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operation functions; (e) assign values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements; and (f) generate machine-readable program code for implementing a set of operation functions based on one or more of the received operation data, the received control statement data, the assigned operation function configuration parameters, and the assigned control statement configuration parameters.

[0032] The system may be configured such that the step of receiving device selection data includes (i) receiving an input with device-selective user input within a display interface, (ii) rendering a visual representation of the device selected based on the device-selective user input on the display, (iii) receiving function block identifier data and function block type data associated with the selected device, and (iv) receiving operation data representing a set of operational functions intended to be implemented by the selected device.

[0033] In one embodiment, the system may be configured such that the step of receiving data representing a set of operational functions intended to be implemented by a selected device includes: (i) responding to the receipt of user input by displaying a list of operational functions that can be performed by the selected device; (ii) receiving a selection of operational functions from the displayed list of operational functions via another user input; (iii) identifying the operational function type associated with the selected operational function; (iv) retrieving a set of configuration parameters associated with the identified operational function type; and (v) initiating the display of the selected operational function within the display interface.

[0034] In another embodiment, the system may be configured such that the step of assigning values ​​to one or more function configuration parameters corresponding to one or more function in a set of function functions includes: (i) associating a selected set of function configuration parameters with a selected function function; (ii) retrieving a default function configuration parameter value for one or more function configuration parameters in the selected set of function configuration parameters; (iii) assigning the default function configuration parameter value to the corresponding function configuration parameter associated with the selected function function; (iv) receiving user input identifying one or more user-specified parameter values ​​to be assigned to one or more function configuration parameters in the selected set of function configuration parameters; and (v) assigning the user-specified parameter value to the function configuration parameter corresponding to the selected function function.

[0035] In certain embodiments, the system may be configured to receive control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of a set of operational functions, comprising: (i) displaying a list of selectable control statements for process flow control corresponding to one or more operational functions intended to be implemented by a selected device; (ii) selecting a control statement from the list of selectable control statements based on user input; (iii) retrieving a set of configuration parameters associated with the selected control statement; and (iv) initiating the display of the selected control statement within a display interface.

[0036] In a further embodiment of the system, the step of assigning a value to one or more control statement configuration parameters corresponding to one or more control statements in a set of control statements comprises: (i) identifying a set of control statement configuration parameters corresponding to the control statements in the set of control statements; (ii) retrieving a default configuration parameter value corresponding to one or more control statement configuration parameters in the identified set of control statement configuration parameters; (iii) assigning the default configuration parameter value to the corresponding control statement configuration parameter; (iv) receiving user input identifying one or more user-specified parameter values ​​to be assigned to one or more of the control statement configuration parameters; and (v) assigning the user-specified parameter value to the corresponding control statement configuration parameter.

[0037] The system may be configured such that the step of generating machine-readable SEBOL program code for implementing a set of operational functions includes (i) searching for a set of machine code generation rules corresponding to (a) a set of operational functions selected for implementation on a selected device, and (b) a set of control statements selected for process flow control corresponding to one or more operational functions within the set of operational functions, and (ii) generating machine-readable program code for implementing the set of operational functions on a selected device, wherein the generated machine-readable program code is generated based on (a) the searched set of machine code generation rules, (b) a set of operational functions and one or more operational function configuration parameter values ​​assigned to one or more operational function configuration parameters associated with the set of operational functions, (c) a set of control statements and one or more control statement configuration parameter values ​​assigned to one or more control statement configuration parameters associated with the set of control statements, and (d) function block type data associated with the selected device.

[0038] The present invention also provides a computer program product for generating program code within a sequential function chart for process control in a process control system. The computer program product comprises a non-temporary computer-usable medium in which computer-readable program code is embodied, the computer-readable program code comprising instructions for implementing within a processor-based computing system: (i) receiving equipment selection data representing equipment selected to implement a sequence flow; (ii) receiving data representing a set of operational functions intended to be implemented by the selected equipment; (iii) assigning values ​​to one or more operational function configuration parameters corresponding to one or more operational functions; (iv) receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operational functions; (v) assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements; and (vi) generating machine-readable program code for implementing a set of operational functions based on one or more of the received operational data, the received control statement data, the assigned operational function configuration parameters, and the assigned control statement configuration parameters. [Brief explanation of the drawing]

[0039] [Figure 1] This figure shows an example of P&ID. [Figure 2] This is an example of a sequential function chart. [Figure 3] This figure shows an exemplary representation of SFC and the corresponding program code of a type that may be linked to the steps of SFC. [Figure 4] This figure shows a type of SFC sequence editor that may be configured to enable the generation of SFCs. [Figure 5]This figure shows the representation of the SFC sequence editor and the linked text-based editor. [Figure 6] This figure shows a system configured according to the teachings of the present invention for generating SFCs. [Figure 7] This figure shows the display interface of an SFC sequence editor configured according to the teachings of the present invention. [Figure 8] This is an illustrative schematic diagram of equipment used in an operation sequence, generated by an SFC sequence editor configured according to the teachings of the present invention. [Figure 9] This figure shows a display menu implemented by an SFC sequence editor, configured according to the teachings of the present invention. [Figure 10] This figure shows a display menu implemented by an SFC sequence editor, configured according to the teachings of the present invention. [Figure 11] This figure shows a display menu implemented by an SFC sequence editor, configured according to the teachings of the present invention. [Figure 12] This figure shows a display menu implemented by an SFC sequence editor, configured according to the teachings of the present invention. [Figure 13] This is a flowchart illustrating various methods for generating an SFC according to the teachings of the present invention. [Figure 14] This is a flowchart illustrating various methods for generating an SFC according to the teachings of the present invention. [Figure 15] This is a flowchart illustrating various methods for generating an SFC according to the teachings of the present invention. [Figure 16] This is a flowchart illustrating various methods for generating an SFC according to the teachings of the present invention. [Figure 17] This is a flowchart illustrating various methods for generating an SFC according to the teachings of the present invention. [Figure 18] This is a flowchart illustrating various methods for generating an SFC according to the teachings of the present invention. [Figure 19] This is a flowchart illustrating various methods for generating an SFC according to the teachings of the present invention. [Figure 20] This figure shows an exemplary computer system in which various embodiments of the present invention may be implemented. [Modes for carrying out the invention]

[0040] The present invention provides a method, system, and computer program product that enable the generation of executable sequential function charts for subsequent retrieval and implementation by process control systems.

[0041] Figure 6 shows a system 600 configured to generate an executable sequential function chart according to the teachings of the present invention. System 600 comprises an SFC sequence editor controller 602, a command repository 604, an operation function repository 606, a code generator controller 608, and program code 610 (e.g., SEBOL code) generated through the operation of system 600. The configuration and functions of system 600 are described in more detail below.

[0042] The SFC sequence editor controller 602 may also include a processor implementation controller configured to generate and control a display interface comprising at least a diagram panel, a control statement panel, a command panel, and a configuration parameter panel, the functions of which are described in more detail below.

[0043] The command repository 604 includes a non-temporary memory-based repository of operational functions and control statements added or selected by the user in relation to a particular SFC. The set of operational functions and control statements stored in the command repository 604 may be associated with the corresponding SFC to which the set of operational functions and control statements was added or selected by the user.

[0044] The operational function repository 606 includes a non-temporary memory-based repository used to store information representing a set of operational functions available to be performed in relation to a particular functional block type.

[0045] For the purposes of this explanation, “control statement” shall be understood as a statement or instruction that defines process flow control, enables the setting of a control path, and / or enables the repeated execution of one or more process steps.

[0046] For the purposes of this explanation, “operational function” is understood to mean an action that may be performed on the device or its components, and that such action results in a change of state within the device or component. Non-exclusive examples of “operational functions” include the portable actions of “read PV,” “write PV,” “open,” “close,” “execute,” and “stop.”

[0047] For the purposes of this explanation, a “function block” shall be understood as a set of instructions or code that defines and implements a function between an input variable and an output variable.

[0048] For the purposes of this explanation, "function block type" is understood as a category of function blocks, and function blocks associated with a category share a common set of properties, parameters, or attributes.

[0049] Each device or one or more corresponding components intended to implement SFC has one or more corresponding functional blocks. A corresponding functional block enables control, monitoring, or interface with the device or component. Each such functional block has a corresponding functional block type. Furthermore, each functional block type has a set of corresponding operational functions associated with it; therefore, all functional blocks of such functional block type inherit the set of corresponding operational functions and can be implemented in relation to that functional block. Information identifying the operational functions available for implementation in relation to each particular functional block type is stored in the operational function repository 606 and is searchable from there.

[0050] The code generator controller 608 comprises a processor implementation code generator controller configured to generate syntactically correct program code (e.g., SEBOL code) by parsing, interpreting, and compiling operational functions and control statements selected by the user to be implemented in relation to the SFC, which may be retrieved from the command repository 604.

[0051] Figure 7 shows a display interface 700 generated and controlled by an SFC sequence editor to implement the present invention. In one embodiment, the display interface 700 may be generated by an SFC sequence editor controller 602. The display interface 700 may be configured to include a plurality of interface subwindows, including a diagram panel 702, a control statement panel 704, a command panel 706, and a configuration parameter panel 708.

[0052] The display interface 700 or diagram panel 702 may be configured to enable the generation, display, and editing of graphical representations of equipment or components involved in the operation sequence within the SFC. For example, the diagram panel 702 may be used to generate a graphical representation 800 (as shown in Figure 8), and the equipment or components in the drawing may be selected by the user from a library or menu of selectable graphical representations of the equipment or components. In the graphical representation 800, equipment or components within dashed boxes represent equipment or components that can be selected by the user. Each selected equipment or component may be associated with a function block identifier (e.g., function block name) and a function block type.

[0053] In various embodiments, the display interface 700 may be configured such that the diagram panel 702 (i) allows a user to include drawings, diagrams, or visual or schematic representations of physical equipment or components included in one or more operation sequences; (ii) allows a user to select drawings, diagrams, or visual or schematic representations of physical equipment or components from a library or menu; (iii) allows a user to associate equipment or components included in the diagram panel 702 with corresponding function block identifiers (e.g., function block names) and / or function block types; and (iv) enables the display of operations associated with equipment or components included in drawings, diagrams, or visual or schematic representations.

[0054] In one embodiment, the display interface 700 may be configured to display a list of action functions that can be performed on the device or component when it receives a user command (e.g., a right-click from a mouse or pointing device) on a device or component represented in the diagram panel 702 (e.g., displaying a drop-down menu). For example, the action functions associated with the device or one or more components may include any of the action functions "open," "close," "execute," or "stop."

[0055] An exemplary example of this embodiment is provided within the hierarchical context menu 900 shown in Figure 9. Figure 9 illustrates how, by selecting a valve device in diagram 800, the user can choose to invoke commands to open / close / run / stop the valve, or to read / write properties of a functional block associated with the valve device (for example, to process, manipulate, and set its parameter values). As observed from the hierarchical context menu 900 in Figure 9, selecting the device corresponding to the tag “01XV001” (which is a valve device) results in a dropdown menu 904 providing selectable “Command,” “Read,” and “Write” options. Selecting the "Command" option in the dropdown menu 904 displays a dropdown submenu 906 offering "Open," "Close," "Execute," and "Stop" functions. Selecting either the "Read" or "Write" option in the dropdown menu 904 generates a dropdown submenu 908 offering "Process Value (PV)," "Operation Value (MV)," and "Setting Value (SV)" functions, allowing the user to choose either to implement a "Read" or "Write" command in relation to the selected device. Thus, the diagram panel 702 enables the configuration of various operational functions and various operational parameters for the selected device or component.

[0056] As shown in more detail in Figure 10, when a specific operation function (for example, the commands to open / close / execute / stop the valve device in Figure 9) is selected, the selected operation function is added to the command panels 706, 1010 within the display interface 700.

[0057] Furthermore, as shown in Figure 10, the display interface 700 may be configured such that the command panel 706, 1010 includes at least two columns. The first column is used to display a function (i.e., a description of the selected operational function), and the second column is used to display operational statements that are executed in program code (e.g., SEBOL code) as pseudocode or in a similar manner or form to pseudocode.

[0058] Each operational function associated with a device or component may have a corresponding operational function type, the operational function type containing information representing the category to which the operational function corresponds. In other words, an operational function type represents a logical group of similar operational functions. For example, (i) the operational functions "open" and "close" may correspond to the operational function type "command", (ii) the operational functions "read PV" and "read MV" may correspond to the operational function type "read", and (iii) the operational functions "write SV" and "write PV" may correspond to the operational function type "write".

[0059] Each operational function type (i.e., each category of operational functions) associated with or selected for a device or component may have different configuration parameters associated with the operational functions of that operational function type. In other words, operational functions of a particular operational function type inherit the configuration parameters associated with that operational function type. Therefore, operational functions corresponding to the same operational function type typically have the same configuration parameters.

[0060] As shown in Figure 11, the display interface 700 may be configured such that, when an operation function is selected and added to the command panel 1102, each operation function is assigned a configuration parameter 1106 associated with the operation function type. Furthermore, each configuration parameter may be assigned a default value.

[0061] The display interface 700 may be configured such that configuration parameter values ​​(including default values ​​assigned in the manner described above) may be modified by a user or control engineer through the configuration parameter panel 708. For example, the initial default variable name "var1" shown in the command panel 1010 in Figure 10 may subsequently be replaced with a more appropriate variable name through user input.

[0062] In addition to operational functions, one or more control statements can also be associated with the device or one or more of its components.

[0063] Each control statement may have different configuration parameters associated with that control statement.

[0064] As shown in Figure 11, each control statement represented in the command panel 1102 may be assigned configuration parameters 1104 and 1108 associated with the control statement. Each such set of control statements for configuration parameters 1104 and 1108 may be assigned a default value.

[0065] The display interface 700 may be further configured to allow control statements to be added through the control statement panel 704. Such control statements (e.g., for-loop(s), while-loop(s), and if-else statements) allow the user or operator to control the order and flow of program code. As shown in Figure 12, one or more control statements may be selected within the control statement panel 704 (from among several available template control statements) and thus added to the command panels 706, 1010. The display interface 700 may be configured so that control statement parameters are initially assigned default parameter values, which can later be modified through the configuration parameter panel 708.

[0066] In one embodiment, the display interface 700 may be configured to display a list of control statements that the user can select for inclusion in program code that is intended to be linked to or implemented within the SFC, and for selecting one or more of the displayed control statements to be included in the program code based on user input.

[0067] Furthermore, the display interface 700 may be configured to allow the command panel 706 to display a list of control statements and actions selected by the user to be included in program code that is linked to or intended to be implemented within the SFC.

[0068] Furthermore, the display interface 700 may be configured, via a configuration parameter panel 708, to allow the user to modify configuration parameters of operational functions and / or control statements selected for inclusion in program code intended to be linked to or implemented within the SFC.

[0069] Once all the necessary operational functions and control statements are properly entered and configured within the command panel 706, the code generator (for example, the code generator implemented by the code generator controller 608 in system 600 in Figure 6) is executed to convert the operational and control statements into syntactically correct program code, such as a syntactically correct SEBOL program, which can be linked to the corresponding SFC and can also be used directly to implement the corresponding SFC.

[0070] Figure 13 shows a method for generating program code within an SFC according to the teachings of the present invention. In one embodiment, the method of Figure 13 may be implemented within the system 600 of Figure 6.

[0071] Step 1302 comprises initiating the generation of SFCs for a batch process. The generation of SFCs may be initiated in the SFC sequence editor controller 602 based on a start command received from the user.

[0072] Step 1304 comprises receiving device selection data representing the devices selected to implement the SFC. The device selection data may comprise data identifying one or more devices or components selected by the user for implementing operational functions within the SFC. The data may be based on received user input identifying the devices or components selected by the user. In one embodiment, user input for selecting devices or components may be received through a diagram panel 702 in the display interface 700. Receiving the device selection data may further comprise the step of receiving or retrieving data representing functional blocks and / or functional block types associated with each selected device or component. The received device selection data may be stored searchably in the command repository 604 of the system 600 in such a way that the received device selection data is associated with a corresponding command stored in the command repository 604. In one embodiment, the device selection data is stored in the command repository 604 together with data that associates the device selection data with a corresponding SFC, or a corresponding step or operational function within the SFC.

[0073] Step 1306 comprises receiving operation data representing a set of operation functions intended to be implemented by the selected device or component. The data may represent one or more operation functions corresponding to the selected device or component, identified based on the information received in step 1304. In one embodiment, the operation functions in the set of operation functions consist of one or more operation functions associated with a function block type corresponding to the selected device or component. The data in step 1306 may be received through user input received in the diagram panel 702 within the display interface 700.

[0074] Step 1308 comprises assigning values ​​to one or more configuration parameters corresponding to one or more operational functions within a set of operational functions. For any configuration parameter, the assigned value may include either a predefined value / default value associated with that configuration parameter, or it may include a user-specified value. In one embodiment, one or more values ​​may be assigned to operational configuration parameters based on user input received through a configuration parameter panel 708 in the display interface 700.

[0075] Step 1310 comprises receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of a set of operational functions. The control statement data may represent one or more control statements corresponding to a selected device or component, identified based on the information received in step 1304. The control statements in step 1310 may be received through user input received in the control statement panel 704 within the display interface 700.

[0076] Step 1312 comprises assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in a set of control statements. For any control statement configuration parameter, the assigned value may include either a predefined value / default value associated with that control statement configuration parameter, or it may include a user-specified value. In one embodiment, one or more values ​​may be assigned to the control statement configuration parameters based on user input received through the configuration parameter panel 708 in the display interface 700.

[0077] Step 1314 comprises generating machine-readable program code to implement a set of operational functions and control statements based on one or more of the received operational data, received control statement data, assigned operational configuration parameters, and assigned control statement configuration parameters. In one embodiment, the machine-readable code may be generated by a code generator controller 608 of the system 600. In a preferred embodiment, the machine-readable code is SEBOL program code.

[0078] Figure 14 shows a method for receiving device selection data according to step 1304 of the method in Figure 13. In one embodiment, the method in Figure 14 may be implemented through a diagram panel 702 so as to be implemented within a display interface 700.

[0079] Step 1402 comprises receiving an input having an instrument-selective user input within the diagram panel 702 of the display interface 700. The instrument-selective user input may include a user input that identifies one or more instruments or components selected by the user for implementing the operation within the SFC. The user input for selecting an instrument or component may be received through the diagram panel 702 in the display interface 700.

[0080] Step 1404 comprises rendering a visual representation on the display of a device or component selected based on the device-selective user input received in step 1402.

[0081] Step 1406 comprises receiving functional block identifier data and / or functional block type data associated with the selected device or component. The functional block identifier data and / or functional block type data may be received through user input, extracted from P&ID, or retrieved from a database.

[0082] Figure 15 illustrates a method for receiving operational data representing a set of operational functions intended to be implemented by a selected device or component, following step 1306 of the method in Figure 13. In one embodiment, the method in Figure 15 may be implemented through a diagram panel 702, so as to be implemented within a display interface 700.

[0083] Step 1502 comprises responding to receiving user input through the display interface 700 (for example, through the diagram panel 702) by displaying a list of operational functions that can be performed on the selected device or component. User input may include any input through a right-click from a user interface device, such as a mouse or pointer device, in relation to the device or component represented in the diagram panel 702. The list of operational functions may be displayed in the form of a drop-down menu or a list that appears in response to user input. An exemplary example of displaying a list of operational functions associated with a device or component in response to receiving user input is shown in the hierarchical context menu 900 in Figure 9. In one embodiment, the list of operational functions associated with a device or component may include a list of operational functions associated with a function block type corresponding to the device or component.

[0084] Step 1504 comprises receiving user input through a display interface, the user input being a selection of an action function from a displayed list of available action functions. In this case, the user input may also include arbitrary input via a left click from a user interface device, such as a mouse or pointer device, for the action function that the user intends to select from the displayed list of available action functions.

[0085] Step 1506 comprises identifying the function type associated with the selected function. The function type may be identified based on defined or stored function type information associated with each function in the list of executable functions displayed in step 1502. In one embodiment, the function type may be identified by the SFC sequence editor controller 602 based on data retrieved from the function repository 606.

[0086] Step 1508 comprises searching for a set of configuration parameters associated with the identified operational function type.

[0087] Subsequently, step 1510 comprises initiating the display of the selected operational function in the command panel 706 of the display interface 700. In one embodiment, the display of the selected operational function in the command panel 706 includes displaying a description of the selected operational function in a first column of the command panel 706, and displaying pseudocode corresponding to the selected operational function in a second column of the command panel.

[0088] Figure 16 is a flowchart showing a method for assigning configuration parameters to one or more operational functions within a set of operational functions. In one embodiment, the method of Figure 16 is performed for the purpose of implementing step 1308 of the method of Figure 13. In one embodiment, the method of Figure 16 may be implemented within the SFC sequence editor controller 602.

[0089] Step 1602 comprises associating the selected operating function with a selected set of operating function configuration parameters. The selected set of operating function configuration parameters may be identified based on one or more user inputs that select or identify operating function configuration parameters to associate with the selected operating function. In one embodiment, the operating function configuration parameters may be selected by user input received through a diagram panel 702 in the display interface 700.

[0090] In step 1604, the default function configuration parameter values ​​are retrieved for one or more function configuration parameters within the selected set of function configuration parameters. The default function configuration parameter values ​​may be retrieved from a database configured to store default function configuration parameter values. In one embodiment, the default function configuration parameter values ​​may be retrieved from the function repository 606. The retrieval of default function configuration parameter values ​​may be implemented by the SFC sequence editor controller 602.

[0091] Step 1606 comprises assigning default function configuration parameter values ​​to the corresponding function configuration parameters associated with the selected function. In one embodiment, the assignment step may be implemented by the SFC sequence editor controller 602.

[0092] Step 1608 comprises receiving user input through the display interface 700 (for example, through the configuration parameter panel 708 within the display interface 700), the received user input identifying or specifying one or more non-default (for example, user-specified) parameter values ​​to assign to one or more operation function configuration parameters within the selected set of operation function configuration parameters.

[0093] Step 1610 comprises assigning non-default (i.e., user-specified) parameter values ​​to the operation function configuration parameters corresponding to the selected operation function. In one embodiment, the assignment step 1610 may be implemented by the SFC sequence editor controller 602.

[0094] Figure 17 is a flowchart showing a method for receiving control statement data, which represents a set of control statements intended to be implemented for process flow control during the implementation of a set of operations. The method in Figure 17 may be implemented for the purpose of step 1308 of the method in Figure 13. In one embodiment, the method in Figure 17 may be implemented through a control statement panel 704, so as to be implemented within a display interface 700.

[0095] Step 1702 comprises displaying a list of selectable control statements for process flow control corresponding to one or more operations, or operational functions, or steps intended to be implemented by selected equipment.

[0096] Step 1704 comprises responding to the reception of user input through the display interface 700 (for example, through the control statement panel 704) by selecting a control statement from a list of selectable control statements. User input may include any input via a right-click from a user interface device, such as a mouse or pointer device, on a control statement displayed in the control statement panel 704.

[0097] Step 1706 comprises retrieving a set of configuration parameters associated with the selected control statement. The set of configuration parameters associated with the selected control statement may be retrieved by the SFC sequence editor controller 602 from the operation function repository 606. In one embodiment, the set of configuration parameters may be retrieved based on the determination that the set of configuration parameters is associated with the control statement.

[0098] Step 1708 comprises initiating the display of the selected control statement within the command panel 706 of the display interface 700.

[0099] Figure 18 is a flowchart showing how to assign control statement configuration parameters to one or more control statements in a set of control statements. The method in Figure 18 may be performed for the purpose of step 1312, which implements the method in Figure 13. In one embodiment, the method in Figure 18 may be implemented within the SFC sequence editor controller 602.

[0100] Step 1802 comprises identifying a selected set of control statement configuration parameters for the selected operating function. The selected set of control statement configuration parameters may be identified based on one or more user inputs that select or identify control system configuration parameters to associate with the selected operating function. In one embodiment, the control system configuration parameters may be selected by user input through a control statement panel 708 in the display interface 700.

[0101] Step 1804 comprises retrieving default configuration parameter values ​​corresponding to one or more control statement configuration parameters within the selected set of control statement configuration parameters. The default control statement configuration parameter values ​​may be retrieved from a database configured to store default control statement configuration parameter values. In one embodiment, the default control statement configuration parameter values ​​may be retrieved from a repository or database (for example, a control statement repository or database not explicitly shown in the accompanying drawings). The retrieval of default control statement configuration parameter values ​​may be implemented by the SFC sequence editor controller 602.

[0102] Step 1806 comprises assigning default configuration parameter values ​​to their corresponding control statement configuration parameters. In one embodiment, the assignment step may be implemented by the SFC sequence editor controller 602.

[0103] Step 1808 comprises receiving input through the display interface 700 (for example, through the configuration parameter panel 708 within the display interface 700), the received user input identifying or specifying one or more non-default (or user-specified) parameter values ​​to assign to one or more control statement configuration parameters in a selected set of control statement configuration parameters.

[0104] Step 1810 comprises assigning non-default (or user-assigned) parameter values ​​to their corresponding control statement configuration parameters. In one embodiment, assignment step 1610 may be implemented by the SFC sequence editor controller 602.

[0105] Figure 19 is a flowchart illustrating a method for generating machine-readable code to implement a set of operational functions based on one or more of the received operational functions, received control statement data, assigned operational function configuration parameters, and assigned control statement configuration parameters. In one embodiment, the method of Figure 19 is performed to implement step 1314 of the method of Figure 13. The method of Figure 19 may be implemented by a processor implementation code generator controller 608 in the system 600. In one embodiment, the method of Figure 19 results in the generation of SEBOL program code.

[0106] Step 1902 comprises searching for a set of machine code generation rules that correspond to one or both of the following: (i) a set of operational functions selected for implementation in a selected device or component, and (ii) a set of control statements selected for process flow control corresponding to one or more operational functions within the set of operational functions.

[0107] Step 1904 is to generate machine-readable program code for implementing a set of operational functions in a selected device or component, wherein the generated machine-readable program code is based on (i) a set of retrieved machine code generation rules, (ii) a set of operational functions and one or more operational function configuration parameter values ​​assigned to one or more operational function configuration parameters associated with the set of operational functions, (iii) a set of control statements and one or more control statement configuration parameter values ​​assigned to one or more control statement configuration parameters associated with the set of control statements, and (iv) function block identifier data and / or function block type data associated with the selected device or component. In one embodiment, the set of retrieved machine code generation rules may comprise a set of syntactic and / or lexical rules for generating machine-readable code in a specified programming language. In a further embodiment, the set of retrieved machine code generation rules is a set of syntactic and / or lexical rules for generating SEBOL program code.

[0108] Figure 20 shows an exemplary computer system in which various embodiments of the present invention may be implemented.

[0109] System 2000 includes a computer system 2002, which comprises one or more processors 2004 and at least one memory 2006. The processors 2004 are configured to execute program instructions and may be actual processors or virtual processors. It will be understood that computer system 2002 does not imply any limitations on the scope or functionality of the embodiments described. Computer system 2002 may include, but is not limited to, one or more general-purpose computers, programmed microprocessors, microcontrollers, integrated circuits, and other devices or arrangements of devices that can implement the steps constituting the method of the present invention. Exemplary embodiments of computer system 2002 according to the present invention may include one or more servers, desktops, laptops, tablets, smartphones, mobile phones, mobile communication devices, tablets, phablets, and personal digital assistants. In one embodiment of the present invention, memory 2006 may store software for implementing various embodiments of the present invention. Computer system 2002 may have additional components. For example, the computer system 2002 may include one or more communication channels 2008, one or more input devices 2010, one or more output devices 2012, and storage 2014. Interconnection mechanisms (not shown), such as buses, controllers, or networks, interconnect the components of the computer system 2002. In various embodiments of the present invention, operating system software (not shown) provides an operating environment for various software running on the computer system 2002 using a processor 2004 and manages different functions of the components of the computer system 2002.

[0110] Communication Channel 2008 enables communication to various other computing entities via a communication medium. The communication medium provides information such as program instructions, or other data within the communication medium. The communication medium includes, but is not limited to, wired or wireless methodologies implemented in electrical, optical, RF, infrared, acoustic, microwave, Bluetooth®, or other transmission media.

[0111] The input device 2010 may include, but is not limited to, a touchscreen, keyboard, mouse, pen, joystick, trackball, voice device, scanning device, or any other device capable of providing input to the computer system 2002. In one embodiment of the present invention, the input device 2010 may be a sound card or similar device that accepts audio input in analog or digital format. The output device 2012 may include, but is not limited to, a user interface on a CRT, LCD, LED display, or any other display associated with any of the following: a server, desktop, laptop, tablet, smartphone, mobile phone, mobile communication device, tablet, phablet, and personal digital assistant, printer, speaker, CD / DVD writer, or any other device that provides output from the computer system 2002.

[0112] Storage 2014 may include, but is not limited to, magnetic disks, magnetic tapes, CD-ROMs, CD-RWs, DVDs, any kind of computer memory, magnetic stripes, smart cards, printed barcodes, or any other temporary or non-temporary media that can be used to store information and can be accessed by the computer system 2002. In various embodiments of the present invention, storage 2014 may include program instructions for implementing any of the embodiments described.

[0113] In one embodiment of the present invention, the computer system 2002 is part of a distributed network or part of a set of available cloud resources.

[0114] The present invention may be implemented in many ways, including as a system, method, or computer program product such as a computer-readable storage medium or a computer network in which programming instructions are communicated remotely.

[0115] The present invention may be appropriately embodied as a computer program product for use in a computer system 2002. The method described herein is typically implemented as a computer program product comprising a set of program instructions executed by a computer system 2002 or any other similar device. The set of program instructions may be a set of computer-readable code stored on a tangible medium, such as a computer-readable storage medium (storage 2014), e.g., a diskette, CD-ROM, ROM, flash drive or hard disk, or a modem or other interface device, including but not limited to optical or analog communication channels 2008. The implementation of the present invention as a computer program product may also be intangible, using wireless techniques including but not limited to microwave, infrared, Bluetooth® or other transmission techniques. These instructions can be preloaded into the system, recorded on a storage medium such as a CD-ROM, or made available for download over a network such as the Internet or a mobile phone network. The set of computer-readable instructions may embody all or part of the functions described herein.

[0116] Based on the above, it will be clear that the present invention offers significant advantages. In particular, the present invention minimizes the amount of manual coding required to generate one or more SFCs for batch processes within a process control system. Furthermore, the present invention enables the integration of a visual representation of the P&ID into the user interface (through a diagram panel of the display interface), thereby eliminating the need to continuously switch between the P&ID and the user interface. Moreover, the present invention enables users who may not have deep knowledge of process control system-specific programming languages ​​(such as SEBOL) to nevertheless generate SFCs that implement such programming languages.

[0117] While exemplary embodiments of the present invention are described and illustrated herein, it will be understood that they are merely illustrative. Those skilled in the art will understand that various modifications in form and detail may be made without departing from or prejudging the spirit and scope of the invention as defined by the appended claims. Furthermore, the present invention as appropriately disclosed herein may be carried out without elements not specifically disclosed herein, and in particular embodiments that are specifically contemplated, the present invention is intended to be carried out without one or more elements not specifically disclosed herein. [Explanation of Symbols]

[0118] 100 P&ID 100 process environment 200 SFC 300 expressions 302 P&ID 304 Program Code 400 SFC Sequence Editor 500 expressions 502 SFC Sequence Editor 504 Text-based editor 600 System 602 SFC Sequence Editor Controller 604 Command Repository 606 Functionality Repository 608 Code Generator Controller 610 Program Code 700 display interface 702 Diagram Panel 704 Control Statement Panel 706 Command Panel 708 Configuration Parameter Panel 800 Diagrammatic Representations 900 Hierarchical Context Menus 904 Dropdown menu 906 Drop-down submenu 908 Drop-down submenu 1010 Command Panel 1010 Configuration Panel 1102 Command Panel 1104 Configuration Parameters 1106 Configuration Parameters 1108 Configuration Parameters 2000 System 2002 Computer System 2004 Processor 2006 Memory 2008 Communication Channel 2010 Input Devices 2012 Output Devices 2014 Storage

Claims

1. A processor implementation method for generating program code within a sequential function chart for process control in a process control system for controlling multiple components involved in a sequence flow, A step of receiving equipment selection data representing equipment selected to implement the sequence flow, wherein the equipment includes a plurality of components connected by piping that are involved in the sequence flow, A step of receiving operation data representing a set of operation functions intended to be implemented by each component of the selected device, wherein an operation sequence is defined for each component, and each of the set of operation functions corresponds to an operation function type. A step of assigning values ​​to one or more operational function configuration parameters corresponding to one or more operational functions, A step of receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operational functions, wherein the control statements include statements for controlling the order of the program code set by a user or operator via a display interface; The steps include assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements, A step of generating machine-readable program code to implement a set of operational functions based on one or more of the received operational data, the received control statement data, the assigned operational function configuration parameters, and the assigned control statement configuration parameters, wherein the received operational data, the received control statement data, the assigned operational function configuration parameters, and the assigned control statement configuration parameters can be modified by the user or operator via the display interface. A processor implementation method comprising the following features.

2. The step of receiving the device selection data is, Within the aforementioned display interface, the steps include receiving an input that includes user input for a select device, The steps include rendering a visual representation of the selected device on a display based on user input of the selected device, The steps include receiving functional block identifier data and functional block type data associated with each component of the selected device, The steps include receiving operational data representing a set of operational functions intended to be implemented by each component of the selected device, and The method according to claim 1, comprising:

3. The step of receiving operational data representing a set of operational functions intended to be implemented by each component of the selected device is: The steps include responding to the receipt of user input by displaying a list of operational functions that can be performed by each component of the selected device, The steps include receiving a selection of an operating function from the displayed list of operating functions via another user input, The steps include identifying the type of operation function associated with the selected operation function, The steps include searching for a set of configuration parameters associated with the identified operational function type, The steps include: starting to display the selected operating function within the display interface; The method according to claim 1, comprising:

4. The step of assigning values ​​to one or more operational function configuration parameters corresponding to one or more operational functions within the set of operational functions is: The steps include associating a selected set of selected operational function configuration parameters with a selected operational function, The steps include: searching for the default operational function configuration parameter value for one or more operational function configuration parameters within the selected set of operational function configuration parameters; The steps include assigning the default operation function configuration parameter value to the corresponding operation function configuration parameter associated with the selected operation function, The steps include receiving user input that identifies one or more user-specified parameter values ​​to be assigned to one or more operation function configuration parameters within the selected set of operation function configuration parameters, The steps include assigning the user-specified parameter value to the operation function configuration parameter corresponding to the selected operation function, and The method according to claim 1, comprising:

5. The step of receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operational functions is: The steps include displaying a list of selectable control statements for process flow control corresponding to one or more operational functions intended to be implemented by the selected device, The steps include selecting a control statement from the list of selectable control statements based on user input, The steps include: searching for a set of configuration parameters associated with the selected control statement; The steps of starting to display the selected control statement within the display interface. The method according to claim 2 or 3, comprising:

6. The step of assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements is: The steps include identifying a set of control statement configuration parameters corresponding to a control statement in the set of control statements, The steps include: searching for default configuration parameter values ​​corresponding to one or more control statement configuration parameters within the identified set of control statement configuration parameters; The steps include assigning the default configuration parameter values ​​to the corresponding control statement configuration parameters, The steps include receiving user input that identifies one or more user-specified parameter values ​​to be assigned to one or more of the control statement configuration parameters, The step of assigning the user-specified parameter value to the corresponding control statement configuration parameter. The method according to claim 1, comprising:

7. The step of generating machine-readable program code for implementing the set of operational functions is: (i) a set of operating functions selected for implementation in the selected device, and (ii) a set of control statements selected for process flow control corresponding to one or more operating functions in the set of operating functions, A step of generating machine-readable program code for implementing the set of operating functions in the selected device, wherein the generated machine-readable program code comprises (i) a set of retrieved machine code generation rules, (ii) a set of operating functions and one or more operating function configuration parameter values ​​assigned to one or more operating function configuration parameters associated with the set of operating functions, (iii) a set of control statements and one or more control statement configuration parameter values ​​assigned to one or more control statement configuration parameters associated with the set of control statements, and (iv) function block type data associated with the selected device. Based on the steps and The method according to claim 1, comprising:

8. A system for generating program code within a sequential function chart for process control in a process control system for controlling multiple components involved in a sequence flow, Memory and Receiving equipment selection data representing equipment selected to implement the sequence flow, wherein the equipment includes a plurality of components connected by piping that are involved in the sequence flow, Receiving operation data representing a set of operation functions intended to be implemented by each component of the selected device, wherein an operation sequence is defined for each component, and each of the set of operation functions corresponds to an operation function type, Assigning values ​​to one or more operational function configuration parameters corresponding to one or more operational functions, Receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operational functions, wherein the control statements include statements for controlling the order of the program code set by a user or operator via a display interface; Assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements, The process involves generating machine-readable program code for implementing a set of operational functions based on one or more of the received operational data, the received control statement data, the assigned operational function configuration parameters, and the assigned control statement configuration parameters, wherein the received operational data, the received control statement data, the assigned operational function configuration parameters, and the assigned control statement configuration parameters can be modified by the user or operator via the display interface. A processor configured to perform the following actions A system that includes these features.

9. Receiving the device selection data as described above Within the aforementioned display interface, the system receives inputs that include user input for a selectable device. On the display, rendering a visual representation of the selected device based on user input of the selected device, The system receives functional block identifier data and functional block type data associated with each component of the selected device. Receiving operational data representing a set of operational functions intended to be implemented by each component of the selected device. The system according to claim 8, configured to include the following:

10. The reception of operational data representing a set of operational functions intended to be implemented by each component of the selected device is Responding to user input by displaying a list of operational functions that can be performed by each component of the selected device, The system receives the selection of an operational function from the displayed list of operational functions via another user input, Identifying the type of operation function associated with the selected operation function, Searching for a set of configuration parameters associated with the identified operational function type, To start displaying the selected operating function within the display interface. The system according to claim 8, configured to include the following:

11. Assigning values ​​to one or more operational function configuration parameters corresponding to one or more operational functions within the set of operational functions, Associating a selected set of selected operational function configuration parameters with a selected operational function, Searching for the default function configuration parameter value for one or more function configuration parameters within the selected set of function configuration parameters, Assigning the default function configuration parameter value to the corresponding function configuration parameter associated with the selected function, Receiving user input that identifies one or more user-specified parameter values ​​to be assigned to one or more operation function configuration parameters within the selected set of operation function configuration parameters, Assigning the user-specified parameter value to the operation function configuration parameter corresponding to the selected operation function. The system according to claim 8, configured to include the following:

12. The reception of control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operational functions is Displaying a list of selectable control statements for process flow control corresponding to one or more operational functions intended to be implemented by the selected device, Based on user input, a control statement is selected from the list of selectable control statements, Searching for the set of configuration parameters associated with the selected control statement, To start displaying the selected control statement within the display interface. The system according to claim 9 or 10, configured to include:

13. Assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements, Identifying a set of control statement configuration parameters corresponding to a control statement within the set of control statements, Searching for default configuration parameter values ​​corresponding to one or more control statement configuration parameters within the identified set of control statement configuration parameters. and, Assigning the aforementioned default configuration parameter values ​​to the corresponding control statement configuration parameters, The system receives user input identifying one or more user-specified parameter values ​​to be assigned to one or more of the control statement configuration parameters, Assigning the user-specified parameter value to the corresponding control statement configuration parameter. The system according to claim 8, configured to include the following:

14. The machine-readable program code for implementing the set of operational functions is generated as described above. (i) searching for a set of machine code generation rules corresponding to a set of operational functions selected for implementation in the selected device, and (ii) a set of control statements selected for process flow control corresponding to one or more operational functions within the set of operational functions; The process involves generating machine-readable program code for implementing the set of operating functions in the selected device, wherein the generated machine-readable program code comprises (i) a set of retrieved machine code generation rules, (ii) a set of operating functions and one or more operating function configuration parameter values ​​assigned to one or more operating function configuration parameters associated with the set of operating functions, (iii) a set of control statements and one or more control statement configuration parameter values ​​assigned to one or more control statement configuration parameters associated with the set of control statements, and (iv) function block type data associated with the selected device. Based on generating The system according to claim 8, configured to include the following:

15. A computer program for generating program code within a sequential function chart for process control in a process control system for controlling multiple components involved in a sequence flow, within a processor-based computing system, Receiving equipment selection data representing equipment selected to implement the sequence flow, wherein the equipment includes a plurality of components connected by piping that are involved in the sequence flow, Receiving operation data representing a set of operation functions intended to be implemented by each component of the selected device, wherein an operation sequence is defined for each component, and each of the set of operation functions corresponds to an operation function type, Assigning values ​​to one or more operational function configuration parameters corresponding to one or more operational functions, Receiving control statement data representing a set of control statements intended to be implemented for process flow control during the implementation of the set of operational functions, wherein the control statements include statements for controlling the order of the program code set by a user or operator via a display interface; Assigning values ​​to one or more control statement configuration parameters corresponding to one or more control statements in the set of control statements, The process involves generating machine-readable program code for implementing a set of operational functions based on one or more of the received operational data, the received control statement data, the assigned operational function configuration parameters, and the assigned control statement configuration parameters, wherein the received operational data, the received control statement data, the assigned operational function configuration parameters, and the assigned control statement configuration parameters can be modified by the user or operator via the display interface. A computer program that contains instructions for implementing a function.