Control program generation device, control program generation system, and control program generation method

The control program generation device automatically extracts causal relationships from simulation models to generate control programs for automated lines, addressing user burden and complexity in programming, and facilitating efficient and accurate control program creation.

WO2024262055A1PCT designated stage expired Publication Date: 2024-12-26HITACHI IND EQUIP SYST CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/042488
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-21
Filing Date
2023-11-28
Publication Date
2024-12-26

AI Technical Summary

Technical Problem

Users face a significant burden in generating control programs for automated manufacturing or transport lines, requiring input of timing charts with causal relationship information and skilled envisioning of sequences, which is time-consuming and labor-intensive.

Method used

A control program generation device that detects change points in simulation models, classifies causal relationships, and automatically generates control programs based on timing and causal information, reducing user programming burden by extracting causal relationships from simulation results.

Benefits of technology

Enables the easy and quick generation of control programs for automated manufacturing or transport lines without specialized knowledge of control languages, allowing for virtual verification and integration with actual devices, thus reducing user programming effort and increasing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023042488_26122024_PF_FP_ABST
    Figure JP2023042488_26122024_PF_FP_ABST
Patent Text Reader

Abstract

The present invention comprises: a causal relationship detection unit that detects causal relationship information obtained by classifying at least two change points that were generated at substantially the same timing among change points detected by a change point detection unit into a cause and a result on the basis of said at last two change points; and a program generation unit that generates a control program for a control target on the basis of the causal relationship information.
Need to check novelty before this filing date? Find Prior Art

Description

Control program generation device, control program generation system, and control program generation method

[0001] The present invention relates to a control program generating device, a control program generating system, and a control program generating method.

[0002] Background of the present invention is, for example, Patent Document 1. Patent Document 1 discloses a technology that, in order to support the creation of a control program, automatically generates a PLC ladder program from input data when a user inputs a time chart accompanied by causal relationship information.

[0003] Japanese Patent Application Publication No. 7-191717

[0004] In Patent Document 1, for example, in the case of a PLC, it is no longer necessary for the user to directly code a ladder program for the control program.

[0005] However, this requires the user to input a timing chart containing information on the causal relationships between each element of the production line or conveyance line to be controlled, which places a heavy burden on the user and requires the skill to plan the entire sequence.

[0006] An object of the present invention is to significantly reduce the programming burden on the user in a control program generation device.

[0007] A control program generation device according to one aspect of the present invention is characterized by comprising: a change point detection unit that detects change points indicating the occurrence of behavior at each timing of a component reproduced by a simulation model of a controlled object consisting of a plurality of components from the output results of the simulation model; a causal relationship detection unit that detects causal relationship information for classifying at least two or more change points detected by the change point detection unit into cause and effect based on the at least two or more change points that occur at approximately the same timing; and a program generation unit that generates a control program for the controlled object based on at least the causal relationship information.

[0008] According to one aspect of the present invention, the programming burden on the user can be significantly reduced in a control program generation device.

[0009] FIG. 1 is a block diagram of an automatic control program generation system. FIG. 2 is a flowchart of a method for automatically generating a control program. FIG. 3 is a timing chart showing a method for automatically generating a control program. FIG. 4 is an explanatory diagram showing an automatic manufacturing line or automatic transfer line suitable for the present invention. FIG. 5 is a timing chart showing a method for automatically generating a control program. FIG. 6 is a timing chart showing a method for automatically generating a control program. FIG. 7 is a timing chart showing a method for automatically generating a control program. FIG. 8 is an explanatory diagram showing a method for automatically generating a control program. FIG. 9 is a flowchart of a method for automatically generating a control program. FIG. 10 is a flowchart of a method for automatically generating a control program. FIG. 11 is a block diagram of a control program development device. FIG. 12 is a block diagram of a simulation system for a production line or transfer line. FIG. 13 is a block diagram of an industrial control device. FIG. 14 is a diagram showing a template for generating a control program.

[0010] Examples of the present invention will be described below.

[0011] A first embodiment of a method for automatically generating a control program will be described with reference to Figures 2, 3, and 4. Figure 2 is a flowchart of the method for automatically generating a control program according to this embodiment. Figure 3 is a timing chart illustrating the operation of automatically generating a control program according to this embodiment. Figure 4 is an explanatory diagram showing a 3D simulation model of an automated manufacturing line or conveyance line for which a control program is to be automatically generated.

[0012] In Figure 4, 401 is an object sensor that generates a short pulse when it detects that a workpiece (an object to be manufactured or transported) has arrived at the input position of a conveyor 402. In the 3D simulation model of this embodiment, modeling is performed so that control is performed to start the conveyor 402 when 401 detects the workpiece.1) 403 is an object sensor that generates a short pulse when it detects that a workpiece has arrived at a robot 404.

[0013] In the 3D simulation model of this embodiment, modeling is performed so that when 403 detects a workpiece, the conveyor 402 is stopped and the robot 404 is activated (2). 405 is an object sensor that generates a short pulse when it detects that a workpiece has arrived at the conveyor 406 from the robot 404.

[0014] In the 3D simulation model of this embodiment, modeling is performed so that when 405 detects a workpiece, robot 404 is stopped and conveyor 406 is started (3). 407 is an object sensor that generates a short pulse when it detects that a workpiece has reached robot 408 or robot 409. In the 3D simulation model of this embodiment, modeling is performed so that when 407 detects a workpiece, robot 408 or robot 409 is started (4).

