Method, control device, and program for controlling a production system

The control method and system automate the creation of nodes and edges using a language model, addressing complexity issues in existing systems and ensuring safe, reliable plant control through interlock conditions.

JP7625128B1Active Publication Date: 2025-01-31NIPPON STEEL & SUMIKIN ENGINEERING CO LTD

Patent Information

Application Number
JP2024188288
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-01-31
Estimated Expiration
2044-10-25

AI Technical Summary

Technical Problem

Existing systems require users to manually create nodes and edges, which is complicated and inefficient.

Method used

A control method and system that automatically creates nodes and edges using a language model, where metadata and user prompts are transmitted to the model to generate functions for monitoring or controlling plants, with interlock conditions ensuring safety and reliability.

Benefits of technology

Reduces programming complexity by automating the creation of nodes and edges, enabling flexible program enhancements while maintaining stable operations and ensuring safety through interlock conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007625128000001_ABST
    Figure 0007625128000001_ABST
Patent Text Reader

Abstract

An object of the present invention is to provide a control method, a control device, and a program for a creation system that can automatically create nodes and edges. [Solution] The method includes a sending step S1 of sending metadata for each of the first and second functions to a language model, a notification step S2 of notifying the language model of a prompt indicating a user's desired function, and a creation control step S3 of causing the language model to create a first node corresponding to the first function, a second node corresponding to the second function, and an edge connecting the first node and the second node based on the metadata sent in the sending step S1 and the prompt notified in the notification step S2, wherein each of the first function and the second function is a function for controlling a plant.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a control method, a control device, and a program for a creation system. [Background technology]

[0002] Conventionally, there are development support systems that allow nodes and edges to be freely created on a workspace. Patent Document 1 discloses a prompt node including a large-scale language model selection field, a prompt reception field, and an output result display field that displays an output in response to a prompt. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 7506957 Summary of the Invention [Problem to be solved by the invention]

[0004] However, in Patent Document 1, the user needs to create nodes and edges, which is cumbersome.

[0005] The present disclosure has been made in consideration of the above-mentioned circumstances, and aims to provide a control method, a control device, and a program for a creation system that can automatically create nodes and edges. [Means for solving the problem]

[0006] A control method of a creation system according to one embodiment of the present disclosure includes a sending step in which a computer sends metadata for each of a first function and a second function to a language model; a notification step in which the computer notifies the language model of a prompt indicating a user's desired function; and a creation control step in which the computer causes the language model to create a first node corresponding to the first function, a second node corresponding to the second function, and an edge connecting the first node and the second node based on the metadata sent in the sending step and the prompt notified in the notification step, wherein each of the first function and the second function is a function for controlling a plant. Effect of the Invention

[0007] According to the present disclosure, it is possible to provide a control method, a control device, and a program for a creation system that can automatically create nodes and edges. [Brief description of the drawings]

[0008] [Figure 1] 1 is an example of nodes and edges displayed on a screen. [Diagram 2] 1 is a schematic block diagram showing a system configuration of a creation system according to an embodiment. [Diagram 3] 2 is a schematic block diagram showing a specific example of a functional configuration of a control device according to the embodiment. FIG. [Figure 4] 11 is an example of a prompt for the first example function. [Diagram 5] FIG. 2 is a diagram showing nodes and edges according to a first example of a function created by a language model. [Figure 6] 11 is an example of a prompt for the second example function. [Figure 7] FIG. 1 is a first diagram of a functional specification for a second example of a function. [Figure 8] FIG. 2 is a second diagram of a functional specification for a second example of a function. [Figure 9] FIG. 3 is a third diagram of a functional specification for the second example of a function. [Figure 10] FIG. 13 is a first diagram of an example of a semi-structured functional specification for a second example of a function. [Figure 11] FIG. 2 is a second diagram of an example of a semi-structured functional specification for the second example of a function. [Figure 12] FIG. 3 is a third diagram of an example of a semi-structured functional specification for the second example of the function. [Figure 13] FIG. 11 is a first diagram of an example of a schema of input to be provided to a function that collects information from a plant in a second example of a function. [Figure 14] FIG. 2 is a second diagram of an example of a schema of inputs provided to a function that collects information from a plant in a second example of a function. [Figure 15] FIG. 15 is a first diagram of a data array including various pieces of information acquired by the schema shown in FIGS. 13 and 14. [Figure 16] FIG. 15 is a second diagram of a data array including various pieces of information acquired by the schema shown in FIGS. 13 and 14. [Figure 17] 13 is an example of a definition of information to be input to an API related to a second example of a function. [Figure 18] 11 is a language for a second example of a function produced by the language model. [Figure 19] FIG. 13 is a diagram showing nodes and edges for a second example of a function created by the language model. [Figure 20] FIG. 11 is a first diagram of an example of a schema into which an interlock condition related to a second example of a function is input. [Figure 21] FIG. 2 is a second diagram of an example of a schema into which an interlock condition related to the second example of the function is input. [Figure 22] FIG. 22 is a first diagram of a data array including various pieces of information acquired by a schema into which the interlock conditions shown in FIGS. 20 and 21 are input. [Figure 23] FIG. 22 is a second diagram of a data array including various pieces of information acquired by a schema into which the interlock conditions shown in FIGS. 20 and 21 are input. [Figure 24] FIG. 13 is a diagram showing nodes and edges that indicate interlock conditions for a second example function created by a language model. [Diagram 25] 4 is a flow chart of a control method of the creation system according to the embodiment. [Figure 26] FIG. 2 is a diagram illustrating an outline of a hardware configuration example of an information processing device applied to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, a creation system according to an embodiment of the present disclosure will be described with reference to the drawings. The creation system according to this embodiment creates, for example, functions for monitoring or controlling a control target, and nodes and edges based on the functions. In this embodiment, the control target is, for example, a plant such as a waste treatment plant. In this embodiment, the functions are used to monitor or control various sensors and actuators included in the plant.

[0010] In the present embodiment, the functions created by the creation system include a first function and a second function. In the present embodiment, each of the first function and the second function may be a function for monitoring or controlling a plant that is a control target. The first function and the second function may be associated with each other in order to monitor or control a control target. Specifically, for example, a sensor may be monitored or controlled by the first function, and an actuator may be monitored or controlled by the second function. In this way, for example, an actuator may be monitored or controlled so as to operate based on various information detected by a sensor monitored or controlled by the first function.

[0011] In this embodiment, the nodes and edges refer to figures displayed on the screen, for example, to enable the user to intuitively grasp the structure of a function. Also, the nodes and edges may refer to the programs that are the source of the figures displayed on the screen, as described above. Hereinafter, unless otherwise specified, the nodes and edges refer to the figures displayed on the screen.

[0012] FIG. 1 is an example of nodes N and edges E displayed on a screen. 1, the node N includes, for example, a first node N1 and a second node N2. The first node N1 corresponds to a first function, and the second node N2 corresponds to a second function. The first node N1 and the second node N2 may be planar figures such as polygons and circles. An edge E is a line that connects a plurality of nodes N to each other. In the example shown in FIG. 1, the edge E connects a first node N1 and a second node N2. The edge E may be displayed on the screen as a straight line as shown in FIG. 1, or may be displayed as a curved line. Note that the program that is the source of the edge E may be, for example, a compilation-less text file. For example, when a sensor is monitored or controlled by a first function as described above, and an actuator is monitored or controlled by a second function based on the result of the monitoring or control, a first node N1 and a second node N2 may be displayed adjacent to each other on the screen as shown in Fig. 1, and the first node N1 and the second node N2 may be displayed so as to be connected by an edge E. In this way, the first function and the second function may be displayed so as to be associated with each other.

[0013] In this embodiment, the nodes N and edges E displayed on the screen may be used for visual programming by the user. That is, the user may create a program for appropriately monitoring or controlling a control target by appropriately operating functions displayed as figures such as the nodes N and edges E on the screen.

[0014] In order to enable the above-mentioned visual programming, in this embodiment, a program including the first function and the second function may be configured such that the first function and the second function are associated with each other after being individually compiled. In this case, for example, on a screen such as that shown in Fig. 1, a program including the first function and the second function may be configured by a user connecting the first node N1 and the second node N2 with an edge E from a state in which the first node N1 and the second node N2 are individually displayed. Programming using the above-described method can, for example, ensure stable operation of the program while increasing the flexibility in adding new functions.

[0015] For example, by programming using the above-mentioned method, the following becomes possible. That is, while a program including the first function and the second function is running, a function different from the first function and the second function can be added. For example, while a program including the first function and the second function is running, a user may add a third function to the running program by additionally displaying a third node (not shown) corresponding to the third function on the screen shown in FIG. 1 and connecting the third node to the first node N1 or the second node N2 by an edge E. The third function may be pre-compiled before being added to the program. This makes it possible to, for example, eliminate the need to stop a running program. Also, when adding a third function to a program, it makes it possible to eliminate the need to recompile the program as one having the first function, the second function, and the third function. This makes it possible to flexibly improve the program, etc. Furthermore, it is possible to reduce the resources required for improving the program.

[0016] (About the configuration of the creation system) FIG. 2 is a schematic block diagram showing a system configuration of a creation system 1 according to an embodiment. The creation system 1 includes a control device 10 and a language model 20. As shown in Fig. 1, the control device 10 and the language model 20 are communicatively connected via a network 70. Furthermore, the creation system 1 and the control target 2 are communicatively connected via the network 70. Specifically, the control device 10 of the creation system 1 and the control target 2 are communicatively connected via the network 70. Furthermore, an external server 3 may be communicatively connected to the control device 10 and the control target 2 of the creation system 1 via the network 70. In this embodiment, the external server 3 may be, for example, an OPC server. The control device 10 may be, for example, capable of being monitored or controlled by the external server 3. In addition, the external server 3 may store a variety of information related to the equipment (for example, sensors and actuators) of the control target 2 in a list format.

[0017] In this embodiment, the external server 3, the control device 10, and the language model 20 may be all included in a single device, or only some of them may be included in a single device, or each of them may be included in a separate device. In this embodiment, for example, the external server 3 and the control device 10 are included in a single device, and the language model 20 is included in another device. Depending on the function created by the creating system, for example, a plant may be controlled, or a plant controller (not shown) may be controlled. In this embodiment, the plant controller refers to a device that monitors or controls a plant, such as a PLC (Programmable Logic Controller). Specifically, the plant controller may be, for example, a device used when supplying power to a pump to operate the pump via the control device 10 and a device that monitors or controls a motor.

[0018] In this embodiment, the network 70 may be a network using wireless communication or a network using wired communication. The network 70 may be configured using, for example, the Internet or a local area network (LAN). The network 70 may be configured by combining a plurality of networks.

[0019] FIG. 3 is a schematic block diagram showing a specific example of a functional configuration of the control device 10 according to the embodiment. The control device 10, for example, monitors or controls the control target 2. The control device 10 also causes the language model 20 to create a program for monitoring or controlling the control target 2. The control device 10 is configured using information devices such as a smartphone, a tablet, a personal computer, and a dedicated device. As shown in FIG. 3, the control device 10 includes a communication unit 11, an input unit 12, a display unit 13, a storage unit 14, and a control unit 15.

[0020] The communication unit 11 is a communication device. The communication unit 11 may be configured as, for example, a network interface. The communication unit 11 performs data communication with other devices via the network 70 in response to the control of the control unit 15. The communication unit 11 may be a device that performs wireless communication or a device that performs wired communication.

