Control program generation device

JP7923551B2Active Publication Date: 2026-09-18OPTON CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023210875
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-12-14
Publication Date
2026-09-18
Estimated Expiration
2043-12-14

Smart Images

  • Figure 0007923551000001
    Figure 0007923551000001
  • Figure 0007923551000002
    Figure 0007923551000002
  • Figure 0007923551000003
    Figure 0007923551000003
Patent Text Reader

Abstract

To automatically generate a control program (400) of an automatic manufacturing machine (10) stating a motion that an actuator follows another actuator.SOLUTION: When a motion chart (200) is read, program elements (100p) associated with basic motions (206) allocated to partial periods of the motion chart are combined with one another in the order of the partial periods in the motion chart in order to generate a control program. A basic motion and a follow motion (216) which follows the basic motion are allocated to at least one partial period of the motion chart. As for the partial periods to each of which the basic motion and follow motion are allocated, follow program elements (100s) materializing follow motions are combined with one another in the order of the partial periods in the motion chart. Accordingly, a motion involves one actuator being driven in synchronization with another, the control program can be automatically generated.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technology for automatically generating a control program for an automatic manufacturing machine provided with a plurality of actuators. [Background Art]

[0002] A technology has been put into practical use in which the operations of a plurality of actuators mounted on an automatic manufacturing machine are described in a special operation chart (hereinafter referred to as a YOGO chart), and the control program for the automatic manufacturing machine is automatically generated by causing a computer to read this YOGO chart (Patent Document 1). The YOGO chart is a table-format chart in which both the vertical axis and the horizontal axis are divided into a plurality of sections. One of the vertical axis or the horizontal axis is allocated with the plurality of actuators mounted on the automatic manufacturing machine. The other axis of the YOGO chart represents an operation period from when the automatic machine starts an operation to when it ends the operation, and the operation period is divided into a plurality of partial periods. Accordingly, each individual grid forming the table-format YOGO chart corresponds to a combination of one of the plurality of actuators and one of the plurality of partial periods. Therefore, in the YOGO chart, the operation content of the actuator is described at the position of the grid. By doing so, it is possible to specify the actuator that executes the operation and the partial period in which the actuator is operated.

[0003] Furthermore, the basic movements of the actuators are recorded in the squares of the YOGO chart. Here, the basic movements of an actuator are the most fundamental movements that an actuator possesses, such as moving forward or backward by a predetermined distance, or rotating by a predetermined angle. Since even the most complex movements of an automated manufacturing machine can be broken down into the basic movements of individual actuators, the operation of the automated manufacturing machine can be described by recording the basic movements in the squares of the YOGO chart. Once such a YOGO chart is created, the automated manufacturing machine can be made to perform the desired operation by repeatedly reading the content assigned to each sub-period starting from the first sub-period and causing the actuator to execute the basic movement.

[0004] Furthermore, the aforementioned conventional technology has already been applied to many automated manufacturing machines, and it has been confirmed that it operates stably in all of them. The reason for this extremely stable operation is thought to be that this technology possesses the following two characteristics.

[0005] The first key feature is that the basic movements described in the YOGO chart are very simple, such as rotation and forward / backward movement. Such simple movements eliminate ambiguity when specifying the actions. Furthermore, since the YOGO chart indicates the order in which the basic movements are executed, the operation of automated manufacturing machines can be described without any ambiguity. In addition, due to the first feature (the basic movements are very simple), programs for performing these basic movements on actuators can be created in advance, and since the types of basic movements are limited, there is a significant practical advantage in that fewer types of programs need to be created in advance.

[0006] A second characteristic is that, when multiple basic operations are performed in one sub-period, the basic operations for the next sub-period cannot begin until all of the previously performed basic operations have been completed. This ensures that the actuators that can operate simultaneously are limited to those assigned to the same sub-period, preventing unexpected actuators from operating at unexpected times and causing interference between actuators. The conventional technology described above is considered to operate very stably because it possesses these two characteristics. [Prior art documents] [Patent Documents]

[0007] [Patent Document 1] Patent No. 6829505 [Overview of the project] [Problems that the invention aims to solve]

[0008] However, in automated manufacturing machinery, it is sometimes necessary to operate other actuators in accordance with the basic operation of one actuator, and there was a problem in that it was not known how to achieve such operation (operation that follows the basic operation of another actuator) while maintaining the two characteristics mentioned above.

[0009] This invention was made to solve the problems of the conventional technology described above, and aims to provide a technology that can automatically generate a control program for an automated manufacturing machine, even when the actuators of the automated manufacturing machine perform actions that are dependent on other actuators. [Means for solving the problem]

[0010] To solve the above-mentioned problems, the control program generation device of the present invention employs the following configuration. That is, A control program generation device (110) that generates a control program (400) for an automated manufacturing machine (10) equipped with multiple actuators, A basic operation storage unit (112) stores a basic operation (206) in which the actuator moves in the direction of the degree of freedom of the actuator with a specified amount of movement, in association with a program element (100p) that realizes the basic operation, The operation period of the automated manufacturing machine from the start to the end of its operation is divided into multiple sub-periods, the operation of the automated manufacturing machine is broken down into multiple basic operations, and the operation of the automated manufacturing machine is assigned to one of the multiple sub-periods, and the operation of the automated manufacturing machine is described in an operation chart (200) which is read by an operation chart reading unit (111), Control program generation unit (113, 114) generates the control program for operating the automated manufacturing machine by combining the program elements of the multiple basic operations assigned to multiple partial periods on the operation chart in the order of the partial periods on the operation chart. Equipped with, The program elements stored in the basic operation memory unit realize the basic operation by generating time-series data of the amount of movement of the actuator, which is necessary to operate the actuator by the amount of movement. The basic operation memory unit is, A correspondence is established in which a predetermined amount of movement of the first actuator, which is the driving side movement, corresponds to a predetermined amount of movement of the second actuator, and A driven program element (100s) that generates the driven-side movement of the second actuator by obtaining the driving-side movement amount of the first actuator and applying the correspondence, and operates the second actuator using the driven-side movement amount, thereby realizing the driven operation (216) of the second actuator that is driven to the basic operation of the first actuator. I remember that, The operation chart read by the operation chart reading unit has at least one of the partial periods to which the basic operation for the first actuator and the driven operation for the second actuator are assigned. The control program generation unit also combines the driven program elements corresponding to the driven operations in accordance with the order of the partial periods on the operation chart for the partial periods to which the driven operations are assigned. It is characterized by the following:

[0011] The control program generation device of the present invention, as described above, reads an operation chart and generates a control program by combining program elements corresponding to basic operations assigned to partial periods of the operation chart in the order of the partial periods on the operation chart. Furthermore, at least one partial period of the operation chart is assigned a basic operation and a dependent operation that is dependent on that basic operation. For partial periods to which a basic operation and a dependent operation are assigned, the control program is generated by combining program elements that realize the basic operation with dependent program elements that realize the dependent operation, in the order of the partial periods on the operation chart. In this way, even when the actuators of an automated manufacturing machine perform operations that are dependent on other actuators, it becomes possible to automatically generate a control program for the automated manufacturing machine.

[0012] Furthermore, the control program generation device of the present invention described above may store the following driven program elements. That is, the driven operation of the second actuator may be realized by applying a correspondence relationship to the time-series data of the movement amount of the first actuator to generate time-series data of the movement amount of the second actuator.

[0013] In this way, similarly to the time-series data of movement amounts for realizing basic operations, time-series data of movement amounts for realizing follower operations can be generated in advance. Then, by operating actuators using these time-series data, the operation of a normal actuator and the operation of an actuator that follows another actuator can be controlled in the same manner. [Brief Description of the Drawings]

[0014] [Figure 1] It is an explanatory diagram showing a rough structure of a pipe bender 10. [Figure 2] It is an explanatory diagram showing a state where various actuators Ac10 to Ac18 mounted on the pipe bender 10 are connected to a control device 100 of the pipe bender 10. [Figure 3] It is an explanatory diagram exemplifying a part of a YOGO chart 200. [Figure 4] It is an explanatory diagram exemplifying a state where a parameter value is set for a parameter symbol 206b described in the YOGO chart 200. [Figure 5] It is an explanatory diagram exemplifying a follower operation 216 described in the YOGO chart 200. [Figure 6] It is an explanatory diagram showing a mechanism by which a program element 100p realizes a basic operation 206. [Figure 7] It is an explanatory diagram exemplifying time-series data of movement amounts generated by the program element 100p. [Figure 8] It is an explanatory diagram showing a mechanism by which a follower program element 100s realizes a follower operation 216. [Figure 9] It is an explanatory diagram showing a state where the actuator number of a driving-side actuator and the table number of a correspondence table are set for a parameter symbol 216b of the follower operation 216. [Figure 10] It is an explanatory diagram exemplifying a correspondence table in which follower-side movement amounts are set with respect to driving-side movement amounts. [Figure 11]It is an explanatory diagram showing how driven program elements 100s generate time-series data of the movement amount of a driven actuator. [Figure 12] It is an explanatory diagram of a control device 100 mounted on a pipe bender 10. [Figure 13] It is a flowchart of a control program generation process executed by a control program generation device 110. [Figure 14] It is an explanatory diagram illustrating intermediate data 300. [Figure 15] It is an explanatory diagram illustrating a control program 400. [Figure 16] It is an explanatory diagram illustrating a driven operation 216 of a modified example described in a YOGO chart 200. [Figure 17] It is an explanatory diagram illustrating a driven operation 216 according to another aspect of a modified example. [Figure 18] It is an explanatory diagram showing a state where a condition indicating a switch state is set in a parameter symbol 216b of the driven operation 216 of a modified example. Description of Embodiments

[0015] A. Device configuration: FIG. 1 is an explanatory diagram illustrating a rough external shape of a pipe bender 10. The pipe bender 10 is a type of automatic manufacturing machine capable of processing a long pipe material into a desired shape by automatically bending the pipe material. In the following description, it is assumed that the automatic manufacturing machine is the pipe bender 10. However, any automatic manufacturing machine other than the pipe bender 10 may be used as long as it is equipped with a plurality of actuators and can automatically perform a plurality of operations such as gripping, conveying, processing, and heating on an object. For example, it may be an arm robot having a plurality of joints, or may be a manufacturing system combining an arm robot having a plurality of joints and a conveying device.

[0016] The pipe bender 10 illustrated in Figure 1 has a roughly elongated rectangular parallelepiped shape. Two rails 11 are mounted on the upper side of the rectangular parallelepiped in the longitudinal direction, and a transport unit 12 is mounted on one end of the rails 11 (the left side in Figure 1) to grip and transport a pipe material (not shown) to be processed. On the opposite side from where the transport unit 12 is mounted, a processing unit 13 is mounted to perform bending on the pipe material (not shown). The transport unit 12 has a cylindrical gripping shaft 12a protruding from it, and a chuck 12b for gripping the pipe material (not shown) is attached to the tip of the gripping shaft 12a. Therefore, by moving the transport unit 12 on the rails 11 while gripping the pipe material with the chuck 12b, the pipe material can be supplied to the processing unit 13, and the processing unit 13 can perform bending on that pipe material.

[0017] In this embodiment, the pipe bender 10 can control the amount of pipe material fed by the amount of movement of the transport unit 12, so the position in which the pipe material is bent can be freely changed. Furthermore, it is also possible to change the bending direction of the pipe material by rotating (so-called twisting motion) the gripping shaft 12a to which the chuck 12b is attached around its axis. To achieve this, the transport unit 12 is equipped with actuators such as Actuator Ac10 for opening and closing the chuck 12b, Actuator Ac11 for rotating the gripping shaft 12a around its axis, Actuator Ac12 for moving the gripping shaft 12a in the left-right direction relative to the axial direction, and Actuator Ac13 for moving the transport unit 12 back and forth on the rail 11. In this embodiment, all of these actuators Ac10 to Ac13 are AC servo motors that operate on an AC power supply, but other types of actuators (for example, hydraulic cylinders, solenoids, pulse motors, etc.) can be used depending on the performance required of the actuators. Furthermore, the transport unit 12 is also equipped with sensors such as encoders and limit switches for detecting the rotational position of the gripping shaft 12a and the movement position of the transport unit 12, but these are omitted from Figure 1 in order to avoid making the drawing too complex.

[0018] The processing unit 13 is equipped with multiple actuators Ac15, Ac16, Ac17, and Ac18 used for bending pipe material. Furthermore, actuator Ac14 is also mounted in the space below the two rails 11. The operation of these actuators Ac14 to Ac18 will be explained in detail later. Although encoders, contact switches, and other switches and sensors are also mounted inside the processing unit 13 and in the space below the two rails 11, these are omitted from the illustration to avoid making the drawing too complex. In addition, the above-mentioned actuators Ac10 to Ac18 are connected to a control device 100 of the pipe bender 10, which is not shown.

[0019] Figure 2 is an explanatory diagram showing how the actuators Ac10-18 of the pipe bender 10 are connected to the control device 100 of the pipe bender 10. As shown in the figure, each of the actuators Ac10-18 is connected to a driver amplifier DA10-DA18, and the actuators Ac10-18 are connected to the control device 100 via the driver amplifiers DA10-DA18. Here, a driver amplifier is an electrical device that has the following functions. As an example, we will explain assuming that the actuators Ac10-Ac18 are servo motors.