[0015] As described above, the 3D simulation model of this embodiment includes the machine elements 401 to 409 and the control elements shown in (1) to (4). Note that the description method for the control elements (1) to (4) differs depending on the simulation vendor.

[0016] The timing chart of FIG. 3 shows the operation of the above 3D simulation model.

[0017] In this timing chart, product sensor on conveyor 1 (the name given to the product sensor on conveyor 1) indicates the operation timing of object sensor 401, and conveyor 1 indicates the operation timing of conveyor 402.

[0018] Product sensor on robot 1 (the name given to the product sensor on robot 1) indicates the operation timing of object sensor 403. Robot 1 indicates the operation timing of robot 404, and product sensor on conveyor 2 (the name given to the product sensor on conveyor 2) indicates the operation timing of object sensor 405.

[0019] Conveyor 2 indicates the operation timing of conveyor 406, product sensor on robots 2 and 3 (the name given to the product sensors on robots 2 and 3) indicates the operation timing of object sensor 407, robot 2 indicates the operation timing of robot 408, and robot 3 indicates the operation timing of robot 409.

[0020] At 310 on this timing chart, the above-mentioned operation (1) occurs when 401 detects a workpiece and starts conveyor 402. 310 indicates that when the product sensor on conveyor 1 generates a pulse, conveyor 1 starts operating at approximately the same timing.

[0021] Although the pulse generation of the product sensor on conveyor 1 and the start of conveyor 1 occur at approximately the same timing, the pulse generation of the product sensor on conveyor 1 is the cause of the phenomenon and the start of conveyor 1 is the result of the phenomenon, so the pulse generation of the product sensor on conveyor 1 precedes the start of conveyor 1 by a small amount of timing.

[0022] At the location 321 on this timing chart, the above-mentioned operation (2) occurs when 403 detects a workpiece, stopping the conveyor 402 and activating the robot 404. At 321, when a pulse from the product sensor on robot 1 is generated, the conveyor 1 stops operating at approximately the same timing, and the robot 404 starts operating.

[0023] Although the pulse generation of the product sensor-on robot 1, the stopping of the conveyor 1, and the start of the robot 1 occur at approximately the same timing, the pulse generation of the product sensor-on robot 1 is a cause phenomenon, and the stopping of the conveyor 1 and the start of the robot 1 are result phenomena, so the pulse generation of the product sensor-on robot 1 precedes the stopping of the conveyor 1 and the start of the robot 1 by a small amount of timing. The precedence relationship between the stopping of the conveyor 1 and the start of the robot 1 can be precedence, complete simultaneousness, or delay, because there is no causal relationship between the two.

[0024] At 330 on this timing chart, the operation (1) occurs when 401 detects a workpiece, starting conveyor 402. At 330, when an additional workpiece is inserted and a pulse is generated by the product sensor on conveyor 1, conveyor 1 starts operating at approximately the same timing.

[0025] Although the pulse generation of the product sensor on conveyor 1 and the start of conveyor 1 occur at approximately the same timing, the pulse generation of the product sensor on conveyor 1 is a phenomenon that causes the phenomenon, and the start of conveyor 1 is a phenomenon that results, so the pulse generation of the product sensor on conveyor 1 precedes the start of conveyor 1 by a small amount of time.

[0026] At the location 332 on this timing chart, the above-mentioned operation (3) occurs when 405 detects a workpiece, stopping robot 404 and starting conveyor 406. At 332, when a pulse is generated by product sensor on conveyor 2, robot 1 stops operating at approximately the same timing, and conveyor 2 starts operating.

[0027] Although the generation of the pulse from the product sensor on conveyor 2, the stopping of robot 1, and the start of conveyor 2 occur at approximately the same timing, because this is a phenomenon caused by the generation of the pulse from the product sensor on conveyor 2, the generation of the pulse from the product sensor on conveyor 2 precedes the stopping of robot 1 and the start of conveyor 2 by a small amount of timing. The precedence relationship between the stopping of robot 1 and the start of conveyor 2 can be precedence, complete simultaneousness, or delay, because there is no causal relationship between the two.

[0028] The part 341 on this timing chart is the operation for an additional workpiece, and is the same operation as explained in 321. As mentioned above, when 403 detects a workpiece, the conveyor 402 is stopped and the operation (2) occurs, which starts the robot 404. In 321, when a pulse of the product sensor on robot 1 is generated, the conveyor 1 stops operating at approximately the same timing, and the robot 404 is started operating.

[0029] Although the pulse generation of the product sensor-on robot 1, the stopping of the conveyor 1, and the start of the robot 1 occur at approximately the same timing, because this is a phenomenon caused by the pulse generation of the product sensor-on robot 1, the pulse generation of the product sensor-on robot 1 precedes the stopping of the conveyor 1 and the start of the robot 1 by a small amount of time. The precedence relationship between the stopping of the conveyor 1 and the start of the robot 1 can be precedence, complete simultaneousness, or delay, because there is no causal relationship between the two.

[0030] At the location 343 on this timing chart, the above-mentioned operation (4) occurs when 407 detects a workpiece, stopping conveyor 406 and activating robots 408 and 409. At 343, when pulses from the product sensor on robots 2 and 3 are generated, conveyor 2 stops operating at approximately the same timing, and robots 408 and 409 start operating.