[0021] The input unit 12 is configured using existing input devices such as a keyboard, a pointing device (mouse, tablet, etc.), a button, a touch panel, etc. The input unit 12 is operated by a user when inputting the user's instruction to the control device 10. The input unit 12 may be an interface for connecting the input device to the control device 10. In this case, the input unit 12 inputs an input signal generated in the input device in response to the user's input to the control device 10. The input unit 12 may be configured using a microphone and a voice recognition device. In this case, the input unit 12 acquires an acoustic signal generated by the user's speech, performs voice recognition on the words spoken by the user, and inputs character string information of the recognition result to the control device 10. The voice recognition process may be executed by the control unit 15. The input unit 12 may be configured in any way as long as it is configured to input the user's instruction to the control device 10.

[0022] The display unit 13 outputs information in a form that can be recognized by the user. The display unit 13 may be, for example, an image display device such as a liquid crystal display or an organic EL (Electro Luminescence) display. The display unit 13 may be an interface for connecting an image display device to the control device 10. In this case, the display unit 13 generates a video signal for displaying image data and outputs the video signal to an image display device connected to the display unit 13. The display unit 13 may be a device for outputting sound such as a speaker. The display unit 13 may be an interface for connecting an audio output device such as a speaker or a headphone to the control device 10. In this case, the display unit 13 generates an audio signal for reproducing audio data and outputs the audio signal to an audio output device connected to the display unit 13. The display unit 13 may be configured as a touch panel integrated with the input unit 12.

[0023] The storage unit 14 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device. The storage unit 14 stores data used by the control unit 15. The storage unit 14 stores data required when the control unit 15 performs processing. The storage unit 14 may also store various data including prompts and metadata for creating a control program for the control target 2. In this embodiment, the various information stored in the storage unit 14 may be stored in the external server 3.

[0024] The control unit 15 is configured using a processor such as a CPU (Central Processing Unit) and a memory (main storage device). The control unit 15 functions as a notification means 151, a transmission means 152, a creation control means 153, a determination means 154, a display control means 155, and a system control means 156 by the processor executing a program. All or part of the functions of the control unit 15 may be realized using hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), a PLC, or an FPGA (Field Programmable Gate Array). The above program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a semiconductor storage device (for example, an SSD: Solid State Drive), or a storage device such as a hard disk or a semiconductor storage device built into a computer system. The above program may be transmitted via an electric communication line.

[0025] The control unit 15 may execute, for example, an application program installed in its own device (control device 10). The program installed in the control device 10 may cause the control device 10 (computer) to function as the creation system 1 according to this embodiment. A specific example of such an application is an application provided to the control device 10 as a dedicated application for the creation system 1. Another specific example of such an application is a WEB browser application. Such an application may be installed in the control device 10 in advance, or may be downloaded each time the determination process is executed. For example, when implemented as a WEB browser application, the control device 10 may download and execute the application from a device (for example, the WEB server itself or another server) designated by the WEB server in response to the control device 10 connecting to a specific WEB server. The control unit 15 operates according to the program of the application being executed.

[0026] The notification means 151 notifies the language model 20 of a prompt indicating a function desired by the user in the control target 2. The prompt is, for example, information regarding an instruction for the control target 2 to have the function desired by the user. The prompt is, for example, input by the user via the input unit 12. In this embodiment, the prompt includes text consisting of a natural language or the like. The text may be any language, including, for example, Japanese or English. In other words, in this embodiment, the prompt for monitoring or controlling the control target 2 consists of a natural language that the user normally uses. The prompt notified to the language model 20 by the notification means 151 may be input by the user each time. In this case, when notifying the language model 20 of the prompt, the notification means 151 may transmit the prompt input by the user to the language model 20. Note that the prompt input by the user in this manner may be stored in the storage unit 14 or the external server 3, for example. The prompt notified to the language model 20 by the notification means 151 may be, for example, one stored in the storage unit 14 or the external server 3. In this case, when notifying the language model 20 of a prompt, the notification means 151 may notify the language model 20 of a prompt read out from the storage unit 14 or the external server 3. This aspect is suitable, for example, when the user wishes to create a function using a prompt input in the past.

[0027] The sending means 152 sends the metadata of the function to the language model 20. In this embodiment, the metadata of the function includes various information required when the language model 20 creates a function based on the prompt notified to the language model 20 by the notifying means 151, for example. In this embodiment, the metadata transmitted by the transmitting means 152 to the language model 20 may be input by the user each time, for example, at the same time as the prompt. In this case, when transmitting the metadata to the language model 20, the transmitting means 152 may transmit the metadata input by the user to the language model 20. Note that the metadata thus input by the user may be stored in, for example, the storage unit 14 or the external server 3. Furthermore, the metadata transmitted by the transmission means 152 to the language model 20 may be, for example, that stored in the storage unit 14 or the external server 3. In this case, when transmitting metadata to the language model 20, the transmission means 152 may transmit the metadata read from the storage unit 14 or the external server 3 to the language model 20. This aspect is suitable, for example, when a user wishes to create a function using metadata input in the past.

[0028] The creation control means 153 causes the language model 20 to create a function, and a node N and an edge E based on the function. The creation control means 153 may first transmit an instruction to create a function to the language model 20 by communicating with the language model 20 via the communication unit 11, for example. After the language model 20 creates the function, the creation control means 153 may cause the language model 20 to create a first node N1 corresponding to the first function, a second node N2 corresponding to the second function, and an edge E connecting the first node N1 and the second node N2. The creation control means 153 may cause the language model 20 to create these functions, nodes N, and edges E, for example, based on the metadata transmitted in the sending step and the prompt notified in the notifying step. Details of the sending step and the notifying step will be described later.

[0029] The determination means 154 is a means for determining whether or not the first node N1, the second node N2, and the edge E created by the language model 20 satisfy an interlock condition. The interlock condition is, for example, a condition set to ensure the safety of the equipment of the control target 2. For example, a plurality of interlock conditions may be set. The actuator of the control target 2 may be controlled to stop operating when the detection results of the sensors of the control target 2 satisfy all of the interlock conditions. The determination means 154 determines, for example, whether a program including a first function corresponding to the first node N1 and a second function corresponding to the second node N2, created by the language model 20, has a function desired by a user in the controlled object 2 and the control based on the interlock condition operates appropriately. In this way, the determination means 154 contributes to ensuring the reliability of the program created by the creation system 1.

[0030] The display control means 155 is a means for displaying various information on the display unit 13. Specifically, for example, the display control means 155 causes the display unit 13 to display the first node N1, the second node N2, and the edge E created by the language model 20. The display control means 155 may contribute to enabling visual programming by the user, for example. That is, the display control means 155 may appropriately change the display mode of the first node N1, the second node N2, and the edge E displayed on the display unit 13 when the user selects or operates the first node N1, the second node N2, and the edge E via the input unit 12.

[0031] The system control means 156 is a means for executing the first function and the second function and monitoring or controlling the control target 2. In this embodiment, the control target 2, that is, a sensor or an actuator, is monitored or controlled by the system control means 156. The system control means 156 may simultaneously monitor or control a plurality of sensors and a plurality of actuators. The system control means 156 may monitor or control the sensors and actuators by communicating with them via the communication unit 11, for example.

[0032] The language model 20 creates the first function and the second function, the first node N1 and the second node N2, and the edge E connecting the first node N1 and the second node N2, based on the metadata transmitted by the transmission means 152 and the prompt notified by the notification means 151. Note that the creation of the first function and the second function by the language model 20 may be realized by reading out the metadata and the prompt stored in advance in the storage unit 14. The language model 20 is, for example, a trained model. The trained model is, for example, a model that has acquired general-purpose knowledge by accessing an information source such as an Internet site and learning various text information (including source code) and image information in advance using words such as "common knowledge". More specifically, the language model 20 includes, for example, a large-scale language model. The large-scale language model may include, for example, GPT-4 (registered trademark), GPT-3.5-turbo, PaLM2, LaMDA2, LLaMa2, Claude 2.1, OpenCALM, and Alpaca 7B. The language model 20 may be, for example, one stored on a WEB server, or one stored in the storage unit 14 of the control device 10 or the external server 3. The language model 20 may be, for example, stored in an information processing device and operated by the information processing device. The creating system 1 according to this embodiment is configured with the above components.

[0033] (For details about functions) Next, the details of the functions created by the creation system 1 according to this embodiment will be described. As described above, the functions created by the creation system 1 include a first function and a second function. In this embodiment, the first function and the second function may be associated with each other. In the creating system 1 according to this embodiment, the first function and the second function are created as follows. That is, the user inputs prompts and metadata indicating a desired function in the control target 2, and interlock conditions in the control target 2, to the control device 10. The control device 10 transmits the information input by the user to the language model 20. Then, the language model 20 appropriately selects necessary information from the various information input by the user to create a program.

[0034] This allows logic that is not input by the user to be appropriately created by the language model 20. In other words, in this embodiment, the control device 10 may cause the language model 20 to create a first function, a second function, and a connection (combination) of functions, or a new function different from the first function and the second function, by using information on a prompt or an interlock condition notified in the notifying step and the transmitting step, for example.

[0035] In this embodiment, the program created by the creating system 1 may be stored, for example, in the storage unit 14 of the control device 10, or may be stored in the external server 3. When the program is stored in the external server 3, the created program may be shared among multiple control targets 2. Thereby, for example, when a plant that is the control target 2 has multiple bases, similar monitoring or control can be performed at the multiple bases. Three examples of the first function and the second function in this embodiment will be described below.

[0036] (First example of a function) In the first example of the function, the first function is a function for detecting smoke or fire in the garbage pit, and the second function is a function for issuing an alarm. In this case, the relationship between the first function and the second function is as follows. That is, the first function acquires a signal from a sensor for detecting smoke or fire from the garbage pit of the garbage disposal plant, which is the control target 2. Then, when the sensor monitored or controlled by the first function detects smoke or fire, the second function monitors or controls equipment for issuing an alarm. In this embodiment, the alarm may be, for example, an image or sound, or a rotating light or the like. Also, the alarm may be any alarm that informs the user that smoke or fire has been detected. For example, an email may be sent to the terminal used by the user as an alarm.

[0037] FIG. 4 is an example of a prompt for the first example function. The prompt shown in Fig. 4 is "If smoke is detected in the camera image in area 1, stop pump 1 and send an email to the administrator." Area 1 may be, for example, a garbage pit in a garbage disposal plant, which is the control target 2. Moreover, issuing an alarm may mean sending an email to the administrator (user). The prompt thus input is notified to the language model 20 by the notifying means 151 in a notifying step described below. In other words, in the first example of the function, the prompt notified to the language model 20 in the notifying step indicates that an alarm should be sounded if smoke or fire is detected in the garbage pit.

[0038] FIG. 5 is a diagram showing nodes N and edges E according to a first example of a function created by the language model 20. As shown in FIG. In the example shown in FIG. 5, the multiple nodes N include a first setting text input node Na1, a camera stream node Na2, a code input node Na3, a second setting text input node Na4, a control output node Na5, a control process execution node Na6, a third setting text input node Na7, an email generation node Na8, and an email sending node Na9.

[0039] The first text input node for settings Na1 is a node corresponding to an API for inputting the URL of a camera from which video is to be acquired. For example, a user may specify the camera from which video is to be acquired by inputting a URL into a text box in the first text input node for settings Na1.

[0040] The camera stream node Na2 is a node corresponding to an API for acquiring a URL of a camera from the first setting text input node Na1 and acquiring a stream image from the corresponding camera. The stream image acquired by the camera stream node Na2 may be sent to the control process execution node Na6.

[0041] The code input node Na3 is a node corresponding to an API for outputting source code relating to the first function and the second function according to the first example. The source code output by the code input node Na3 may be sent to the control process execution node Na6.

