Program creation device and program creation method

The program creation device acquires, displays and indicates the program creation part through templates, simplifies the program creation process of industrial equipment and improves the creation efficiency.

CN114675563BActive Publication Date: 2025-09-09YASKAWA DENKI KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111603450.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-25
Filing Date
2021-12-24
Publication Date
2025-09-09
Estimated Expiration
2041-12-24

AI Technical Summary

Technical Problem

In the prior art, the program creation process for industrial equipment is complex and difficult to simplify.

Method used

A program creation device is provided, which simplifies the program creation process of industrial equipment, including template acquisition, display and creation of instruction programs, through a template acquisition part, a creation screen display control part and an instruction program creation part.

Benefits of technology

It realizes the simplified creation of industrial equipment programs and improves the efficiency and simplicity of program creation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114675563B_ABST
    Figure CN114675563B_ABST
Patent Text Reader

Abstract

The present invention relates to a program creation device and a program creation method. The subject of the present invention is to simplify the creation of programs for industrial equipment. The present invention provides a program creation device (30) for creating an instruction program for instructing other industrial equipment to perform a prescribed action as a control device of an industrial equipment, comprising: a template acquisition unit (306) for acquiring a template corresponding to each of a plurality of actions; a creation screen display control unit (307) for displaying a template corresponding to a selected action from a plurality of actions on a creation screen of the instruction program; and an instruction program creation unit (308) for creating an instruction program for instructing the selected action based on an operation on the template displayed on the creation screen.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The presently disclosed invention relates to a program creation apparatus, a program creation method, and a program. Background Art

[0002] Patent document 1 describes the following: When a user uses a language such as ladder diagram to create a program for an industrial controller or microcomputer, a template is prepared that includes some instructions of the program and the insertion positions of sub-templates in a hierarchical structure, and the part of the insertion position contained in the template is replaced with other instructions of the corresponding hierarchical structure, thereby assisting in the creation of the program.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent No. 5785130. Summary of the Invention

[0006] Problems to be solved by the invention

[0007] The problem to be solved by the present disclosure is, for example, to simplify the creation of programs for industrial equipment.

[0008] Means used to solve problems

[0009] A program creation device according to one aspect of the present invention creates an instruction program for use as a control device for industrial equipment to instruct other industrial equipment on prescribed actions, and includes: a template acquisition unit for acquiring a template corresponding to each of a plurality of actions; a creation screen display control unit for displaying the template corresponding to the selected action from the plurality of actions on a creation screen of the instruction program; and an instruction program creation unit for creating the instruction program for indicating the selected action based on an operation on the template displayed on the creation screen.

[0010] Effects of the Invention

[0011] According to the present invention, for example, creation of a program for industrial equipment can be simplified. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 is a diagram showing an example of the overall structure of a control system.

[0013] Figure 2 This is a diagram showing an example of the sequence of processes in the control system.

[0014] Figure 3 1 is a diagram showing an example of a control program creation screen.

[0015] Figure 4This is a diagram showing an example of a designation screen in the previous process designation mode.

[0016] Figure 5 This is a diagram showing an example of a designation screen in the post-process designation mode.

[0017] Figure 6 This is a diagram showing an example of a control program creation screen when the order of each process is designated.

[0018] Figure 7 This is a functional block diagram showing functions implemented by the control system of the first embodiment.

[0019] Figure 8 FIG. 1 is a diagram showing a data storage example of a device information database.

[0020] Figure 9 2 is a diagram showing a data storage example of the process information database DB2.

[0021] Figure 10 It is a diagram showing an example of processing executed by the program creation apparatus according to the first embodiment.

[0022] Figure 11 It is a diagram showing an example of processing executed by the program creation apparatus according to the first embodiment.

[0023] Figure 12 This is a diagram showing a portion of structured data included in a configuration file.

[0024] Figure 13 FIG. 1 is a diagram showing an example of main commands, sub-commands, and data stored in the command data area.

[0025] Figure 14 This is a diagram showing an example of changes in variables when a job is selected and executed.

[0026] Figure 15 1 is a diagram showing an example of a screen for instructing program creation.

[0027] Figure 16 This is a diagram showing a state in which a template is selected from the instruction program creation screen.

[0028] Figure 17 This is a diagram showing an example of a screen for instructing program creation when a template is selected.

[0029] Figure 18 FIG. 1 is a diagram showing an example of a screen for instructing program creation when a template is further selected.

[0030] Figure 19 This is a functional block diagram of the second embodiment.

[0031] Figure 20 is a diagram showing an example of a template database.

[0032] Figure 21 It is a diagram showing an example of processing executed by the program creation apparatus according to the second embodiment.

[0033] Figure 22 This is a functional block diagram of a modified example according to the first embodiment.

[0034] Figure 23 This is a functional block diagram of a modified example according to the second embodiment. DETAILED DESCRIPTION

[0035] [1. First embodiment]

[0036] Hereinafter, an example of a first embodiment of the program creation device according to the present invention will be described. In the first embodiment, a control system including the program creation device is taken as an example.

[0037] [1-1. Overall structure of the control system]

[0038] Figure 1 FIG is a diagram showing an example of the overall structure of the control system. Figure 1 As shown, control system 1 includes a control device 10, industrial devices 20A and 20B, and a program creation device 30. Each device is interconnected for communication via a conventional network such as Ethernet (registered trademark) or an industrial network (so-called field network). Hereinafter, when industrial devices 20A and 20B are not distinguished, the last letter is omitted and they are simply referred to as industrial device 20.

[0039] The control device 10 is a computer that controls one or more industrial devices 20. The control device 10 can control any number of industrial devices 20. When the control system 1 as a whole is referred to as a unit, the control device 10 is sometimes referred to as a unit controller. The control device 10 may also be a device with another name such as a PLC (Programmable Logic Controller). The control device 10 includes a CPU 11, a storage unit 12, and a communication unit 13. The CPU 11 includes at least one processor. The CPU 11 is a type of circuit device (circuitry). The storage unit 12 includes at least one of a volatile memory and a non-volatile memory. The communication unit 13 includes at least one of a communication interface for wired communication and a communication interface for wireless communication.

[0040] Industrial equipment 20 is a device used to perform work instead of people. For example, industrial equipment 20A is a robot controller that controls robot 24, and industrial equipment 20B is a processing device. Industrial equipment 20 can be of any type, for example, it can also be a motor controller, a motion controller, a servo amplifier, a numerical control device, a power conversion device, an inspection device, or a measuring device. Industrial equipment 20 includes CPU 21, a storage unit 22, and a communication unit 23. The physical structures of CPU 21, storage unit 22, and communication unit 23 can be the same as CPU 11, storage unit 12, and communication unit 13, respectively. In addition, in this embodiment, since there is no distinction between Figure 1 Since the structure of CPU21A, etc. is omitted, letters are omitted and only recorded as CPU21, etc.

[0041] Program creation device 30 is a user-operated device. For example, program creation device 30 is a personal computer, a tablet terminal, or a smartphone. For example, program creation device 30 includes a CPU 31, a storage unit 32, a communication unit 33, an operation unit 34, and a display unit 35. The physical structures of CPU 31, storage unit 32, and communication unit 33 can be the same as those of CPU 11, storage unit 12, and communication unit 13, respectively. Operation unit 34 is an input device such as a mouse or keyboard. Display unit 35 is a liquid crystal display or an organic EL (electroluminescence) display.

[0042] In addition, the programs and data stored in the storage units 12, 22 and 32 can be provided through a network. In addition, the hardware structure of each device is not limited to the above-mentioned examples, and various hardware can be applied. For example, a reading unit (for example, a memory card slot) for reading a computer-readable information storage medium, or an input and output unit (for example, a USB terminal) for connecting to an external device may also be included. In this case, the programs and data stored in the information storage medium can be provided by a reading unit or an input and output unit. In addition, for example, a circuit called an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) may also be included.

[0043] [1-2. Overview of the control system]

[0044] In control system 1, multiple processes are executed in a predetermined order for each of multiple objects. An object is an object that is the subject of work. An object is also called a workpiece. An object can be a final product, an intermediate product, a raw material, or a starting material.

[0045] The object can be any type, such as semiconductors, electrical products, automobiles, food, beverages, pharmaceuticals, or daily necessities. A process is an operation performed on the object. A process can also be an operation of industrial equipment 20.

[0046] Figure 2 1 is a diagram showing an example of the order of processes in the control system 1. In this embodiment, for each of a plurality of objects, Figure 2 The following describes the case where steps p1 to p7 are performed in the order shown. Figure 2 In the example, the sequence of steps p1 through p7 is represented by three arrows: complete, timeout, and abort. The execution conditions described below are distinguished by the type of arrow. Hereinafter, when steps p1 through p7 do not need to be distinguished, their symbols are omitted.

[0047] Each of steps p1 through p7 can be of any type, such as object loading, moving (transporting), measuring, processing, cleaning, inspecting, or unloading. Step p1 is the first step to be executed. Predetermined execution conditions are set for step p1. For example, step p1 is initiated when any execution condition is met, such as when the power to industrial equipment 20 is turned on or when all steps on the previous object are completed.

[0048] The execution condition for process p2 is the completion of process p1. If process p1 is completed, process p2 is activated. The execution condition for processes p3 through p6 is the completion of process p2. If process p2 is completed, processes p3 through p6 are activated. Processes p3 through p6 are executed in parallel. If process p6 times out after a certain period of time without completion, process p2 is executed again. Therefore, the timeout of process p6 is one of the execution conditions for process p2.

[0049] The execution condition for step p7 is that steps p3 through p6 are all completed. Since step p7 is executed each time steps p3 through p6 are completed, step p7 is executed four times for a given object. If step p7 is interrupted midway, step p6 is executed again. Therefore, the interruption of step p7 is one of the execution conditions for step p6.

[0050] When process p7 for a particular object is completed, all processes for that object are complete. Then, processes p1 through p7 are executed in the same order for the next object. Alternatively, after all processes for a particular object are completed, process p1 for the next object may not be started, but rather the processes for a particular object and other objects may be executed simultaneously.

[0051] The user creates a control program for the control device 10 so that it Figure 2The control program is a program used to control the entire control system 1, so it is also called a unit program. The control program defines Figure 2 The process of instructing each process of the industrial equipment 20 is defined as an instruction program that is different from the control program. In addition, it is also possible to integrate them into one program instead of dividing them into the control program and the instruction program.

[0052] Figure 2 The execution conditions for each process, indicated by the arrows, are defined as control programs. The control device 10 executes the control program to determine whether the execution conditions for each process are met. When the execution conditions for a process are met, the control device executes an instruction program for issuing an execution instruction for that process, and then issues the instruction to the industrial equipment 20 executing that process. Upon receiving the execution instruction, the industrial equipment 20 executes the process program that defines the specific actions for the instructed process. Therefore, in the first embodiment, there are three main programs: the control program and instruction program executed by the control device 10, and the process program executed by the industrial equipment 20.

