Information processing device, control device, generation method, control method for control device, program, and recording medium
The program generation system addresses unintended fluid mixing in complex flow path structures by generating interlock control information, enhancing the reliability of fluid handling operations in devices like water treatment systems and chemical plants.
Patent Information
- Application Number
- JP2022193783
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-12-02
- Publication Date
- 2024-12-23
- Estimated Expiration
- 2042-12-02
AI Technical Summary
Existing methods for controlling fluid flow in complex flow path structures in devices like water treatment systems and chemical plants are prone to errors and do not adequately address unintended mixing of fluids, leading to improper product manufacturing.
A program generation system that includes a processing unit to generate interlock control information based on flow path setting information, preventing unintended mixing by adding interlock controls to the program, using a programmable logic controller (PLC) to execute the program and control the device operations.
Enables easy setting of constraints to prevent unintended fluid mixing, ensuring proper execution of processes in devices with complex flow path structures.
Smart Images

Figure 0007604441000001 
Figure 0007604441000002 
Figure 0007604441000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, a control device, a generation method, a control method for a control device, a program, and a recording medium. [Background technology]
[0002] Conventionally, in the field of handling fluids, including water treatment systems and chemical plants, devices equipped with a flow path structure consisting of pumps, valves, pipes, tanks, reaction tanks, etc. are known. In such devices, various chemical and physical processes are carried out using fluid materials, and it is necessary to open, close, or change the flow path of the fluid material at appropriate times depending on the contents of the process. In order to automate the operation of the device, it is necessary to configure the device so that the operation of the pumps, valves, etc. can be controlled by a computer, and to prepare in advance a control program to be executed by the computer.
[0003] However, if the control programs for such devices are created and implemented entirely by hand, problems arise in that it takes a long time and is prone to errors.
[0004] Therefore, Patent Document 1 discloses a method for automatically implementing a control program based on configuration data that defines information on symbolized controlled devices, an input / output signal list, and conditions for the operational transition of the controlled devices. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2011-198237 A Summary of the Invention [Problem to be solved by the invention]
[0006] In recent years, the flow channel structure has become more complex as the functions of such devices have become more multifunctional and the processing contents have become more complex. In the processing steps performed by the device, the flow channels may overlap in each processing step, which may cause problems such as unintended mixing of fluid materials.
[0007] For example, assume that within the flow path structure of the device, there exists path 1 as a path capable of moving fluid material A stored in tank A to reaction tank B, and path 2 as a path capable of moving fluid material B stored in tank B to reaction tank B. Path 1 and path 2 partially overlap from tanks A and B to reaction tank B. Here, if processing steps using path 1 and path 2 are carried out simultaneously, unintended mixing of the fluid materials may occur in the overlapping paths, and the product may not be manufactured properly.
[0008] In the method disclosed in Patent Document 1, a control program is automatically implemented based on information on the controlled device, an input / output signal list, and setting data that defines the conditions of the operation transition of the controlled device. However, in the method disclosed in Patent Document 1, constraints to be set for each processing step at the stage of creating the setting data are not considered.
[0009] Therefore, in the method described in Patent Document 1 for generating a program for controlling an apparatus having a flow path structure, it was not easy for an operator to set constraints on the processes to be executed by the apparatus.
[0010] An object of the present invention is to provide an information processing device that generates a program that enables an operator to easily set constraints for processes to be executed by an apparatus equipped with a flow path structure, and prevents unintended mixing of fluids in paths in the flow path structure. [Means for solving the problem]
[0011] According to one aspect of the present invention, there is provided an information processing device which includes a processing unit that generates a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of processes, wherein the processing unit generates a plurality of flow path setting information based on equipment information representing the flow path structure and flow paths used in the flow path structure in the plurality of processes, generates interlock control information for interlock control for a specific flow path based on the plurality of flow path setting information, and generates the program to which the interlock control has been added based on the interlock control information.
[0012] According to another aspect of the present invention, there is provided a method for generating a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of processes, the method comprising: generating a plurality of flow path setting information based on equipment information representing the flow path structure and flow paths used in the flow path structure in the plurality of processes; generating interlock control information for interlock control for a specific flow path based on the plurality of flow path setting information; and generating the program to which the interlock control has been added based on the interlock control information. Effect of the Invention
[0013] According to the present invention, it is possible to easily set constraints that an operator should impose on processes to be executed by an apparatus having a flow path structure, and to generate a program that can prevent unintended mixing of fluids in paths in the flow path structure. [Brief description of the drawings]
[0014] [Figure 1A] FIG. 3B is a diagram for explaining a piping diagram 3A according to the first embodiment. [Figure 1B] FIG. 11 is a diagram for explaining a flow channel diagram 3B according to the first embodiment. [Figure 1C] FIG. 11 is a diagram for explaining a flow channel diagram 3B according to the first embodiment. [Diagram 2] FIG. 2 is a data flow diagram for explaining a program generating method according to the first embodiment. [Diagram 3] FIG. 1 is a schematic diagram for explaining the configuration and functions of a program generation system 1 according to a first embodiment. [Figure 4] FIG. 2 is a diagram for explaining a process chart 2 according to the first embodiment. [Diagram 5] FIG. 2 is a diagram for explaining a program output setting screen 41 according to the first embodiment. [Figure 6] FIG. 4 is a diagram for explaining a flow path setting screen 42 according to the first embodiment. [Figure 7] FIG. 2 is a diagram for explaining an IL setting screen 43 according to the first embodiment. [Figure 8] 10 is a diagram for explaining device type information 52 according to the first embodiment. FIG. [Figure 9] FIG. 4 is a diagram for explaining a flow path table 53 according to the first embodiment. [Figure 10] FIG. 11 is a diagram for explaining a device address table 54 according to the first embodiment. [Figure 11] FIG. 11 is a diagram for explaining an internal address table 55 according to the first embodiment. [Figure 12] FIG. 2 is a diagram for explaining program part information 56 according to the first embodiment. [Figure 13] 11 is a diagram for explaining IL information 57 according to the first embodiment. FIG. [Figure 14A] FIG. 11 is a diagram for explaining a program 58A according to the first embodiment. [Figure 14B] FIG. 11 is a diagram for explaining a program 58A according to the first embodiment. [Figure 15] 4 is a flowchart showing a basic procedure of a program generation process according to the first embodiment. [Figure 16] 11 is a flowchart showing a procedure of an IL addition process according to the first embodiment. [Figure 17A] FIG. 11 is a diagram for explaining a piping diagram 3A according to the second embodiment. [Figure 17B]FIG. 11 is a diagram for explaining a flow channel diagram 3B according to the second embodiment. [Figure 18] FIG. 11 is a diagram for explaining a process chart 2 according to the second embodiment. [Figure 19] FIG. 13 is a diagram for explaining an IL program template 565 according to the second embodiment. [Figure 20A] FIG. 11 is a diagram for explaining a program 58B according to the second embodiment. [Figure 20B] FIG. 11 is a diagram for explaining a program 58B according to the second embodiment. [Figure 21] 13 is a flowchart showing the procedure of an IL addition process according to the second embodiment. [Figure 22] 10 is a flowchart showing a procedure of an IL program generation subroutine according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] [First embodiment] A program generation system, a program generation method, an interlock generation method, and the like according to a first embodiment of the present invention will be described with reference to the drawings. In the drawings referred to in the following description, elements denoted with the same reference numerals have the same functions unless otherwise noted.
[0016] First, let us define the main terms used in the following explanation. A "plant" is a production facility that uses fluids or powders as raw materials and includes tanks, pumps, valves, piping, etc., and has a flow path structure that includes multiple flow paths. A "flow path" is a route through which fluids or powders pass. An "interlock control" is a mechanism for preventing accidents and troubles caused by erroneous operation or malfunction. Hereinafter, "interlock control" will be abbreviated as "IL". A "unit process" is a unit of work that flows fluids or powders through a flow path, and uses one flow path. A "production process" is a process that combines multiple unit processes to produce a target substance. A "tank" is a device that stores fluids or powders. A "valve" is a device that controls the movement of fluids or powders in a flow path, and can take two states: OPEN, which allows movement, and CLOSE, which prevents movement. A "pump" is a device that pressure-feeds fluids or powders in a flow path, and can take two states: ON, which pumps, and OFF, which stops pressure-feeding. A "device" is a collective term for the tanks, pumps, valves, and piping. A "switching attribute" is an attribute of equipment, such as a valve, that changes the flow path depending on the operation of the equipment. An "overlapping flow path" is a part of a plant where multiple flow paths overlap. An "overlapping equipment" is equipment that is on an overlapping flow path. An "IL operating equipment" is equipment that operates when the IL is activated. An "IL exclusive equipment" is equipment that is exclusively controlled with an IL operating equipment when the IL is activated. A "programmable logic controller" is a control device that controls the operation of a plant according to the sequence, conditions, etc. defined in a program. From here on, "programmable logic controller" will be abbreviated as "PLC."
[0017] Next, an overview of the IL executed by the program generated by the program generation system according to this embodiment and the necessity thereof will be described with reference to FIGS. 1A, 1B, and 1C.
[0018] FIG. 1A is a piping diagram 3A that shows a schematic diagram of a certain plant. The piping diagram 3A is equipment information showing a flow path structure in a plant equipped with a flow path structure including a plurality of flow paths. The plant has tanks TNK1, TNK2, and TNK3, valves VLV1, VLV2, and VLV3, pumps PMP1 and PMP2, and pipes PIP1, PIP2, and PIP3. Liquid A is stored in the tank TNK1. One end of the pipe PIP1 is connected to the tank TNK1. The pipe PIP1 is provided with a valve VLV1 and a pump PMP1 in this order from one end side to the other end side. The valve VLV1 opens and closes the pipe PIP1. The pump PMP1 pumps the liquid A in the pipe PIP1 from one end side to the other end side of the pipe PIP1. In addition, liquid B is stored in the tank TNK2. The liquid A and the liquid B are different liquids. One end of the pipe PIP2 is connected to the tank TNK2. A valve VLV2 and a pump PMP2 are provided in the pipe PIP2 in this order from one end to the other end. The valve VLV2 opens and closes the pipe PIP2. The pump PMP2 pumps the liquid B in the pipe PIP2 from one end to the other end of the pipe PIP2. The other ends of the pipes PIP1 and PIP2 are each connected to one end of the pipe PIP3. The pipe PIP3 is provided with a valve VLV3. The valve VLV3 opens and closes the pipe PIP3. The other end of the pipe PIP3 is connected to a tank TNK3. Piping FIG. 3A shows such a flow path structure.
[0019] FIG. 1B shows a flow path diagram 3B in which a flow path FLW3 is drawn on the piping diagram 3A. FIG. 1C shows a flow path diagram 3B in which a flow path FLW4 is drawn on the piping diagram 3A. The flow paths FLW3 and FLW4 represent liquid flow paths. The flow path FLW3 is a flow path connected by pipes PIP1 and PIP3 from the tank TNK1 to the tank TNK3 via the valve VLV1, pump PMP1, and valve VLV3 in this order. The flow path FLW4 is a flow path connected by pipes PIP2 and PIP3 from the tank TNK2, valve VLV2, pump PMP2, and valve VLV3 in this order to the tank TNK3. The flow paths FLW3 and FLW4 overlap each other at the portion of the pipe PIP3. The portion where the flow paths FLW3 and FLW4 overlap each other is called an overlapping flow path F001.
[0020] When flow paths FLW3 and FLW4 are created simultaneously in a plant, liquid A and liquid B flow simultaneously from two tanks TNK1 and TNK2 into the overlapping flow path F001. In that case, the state in the overlapping flow path F001 is different from when flow paths FLW3 and FLW4 are created exclusively, so the desired amount of liquid A or liquid B may not flow into tank TNK3. In that case, liquid A may flow back from tank TNK1 to TNK2, or liquid B may flow back from tank TNK2 to TNK1. Furthermore, liquid A and liquid B may be mixed unintentionally in pipe PIP3, which may result in improper product production.
[0021] As described above, defects caused by the occurrence of multiple flow paths may occur due to work that does not use a control program for controlling a plant, or due to problems in the production of a control program for controlling a plant. Therefore, an IL is required for the control program for controlling a plant. In this embodiment, the IL is applied to the operation of the valves in the plant to prevent the above-mentioned defects in the production of the product.
[0022] In this embodiment, a case where a liquid flows through the flow path will be described as an example, but the present invention is not limited thereto. The fluid flowing through the flow path may be a gas in addition to a liquid. Furthermore, the fluid may include a material having fluidity such as a powder in addition to a liquid and a gas. Furthermore, in this embodiment, a case where a program is generated to cause a plant, which is a production facility, as a controlled object to execute multiple processes will be described as an example, but the present invention is not limited thereto. The controlled object may be an apparatus that has a flow path structure including multiple flow paths and executes some process.
[0023] Next, an overview of the program generation method according to this embodiment will be described with reference to Fig. 2. Fig. 2 is a data flow diagram for explaining the program generation method according to this embodiment. The program generation method according to this embodiment includes a method of adding an IL to a program for controlling a plant. The program generation method according to this embodiment is executed by a program generation system 1 shown in Fig. 3, which will be described later. In Fig. 2, circles represent processes, and the rest represent data.
[0024] 2, the program generation method according to the present embodiment generates a program 58 using, as data, a piping diagram 3A, a process chart 2, a flow path diagram 3B, a flow path table 53, an equipment address table 54, an internal address table 55, program part information 56, and IL information 57. The program 58 is a control program that is executed when a plant, which is an apparatus equipped with a flow path structure including a plurality of flow paths, performs a series of operations to control the plant. The program 58 causes the plant to perform a plurality of processes.
[0025] Piping diagram 3A is a schematic diagram of the plant to be controlled. Process chart 2 is a table that lists unit processes in the order of operation. Flow path diagram 3B is a diagram in which flow paths are drawn on piping diagram 3A. Flow path table 53 is information in which information on the flow paths is stored. Equipment address table 54 is addresses assigned to equipment in the plant. Internal address table 55 is data on program resources required to generate program 58. Program part information 56 is a template of a program required to control equipment used in the plant. IL information (interlock control information) 57 is information for adding IL to program 58 to be generated. Program 58 is a program that controls the plant.
[0026] The program generation method according to the present embodiment includes a flow path drawing process P01, a flow path table generation process P02, an IL information generation process P03, and an IL generation process P04. The flow path drawing process P01 is a process in which a user draws a flow path according to a process chart 2 on a piping diagram 3A to generate a plurality of flow path diagrams 3B. The flow path table generation process P02 is a process in which a flow path table 53 is generated from the flow path diagram 3B. The IL information generation process P03 is a process in which IL information 57 is generated from the flow path table 53. The IL generation process P04 is a process in which a program 58 is generated from the IL information 57, the device address table 54, the internal address table 55, and the program part information 56. In the program generation system 1 described later, the user interface unit 4 executes the flow path drawing process P01, and the logic unit 6 executes the flow path table generation process P02, the IL information generation process P03, and the IL generation process P04.
[0027] Next, the configuration and functions of the program generation system 1 according to this embodiment will be described with reference to FIG. 3. FIG. 3 is a schematic diagram for explaining the configuration and functions of the program generation system 1 according to this embodiment. In FIG. 3, elements necessary for explaining the features of this embodiment are represented by blocks, but general elements that are not directly related to the problem-solving principle of the present invention are omitted. In addition, each element illustrated in FIG. 3 is functionally conceptual, and does not necessarily have to be physically configured as illustrated. For example, the specific form of distribution and integration of each block is not limited to the illustrated example. The program generation system 1 can be configured by distributing and integrating all or a part of it functionally or physically in any unit depending on the usage situation, etc.
[0028] As shown in FIG. 3, the program generation system 1 according to the present embodiment includes a display unit 100, an input unit 200, and a PC (personal computer) 1003 which is an information processing device. The program generation unit 1004 shown in FIG. 3 is a processing unit which performs various processes, and is a schematic representation of functions performed by the PC 1003 executing a processing program, and data used when executing the processing program. Each functional block included in the program generation unit 1004 can be configured using hardware or software. Each functional block can be configured by a CPU reading and executing a control program stored in a computer-readable recording medium such as a storage device or a non-transitory recording medium. Alternatively, some or all of the functional blocks may be configured using hardware such as an ASIC included in the program generation system 1.
[0029] The program generation system 1 generates a program file 1000. The program file 1000 is a file of the program 58 shown in Fig. 2. The PLC 1001 is a control device that reads the program 58 from the program file 1000, executes the program 58, and controls the operation of a plant 1002. In this way, the PLC 1001 causes the plant to execute a production process including a plurality of unit processes.
[0030] The PC 1003 of the program generation system 1 includes, as hardware, a CPU as a central processing unit, a ROM and RAM as storage units, and an I / O as an input / output interface. The ROM can store a processing program for implementing an information processing method described below. The RAM is used as a work area for the CPU when executing the information processing method.
[0031] The display unit 100 is a device for displaying various pieces of information (described later) to a user, who is an operator, when generating the program 58. As the display unit 100, for example, a liquid crystal display device or an organic EL display device can be used.
[0032] The input unit 200 is a device for a user, who is an operator, to input various instructions and information when generating the program 58. As the input unit 200, for example, an input device such as a keyboard or a mouse can be used.
[0033] The display unit 100 can be configured to allow touch input using a display device including a touch panel that functions as the input unit 200. In this case, the user can input various instructions and information by touch input, that is, touching a specific area such as a button displayed on various screens of the display unit 100. Even if the display unit 100 is configured to allow touch input, the user can also use another input device as the input unit 200 to perform the same input.
[0034] Next, a description will be given of the functional units in the program generation unit 1004. The program generation unit 1004 includes a user interface unit 4, a data unit 5, and a logic unit 6 as its functional units.
[0035] The user interface unit 4 displays various information on the display unit 100 and accepts input of various information and instructions from the input unit 200. When generating the program 58, the user interface unit 4 supplies screen information such as a program output setting screen 41, a flow path setting screen 42, and an IL setting screen 43 to the display unit 100. Note that the configuration of the user interface unit 4 is not limited to this example, and may be such that screens are integrated, separated, or added in consideration of user operability, for example.
[0036] The data section 5 is allocated to a storage section such as a ROM or RAM of the PC 1003 and is realized. The data section 5 includes a process chart 2, a piping diagram 3A, a flow path diagram group 51, equipment type information 52, a flow path table 53, an equipment address table 54, an internal address table 55, program part information 56, IL information 57, and a program 58, which will be described in detail later. The configuration of the data section 5 is not limited to this example, and may be one in which each piece of information is integrated or separated, or log information of user operations is added, in consideration of, for example, maintainability. The data section 5 may also store the program 58 as a program file 1000 converted into a format that can be interpreted and executed by the PLC 1001. The program file 1000 is, for example, a ladder program file.
[0037] When generating program 58, logic unit 6 manages various data stored in data unit 5, generates program 58 and program file 1000, and performs processing to add IL. Logic unit 6 includes a program file generation unit 61, a data management unit 62, and an IL generation unit 63. Data management unit 62 manages various information stored in data unit 5, and saves and acquires information. Program file generation unit 61 performs processing to generate program 58 and program file 1000. IL generation unit 63 generates IL information 57 from various information stored in data unit 5, and performs processing to add IL to program 58.
[0038] Next, the configuration of the process schedule 2 will be described with reference to Fig. 4. Fig. 4 is a diagram for explaining the process schedule 2. The process schedule 2 is a table in which the procedures of the operations to be executed by the plant 1002 are described.
[0039] As shown in FIG. 4, the process chart 2 includes a plurality of rows. Each of the plurality of rows included in the process chart 2 corresponds to one unit process executed by the plant 1002. The process chart 2 is composed of an operation sequence 201, an operation content 202, and an operation time 203 to identify a unit process corresponding to each row. A number is set in the operation sequence 201. The number set in the operation sequence 201 is a number for identifying each unit process, and indicates the execution order of each unit process when the generated program 58 is automatically executed in succession. The operation content 202 indicates an overview of the unit process. The operation time 203 indicates the execution time of the unit process. Note that when each unit process is executed manually, each unit process may not be executed in the order shown in the operation sequence 201.
[0040] Next, the piping diagram 3A will be described with reference to FIG. 1A. As shown in FIG. 1A, the piping diagram 3A is a schematic representation of a plant to be controlled, and is equipment information representing a flow path structure including a plurality of flow paths provided in the plant. As shown in FIG. 1A, in the piping diagram 3A, each equipment (pump, valve, tank, etc.) is displayed using a different figure for each type of equipment as a component of the plant, such as a tank, valve, pump, etc., as exemplified in the equipment type information 52 (see FIG. 8). For this reason, the piping diagram 3A includes switching attribute information indicating whether or not the equipment included in the equipment type information 52 has a switching attribute 524. The figure is designed so that the user, who is an operator, can intuitively grasp the type and function of the equipment. The equipment ID 300 is attached to the figure representing the equipment displayed in the piping diagram 3A. The equipment ID 300 is an identifier (ID) for identifying each equipment constituting the plant.
[0041] Next, the program output setting screen 41 will be described with reference to Fig. 5. Fig. 5 is a diagram for explaining the program output setting screen 41. The program output setting screen 41 is displayed on the display unit 100 by the user interface unit 4.
[0042] 5, the program output setting screen 41 is a screen where the user sets a flow path ID 531 for each unit process described in the process chart 2. The program output setting screen 41 is composed of the process chart 2, the flow path ID 531, a flow path setting button 411, an IL setting button 412, a program output button 413, and a program output setting end button 414.
[0043] The flow path ID 531 is arranged in each row of the process chart 2. When the flow path ID 531 is pressed by a user's input, the flow path ID 531 becomes available for setting by the user's input. The user can set the flow path ID 531 by inputting a numerical value, a symbol, a combination thereof, or the like.
[0044] The flow path setting button 411 is arranged in each row of the process chart 2. When the flow path setting button 411 is pressed by a user's input, the display on the display unit 100 transitions to a flow path setting screen 42 described later in which a piping diagram 3A corresponding to the unit process in the same row is inserted.
[0045] The IL setting button 412, the program output button 413, and the program output setting end button 414 are arranged separately from the process chart 2. When the IL setting button 412 is pressed by a user's input, the display on the display unit 100 transitions to an IL setting screen 43, which will be described later. When the program output button 413 is pressed by a user's input, the program file generation unit 61 performs a process of storing the program 58 in the data unit 5. Furthermore, the program file generation unit 61 outputs a program file 1000 (e.g., a ladder program file) obtained by converting the program 58 into a format that can be interpreted and executed by the PLC 1001. When the program output setting end button 414 is pressed by a user's input, the program output setting process is interrupted, and the program generation system 1 is terminated.
[0046] Next, the flow path setting screen 42 will be described with reference to Fig. 6. Fig. 6 is a diagram for explaining the flow path setting screen 42. The flow path setting screen 42 is displayed on the display unit 100 by the user interface unit 4.
[0047] As shown in FIG. 6, the flow path setting screen 42 is composed of a flow path diagram 3B, a flow path drawing start button 421, a flow path drawing end button 422, a flow path setting completion button 423, and a flow path setting end button 424.
[0048] The flow path diagram 3B is displayed so that the flow path can be drawn in accordance with the user's input. A flow path drawing start button 421, a flow path drawing end button 422, a flow path setting completion button 423, and a flow path setting end button 424 are displayed separately from the flow path diagram 3B.
[0049] When the user presses the flow path drawing start button 421, drawing of the flow path in the flow path diagram 3B starts. When the user presses the flow path drawing end button 422, drawing of the flow path in the flow path diagram 3B ends. When the user presses the flow path setting completion button 423, processing of the flow path processing operation flowchart described below starts. When the user presses the flow path setting end button 424, the flow path setting process is interrupted and the display on the display unit 100 transitions to the program output setting screen 41.
[0050] The user can use the flow path setting screen 42 to set a flow path in a unit process in a row in which the flow path setting button 411 is arranged. For example, when setting a path from the tank TNK1 to the tank TNK3 as the flow path FLW3, the user first presses the flow path drawing start button 421 on the input unit 200. Next, the user uses a pointing device (e.g., a mouse) of the input unit 200 to drag the path from the tank TNK1 to the tank TNK3 to specify the path.
[0051] The user interface unit 4 draws the path indicated by the user with the pointing device on the flow path diagram 3B by, for example, changing the line thickness or color, so that the user can easily recognize it. When the intended path is drawn as a flow path, the user presses the flow path drawing end button 422 on the input unit 200, and then presses the flow path setting completion button 423 to finalize the flow path FLW3.
[0052] When the user interface unit 4 accepts the above-mentioned operation by the user, the data management unit 62 generates a flow path table 53 (described later) based on the confirmed flow path FLW3. Note that in this embodiment, the flow paths are set based on the operation by the user, but this is not limited to this. Information regarding the setting of the flow paths may be read into the data management unit 62, and the data management unit 62 may confirm all or a part of the flow path FLW3.
[0053] The number of flow path diagrams 3B created is the same as the number of unit processes in the production process. The flow path diagram group 51 included in the data section 5 is made up of a plurality of flow path diagrams 3B. The flow path diagram group 51 specifies the flow paths used in the flow path structure of the plant. The flow path diagram 3B is assigned a flow path diagram ID 310, which is an ID for specifying the flow path diagram 3B.
[0054] Next, the IL setting screen 43 will be described with reference to Fig. 7. Fig. 7 is a diagram for explaining the IL setting screen 43. The IL setting screen 43 is displayed on the display unit 100 by the user interface unit 4. The IL setting screen 43 is a screen for setting to enable or disable an IL for a device to which an IL needs to be added.
[0055] 7, the IL setting screen 43 is composed of IL device information 571, IL setting 431, an IL setting completion button 432, and an IL setting end button 433. The IL device information 571 constitutes the IL information 57 described later, and is generated by an IL information generation process described later. The IL device information 571 is composed of a duplicate device ID 572, an IL target device ID 573, and an IL target flow path ID 574.
[0056] The overlapping device ID 572 is the ID of a device in an overlapping flow path and having a switching attribute 524 described later. The IL target device ID 573 is a collection of IDs of devices whose operation is restricted by the IL. The IL target flow path ID 574 is the flow path ID of a flow path having the overlapping device ID 572. The IL setting 431 is a setting for enabling or disabling the IL for the device of the IL target device ID 573. The user sets the IL to be enabled or disabled by selecting the ON button or the OFF button in the IL setting 431 on the IL setting screen 43 based on the input from the input unit 200. The user interface unit 4 receives the input from the input unit 200 by the user and stores information indicating the validity or invalidity of the IL set by the IL setting 431 in the data unit 5 as IL setting information (not shown). In this embodiment, the user sets the IL to be enabled or disabled on the IL setting screen 43, so that the IL information can be easily set as a constraint condition that the user should set for the process to be executed by the plant.
[0057] The IL setting completion button 432 is a button for storing the setting of valid / invalid for each IL set by the IL setting 431 in the IL setting information (not shown) in the data section 5 in association with the duplicate device ID 572. When the IL setting end button 433 is pressed, the IL setting is ended and the display transitions to the program output setting screen 41.
[0058] Next, the device type information 52 will be described with reference to Fig. 8. Fig. 8 is a diagram for explaining the device type information 52. The device type information 52 is information related to a plurality of devices that are components of a plant.
[0059] 8, the equipment type information 52 includes multiple rows. Each row of the multiple rows included in the equipment type information 52 corresponds to one type (equipment type) of each component of the plant, and is composed of an equipment type 521, a symbol 522, a model name 523, and a switching attribute 524. The type of equipment in the piping diagram 3A can be identified by the equipment type 521 that is a part of the equipment ID 300.
[0060] Symbol 522 is a figure for each device type. Model name 523 is the name for each device type. Switching attribute 524 is switching attribute information indicating whether or not the device type has an attribute for switching a flow path to change the flow path. In this embodiment, a valve is set as a device having the switching attribute 524.
[0061] Next, the flow path table 53 will be described with reference to Fig. 9. Fig. 9 is a diagram for explaining the flow path table 53. The flow path table 53 is a table including information on a plurality of flow paths in the plant 1002 and devices present in each of the plurality of flow paths.
[0062] 9, the flow path table 53 includes a plurality of rows. Each of the plurality of rows included in the flow path table 53 corresponds to one flow path, and is flow path setting information, which is information related to the setting of the flow path. The flow path table 53 includes a plurality of pieces of flow path setting information. Each row showing the flow path setting information is composed of a flow path ID 531, a flow path on-device 532, a switching device 533, and a non-switching device 534.
[0063] The flow path ID 531 is an ID for identifying the flow path. The on-flow path devices 532 are a set of devices present on the flow path, and are derived in a flow path table generation process described later. The switching devices 533 are a set of devices among the on-flow path devices 532 that have a control signal and a switching attribute 524, and are derived in a flow path table generation process described later. The non-switching devices 534 are a set of devices among the on-flow path devices 532 that have a control signal and do not have the switching attribute 524, and are derived in a flow path table generation process described later.
[0064] Next, the device address table 54 will be described with reference to Fig. 10. Fig. 10 is a diagram for explaining the device address table 54. The device address table 54 is a table including information on a plurality of devices in the plant 1002.
[0065] As shown in FIG. 10, the device address table 54 includes a control signal 541, an input / output attribute 542, an operation state 543, and a device address 544. The device ID 300 is an ID such as a number, a symbol, or a combination thereof, unique to the device for identifying the device in the plant 1002. The control signal 541 is a control signal possessed by the device. The input / output attribute 542 is the input / output direction of the control signal, and is IN or OUT. The input / output attribute 542 of IN indicates the input direction as seen from the PLC 1001, and the input / output attribute 542 of OUT indicates the output direction. The operation state 543 is ON or OFF. If the input / output attribute 542 is IN, it indicates the state of the device, and if the input / output attribute 542 is OUT, it indicates a command to the device. When the input / output attribute is IN, the operation state 543 of ON indicates that the device is in operation, and if it is a pump, it indicates ON, and if it is a valve, it indicates OPEN. When the input / output attribute is IN, the operation state 543 of OFF indicates that the device is in a stopped state, and indicates that it is OFF for a pump and CLOSE for a valve. When the input / output attribute is OUT, the operation state 543 of ON indicates an operation command to the equipment, and in the case of a pump, it indicates a command to transition to ON, and in the case of a valve, it indicates a command to transition to OPEN. When the input / output attribute is OUT, the operation state 543 of OFF indicates an operation command to the equipment, and in the case of a pump, it indicates a command to transition to OFF, and in the case of a valve, it indicates a command to transition to CLOSE. For example, when the operation state of the control signal SIG1 of the valve VLV1 is ON, it indicates that the valve VLV1 is OPEN. Also, for example, when the operation state of the control signal SIG3 of the valve VLV1 is set to ON, it is possible to command the valve VLV1 to OPEN. The equipment address 544 is a device address assigned to the control signal 541.
[0066] Next, the internal address table 55 will be described with reference to Fig. 11. Fig. 11 is a diagram for explaining the internal address table 55. The internal address table 55 is information that summarizes device addresses used within a program. As shown in Fig. 11, the internal address table 55 is made up of a sequence device address 551, a timer device address 552, and an IL device address 553.
[0067] Next, the program part information 56 will be described with reference to Fig. 12. Fig. 12 is a diagram for explaining the program part information 56. The program part information 56 is information used to generate a program 58.
[0068] As shown in FIG. 12, the program part information 56 is composed of a device type 521, an operation type 564, and a program template 561. The device type 521 specifies the type of device as described above. The operation type 564 is ON or OFF, and indicates the state of the device specified by the device type 521. The operation type 564 of ON indicates the operating state of the device, being ON for a pump and OPEN for a valve. The operation type 564 of OFF indicates a stopped state, being OFF for a pump and CLOSE for a valve. The program template 561 is a library in which the logic of a control program corresponding to the operation type 564 of the device specified by the device type 521 is expressed in ladder language.
[0069] The program template 561 is the logic of a control program for operating a device specified by the device type 521. For example, the program template 561 in which the device type 521 is "VLV" representing a valve and the operation type 564 is "ON" is the logic of a control program for opening a valve.
[0070] Also, program template 561 is made up of current sequence address 562, next sequence address 563, timer address 569, and control signal 541. In Fig. 12, "Current" indicates current sequence address 562, "Next" indicates next sequence address 563, and "Timer" indicates timer address 569. These addresses are variables for setting device addresses used within program 58. Also, in Fig. 12, "SIGn" (where n is a natural number) indicates control signal 541, and the corresponding device address 544 is set.
[0071] In this embodiment, the device to be controlled is controlled by step control using a self-holding circuit on a ladder program. Therefore, one program template 561 stores control logic corresponding to one step of step control. Note that the device is not limited to one controlled by step control. Therefore, the program template 561 is not limited to a format for step control, and the user can appropriately change it according to a control method suitable for the device to be controlled.
[0072] Next, the IL information 57 will be described with reference to Fig. 13. Fig. 13 is a diagram for explaining the IL information 57. The IL information 57 is information for an IL for a specific flow path, and includes information on devices related to the IL.
[0073] 13, the IL information 57 is composed of IL device information 571 and IL address information 575. The IL device information 571 is composed of a duplicate device ID 572, an IL target device ID 573, and an IL target flow path ID 574. The IL address information 575 is composed of an IL operating device 576 and an IL exclusive device 577 when the IL corresponding to the duplicate device ID 572 is operating. The IL operating device 576 and the IL exclusive device 577 are each composed of a device ID 300 that identifies the device and a device address 544 that controls the device. The IL address information 575 includes information indicating the correspondence between the IL operating device 576 that operates when the IL is operating and the IL exclusive device 577 that is exclusively controlled by the IL operating device 576.
[0074] Next, a program 58A, which is an example of the program 58, will be described with reference to Figures 14A and 14B. Figures 14A and 14B are diagrams for explaining the program 58A, and respectively show portions 58A-1 and 58A-2 of the program 58A. In the program 58A, the portion 58A-2 continues to the portion 58A-1. The program 58A is a part of a program corresponding to the flow path FLW3 in Figure 1B.
[0075] 14A and 14B, the program 58A is composed of programs PGM001, PGM002, PGM003, PGM004, PGM005, and PGM006. These programs are programs in which device addresses are set in program templates of device types corresponding to device IDs on the flow path FLW3.
[0076] For example, program PGM001 is a program that opens valve VLV3. When contact M14 in program PGM001 turns ON, device address Y1004 (a command signal that opens valve VLV3) turns ON, and valve VLV3 turns OPEN. In this state, if device address X1004 (a signal that checks the OPEN state of valve VLV3) is ON and device address X1005 (a signal that checks the CLOSE state of valve VLV3) is OFF, contact M15 turns ON. This ends program PGM001 and transitions to contact M15 of program PGM002, which is the next step.
[0077] Program PGM002 is a program that sets valve VLV1 to OPEN, but differs from program PGM001 in that it adds an IL circuit 581. As explained with reference to Figures 1A and 1B, valves VLV1 and VLV2 are exclusively controlled by IL circuit 581 to prevent overlapping flow paths F001. In program PGM002, device address Y1000 (a command signal that sets valve VLV1 to OPEN) can be turned ON only when device address X1003 (a signal that confirms that valve VLV2 is in the CLOSE state) is ON.
[0078] Program PGM003 is a program that turns on pump PMP1. When contact M16 turns on, device address Y1008 (command signal to turn pump PMP1 on) turns on, and pump PMP1 operates. At the same time, timer T3 is enabled, and timer T3 expires after 30 seconds. When timer T3 expires, contact M17 turns on, and processing transitions to the next program PGM004.
[0079] The program PGM004 is a program that turns off the pump PMP1. The program PGM005 is a program that closes the valve VLV1. The program PGM006 is a program that closes the valve VLV3.
[0080] The flow path FLW3 is formed by the above programs PGM001 to PGM006.
[0081] The program generator 1004 converts the program 58A into a format that can be interpreted and executed by the PLC 1001, and outputs the converted program as a program file 1000. The PLC 1001 executes the program file 1000, whereby the plant 1002 executes the operations set in the process chart 2.
[0082] Next, the processing procedure of the program file generation process according to this embodiment will be described with reference to Fig. 15. Fig. 15 is a flow chart showing the basic procedure of the program file generation process. As shown in Fig. 15, the program generation process according to this embodiment includes a data storage process S1, a flow path setting process S2, an IL information generation process S3, a program generation process S4, and an IL addition process S5 as processes that are executed in sequence. Each process will be described below in sequence.
[0083] First, in the data storage step S1, various information required to generate the program 58A is stored in the data section 5. In the data storage step S1, the user interface section 4 displays a data designation dialogue (not shown) on the display section 100. In response to the data designation dialogue, the user designates any process chart 2, piping diagram 3A, and device address table 54 using the input section 200. The process chart 2, piping diagram 3A, and device address table 54 designated by the user may be, for example, pre-stored in the storage section of the PC 1003, or may be acquired by the PC 1003 from an external device and stored in the storage section. The data management section 62 stores the process chart 2, piping diagram 3A, and device address table 54 designated by the user in the data section 5. Thus, various information is stored in the data section 5 in the data storage step S1. The data storage step S1 determines the plant 1002 for which the program 58A as a control program is to be created and the work content in the plant 1002.
[0084] Next, in the flow path setting process S2, a flow path used in each unit process executed by the plant 1002 is set. In the flow path setting process S2, the user interface unit 4 displays a program output setting screen 41 on the display unit 100 to process the flow path setting, and accepts a user's pressing of a flow path setting button 411 on the screen. When the flow path setting button 411 is pressed by a user's input, the user interface unit 4 displays a flow path setting screen 42 on the display unit 100. In the flow path setting screen 42, the user interface unit 4 displays a flow path diagram 3B in which a flow path diagram ID 310 is assigned to the piping diagram 3A stored in the data storage process S1. The user sets a flow path in the flow path diagram 3B using the displayed flow path setting screen 42. When the user finishes setting the flow path, the user presses a flow path setting completion button 423. When the flow path setting completion button 423 is pressed, the data management unit 62 stores the flow path diagram 3B in the flow path diagram group 51. Furthermore, the data management unit 62 executes a process of generating a flow path table 53.
[0085] Here, the process of generating the flow path table 53 will be described. First, the data management unit 62 assigns a flow path ID 531 to the flow path set by the user. Next, the data management unit 62 stores the device IDs 300 of all devices present on the flow path set by the user in the flow path device 532 on the flow path in association with the flow path ID 531. Next, the data management unit 62 judges whether or not the device having the control signal, which is a device having the device ID 300 stored in the flow path device 532, has a switching attribute by referring to the device type information 52. As a result of the judgment, the data management unit 62 stores the device ID 300 of the device having the switching attribute in the switching device 533 of the flow path table 53. In addition, the data management unit 62 stores the device ID 300 of the device not having the switching attribute in the non-switching device 534 of the flow path table 53. In this embodiment, for simplicity, the tank is assumed to be a device not having a control signal. Taking the flow path FLW3 shown in Fig. 1B as an example, as shown in Fig. 9, 3 is assigned as the flow path ID 531, and a tank TNK1, a valve VLV1, a pump PMP1, a valve VLV3, and a tank TNK3 are stored in the flow path device 532. Furthermore, the valves VLV1 and VLV3 are stored in the switching device 533. Furthermore, PMP1 is stored in the non-switching device 534. In this way, the data management unit 62 generates a flow path table 53 including flow path setting information corresponding to each unit process.
[0086] Next, in an IL information generation step S3, IL information 57 required for adding IL for a predetermined flow path to a program 58A generated in a program generation step S4 described below is generated. The IL information generation step S3 includes a generation process of IL device information 571 and a generation process of IL address information 575. Each generation process will be described below. In the following description, storing a device means storing the device ID 300 of that device.
[0087] The generation process of the IL device information 571 will be described. In the generation process of the IL device information 571, first, the IL generation unit 63 refers to the flow path table 53 and checks whether there is a switching device on the overlapping flow path for all the flow paths. If the IL generation unit 63 checks that there is a switching device on the overlapping flow path, the IL generation unit 63 stores the switching device as an overlapping device in the overlapping device ID 572 of the IL device information 571. Next, the IL generation unit 63 stores all the switching devices other than the overlapping device as IL target devices in the IL target device ID 573 of the IL device information 571. Next, the IL generation unit 63 stores the flow path ID 531 of the flow path having the overlapping device in the IL target flow path ID 574 of the IL device information 571. When the IL generation unit 63 finishes the storage process of the device in the IL target device ID 573 and the storage process of the flow path ID 531 in the IL target flow path ID 574 for all the overlapping devices, the generation process of the IL device information 571 ends.
[0088] The generation process of IL device information 571 will be described using the flow path table 53 shown in Fig. 9 as an example. In the case shown in Fig. 9, the IL generation unit 63 stores the valve VLV3, which is a flow path device that overlaps in two flow paths with flow path IDs 531 of 3 and 4, in an overlapping device ID 572. The IL generation unit 63 also stores the valves VLV1 and VLV2, which are switching devices other than the valve VLV3 in the two flow paths with flow path IDs 531 of 3 and 4, in an IL target device ID 573. Furthermore, the IL generation unit 63 stores 3 and 4, which are the flow path IDs 531 of the flow paths having the valve VLV3, in an IL target flow path ID 574.
[0089] The generation process of the IL address information 575 will be described. In the generation process of the IL address information 575, the IL generation unit 63 performs the following process for all overlapping devices registered in the IL device information 571. First, the IL generation unit 63 refers to the IL device information 571, and stores all IL target devices corresponding to the overlapping devices as IL operating devices in the IL operating devices 576 of the IL address information 575. Next, the IL generation unit 63 refers to the device address table 54, and stores the device address (input / output attribute 542 is OUT and operation state 543 is ON) to which the PLC 1001 issues an ON command among the control signals of the IL operating devices. Next, the IL generation unit 63 stores the device that is exclusively controlled with the IL operating device as an IL exclusive device in the IL exclusive device 577 of the IL address information 575. In each row of the IL exclusive device 577, the IL target devices excluding the IL operating device are stored. At this time, depending on the configuration of the piping diagram 3A, multiple IL exclusive devices may be stored for one IL operating device. Next, the IL generation unit 63 refers to the device address table 54 and stores the device address (input / output attribute is IN and operating state is OFF) that notifies the PLC 1001 of the OFF state among the control signals of the IL exclusive devices. When the IL generation unit 63 finishes the process of storing devices, etc. in the IL operating devices 576 and the process of storing devices, etc. in the IL exclusive devices 577 for all overlapping devices, it ends the process of generating the IL address information 575.
[0090] The generation process of IL address information 575 will be described using the IL information 57 shown in FIG. 13 as an example. For the row in which the overlapping device ID 572 of the IL device information 571 is "VLV3", the IL target devices are "VLV1, VLV2". Therefore, "VLV1, VLV2" are stored in the IL operating device 576 of the IL address information 575. On the other hand, an IL exclusive device that is a device that is exclusively controlled with the IL operating device is stored in the IL exclusive device 577 of the IL address information 575. Therefore, in the row in which the IL operating device 576 is "VLV1", "VLV2" is stored in the IL exclusive device 577. Also, in the row in which the IL operating device 576 is "VLV2", "VLV1" is stored in the IL exclusive device 577.
[0091] As described above, the IL device information 571 and the IL address information 575 are generated, and the IL information generation step S3 is completed. When the IL information generation step S3 is completed, it becomes possible to enable or disable the IL for each IL target device from the IL setting screen 43, as described above.
[0092] Next, in a program generation step S4, a program 58A is generated. In the program generation step S4, when the user presses the program output button 413 on the program output setting screen 41, the program file generation unit 61 executes a program generation process. At this time, if the user has not set the IL to be enabled or disabled on the IL setting screen 43, the user interface unit 4 can prevent IL setting failure by displaying a warning pop-up on the display unit 100, for example. The program generation process executed by the program file generation unit 61 will be described below.
[0093] First, the program file generation unit 61 refers to the flow path table 53, and acquires, from the program part information 56, the program templates 561 in which the operation type 564 of the device type 521 corresponding to the switching device is ON, starting from the switching device arranged downstream of the flow path. Furthermore, the program file generation unit 61 sets a device address in the acquired program template 561.
[0094] Next, the program file generation unit 61 refers to the flow path table 53 and acquires all program templates 561 in which the operation type 564 of the device type 521 corresponding to the non-switching device is ON from the program part information 56. Furthermore, the program file generation unit 61 sets a device address in the acquired program template 561.
[0095] Next, the program file generation unit 61 refers to the flow path table 53 and acquires all program templates 561 in which the operation type 564 of the device type 521 corresponding to the non-switching device is OFF from the program part information 56. Furthermore, the program file generation unit 61 sets a device address in the acquired program template 561.
[0096] Next, the program file generation unit 61 refers to the flow path table 53, and acquires, from the program part information 56, program templates 561 in which the operation type 564 of the device type 521 corresponding to the switching device is OFF, starting from the switching device arranged on the upstream side of the flow path. Furthermore, the program file generation unit 61 sets a device address in the acquired program template 561.
[0097] Here, a description will be given of a procedure for setting device addresses in the program template 561. The program file generating unit 61 sets device addresses in each of the current sequence address 562, the next sequence address 563, the timer address 569, and the control signal 541 that constitute the program template 561.
[0098] The program file generation unit 61 sets the sequence device addresses 551 in the internal address table 55 to the current sequence address 562 and the next sequence address 563 of the program template 561. At this time, the program file generation unit 61 sets the sequence device addresses 551 in ascending order and without duplication in the subsequent program generation processes.
[0099] Furthermore, the program file generation unit 61 sets the timer device address 552 in the internal address table 55 to the timer address 569. At this time, the program file generation unit 61 sets the timer device addresses 552 in ascending order and so as not to overlap in the subsequent program generation processes. Furthermore, the program file generation unit 61 sets the operation time 203 corresponding to each unit process in the process chart 2 to the timer setting value.
[0100] Moreover, the program file generating unit 61 sets, in the control signal 541, a device address according to the control signal of the corresponding device ID in the device address table 54.
[0101] Finally, the program file generating unit 61 outputs the program template 561 in which the device address is set by the above process to the program 58 A. The program file generating unit 61 stores the program 58 A thus generated in the data unit 5.
[0102] An example of the program generation process will be described below with reference to a specific example of a program 58A corresponding to a flow path FLW3 in the flow path diagram 3B shown in FIG. 1B. In the flow path FLW3, the switching devices are valves VLV1 and VLV3. In addition, in the flow path FLW3, the non-switching device is a pump PMP1.
[0103] First, the program file generation unit 61 generates a program for turning on the switching devices on the flow path FLW3 starting from the downstream side of the flow path. That is, the program file generation unit 61 generates a program for opening the valves VLV3 and VLV1, which are switching devices on the flow path FLW3, in that order.
[0104] Here, the procedure for generating a program in which the valve VLV3 is set to OPEN will be described with reference to PGM001 in FIG. 12 and FIG. 14A. Here, it is assumed that the start point of the sequence device address 551 is M14. First, the program file generation unit 61 acquires a program template 561 in which the device type 521 is VLV and the operation type 564 is ON. Next, the program file generation unit 61 refers to the internal address table 55 and sets M14 to Current and M15 to Next in the program template 561. Next, the program file generation unit 61 refers to the device address table 54 and sets the device addresses X1004, X1005 and Y1004 of the valve VLV3 to the control signals SIG1, SIG2 and SIG3 in the program template 561, respectively. In this way, the program PGM001 in which the valve VLV3 is set to OPEN is generated.
[0105] The program file generator 61 generates a program PGM002 that opens the valve VLV1 in the same manner as the program PGM001, thereby completing the process of generating a program that opens the switching device on the flow path FLW3.
[0106] Next, the program file generation unit 61 generates a program that turns on the non-switching devices on the flow path FLW3. That is, the program file generation unit 61 generates a program that turns on the pump PMP1, which is a non-switching device on the flow path FLW3. The program file generation unit 61 acquires a program template 561 in which the device type 521 is PMP and the operation type 564 is ON, and sets the device address in the same procedure as for the program PGM001. As a result, the program file generation unit 61 generates a program PGM003 that turns on the pump PMP1.
[0107] Next, the program file generation unit 61 generates a program to turn off the non-switched devices on the flow path FLW3. That is, the program file generation unit 61 generates a program to turn off PMP1. The program file generation unit 61 acquires a program template 561 in which the device type 521 is PMP and the operation type 564 is OFF, and sets the device addresses in the same procedure as for the program PGM001. As a result, the program file generation unit 61 generates a program PGM004 that turns off the pump PMP1.
[0108] Next, the program file generation unit 61 generates a program that turns off the switching devices on the flow path FLW3 starting from the upstream side of the flow path. That is, the program file generation unit 61 generates a program that closes the valves VLV1 and VLV3 in this order. The program file generation unit 61 obtains a program template 561 in which the device type 521 and the VLV operation type 564 are OFF, and sets the device addresses in the same procedure as for the program PGM001. As a result, the program file generation unit 61 generates a program PGM005 that closes the valve VLV1 and a program PGM006 that closes the valve VLV3. Through the above process, a program 58A corresponding to the flow path FLW3 is generated.
[0109] Next, in an IL addition step S5, an IL is added to the program 58A based on the IL information 57. The IL addition process in the IL addition step S5 will be described below with reference to FIG. 16. FIG. 16 is a flowchart showing the procedure of the IL addition process. By adding an IL to the program 58A, in this embodiment, a program 58A capable of preventing unintended mixing of fluids in the paths in the flow path structure of the plant is generated.
[0110] 16, first, in step S501, the IL generating unit 63 obtains the program 58A to which IL is to be added. The IL generating unit 63 can obtain the program 58A from the data unit 5.
[0111] Next, in step S502, the IL generation unit 63 refers to the IL setting information (not shown) for the overlapping device registered in the IL device information 571, and checks whether the IL setting is set to valid. If the IL setting is set to valid, the IL generation unit 63 shifts the process to step S503. If the IL setting is not set to valid, the IL generation unit 63 shifts the process to step S505.
[0112] If the IL setting is set to valid, the IL generating unit 63 sequentially performs steps S503 and S504 on all overlapping devices registered in the IL address information 575 and on the IL operating devices corresponding to each overlapping device.
[0113] In step S503, the IL generation unit 63 checks whether or not the device address of the IL operating device is present in the program 58A by referring to the IL address information 575. If the device address of the IL operating device is present in the program 58A, the IL generation unit 63 shifts the process to step S504, and if not, shifts the process to step S505.
[0114] Next, in step S504, the IL generating unit 63 adds a contact immediately before the device address of the IL operating device in the program 58A, and sets the device address of the IL exclusive device to the contact. After setting the device address in step S504, the IL generating unit 63 shifts the process to step S505.
[0115] Next, in step S505, the program file generation unit 61 creates a program file 1000 by converting the program 58A updated by the IL generation unit 63 in steps S502 to S504 into a format that can be interpreted and executed by the PLC 1001. Next, the program file generation unit 61 performs processing to output the created program file 1000 to the outside so that the PLC 1001 can use it.
[0116] After the IL adding step S5 is completed, the user interface unit 4 can display the generated program 58A on the display unit 100. By displaying the program 58A on the display unit 100, it is possible to improve user convenience. At this time, the user interface unit 4 may emphasize the IL portion added in the IL adding step S5 by highlighting it, for example.
[0117] Specific processing in steps S503 and S504 will be described with reference to examples in Fig. 13 and Fig. 14. The device address 544 of the IL operating device 576 with device ID 300 "VLV1" is "Y1000", and the device address 544 of the corresponding IL exclusive device 577 with device ID 300 "VLV2" is "X1003". Since "Y1000" exists in program PGM002 of program 58A, it is confirmed in step S503 that "Y1000" exists as the device address of the IL operating device. Also, in step S504, a contact is added immediately before "Y1000" at the location indicated by the dashed line in Fig. 14A, and "X1003" is added and set as the device address of the IL exclusive device at that contact.
[0118] As described above, according to the present embodiment, it is possible to easily set IL information as a constraint condition to be set by a user, who is an operator, for a process to be executed by a plant having a flow path structure. Also, according to the present embodiment, it is possible to generate a program capable of preventing unintended mixing of fluids in paths in the flow path structure of the plant.
[0119] [Second embodiment] A program generation system, a program generation method, an interlock generation method, etc. according to the second embodiment of the present invention will be described with reference to Figures 17A, 17B, and 18. Note that elements similar to those in the first embodiment are given the same reference numerals and descriptions thereof will be omitted or simplified.
[0120] FIG. 17A is a piping diagram 3A that shows a schematic diagram of a plant. In the piping diagram 3A shown in FIG. 17A, the steam source STEAM1, the pump PMP3, and the valve VLV4 are added to the piping diagram 3A shown in FIG. 1A. The steam source STEAM1 is connected to one end of the piping PIP4. The other end of the piping PIP4 is connected to a downstream portion of the pump PMP1 of the piping PIP1. The pump PMP3 and the valve VLV4 are provided in this order from one end side to the other end side of the piping PIP4. The pump PMP4 pumps the steam in the piping PIP4 from one end side to the other end side of the piping PIP4. The valve VLV4 opens and closes the piping PIP4. The steam source STEAM1 generates steam used for cleaning the piping and supplies it into the piping PIP4.
[0121] In this embodiment, a cleaning process using steam generated by the steam source STEAM1 will be described, but the present invention is not limited to this. Instead of the steam source STEAM1, a supply source for supplying a fluid used for cleaning can be provided and the fluid can be used to perform the cleaning process. In addition, IL can be added to a predetermined process other than the cleaning process in the same manner.
[0122] 17B shows a flow path diagram 3B depicting a flow path FLW5 that starts from a steam source STEAM1, passes through a pump PMP3, a valve VLV4, and a valve VLV3 in this order, and ends at a tank TNK3. When steam, which is a fluid, flows through the flow path FLW5, the pump PMP3 is ON, the valves VLV4 and VLV3 are OPEN, the pumps PMP1 and PMP2 are OFF, and the valves VLV1 and VLV2 are CLOSE.
[0123] Fig. 18 shows a part of Process Table 2 when steam cleaning is performed using steam source STEAM1. In the process of Process Table 2 shown in Fig. 18, the operation sequence 201 is "4", and steam cleaning is performed for 30 seconds, followed by the introduction of Liquid A for 30 seconds, steam cleaning for 30 seconds, introduction of Liquid B for 50 seconds, and steam cleaning for 30 seconds, which are executed in this order. By inserting steam cleaning between the introduction of Liquid A and Liquid B in this way, Liquid A in Tank TNK1 and Liquid B in Tank TNK2 do not mix in the piping. This may result in stable product quality.
[0124] As an interlock when inserting steam cleaning like steam, a rule that the steam cleaning process must be performed before liquid is applied can be considered. Specifically, a steam cleaning completed flag, which is a flag that becomes valid when the steam cleaning process has been performed and indicates whether or not a process has been performed, is provided inside the program that controls the plant. In processing the steam cleaning completed flag, the steam cleaning completed flag is set to ON when steam cleaning is performed, and the steam cleaning completed flag is set to OFF when the liquid in the tank TNK1 or tank TNK2 is flushed. After that, as in the first embodiment, an IL circuit that requires the steam cleaning completed flag to be ON as a condition for introducing liquid can be added to the conditions for opening VLV1 and VLV2.
[0125] In this embodiment, for flag management, an IL program template 565 is added to the program part information 56. The IL program template 565 will be described below with reference to FIG.
[0126] The IL program template 565 is composed of a cleaning sequence address 566, an IL target device control signal 567, and a flag 568. The cleaning sequence address 566 is a device address for confirming the end of the cleaning process by a falling contact. The flag 568 is a flag for managing whether a given unit process has been performed in the program 58. Since the flag 568 needs to be turned OFF when different liquids flow in the overlapping flow paths, the IL target device control signal 567 confirms that the IL target device is in the OFF state.
[0127] Next, the behavior of program 58B, which is an example of program 58 according to this embodiment, will be described with reference to Figures 11, 20A, and 20B. Figures 20A and 20B are diagrams for explaining program 58B, and show portions 58B-1 and 58B-2 of program 58B, respectively.
[0128] The program 58B is a part of a ladder program corresponding to the flow path FLW3 in Fig. 1B and the flow path FLW5 in Fig. 17B. As shown in Fig. 20A and Fig. 20B, the program 58B is composed of programs PGM007, PGM008, PGM001, PGM002, and PGM003.
[0129] The program PGM007 is a program that closes the valve VLV3. In this embodiment, the valve VLV3 is the last device to be processed in the steam cleaning, which is step "4" in the operation sequence 201 of Fig. 18. The program PGM008 is a program that manages the steam cleaning completion flag M100.
[0130] Consider the time when the processing of program PGM007 is completed, that is, when the contact of contact M13 is turned OFF. At this time, if X1001 (status signal confirming the CLOSE state of valve VLV1) and X1003 (status signal confirming the CLOSE state of valve VLV2) are both ON, steam cleaning has been completed, so the steam cleaning completed flag M100 is turned ON. Also, if either X1001 or X1003 is turned OFF, liquid has flowed into the overlapping flow path, so the steam cleaning completed flag is turned OFF.
[0131] In this embodiment, unlike the first embodiment, a contact point of the steam cleaning completed flag M100 is written in the IL circuit 581 of the program PGM002. Therefore, in this embodiment, unless the steam cleaning completed flag M100 is ON, Y1000 (a command signal to open VLV1) is not ON.
[0132] Next, a processing procedure for the program file generation process according to this embodiment will be described with reference to Fig. 15. The processes from the data storage step S1 to the program generation step S4 in the program file generation process according to this embodiment are the same as those in the first embodiment. The IL addition step S5 and subsequent steps according to this embodiment will be described below.
[0133] First, the IL addition process in the IL addition step S5 according to this embodiment will be described with reference to Fig. 21. Fig. 21 is a flowchart showing the procedure of the IL addition process according to this embodiment. In this embodiment, IL is added to the program 58B based on the steam cleaning completion flag as follows.
[0134] As shown in FIG. 21, first, in step S511, the IL generating unit 63 acquires a program 58B to which IL is to be added, similarly to step S501 in the first embodiment.
[0135] Next, the IL generation unit 63 performs steps S 512 to S 515 for all overlapping devices registered in the IL address information 575 .
[0136] In step S512, the IL generation unit 63, similar to step S502 in the first embodiment, refers to the IL setting information (not shown) for the duplicate device and checks whether the IL setting is set to valid. If the IL setting is set to valid, the IL generation unit 63 shifts the process to step S513. If the IL setting is not set to valid, the IL generation unit 63 shifts the process to step S516.
[0137] When the IL setting is set to be valid, in step S513, the IL generation unit 63 executes an IL program generation subroutine to generate a program for managing the flag 568, which is a steam cleaning completion flag. The IL program generation subroutine will be described with reference to Fig. 22. Fig. 22 is a flowchart showing the procedure of the IL program generation subroutine.
[0138] As shown in Fig. 22, in step S521, the IL generating unit 63 selects a unit process that should be a condition for interlock. Here, the IL generating unit 63 selects the process (steam cleaning) whose operation sequence 201 is "4" in the process schedule 2 shown in Fig. 18. The selection of the unit process can be completed when the user interface unit 4 displays the process schedule 2 on the display unit 100 and the user selects a unit process in the process schedule 2 with the input unit 200 such as a mouse. Note that, although the steam cleaning process is set as the unit process that should be a condition for interlock in this embodiment, in other embodiments, the user can arbitrarily select the unit process that should be a condition for interlock.
[0139] Next, in step S522, the IL generating unit 63 acquires a device address required to confirm the completion of the processing of the unit process selected in step S521. At this time, the device address required to confirm the completion of the processing of the unit process is the current sequence address set in the most downstream device having a control signal among the devices on the flow path. Taking the flow path FLW5 in FIG. 17B as an example, the steam source STEAM1, the pump PMP3, the valve VLV4, the valve VLV3, and TNK3 are stored in the device 532 on the flow path. The tank TNK3 does not have a control signal. Therefore, the IL generating unit 63 acquires the current sequence address set in the program of the valve VLV3 as the device address required to confirm the completion of the processing of the unit process. This is M13 in the program PGM007 of the program 58B.
[0140] Next, in step S523, the IL generation unit 63 refers to the device address table 54 and acquires, from among the control signals of the IL target devices, device addresses 544 that notify the PLC 1001 of an OFF state. The device addresses 544 that notify the PLC 1001 of an OFF state are device addresses 544 whose input / output attribute 542 is "IN" and whose operation state 543 is "OFF".
[0141] In step S524, the IL generation unit 63 sets each device address acquired in step S522 and step S523 in the IL program template 565. Here, the IL generation unit 63 sets the current sequence address acquired in step S522 as the cleaning sequence address, and sets the device address acquired in step S523 as the control signal of the IL target device. In addition, the IL generation unit 63 sets an unused IL device address from the IL device address 553 as the flag 568.
[0142] Next, in step S525, the program file generation unit 61 adds the IL program template 565 in which the device address has been set to the program 58B, and ends the process.
[0143] When the above IL program generation subroutine is completed, the IL addition process proceeds to step S514. The IL generation unit 63 performs steps S514 and S515 for all overlapping devices registered in the IL address information 575.
[0144] In step S514, the IL generating unit 63 searches for the device address of the IL operating device from within the program 58B. If the device address of the IL operating device is found in the program 58B, the IL generating unit 63 shifts the process to step S515, and if not, shifts the process to step S516.
[0145] In step S515, the IL generating unit 63 adds a contact immediately before the device address of the IL operating device 576 in the program 58B, and sets the device address of the flag.
[0146] In step S516, the program file generation unit 61 creates a program file 1000 by converting the program 58B updated in steps S512 to S515 into a format that can be interpreted and executed by the PLC 1001. Then, a process is performed to output the created program file 1000 to the outside so that it can be used by the PLC 1001. Note that in this embodiment, as in the first embodiment, it is possible to display the program 58B on the display unit 100 and highlight the IL portion added in the IL addition step S5.
[0147] [Other embodiments] The present invention can also be realized by supplying a program for implementing one or more of the functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
[0148] The disclosure of this embodiment includes the following configurations and methods. (Configuration 1) a processing unit that generates a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of steps; The processing unit includes: generating a plurality of pieces of flow path setting information based on device information representing the flow path structure and flow paths used in the flow path structure in the plurality of processes; generating interlock control information for interlock control for a predetermined flow path based on the plurality of flow path setting information; The program is generated with the interlock control added based on the interlock control information. 23. An information processing apparatus comprising: (Configuration 2) The predetermined flow path is an overlapping flow path in which at least two flow paths overlap. 2. The information processing device according to configuration 1. (Configuration 3) The processing unit generates the interlock control information when different fluids flow through the overlapping flow paths. 3. The information processing device according to configuration 2. (Configuration 4) The device information includes switching attribute information indicating whether or not a device in the flow path structure has a switching attribute for switching a flow path, The processing unit includes: generating the plurality of pieces of flow path setting information including the switching attribute information; The interlock control information is generated based on the plurality of pieces of flow path setting information including the switching attribute information. 4. The information processing device according to any one of configurations 1 to 3. (Configuration 5) The processing unit generates the interlock control information including information indicating a relationship between one device that operates when the interlock control is activated and another device that is exclusively controlled with the one device, for the plurality of devices that have the switching attribute. 5. The information processing device according to configuration 4. (Configuration 6) A display unit and an input unit are provided. The processing unit causes the display unit to display the interlock control information, and receives an input from the input unit to set whether the interlock control is enabled or disabled. 6. The information processing device according to any one of configurations 1 to 5. (Configuration 7) The processing unit adds the interlock control to the program based on a flag indicating whether a predetermined step among the plurality of steps is performed or not when different fluids flow through the overlapping flow paths. 3. The information processing device according to configuration 2. (Configuration 8) The predetermined process is a pipe cleaning process. 8. The information processing device according to configuration 7. (Configuration 9) The processing unit generates a program executable by a control device that controls the device. 9. The information processing device according to any one of configurations 1 to 8. (Configuration 10) the control device is a programmable logic controller; The program is a ladder program executable by the programmable logic controller. 10. The information processing device according to configuration 9. (Configuration 11) 11. Reading and executing the program generated by the information processing device according to any one of configurations 1 to 10, and causing the device to execute the plurality of steps. A control device comprising: (Method 1) A computer that generates a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of steps, generating a plurality of pieces of flow path setting information based on device information representing the flow path structure and flow paths used in the flow path structure in the plurality of processes; generating interlock control information for interlock control for a predetermined flow path based on the plurality of flow path setting information; The program is generated with the interlock control added based on the interlock control information. A generating method comprising: (Method 2) The program is generated by the generation method according to the method 1, and the program is read into a control device to cause the device to execute the plurality of steps. A control method for a control device comprising: (Method 3) A program for causing a computer to execute the generating method according to method 1 or 2. (Method 4) A computer-readable recording medium having the program according to method 3 recorded thereon. [Explanation of symbols]
[0149] 1...program generation system, 2...process chart, 3A...piping diagram, 4...user interface section, 5...data section, 6...logic section, 41...program output setting screen section, 42...flow path setting screen, 43...IL setting screen, 51...flow path diagram group, 52...equipment type information, 53...flow path table, 54...equipment address table, 55...internal address table, 56...program part information, 57...IL information, 58...program, 61...program file generation section, 62...data management section, 63...IL generation section, 100...display section, 200...input section, 1000...program file, 1002...plant, 1003...PC, 1004...program generation section
Claims
1. A processing unit that generates a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of steps, a display unit, and an input unit, The processing unit includes: generating a plurality of pieces of flow path setting information based on device information representing the flow path structure and flow paths used in the flow path structure in the plurality of processes; generating interlock control information for interlock control for a predetermined flow path based on the plurality of flow path setting information; generating the program to which the interlock control is added based on the interlock control information; The interlock control information is displayed on the display unit, and an input for setting whether the interlock control is enabled or disabled is received from the input unit.
23. An information processing apparatus comprising:
2. The predetermined flow path is an overlapping flow path in which at least two flow paths overlap.
2. The information processing apparatus according to claim 1,
3. The processing unit generates the interlock control information when different fluids flow through the overlapping flow paths.
3. The information processing apparatus according to claim 2.
4. The device information includes switching attribute information indicating whether or not a device in the flow path structure has a switching attribute for switching a flow path, The processing unit includes: generating the plurality of pieces of flow path setting information including the switching attribute information; The interlock control information is generated based on the plurality of pieces of flow path setting information including the switching attribute information.
4. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.
5. The processing unit generates the interlock control information including information indicating a relationship between one device that operates when the interlock control is activated and another device that is exclusively controlled with the one device, for the plurality of devices that have the switching attribute.
5. The information processing apparatus according to claim 4.
6. The processing unit adds the interlock control to the program based on a flag indicating whether a predetermined step among the plurality of steps is performed or not when different fluids flow through the overlapping flow paths.
3. The information processing apparatus according to claim 2.
7. The predetermined process is a pipe cleaning process.
7. The information processing apparatus according to claim 6.
8. A processing unit that generates a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of processes, The processing unit includes: generating a plurality of pieces of flow path setting information including the switching attribute information based on device information including switching attribute information indicating whether or not a device in the flow path structure has a switching attribute for switching a flow path and flow paths used in the flow path structure in the plurality of steps; generating interlock control information for interlock control for a predetermined flow path based on the plurality of flow path setting information including the switching attribute information; The program is generated with the interlock control added based on the interlock control information.
23. An information processing apparatus comprising:
9. The processing unit generates the program executable by a control device that controls the device.
9. The information processing apparatus according to claim 1, wherein the first and second inputs are connected to the first and second inputs.
10. the control device is a programmable logic controller; The program is a ladder program executable by the programmable logic controller.
10. The information processing apparatus according to claim 9.
11. The program generated by the information processing device according to any one of claims 1 to 3 and 8 is read and executed, and the device is caused to execute the plurality of steps. A control device comprising:
12. A computer that generates a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of steps, generating a plurality of pieces of flow path setting information based on device information representing the flow path structure and flow paths used in the flow path structure in the plurality of processes; generating interlock control information for interlock control for a predetermined flow path based on the plurality of flow path setting information; generating the program to which the interlock control is added based on the interlock control information; The interlock control information is displayed on a display unit, and an input for setting the interlock control to be enabled or disabled is received from an input unit. A generating method comprising:
13. A computer that generates a program for causing an apparatus having a flow path structure including a plurality of flow paths to execute a plurality of processes, generating a plurality of pieces of flow path setting information including switching attribute information based on device information including switching attribute information indicating whether or not a device in the flow path structure has a switching attribute for switching flow paths and flow paths used in the flow path structure in the plurality of steps; generating interlock control information for interlock control for a predetermined flow path based on the plurality of flow path setting information including the switching attribute information; The program is generated with the interlock control added based on the interlock control information. A generating method comprising:
14. The program is generated by the generation method according to claim 12 or 13, and the program is read into a control device to cause the device to execute the plurality of steps. A control method for a control device comprising:
15. A program for causing a computer to execute the generating method according to claim 12 or 13.
16. A computer-readable recording medium having the program according to claim 15 recorded thereon.
Citation Information
Patent Citations
Interlock adding device for ladder diagram
JP1994043913A
Device and method for generating program specification and sequence control system
JP2002323912A
Programming support device, method, and program
JP2011198237A
Plant control function construction system for instrumentation and construction method
JP2014160411A
Control program editing device
JP2016218723A