[0031] Although the pulse generation of the product sensor-on robots 2 and 3, the stopping of the conveyor 2, and the activation of the robots 2 and 3 occur at approximately the same timing, the pulse generation of the product sensor-on robots 2 and 3 is a phenomenon caused by the pulse generation of the product sensor-on robots 2 and 3, and therefore the pulse generation of the product sensor-on robots 2 and 3 precedes the stopping of the conveyor 2 and the activation of the robots 2 and 3 by a small amount of timing. The precedence relationship between the stopping of the conveyor 2 and the activation of the robots 2 and 3 can be precedence, complete simultaneousness, or delay, as there is no causal relationship between the two.

[0032] The explanation for the portion 350 on this timing chart is the same as that for the portions 310 and 330. The explanation for the portion 352 on this timing chart is the same as that for the portion 332.

[0033] When a simulation is performed on the 3D simulation model of Fig. 4, the timing chart shown in Fig. 3 is obtained as a result. However, the causal relationships used in the explanation of the timing chart are not output as simulation results.

[0034] The flowchart in FIG. 2 shows a method for automatically generating a control program for a 3D simulation model shown in FIG. 4 from the timing information shown in FIG. 3 and the causal relationship information from this timing information, by reproducing the timing information and the causal relationship information.

[0035] In the flowchart of Fig. 2, 201 indicates the start of the process, 202 indicates that the change points of each component as shown in Fig. 3 are searched for in order from the left end of the diagram at time 0. 203 determines whether there are any change points such as 310 to 352 in Fig. 3 at each timing.

[0036] 204 indicates a process for determining how many transition points there are in the substantially identical timing when it is determined that there is a transition point, and if there is only one substantially identical timing element, an error process is performed or nothing is done.

[0037] When there are two elements with approximately the same timing, as explained in the explanation of 310 in Figure 3, there is always a physical precedence relationship between the cause phenomenon and the result phenomenon, so it is determined from the precedence relationship which of the two elements is the cause (in the case of 310, it is the product sensor on conveyor 1) and which is the result (205).

[0038] However, there may be rare cases where the time resolution is below that of the simulator, and the physically existing survival relationship cannot be measured correctly, resulting in the timing being mistakenly determined to be identical, or the precedence relationship being incorrect.However, it is possible to determine the causal relationship by performing error processing when there are three or more elements with approximately the same timing.

[0039] When there are three elements with approximately the same timing, it is not possible to determine the causal relationship from the precedence relationship alone, so one of the devices at the change point is forcibly held and then a simulation is performed, and the causal relationship is determined based on whether the forced hold causes a change in the simulation results of other elements with approximately the same timing (206).

[0040] Process 206 will be described in detail with reference to Fig. 5. In step 207, control is performed based on the causal relationships found in steps 205 and 206, and a check is made to see if the judgment results are correct. In step 208, it is confirmed whether the judgment work on the causal relationships of the change points over the entire time range for which the simulation was performed has been completed, and if so, a control program for a PLC or the like is generated from the timing relationships and causal relationships over the entire time range (209). After the control program has been automatically generated in steps up to 209, the entire process is terminated (210).

[0041] As described above, according to this embodiment, it is possible to extract causal relationships between devices from the simulation results using a 3D simulation model, and to automatically generate a sequence control program for an automated production line or conveyance line from timing information and causal relationship information. Therefore, after verification using a simulation model of the production line or conveyance line, it is possible to easily and quickly obtain a sequence control program without having specialized knowledge of control languages ​​such as PLC.

[0042] Furthermore, it is possible to automatically generate a sequence control program by outputting information on the timing of changes obtained in any 3D model simulator to the outside without searching for a sequence control description in the simulator's model operation description and converting the portion corresponding to sequence control, and by providing a function for forcibly holding a specified location at a specified timing, which is provided for debugging in ordinary simulators. Therefore, it is possible to obtain the same effect in many 3D model simulations without depending on a specific simulator.

[0043] An embodiment of an automatic control program generation device will be described with reference to Fig. 1. Fig. 1 is a block diagram of an automatic control program generation device according to this embodiment.

[0044] In Fig. 1, reference numeral 101 denotes a change-point detection processing means, which performs the process of detecting change-points indicated by 202 and 203 in Fig. 2. Reference numeral 102 denotes a causal relationship determination precondition switching means, which switches the process of extracting causal relationships depending on how many change-points exist at approximately the same timing in the process corresponding to 204 in Fig. 2. When there are two change-points at approximately the same timing, the detection instruction is returned to 101, which then sends precedence relationship information between the approximately identical change-points to causal relationship determination means 103.

[0045] If there are three or more change points at approximately the same timing, the forced stop control means 104 forcibly stops the 3D simulation model 180 at a specified timing, and sends the simulation results in this case to the SIM result determination means 106, which determines whether there are any changes in the simulation results of elements other than the forcibly stopped elements among the elements having change points at approximately the same timing. 105 is a state detection processing means which detects a predetermined state (see FIG. 6).

[0046] The causal relationship determination means 103 determines the causal relationship from the precedence relationship information sent from the change point detection processing means 101 or the simulation results sent from the SIM result determination means 106 under the conditions where forced hold was performed (corresponding to the processes 205 and 206 in FIG. 2).

[0047] The program generating means 107 automatically generates a control program based on the causal relationship information sent from the causal relationship determining means 103 and the timing information sent from the 3D simulation model 180 (corresponding to the process 209 in FIG. 2).

[0048] The automatically generated program is sent to the PLC controller 190, and virtual verification is performed by controlling the 3D simulation model 180 through sequence control by the PLC controller 190. At this time, the mode of the 3D simulation model 180 is switched by the control switching means 181 so that it accepts external control instead of the usual internal control description.