[0020] A servo motor is a motor that rotates according to commanded values ​​such as rotational speed, rotational torque, and position. However, the motor itself only has the simple function of rotating with torque corresponding to the current value supplied when a drive current is supplied. Therefore, a servo motor is equipped with a sensor that detects the rotational position of the motor, and the motor is controlled to rotate according to the commanded value by adjusting the current value of the drive current based on the output of the sensor. Thus, a servo motor requires a function to determine the current value of the drive current to be supplied to the motor based on the commanded value for the motor and the output of the sensor, and a function to supply that drive current to the motor. A driver amplifier is an electrical device that has these functions. In this embodiment, the driver amplifiers DA10 to DA18 are described as having the function of determining the current value of the drive current and the function of supplying that drive current to the motor, but the function of determining the current value of the drive current may be provided to the control device 100. In this case, the driver amplifiers DA10 to DA18 only need to have the function of supplying the drive current of the current value determined by the control device 100 to the motor.

[0021] Furthermore, the driver amplifiers DA10 to DA18 in this embodiment are connected in series to the control device 100. Specifically, the driver amplifier DA10 of actuator Ac10 is connected to the control device 100 by a signal cable 120s, the driver amplifier DA11 of actuator Ac11 is connected to the driver amplifier DA10 by a signal cable 120s, the driver amplifier DA12 of actuator Ac12 is connected to the driver amplifier DA11 by a signal cable 120s, the driver amplifier DA13 of actuator Ac13 is connected to the driver amplifier DA12 by a signal cable 120s, and so on. Similarly, the driver amplifier DA14 of actuator Ac14 is connected to the driver amplifier DA13, the driver amplifier DA15 of actuator Ac15 is connected to the driver amplifier DA14, the driver amplifier DA16 of actuator Ac16 is connected to the driver amplifier DA15, the driver amplifier DA17 of actuator Ac17 is connected to the driver amplifier DA16, and the driver amplifier DA18 of actuator Ac18 is connected to the driver amplifier DA17.

[0022] The control device 100 generates control data (hereinafter referred to as a control data frame) of a predetermined byte length in which instruction values ​​for actuators Ac10 to Ac18 are set, and transmits it to the driver amplifier DA10 via the signal cable 120s. From the driver amplifier DA10, it is forwarded to the driver amplifier DA11 via the signal cable 120s, then to the driver amplifier DA12 via the signal cable 120s, then to the driver amplifier DA12 via the signal cable 120s, and so on, before finally being forwarded to the driver amplifier DA18. When the driver amplifiers DA10 to DA18 receive the control data frame, they obtain the instruction values ​​for the actuators Ac10 to Ac17 to which they are connected.

[0023] Furthermore, when the final driver amplifier DA18 acquires the instruction value for actuator Ac18, it writes the sensor output value of actuator Ac18 into a control data frame, and then transmits that control data frame to driver amplifier DA17 via signal cable 120s. Driver amplifier DA17 writes the sensor output value of actuator Ac17 into the control data frame and then forwards it to driver amplifier DA16. Then, driver amplifier DA16 writes the sensor output value of actuator Ac16 into the control data frame and forwards it to driver amplifier DA15. Similarly, the control data frame, with the sensor output values ​​written to it in this way, is forwarded to driver amplifiers DA15 to DA10, and finally reaches the control device 100. Then, the control device 100 sets a new instruction value in the control data frame and transmits it again to driver amplifier DA10. As a result, the control data frame is forwarded to driver amplifiers DA10 to DA18, and the new instruction value is transmitted to driver amplifiers DA10 to DA18.

[0024] B.YOGO Chart: Figure 3 is an illustrative diagram illustrating a portion of the YOGO chart 200 that describes the operation of the pipe bender 10. As shown in Figure 3, the YOGO chart 200 has the shape of a large table with multiple horizontal lines and multiple vertical lines intersecting. Hereafter, among the multiple intersecting lines, the horizontal lines will be referred to as "dividing lines" 201, and the vertical lines will be referred to as "trigger lines" 202.

[0025] Each trigger line 202 is assigned a sequential number starting from 1. In the example shown in Figure 3, the sequential number of the trigger line 202 below it is indicated in the upper column of the YOGO chart 200. Additionally, the area between adjacent trigger lines 202 is a sub-period, and these sub-periods are also assigned sequential numbers starting from 1 (hereinafter referred to as sub-period numbers).

[0026] Furthermore, the YOGO chart 200 in this embodiment is divided into multiple horizontal regions (hereinafter sometimes referred to as "rows") by multiple dividing lines 201, and these horizontal rows are assigned sequential numbers starting from 1 (hereinafter referred to as actuator numbers). Actuators mounted on the automated manufacturing machine are assigned to one of the multiple horizontal rows. Since the pipe bender 10 is equipped with nine actuators, actuators Ac10 to Ac18, actuator Ac10 is assigned to row with actuator number 1, actuator Ac11 is assigned to row with actuator number 2, actuator Ac12 is assigned to row with actuator number 3, and so on. Similarly, actuators Ac13 to Ac18 are assigned to rows with actuator numbers 4 to 19.

[0027] Then, the basic operations of actuators Ac10 to Ac18 are written at the intersection of the horizontal row to which actuators Ac10 to Ac18 are assigned and the vertical sub-period. The basic operations will be described later. For example, the basic operation that actuator Ac10 performs in sub-period 1 is written at the grid-like coordinate position where the horizontal row with actuator number 1 and the vertical area (hereinafter sometimes referred to as a "column") with sub-period number 1 intersect. When writing basic operations, an action line 203 is drawn at the grid-like coordinate position where the basic operation is to be written on the YOGO chart 200, and the basic operation 206 is written on top of the action line 203.

[0028] In the example shown in Figure 3, the cell at the coordinate position (hereinafter referred to as "chart coordinate (1,1)") on the YOGO chart 200, where actuator number 1 and sub-period number 1, contains an action line 203 with a start point 204 (indicated by a white circle) and an end point 205 (indicated by a black circle), and a basic action 206 is drawn on top of the action line 203. Here, the fact that the start point 204 is drawn on trigger line 202 (number 1) and the end point 205 is drawn on trigger line 202 (number 2) indicates that the basic action 206 starts at the timing of trigger line 202 (number 1) and ends at the timing of trigger line 202 (number 2).

[0029] Here, basic operation 206 refers to a simple operation in which the actuator moves by a specified amount in the direction of its degrees of freedom. For example, for a rotating actuator such as a motor, this would be the operation of rotating by a specified angle, and for an actuator that moves back and forth such as a cylinder, this would be the operation of moving by a specified distance. In the case of an actuator that moves a component that meshes with a ball screw back and forth by rotating a ball screw with a motor, this would be either the operation of rotating the motor by a specified angle or the operation of moving the component by a specified distance.