[0053] Alternatively, instruction programs can be created using templates as described in the second embodiment below. However, the first embodiment does not limit the method for creating instruction programs. For example, rather than using the templates described in the second embodiment, the user can create instruction programs using ladder diagrams or robotics languages. In this embodiment, seven instruction programs corresponding to steps p1 to p7 are pre-created.

[0054] Users create control programs to follow Figure 2 The instruction programs for each of steps p1 to p7 are called in the order shown. In the first embodiment, an engineering tool used for maintenance of industrial equipment 20 is installed in program creation device 30, and a user uses the engineering tool to create a control program. For example, when the user operates program creation device 30 and activates the engineering tool, a control program creation screen is displayed on display unit 35.

[0055] Figure 3 FIG. 1 is a diagram showing an example of a control program creation screen. Figure 3 As shown, the control program creation screen G1 is a user interface for creating a control program. In the first embodiment, the user can create a control program simply by specifying the sequence of steps, even without using ladder diagrams or robot language. For example, there are two methods for specifying the sequence of steps: a previous step specification mode and a subsequent step specification mode.

[0056] The preceding process designation mode specifies a preceding process, which is another process that is executed before a certain process. Specifically, the preceding process designation mode specifies a preceding process as a condition for executing a certain process. While this embodiment describes the preceding process as the previous process, the preceding process can also be two or more preceding processes. Multiple processes can also be specified as preceding processes.

[0057] The subsequent process designation mode specifies a subsequent process, which is another process to be executed after a certain process. Specifically, the subsequent process designation mode specifies a process (equivalent to the previous process from the perspective of the subsequent process) as a condition for executing the subsequent process. While this embodiment describes the subsequent process as the next process, the subsequent process can also be two or more processes. Multiple processes can also be specified as subsequent processes.

[0058] The user can specify the order of each process using a preferred one of the preceding process designation mode and the following process designation mode. The order of the processes specified by the user is displayed in the display area A10 of the control program creation screen G1. Figure 3 In the example shown, since the user has not yet specified anything, nothing is displayed in display area A10. The user can switch between the previous step specification mode and the next step specification mode by selecting buttons B11 and B12. For example, when the user selects button B11, a user interface, i.e., a specification screen, for specifying the sequence of steps in the previous step specification mode is displayed on display unit 35.

[0059] Figure 4 : is a diagram showing an example of a designation screen in the pre-process designation mode. Figure 4 As shown, the designation screen G2 in the preceding process designation mode displays input forms F20 to F24 and buttons B25 to B28. The following describes the operation of the designation screen G2 in the preceding process designation mode, using the example of a user designating a preceding process for process p2. Because process p2 is executed after process p1 is completed, the user specifies the completion of process p1 as a condition for executing process p2. In other words, the user designates process p1 as the preceding process for process p2.

[0060] First, the user specifies the process ID of process p2, the process block type indicating the type of process p2, and the name of process p2 in each of input forms F20 through F22 as information for identifying process p2, the designated preceding process. Furthermore, if process p2 is specified before displaying the designation screen G2, each of input forms F20 through F22 can be grayed out, preventing the user from specifying the process ID, process block type, or process name.

[0061] The user specifies a preceding process for process p2 on input form F23. In other words, the user specifies the execution conditions for process p2 on input form F23. For example, the user specifies the process ID of the preceding process, process p1, on input form F23A. Input form F23A may also display the process IDs of other processes that are candidates for preceding processes via a pull-down menu. The user can specify a preceding process from a pull-down menu or directly enter the preceding process ID into input form F23A.

[0062] In addition, for example, the user specifies the processing result of the previous process, that is, process p1, in the input form F23B. The processing result is the status of the previous process. For example, the processing result indicates whether the previous process is completed normally. In this embodiment, there are multiple processing results, for example, Figure 2 The three processing results shown by the arrows are completion, timeout, and abort. The processing results are not limited to the examples in this embodiment, and any processing results can exist. For example, there can also be processing results such as error, recovery, or interruption.

[0063] Input form F23B can also display candidate processing results via a pull-down menu. The user can select a processing result from the pull-down menu or directly enter the processing result into input form F23B. For example, the user specifies "complete" in input form F23B. This specifies the completion of step p1 as a condition for executing step p2. In other words, the order of steps p1 and p2 is specified.

[0064] The user can specify multiple conditions as execution conditions. For multiple conditions, the user can specify at least one of an AND condition and an OR condition. For example, the user can specify other conditions as AND conditions in input form F23C. Other conditions do not necessarily need to be process results; for example, they can be variable values ​​or sensor signals unrelated to the process results. The user can select button B23D to add an AND condition. Selecting button B23D adds input forms F23A to F23C for specifying AND conditions. The number of AND conditions that the user can specify can also be set to an upper limit.

[0065] To specify an OR condition, the user selects button B23E. Selecting button B23E adds input forms F23A to F23C for specifying the OR condition. To ensure that process p2 is also executed if process p6 times out, the user selects button B23E and specifies the process ID of the preceding process, process p6, and the "timeout" processing result as the OR condition. This condition sets the execution of process p2 to the OR condition of the completion of process p1 and the timeout of process p6.

[0066] The user can specify a termination condition corresponding to termination in the input form F24. Figure 2 In the flow, since process p2 is not considered to be aborted, the user does not specify anything in input table F24. For processes that are considered to be aborted, as in process p6, abort conditions are specified in input table F24. These conditions can be arbitrary, such as a predetermined variable value, a sensor signal, or the state of an object.

[0067] The user can select button B25 to specify the processing type of process p2. The processing type is the type of process p2. In this embodiment, parallel processing and branch processing are prepared as processing types. Parallel processing is a process that can be executed multiple times on a certain object. Branch processing is a process that is executed only once on a certain object. Since process p2 will not be executed again as long as process p6 is not terminated, Figure 4 As shown, the user specifies parallel processing for step p2.

[0068] The user can select button B26 to specify whether or not to include a centralized process in process p2. A centralized process is one with multiple preceding processes. In this embodiment, an upper limit is set for the number of OR conditions that the user can specify; however, this limit is lifted for the centralized process. For example, the upper limit is limited to approximately 10 for processes that are not centralized processes, but to approximately 50 for the centralized process. Alternatively, the upper limit for the AND condition can be lifted instead of the OR condition. Alternatively, a combined upper limit for the OR and AND conditions can be set, and this upper limit can also be lifted.

[0069] When the user selects button B27, they can complete the designation of the preceding process for process p2. Afterward, while remaining in the preceding process designation mode, they can designate the preceding processes for other processes p3 through p7. For example, a user could designate processes p2 and p7 as preceding processes for process p6, specifying the completion of process p2 and the abort of process p7 under the condition "OR." Alternatively, for example, a user could designate processes p3 through p6 as preceding processes for process p7, specifying the completion of each of these processes under the condition "OR." Furthermore, when the user selects button B28, the designation is discarded without being stored.

[0070] In the previous step specification mode, the user can specify the execution conditions for all steps. For example, if there are multiple steps p3 to p6 as previous steps, as in the case of step p7, the subsequent step specification mode can easily specify the order of the steps. For example, when the user selects button B12 on the control program creation screen G1, the display unit 35 displays the specification screen G2, which is a user interface for specifying the order of steps in the subsequent step specification mode.

[0071] Figure 5 1 is a diagram showing an example of a designation screen G2 in the post-process designation mode. The following description will be made by taking the case where the user designates a post-process of process p3 in the post-process designation mode as an example. Figure 5 As shown, the designation screen G2 in the subsequent process designation mode has the same layout as a portion of the designation screen G2 in the preceding process designation mode, but differs in the portion for designating the execution condition.

[0072] The user specifies the processing result of process p3 on the input form F23F. Since process p7, which is the subsequent process of process p3, is executed after process p3 is completed, the user specifies completion on the input form F23F. The input form F23F can also be used with Figure 4 The input form F23B displays a pull-down menu and the like in the same manner. The user specifies the process ID of the process p7 that can uniquely identify the subsequent process of the process p3 to the input form F23G. The input form F2G can also be used with Figure 4 The input form F23A similarly displays a pull-down menu and the like.

[0073] In addition, when the user specifies the AND condition as the execution condition of the subsequent process, the user selects the check box B23H. The user specifies the AND condition in the input form F23. When there are two or more AND conditions, the user selects the button B23J to specify the second and subsequent AND conditions. Figure 2 In the process of , since the execution condition of process p7, which is the subsequent process of process p3, does not include an AND condition, the user does not specify an AND condition.

[0074] When there are two or more post-processes, the user can select button B23K to add a post-process. For example, after process p3, when not only process p7 but also process p Figure 2 If step p8 does not exist in the list, the user selects button B23K to add step p8. If step p2 has four subsequent steps, steps p3 to p6, the user selects button B23K to specify the execution conditions of step p2 in the subsequent step specification mode to specify these four subsequent steps.

[0075] Furthermore, since step p7 is executed upon completion of each of steps p3 through p6, the user can designate step p7 as a subsequent step not only for step p3 but also for each of steps p4 through p6 from the designation screen G2 in the subsequent step designation mode. The user can simply designate the execution conditions for each of steps p1 through p7 from the designation screen G2 in at least one of the preceding and subsequent step designation modes. The user-designated execution conditions are reflected in the display area A10 of the control program creation screen G1.

[0076] Figure 6FIG. 1 is a diagram showing an example of a control program creation screen G1 when the order of each process is specified. Figure 6 As shown, the order of steps p1 to p7 specified by the user is displayed in the display area A10 of the control program creation screen G1. For example, frames representing each of steps p1 to p7 are displayed in an arrangement corresponding to the order of steps p1 to p7, and arrows connecting the frames are displayed to indicate the execution conditions of each step p1 to p7.

[0077] After confirming that steps p1 through p7 are in the desired order, the user selects button B13 for creating a control program. Selecting button B13 causes program creation device 30 to create a control program that executes steps p1 through p7 in the order displayed in display area A10. The specific method for creating a control program in accordance with the user-specified order will be described later.

[0078] As described above, the program creation device 30 of this embodiment allows the user to specify the order of each process using the designation screen G2 in at least one of the preceding process designation mode and the following process designation mode. By specifying the order of each process from the designation screen G2, the user can create a control program without using ladder diagrams or robot language, thereby simplifying control program creation. The following describes the details of the control system 1 of this embodiment.

[0079] [1-3. Functions realized by the first embodiment]

[0080] Figure 7 This is a functional block diagram showing functions implemented by the control system 1 of the first embodiment. In this embodiment, functions implemented by each of the control device 10, the industrial equipment 20, and the program creation device 30 will be described.