[0049] After the verification is completed, although not shown in FIG. 1, by connecting the actual device to the PLC controller 190, the actual device can be controlled by the PLC program that has been integrated and verified with the 3D simulation model.

[0050] As described above, according to this embodiment, it is possible to extract causal relationships between devices from the simulation results using a 3D simulation model, and to obtain an apparatus that automatically generates a sequence control program for an automated production line or conveyance line from timing information and causal relationship information. Therefore, after verification using a simulation model of the production line or conveyance line, it is possible to easily and quickly obtain a sequence control program without having specialized knowledge of control languages ​​such as PLC.

[0051] Furthermore, since it is possible to control a 3D simulation model, the automatically generated PLC program itself can perform 3D simulation and integrated verification, making it possible to easily realize virtual integrated verification.

[0052] The details of the process 206 in the explanation of the embodiment shown in FIG. 2 will be explained with reference to FIG.

[0053] 3, there are seven elements that change at roughly the same timing as points 341 and 343. The causal relationship between the product sensor on robot 1, the stopping of conveyor 1, and the starting of robot 1 has already been extracted at point 321, and assuming that the causal relationship remains the same at point 341, it is possible to extract the causal relationship by excluding the three elements of 341 and forcibly holding one of the four elements of 343 during the execution of the simulation and observing the changes in the other four elements.

[0054] Specifically, (1) when a simulation is performed by forcibly prohibiting the conveyor 2 from stopping and continuing operation at the relevant timing (maintaining H on the chart), it is checked whether there are any changes in the locations where the lens marks of robots 2 and 3 with the product sensor on are marked, whether there are any changes in the locations where the lens marks of robot 2 are marked, and whether there are any changes in the locations where the lens marks of robot 3 are marked.

[0055] (2) Forcibly stop the edge locations of robots 2 and 3 with the product sensor on, and check for any changes in the locations marked with the lens mark on conveyor 2, any changes in the locations marked with the lens mark on robot 2, and any changes in the locations marked with the lens mark on robot 3. (3) Forcibly hold the activation location of robot 2, and observe the other four lens mark locations. (4) Forcibly hold the activation location of robot 3, and observe the other four lens mark locations. When performing the forcible holds and observations in (1) to (4), the results of the observed locations change only in (2), when robots 2 and 3 with the product sensor on are forcibly held, so it can be seen that the cause is robots 2 and 3 with the product sensor on, and that stopping conveyor 2 and starting robot 2 and starting robot 3 are the resulting actions.

[0056] As described above, this embodiment provides a specific method for extracting causal relationships when there are three or more change points at approximately the same timing, thereby more specifically illustrating a method for automatically generating a control program. In this example, causal relationships were extracted assuming that the causal relationships extracted once were retained (referring to the exclusion process of 341). However, this method can also reduce the number of processes for which changes are observed by sequentially performing forced holds. This significantly reduces the amount of processing required for the extraction process, making it possible to speed it up.

[0057] A case will be described with reference to FIG. 6 where the control-related factors are not only the change points but also factors such as whether the state of the safety fence is in an OK state, which are included in the causal relationships related to control.

[0058] In this example, we will explain how to extract this causal relationship from the simulation results in a model in which operations are started and stopped when the safety fence is in an OK state (safe) and the product sensor on robots 2 and 3 generate pulses.

[0059] In this example, similar to Fig. 5, the state of the safety fence is forcibly set / reset when each element of the conveyor 2, the product sensor on robots 2 and 3, the robot 2, and the robot 3 are forcibly held in order. The above processing is mainly performed by the state detection processing means 105 in Fig. 1.

[0060] As described above, according to this example, it is possible to extract causal relationships even when state conditions are included in the cause side, and it is possible to automatically generate programs for a wider variety of control.

[0061] An embodiment of an automatic generation method for a control program that includes counter processing will be described with reference to FIG.

[0062] FIG. 7 is a timing chart obtained when a simulation was performed using a simulation model of an automated manufacturing line or transport line such as that shown in FIG. 4 (however, the conveyor 402 is a model in which the conveyor 402 starts operating every time the object sensor 401 performs two detections), similar to FIG. 3 .

[0063] In Figure 7, at 701, as in the case of Figure 3, when 401 detects a workpiece, an operation to start conveyor 402 occurs, and when a pulse from product sensor on conveyor 1 is generated, conveyor 1 starts operating at approximately the same timing. At 702, unlike the case of Figure 3, it is shown that even if a pulse from product sensor on conveyor 1 is generated, conveyor 1 does not start operating.

[0064] At 703, unlike 702, it is similar to 701, and when a pulse from the product sensor on conveyor 1 is generated, conveyor 1 starts operating at approximately the same timing. At 704, unlike 703, it is similar to 702, and it is shown that even if a pulse from the product sensor on conveyor 1 is generated, conveyor 1 does not start operating.

[0065] That is, the elements product sensor on conveyor 1 and conveyor 1, which have change points occurring at approximately the same timing in 701, may appear to have a causal relationship (701, 703) or not (702, 704). However, by observing the timing throughout the entire period, it becomes possible to extract that when the phenomenon occurs in product sensor on conveyor 1 an odd number of times, the operation of conveyor 1 occurs, i.e., counter processing occurs once every two times.

[0066] As described above, according to this embodiment, by checking the occurrence of change points over the entire period for elements in which change points occur at approximately the same timing, it is possible to extract even control including counter processing in which change points occur once every two times, etc. As a result, it becomes possible to automatically generate control programs for a variety of control.