[0042] The second setting text input node Na4 is a node corresponding to an API for inputting text corresponding to the actuator to be controlled. The user may specify the actuator to be controlled, for example, by inputting the ID of the actuator in a text box in the second setting text input node Na4. In this embodiment, for example, the ID of a pump or a buzzer may be input to the second setting text input node Na4.

[0043] The control output node Na5 is a node that acquires the ID of the actuator to be controlled from the second setting text input node Na4 and corresponds to an API for controlling the corresponding actuator. The control output node Na5 may receive, for example, a notification that smoke has been detected from the control process execution node Na6. When the control output node Na5 receives the notification that smoke has been detected, the control output node Na5 may appropriately control the actuator. For example, when a pump ID is input to the second setting text input node Na4, the control output node Na5 may control the pump corresponding to the input ID when it receives a notification that smoke has been detected. Specifically, the control output node Na5 may cause the pump to spray water to extinguish the fire. Also, for example, when a buzzer ID is input to the second setting text input node Na4, the control output node Na5 may control the buzzer when it receives a notification that smoke has been detected. Specifically, the buzzer may be sounded by the control output node Na5 to notify the user that smoke has been generated.

[0044] The control process execution node Na6 is a node corresponding to an API for executing the first function and the second function according to the first example. The control process execution node Na6 acquires the source code output by the code input node Na3, and executes a program related to the acquired source code. Thereby, in the first example, a process for detecting smoke from a camera image is executed. When smoke is detected from the camera image by the above-mentioned processing, the control processing execution node Na6 may transmit, for example, a message that smoke has been detected to the control output node Na5 or the mail generation node Na8.

[0045] The third setting text input node Na7 is a node corresponding to an API for inputting instructions to the email generation node Na8. The user may input instructions to the email generation node Na8 by inputting a natural language such as "Please write an email that describes in detail the smoking situation in Area 1" into a text box in the third setting text input node Na7.

[0046] The mail generation node Na8 is a node corresponding to an API for acquiring instructions input by the user from the third setting text input node Na7 and outputting the text of the mail to be sent to the administrator. The mail generation node Na8 outputs the text of the mail when, for example, a notice that smoke has been detected is received from the control process execution node Na6. The mail generation node Na8 may transmit the text of the output mail to the mail sending node Na9.

[0047] The mail sending node Na9 is a node corresponding to an API for acquiring the text of the mail from the mail generating node Na8 and sending it to the administrator. Upon receiving the text of the mail from the mail generating node Na8, the mail sending node Na9 may send the mail to the administrator.

[0048] (Second example of a function) In the second example of the function, the first function is a function for detecting the water level of the tank, and the second function is a function for operating a pump. In the following description, the tank is assumed to be a primary storage tank for storing cooling water to be fed to a reactor. The water level of the tank is assumed to be the water level of the cooling water stored in the tank. In such a second example of the function, the relationship between the first function and the second function is as follows: That is, a sensor for detecting the water level in a tank provided in a plant that is the control target 2 is monitored by the first function. Then, depending on the water level in the tank detected by the sensor controlled by the first function, the pump is appropriately controlled by the second function. In this embodiment, the pump operates as follows under the control of the second function. That is, for example, the pump may start operating when the water level in the tank becomes high, to pump cooling water to the reactor, and may stop operating when the water level in the tank falls below a predetermined water level to prevent pump failure.

[0049] FIG. 6 is an example of a prompt for the second example function. The prompt shown in FIG. 6 is "Realize the function of turning pump 1 on and off." Pump 1 may be, for example, a pump controlled by the second function. Such a prompt may be input, for example, by a user via input unit 12. At this time, the user may input a sentence using input unit 12 which is a keyboard, or may verbally input a sentence using input unit 12 which is a voice recognition device. Alternatively, a sentence may be generated by artificial intelligence or the like based on the content verbally spoken by the user. The prompt thus input is notified to the language model 20 by the notifying means 151 in the notifying step. In other words, in the second example of the function, the prompt notified to the language model 20 in the notifying step may indicate that the pump should be started when the water level in the tank becomes high, or that the pump should be stopped when the water level in the tank becomes lower than a predetermined water level.

[0050] FIG. 7 is a first diagram of a functional specification relating to the second example of the function. FIG. 8 is a second diagram of the functional specification for the second example of the function. FIG. 9 is a third diagram of the functional specification relating to the second example of the function. 7 to 9 are notified to the language model 20 together with the above-mentioned prompt in the notification step. In other words, the prompt notified to the language model 20 in the notification step may include a functional specification for monitoring or controlling the control target 2. The language model 20 may create the first function and the second function based on the functional specifications shown in Figures 7 to 9 in addition to the prompt shown in Figure 6. This may contribute to creating the first function and the second function that are more in line with the user's intention. 7 to 9 may be input by a user via the input unit 12. At this time, the user may input a sentence using the input unit 12 which is a keyboard, or may orally speak and input a sentence using the input unit 12 which is a voice recognition device. Alternatively, a sentence may be generated by artificial intelligence or the like based on the contents of a sentence orally spoken by the user.

[0051] The functional specifications shown in Figures 7 to 9 begin with "Functional Description for Pump 1." This description indicates that the functional specifications shown in Figures 7 to 9 are functional specifications related to a pump. As shown in Figures 7 to 9, the functional specification for the second example function has the following headings: "## Overview", "## Control Modes", "### Manual Control", "### Automatic Control", "## Detailed Functional Description", "### Automatic Operation Sequence", "### Manual Operation", "### Safety Interlocks", and "## Maintenance and Diagnostics". Note that in these headings, "# (sharp)" indicates the heading hierarchy. For example, a heading with three #'s indicates that it is one level lower than the chapter with a heading with two #'s. A description related to a heading with three #'s is a description included in the chapter with a heading with two #'s that is located immediately before it.

[0052] "## Overview" shows an overview of the functional specifications for the pump. In the example shown in Fig. 7, "## Overview" describes, for example, an overview of the plant in which the pump is installed, the function of the pump in the plant, and the operation mode of the pump.

[0053] "## Control Modes" provides details about the manner in which pumps in a plant operate. In the example shown in Figure 7, "## Control Modes" includes "### Manual Control" and "### Automatic Control."

[0054] "### Manual Control" shows details about the user manually operating the pump. In this embodiment, the user manually operating the pump may be the user manually switching a switch to operate the pump. In the example shown in Fig. 7, a "Manual / Automatic Mode Switch", "Manual ON / OFF Buttons", and "Emergency Stop Button" are provided as switches related to "### Manual Control". Note that, in the example shown in Fig. 7, these switches are toggle switches, but the present invention is not limited to this, and the switches may take any form. The "Manual / Automatic Mode Switch" is a switch for switching whether the pump operates manually or automatically. "Manual ON / OFF Buttons" is a switch for instructing starting or stopping of the pump when the pump is operated manually. The "Emergency Stop Button" is a button for emergency stopping the pump while it is in operation.

[0055] "### Automatic Control" shows details about the automatic operation of the pump. In this embodiment, the automatic operation of the pump may mean that the pump operates under the control of a function without the intervention of a user's instruction. When the pump operates automatically, the pump may start operating when the water level in the tank becomes high and stop operating when the water level in the tank becomes low, as described above, according to the following sequence. That is, in the example shown in FIG. 7, the sequence related to "### Automatic Control" includes "Level Sensors", "Automatic ON / OFF Sequence", and "Interlock Function". "Level Sensors" is a sequence for detecting the water level in a tank using a sensor. The "Automatic ON / OFF Sequence" is a sequence that stops the pump operation when the water level in the tank detected by the "Level Sensors" falls below the lower threshold (L) and starts the pump operation when the water level reaches the upper threshold (H). The "Interlock Function" is a sequence that prevents pump failure and ensures safety by stopping the pump when the water level in the tank detected by the "Level Sensors" reaches an extremely low water level (LL), i.e., a specified water level.

[0056] "## Detailed Functional Description" shows more detailed information about the control of the pump. In the example shown in Fig. 8, "## Detailed Functional Description" includes "### Automatic Operation Sequence" and "### Manual Operation".

[0057] "### Automatic Operation Sequence" shows various sequences related to controlling the pump to operate automatically. In the example shown in Fig. 8, "### Automatic Operation Sequence" includes "Initialization", "Level Monitoring", "Pump Stop", "Pump Operation", and "Pump Start".

[0058] "Initialization" is a sequence in which the system control means 156 checks the status of the sensor and the pump. This determines whether the sensor can perform detection properly and whether the pump is in a controllable state. This allows the system control means 156 to execute pump control after determining whether the automatic operation of the pump can continue. "Level Monitoring" is a sequence for continuously measuring the water level in a tank using a sensor. "Pump Stop" is a sequence for stopping the operation of the pump when the water level in the tank becomes low. The system control means 156 starts the "Pump Stop" sequence when the water level in the tank falls below the lower threshold (L). Specifically, it stops the supply of electricity to the motor for operating the pump. Then, the pump stops sending a signal to the system control means 156 to confirm that the pump is operating. "Pump Operation" is a sequence for moving the cooling water in the tank to the reactor by the pump. "Pump Start" is a sequence for starting the operation of the pump when the water level in the tank becomes high. The system control means 156 starts the "Pump Start" sequence when the water level in the tank reaches the upper limit threshold (H). Specifically, it starts energizing the motor for operating the pump. Then, the pump sends a signal to the system control means 156 to confirm that the pump is operating.

[0059] "### Manual Operation" shows more detailed information about how the user manually operates the pump. In the example shown in Fig. 8, "### Manual Operation" includes "Mode Selection", "Pump Start", "PUMP Operation", and "Pump Stop".

[0060] "Mode Selection" indicates that the user selects to operate the pump manually. In the example shown in Fig. 8, it is indicated that the user selects to operate the pump manually using the above-mentioned "Manual / Automatic Mode Switch". "Pump Start" shows that the user starts the operation of the pump. The user starts the operation of the pump by pressing a switch for starting the operation of the pump. When the switch is pressed, power is supplied to the motor for operating the pump. Then, a signal is sent from the pump to the system control means 156 to confirm that the pump is operating. "PUMP Operation" shows how to move cooling water in a tank to a reactor by a pump. The user manually moves the cooling water in the tank to the reactor using the pump. "Pump Stop" shows that the user stops the operation of the pump. The user stops the operation of the pump by pressing a switch for stopping the operation of the pump. When the switch is pressed, the power supply to the motor for operating the pump is stopped. Then, the transmission of a signal from the pump to the system control means 156 for confirming that the pump is operating is stopped.

[0061] "### Safety Interlocks" indicates the contents of the interlock conditions of the pump. In the second example of the function, the pump stops operation based on the interlock conditions indicated in "### Safety Interlocks." In the example shown in FIG. 8, "### Safety Interlocks" includes "Low-Level Interlock (LL)" and "Emergency Stop."

[0062] "Low-Level Interlock (LL)" is a sequence that automatically stops the pump when the water level in the tank falls below an extremely low water level (LL), i.e., a predetermined water level, to prevent pump failure and ensure safety. When the water level in the tank falls below the predetermined water level, the system control means 156 starts the "Low-Level Interlock (LL)" sequence. Specifically, it immediately stops powering the motor that operates the pump. Then, it issues an alarm to notify the operator (user) of the drop in the water level. "Emergency Stop" is a sequence for emergency stopping the pump. The user can always emergency stop the pump by pressing the emergency stop button. When the user presses the emergency stop button, power to the motor for operating the pump is immediately stopped. This control takes priority over any control for operating the pump. When the pump is emergency stopped, the control signal for stopping the pump may overwrite all other control signals. In addition, when the user presses the emergency stop button, an alarm is issued to inform the operator (user) of the same.