[0030] Furthermore, basic operation 206 is described using operation symbol 206a, which represents an overview of basic operation 206, and parameter symbol 206b, which represents quantitative details that cannot be specified by operation symbol 206a. In the example shown in Figure 3, operation symbol 206a, "CNC-XA," written on the operation line 203 at chart coordinate (1,1), represents the forward and backward movement of an actuator that combines an AC servo motor with a conversion mechanism. Conversely, the fact that operation symbol 206a, "CNC-XA," is written at the coordinate position of actuator number 1 indicates that actuator Ac10, corresponding to actuator number 1, is an actuator that performs forward and backward movement by combining an AC servo motor with a conversion mechanism. Furthermore, parameter symbol 206b written below operation symbol 206a represents the specific details of the forward and backward movement (i.e., the distance traveled, the speed of movement during forward and backward movement, and the torque of movement during forward and backward movement). Details of parameter symbol 206b will be described later.

[0031] Furthermore, in the grid cell corresponding to actuator number 2 and sub-period number 2 (chart coordinate (2,2)), basic operation 206 is written above the operation line 203 using the operation symbol 206a "CNC-θA" and three parameter symbols 206b. Here, the operation symbol 206a "CNC-θA" represents rotational operation by an actuator that combines an AC servo motor with a reduction mechanism. Therefore, actuator Ac11, corresponding to actuator number 2, is an actuator that performs rotational operation by combining an AC servo motor with a reduction mechanism. The three parameter symbols 206b written below this operation symbol 206a represent rotation angle, rotation speed, and rotation torque. The specific numerical values ​​(parameter values) for each parameter symbol 206b are predetermined for each actuator. Note that the parameter values ​​set in parameter symbol 206b include parameter values ​​that assume translational motion, such as travel distance and travel speed, and parameter values ​​that assume rotational motion, such as rotation angle and rotation speed. Therefore, in the following, the term "amount of movement" will be used to encompass both the distance traveled and the angle of rotation. Furthermore, the term "velocity" will include both the velocity of movement during translational motion and the velocity of rotation during rotational motion. In addition, the term "torque" will be used to encompass both the torque of movement and the torque of rotation.

[0032] Figure 4 is an explanatory diagram showing how parameter values ​​are pre-set for parameter symbols 206b for each actuator. The table in which parameter values ​​are set for parameter symbols 206b for each actuator is called "Table B". For example, Table B shown in Figure 4(a) has five parameter symbols 206b set, which are the parameter symbols 206b used for actuator Ac10. As mentioned above, actuator Ac10 is an actuator that moves forward and backward by combining an AC servo motor with a conversion mechanism, so the parameter values ​​specified using parameter symbol 206b are the travel distance, travel speed, and travel torque. Correspondingly, two parameter symbols 206b, "A10-pos1" and "A10-pos2", are used to specify the travel distance, and are set to parameter values ​​of 50 mm and 150 mm, respectively. Also, two parameter symbols 206b, "A10-spd1" and "A10-spd2", are used to specify the travel speed, and are set to parameter values ​​of 10 mm / sec and 15 mm / sec, respectively. Furthermore, the parameter symbol 206b, "A10-trq1," is used to specify the allowable movement torque during forward and backward movement as a ratio to the standard torque of the AC servo motor, with a parameter value of 100 percent (meaning that the standard torque is allowed) set.

[0033] Furthermore, Table B shown in Figure 4(b) also contains five parameter symbols 206b, which are used for the actuator Ac11. As mentioned above, the actuator Ac11 is an actuator that rotates by combining an AC servo motor with a reduction mechanism, so the parameter values ​​specified using parameter symbol 206b are the rotation angle, rotation speed, and rotation torque. Correspondingly, two parameter symbols 206b, "A11-pos1" and "A11-pos2," are used to specify the rotation angle, with parameter values ​​of 90 degrees and 30 degrees, respectively. In addition, two parameter symbols 206b, "A11-spd1" and "A11-spd2," are used to specify the rotation speed, with parameter values ​​of 15 degrees / second and 10 degrees / second, respectively. Furthermore, the parameter symbol 206b, "A11-trq1," is used to specify the allowable rotational torque during forward and backward movement as a ratio to the standard torque of the AC servo motor, with a parameter value of 100 percent (meaning that the standard torque is allowed) set. Similarly, for the other seven actuators Ac12 to Ac18, Table B corresponding to each actuator Ac12 to Ac18 has the parameter symbol 206b used for each actuator Ac12 to Ac18 pre-set.

[0034] C. Driven operation: As explained above, the basic operation 206 described in the YOGO chart 200 is an operation in which the actuator moves by the amount of movement specified by the parameter symbol 206b in the manner specified by the operation symbol 206a. Therefore, even if the basic operation 206 is set for the same partial period, each actuator will operate independently according to the content specified in each basic operation 206. In contrast, there are cases where it is desired that the operation of one actuator be dependent on the operation of another actuator. In such cases, if it is desired that an actuator perform such an operation (an operation that is dependent on the operation of another actuator), the following dependent operation 216 is described at the corresponding coordinate position on the YOGO chart 200.

[0035] Figure 5 is an explanatory diagram illustrating a driven action 216 as described in the YOGO chart 200. In the illustrated example, driven action 216 is described at the position above the action line 203 at chart coordinates (3,7). This description indicates that actuator Ac12, actuator number 3, will follow the action of other actuators during the sub-period number 7. In the following, the actuator that follows the action of other actuators will be referred to as the "driven actuator," and the actuator that the driven actuator follows will be referred to as the "driven actuator."

[0036] Furthermore, similar to the basic operation 206 described above, the driven operation 216 is also described using operation symbols 216a and parameter symbols 216b. Operation symbols 216a represent the type of driven operation (such as forward / backward movement or rotational movement) and the structure of the driven actuator, while parameter symbols 216b represent the driving actuator and the specific details of the driven operation. In the example shown in Figure 5, the "CN-XA" part of the operation symbol 216a "CN-XA-S" indicates that the actuator, which has a structure combining an AC servo motor with a reduction mechanism, is moved forward / backward (similar to the parameter symbol 206b of the basic operation 206), and the "-S" part indicates that the operation is driven by another actuator. In addition, the parameter symbol 216b "acNo1" represents the actuator number of the driving actuator, and the parameter symbol 216b "A12-table1" represents a correspondence table that associates the amount of movement of the driven actuator with the amount of movement of the driven actuator. Therefore, the driven operation 216 shown in Figure 5 represents the operation in which the driven actuator (in this case, actuator Ac12, actuator number 3) is driven by the driving actuator indicated by the parameter symbol 216b "acNo1" according to the correspondence table indicated by the parameter symbol 216b "A12-table1".