[0067] An embodiment of an automatic generation method for control including timer processing (fixed delay processing) as a control program will be described with reference to FIG.

[0068] The present invention is based on determining the causal relationship between phenomena at change points that occur at approximately the same timing. However, if a fixed delay occurs in timer processing, the phenomenon that is the result of the cause will not occur at approximately the same timing, making it difficult to determine the causal relationship.

[0069] Figure 8 shows a timing chart of the operation of a production line or conveyance line, including timer processing. First, let's look at the top of Figure 8. Here, when the product sensor on robot 1 detects an object and generates a pulse, robot 1 is set to start up after a certain time D has elapsed.

[0070] Therefore, the phenomenon is caused by the pulse generation of robot 1 on the product sensor, and the resulting action is the activation of robot 1, but because there is a delay time D, the change point in the activation of robot 1 becomes an isolated phenomenon (when searching for phenomena with approximately the same timing, there is only one), and if phenomena with approximately the same timing are considered to be the subject of causal relationships, the causal relationship determination method will not work effectively.

[0071] Therefore, it is necessary to accurately detect the location of timer processing and correct the timer delay. In Figure 8a and Figure 8b, the work input cycle is changed from a to 2a. Even if the parameters are changed in this way, the fixed delay does not change because it is given as a constant.

[0072] Although Figure 8 only shows the change in cycle, the fixed delay section alone does not change even if the parameters for the operating speed of mechanical parts such as conveyors and robots are changed. In this way, by varying the parameters on the simulation model and extracting timing relationships that do not change regardless of the fluctuations, it is possible to accurately detect the extraction points for timer processing.

[0073] As described above, according to this embodiment, it is possible to correct the timer processing portion even for a simulation model of a manufacturing line or a conveyance line that includes timer processing. As a result, it becomes possible to apply the automatic generation process of a control program to any object.

[0074] Another embodiment of the method for automatically generating a control program will be described with reference to FIG.

[0075] In the explanation using Figure 5, it was shown that "the causal relationship between the product sensor on robot 1, the stopping of conveyor 1, and the start of robot 1 has already been extracted at point 321, and assuming that the causal relationship does not change at point 341, the three elements of 341 are excluded."

[0076] This method of retaining the causal relationship once determined at subsequent timings reduces the number of targets for which causal relationships need to be extracted at subsequent timings. In other words, reducing the number of targets for which forced holds are individually performed within the target locations and reducing the number of simulation trials significantly reduces processing time. However, if the causal relationship between the product sensor on robot 1, the stopping of conveyor 1, and the start of robot 1 changes from time to time—for example, if control is being performed in 321 and 341 in the example of Figure 3 such that the causal relationship between the product sensor on robot 1 and the stopping of conveyor 1 changes—it becomes impossible to accurately determine the causal relationship between these three.

[0077] Also, while the explanation in Fig. 5 shows a case where causal relationships are extracted by targeting only change points, the explanation in Fig. 6 shows a method for extracting causal relationships by adding state conditions in addition to change points. Adding state conditions and repeating forced hold processing and simulation trials makes it possible to handle a wider range of control variations, but this increases the processing time.

[0078] This example provides a method for accurately extracting causal relationships for a wider range of control variations, and for shortening processing time for automated manufacturing lines or conveyance lines using basic control.

[0079] In the table of FIG. 9, the combination of conditions is changed when performing the process of determining the causal relationship, and trials are performed from the primary extraction loop. If the causal relationship cannot be successfully extracted, trials are performed by changing the combination of conditions in the secondary extraction loop.

[0080] If a trial is performed in the primary extraction loop and the causal relationships cannot be successfully extracted, a trial is performed again with a different combination of conditions in the secondary extraction loop.If a trial is performed in the secondary extraction loop and the causal relationships cannot be successfully extracted, a trial is performed again with a different combination of conditions in the tertiary extraction loop.If a trial is performed in the tertiary extraction loop and the causal relationships cannot be successfully extracted, a trial is performed again with a different combination of conditions in the quaternary extraction loop.

[0081] Furthermore, whether the causal relationship extraction results in each subsequent loop are successful can be easily determined by generating a control program based on the causal relationship in question, switching to control using the control program, and comparing the resulting behavior with the original behavior when the simulation model is operated.

[0082] The trial conditions for the primary extraction loop are a combination that has a relatively narrow scope of application and reduces the accuracy of automatic generation, but achieves high-speed judgment: (1) a combination whereby once-determined causal relationships are maintained and state information is not subject to causal relationship extraction. The trial conditions for the secondary extraction loop are a combination of (2) conditions whereby causal relationships are not maintained and state information is not subject to causal relationship extraction. The trial conditions for the tertiary extraction loop are a combination of (3) conditions whereby causal relationships are maintained and state information is subject to causal relationship judgment. The trial conditions for the quaternary extraction loop are a combination of (4) conditions whereby causal relationships are not maintained and state information is subject to causal relationship extraction.

[0083] By repeating trials from the primary to the quaternary extraction loops under these combinations of conditions, it becomes possible to automatically generate a control program with shorter processing times for models with simpler control, and with higher accuracy for models with more complex control, although it takes longer to process.