[0081] [1-3-1. Functions implemented by the control device]

[0082] like Figure 7 As shown, the control device 10 includes a data storage unit 100 and an industrial equipment control unit 101. The data storage unit 100 is mainly implemented by a storage unit 12. The industrial equipment control unit 101 is mainly implemented by a CPU 11.

[0083] [Data storage unit]

[0084] The data storage unit 100 stores data required for controlling the industrial equipment 20. For example, the data storage unit 100 stores control programs created by the control program creation unit 305 and pre-created instruction programs. Furthermore, for example, the data storage unit 100 stores variables that are referenced and modified by at least one of the control program and the instruction program. These variables are used to control processes. The startup and end variables described below are examples of such variables. The main instructions described in the second embodiment are also examples of such variables. The detailed usage of these variables will be described later.

[0085] Alternatively, data storage unit 100 may store the same variables as those stored in data storage unit 200 of industrial equipment 20. In this case, the variables in data storage unit 100 and the variables in data storage unit 200 are used to obtain compatibility. This compatibility can be obtained periodically or irregularly. Variables are not limited to those related to process control; they may also include various variables, such as those representing physical quantities detected by sensors.

[0086] [Industrial Equipment Control Department]

[0087] The industrial equipment control unit 101 controls the industrial equipment 20 based on a control program so that each process is executed in a predetermined order. For example, the industrial equipment control unit 101 transmits execution instructions for each process from the control device 10 to one or more industrial equipment 20 based on the control program. In this embodiment, the industrial equipment control unit 101 causes the industrial equipment 20 to execute each process by changing the variables corresponding to the process. Therefore, the process execution instruction can be a variable change instruction.

[0088] For example, each process defines a start variable for starting that process and an end variable indicating whether the process has ended (or completed). The start and end variables for each process are stored in the industrial device 20 that executes that process. The data storage unit 100 stores the same start and end variables as those stored in the industrial device 20, ensuring consistency between them. The industrial device control unit 101 controls the start and end variables for each process to cause the industrial device 20 to execute each process.

[0089] in the case of Figure 2 For example, the industrial equipment control unit 101 executes the control program to determine whether the execution conditions for process p1 are met. If the industrial equipment control unit 101 determines that the execution conditions for process p1 are met, it calls the instruction program corresponding to process p1 and sends an instruction to execute process p1 to the industrial equipment 20 executing process p1. This instruction changes the startup variable for process p1 from a first value (e.g., 0) to a second value (e.g., 1).

[0090] For example, the industrial equipment control unit 101 may change the startup variable corresponding to process p1, stored in the data storage unit 100, to a second value and send an execution instruction to the industrial equipment 20 executing process p1 to verify the compatibility of the startup variable. Upon receiving the execution instruction, the process execution unit 201 (described later) changes the startup variable for process p1 to the second value. Upon detecting that the startup variable for process p1 has changed to the second value, the process execution unit 201 executes the process program for process p1, thereby starting process p1.

[0091] When the process execution unit 201 reaches the end of the process program for process p1, it changes the end variable for process p1 from a first value (e.g., 0) to a second value (e.g., 1). The process execution unit 201 sends a response to the control device 10 indicating that the end variable for process p1 has changed to the second value. Upon receiving the response, the control device 10 changes the end variable for process p1 stored in the data storage unit 100 to the second value.

[0092] If the industrial equipment control unit 101 detects that the end variable of process p1 has changed to the second value, it determines that the execution conditions for process p2 have been met and calls the instruction program corresponding to process p2. Subsequently, the industrial equipment control unit 101 controls the start and end variables of each process in the same manner until the final process, process p7, is completed.

[0093] In this embodiment, since timeout and abort are also specified as execution conditions, a timeout variable indicating timeout and a halt variable indicating abort may also be provided. In this case, the industrial equipment control unit 101 can detect timeout and abort by referring to the timeout and abort variables, similar to the start and end variables.

[0094] For example, in process p2, since the timeout of process p6 also constitutes an execution condition, the industrial equipment control unit 101 refers to the timeout variable of process p6 to detect the timeout of process p6. Upon detecting the timeout of process p6, the industrial equipment control unit 101 determines that the execution condition of process p2 is met and calls the instruction program corresponding to process p2. Furthermore, for example, in process p6, since the suspension of process p7 also constitutes an execution condition, the industrial equipment control unit 101 refers to the suspension variable of process p7 to detect the suspension of process p7. Upon detecting the suspension of process p7, the industrial equipment control unit 101 determines that the execution condition of process p6 is met and calls the instruction program corresponding to process p6.

[0095] Furthermore, the control method for industrial equipment 20 itself can utilize various methods, not limited to those utilizing variables. For example, the industrial equipment control unit 101 can control the industrial equipment 20 by sending a command indicating a process to be executed to the industrial equipment 20. The industrial equipment 20 simply determines the process to be executed by referring to the received command and executes the process program for that process to start the process.

[0096] [1-3-2. Functions implemented by industrial equipment]

[0097] The industrial device 20 includes a data storage unit 200 and a process execution unit 201. The data storage unit 200 is mainly implemented by the storage unit 22. The process execution unit 201 is mainly implemented by the CPU 21. Figure 1 The industrial devices 20A and 20B shown have the same functions, and therefore are described simply as the industrial device 20 .

[0098] [Data storage unit]

[0099] The data storage unit 200 stores data required for executing a process. For example, the data storage unit 200 stores a process program. A process program is prepared for each process. The process program defines each action in the process. In addition, for example, the data storage unit 200 stores at least one variable that is referenced and changed by the process program. These variables include variables that serve as execution conditions for the process program. For example, a start variable and an end variable are prepared for each process (each process program). As described above, the execution of the process program may be controlled not by variables but by instructions from the control device 10.

[0100] [Process Execution Department]

[0101] The process execution unit 201 executes processes based on process programs. Upon receiving a process execution instruction from the control device 10, the process execution unit 201 executes the process program for that process and starts the process. In this embodiment, a startup variable and an end variable are prepared for each process program. Therefore, the process execution unit 201 determines whether the startup variable has changed from a first value to a second value. The processing performed by the process execution unit 201 after detecting that the startup variable has changed to the second value is as described above. The startup variable and the end variable that have changed to the second value return to their first value at a predetermined timing.

[0102] The process execution unit 201 may also execute the process it is supposed to execute based on execution conditions that are different from the execution instructions received from the control device 10. That is, even if an execution instruction for a process is received from the control device 10, the process execution unit 201 may not execute the process as long as other execution conditions are not met. Other execution conditions can be conditions that can be determined by the industrial equipment 20, for example, the object is not congested, no error has occurred, or other industrial equipment 20 is in a specified state. Other execution conditions are determined based on detection signals from sensors connected to the industrial equipment 20, or the content of communication with other industrial equipment 20. The sensor can be of any type, for example, a torque sensor, a visual sensor, a motor encoder, a temperature sensor, a grip sensor, or a temperature sensor.

[0103] [1-3-3. Functions implemented by the program creation device]

[0104] like Figure 7 As shown, the program creation device 30 includes a data storage unit 300, a receiving unit 303, a condition adding unit 304, a process information acquisition unit 301, a designated screen display control unit 302, and a control program creation unit 305. The data storage unit 300 is mainly implemented by the storage unit 32. The receiving unit 303, the condition adding unit 304, the process information acquisition unit 301, the designated screen display control unit 302, and the control program creation unit 305 are respectively mainly implemented by the CPU 31.

[0105] [Data storage unit]

[0106] The data storage unit 300 stores data required for setting in the control system 1. For example, the data storage unit 300 stores a device information database DB1 and a process information database DB2.

[0107] Figure 8 : is a diagram showing an example of data storage in the device information database DB1. Figure 8 As shown, the device information database DB1 stores device information related to the industrial devices 20 that are controlled by the control device 10. For example, the device information database DB1 stores the unit name, the name of the industrial device 20, the type, register range, communication settings, and control program information. If there are multiple units, this information is stored for each unit.

[0108] The user uses an engineering tool to create device information as settings for each industrial device 20. For example, the user specifies the name, type, register range, and communication settings of the industrial device 20 to be controlled by the control device 10 using the engineering tool. These specifications are stored in the device information database DB1. Control program information is information related to the control program created by the control program creation unit 305, such as the control program file name and information about associated instruction programs.

[0109] In this embodiment, a register range is determined for each industrial device 20 to control that device. For example, to control industrial device 20A, registers in the control device 10 range of 0 to 4999 are used, while to control industrial device 20B, registers in the control device 10 range of 5000 to 12000 are used. In this way, a register range specific to each industrial device 20 is set. For example, a starting register number and an ending register number are stored as register ranges. A register is a storage area in the memory within the control device 10.

[0110] Figure 9 : is a diagram showing an example of data storage in the process information database DB2. Figure 9 As shown, the process information database DB2 stores process information related to processes executed by each industrial device 20. For example, the process information database DB2 stores variable information related to variables such as process IDs, process names, names of industrial devices 20, the order in which processes are executed, process execution conditions, instruction program information, process program information, and start variables and end variables.

[0111] The user creates process information as settings for each process using an engineering tool. For example, the user specifies the process ID and name of the process to be executed by each industrial device 20 from the engineering tool. These specified contents are stored in the device information database DB1.

[0112] The order and execution conditions stored in the process information database DB2 store the contents specified by the designation screen G2 in the previous process designation mode or the next process designation mode. Figure 9 In FIG, the execution conditions displayed by each mode are shown, but they can also be transformed into each other, or only one execution condition can be stored. Figure 9 Although omitted in the description, information such as the suspension conditions, the processing type, and the presence or absence of the centralized process may also be stored in the process information database DB2.

[0113] Instruction program information is information related to user-created instruction programs, such as the instruction program's file name, the name of the industrial device 20 to which the instruction is directed, and comments. Process program information is information related to user-created process programs, such as the process program's file name, the name of the industrial device 20 that executes the process program, and comments. Variable information is information related to variables used in each process. For example, information such as the startup and end variables for each process is stored as variable information.

[0114] The data stored in data storage unit 300 is not limited to the examples described above. For example, data storage unit 300 may store engineering tools. Engineering tools are used for various purposes, such as creating various programs, setting parameters, configuring inter-device communication, defining registers, and defining variables. Furthermore, data storage unit 300 may also store backup copies of programs and parameters created by users using engineering tools.

[0115] [Process Information Acquisition Department]

[0116] The process information acquisition unit 301 acquires process information related to each of a plurality of processes executed by one or more industrial devices 20. In this embodiment, since the process information is stored in the process information database DB2, the process information acquisition unit 301 acquires the process information stored in the process information database DB2. For example, the process information acquisition unit 301 acquires process information for a process designated as a preceding process or a succeeding process on the designation screen G2. The process information may also be stored in a database other than the process information database DB2. Furthermore, the process information may also be stored in a computer other than the program creation device 30.