[0037] In this way, by writing the driven action 216 on the YOGO chart 200, it becomes possible to make the actuator on which the driven action 216 is written (the driven actuator) follow the driving actuator. The reason why this is possible will be explained below, but as preparation, we will explain how an actuator on which a basic action 206 is set operates according to the content of the basic action 206.

[0038] D. Mechanism for implementing basic operations: Figure 6 is an explanatory diagram showing how the control device 100 of the pipe bender 10 realizes the basic operation 206 described in the YOGO chart 200. As mentioned above, the basic operation 206 is described by an operation symbol 206a and a parameter symbol 206b. The operation symbol 206a represents the mode of operation (such as rotation or forward / backward movement) and the structure of the actuator, while the parameter symbol 206b represents the amount of movement and speed of movement of the actuator. In addition, a unique program element 100p corresponding to the operation symbol 206a is stored within the control device 100. When the control device 100 reads the YOGO chart 200, the program element 100p corresponding to the operation symbol 206a of the basic operation 206 described in the YOGO chart 200 is called up, and the program element 100p obtains the parameter symbol 206b of the basic operation 206. In the example shown in Figure 6, the basic operation 206 of the chart coordinate (1,1) in Figure 3 is read. Since the operation symbol 206a of this basic operation 206 is "CN-XA", a program element 100p called "Pr(CN-XA)" corresponding to this operation symbol 206a is called, and three parameter symbols 206b, "A10-pos1", "A10-spd1", and "A10-trq1", are read into this program element 100p.

[0039] Furthermore, the operation symbol 206a, "CN-XA," indicates that the actuator is operated using an AC servo combined with a speed control mechanism to perform forward and backward movement. The three parameter symbols 206b indicate that the travel distance is 50 mm, the travel speed is 10 mm / s, and the travel torque is 100% (usable up to the standard upper torque limit) (see Figure 4). Once the travel distance and travel speed are determined in this way, the amount of movement the actuator should make over time can be determined. That is, the stationary actuator is accelerated from its current state to the specified travel speed, and after maintaining that speed, the actuator is decelerated and stopped when it approaches the specified travel distance. When the actuator is stopped, time-series data of the travel distance can be determined such that it has moved exactly by the specified amount. Figure 7 shows an example of time-series data of the travel distance formed in this way. When the program element 100p generates such time-series data, it temporarily stores it in the memory 100m of the control device 100.

[0040] Then, when operating the actuator (in this case, actuator Ac10), the program element 100p refers to memory 100m, reads the amount of movement of time-series data at predetermined time intervals, and transmits that amount of movement as the target amount of movement to the driver amplifier DA10. Then, as shown in Figure 6, the driver amplifier DA10 detects the sensor output of actuator Ac10 and controls the current value of the drive current supplied to the AC servo motor of actuator Ac10 so that the amount of movement of actuator Ac10 becomes the target amount of movement. In this way, the basic operation 206 of actuator Ac10 can be realized. The basic operation 206 of the other actuators Ac11 to Ac18 can be realized in the same manner.

[0041] Based on the above explanation, the mechanism by which the control device 100 realizes the driven operation 216 will now be explained.

[0042] E. Mechanism for realizing driven operation: Figure 8 is an explanatory diagram showing how the control device 100 of the pipe bender 10 realizes the driven operation 216 described in the YOGO chart 200. As mentioned above, the driven operation 216 is described using an operation symbol 216a and a parameter symbol 216b. The control device 100 also stores a small, unique program (hereinafter referred to as a driven program element 100s) corresponding to the driven operation 216. When the control device 100 reads the YOGO chart 200, the driven program element 100s corresponding to the operation symbol 216a of the driven operation 216 described in the YOGO chart 200 is called up, and the driven program element 100s obtains the parameter symbol 216b of the driven operation 216.

[0043] In the example shown in Figure 8, the driven operation 216 at the chart coordinates (3,7) in Figure 5 is read. Since the operation symbol 206a of this driven operation 216 is "CN-XA-S", the driven program element 100s "Pr(CN-XA-S)" corresponding to this operation symbol 206a is called. This driven program element 100s then reads the parameter symbol 216b "acNo1" which represents the actuator number of the driving actuator, and the parameter symbol 216b "A12-table1" which represents the table number of the corresponding table. As mentioned above, the corresponding table is a table that associates the amount of movement of the driven actuator with the amount of movement of the driving actuator. The parameter values ​​(actuator number and table number) for these parameter symbols 216b are pre-set in the memory 100m of the control device 100.

[0044] Figure 9 is an explanatory diagram illustrating how parameter values ​​are set for parameter symbols 216b. As shown in Figure 9(a), the actuator numbers of the driving actuators are set for the parameter symbols 216b from "acNo1" to "acNo9". Also, as shown in Figure 9(b), the table numbers of the corresponding tables are set for the parameter symbols 216b from "A12-table1" to "A12-table3". Here, the parameter symbols 216b from "A12-table1" to "A12-table3" are all parameter symbols 216b used for actuator Ac12. In other words, since the corresponding table is a table that associates the amount of movement of the driven actuator (driven side movement) with the amount of movement of the driving actuator (driven side movement), a parameter symbol 216b representing the corresponding table for that driven actuator is set for each driven actuator. For example, the parameter symbols 216b "A12-table1" or "A12-table2" in Figure 9(b) represent the table number of the corresponding table where actuator Ac12 is the driven actuator and actuator number "1" (actuator Ac10 in this embodiment) is the driving actuator. Similarly, the parameter symbol 216b "A12-table3" represents the table number of the corresponding table where actuator Ac12 is the driven actuator and actuator number "4" (actuator Ac13 in this embodiment) is the driving actuator. Furthermore, although not shown in the figure, a parameter symbol 216b representing the corresponding table for each actuator is set for all actuators that perform the driven operation 216. In addition, the parameter symbol 216b representing the actuator number of the driving actuator is shared among all actuators and is therefore not set for each actuator.

[0045] As illustrated in Figure 8, for the operation symbol 216a "CN-XA-S" of the driven operation 216, the driven program element 100s "Pr(CN-XA-S)" in the control device 100 is called, and the driven program element 100s obtains the parameter symbols 216b "acNo1" and "A12-table1". Here, as shown in Figure 9(a), the parameter symbol 216b "acNo1" is set to "1" as the actuator number of the driving actuator. Therefore, the driven program element 100s obtains the time-series data of the amount of movement that was generated by the program element 100p and stored in memory 100m in order to perform the basic operation 206 of the actuator with actuator number "1" set for the same partial period (see Figures 6 and 7).