[0084] The detailed processing of the embodiment described using Fig. 9 will be described using Figs. 10, 11, 12, and 13. Fig. 10 is a flowchart showing details of the processing of the primary extraction loop shown in the table of Fig. 9. Fig. 11 is a flowchart showing details of the processing of the secondary extraction loop shown in the table of Fig. 9. Fig. 12 is a flowchart showing details of the processing of the tertiary extraction loop shown in the table of Fig. 9. Fig. 13 is a flowchart showing details of the processing of the quaternary extraction loop shown in the table of Fig. 9.

[0085] In Figure 10, 1001 indicates the start of processing, and 1002 indicates the process of excluding any easily extractable causal relationships between devices on the line that are explicitly described in the simulation model, even if they are not based on the causal relationships described in the timing chart of the present application. 1003 indicates the process of extracting fixed delays using the timer processing shown in Figure 8, and temporarily resetting the detected delay to zero to enable extraction of causal relationships with the causal events that trigger the timer. 1004 indicates the process of sequentially searching for change points starting from timing 0, similar to 202. 1005 indicates the process of determining whether each timing has a change point, similar to 203. 1006 indicates that once a causal relationship is determined in 1008 or 1009 (described later), it is retained and excluded from subsequent determination processing (processing that realizes retention of the determined causal relationships in the table of Figure 9). 1007 indicates the process of determining how many change points exist within approximately the same timing, similar to 204, if a change point is determined to exist. If there is only one substantially identical timing element, the causal relationship is not established, and an error process is performed, and extraction is not performed. If there are two elements, the precedence relationship is used to determine which of the two elements is the cause and which is the result (1008). If there are three substantially identical timing elements, the causal relationship is determined using a forced hold and check SIM for the device corresponding to the change point (1009). The simulation is then switched to control using a control program automatically generated from the determined causal relationship information and timing information, and a simulation is performed (1010). A process is performed (1011) to determine whether the simulation results are different from the original simulation results. If they do not match, processing transitions to a secondary extraction loop (1014). If they do match, the extracted causal relationship is considered correct, and the above process is repeated until the search terminal is reached (1012). When the search is completed, processing ends (1013).

[0086] In FIG. 11, 1101 indicates that processing has shifted from the primary extraction loop shown in FIG. 10 to the secondary extraction loop in this figure. Like 1007, 1102 indicates processing for determining how many change points there are within the approximately identical timing when it is determined that there is a change point. If there is only one change point with the approximately identical timing element, a causal relationship is not established and error processing or the like is performed, and extraction is not performed. If there are two change points, 1104 is performed, and if there are three or more change points, 1103 is performed. Like 1008, 1104 is processing for extracting a causal relationship based on a precedence relationship. Like 1009, 1103 is processing for extracting a causal relationship using a forced hold. Like 1009, 1105 indicates a simulation confirmation processing similar to 1010. If the determination processing of 1106 determines that there is no match, the processing proceeds to the tertiary extraction loop, and if there is a match, the processing returns to the primary extraction loop (1109) to extract a causal relationship at subsequent timing. In FIG. 11, the process corresponding to the change-point exclusion process corresponding to 1006 is not included, so that the causal relationship determination is performed under the condition that the causal relationship once determined is not maintained.

[0087] In FIG. 12, 1201 indicates that processing has shifted from the secondary extraction loop shown in FIG. 11 to the tertiary extraction loop in this figure. 1202 indicates processing similar to 1006, in which once a causal relationship is detected, it is retained and excluded from subsequent determination processing. 1203 indicates processing for forcibly holding the change point as described in FIG. 6, as well as forcibly setting / resetting the status state to determine the causal relationship. Then, simulation is performed (1204), and a match is determined (1205). If a match is found, processing transitions to the fourth extraction loop (1208). If a match is found, processing returns to the primary extraction loop to extract causal relationships at subsequent timings (1109). The tertiary extraction loop omits processing for cases where the number of substantially identical change points extracted in the primary and secondary extractions is two. The forced hold processing by 1203 realizes processing corresponding to the tertiary extraction loop.

[0088] In Fig. 13, 1301 indicates that processing has shifted from the tertiary extraction loop shown in Fig. 11 to the fourth extraction loop in this figure. 1302 indicates processing to implement causality by not only forcibly holding the change point as described in Fig. 6, but also forcibly setting / resetting the status state, similar to 1203. After that, a simulation is performed (1302), and it is determined whether the results match (1303). If they do not match, error processing is performed and the process ends (1304). If a match is determined, the process returns to the primary extraction loop to extract causality at subsequent timings (1305).

[0089] As described above, according to the flowcharts shown in Figures 10, 11, 12, and 13, it is possible to perform the process of extracting causal relationships by repeatedly executing the extraction loop while changing the combination of judgment conditions shown in the table of Figure 9. As a result, it is possible to automatically generate a control program for any model in which control is performed, and it is possible to increase the processing speed by controlling the simulation model.

[0090] Next, an embodiment of a control program development device will be described with reference to Fig. 14. Fig. 14 is a block diagram of the control program development device.

[0091] Each element 101 to 107 in Fig. 14 is the same as that explained in Fig. 1, and the automatic control program generation device 110 composed of these elements is also the same as that explained in Fig. 1. The 3D model simulator 180 and control switching means 181 are also the same as those explained in Fig. 1. Reference numeral 170 denotes a display that displays messages during the automatic control program generation process.

[0092] The contents of the PLC controller 190 are the same as those explained in FIG. 1, but in this embodiment, it is connected to the 3D model simulator 180 and not only performs sequence control of the 3D model, but also connects to the actual machine 1401 on the production line or conveyance line and controls the actual machine 1401 on the production line or conveyance line.