[0063] "## Maintenance and Diagnostics" shows contents related to the maintenance and diagnosis of the pump and the system control means 156. In the example shown in Fig. 9, "## Maintenance and Diagnostics" includes "Routine Checks", "Diagnostics", and "Alarm System".

[0064] "Routine Checks" indicates periodic inspections and maintenance to be performed to ensure reliable operation of the pump and system controls 156. "Diagnostics" indicates that the system control means 156 includes a diagnostic function for detecting failures in the pump or the system control means 156 and for providing information regarding the status to an operator (user). It is shown that the "Alarm System" is equipped with an alarm function to notify workers (users) of abnormalities such as a low water level in a tank or a pump failure. The above contents are described in the functional specifications shown in Figures 7 to 9. Furthermore, at the end of the functional specifications shown in Figures 7 to 9, the effect of the first function and the second function implementing the above-mentioned control function may be described. For example, in the example shown in Figures 7 to 9, it may be described that the first function and the second function implement the above-mentioned control function, so that the plant, which is the control target 2, ensures safe and efficient operation of the pump.

[0065] FIG. 10 is a first diagram of an example of a semi-structured functional specification relating to the second example of the function. FIG. 11 is a second diagram of the semi-structured example of the functional specification relating to the second example of the function. FIG. 12 is a third diagram of an example of a semi-structured functional specification relating to the second example of the function. The semi-structured functional specification shown in Figures 10 to 12 is used to enable the language model 20 to create the first function and the second function based on the contents of the functional specification shown in Figures 7 to 9. As shown in Figures 10 to 12, the semi-structured functional specification may be written as a function of a programming language. Such a semi-structured functional specification may be input by, for example, a user via the input unit 12. At this time, the user may input the language using the input unit 12 which is a keyboard, or may orally speak the language using the input unit 12 which is a voice recognition device. Alternatively, the language may be generated by artificial intelligence or the like based on the content spoken by the user orally.

[0066] In the examples shown in FIGS. 10 to 12, "pump_1" is written at the beginning, indicating that the semi-structured functional specification is related to monitoring or controlling a pump. 10 to 12, following the description at the beginning, there are descriptions "id": "pump_1", "deviceName": "Pump 1". These descriptions respectively indicate that when the first function and the second function are created by the language model 20, the identifier of the pump recognized in the function is "pump_1", and that the name of the pump is recognized as "Pump 1" in the first function and the second function.

[0067] In the example shown in Figures 10 to 12, the functions "controlModes", "safetyInterlocks", and "maintenanceAndDiagnostics" are provided following the above content. These functions may correspond to the contents of the functional specifications shown in Figures 7 to 9, as described below.

[0068] "controlModes" is a function for determining whether the pump is operated manually or automatically. In the example shown in Figures 10 and 11, "controlModes" includes "manual" and "automatic."

[0069] "manual" is a function for when the user manually operates the pump. "manual" may correspond to "#### Manual Operation" in the functional specifications shown in Figs. 7 to 9 described above. In the example shown in Fig. 10, "manual" includes "modeSwitch", "buttons", and "emergencyStop".

[0070] As shown in "type": "toggle", "modeSwitch" is a toggle-type function. Also, as shown in "description": "Selects between manual and automatic operation modes", "modeSwitch" is a function for selecting either manual or automatic operation modes. That is, "modeSwitch" toggles between operating the pump manually or automatically.

[0071] "Buttons" includes "manualOn" and "manualOff". As indicated by "type": "button", "manualOn" and "manualOff" are button-type functions. As indicated by "description": "Manually starts the pump", "manualOn" is a function for manually starting the operation of the pump. As indicated by "description": "Manually stops the pump", "manualOff" is a function for manually stopping the operation of the pump. That is, "buttons" including "manualOn" and "manualOff" start or stop the operation of the pump by the user pressing the button. Note that the button pressed by the user may be a switch button provided in the plant that is the control target 2, or may be an image displayed on the display unit 13 of the control device 10. When the button is an image, pressing the button may mean that the user selects the button by clicking or tapping it.

[0072] As seen in "type": "button", "emergencyStop" is a function of type button. Also, as seen in "description": "Immediately stops the pump when pressed", "emergencyStop" is a function for immediately stopping the pump when the button is pressed. That is, "emergencyStop" immediately stops the operation of the pump when the user presses a button. Note that the form of the button that the user presses may be the same as that described above for "buttons."

[0073] "Automatic" is a function for automatically operating the pump. "Automatic" may correspond to, for example, "#### Automatic Operation Sequence" in the functional specifications shown in Figs. 7 to 9 described above. In the example shown in Fig. 11, "automatic" includes "sequence".

[0074] "Sequence" includes various sequences for automatically operating the pump. In the example shown in Fig. 11, "sequence" includes "Initialization", "Level Monitoring", "Pump Start", "Pump Operation", and "Pump Stop".

[0075] "Initialization" corresponds to "Initialization" in the functional specifications shown in Figures 7 to 9. "Initialization" is a sequence that checks the status of the sensors and the pump, as described in "description": "Checks the status of all sensors and the pump."

[0076] "Level Monitoring" corresponds to "Level Monitoring" in the functional specifications shown in the above-mentioned Figures 7 to 9. "Level Monitoring" is a sequence for continuously measuring the water level in the tank using sensors, as described in "description": "Continuously monitors the fluid level in the primary storage tank using level sensors." In "Level Monitoring," as shown in "sensors": ["level_sensor_1"], the detection result of the water level in the tank is obtained from a water level sensor called level_sensor_1.

[0077] "Pump Start" corresponds to "Pump Start" in the functional specifications shown in Figures 7 to 9. "Pump Start" is a sequence for starting the operation of the pump when the fluid level in the tank reaches the upper threshold (H), as described in "description": "Starts the pump when the fluid level reaches the upper threshold (H)." In "Pump Start," as shown in "threshold": "H," a threshold value of "H" is set. Then, as shown in "actions": ["Energize pump motor", "Send confirmation signal"], when the "Pump Start" sequence starts, the pump is energized and a signal to confirm that the pump is operating is sent to system control means 156.

[0078] "Pump Operation" corresponds to "Pump Operation" in the functional specifications shown in Figures 7 to 9. As described in "description": "Transfers coolant fluid from the primary storage tank to the reactor unit," "Pump Operation" is a sequence for transferring coolant fluid in the tank to the reactor by a pump.