[0046] Furthermore, the parameter symbol 216b, "A12-table1," is assigned the table number "2" as the corresponding table in which the driven movement amount is set for the driven movement amount. The memory 100m of the control device 100 has the corresponding tables for each table number stored in advance, and the driven program element 100s retrieves the corresponding table for the corresponding table number from memory 100m. Here, it is assumed that the corresponding table with table number "2" is the table shown in Figure 10.

[0047] As described above, the driven program element 100s obtains the time-series data of the driving actuator (in this case, the actuator with actuator number "1") and the corresponding table, and then generates the time-series data of the driven actuator by converting the amount of movement of the driving actuator set in the time-series data to the amount of movement of the driven actuator according to the corresponding table.

[0048] Figure 11 is an explanatory diagram showing how the driven program element 100s generates time-series data for the driven actuator. For example, suppose the time-series data for the movement amount of the active actuator is the data shown in Figure 11(a), and the corresponding table is the table exemplified in Figure 11(b). From the time-series data in Figure 11(a), the active actuator's movement amount at time t1 is a1, and from the corresponding table in Figure 11(b), the active actuator's movement amount a1 can be converted to the driven actuator's movement amount b1. Therefore, the driven actuator's movement amount at time t1 can be determined to be b1. Similarly, the active actuator's movement amount at time t2 is a2, so by converting it using the corresponding table, the driven actuator's movement amount at time t2 can be determined to be b2. In this way, by converting the time-series data for the movement amount of the active actuator in Figure 11(a) using the corresponding table in Figure 11(b), time-series data for the movement amount of the driven actuator as shown in Figure 11(c) can be generated.

[0049] As shown in Figure 8, the driven program element 100s (here, Pr(CN-XA-S)) generates time-series data of the displacement of the driven actuator as described above and temporarily stores it in memory 100m. Then, when operating the driven actuator (here, actuator Ac12), the driven program element 100s reads the displacement data of the driven actuator and transmits that displacement to the driver amplifier DA12 as the target displacement. The driver amplifier DA12 then detects the sensor output of actuator Ac12 and controls the current value of the drive current supplied to the AC servo motor of actuator Ac12 so that the displacement of actuator Ac12 becomes the target displacement. In this way, it becomes possible to realize the driven operation 216 of actuator Ac12. The driven operations 216 of the other actuators Ac11 to Ac18 can be realized in the same manner.

[0050] In the above explanation, it was assumed that the driven program element 100s generates time-series data of the movement amount of the driven actuator and temporarily stores it in memory 100m. Then, when the driven actuator performs the driven operation 216, it was explained that the driven actuator is operated by reading this time-series data and sending the target movement amount to the driver amplifier. However, instead of generating and storing time-series data of the movement amount of the driven actuator, the target movement amount to be sent to the driver amplifier of the driven actuator may be generated from the target movement amount of the driving actuator. That is, the driven program element 100s may acquire the target movement amount that the program element 100p of the driving actuator sends to the driver amplifier in advance, convert it to a driven movement amount using a correspondence table, and then send the obtained driven movement amount as the target movement amount to the driver amplifier of the driven actuator.

[0051] F. Control device: Figure 12 is an explanatory diagram of the control device 100 mounted on the pipe bender 10. As shown in the figure, the control device 100 includes a chart creation unit 101, a chart storage unit 102, a control program generation device 110, and an operation control device 120. Furthermore, the control program generation device 110 includes a chart reading unit 111, a basic operation storage unit 112, an intermediate data generation unit 113, and an intermediate data conversion unit 114. Note that these "units" are abstract concepts representing the functions that the control device 100 has to create and store YOGO charts 200, and the functions that the control program generation device 110 has to read YOGO charts 200 and generate a control program. Therefore, it does not mean that the control device 100 and the control program generation device 110 are formed by combining parts corresponding to these "units". In reality, these "parts" can be implemented in the form of programs executed by a CPU, in the form of electronic circuits combining IC chips and LSIs, or even in a hybrid form combining these elements, among other forms.

[0052] The chart creation unit 101 is connected to a monitor screen 100d and operation input buttons 100b, and a mechanical engineer with sufficient knowledge of automated manufacturing machines such as the pipe bender 10 can create a YOGO chart 200, as exemplified in Figures 3 and 5, by operating the operation input buttons 100b while viewing the monitor screen 100d. A technician with sufficient knowledge of the operation of automated manufacturing machines can easily create a YOGO chart 200.

[0053] In this embodiment, when entering the basic operation 206 into the YOGO chart, the basic operation 206 and the driven operation 216 are entered. The operation symbol 206a and parameter symbol 206b for entering the basic operation 206, the operation symbol 216a and parameter symbol 216b for entering the driven operation 216, and the parameter values ​​corresponding to the parameter symbol 206b and the driven operation 216 are stored in the basic operation storage unit 112. Therefore, the chart creation unit 101 can refer to the basic operation storage unit 112, and when creating the YOGO chart 200, it can enter the basic operation 206 and the driven operation 216 while referring to the basic operation storage unit 112. Once the YOGO chart 200 is completed, it is saved in the chart storage unit 102. The basic operation storage unit 112 also stores the program number of the program element 100p corresponding to the operation symbol 206a and the program number of the driven program element 100s corresponding to the operation symbol 216a.

[0054] The chart reading unit 111 of the control program generation device 110 reads the YOGO chart 200 stored in the chart storage unit 102 and outputs it to the intermediate data generation unit 113. The intermediate data generation unit 113 analyzes the read YOGO chart 200 to generate intermediate data, which will be described later, and then outputs the intermediate data to the intermediate data conversion unit 114. The process of generating intermediate data from the YOGO chart will be explained in detail later. Alternatively, the chart reading unit 111 may read the YOGO chart 200 from a computer 50, which is provided separately from the control device 100, instead of reading it from the chart storage unit 102.

[0055] When the intermediate data conversion unit 114 receives intermediate data, it generates a control program from the intermediate data by referring to the basic operation storage unit 112. The method for generating a control program from intermediate data will be explained in detail later. The obtained control program is then output to the operation control device 120, which will be described later. In this embodiment, the intermediate data generation unit 113 and the intermediate data conversion unit 114 correspond to the "control program generation unit" in the present invention.

[0056] Figure 13 is a flowchart showing an overview of the control program generation process performed by the control program generation device 110 described above. As shown in the figure, in the control program generation process, first the chart reading unit 111 reads the YOGO chart 200 stored in the chart storage unit 102 (STEP 1). Next, the intermediate data generation unit 113 generates intermediate data by analyzing the read YOGO chart 200 (STEP 2). For example, if the YOGO chart 200 exemplified in Figure 3 is read, intermediate data 300 as shown in Figure 14 is generated.