[0093] Reference numeral 1402 denotes a logger that performs logging, and logs the operating status of the actual device 1401 under sequence control performed by the PLC controller 190. Reference numeral 1403 denotes an operation determination means that compares the timing information used to determine the causal relationship by the causal relationship determination means 103 with the timing information logged by the logger 1402, and detects whether there is a match and no problem, or whether there is a mismatch and where the problem lies. Note that the configuration of the PLC controller 190, logger 1402, and operation determination means 1403 may be realized by a configuration in which the logger 1402 and operation determination means 1403 are included within the PLC controller 190.

[0094] More specifically, in the timing chart of FIG. 3, the causal relationships between the elements that cause the changes and the elements that result at each point from 310 to 352, which are a collection of change points with approximately the same timing, are extracted, and a control program is automatically generated from the causal relationships and timing information. The operation of the actual machine can be judged as good or bad by the following processes (1), (2), and (3).

[0095] (1) The precedence relationships between the cause and effect elements of the elements in each of the locations 310 to 352 match the simulation and the actual machine log (for example, in 321, the product sensor on robot 1 precedes the stopping of conveyor 1 and the activation of robot 1).

[0096] (2) The difference in time intervals between elements in each location 310 to 352 is within a certain difference between the simulation and actual machine logs (for example, in 321, the difference between the simulation and actual machine in the timing between product sensor on robot 1, conveyor 1 stopping, and robot 1 starting is within a certain value).

[0097] (3) The intervals between each point 310 to 352 are within a predetermined difference between the simulation and the actual machine log (for example, the timing difference between 310 and 321 is less than a certain value between the simulation and the actual machine log).

[0098] As described above, according to this embodiment, it is possible to easily compare only information related to the automatic generation of a control program without blindly collecting actual machine operation to be evaluated. As a result, it is possible to easily identify areas to be checked when starting up the actual machine and compare them with expected values. In addition, it is possible to easily gather evidence information for judging the actual machine operation.

[0099] Next, an embodiment of a simulation operating environment including an automatic generation processing device for a control program and a 3D model simulator will be described with reference to FIG.

[0100] Figure 15 is a block diagram of the simulation operating environment. Each element 101 to 107 in Figure 15 is the same as that described in Figure 1, and the automatic control program generation device 110 configured from these elements is also the same as that described in Figure 1. In addition, the 3D model simulator 180 and control switching means 181 are also the same as those described in Figure 1.

[0101] As shown in the figure, the simulation operating environment 1501 of this embodiment is composed of a 3D model simulator 180 and an automatic control program generation device 110, and is realized by a general-purpose computer or the like, and is connected to a PLC controller 190.

[0102] According to this embodiment, the communication of a large amount of simulation result information required for the process of determining causal relationships using forced holds, such as those shown in Figures 5 and 6, can be realized by signal transmission within a general-purpose computer. As a result, not only can communication speeds be increased, but by utilizing the powerful computing power required for 3D model simulation, it is possible to realize the calculation processing required for automatic generation of control programs. Furthermore, some users may want to use different PLC controllers depending on the object they want to control, and it is easy to connect different PLC controllers as needed.

[0103] Next, an embodiment of an industrial control device including an automatic control program generation processing device 110 and a PLC controller 190 will be described with reference to Fig. 16. Fig. 16 is a block diagram of the industrial control device.

[0104] Each element 101 to 107 in Fig. 16 is the same as that described in Fig. 1, and the automatic control program generation device 110 configured from these elements is also the same as that described in Fig. 1. The PLC controller 190 is also the same as that described in Fig. 1, and the 3D model simulator 180 and control switching means 181 are also the same as those described in Fig. 1. In other words, this shows that an industrial control device including the automatic control program generation processing device 110 and the PLC controller 190 is realized by a computing device that configures the PLC controller.

[0105] According to this embodiment, the automatic control program generation processing device 110 is realized by a computing device that realizes the PLC controller 190. The automatic control program generation processing device generates a program by performing a process of converting timing information and causal relationship information into a PLC program template.

[0106] Although the PLC program may have different descriptions depending on the vendor, since it is realized by a computing device that realizes the PLC controller 190, it has the effect of making it easy and reliable to prepare a template that matches the PLC controller 190.

[0107] Furthermore, because the control program can be automatically generated regardless of the individual description method within the 3D simulator, even if each simulator vendor has its own best-suited target, the user can freely select a 3D simulator based on their target.

[0108] Next, a method for automatically generating a sequence control program for an automated manufacturing line or conveyance line from timing information and causal relationship information will be described in detail with reference to FIG.

[0109] 17A is a diagram showing timing information and causal relationship information at a location where a simultaneous change point exists. 17B is a template of a PLC ladder program corresponding to the timing information and causal relationship information at the location in Fig. 17A. 17C is a template corresponding to the PLC ladder program and PLC function block description corresponding to the timing information and causal relationship information at the location in Fig. 17A.

[0110] 17(d) is a template corresponding to the PLC ladder program and PLC sequential function chart description corresponding to the timing information and causal relationship information of the portion of Fig. 17(a), and (e) is a template for the PLC standard text description corresponding to the timing information and causal relationship information of the portion of Fig. 17(a).

[0111] The part (a) where the robot is started when the conveyor stops is converted into the ladder program of Figure 17b, so it is converted into ladder program templates corresponding to each part of the time chart for the entire line as shown in Figure 3, and the entire sequence control program is generated by connecting each converted template.