[0117] [Specify screen display control unit]

[0118] The designation screen display control unit 302 displays a designation screen G2 for designating at least one of the preceding and succeeding steps of each step based on the step information of each step. In this embodiment, the designation screen display control unit 302 displays both the designation screen G2 for the preceding step designation mode and the designation screen G2 for the succeeding step designation mode. However, the designation screen display control unit 302 may display only one of the designation screen G2 for the preceding step designation mode or the designation screen G2 for the succeeding step designation mode.

[0119] For example, the designation screen display control unit 302 switches between the pre-process designation mode and the post-process designation mode based on a switching operation. In this embodiment, the selection buttons B11 and B12 correspond to the switching operation, but the switching operation may be any operation. For example, the switching operation may be pressing a predetermined key on a keyboard, selecting a predetermined item in a menu on a screen, or selecting a predetermined icon.

[0120] The previous process designation mode is a state in which the designation of the previous process is accepted. Figure 4 The state of the designation screen G2 corresponds to the front process designation mode. The back process designation mode is a state in which the designation of the back process is accepted. Figure 5 The state of the designation screen G2 corresponds to the post-process designation mode.

[0121] Mode switching refers to changing modes. Specifically, changing from the previous process designation mode to the next process designation mode, and changing from the next process designation mode to the previous process designation mode, respectively, corresponds to mode switching. The designation screen display control unit 302 may display both the designation screen G2 for the previous process designation mode and the designation screen G2 for the next process designation mode, without switching modes. The designation screen display control unit 302 may also display the designation screen G2 for accepting both the previous process and the next process designation mode, without specifically distinguishing between modes.

[0122] For example, in the designation screen G2, the identification information and processing results of the preceding process are specified as execution conditions for each process. The process identification information can be any information that can identify the process, such as the process ID or process name. In this embodiment, the process identification information can be specified from input forms F20 and F22, and the processing results can be specified from input forms F23B and F23F. Furthermore, the identification information and processing results of the preceding process can be specified using any interface other than the input form. For example, checkboxes, radio buttons, or drop-down menus can be used. This applies to other information as well, and the interface for accepting user specifications is not limited to the examples in this embodiment.

[0123] For example, in the designation screen G2 of the previous process designation mode, the identification information, processing results, and combination conditions of multiple previous processes are specified as execution conditions. The combination conditions represent the combination of multiple previous processes and can be either AND or OR conditions. In this embodiment, the combination conditions are specified using input form F23C and buttons B23D and B23E. For example, when the user specifies the execution conditions for process p7 in the previous process designation mode, they specify the process IDs and processing results of each of the previous processes, p3 to p6, using OR conditions by operating input forms F23A and F23 and button B23E. It is not necessary to link all of the previous processes using AND or OR conditions; a combination of AND and OR conditions is also possible.

[0124] For example, in the designation screen G2 of the subsequent-step designation mode, the processing result of each step and the identification information of the subsequent step are specified as execution conditions for the subsequent step. In this embodiment, the processing result of each step is specified from input table F23F, and the identification information of the subsequent step is specified from input table F23G. For example, when the user specifies a subsequent step of step p3 in the subsequent-step designation mode, the processing result of step p3 is specified in input table F23F, and the subsequent step, step p7, is specified in input table F23G.

[0125] For example, in the designation screen G2 of the subsequent process designation mode, the processing results of each process, the processing results of other processes, the combination conditions of the process and the other processes, and the identification information of the subsequent process are specified as execution conditions. In this embodiment, the processing results of other processes and the combination conditions are specified using input form F23I and button B23J. While the AND condition is specified when input form F23I or button B23J is selected, the OR condition can also be specified. For example, if process p9 and p10 are both completed and process p11 is executed, the user can specify the completion of process p9 and the completion of process p10 under the AND condition by operating input forms F23F and F23G, input form F23I, or button B23J, thereby specifying process p11 as the subsequent process.

[0126] For example, in the designation screen G2 of the post-process designation mode, the processing results of each process and the identification information of each of the multiple post-processes of that process are specified as execution conditions for each post-process. In this embodiment, selecting button B23K allows the addition of additional post-processes, creating a multi-post-process state. For example, when the user specifies post-processes for process p2 in post-process designation mode, they operate on input form F23G to specify process p3 as one of the post-processes, then select button B23K to add processes p4 to p6 as post-processes.

[0127] For example, on the designation screen G2, the processing type for each process can be designated as parallel processing or branch processing. In this embodiment, the user specifies the processing type by pressing button B25. Furthermore, for example, on the designation screen G2, the user can specify whether each process is a centralized process. In this embodiment, the user specifies whether a centralized process exists by pressing button B25. The processing type and the centralized process can also be specified using only the preceding process designation mode or the following process designation mode.

[0128] [Reception Department]

[0129] The receiving unit 303 accepts various operations from the user. For example, the receiving unit 303 accepts a switching operation between a previous process designation mode in which a previous process is designated on the designation screen G2 and a subsequent process designation mode in which a subsequent process is designated on the designation screen G2. In this embodiment, the receiving unit 303 accepts the switching operation by accepting the selection of buttons B11 and B12 on the control program creation screen G1. As described above, the switching operation may be any other operation.

[0130] The receiving unit 303 can accept not only switching operations but also various operations for specifying the screen G2. For example, the receiving unit 303 accepts operations for specifying the sequence of processes. Figures 3 to 6 The operation on each screen may be any operation. For example, it may be an operation to rearrange or sequentially connect icons representing each process, or it may be an operation to input a numerical value representing the order of each process.

[0131] [Conditions Added]

[0132] When the concentration process is specified, the condition adding unit 304 increases the number of combination conditions that can be specified in the concentration process. Figure 5 As described above, for a process in which a centralized process is specified using button B26, condition adding unit 304 increases the number of selectable OR conditions from a first value (e.g., 10) to a second value (e.g., 50). The register range used as a variable can be changed depending on the number of selectable OR conditions. Alternatively, condition adding unit 304 can increase the number of selectable AND conditions instead of increasing the number of selectable OR conditions.

[0133] [Control program creation department]

[0134] The control program creation unit 305 creates a control program for the control device 10, which controls one or more industrial devices 20 to execute each process in the order specified on the designation screen G2. When the execution conditions specified for each process are met, the control program creation unit 305 creates a control program that sends an execution instruction to the industrial device 20 executing that process. The creation program for creating a control program based on the execution conditions specified for each process is pre-installed in the engineering tool.

[0135] The control program creation unit 305 uses a creation program to create a control program, defining the sequence and execution order stored in the process information database DB2 within the control program. For example, when using a ladder diagram language, the control program creation unit 305 creates a control program by configuring circuits such as coils for activating each process to achieve the specified sequence within each process and setting the execution conditions specified for each process as the conditions for closing these circuits. The circuits for activating each process can also be circuits for calling the instruction program corresponding to that process. The execution conditions can be any circuit capable of displaying conditional branches.

[0136] Furthermore, for example, when using a robot language, the control program creation unit 305 creates a control program by describing the code for activating each process, so as to achieve the sequence specified in each process, and setting the execution conditions specified in the process corresponding to the code as conditional branches for executing the code. The code for activating each process may also be a command for calling the instruction program corresponding to the process.

[0137] In this embodiment, one or more industrial devices 20 store startup variables for starting the processes they are to execute. Each process is started when the corresponding startup variable reaches a specified value. The control program creation unit 305 creates a control program to change the startup variables for each process to the specified values ​​in a specified order on the designated screen G2. Variables are controlled by instruction programs, so the control program creation unit 305 creates a control program that calls an instruction program to change the startup variables for each process to a second value in a specified order.

[0138] For example, the control program creation unit 305 creates a control program based on the identification information and processing result of the previous process specified on the designation screen G2 in the previous process designation mode. The control program creation unit 305 creates a control program so that the execution instruction for the process specified for the previous process on the designation screen G2 in the previous process designation mode is transmitted when the processing result specified for the specified previous process is achieved. In this control program, the processing result specified for the previous process is determined as a conditional branch for the process of transmitting the execution instruction for the process specified for the previous process.

[0139] Furthermore, the conditional branches themselves can simply utilize conditional branches in a ladder diagram language or robot language. In the program creation process, instructions are defined to automatically describe the circuits or code for the conditional branches. The control program creation unit 305 outputs a file describing the circuits or code for the conditional branches as a control program in accordance with the program creation process. This also applies to the conditional branches described below.

[0140] For example, the control program creation unit 305 creates a control program based on the identification information, processing results, and combination conditions of each preceding process specified on the designation screen G2 of the preceding process designation mode. The control program creation unit 305 creates a control program so that execution instructions for a process specifying multiple preceding processes on the designation screen G2 of the preceding process designation mode are issued when the combination conditions of the processing results specified for each of the preceding processes are satisfied. In this control program, as a conditional branch for issuing execution instructions for the processes specified by the preceding processes, it is determined that the processing results of each preceding process meet the specified combination conditions.

[0141] For example, the control program creation unit 305 creates a control program based on the processing result and identification information of the subsequent process specified on the designation screen G2 of the subsequent process designation mode. The control program creation unit 305 creates a control program so that when the process of the subsequent process specified on the designation screen G2 of the subsequent process designation mode achieves the specified processing result, an instruction to execute the specified subsequent process is issued. In this control program, as a conditional branch for the processing of issuing the instruction to execute the subsequent process, the process of the specified subsequent process achieves the specified processing result. Similar to the case of specifying the preceding process, the control program creation unit 305 outputs a file describing the circuit or code for the conditional branch as a control program in accordance with the creation program.

[0142] For example, the control program creation unit 305 creates a control program based on the processing results of each process specified on the designation screen G2 of the subsequent process designation mode, the processing results of other processes, the combination conditions, and the identification information of the subsequent process. The control program creation unit 305 creates a control program so that an execution instruction for a subsequent process, where multiple processes are specified on the designation screen G2 of the subsequent process designation mode, is issued when the combination conditions of the processing results specified for each of the specified processes are satisfied. In this control program, as a conditional branch for issuing an execution instruction for a subsequent process where multiple processes are specified, it is determined that the processing results of each preceding process meet the specified combination conditions.

[0143] For example, the control program creation unit 305 creates a control program based on the processing results specified on the designation screen G2 of the post-process designation mode and the identification information of each post-process. The control program creation unit 305 creates a control program so that when a process that specifies multiple post-processes on the designation screen G2 of the post-process designation mode becomes a designated processing result, execution instructions for each of the designated post-processes are issued. In this control program, as a conditional branch for the processing that sends execution instructions for each post-process, it is determined that the process that specifies multiple post-processes becomes a designated processing condition.