[0057] As shown in Figure 14, the intermediate data 300 is data obtained by reading the YOGO chart 200 in the order of the sub-period numbers and writing it out as columnar data records. For example, at chart coordinate (1,1) of the YOGO chart 200 in Figure 3, the operation symbol 206a is "CN-XA" and the parameter symbols 206b are "A10-pos1", "A10-spd1", and "A10-trq1", which represent the basic operation 206. Therefore, this basic operation 206 is converted into a data record of (1,1,CN-XA,A10-pos1,A10-spd1,A10-trq1) and written to the beginning of the intermediate data 300. The first number in this data record represents the sub-period number, and the second number from the beginning of the data record represents the actuator number. Furthermore, for the subperiod number "2" of the YOGO chart 200 in Figure 3, the basic operation 206 is entered at chart coordinates (2,2) and (2,3). Correspondingly, the intermediate data 300 has the data records (2,2,CN-θA,A11-pos1,A11-spd1,A11-trq1) and (2,3,CN-XA,A12-pos1,A12-spd1,A12-trq1) written after the data record for subperiod number "1". In STEP 2 of Figure 13, the YOGO chart 200 is converted to intermediate data 300 in this way.

[0058] Next, the intermediate data conversion unit 114 of the control program generation device 110 generates the control program 400 by converting the intermediate data 300 (STEP 3). Figure 15 shows the control program 400 obtained by converting the intermediate data 300 in Figure 14. As can be seen by comparing the intermediate data 300 in Figure 14 with the control program 400 in Figure 15, the control program 400 replaces the operation symbol 206a of the intermediate data 300 with the program number of the program element 100p corresponding to the operation symbol 206a, and replaces the parameter symbol 206b of the intermediate data 300 with the parameter value. If the intermediate data 300 contains the operation symbol 216a and parameter symbol 216b of the driven operation 216, the operation symbol 216a is replaced with the program number of the corresponding driven program element 100s, and the parameter symbol 216b is replaced with the parameter value (i.e., the actuator number of the driving actuator and the table number of the corresponding table). As described above, the program number of the program element 100p corresponding to the operation symbol 206a and the program number of the driven program element 100s corresponding to the operation symbol 216a are pre-stored in the basic operation memory unit 112. Once the control program 400 is generated in this way, the control program 400 is output to the memory 100m of the control device 100 (STEP 4), and the control program generation process shown in Figure 13 is terminated.

[0059] The motion control device 120 uses the control program 400 thus generated to control the operation of actuators Ac10 to Ac18 of the control device 100 as follows. First, it reads the data record with subperiod number "1" from the control program 400 (in the control program 400 of Figure 15, the data record is (1,1,1,50,10,100)). As mentioned above, the first number of the data record represents the subperiod number, and the second number from the beginning represents the actuator number. Furthermore, the third number from the beginning represents the program number, and the following three numbers represent parameter values. Therefore, it calls program element 100p with program number "3" (in the case of the first data record in Figure 15, program element 100p is Pr(CN-XA)) and generates time-series data of the amount of movement of actuator with actuator number "1" (in this embodiment, actuator Ac10) according to the three parameter values ​​(see Figure 7). If multiple data records exist for the same subperiod number, time-series data for the corresponding actuators is generated in the same manner for those data records.

[0060] Then, using the generated time-series data, control data frames for actuators Ac10 to Ac18 are generated and transmitted to the driver amplifier DA10 via the signal cable 120s. The control data frame is data of a predetermined byte length, and a predetermined byte area is allocated to actuators Ac10 to Ac18. The motion control device 120 generates the control data frame as follows: First, the initial movement amount is read from the time-series data of actuator Ac10 and written to the area for actuator Ac10 in the control data frame. Next, it is determined whether or not time-series data for actuator Ac11 has been generated. If time-series data has been generated, the initial movement amount is read from that time-series data and written to the area for actuator Ac11 in the control data frame. If time-series data has not been generated, a value corresponding to the current position of actuator Ac11 is written. The first control data frame is generated by performing similar operations for all actuators.

[0061] Once the control data frame is generated, it is transmitted to the driver amplifier DA10 via the signal cable 120s. The driver amplifier DA10 then reads the data written in the area for actuator Ac10 of the control data frame and then transfers the control data frame to the driver amplifier DA11 via the signal cable 120s. Upon receiving the control data frame, the driver amplifier DA11 reads the data written in the area for actuator Ac11 and then transfers the control data frame to the driver amplifier DA12 via the signal cable 120s. Upon receiving the control data frame, the driver amplifier DA12 reads the data from the area for actuator Ac12 and then transfers it to the next driver amplifier. In this way, the control data frame is transferred sequentially from driver amplifier DA10 to driver amplifier DA11, from driver amplifier DA11 to driver amplifier DA12, and so on, until it is transferred to driver amplifier DA18. At this time, the data written in each area of ​​the control data frame is read by the corresponding driver amplifiers DA10 to DA18. The driver amplifiers DA10 to DA18 drive their respective actuators Ac10 to Ac18 by using the data read from the control data frame as the target displacement (see Figures 6 and 8).

[0062] Furthermore, the driver amplifier DA18 is not connected to the next driver amplifier to which it should transfer the control data frame. Therefore, the driver amplifier DA18 sends the control data frame back to the driver amplifier DA17. At this time, the driver amplifier DA18 acquires the sensor output of a sensor (not shown) mounted on the actuator Ac18 and writes it to the area for actuator Ac18 in the control data frame. Note that the sensor output written at this time may overwrite the movement amount data transmitted from the motion control device 120, or it may be written while leaving the movement amount data intact.

[0063] When driver amplifier DA17 receives a control data frame from driver amplifier DA18, it writes the sensor output of the sensor mounted on actuator Ac17 to the corresponding area in the control data frame, and then sends it back to driver amplifier DA16. Then driver amplifier DA16 writes the sensor output of actuator Ac16 and sends it back to driver amplifier DA15. In this way, control data frames are successively sent back while writing the sensor outputs, and finally sent back to the motion control device 120. Once the initially sent control data frame has returned, the second data from the beginning of the time-series data for actuators Ac10 to Ac18 is read, written to the area in the control data frame corresponding to actuators Ac10 to Ac18, and then sent back to driver amplifier DA10. The transmitted control data frames are forwarded one after another to driver amplifier DA18, and then forwarded in the reverse direction from driver amplifier DA18 to the motion control device 120. The control device 120 then reads the third data from the beginning of the time-series data for actuators Ac10 to Ac18, generates a control data frame, and transmits it to the driver amplifier DA10. By repeating this operation, actuators Ac10 to Ac18 mounted on the pipe bender 10 will operate as described in the YOGO chart 200.

[0064] G. Variations: In the above-described embodiment, the driven operation 216 was explained as a mechanism in which the driven actuator operates by a movement amount set in a corresponding table in response to the movement amount of the driven actuator recorded during the same partial period. However, the driven operation 216 is not limited to this form, as long as the driven actuator is driven by the operation of the driven actuator. For example, the driven operation 216 may be such that the driven actuator starts operating when the operation of the driven actuator satisfies predetermined conditions.