[0079] "Pump Stop" corresponds to "Pump Stop" in the functional specifications shown in Figures 7 to 9. As described in "description": "Stops the pump when the fluid level falls below the lower threshold (L)," "Pump Stop" is a sequence for stopping the operation of the pump when the water level in the tank falls below the lower threshold (L). In "Pump Stop," as indicated by "threshold": "L," a threshold value is set to "L." Then, as indicated by "actions": ["De-energize pump motor", "Send confirmation signal," when the "Pump Stop" sequence is started, power to the pump is stopped and a signal for confirming that the pump has stopped operating may be sent to system control means 156. Note that, instead of sending a signal for confirming that the pump has stopped operating, the transmission of the signal for confirming that the pump is operating may be stopped.

[0080] "safetyInterlocks" corresponds to "### Safety Interlocks" in the functional specifications shown in Figures 7 to 9. "safetyInterlocks" includes "Low-Level Interlock (LL)" and "Emergency Stop."

[0081] "Low-Level Interlock (LL)" corresponds to "Low-Level Interlock (LL)" in the functional specifications shown in Figures 7 to 9. As described in "description": "Automatically stops the pump if the fluid level falls below the critically low level (LL)," "Low-Level Interlock (LL)" is a sequence for automatically stopping the pump when the water level in the tank falls below a specified level. In "Low-Level Interlock (LL)," as shown in "threshold": "LL," the threshold is set to "LL." And as shown in "actions": ["De-energize pump motor", "Trigger alarm"], when the "Low-Level Interlock (LL)" sequence starts, power to the pump is stopped and an alarm is issued.

[0082] "Emergency Stop" corresponds to "Emergency Stop" in the functional specifications shown in Figures 7 to 9. "Emergency Stop" is a sequence for emergency stopping the pump when the emergency stop button is pressed, as described in "description": "Stops the pump immediately when the emergency stop button is pressed." As the “Emergency Stop” “actions”: [“De-energize pump motor”, “Override all control signals”, “Trigger alarm”] state, when the emergency stop button is pressed, power to the pump is cut off, the control signal for stopping the pump overwrites all other control signals, and an alarm is sounded.

[0083] "maintenanceAndDiagnostics" corresponds to "## Maintenance and Diagnostics" in the functional specifications shown in the above-mentioned Figures 7 to 9. "maintenanceAndDiagnostics" includes "routineChecks", "diagnostics", and "alarmSystem".

[0084] "RoutineChecks" corresponds to "Routine Checks" in the functional specifications shown in Figures 7 to 9. As shown in "description": "Regular inspections and maintenance of the pump and control system," "routineChecks" indicates that regular inspections and maintenance of the pump and system control means 156 are performed.

[0085] "Diagnostics" corresponds to "Diagnostics" in the functional specifications shown in Figures 7 to 9. As shown in "description": "Detects faults and provides status information to the operator", "diagnostics" detects faults in the pump or system control means 156 and provides information about the status to the operator (user).

[0086] "alarmSystem" corresponds to "Alarm System" in the functional specifications shown in Figures 7 to 9. As shown in "description": "Notifies the operator of abnormal conditions, such as low fluid levels or pump malfunctions", "alarmSystem" notifies the operator (user) of abnormal conditions such as low fluid levels in the tank or pump malfunctions. The above contents are described in the semi-structured functional specifications shown in FIGS.

[0087] FIG. 13 is a first diagram of an example of a schema of input given to a function that collects information from a plant in the second example of the function. FIG. 14 is a second diagram of an example of a schema of inputs given to a function that collects information from a plant in the second example of a function. The schemas shown in Figures 13 and 14 are schemas of inputs to be given to functions that collect various information required for monitoring or controlling the pumps according to the functional specifications shown in Figures 7 to 9 from the plant. The schemas shown in Figures 13 and 14 are metadata for the first function and the second function. The schemas shown in Figures 13 and 14 are transmitted to the language model 20 by the transmitting means 152 in a transmitting step described later. 13 and 14 may be input by a user via the input unit 12. At this time, the user may input the language using the input unit 12 which is a keyboard, or may orally speak the language using the input unit 12 which is a voice recognition device. Alternatively, the language may be generated by artificial intelligence or the like based on the content spoken by the user orally.

[0088] In the examples shown in FIGS. 13 and 14, “$schema”: “http: / / json-schema.org / draft-07 / schema♯” is written at the beginning, indicating the schema format. 13 and 14, the description at the beginning is followed by "type": "object." This description indicates that the schemas shown in Fig. 13 and 14 are object type functions.

[0089] The schema shown in FIG. 13 and FIG. 14 includes the above-mentioned contents followed by functions "properties" and "required". "Properties" acquires various information necessary for creating the first function and the second function. "Properties" includes "sensors" and "actuators".

[0090] “sensors” is a function for obtaining sensor information required to create the first and second functions. “sensors” is an array type function, as indicated by “type”: “array”. “sensors” includes “items”.

[0091] "items" is a function for outputting, as a data array, identification information for identifying a sensor for acquiring information and various information detected by the identified sensor. As indicated by "type": "object", "items" is an object-type function. "items" includes "properties" and "required".

[0092] "Properties" is a function that acquires identification information for identifying the sensor from which information is acquired, and various information detected by the identified sensor. "Properties" includes "id", "deviceName", "type", "value", "unit", "timestamp", and "description".

[0093] “id” is the part that acquires the sensor identifier. “id” is of string type as indicated by “type”: “string”, and acquires the sensor identifier as a character string. “deviceName” is the part that acquires the name of the sensor. “deviceName” is of string type as indicated by “type”: “string”, and acquires the name of the sensor as a character string.

[0094] "Type" is the part that acquires information about the content of the value detected by the sensor. The content of the value detected by the sensor is, for example, information such as "temperature" or "pressure." As "type": "string" indicates, "type" is a string type, and acquires information about the content of the value detected by the sensor as a character string. “Value” is the part that acquires the value detected by the sensor. As “type”: “number” indicates, “value” is of number type, and acquires the value detected by the sensor as a numerical value.

[0095] "unit" is the part that acquires the unit of the value detected by the sensor. The unit of the value detected by the sensor is information such as "℃" or "kPa". As "type": "string" indicates, "unit" is a string type, and the unit of the value detected by the sensor is acquired as a string. "timestamp" is the part that obtains information about the time when the sensor detected the value. "timestamp" is a string type function, as shown in "type": "string" and "format": "date-time", and obtains information about the time when the sensor detected the value as a string.

[0096] "Description" is a section for acquiring information about the function of the sensor. The information about the function of the sensor is, for example, the content of "description" included in the semi-structured functional specifications shown in Figs. 7 to 9 described above. Specifically, for example, the information about the function of the sensor to measure the water level in the tank is "description" in the above-mentioned "Level Monitoring" sequence: "Continuously monitors the fluid level in the primary storage tank using level sensors." As indicated by "type": "string", "description" is a string type, and obtains information about the sensor's functions as a character string.

[0097] “required” is the part that outputs various information obtained by the “properties” mentioned above as a data array, such as [“id”, “deviceName”, “type”, “value”, “unit”, “timestamp”, “description”]. The above content constitutes the “sensors” function.

[0098] “actuators” is a function for outputting actuator information required for creating the first and second functions. “actuators” is an array type function, as indicated by “type”: “array”. “actuators” includes “items”.

[0099] "items" is a function for outputting, as a data array, identification information for identifying the actuator that is the target of outputting information, and various information required to operate the identified actuator. "items" is an object type function, as indicated by "type": "object". "items" includes "properties" and "required".

[0100] "Properties" is a function that obtains identification information for identifying the actuator that is the target of outputting information, and various information required to operate the identified actuator. "Properties" includes "id", "deviceName", "type", "status", "timestamp", and "description".

[0101] "id" is the part that acquires the actuator identifier. "id" is of string type as indicated by "type": "string", and acquires the actuator identifier as a character string. "deviceName" is the part that acquires the name of the actuator. As "type": "string" indicates, "deviceName" is a string type, and acquires the name of the actuator as a character string.

[0102] "Type" is the part that acquires information about the type of actuator. Information about the type of actuator is, for example, information such as "pump", "valve", or "conveyor". As "type": "string" indicates, "type" is a string type, and acquires information about the type of actuator as a character string.

[0103] "status" is the part that acquires information about the actuator's status. Information about the actuator's status is, for example, "ON" or "OFF" indicating whether the actuator is operating or stopped, "OPENED" or "CLOSED" indicating the open / closed state of the valve the actuator is equipped with, or "AUTO" or "MANUAL" indicating the control state of the actuator. "status" is of string type, as indicated by "type": "string", and acquires information about the actuator's status as a character string.

[0104] "timestamp" is the part that obtains information about the time when the actuator status was detected. As shown in "type": "string" and "format": "date-time", "timestamp" is a string type function, and obtains information about the time when the actuator status was detected as a string.

[0105] "Description" is a section that acquires information about the function of the actuator. The information about the function of the actuator is, for example, the content of "description" included in the semi-structured functional specifications shown in Figs. 7 to 9 described above. Specifically, for example, the information about the function of the pump to move the cooling water in the tank to the reactor is "description" in the above-mentioned "Pump Operation" sequence: "Transfers coolant fluid from the primary storage tank to the reactor unit." As indicated by "type": "string", "description" is a string type, and obtains information about the actuator's function as a character string.

[0106] “required” is the part that outputs various information obtained by the “properties” mentioned above as a data array, such as [“id”, “deviceName”, “type”, “status”, “timestamp”, “description”]. The above content constitutes the “actuators” function.

[0107] "required" is a function that outputs, as a data array, the information about the above-mentioned sensors and actuators acquired by the schemas shown in Figures 13 and 14. As shown in ["sensors", "actuators"], "required" outputs each of the information acquired by the above-mentioned "sensors" function and "actuators" function as a data array.

[0108] FIG. 15 is a first diagram of a data array including various information obtained by the schemas shown in FIGS. FIG. 16 is a second diagram of a data array including various information obtained by the schemas shown in FIGS. The data arrays shown in Figures 15 and 16 are functions for storing various information in the schemas shown in Figures 13 and 14. The data arrays shown in Figures 15 and 16 are metadata for the first and second functions. The data arrays shown in Figures 15 and 16 are transmitted to the language model 20 by the transmitting means 152 in a transmitting step described later. 15 and 16 may be input by a user via the input unit 12. At this time, the user may input the language using the input unit 12 which is a keyboard, or may orally speak the language using the input unit 12 which is a voice recognition device. Alternatively, the language may be generated by artificial intelligence or the like based on the content spoken by the user orally.

[0109] The data arrays shown in Figures 15 and 16 include "sensors" and "actuators". The "sensors" and "actuators" in the data arrays shown in Figures 15 and 16 correspond to the "sensors" and "actuators" included in the "properties" in the schemas shown in Figures 13 and 14, respectively.

[0110] "sensors" stores sensor information. In the example shown in Fig. 15, "sensors" includes four arrays including "id", "deviceName", "type", "value", "unit", "timestamp", and "description". The number of arrays may be changed depending on the number of “sensors” required to monitor or control the control target 2 .

[0111] The first array from the top in “sensors” shown in FIG. 15 stores information about the temperature sensor, as indicated by “id”: “temp_sensor_1” and “deviceName”: “Temperature Sensor 1”. In addition, as indicated by “type”: “temperature”, “value”: 25.3, “unit”: “C”, and “timestamp”: “2024-07-30T12:00:00Z”, the temperature sensor measures temperature, and the temperature measured by the temperature sensor at the time indicated in “timestamp” is 25.3°C. And as indicated by “description”: “Measures the temperature in the main reactor”, the temperature sensor measures the temperature in the main reactor.

[0112] The second array from the top in “sensors” shown in FIG. 15 stores information about the pressure sensor, as indicated by “id”: “pressure_sensor_1” and “deviceName”: “Pressure Sensor 1”. In addition, as indicated by “type”: “pressure”, “value”: 101.5, “unit”: “kPa”, and “timestamp”: “2024-07-30T12:00:00Z”, the pressure sensor measures pressure, and the pressure measured by the pressure sensor at the time indicated in “timestamp” is 101.5 kPa. And as indicated by “description”: “Monitors the pressure in the primary pipeline”, the pressure sensor measures the pressure in the primary pipeline.

[0113] The third array from the top in “sensors” shown in FIG. 15 stores information about the flow meter, as indicated by “id”: “flow_meter_3” and “deviceName”: “Flow Meter 3”. In addition, as indicated by “type”: “flow”, “value”: 500, “unit”: “L / min”, and “timestamp”: “2024-07-30T12:00:00Z”, the flow meter measures flow rate, and the flow rate measured by the flow meter at the time indicated by “timestamp” is 500 L / min. And as indicated by “description”: “Measures the flow rate of the coolant”, the flow meter measures the flow rate of the coolant.

[0114] The fourth array from the top in “sensors” shown in FIG. 15 stores information about the water level sensor, as indicated by “id”: “liquid_level_sensor_4” and “deviceName”: “Liquid Level Sensor 4”. In addition, as indicated by “type”: “liquid_level”, “value”: 75.5, “unit”: “%”, and “timestamp”: “2024-07-30T12:00:00Z”, the water level sensor measures the water level, and the water level measured by the water level sensor at the time indicated in “timestamp” is 75.5% of the full level. And as indicated by “description”: “Indicates the liquid level in the storage tank”, the water level sensor measures the water level in a tank (storage tank).

[0115] "actuators" stores information about actuators. In the example shown in Fig. 16, "actuators" includes six arrays, each including "id", "deviceName", "type", "status", "timestamp", and "description". The number of arrays may be changed depending on the number of "actuators" required to monitor or control the control target 2.

[0116] The first array from the top in “actuators” shown in FIG. 16 stores information about the pump, as shown by “id”: “pump_1”, “deviceName”: “Pump 1”, and “type”: “pump”. In addition, “status”: “ON”, “timestamp”: “2024-07-30T12:00:00Z” indicate that the pump is operating (ON) at the time indicated by “timestamp”. And, as shown by “description”: “Transfers the liquid from the main tank to the processing unit”, this pump transfers liquid from the tank (main tank) to the processing unit.

[0117] The second array from the top in “actuators” shown in Figure 16 stores information about the valve, as shown in “id”: “valve_2”, “deviceName”: “Valve 2”, and “type”: “valve”. In addition, “status”: “CLOSED”, “timestamp”: “2024-07-30T12:00:00Z”, indicate that the valve is closed (CLOSED) at the time indicated by “timestamp”. And, as shown in “description”: “Controls the flow of gas in the auxiliary pipeline”, this valve controls the flow of gas in the auxiliary pipeline.

[0118] The third array from the top in “actuators” in Figure 16 stores information about the conveyor, as shown in “id”: “conveyor_1”, “deviceName”: “Conveyor 1”, and “type”: “conveyor”. In addition, “status”: “AUTO”, “timestamp”: “2024-07-30T12:00:00Z”, indicate that the conveyor is in automatic operation (AUTO) at the time indicated by “timestamp”. And, as shown in “description”: “Automatically conveys products from the assembly line to the packaging area”, this conveyor moves products from the assembly line to the packaging area.

[0119] The fourth array from the top in “actuators” shown in FIG. 16 stores information about the agitator, as shown by “id”: “agitator_1”, “deviceName”: “Agitator 1”, and “type”: “agitator”. In addition, “status”: “ON”, “timestamp”: “2024-07-30T12:00:00Z”, indicate that the agitator is operating (ON) at the time shown in “timestamp”. And, as shown by “description”: “Mixes the contents of the mixing tank”, this indicates that the agitator mixes the contents of the tank.

[0120] The fifth array from the top in “actuators” shown in FIG. 16 stores information about the heater, as shown by “id”: “heater_1”, “deviceName”: “Heater 1”, and “type”: “heater”. In addition, as shown by “status”: “OFF”, and “timestamp”: “2024-07-30T12:00:00Z”, it indicates that the heater is stopped (OFF) at the time shown in “timestamp”. And as shown by “description”: “Heats the reactor to maintain the required process temperature”, it indicates that the heater heats the reactor to maintain the required process temperature.

[0121] The sixth array from the top in "actuators" shown in Figure 16 stores information about the alarm system, as shown by "id": "alarm_system", "deviceName": "Alarm System", and "type": "alarm". In addition, "status": "ON", "timestamp": "2024-07-30T12:00:00Z" indicate that the alarm system is operating (ON) at the time indicated by "timestamp". And, as shown by "description": "Alerts operators to any anomalies in the system", this alarm system notifies operators of abnormalities in the system.

[0122] The above constitutes the schema and data array for the second example of the function. As described above, in the second example function, the pump operates in response to the water level in the tank. Therefore, in the second example function, the first and second functions may be created to read the water level data from the data array of "sensors" described above. Also, the first and second functions may be created to read the operation of the pump from the data array of "actuators" described above.

[0123] FIG. 17 is an example of a definition of information to be input to an API according to the second example of the function. 17, the definition of the information to be input to the API describes the definition of the node N and edge E created by the language model 20. The API shown in Fig. 17 describes the specific contents of the node N created by the language model 20 when the node N and edge E are generated by the language model 20 after each of the above-mentioned functions etc. are transmitted or notified to the language model 20. In other words, the API shown in Fig. 17 shows the configurations of the first function and the second function related to the second example of the function. 17 may be input by a user via the input unit 12. At this time, the user may input the language using the input unit 12 which is a keyboard, or may orally speak the language using the input unit 12 which is a voice recognition device. Alternatively, the language may be generated by artificial intelligence or the like based on the content spoken by the user orally. 17 may be stored as structure data in the storage unit 14 or the external server 3. In this way, the API shown in FIG. 17 may be made referable when creating a function related to a new function by the language model 20.

[0124] The schema shown in Fig. 17 begins with "title: OPCServerWriteInput". This description indicates that the schema shown in Fig. 17 has a structure for writing various information to a function (e.g., an OPC server) that writes information to the control device 10. The schema shown in FIG. 17 is an object type function, as indicated by "type": "object" at the beginning. Moreover, the API illustrated in FIG. 17 includes "properties" and "required."

[0125] "Properties" is a function for managing details of various information used in creating a node N. In the API shown in Fig. 17, "properties" includes "node_id", "value", and "type".

[0126] As seen in "title": "Node Id", "node_id" is the part that obtains the identifier of node N. Hereinafter, the identifier of node N will be referred to as the node ID. As seen in "type": "string", "node_id" is of string type, and obtains information about the node ID as a character string. Also, as stated in "description": "The node id of the OPC server to which the value will be written. The specified value will be written to the address of the plant controller linked with the node id.", "node_id" obtains the node ID of the OPC server to which the value related to the function will be written. Also, when node N is created, the value related to the function will be written to the address of the plant controller (e.g., PLC) associated with the node ID.

[0127] As seen in "title": "Value", "value" is the part that obtains the value related to the function related to the node N to be created. As seen in "type": "string", "value" is of string type, and obtains information about the value related to the function as a character string. Also, as stated in “description”: “The value to be written to the OPC server. This value will directly be written to the address of the plant controller linked with the node id.”, “value” gets the value to be written to the OPC server. Also, when node N is created, the value related to the function is written directly to the address of the plant controller (e.g., PLC) associated with the node ID.

[0128] As indicated by "title": "Type", "type" is a section that acquires data related to the data type of the value related to the function. In the schema shown in FIG. 17, "type" further includes a function called "type". The "type" included in "type" is a string type, as indicated by "type": "string", "enum": ["int", "float", "string", "bool"], and data in any of the formats of int type, float type, string type, and bool type is acquired as an enumerator. Also, as stated in “description”: “The data type of the value to be written to the OPC server. The data type should be the same as the data type of the address of the plant controller linked with the node id.”, “type” obtains the data type of the value to be written to the OPC server. It also indicates that the data type of the value should be the same as the data type of the address of the plant controller (e.g., PLC) associated with the node ID.

[0129] FIG. 18 shows a language for a second example of a function created by the language model 20. The language shown in Fig. 18 corresponds to the prompt related to the second example of the function shown in Fig. 18. That is, in response to the above-mentioned prompt "Realize the function of turning pump 1 on / off," the language model 20 creates a language of "node_id": "pump_1", "value": true, "type": "bool". This indicates that the identifier of the pump controlled by the second example of the function is "pump_1", and the ON / OFF of the pump is indicated by the value of true (or false) indicated as "value" in the boolean function. The language shown in Fig. 18 is the language underlying the node N displayed on the screen. In this embodiment, the node N may be created based on the language as shown in Fig. 18, which is created by the language model 20, and displayed on the screen.

[0130] FIG. 19 is a diagram showing nodes N and edges E according to a second example of a function created by the language model 20. As shown in FIG. In the example shown in Figure 19, the multiple nodes N include an actuator signal node Nb1, a sensor signal node Nb2, an interlock information node Nb3, an information merge node Nb4, an OPC input node Nb5, a code input node Nb6, a control processing execution node Nb7, a control output destination setting node Nb8, and an OPC output node Nb9.

[0131] The actuator signal node Nb1 is a node for acquiring various information (signals) of the pump provided in the control target 2. Specifically, the actuator signal node Nb1 acquires, for example, an actuator identifier, an actuator name, an actuator type, an actuator state, a time when the actuator state was detected, and the like. The actuator signal node Nb1 may acquire information, for example, by the input schema described above with reference to Figs. 13 and 14. The process according to the second example is executed by acquiring information about the pump in the actuator signal node Nb1.

[0132] The sensor signal node Nb2 is a node for acquiring various information (signals) of the sensor included in the control target 2. Specifically, the sensor signal node Nb2 acquires, for example, a sensor identifier, a sensor name, the content of a value detected by the sensor, the value detected by the sensor, the unit of the value detected by the sensor, the time when the sensor detected the value, etc. The sensor signal node Nb2 may acquire information by the input schema described above with reference to Figs. 13 and 14, for example.

[0133] The interlock information node Nb3 is a node for acquiring an interlock condition in the control target 2. The interlock information node Nb3 may acquire information on the interlock condition from an input schema, which will be described later with reference to Figs. 20 and 21, for example.

[0134] The information merge node Nb4 is a node for merging (combining) various pieces of information acquired by the actuator signal node Nb1, the sensor signal node Nb2, and the interlock information node Nb3. The information merge node Nb4 may, for example, merge the pieces of information acquired by the various nodes described above as an array type arrangement.

[0135] The OPC input node Nb5 is a node corresponding to an API for acquiring various information (signals) merged by the information merge node Nb4. By acquiring various information (signals) as described above, the OPC input node Nb5 can acquire various information (signals) specified by a user from an external server 3 (e.g., an OPC server).

[0136] The code input node Nb6 is a node corresponding to an API for outputting source code relating to the first function and the second function according to the second example. The source code output by the code input node Nb6 may be sent to a control process execution node Nb7. In the code input node Nb6, for example, the function described in the "description" of each of the above-mentioned functions may be input. In this way, each of the above-mentioned functions may be implemented.

[0137] The control process execution node Nb7 is a node corresponding to an API for executing the first and second functions according to the second example. The control process execution node Nb7 acquires the source code output by the code input node Nb6, and executes a program related to the acquired source code. As a result, in the second example, a process is executed to start or stop the operation of the pump depending on the water level in the tank. For example, when it is detected by the above-mentioned process that the water level in the tank has risen, the control process execution node Nb7 may transmit a command to start the operation of the pump to the OPC output node Nb9.

[0138] The control output destination setting node Nb8 is a node corresponding to an API for setting the output destination of a signal to operate an actuator, which is transmitted by the control process execution node Nb7. The user may set the output destination of the signal to a pump, for example, by inputting a natural language such as "Pump Order" into the control output destination setting node Nb8.

[0139] The OPC output node Nb9 is a node corresponding to an API for transmitting a command to operate the actuator to the actuator. The OPC output node Nb9 may start the operation of the actuator (in this embodiment, a pump) set by the control output destination setting node Nb8 by receiving a command to start the operation of the actuator from the control process execution node Nb7.

[0140] FIG. 20 is a first diagram of an example of a schema into which an interlock condition related to the second example of the function is input. FIG. 21 is a second diagram of an example of a schema into which an interlock condition related to the second example of the function is input. The schemas shown in Figures 20 and 21 show data structures for acquiring various information required to determine the interlock conditions of the pump related to the above-mentioned functional specifications. The schemas shown in Figures 20 and 21 may be notified to the language model 20 as a prompt by the notification means 151 in the notification step. 20 and 21 may be input by a user via the input unit 12. At this time, the user may input the language using the input unit 12 which is a keyboard, or may orally speak the language using the input unit 12 which is a voice recognition device. Alternatively, the language may be generated by artificial intelligence or the like based on the content spoken by the user orally.

[0141] 20 and 21 may be stored as structure data in the storage unit 14 or the external server 3, for example, as an interlock condition for ensuring the safety of the control target 2. In this way, the schemas shown in Figs. 20 and 21 may be made referable when creating a function related to a new function by the language model 20. In addition, when creating a program, the language model 20 may use the schemas shown in Figs. 20 and 21 to consider whether the program satisfies the interlock condition before creating the program.

[0142] In the example shown in Figures 20 and 21, the beginning reads “title”: “Running Condition schema”, and “description”: “This schema is used to define the conditions that need to operate plant functions”, indicating that the schemas shown in Figures 20 and 21 are used to define the conditions necessary to operate the equipment (e.g., a pump) of the plant that is the object of control 2. 20 and 21, the description at the beginning is followed by "type": "object." This description indicates that the schema shown in Fig. 20 and 21 is an object type function.

[0143] The schema shown in FIG. 20 and FIG. 21 includes the above-mentioned contents followed by a function of "properties". “Properties” is a function for obtaining various information required to create interlock conditions. “Properties” includes “conditions”. As shown in "type": "array", "conditions" is an array type function. Also, as shown in "title": "List of Conditions", "conditions" functions as a list of interlock conditions. In the schemas shown in Fig. 20 and Fig. 21, "conditions" includes "items".

[0144] "items" is a function for acquiring various information related to the list of interlock conditions. As indicated by "type": "object", "items" is an object type function. "items" includes "properties", "dependencies", "required", "if", and "then".

[0145] "Properties" is a function that acquires the specific contents of various information related to the interlock conditions. "Properties" includes "type", "key", "value", "operation", and "subConditions".

[0146] "type" is the section that obtains information about the format of the interlock condition. Also, as shown in "type": "string" and "title": "Condition Type", "type" is a string-type function that obtains the format of the interlock condition as a string. Also, as shown in "enum": ["AND", "OR", "NOT", "CONDITION"], "type" obtains one of AND (logical product), OR (logical sum), NOT (negation), or CONDITION (other conditions).

[0147] "key" is a function for identifying the sensor that is the target of the interlock condition. As "type": "string" and "title": "Key" indicate, "key" is a string-type function that obtains information about the sensor that is the target of the interlock condition as a string.

[0148] "value" is the part that obtains information about the content of the value detected by the sensor that is the target of the interlock condition. As "type": "string" and "title": "Value" indicate, "value" is a string type function that obtains information about the content of the value detected by the sensor that is the target of the interlock condition as a character string.

[0149] "operation" is a function for obtaining an operator related to the interlock condition. For example, "operation" specifies the condition when comparing the value detected by the sensor with the numerical value related to the interlock condition. As seen in "type": "string" and "title": "Operator", "operation" is a string type function and obtains information related to the equality sign or inequality sign related to the interlock condition as a character string. Also, as seen in "enum": ["=", "!=", "<", ">", "<=", ">="], "operation" obtains one of the enumerated values. Note that "!=" indicates a negated equality sign.

[0150] "SubConditions" is a function indicating a specific condition related to the interlock condition, and "subConditions" describes the format of the interlock condition using the above-mentioned "type". In the example shown in FIG. 20, as shown in “type”: “array” and “title”: “Sub Conditions”, “subConditions” sets desired interlock conditions by providing specific information related to the interlock conditions as array data.

[0151] "dependencies" is a function for defining interlock conditions based on the information acquired by the above-mentioned "properties" function. In the example shown in Fig. 21, "dependencies" includes "type". "type" is a function for defining the format of the interlock condition. "type" includes "oneOf".

[0152] "oneOf" is a function for determining whether the form of the interlock condition is AND (logical conjunction), OR (logical sum), NOT (negation), or CONDITION (other condition). As shown in FIG. 21, "oneOf" includes two "properties."

[0153] The first “properties” is a function where the interlock condition is in the form of AND (logical product), OR (logical sum), or NOT (negation), as shown in “type”: {“enum”: [“AND”, “OR”, “NOT”]}. As shown in Figure 21, when the format of the interlock condition is either AND (logical product), OR (logical sum), or NOT (negation), the various information mentioned above is output by the "key" function, "value" function, and "operation" function mentioned above, as shown in "key": {"type": "string"}, "value": {"type": "string"}, "operation": {"type": "string"}.

[0154] The second “properties” is a function when the interlock condition is in the form of CONDITION (other conditions), as indicated by “type”: { “enum”: [“CONDITION”]}. As shown in FIG. 21, when the format of the interlock condition is CONDITION (other conditions), the various information described above is output by the “subConditions” function described above, as shown in “subConditions”: {“type”: “array”}.

[0155] As the "type" in the "required" section indicates, it executes the "type" function described above and reads the format of the interlock condition. It then executes the "if" statement described next and executes "then" if necessary. As seen in "properties": {"type": { "enum": ["CONDITION"]}}, "if" determines whether the format of the loaded interlock condition is CONDITION (other conditions). If the format of the loaded interlock condition is CONDITION (other conditions), then, as seen in "then": {"required": ["key", "value", "operation"]}, it indicates that it is mandatory to input information for the "key" function, the "value" function, and the "operation". This allows the various information described above to be output in the "subConditions" function described above.

[0156] FIG. 22 is a first diagram of a data array including various information acquired by the schema into which the interlock conditions shown in FIGS. 20 and 21 are input. FIG. 23 is a second diagram of a data array including various information acquired by the schema into which the interlock conditions shown in FIGS. 20 and 21 are input. The data arrays shown in Figures 22 and 23 are functions for storing various information in the schemas shown in Figures 20 and 21. The data arrays shown in Figures 22 and 23 may be notified to the language model 20 by the notification means 151 in the notification step. 22 and 23 may be input by a user via the input unit 12. At this time, the user may input the language using the input unit 12 which is a keyboard, or may orally speak the language using the input unit 12 which is a voice recognition device. Alternatively, the language may be generated by artificial intelligence or the like based on the content spoken by the user orally.

[0157] The data arrays shown in Fig. 22 and Fig. 23 include "conditions." In the examples shown in Fig. 22 and Fig. 23, there are illustrated a case where the format of the interlock condition is AND (logical product), as indicated by "type": "AND," and a case where the format of the interlock condition is NOT (negation), as indicated by "type": "NOT." When the interlock condition is in the form of AND (logical product), in the example shown in FIG. 22, three types of arguments are provided for the "subConditions" function as follows.

[0158] 22, as shown by the first argument {"type": "CONDITION", "key": "level_sensor_1", "value": "LL", "operation": ">"}, the format of the interlock condition is CONDITION (other conditions), the sensor that is the target of the interlock condition is the water level sensor, the value detected by the water level sensor is "LL", and the operator related to the interlock condition is ">". In other words, the first argument defines the condition that the water level detected by the water level sensor is less than "LL".

[0159] 22, as seen from {"type": "CONDITION", "key": "temperature_sensor_1", "value": "50", "operation": "<"}, the format of the interlock condition is CONDITION (other conditions), the sensor that is the target of the interlock condition is the temperature sensor, the value detected by the temperature sensor is "50", and the operator is "<". In other words, the second argument defines the condition that the temperature detected by the temperature sensor is above 50°C.

[0160] 22, as shown by {"type": "CONDITION", "key": "pressure_sensor_1", "value": "100", "operation": "<="}, the format of the interlock condition is CONDITION (other conditions), the sensor that is the target of the interlock condition is a pressure sensor, the value detected by the pressure sensor is "100", and the operator is "<=". In other words, the third argument defines the condition that the pressure detected by the pressure sensor is 100 kPa or more.

[0161] When the interlock condition is in the NOT (negation) format, in the example shown in FIG. 23, one type of argument is provided for the “subConditions” function as follows: 23, the format of the interlock condition is CONDITION (other conditions), the target of the interlock condition is the emergency stop button, the detected value is "true", and the operator is "=", as shown by {"type": "CONDITION", "key": "emergency_stop", "value": "true", "operation": "="}. In other words, this argument defines the condition of whether the emergency stop button has been pressed. It should be noted that when there are multiple interlock conditions of the NOT format, the multiple interlock conditions may be combined with OR as appropriate.

[0162] FIG. 24 is a diagram showing nodes N and edges E that indicate interlock conditions according to a second example of a function created by the language model 20. In FIG. 24, a plurality of nodes N indicating the above-mentioned interlock conditions are appropriately connected by edges E. By visually checking this diagram, a user can intuitively grasp the interlock conditions related to the second example of the function.

[0163] (Third example of a function) In the third example of the function, the first function is a function for moving a mobile machine, and the second function is a function for determining whether or not an object is present on the route of the movement. The prompt notified to the language model 20 in the notification step indicates that the movement of the mobile machine is to be stopped if an object is present on the route.

[0164] In this embodiment, any of the three examples of functions described above is created by the language model 20.

[0165] (How to control the creation system) Next, a control method of the creation system 1 according to the present embodiment will be described. The control method of the creation system 1 refers to a method of creating a function for monitoring or controlling a plant, or a node N or an edge E to be displayed on a screen based on the function for monitoring or controlling a plant, by the above-mentioned creation system 1, for example. FIG. 25 is a flow chart of a control method for the creation system 1 according to the embodiment. As shown in FIG. 25, the control method of this embodiment includes a sending step S1, a notification step S2, a creation control step S3, a determination step S4, and a display control step S5.

[0166] The transmitting step S1 is a step in which a computer (e.g., the control device 10) transmits metadata of each of the first function and the second function to the language model 20. In the transmitting step S1, for example, the transmitting means 152 transmits metadata of each of the first function and the second function to the language model 20. As described above, each of the first function and the second function is a function for monitoring or controlling a plant. In this embodiment, in the transmitting step S1, metadata of each of the first function and the second function may be transmitted from the external server 3 to the language model 20. Also, in the transmitting step S1, a functional specification of the plant may be transmitted to the language model 20.

[0167] The notification step S2 is a step in which a computer (e.g., the control device 10) notifies the language model 20 of a prompt indicating a function desired by the user. In this embodiment, the prompt notified to the language model 20 in the notification step S2 may include condition information indicating an interlock condition of the plant.

[0168] The creation control step S3 is a step in which a computer (e.g., the control device 10) causes the language model 20 to create a first node N1 corresponding to the first function, a second node N2 corresponding to the second function, and an edge E connecting the first node N1 and the second node N2, based on the metadata transmitted in the sending step S1 and the prompt notified in the notifying step S2. In the creation control step S3, the creation control means 153 may cause the language model 20 to select either the first function or the second function, using the condition information notified in the notifying step S2.

[0169] The determination step S4 is a step in which a computer (e.g., the control device 10) determines whether the first node N1, the second node N2, and the edge E created in the creation control step S3 satisfy the interlock condition. In the determination step S4, the determination means 154 makes the above determination, which contributes to ensuring the safety of the control target 2 more reliably by the created first node N1, the second node N2, and the edge E.

[0170] The display control step S5 is a step in which a computer (e.g., the control device 10) causes the display unit 13 to display the first node N1, the second node N2, and the edge E created in the creation control step S3. In the display control means 155, the display control means 155 causes the display unit 13 to display the above-mentioned various information, thereby contributing to the user being able to easily grasp the various information. In addition, the user can appropriately operate the first node N1, the second node N2, and the edge E displayed on the display unit 13 via the input unit 12, thereby enabling visual programming by the user. The control method for the creation system 1 according to this embodiment is carried out through the above steps.

[0171] FIG. 26 is a diagram showing an outline of a hardware configuration example of an information processing device 90 applied to an embodiment. The information processing device 90 includes a processor 91, a main storage device 92, a communication interface 93, an auxiliary storage device 94, an input / output interface 95, and an internal bus 96. The processor 91, the main storage device 92, the communication interface 93, the auxiliary storage device 94, and the input / output interface 95 are communicably connected to each other via the internal bus 96. The information processing device 90 may be applied to, for example, a control device 10. In this case, for example, the communication unit 11 may be configured using the communication interface 93. For example, the storage unit 14 may be configured using the auxiliary storage device 94. In addition, the control unit 15 may be configured using the processor 91 and the main storage device 92.

[0172] As described above, according to the creating system 1 and the control method of the creating system 1 according to the present embodiment, in the creating control step S3, the language model 20 creates a first node N1 corresponding to the first function, a second node N2 corresponding to the second function, and an edge E connecting the first node N1 and the second node N2, based on the metadata transmitted in the sending step S1 and the prompt notified in the notifying step S2. This makes it unnecessary for the user to create the node N and the edge E. This makes it possible to reduce the complexity of programming. Moreover, each of the first function and the second function is a function for controlling a plant, which makes it easier to create a control program for the plant, for example.

[0173] Furthermore, in the transmission step S1, the metadata of each of the first function and the second function is transmitted from the external server 3 to the language model 20. This makes it possible to, for example, easily reduce the load of network communication in the plant. Also, for example, it makes it possible to easily share the metadata of each of the first function and the second function among a plurality of bases in the plant. Therefore, the control program for the plant can be created regardless of the base.

[0174] In addition, in the transmission step S1, the functional specifications of the plant are transmitted to the language model 20. This allows the language model 20 to accurately grasp the functional specifications of the plant. This makes it easier for the language model 20 to create a control program more accurately.

[0175] Furthermore, the prompt notified to the language model 20 in the notification step S2 includes condition information indicating an interlock condition of the plant. This allows, for example, a control program created by the language model 20 to include the interlock condition. Therefore, the prompt notified to the language model 20 in the notification step S2 can be one that takes into consideration the maintenance of the equipment.

[0176] Furthermore, the language model 20 is caused to select either the first function or the second function using the condition information notified in the notification step S2. This allows the language model 20 to appropriately select a function that can satisfy the user's desired functionality from the metadata of each of the multiple functions transmitted to the language model 20 in the transmission step S1, based on the condition information indicating the interlock condition of the plant. Thus, the language model 20 can appropriately create a control program including the interlock condition of the plant.

[0177] In addition, in a determination step S4, it is determined whether the first node N1, the second node N2, and the edge E created in the creation control step S3 satisfy an interlock condition. This makes it possible to improve the accuracy of the control of the plant, for example.

[0178] Furthermore, for example, the first function is a function for detecting smoke or fire in the garbage pit, and the second function is a function for sounding an alarm. The prompt notified to the language model 20 in the notification step S2 indicates that an alarm is to be sounded when smoke or fire is detected in the garbage pit. As a result, for example, when the plant that is the control target 2 is a garbage disposal plant, a fire that has broken out in the garbage pit can be quickly notified to the user by the first function and the second function. This makes it easier to ensure the safety of the plant.

[0179] Also, for example, the first function may be a function for detecting the water level in the tank, and the second function may be a function for operating the pump. The prompt notified to the language model 20 in the notification step S2 may indicate that the operation of the pump is to be stopped when the water level in the tank falls below a predetermined water level. This makes it possible to appropriately control the operation of the pump according to the water level in the tank by using the first function and the second function, for example. This makes it easier to ensure the safety of a plant including a tank and a pump.

[0180] Also, for example, the first function may be a function for moving the mobile machine, and the second function may be a function for determining whether or not there is an object on the route of the mobile machine. The prompt notified to the language model 20 in the notification step S2 may indicate that the movement of the mobile machine is to be stopped when there is an object on the route of the mobile machine. Thereby, for example, the first function and the second function can prevent the mobile machine from coming into contact with the object.

[0181] Moreover, in a display control step S5, the first node N1, the second node N2, and the edge E created in the creation control step S3 are all displayed on the display unit 13. This allows the user to easily understand the contents of the created control program.

[0182] The technical scope of the present disclosure is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present disclosure. For example, the control method of the creation system according to the present embodiment may be performed by the external server 3 instead of the control device 10. Furthermore, in the transmission step S1, the metadata of each of the first function and the second function may not be transmitted from the external server 3 to the language model 20, but may be read from the storage unit 14 of the control device 10 and transmitted to the language model 20, for example. Furthermore, the prompt notified to the language model 20 in the notification step S2 does not need to include condition information indicating an interlock condition of the plant, which is the controlled object 2. Furthermore, the control device 10 may use the information on the interlock condition notified in the notification step S2, and may not cause the language model to select either the first function or the second function. Also, a program for determining whether or not the created program satisfies the interlock condition by the determining means 154 may be provided separately and used.

[0183] In addition, within the scope of the present disclosure, the components in the above-described embodiments may be replaced with well-known components as appropriate, and the above-described modified examples may be combined as appropriate.

[0184] (Additional Note) The control method, the creation system, and the program according to the embodiment can be understood, for example, as follows.

[0185] <1> A control method of a creation system according to one embodiment of the present disclosure includes a sending step in which a computer sends metadata for each of a first function and a second function to a language model; a notification step in which the computer notifies the language model of a prompt indicating a user's desired function; and a creation control step in which the computer causes the language model to create a first node corresponding to the first function, a second node corresponding to the second function, and an edge connecting the first node and the second node based on the metadata sent in the sending step and the prompt notified in the notification step, wherein each of the first function and the second function is a function for controlling a plant.

[0186] According to the above-mentioned control method of the creation system, in the creation control step, a first node corresponding to a first function, a second node corresponding to a second function, and an edge connecting the first node and the second node are created in the language model based on the metadata transmitted in the sending step and the prompt notified in the notifying step. This makes it unnecessary for the user to create the nodes and edges. This makes it possible to reduce the complexity of programming. Moreover, each of the first function and the second function is a function for controlling a plant, which makes it easier to create a control program for the plant, for example.

[0187] <2> the above <1> In the control method of the creation system according to the present invention, a configuration may be adopted in which, in the transmitting step, the metadata of each of the first function and the second function is transmitted from an external server to the language model.

[0188] In addition, in the transmitting step, the metadata of each of the first function and the second function is transmitted from the external server to the language model. This makes it possible to, for example, easily reduce the load of network communication in the plant. In addition, for example, the metadata of each of the first function and the second function can be easily shared among a plurality of bases in the plant. Therefore, the control program for the plant can be created regardless of the base.

[0189] <3> the above <1> or <2> In the control method of the creation system according to the above, a configuration may be adopted in which a functional specification of the plant is transmitted to the language model in the transmitting step.

[0190] In addition, in the transmission step, the functional specifications of the plant are transmitted to the language model. This allows the language model to accurately grasp the functional specifications of the plant. This makes it easier to create a control program using the language model more accurately.

[0191] <4> the above <1> from <3> In the control method of a creation system according to any one of the above aspects, a configuration may be adopted in which the prompt notified to the language model in the notification step includes condition information indicating an interlock condition of the plant.

[0192] Furthermore, the prompt notified to the language model in the notification step includes condition information indicating an interlock condition of the plant. This allows, for example, a control program created by the language model to include the interlock condition. Therefore, the prompt notified to the language model in the notification step can take into consideration the maintenance of the equipment.

[0193] <5> the above <4> In the control method for the creation system according to the present invention, a configuration may be adopted in which the language model is caused to select either the first function or the second function using the condition information notified in the notification step.

[0194] Furthermore, the language model is caused to select either the first function or the second function using the condition information notified in the notifying step. This allows the language model to appropriately select a function that can satisfy the user's desired functionality from the metadata of each of the multiple functions transmitted to the language model in the transmitting step, based on the condition information indicating the interlock condition of the plant. Thus, the language model can appropriately create a control program including the interlock condition of the plant.

[0195] <6> the above <1> from <5> In the control method of the creation system relating to any one of the above aspects, a configuration may be adopted in which the computer further includes a determination step of whether the first node, the second node, and the edge created in the creation control step satisfy an interlock condition.

[0196] In addition, in the determination step, it is determined whether the first node, the second node, and the edge created in the creation control step satisfy an interlock condition, which can improve the accuracy of the control of a plant, for example.

[0197] <7> the above <1> from <6> In the control method of the creation system relating to any one of the above aspects, a configuration may be adopted in which the first function is a function for detecting smoke or fire in a garbage pit, the second function is a function for sounding an alarm, and the prompt notified to the language model in the notification step indicates that the alarm is to be sounded when smoke or fire is detected in the garbage pit.

[0198] Furthermore, for example, the first function is a function for detecting smoke or fire in the garbage pit, and the second function is a function for sounding an alarm. The prompt notified to the language model in the notification step indicates that an alarm is to be sounded when smoke or fire is detected in the garbage pit. As a result, for example, when the plant to be controlled is a garbage disposal plant, the first function and the second function can quickly notify the user of a fire that has broken out in the garbage pit. This makes it easier to ensure the safety of the plant.

[0199] <8> the above <1> from <6> In the control method of the creation system according to any one of the above aspects, a configuration may be adopted in which the first function is a function for detecting the water level in a tank, the second function is a function for operating a pump, and the prompt notified to the language model in the notification step indicates that the operation of the pump should be stopped when the water level in the tank falls below a predetermined water level.

[0200] Also, for example, the first function may be a function for detecting the water level in the tank, and the second function may be a function for operating the pump. The prompt notified to the language model in the notification step may indicate that the operation of the pump is to be stopped when the water level in the tank falls below a predetermined water level. This makes it possible, for example, to appropriately control the operation of the pump according to the water level in the tank by the first function and the second function. This makes it easier to ensure the safety of a plant including a tank and a pump.

[0201] <9> the above <1> from <6> In the control method of a creation system according to any one of the above aspects, a configuration may be adopted in which the first function is a function for moving a mobile machine, the second function is a function for determining whether or not there is an object on the route of the movement, and the prompt notified to the language model in the notification step indicates that the movement of the mobile machine is to be stopped if the object is on the route.

[0202] Also, for example, the first function may be a function for moving the mobile machine, and the second function may be a function for determining whether or not there is an object on the route of the mobile machine. The prompt notified to the language model in the notification step may indicate that the movement of the mobile machine is to be stopped when there is an object on the route of the mobile machine. Thereby, for example, the first function and the second function can prevent the mobile machine from coming into contact with the object.

[0203] <10> the above <1> from <6> In the control method of the creation system relating to any one of the above aspects, a configuration may be adopted in which the computer further includes a display control step of causing a display unit to display all of the first node, the second node, and the edge created in the creation control step.

[0204] In addition, in the display control step, the first node, the second node, and the edge created in the creation control step are all displayed on the display unit, thereby making it easier for the user to understand the contents of the created control program.

[0205] <11> A control device according to one embodiment of the present disclosure includes a transmitting means for transmitting metadata of each of a first function and a second function to a language model, a notifying means for notifying the language model of a prompt indicating a user's desired function, and a creation control means for causing the language model to create a first node corresponding to the first function, a second node corresponding to the second function, and an edge connecting the first node and the second node based on the metadata transmitted by the transmitting means and the prompt notified by the notifying means, wherein each of the first function and the second function is a function for controlling a plant.

[0206] <12> A program according to an embodiment of the present disclosure includes: <11> The present invention is characterized in that the control device functions as the control device described above. [Explanation of symbols]

[0207] 1. Crafting System 2. What is controlled? 3 External Server 10 Control device 11 Communications Department 12 Input section 13 Display section 14 Storage section 15 Control section 151 Means of Notification 152 Transmission means 153 Creation Control Measures 154 Judgment means 155 Display control means 156 System Control Means 20 Language Models E-edge N-node N1 First node N2 Second node S1 Sending step S2 Notification Step S3 Creation Control Steps S4 Judgment step S5 Display control step

Claims

1. a sending step in which the computer sends metadata of each of the first function and the second function to a language model; a notification step in which the computer notifies the language model of a prompt indicating a user's desired function; a creation control step in which the computer causes the language model to create a first node corresponding to the first function, a second node corresponding to the second function, and an edge connecting the first node and the second node, based on the metadata transmitted in the sending step and the prompt notified in the notifying step; Equipped with each of the first function and the second function is a function for controlling a plant; A method for controlling a production system comprising:

2. In the transmitting step, the metadata of each of the first function and the second function is transmitted from an external server to the language model.

2. A method for controlling a production system according to claim 1.

3. In the transmitting step, a functional specification of the plant is transmitted to the language model.

2. A method for controlling a production system according to claim 1.

4. the prompt notified to the language model in the notifying step includes condition information indicating an interlock condition of the plant.

2. A method for controlling a production system according to claim 1.

5. causing the language model to select one of the first function and the second function using the condition information notified in the notifying step.

5. The method for controlling a production system according to claim 4.

6. a determination step in which a computer determines whether or not the first node, the second node, and the edge created in the creation control step satisfy an interlock condition; The method for controlling a production system according to claim 1, further comprising:

7. The first function is a function for detecting smoke or fire in a garbage dump, the second function is a function for issuing an alarm, The prompt notified to the language model in the notification step indicates that the alarm is to be issued if smoke or fire is detected in the garbage pit. A method for controlling the production system according to any one of claims 1 to 6.

8. the first function is a function for detecting a water level in a tank, the second function is a function for operating a pump, the prompt notified to the language model in the notifying step indicates that the operation of the pump is to be stopped when the water level of the tank falls below a predetermined water level. A method for controlling the production system according to any one of claims 1 to 6.

9. the first function is a function for moving a mobile machine; the second function is a function for determining whether or not an object is present on the route of the movement, the prompt notified to the language model in the notifying step indicates that the movement of the mobile machine is to be stopped when the object is present on the route. A method for controlling the production system according to any one of claims 1 to 6.

10. a display control step of causing a computer to display, on a display unit, the first node, the second node, and the edge created in the creation control step; The method for controlling a production system according to any one of claims 1 to 6, further comprising:

11. a transmitting means for transmitting metadata of each of the first function and the second function to a language model; a prompting means for notifying said language model of a prompt indicating a user's desired function; a creation control means for causing the language model to create a first node corresponding to the first function, a second node corresponding to the second function, and an edge connecting the first node and the second node, based on the metadata transmitted by the transmitting means and the prompt notified by the notifying means; Equipped with each of the first function and the second function is a function for controlling a plant; A control device comprising:

12. A computer is caused to function as the control device according to claim 11. A program characterized by:

Citation Information

Patent Citations

  • Compilation method, development supporting device, and control system

    JP2022118310A

  • Programming support device and programming support method

    JP2023162562A

  • Development support system and development support program

    JP7506957B1

  • Data searching, enrichment and consumption techniques using exploration and / or production entity relationships

    US20200272662A1

Cited By

  • Development assistance device and development assistance system

    WO2026203219A1