[0144] For example, the control program creation unit 305 creates a control program based on the processing type of each process specified in the designation screen G2. The control program creation unit 305 creates a control program so that when a process is designated for parallel processing, the number of executions of the process is not limited. The control program creation unit 305 creates a control program so that when a process is designated for branch processing, the number of executions of the process is limited to a specified number of times (e.g., one).

[0145] For example, when a centralized process is specified, the control program creation unit 305 creates a control program based on the added combination conditions. For processes that do not specify a centralized process, the control program creation unit 305 creates a control program based on the combination conditions specified within a specified upper limit. For processes that specify a centralized process, the control program creation unit 305 creates a control program based on the combination conditions specified within the lifted upper limit.

[0146] [1-4. Processing Executed in First Embodiment]

[0147] Figure 10 and Figure 11 2 is a diagram showing an example of processing executed by program creation device 30 of the first embodiment. Figure 10 as well as Figure 11 The processing shown is executed by the CPU 31 activating the engineering tool stored in the storage unit 32 . Figure 10 as well as Figure 11 The processing shown is done by Figure 7 An example of the processing executed by the functional blocks shown in FIG. 1 : When the processing described below is executed, it is assumed that the equipment information database DB1 and the process information database DB2 are generated.

[0148] like Figure 10 As shown, the program creation device 30 starts the engineering tool and displays the control program creation screen G1 on the display unit 35 (S100). The program creation device 30 determines the user's operation based on the detection signal of the operation unit 34 (S101). In S101, the selection of any one of the buttons B11 to B13 is accepted.

[0149] When the user selects button B11 (S101: B11), the program creation device 30 causes the display unit 35 to display the designation screen G2 for the previous step designation mode based on the step information database DB2 (S102). In S102, the program creation device 30 determines the step ID displayed in the pull-down menu of the input form F23A based on the step information stored in the step information database DB2. If the user has previously designated a step ID, the step information corresponding to the designated step may be displayed in each of the input forms F20-F22.

[0150] Program creation device 30 determines user operation (S103) based on the detection signal of operation unit 34. In S103, operations on input forms F20 to F22, input form F23, input form F24, and buttons B25 to B28 are accepted.

[0151] Upon receiving an operation on input forms F20 to F22 (S103: F20 to F22), the program creation device 30 displays the designated process ID and the like on input form F20 (S104). Upon receiving an operation on input form F23 (S103: F23), the program creation device 30 sets execution conditions for the process designated as the preceding process (S105). The method by which the user specifies execution conditions is as described above.

[0152] Upon receiving an operation on input form F24 (S103: F24), the program creation device 30 sets the abort condition for the process designated as the previous process (S106). Upon receiving an operation on button B25 (S103: B25), the program creation device 30 sets the processing type, either parallel processing or branch processing (S107). Upon receiving an operation on button B26 (S103: B26), the program creation device 30 sets whether or not to consolidate the processes (S108).

[0153] Upon receiving an operation on button B27 (S103: B27), the program creation device 30 stores the execution conditions in the process information database DB2 (S109) and returns to the process of S100. Upon receiving an operation on button B28 (S103: B28), the program creation device 30 discards the user's designated content (S110) and returns to the process of S100.

[0154] In S101, when the user selects button B12 (S101: B11), the process moves to Figure 11 , the program creation device 30 causes the display unit 35 to display the designation screen G2 of the post-process designation mode (S111). The program creation device 30 determines the user's operation based on the detection signal of the operation unit 34 (S112). In S112, operations on the input forms F20 to F22, operations on the input form F23, operations on the input form F24, and operations on buttons B25 to B28 are accepted. The processes of S113 to S119 executed when each operation is accepted are the same as the processes of S104 to S110, respectively, but the details of the process of S114 are different from those of S105. The difference between the setting of the execution conditions of the post-process designation mode in S114 and the setting of the execution conditions of the front-process designation mode in S105 is as described above.

[0155] In S101 , when the user selects the button B13 ( S101 : B13 ), the program creation device 30 creates a control program to execute each step in the designated order on the designated screen G2 ( S120 ), and ends this processing.

[0156] According to the program creation device 30 of the first embodiment, when a user specifies at least one of a preceding process and a following process for each process on the designation screen G2, a control program for the control device 10 is created to execute the processes in the order specified on the designation screen G2. This eliminates the need for the user to program using a ladder diagram, for example, and simplifies control program creation. For example, if a user specifies a preceding process B as an execution condition for a certain process A on the designation screen G2, a control program is created such that process A is executed after preceding process B, thereby simplifying control program creation. Furthermore, if a user specifies on the designation screen G2 that a following process D is to be executed after a certain process C, a control program is created such that following process D is executed after process C (process C is specified as an execution condition for following process D, i.e., process C is the preceding process of following process D). This simplifies control program creation.

[0157] Furthermore, the program creation device 30 creates a control program based on the identification information and processing results of the preceding process specified on the designation screen G2. This simplifies control program creation by allowing the user to simply specify this information on the designation screen G2. For example, when the execution condition for a particular process is a combination of the processing results of multiple preceding processes, specifying the preceding process makes it easier to visualize the execution condition than specifying the subsequent process, making this particularly effective.

[0158] In addition, the program creation device 30 creates a control program based on the identification information, processing results and combination conditions of each of the multiple previous processes specified in the specified screen G2, thereby simplifying the creation of the control program even when the execution condition of a certain process is the processing results of multiple previous processes.

[0159] Furthermore, the program creation device 30 creates a control program based on the processing results of each process specified on the designation screen G2 and the identification information of subsequent processes. This simplifies control program creation by allowing the user to simply specify this information on the designation screen G2. This is particularly effective in situations where, for example, after executing multiple processes, a specific process needs to be executed collectively, as specifying subsequent processes makes it easier to visualize execution conditions than specifying preceding processes.

[0160] In addition, the program creation device 30 creates a control program based on the processing results of each process specified in the specified screen G2, the processing results of other processes, the combination conditions, and the identification information of the subsequent process. The user only needs to specify this information in the specified screen G2, thereby simplifying the creation of the control program.

[0161] In addition, the program creation device 30 creates a control program based on the processing results of each process specified in the designation screen G2 and the identification information of each of the multiple subsequent processes of the process. Since the user only needs to specify this information in the designation screen G2, the creation of the control program can be simplified.

[0162] Furthermore, the program creation device 30 can switch between the previous step designation mode and the next step designation mode by a switching operation, and thus can provide a user-friendly interface.

[0163] Furthermore, the program creation device 30 creates a program based on the processing type of each step designated in the designation screen G2 , thereby being able to create a program that can cope with various processing types and provide an easy-to-use interface.

[0164] Furthermore, by increasing the number of combination conditions that can be specified in the centralized process, the program creation device 30 can specify more combination conditions for the centralized process. Furthermore, while being able to specify more combination conditions for all processes increases register usage, register usage can be reduced by reserving registers only for necessary processes.

[0165] Furthermore, the program creation device 30 can simplify the creation of a program when each process has an execution condition different from that of the control device 10 .

[0166] Furthermore, the program creation device 30 can simplify the creation of a program when each process is started when the corresponding startup variable reaches a predetermined value.

[0167] [2. Second embodiment]

[0168] Next, the second embodiment will be described. While the first embodiment described a method for simplifying the creation of control programs, the second embodiment describes a method for simplifying the creation of instruction programs. A control program can be created as in the first embodiment, but the second embodiment does not depend on the control program creation method. For example, instead of using the method described in the second embodiment, the user can create a control program using a ladder diagram language, a robot language, or the like. In the second embodiment described below, descriptions of components common to the first embodiment will be omitted.

[0169] [2-1. Overview of Second Embodiment]

[0170] The program creation device 30 of the second embodiment creates an instruction program for the control device 10, which is an industrial device, to instruct a predetermined action to another industrial device 20. The control device 10 is a type of industrial device. Therefore, from the perspective of the control device 10, Figure 1 The industrial equipment 20 may be referred to as other industrial equipment. In the following description, although not described as other industrial equipment 20, only the portion described as industrial equipment 20 may be replaced with other industrial equipment 20.

[0171] The process described in the first embodiment is an example of a prescribed action. Prescribed actions are not limited to processes; any action that can be performed by industrial equipment 20 is acceptable. Actions are not limited to physical processes such as the movement of robot 24; they may also be software processes executed within industrial equipment 20. For example, a prescribed action may include preparation for a process, output of process execution results, or analysis of process execution results. Prescribed actions may also be referred to as jobs or tasks.

[0172] In the second embodiment, a configuration file is prepared as an interface connecting the control device 10 and the industrial equipment 20. The configuration file can be similar to a communication protocol, defining the communication process and data format. Based on the configuration file, the control device 10 sends instructions to the industrial equipment 20 to perform specified actions. The industrial equipment 20 interprets the received instructions based on the configuration file and performs the specified actions. The industrial equipment 20's responses to the control device 10 are also based on the configuration file. The configuration file is included in the engineering tool.

[0173] A configuration file can be prepared that is universal regardless of the type of industrial device 20, or a configuration file can be prepared that is specific to the type of industrial device 20. While the second embodiment describes the case where a configuration file is prepared only for a robot controller, configuration files can also be prepared for other types of industrial devices 20. Therefore, in the second embodiment, the control device 10 controls the industrial device 20A based on the configuration file. This configuration file is not used when the control device 10 controls the industrial device 20B.

[0174] As in the first embodiment, a portion of the register range in the control device 10 is allocated to the industrial device 20 for control. The register range allocated for controlling the industrial device 20A is defined as a configuration file. Specifically, the configuration file includes structured data that defines what is stored in which register. This embodiment describes the portion of the structured data included in the configuration file that primarily instructs specified actions.

[0175] Figure 12 FIG is a diagram showing a portion of the structured data included in the configuration file. Figure 12 As shown, the register system in the configuration file is defined in the structured data. Furthermore, for example, the structured data shows the relationship between the offset of the register number contained in the register range and the information stored in the register number. The offset is the register number relative to the starting register number. In other words, the offset is the register number counted from the starting register number or the register number relative to the starting register number.

[0176] For example, the register range used to control industrial device 20A is the address obtained by adding the offset defined in the structured data to the register number from the starting register number specified for industrial device 20A to the last register number. For example, if the structured data defines offsets from 0 to 4259, and the starting register number specified for industrial device 20A is 5000, the address range allocated for controlling industrial device 20A is 5000 to 9259.

[0177] exist Figure 12 In the example, the instruction request ID is stored in the offsets 1115 to 1116. The instruction request ID is an example of request information. In this embodiment, it is explained that the portion of the instruction request ID can be replaced with request information. Request information is information for requesting the industrial device 20 to execute an instruction. The instruction sent to the industrial device 20 is executed when the request information is updated. In other words, even if some instructions are sent to the industrial device 20, the execution of the instruction is waited until the request information is updated. In this embodiment, the case where the instruction request ID is a numerical value and is updated by incrementing is explained, but the request information can be in any form other than an ID.