[0065] Figure 16 is an explanatory diagram illustrating the driven operation 216 of such a modified example. Figure 16(a) shows an example of the driven operation 216 of the modified example as recorded in the YOGO chart 200. As shown in the diagram, the driven operation 216 of the modified example is also recorded using operation symbols 216a and parameter symbols 216b. The parameter symbols 216b, "A10-pos2", "A10-spd2", and "A10-trq1", represent the amount of movement, the speed of movement, and the torque of movement, respectively. The parameter symbol 216b, "A10-cnd1", represents the condition for the driven actuator to start operation (hereinafter referred to as the start condition). The specific details of the start condition are pre-set in the basic operation memory unit 112 of the control device 100.

[0066] For the parameter symbol 216b, "A10-cnd1", the starting condition "Value(acNo1)>20" is set, as shown in Figure 16(b). "acNo1" indicates actuator number 1, and "Value(acNo1)" represents the time-series data of actuator number 1. Therefore, this starting condition means that "the value of the time-series data of actuator number 1 is greater than 20".

[0067] The driven program element 100s corresponding to the operation symbol 216a "CN-XA-ST" generates time-series data of the actuator's movement amount (see Figure 7) based on the parameter symbols 216b "A10-pos2", "A10-spd2", and "A10-trq1". When the start condition indicated by the parameter symbol 216b "A10-cnd1" is satisfied, the actuator starts operating based on the generated time-series data. In other words, the driven actuator starts operating in response to the operation of the driving actuator (in this case, the actuator with actuator number 1), so this operation is also one form of driven operation 216.

[0068] Furthermore, in the example shown in Figure 16, the driven actuator was described as starting when the start condition set in the parameter symbol 216b of the driven operation 216 is satisfied. However, the driven actuator may also be described as ending when the condition set in the parameter symbol 216b of the driven operation 216 is satisfied.

[0069] Figure 17 is an explanatory diagram illustrating another embodiment of the driven operation 216 in this modified example. In the illustrated example, the operation symbol 216a "CN-XA-EN" is written, and the driven program element 100s corresponding to this operation symbol 216a generates time-series data of the amount of movement based on the parameter symbols 216b "A10-pos2", "A10-spd2", and "A10-trq1", and starts the operation of the actuator. Meanwhile, it monitors whether the termination condition indicated by the parameter symbol 216b "A10-cnd1" (i.e., the condition that "the value of the time-series data of actuator number 1 is greater than 20") has been satisfied, and when this termination condition is satisfied, the actuator terminates its operation. This operation is also an embodiment of the driven operation 216, as the driven actuator terminates its operation in response to the operation of the driving actuator.

[0070] Furthermore, the start conditions for the driven operation 216 exemplified in Figure 16, and the end conditions for the driven operation 216 exemplified in Figure 17, may be set to the state of a switch instead of the conditions related to the operation of the main actuator. Figure 18 illustrates how the parameter symbol 216b of the driven operation 216 is set to the state of a switch. In the example shown in Figure 18(a), the condition "switch SW1 is in the on state" is set. In the example shown in Figure 18(b), the condition "switch SW1 is in the off state" is set. In this way, it becomes possible to start or stop the operation of the actuator according to the state of the switch.

[0071] Although the control program generation device 110 of this embodiment and its modified form has been described above, the present invention is not limited to the above embodiment and its modified form, and can be implemented in various forms without departing from the spirit of the invention. [Explanation of Symbols]

[0072] 10...Pipe bender, 11...Rail, 12...Conveyor unit 12a...Gripping shaft, 12b...Chuck, 13...Processing unit, 50...Computer, 100...Control unit, 100b...Operation input button, 100d...Monitor screen, 100m...Memory, 100p...Program element 100s...Dependent program element, 101...Chart creation unit, 102...Chart storage unit, 110...Control program generation device, 111...Chart reading unit, 112...Basic operation memory unit, 113...Intermediate data generation unit, 114...Intermediate data conversion unit, 120...Operation control device, 120s...Signal cable, 201...Partition wire, 200...YOGO chart, 202...Trigger line, 203...Movement line 204...Starting point, 205...Ending point, 206...Basic movements, 206a...Operation symbol, 206b...Parameter symbol, 216...Driven operation, 216a...Operation symbol, 216b...Parameter symbol, 300...Intermediate data, 400...Control program, Ac10~18...Actuator, DA10~18... Driver amplifier.

Claims

1. A control program generation device (110) that generates a control program (400) for an automated manufacturing machine (10) equipped with multiple actuators, A basic operation storage unit (112) stores a basic operation (206) in which the actuator moves in the direction of the actuator's degrees of freedom with a specified amount of movement, in association with a program element (100p) that realizes the basic operation, The operation period of the automated manufacturing machine from the start to the end of its operation is divided into multiple sub-periods, the operation of the automated manufacturing machine is broken down into multiple basic operations, and the operation of the automated manufacturing machine is assigned to one of the multiple sub-periods, and the operation of the automated manufacturing machine is described in an operation chart (200) which is read by an operation chart reading unit (111), A control program generation unit (113, 114) generates a control program for operating the automated manufacturing machine by combining the program elements of the multiple basic operations assigned to multiple partial periods on the operation chart in the order of the partial periods on the operation chart. Equipped with, The program elements stored in the basic operation memory unit realize the basic operation by generating time-series data of the amount of movement of the actuator, which is necessary to operate the actuator by the amount of movement. The basic operation memory unit is, A correspondence is established in which a predetermined amount of movement of the first actuator, which is the driving side movement, corresponds to a predetermined amount of movement of the second actuator, and A driven program element (100s) that generates the driven-side movement amount of the second actuator by obtaining the driving-side movement amount of the first actuator and applying the correspondence, and operates the second actuator using the driven-side movement amount, thereby realizing the driven operation (216) of the second actuator that is driven to the basic operation of the first actuator. I remember, The operation chart read by the operation chart reading unit has at least one partial period to which the basic operation for the first actuator and the driven operation for the second actuator are assigned. The control program generation unit also combines the driven program elements corresponding to the driven operations in accordance with the order of the partial periods on the operation chart for the partial periods to which the driven operations are assigned. A control program generation device characterized by the following features.

2. A control program generation device according to claim 1, The driven program elements stored in the basic operation memory unit apply the correspondence relationship to the time-series data of the movement amount of the first actuator to generate the time-series data of the movement amount of the second actuator, thereby realizing the driven operation of the second actuator. A control program generation device characterized by the following features.

Citation Information

Patent Citations

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

    JP2023104873A

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

    JP6829505B1

  • JPP6829505B