[0112] In the case of (c), the only difference is that the template to be matched is a function block, and in other respects it is the same as in the case of (b) ladder program generation. In the case of (d), the only difference is that the template to be matched is a sequential function chart, and in other respects it is the same as in the case of (b) ladder program generation.

[0113] In the case of (e), the only difference is that the template to be associated is standard text, and the rest is the same as in the case of (b) ladder program generation.

[0114] As described above, the desired control program can be obtained by converting each part of the time chart into a template according to the desired description format of the PLC program, and combining the converted templates.

[0115] As described above, in this embodiment, it is possible to automatically generate the entire control program by combining templates corresponding to the timing information and causal relationship information for each part of the time chart. Also, by preparing templates according to each PLC program description format, it is possible to easily automatically generate a control program in the desired description format.

[0116] According to this embodiment, it is possible to automatically extract causal relationship information and timing information for a production line or a transport line from a simulation model that models the production line or transport line, and to automatically generate a control program from the extracted information. This makes it possible to significantly reduce the programming burden on the user and greatly simplify the programming process.

[0117] 101 Change point detection processing means 102 Causal relationship determination precondition switching means 103 Causal relationship determination means 104 Forced stop control means 105 State detection processing means 106 Simulation result determination means 107 Program generation means

Claims

1. A control program generation device comprising: a change point detection unit that detects change points indicating the occurrence of operation at each timing of a component reproduced by a simulation model of a controlled object consisting of multiple components from the output results of the simulation model; a causal relationship detection unit that detects causal relationship information for classifying at least two or more change points that occur at approximately the same timing among the change points detected by the change point detection unit into cause and effect; and a program generation unit that generates a control program for the controlled object based at least on the causal relationship information.

2. The control program generating device according to claim 1, characterized in that the causal relationship detection unit has a first detection mode for detecting the causal relationship information based on a precedence relationship between the two or more change points.

3. The control program generation device according to claim 2, characterized in that the causal relationship detection unit has a second detection mode for detecting the causal relationship information from changes in the simulation results when one of the change points having the approximately identical timing is forcibly stopped.

4. The program generation device as described in claim 3, further comprising a first switching means for determining whether or not to detect the causal relationship information based on the assumption that the detected causal relationship information will be retained after the timing once detected, and switching the method of detecting the causal relationship information.

5. The control program generation device as described in claim 4, further comprising a second switching means for switching, in the second detection mode, between a first method of detecting the causal relationship information from a change in the simulation result when one of the change points at the approximately identical timing is forcibly stopped, and a second method of detecting the causal relationship information from a change in the simulation result when one of the change points at the approximately identical timing and the state information is forcibly stopped.

6. The control program generation device described in claim 5, characterized in that the causal relationship detection unit detects the causal relationship information by sequentially adopting the combination conditions that require a smaller amount of detection processing for the causal relationship information, from the combination conditions resulting from the first switching condition in the first switching means and the second switching condition in the second switching means.

7. The control program generating device according to claim 1, further comprising a model simulator that outputs the simulation model of the controlled object consisting of a plurality of the components.

8. The control program generating device according to claim 1, further comprising a control section which controls the controlled object consisting of a plurality of said components in accordance with the control program generated by said program generating section.

9. A control program generation system comprising: a control program generation unit that generates a control program for a control object consisting of a plurality of components from timing information and causal relationship information of the simulation model of the control object; a control unit that controls an automated manufacturing line or conveyor line in accordance with the control program; a logging unit that detects and stores operation information of the manufacturing line or conveyor line; and a judgment unit that judges whether the manufacturing line or conveyor line is operating properly by comparing the timing information of the simulation model with the operation information stored in the logging unit.

10. A method for generating a control program comprising: a change-point detection step for detecting, from the output results of a simulation model of a controlled object consisting of a plurality of components, change-points indicating the occurrence of operation at each timing of the components reproduced by the simulation model; a causal relationship detection step for detecting causal relationship information for classifying at least two or more change-points that occur at approximately the same timing among the detected change-points into cause and effect; and a program generation step for creating a control program for the controlled object based on at least the causal relationship information, wherein the causal relationship detection step has a first detection mode for detecting the causal relationship information based on the precedence relationship of the two or more change-points.

11. The control program generation method according to claim 10, characterized in that the causal relationship detection step further includes a second detection mode for detecting the causal relationship information from a change in the simulation results when one of the change points having the approximately identical timing is forcibly stopped.

12. A program generation method as described in claim 10, further comprising a first switching step of determining whether or not to detect the causal relationship information based on the assumption that the detected causal relationship information will be retained after the timing once detected, and switching the method of detecting the causal relationship information.

13. The control program generation method according to claim 11, further comprising a second switching step for switching, in the second detection mode, between a first method of detecting the causal relationship information from a change in the simulation result when one of the change points at the approximately identical timing is forcibly stopped, and a second method of detecting the causal relationship information from a change in the simulation result when one of the change points at the approximately identical timing and the state information is forcibly stopped.

14. A control program generation method as described in claim 10, characterized in that a fixed delay of the control program is extracted based on changes in each timing when the simulation cycle is varied to obtain the output results of the simulation model.

15. A control program generation method as described in claim 10, characterized in that counter control is performed based on an operation that occurs a specific number of times when the state of the detected change point other than the approximately identical timing and the state information are the same.

Citation Information

Patent Citations

  • Automatic preparing device for control program

    JP1995191717A

  • Method and device for supporting program preparation

    JP1999039011A

  • Control program inspection method, inspection device and inspection program

    JP2004280786A