[0178] The main command is stored in offset number 1117. The main command is information indicating a function requested by industrial device 20, among the multiple functions it possesses. In this embodiment, three functions are provided: a robot control function for controlling robot 24, a monitoring function for monitoring the operation of robot 24, and a collection function for collecting data related to the operation of robot 24. The main command is a value indicating any one of these functions. Alternatively, industrial device 20 may possess only a single function. In this case, the main command can be omitted.

[0179] A subcommand is stored in offset 1118. A subcommand is information indicating the action requested by industrial device 20, among multiple actions that industrial device 20 can perform. In this embodiment, multiple actions are prepared for each function indicated by a main command. A subcommand indicates any one of the multiple actions prepared for the function indicated by the main command. In other words, in this embodiment, the specific action to be performed by industrial device 20 is determined by the combination of the main command and the subcommand.

[0180] Offset numbers 1119 to 1600 are reserved as the instruction data area. The details of the action requested by the industrial device 20 are stored in the instruction data area. For example, if it is an instruction for job selection, the job name and the startup part of the job are stored in the instruction data area. In addition, data such as parameters required for the execution of the job can also be stored in the instruction data area. In addition, for example, if it is an instruction for power control, data indicating whether to turn the power on or off is stored in the instruction data area. The same is true for other instructions. As needed, the data indicating the detailed content of the instruction can be stored in the instruction data.

[0181] Figure 13 This is a diagram showing an example of a main command, sub-command, and data stored in the command data area. Figure 13 The relationships shown are also defined as profiles. Figure 13 In the example, a main command value of "1" indicates the robot control function. A main command value of "2" indicates the monitoring function. A main command value of "3" indicates the collection function. For each of these three main command values, sub-commands are defined to describe the details of the processing within each function. Each sub-command indicates the specific processing content within the function represented by the corresponding main command.

[0182] For example, if it is a main command of the robot control function, then there are sub-commands for resetting the alarm, controlling the power supply, selecting the process program, switching the mode, executing the process program, and moving the robot to the target position. Figure 13 For example, sub-commands such as hold stop, HMI lock, cycle change, and robot motion with designated axis pulses can be prepared, or sub-commands equivalent to commands such as MOVE or WAIT in the robot language can be prepared. Similarly, main commands for monitoring and collection functions can also be prepared with sub-commands corresponding to these functions.

[0183] like Figure 13 As shown, the data stored in the command data area varies depending on the combination of the main command and the subcommand. In the command data area, data defining which register number is referenced (which data is stored in which register number) is stored in each of the control device 10 and the industrial device 20A.

[0184] For example, the "Job Selection" command, represented by the combination of main command "1" and subcommand "3," requires specifying the job to be selected. Therefore, the job name is stored in a register with a specified register number within the command data area. During process execution, the process program corresponds to the job. When starting a job midway, the job startup portion is stored in a register with a specified register number within the command data area. Some commands, such as the "Job Execution" command, represented by the combination of main command "1" and subcommand "5," do not use the command data area.

[0185] Figure 14 is a diagram showing an example of changes in variables when a job is selected and executed. Figure 14 In FIG, changes in the command request ID, main command, sub-command, and command data area in the register range of the control device 10 allocated for controlling the industrial device 20A are shown. Figure 14 In the example shown in FIG, before the control program is executed, the command request ID is "0" as the initial state, and no data is stored in other areas.

[0186] When the control program is started, in order to make the industrial device 20 select a job, a value indicating the robot control function (e.g. 1) is written as a main command, and a value indicating the process program selection (e.g. 3) is written as a sub-command. The job name is written in the register that is reserved as the command data area (in Figure 14 When the process program is equivalent to the job, it is the name of the process program) and the startup part of the job (in Figure 14 (The third row in the figure). When the above writing is completed, the command request ID is incremented so that the industrial device 20 can select a process program.

[0187] The control device 10 sends data corresponding to the register range described above to the industrial device 20. Upon receiving the data, the industrial device 20 determines whether the command request ID has incremented. Since the command request ID increments from "0" to "1," the main command and subcommands are executed, and the job indicated by the program name is read. If a startup section is specified, the industrial device 20 reads the job after the startup section. At this point, the read job has not yet been executed.

[0188] The control device 10 receives a response from the industrial device 20 indicating the execution results of the main command and subcommand. Upon receiving the response, the control device 10 verifies the validity of the execution result. If the validity is confirmed, the control device 10 writes a value indicating the robot control function (e.g., 1) as the main command and a value indicating the execution of the job (e.g., 5) as the subcommand to instruct the industrial device 20 to execute the job. No data is written to the register reserved for the command data area, and the command request ID is incremented.

[0189] Control device 10 transmits data corresponding to the register range to industrial device 20. Upon receiving the transmitted data, industrial device 20 determines whether the command request ID has been incremented. Since the command request ID has incremented from "1" to "2," the main command and subcommands are executed, leading to the execution of the read process program.

[0190] As described above, in the second embodiment, the control device 10 uses a command request ID, main command, subcommand, and command data area to cause the industrial device 20 to execute a specified action. Because commands from the control device 10 to the industrial device 20 are issued based on a configuration file, they have a certain degree of fixed format. Consequently, the ladder diagrams and other circuits used when creating command programs also have a certain degree of fixed format. In other words, in a process where commands are issued using main commands and subcommands, there's a high probability that the same circuits and code will be described regardless of which user created the command program.

[0191] Therefore, in this embodiment, a template for the instruction program is prepared in advance and can be used when the user creates the instruction program. For example, when the user starts the engineering tool installed in the program creation device 30, the display unit 35 displays the instruction program creation screen, which is a user interface for creating the instruction program.

[0192] Figure 15 FIG. 1 is a diagram showing an example of a screen for instructing program creation. Figure 15 As shown in FIG. 1 , a list L30 of processes executed by the industrial device 20A to which the instruction is sent by the instruction program is displayed on the instruction program creation screen G3. Figure 15 In the example, Figure 2 Of the steps p1 to p7, steps p1 to p3 and p6 to p7 are executed by the industrial device 20A. In the second embodiment, a command program for commanding each step can be created using a template. The following describes the case where a command program for commanding step p2 is created as an example.

[0193] For example, when executing process p2, the selection of process program and the execution of process program are necessary. In this case, the user needs to select Figure 14 The process described in [ 1 ] operates registers. Users can create instruction programs for performing such register operations using templates. For example, a user creates an instruction program for process p2 using a template that defines the selection order of process programs as an example of a job and a template that defines the execution order of process programs.

[0194] Figure 16 1 is a diagram showing a situation where a template is selected from the instruction program creation screen G3. When the user selects process p2 from the list L30 of the instruction program creation screen G3 and clicks button B31, Figure 16As shown, a list L33 of templates is displayed. In the list L33, selectable templates are displayed for each action that the industrial device 20 can execute.

[0195] In this embodiment, the actions are mainly instructed by main instructions and sub-instructions, so Figure 16 As shown, in list L33, templates are displayed for each combination of main instructions and sub-instructions. To execute step p2, the user first needs to select a step program. Therefore, the user selects a template for the task from list L33 and then selects button B34. Furthermore, by selecting button B35, the user can create an instruction program without using a template.

[0196] Figure 17 FIG. 1 is a diagram showing an example of the instruction program creation screen G3 when a template is selected. Figure 17 As shown in FIG. 1 , in the instruction program creation screen G3 , a ladder diagram for creating an instruction program for the process p2 is displayed in the editing area A36 . Figure 17 In the example of FIG. 1 , the template of the job selected by the user is expanded in the editing area A36. The template includes the main instruction ( Figure 17 The variable "MainCmd" in the command is set to "1", and the sub-command ( Figure 17 The variable "SubCmd" in the command data area ( Figure 17 The variable "CmdDataArea" in the command specifies the name of a certain process program and the command request ID ( Figure 17 The variable "CmdReqid" in the command is incremented.

[0197] The user can edit the ladder diagram circuit shown in the template. For example, since the template does not include a process program name, the user can enter the process program name (e.g., "p2"). By using the template, the user can create a ladder diagram for selecting a process program simply by entering the process program name. When the user selects button B37, list L33 is displayed again. The user selects a template from list L33 to execute the job.

[0198] Figure 18 1 is a diagram showing an example of the instruction program creation screen G3 when a template is further selected. Figure 18 As shown, the template for the job execution selected by the user is expanded in the editing area A36. The template includes a command to set the main command to "1," a command to set the subcommand to "5," and a command to increment the command request ID. As described above, since nothing can be stored in the command area, the user can complete the creation of the ladder diagram for step p2 simply by expanding the template. This allows the user to create a ladder diagram by continuously expanding templates, even if multiple templates are required.

[0199] As described above, the program creation device 30 of this embodiment displays a template corresponding to the action selected by the user on the instruction program creation screen G3. The user can create an instruction program using the template, thereby simplifying the creation of the instruction program. The control system 1 of this embodiment will be described in detail below.

[0200] [2-2. Functions Implemented by the Second Embodiment]

[0201] Figure 19 This is a functional block diagram of the second embodiment. Figure 19 As shown, in the program creation device 30 of the second embodiment, a data storage unit 300, a process information acquisition unit 301, a designation screen display control unit 302, a control program creation unit 305, a template acquisition unit 306, a creation screen display control unit 307, and an instruction program creation unit 308 are implemented. The template acquisition unit 306, the creation screen display control unit 307, and the instruction program creation unit 308 are each mainly implemented by the CPU 31.

[0202] In addition, the program creation device 30 may also include the receiving unit 303 and the condition adding unit 304 described in the first embodiment. The functions of the control device 10 and the industrial equipment 20 may be the same as in the first embodiment, but in the second embodiment, the industrial equipment control unit 101 and the process execution unit 201 are executed using the following method: Figures 12 to 14 This section describes the processing of the command request ID, main command, sub-command, and command data area.

[0203] [Data storage unit]

[0204] The data storage unit 300 of the second embodiment stores data required for creating an instruction program. For example, the data storage unit 300 stores a template database DB3. In addition, the other data stored in the data storage unit can be the same as in the first embodiment. The data storage unit of the second embodiment may not store the data described in the first embodiment.

[0205] Figure 20 : is a diagram showing an example of the template database DB3. Figure 20 As shown, the template database DB3 stores templates corresponding to each of the multiple actions executable by the industrial device 20. For example, the template database DB3 stores main instructions, sub-instructions, and templates. Templates can be created in any language, such as ladder diagrams or robotics. The data format of the templates can be any format that complies with these languages.

[0206] Templates can be created by the user as in the later-described variations, but in the second embodiment, templates are prepared in advance. For example, a company that provides engineering tools prepares the templates. A template for a particular action includes: an instruction to store the main instruction corresponding to the action in a register for storing the main instruction; and an instruction to store the sub-instructions corresponding to the action in a register for storing the sub-instructions.

[0207] Templates for actions that require storing certain information in the command data area include instructions for storing the necessary information in a specified register number within the command data area. The information to be stored in the command data area is specified by the user. The preferred location within the template for specifying this information should also be included as a comment within the template. In this embodiment, since the command request ID needs to be updated in order to execute instructions from the control device 10, each template includes instructions for updating the command request ID.

[0208] Alternatively, a template may not be prepared for every combination of a main instruction and a sub-instruction. For example, when main instructions and sub-instructions are not used, a template may be prepared for each action (process), such as loading, measuring, and processing. In this case, the basic sequence for indicating these actions is described in the template. If the name of the job indicating the action is predetermined, the job name may also be included in the template. The template may include a string representing the instruction indicating the action.

[0209] [Template acquisition section]

[0210] The template acquisition unit 306 acquires a template corresponding to each of the plurality of actions. In this embodiment, since the templates are stored in the template database DB3, the template acquisition unit 306 acquires the templates stored in the template database DB3. For example, the template acquisition unit 306 acquires the template corresponding to the action selected in the program creation instruction screen G3. The templates may also be stored in a database other than the template database DB3. Furthermore, the templates may also be stored in a computer other than the program creation device 30.

[0211] In this embodiment, a portion of the register range of the control device 10 is allocated for controlling the industrial device 20. Therefore, the control device 10 stores instructions for the industrial device 20 in a specified register within the register range and transmits these instructions to the industrial device 20. In each template, information is stored in a specified register, containing action information that identifies the corresponding action. This information can be in any format, for example, circuits such as coils in a ladder diagram language or instructions in a robotics language. Furthermore, this information can include, for example, a numerical value representing a register address or text indicating supplementary instructions.

[0212] A main command requesting one of the multiple functions of the industrial device 20 and a sub-command requesting an action within that function are stored in a predetermined register as instructions. Each template stores the main command and sub-command as action information in a predetermined register. This information includes the register address corresponding to the main command, the specific value of the main command, and the register address corresponding to the sub-command, as well as the specific value of the sub-command. Furthermore, this information may include, for example, text indicating supplementary instructions.

[0213] Detailed information related to the details of the action corresponding to the sub-command is stored in the area corresponding to the combination of the main instruction and the sub-command in the specified register. The template for the action requiring detailed information includes information for storing the detailed information related to the action in the area. This detailed information includes the register address corresponding to the instruction data area and the specific information to be stored in the instruction data area. In addition, for example, this detailed information may also include text indicating supplementary explanations.

[0214] A command request ID requesting execution of an instruction is stored in a predetermined register. When the request information is updated, the industrial device 20 executes the instruction. Each template includes information for updating the command request ID stored in the predetermined register. This information includes instructions for incrementing the command request ID. Furthermore, this information may include, for example, text indicating supplementary instructions.

[0215] The industrial device 20 stores instructions received from the control device 10 in its own designated registers, and executes actions corresponding to the instructions by referring to the instructions stored in the designated registers. Therefore, each template can also include information for storing instructions to the industrial device 20 in the designated registers of the industrial device 20. In other words, since the main instructions and sub-instructions are stored in the designated registers of the industrial device 20, the template includes information for storing the instructions of the contents.

[0216] The multiple actions include a job selection action for selecting a job to be executed by the industrial device 20 and a job start action for starting the job selected by the job selection action. Templates for each of the multiple actions include a template corresponding to the job selection action and a template corresponding to the job start action. A process program is an example of a job. A job can be any unit of action and may also be a job other than a process program.

[0217] The control device 10 can control each of multiple different types of industrial equipment 20. The template acquisition unit 306 acquires a template corresponding to a selected type from among the multiple types that the control device 10 can control. In this embodiment, since templates are prepared for robot controllers, the template acquisition unit 306 acquires the template when the industrial equipment 20 for which the instruction program is created is a robot controller. If templates are also prepared for other types of industrial equipment 20, such as processing equipment, the template acquisition unit 306 can simply acquire the template corresponding to the type of industrial equipment 20 for which the instruction program is created.

[0218] [Create screen display control unit]

[0219] The creation screen display control unit 307 displays the template corresponding to the action selected from the plurality of actions on the instruction program creation screen G3. The creation screen display control unit 307 displays the template corresponding to the action selected by the user in the editing area A36 of the instruction program creation screen G3. The editing area A36 is used for editing ladder diagrams and coding, and serves as the editor for the instruction program. The user can freely edit the template displayed in the editing area A36. Editing refers to adding, deleting, or changing the description of circuits or code.

[0220] [Instruction program creation department]

[0221] The instruction program creation unit 308 creates an instruction program for indicating the selected action based on operations performed on the template displayed on the instruction program creation screen G3. If the template has not been edited, the instruction program creation unit 308 creates the instruction program directly from the template. If the template has been edited, the instruction program is created based on the edited content. The method for creating an instruction program from a ladder diagram or code can utilize known methods. If the language requires compilation or other conversion, the instruction program can be created through compilation or other conversion.

[0222] In this embodiment, industrial device 20A is a robot controller capable of executing multiple actions based on multiple robot programs stored in the robot controller and created in a first language. Each template is written in a second language, and the instruction program creation unit 308 creates an instruction program in the second language. In this embodiment, the first language is the robot language, and the second language is a ladder diagram language. The first and second languages ​​can be any language and are not limited to the examples in this embodiment.

[0223] [Records Department]

[0224] Each action is a process executed by the industrial device 20. The recording unit 309 associates the instruction program with the process information related to the corresponding process and records it in the data storage unit 300. As described in the first embodiment, process information such as information related to the instruction program corresponding to a certain process is stored in the process information database DB2. Therefore, the recording unit 309 associates the information related to the instruction program created by the instruction program creation unit 308 with process information such as the process ID of the corresponding process and stores them in the process information database DB2.

[0225] [Specify screen display control unit / control program creation unit]

[0226] Based on the process information, the designated screen display control unit 302 displays a designated screen G2 that specifies at least one of the preceding and succeeding processes of each process. The control program creation unit 305 creates a control program for the control device 10 that calls the instruction program corresponding to each process in the order specified on the designated screen. The functions of the designated screen display control unit 302 and the control program creation unit 305 can be the same as those of the first embodiment. To display the designated screen G2, the process information acquisition unit 301 can also be included in the program creation device 30.

[0227] [2-3. Processing Executed by the Second Embodiment]

[0228] Figure 21 2 is a diagram showing an example of processing executed by program creation device 30 according to the second embodiment. Figure 21 The processing shown is executed by the CPU 31 activating the engineering tool stored in the storage unit 32 . Figure 21 The processing shown is done by Figure 19 An example of the processing executed by the functional blocks shown in FIG. 1 . When the processing described below is executed, it is assumed that the equipment information database DB1 and the process information database DB2 are generated.

[0229] like Figure 21 As shown, the program creation device 30 activates the engineering tool and displays the program creation instruction screen G3 on the display unit 35 (S200). The program creation device 30 determines the user's operation based on the detection signal of the operation unit 34 (S201). In S201, the user selects a process in the list L30 and selects the button B31, or the user selects the button B32.

[0230] When the user selects a process in list L30 and selects button B31 (S201; L30, B31), program creation device 30 displays list L33 of templates corresponding to each of a plurality of actions (S202) and accepts selection of an action to expand the template (S203). Program creation device 30 then displays editing area A36 for creating an instruction program for the selected process (S204).

[0231] The program creation device 30 determines the user's operation based on the detection signal from the operation unit 34 (S205). In S205, an operation on the editing area A36 or an operation on one of the selection buttons B37 to B36 is accepted. If the user operates the editing area A36 (S205: A36), the program creation device 30 edits the ladder diagram based on the user's operation (S206).

[0232] When the user selects button B37 (S205: B37), the program creation device 30 displays a list L33 of templates corresponding to each of the plurality of actions (S207), and accepts the user's selection of an action for which to expand the template (S208). The program creation device 30 expands the template for the action selected by the user in the editing area A36 (S209), and then returns to the process of S205.

[0233] When button B35 is selected (S205: B38), program creation device 30 creates an instruction program corresponding to the ladder diagram displayed in editing area A36 (S210). When button B36 is selected (S205: B36), program creation device 30 discards the ladder diagram displayed in editing area A36 (S211) and returns to the process of S200. When button B32 is selected in S201 (S201: B32), this process ends.

[0234] According to the program creation device 30 of the second embodiment, a template corresponding to a selected action among templates corresponding to each of a plurality of actions is displayed on the instruction program creation screen G3. By operating on the displayed template, an instruction program for indicating the selected action is created. This eliminates the need for the user to program from 1 using a language such as a ladder diagram, thereby simplifying the creation of the instruction program. For example, when programming a control device 10 that controls a robot controller, the language used on the robot controller side may differ from the language used on the control device 10 side. Most users are accustomed to the language used on the robot controller side, but are not accustomed to the language used on the control device 10 side. In such cases, by preparing a template for each action executable by the robot controller, even users who are not accustomed to the language used on the control device 10 side can easily create an instruction program. This effectively assists users who are not accustomed to the language used on the control device 10 side in creating an instruction program.

[0235] In some cases, the program creation device 30 uses a configuration file defined by the industrial device 20 as an interface with the control device 10. The configuration file defines, to a certain extent, the steps required to cause the industrial device 20 to perform a desired action. For example, if the configuration file defines steps such as storing an instruction in a specified register and sending the instruction, the creation of the instruction program can be further simplified by including in each template information for storing action information that identifies the corresponding action as an instruction in the specified register.

[0236] Furthermore, the program creation device 30 can further simplify creation of the instruction program by including information for storing the main instruction and sub-instructions as action information in a predetermined register in the template.

[0237] In addition, the program creation device 30 needs to set detailed information related to the details of the action in a specified area according to the sub-instruction. In this case, by including information for storing detailed information in the specified area in the template, the creation of the instruction program can be further simplified.

[0238] Furthermore, when updating of request information becomes a condition for executing an instruction from an industrial device, the program creation device 30 can further simplify creation of the instruction program by including information for updating the request information in the template.

[0239] In some cases, the program creation device 30 uses industrial equipment to define a configuration file as an interface with the control device 10. The configuration file specifies, to a certain extent, the steps required to cause the industrial equipment 20 to perform a desired action. For example, if instructions are stored in a predetermined register of the industrial equipment 20 and the industrial equipment 20 references this register to perform an action, including information in each template that stores information related to the corresponding action in the predetermined register can further simplify the creation of instruction programs.

[0240] Furthermore, when the industrial equipment executes the job selection operation and the job startup operation separately, the program creation device 30 can further simplify the creation of the instruction program by preparing respective templates.

[0241] Furthermore, when the industrial equipment can control a plurality of types of devices, the program creation device 30 can provide a template corresponding to the type of device that the user wants to set by acquiring and displaying a template corresponding to the selected type.

[0242] Furthermore, even if the user is not accustomed to the second language, the program creation device 30 can easily create a program using a template.

[0243] Furthermore, the program creation device 30 includes the control program creation unit 305 and the like, and thus can simplify creation of the control program, similarly to the first embodiment.

[0244] [3. Modifications]

[0245] The present invention is not limited to the above-described embodiment, and can be modified appropriately without departing from the spirit of the present invention.

[0246] [3-1. Modification of the First Embodiment]

[0247] Figure 22 1 is a functional block diagram of a modified example of the first embodiment. Figure 22 As shown, the determination unit 310 is implemented. The determination unit 310 is primarily implemented by the CPU 31. Based on the execution conditions of each process, the determination unit 310 determines whether to set the preceding process designation mode, which specifies the preceding process on the designation screen G2, or the following process designation mode, which specifies the following process on the designation screen G2. In other words, the determination unit 310 selects either the preceding process designation mode or the following process designation mode based on the execution conditions of each process.

[0248] The relationship between the execution conditions and the preceding process designation mode or the following process designation mode is predefined in the data storage unit 300. The determination unit 310 sets the mode associated with the execution conditions of a particular process. For example, if a process specifies multiple preceding processes as execution conditions, the following process designation mode is easier to edit, so the determination unit 310 determines the process with the execution conditions to be in the following process designation mode. Alternatively, if a process specifies a single preceding process as an execution condition, the preceding process designation mode is easier to edit, so the determination unit 310 determines the process with the execution conditions to be in the preceding process designation mode. The designation screen display control unit 302 displays the designation screen G2 based on the set mode.

[0249] According to the above modification, the selection of either the pre-process designation mode or the post-process designation mode is determined based on the execution conditions of each process, thereby providing a user-friendly interface. For example, if the current execution conditions of a process are such that the pre-process designation mode is more easily visualized, the pre-process designation mode is selected. If the current execution conditions of a process are such that the post-process designation mode is more easily visualized, the post-process designation mode is selected. In this way, different modes can be used depending on the process.

[0250] [3-2. Modification of the Second Embodiment]

[0251] (2-1) The template may be in text format or may be changed to a ladder diagram format when the program creation screen G3 is displayed. The text format is an example of the first format. The ladder diagram format is an example of the second format. That is, data in the first format is a text file with an extension such as ".txt". Data in the second format is a ladder diagram file with an extension such as ".cxp". The first format and the second format may be data formats that can be converted to each other, and are not limited to the examples in this embodiment. For example, the first format may be a CSV format, and the second format may be a robot language format.

[0252] The creation screen display control unit 307 converts the text format data into ladder diagram format data and displays the obtained template on the instruction program creation screen G3. Since the template is created as text format data, the instruction program creation unit 308 can create the instruction program using a well-known application that converts text format data into ladder diagram format data. When using formats other than text and ladder diagram, the first and second formats can be converted using a well-known application.

[0253] According to the modification (2-1), the program creation device 30 can create an instruction program using an application that converts text format data into ladder diagram format data.

[0254] (2-2) Figure 23 : is a functional block diagram of a modified example of the second embodiment. Figure 23 As shown, a template creation unit 311 is implemented. The template creation unit is primarily implemented by the CPU 31. The template creation unit 311 creates templates corresponding to each action. The user specifies the action to create the template, and the template is created using an editor such as a ladder diagram language or a robot language. Based on the user's operation, the template creation unit 311 acquires a ladder diagram or code and stores the ladder diagram or code as a template in the template database. The template acquisition unit 306 acquires the template created by the template creation unit.

[0255] According to the modification (2-2), by allowing the user to create a template, it is possible to provide an optimal template suitable for the user.

[0256] [3-3. Other Modifications]

[0257] Furthermore, for example, the first embodiment and the second embodiment may be combined, or the above-described modified examples may be combined.

[0258] Furthermore, for example, each of the functions described above may be implemented by any device in the control system 1. For example, a robot controller corresponds to the control device, and the functions described above as included in the control device 10 may be implemented by the robot controller. Furthermore, for example, the functions described above as included in the control device 10 may be shared among multiple devices.

[0259] Furthermore, the embodiments described above are presented as specific examples, and the invention disclosed in this specification is not limited to the structures and data storage examples of these specific embodiments. Those skilled in the art may also make various modifications to these disclosed embodiments, such as changing the shape and number of physical structures, data structures, and the order in which processes are executed. It should be understood that the scope of the technology disclosed in this specification also includes such modifications.

[0260] Explanation of symbols

[0261] 1: Control system

[0262] 10: Control device

[0263] 20: Industrial Equipment

[0264] 24: Robot

[0265] 30: Program creation device

[0266] 11, 21, 31: CPU

[0267] 12, 22, 32: Storage

[0268] 13, 23, 33: Ministry of Communications

[0269] 24: Robot

[0270] 34: Operation Department

[0271] 35: Display unit

[0272] G1: Control program creation screen

[0273] G2: Specify the screen

[0274] G3: Instructs the program to create a screen

[0275] p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11: process

[0276] 100: Data storage unit

[0277] 101: Industrial Equipment Control Department

[0278] 200: Data storage department

[0279] 201: Process Execution Department

[0280] 300: Data storage unit

[0281] 301: Process Information Acquisition Department

[0282] 302: Designation screen display control unit

[0283] 303: Reception Department

[0284] 304: Conditional Addition Section

[0285] 305: Control program creation department

[0286] 306: Template acquisition unit

[0287] 307: Create screen display control unit

[0288] 308: Instruction program creation unit

[0289] 309: Records Department

[0290] 310: Determination

[0291] 311: Template Creation Department

[0292] A10: Display area

[0293] A36: Editing Area

[0294] B11, B12, B13, B23D, B23E, B23J, B23K, B25, B26, B27, B28, B31, B32, B34, B35, B36, B37: buttons

[0295] B23H: Checkbox

[0296] DB1: device information database

[0297] DB2: process information database

[0298] DB3: Template Database

[0299] F20, F23, F23A, F23B, F23C, F23F, F23G, F23I, F24: Input table

[0300] L30, L33: List

Claims

1. A program creation device for industrial equipment, for creating an instruction program for use as a control device of the industrial equipment to instruct other industrial equipment to perform a prescribed action, the program creation device comprising: A template acquiring unit, acquiring a template corresponding to each of the plurality of actions; a creation screen display control unit that causes the template corresponding to the action selected from the plurality of actions to be displayed on a creation screen of the instruction program; as well as an instruction program creation unit that creates the instruction program for instructing the selected action based on an operation on the template displayed on the creation screen, A portion of the register range of the control device is allocated for controlling the other industrial devices. The control device stores instructions for the other industrial devices in a predetermined register included in the register range, and transmits the stored instructions to the other industrial devices. Each template includes information for storing action information capable of identifying a corresponding action in the predetermined register as the instruction.

2. The program creation device for industrial equipment according to claim 1, wherein: A main instruction and a sub-instruction are stored as the instructions in the prescribed register, wherein the main instruction requests one of the multiple functions of the other industrial device, and the sub-instruction requests the action in the function. Each template includes information for storing the main instruction and the sub-instruction as the action information in the predetermined register.

3. The program creation device for industrial equipment according to claim 2, wherein: Detailed information related to details of an action corresponding to the sub-instruction is stored in an area corresponding to the combination of the main instruction and the sub-instruction in the predetermined register. The template for the action requiring the detailed information includes information for storing the detailed information related to the details of the action in the area.

4. The program creation device for industrial equipment according to any one of claims 1 to 3, wherein: storing request information for requesting execution of the instruction in the prescribed register, When the request information is updated, the other industrial devices execute the instruction. Each template includes information for updating the request information stored in the predetermined register.

5. The program creation device for industrial equipment according to any one of claims 1 to 3, wherein: The other industrial equipment stores the instruction received from the control device in its own predetermined register, refers to the instruction stored in the predetermined register, and performs an action corresponding to the instruction. Each template includes information for storing instructions to the other industrial devices in the predetermined registers of the other industrial devices.

6. The program creation device for industrial equipment according to claim 1 or 2, wherein: The plurality of actions include a job selection action and a job start action, wherein the job selection action selects a job to be performed by the other industrial device, and the job start action starts the job selected by the job selection action; The templates for each of the plurality of actions include a template corresponding to the job selection action and a template corresponding to the job start action.

7. The program creation device for industrial equipment according to claim 1 or 2, wherein: The control device is capable of controlling each of the plurality of other industrial devices of different types. The template acquisition unit acquires the template corresponding to a type selected from the plurality of types controllable by the control device.

8. The program creation device for industrial equipment according to claim 1 or 2, wherein: The template is data in a first format, The creation screen display control unit converts the data in the first format to be displayed as data in the second format, and displays the acquired template on the creation screen. The instruction program creation section creates the instruction program using an application that converts data in the first format into data in the second format.

9. The program creation apparatus according to claim 1 or 2, wherein: The program creation device further includes a template creation unit that creates the template corresponding to each action. The template acquisition unit acquires the created template.

10. The program creation apparatus according to claim 1 or 2, wherein: The other industrial equipment is a robot controller, The robot controller is capable of executing each of the plurality of actions based on each of a plurality of robot programs created in a first language stored in the robot controller. Each template is described in a second language. The instruction program creation section creates the instruction program in the second language.

11. The program creation device for industrial equipment according to claim 1 or 2, wherein: Each action is a process performed by the other industrial equipment. The program creation device of the industrial equipment includes: a recording unit that associates the instruction program with process information related to the process corresponding to the instruction program and records it in a storage unit; a designation screen display control unit that displays a designation screen based on the process information, the designation screen designating at least one of a preceding process and a succeeding process of each process; and A control program creation unit creates a control program for the control device so that the instruction programs corresponding to the respective steps are called in the order designated on the designation screen.

12. A method for creating a program for industrial equipment, comprising creating an instruction program for use as a control device of an industrial equipment to instruct other industrial equipment to perform a prescribed action, comprising: Obtaining a template corresponding to each of the plurality of actions; causing the template corresponding to the action selected from the plurality of actions to be displayed on a creation screen of the instruction program; creating the instruction program for instructing the selected action based on an operation on the template displayed on the creation screen, A portion of the register range of the control device is allocated for controlling the other industrial devices. The control device stores instructions for the other industrial devices in a predetermined register included in the register range, and transmits the stored instructions to the other industrial devices. Each template includes information for storing action information capable of identifying a corresponding action in the predetermined register as the instruction.

Citation Information

Patent Citations

  • Multiplexer channel

    JP1982085130A

  • Factory Automation (FA) System, Controller, and Control Method

    US20200201297A1