Control program generation system
The control program generation device addresses the challenge of generating control programs for automatic manufacturing machines by incorporating driven program elements and correspondence relationships, enabling actuators to follow each other's operations and enhancing operational flexibility and stability.
Patent Information
- Application Number
- JP2023210875
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-14
- Publication Date
- 2025-06-26
- Estimated Expiration
- 2043-12-14
AI Technical Summary
Existing technologies for automatic manufacturing machines lack a method to automatically generate control programs when an actuator needs to follow the operation of another actuator, while maintaining the stability and simplicity of basic operations.
A control program generation device that reads an operation chart, combines program elements for basic operations, and includes driven program elements to realize operations where an actuator follows another, using a correspondence relationship to generate time-series data for the driven actuator.
Enables the automatic generation of control programs for automatic manufacturing machines, allowing actuators to follow each other's operations, thereby enhancing operational flexibility and stability.
Smart Images

Figure 2025095080000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a technique for automatically generating a control program for an automatic manufacturing machine equipped with a plurality of actuators.
Background Art
[0002] A technique has been put into practical use (Patent Document 1) 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 of the automatic manufacturing machine is automatically generated by having a computer read this YOGO chart. The YOGO chart is a table-form chart in which the vertical axis and the horizontal axis are divided into a plurality of parts. A plurality of actuators mounted on the automatic manufacturing machine are assigned to one of the vertical axis or the horizontal axis. The other axis of the YOGO chart represents the operation period from the start to the end of the operation of the automatic machine, and the operation period is divided into a plurality of partial periods. Therefore, each cell forming the table-form YOGO chart corresponds to a combination of any one of the plurality of actuators and any 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 cell. By doing so, it is possible to specify the actuator that executes the operation and the partial period during which the operation is performed.
[0003] Also, the basic operations of the actuator are described at the positions of the cells in the YOGO chart. Here, the basic operations of the actuator refer to the most fundamental operations that the actuator has, such as the operation of the actuator moving forward or backward by a predetermined distance or rotating by a predetermined angle. Since any complex operation of the automatic manufacturing machine can be decomposed into the basic operations of individual actuators, the operation of the automatic manufacturing machine can be described by describing the basic operations at the positions of the cells in the YOGO chart. And if such a YOGO chart is created, by repeating the operation of reading out the content assigned to that partial period in order from the first partial period and causing the actuator to execute the basic operation, the desired operation can be made on the automatic manufacturing machine.
[0004] Also, the above-described conventional technology has already been applied to many automatic manufacturing machines, and it has been confirmed that they all operate stably. It is considered that the reason for such a very stable operation is that this technology has the following two characteristics.
[0005] First, as the first characteristic, the basic operations described in the YOGO chart are very simple operations such as rotation and forward / backward movement. For such simple operations, no ambiguous parts occur when specifying the operation. And since the order of executing the basic operations is described in the YOGO chart, the operation of the automatic manufacturing machine can be described without causing any ambiguous parts. In addition, from the first characteristic (the basic operations are very simple operations), a program for causing the actuator to perform the basic operations can be created in advance, and moreover, since the types of basic operations are limited, there is a great practical advantage that the types of programs to be created in advance can be few.
[0006] Further, as a second feature, when executing a plurality of basic operations in one sub-period, it is specified that the basic operations of the next sub-period cannot be started until all of those basic operations are completed. By doing so, since the actuators that can operate simultaneously are limited to the actuators assigned to the same sub-period, there is no interference between the actuators due to an unexpected actuator operating at an unexpected timing. Since the above-described conventional technology has these two features, it is considered to operate very stably.
Prior Art Documents
Patent Documents
[0007]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0008] However, in an automatic manufacturing machine, there may be a case where it is necessary to operate another actuator in accordance with the basic operation of a certain actuator, and there has been a problem that no method for realizing such an operation (a following operation in accordance with the basic operation of another actuator) while having the above-described two features is known.
[0009] This invention has been made to solve the above-described problems of the above-described conventional technology, and an object thereof is to provide a technology capable of automatically generating a control program for an automatic manufacturing machine even when the operation includes an operation in which an actuator of the automatic manufacturing machine follows another actuator.
Means for Solving the Problems
[0010] In order to solve the above-described 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 automatic manufacturing machine (10) having a plurality of actuators, A basic operation storage unit (112) that stores, in association with a program element (100p) that realizes the basic operation (206), the basic operation in which the actuator operates in the degree-of-freedom direction of the actuator with a specified operation amount; An operation chart reading unit (111) that reads an operation chart (200) in which an operation period from when the automatic manufacturing machine starts operating until it ends is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of the basic operations, and the operation of the automatic manufacturing machine is described by assigning the basic operation to any one of the plurality of partial periods; A control program generation unit (113, 114) that generates the control program for operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart in the order of the partial periods on the operation chart; Comprising The program element stored in the basic operation storage unit realizes the basic operation by generating time-series data of the movement amount of the actuator for operating the actuator with the operation amount. The basic operation storage unit A correspondence relationship in which a driven-side movement amount that is a movement amount of a predetermined second actuator is associated with a main driving-side movement amount that is a movement amount of a predetermined first actuator; By obtaining the main driving-side movement amount of the first actuator and applying the correspondence relationship, generating the driven-side movement amount of the second actuator, and operating the second actuator using the driven-side movement amount, a driven operation (216) of the second actuator that follows the basic operation of the first actuator is realized. A driven program element (100s); And stores The operation chart read by the operation chart reading unit has, in at least one of the partial periods, the basic operation for the first actuator and the driven operation for the second actuator assigned thereto. For the partial period to which the driven operation is assigned, the control program generation unit also combines the driven program elements corresponding to the driven operation in the order of the partial periods on the operation chart. It is characterized by this.
[0011] When the control program generation device of the present invention described above reads an operation chart, it generates a control program by combining program elements corresponding to the basic operations assigned to the partial periods of the operation chart in the order of the partial periods on the operation chart. Further, in at least one partial period of the operation chart, a basic operation and a driven operation that follows the basic operation are assigned. Then, for the partial period to which the basic operation and the driven operation are assigned, in addition to the program elements that realize the basic operation, the driven program elements that realize the driven operation are combined in the order of the partial periods on the operation chart to generate a control program. In this way, even when the operation of the actuator of the automatic manufacturing machine includes an operation in which it is driven by another actuator, it becomes possible to automatically generate the control program of the automatic manufacturing machine.
[0012] Further, in the control program generation device of the present invention described above, the following driven program elements may be stored. That is, by applying a 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, the driven operation of the second actuator may be realized.
[0013] In this way, similar to the time-series data of the movement amount for realizing the basic operation, it is possible to generate the time-series data of the movement amount for realizing the driven operation. Then, by operating the actuator using these time-series data, it becomes possible to control the operation of a normal actuator and the operation of an actuator that follows another actuator in a similar manner.
Brief Description of the Drawings
[0014]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
[0015] A. Device Configuration: FIG. 31 is an explanatory diagram exemplifying the general external shape of the pipe bender 10. The pipe bender 10 is a kind of automatic manufacturing machine that can be processed into a desired shape by automatically bending a long pipe material. Hereinafter, the automatic manufacturing machine will be described as the pipe bender 10. However, as long as it is equipped with a plurality of actuators and can automatically execute a plurality of operations such as gripping, transporting, processing, and heating on an object, it may be an automatic manufacturing machine other than the pipe bender 10. For example, it may be an arm robot having a plurality of joints, or a manufacturing system combining an arm robot having a plurality of joints and a transport device.
[0016] The pipe bender 10 illustrated in Fig. 1 generally has an externally rectangular parallelepiped shape that is horizontally elongated. On the upper surface side of the rectangular parallelepiped, two rails 11 are installed in the longitudinal direction. On one end side (the left side in Fig. 1) of the rails 11, a conveying unit 12 for gripping and conveying a pipe material (not shown) to be processed is mounted. Also, on the side opposite to the side where the conveying unit 12 is mounted, a processing unit 13 for bending a pipe material (not shown) is mounted. The conveying unit 12 is provided with a cylindrical gripping shaft 12a protruding therefrom, and a chuck 12b for gripping a pipe material (not shown) is attached to the tip of the gripping shaft 12a. Therefore, by moving the conveying 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 a bending process on the pipe material.
[0017] The pipe bender 10 of this embodiment can control the feeding amount of the pipe material according to the moving amount of the conveying unit 12, so that the position where the pipe material is bent can be freely changed. Further, by rotating the gripping shaft 12a to which the chuck 12b is attached around the axis (so-called twisting operation), it is also possible to change the bending direction of the pipe material. In order to achieve such a thing, inside the conveying unit 12, there are an actuator Ac10 for opening and closing the chuck 12b, an actuator Ac11 for rotating the gripping shaft 12a around the axis, an actuator Ac12 for moving the gripping shaft 12a parallel to the left and right directions with respect to the axial direction, and an actuator Ac13 for moving the conveying unit 12 forward and backward on the rail 11, etc. are mounted. In the pipe bender 10 of this embodiment, all of these actuators Ac10 to Ac13 use AC servo motors that operate with an AC power supply, but according to the performance required for the actuator, actuators of other drive methods (for example, hydraulic cylinders, solenoids, pulse motors, etc.) can be adopted. Incidentally, the conveying unit 12 is also equipped with sensors such as an encoder and a limit switch for detecting the rotational position of the gripping shaft 12a and the moving position of the conveying unit 12, but for the purpose of avoiding complexity of the drawing, illustration is omitted in FIG. 1.
[0018] On the processing unit 13 side, a plurality of actuators Ac15, Ac16, Ac17, Ac18 used for bending the pipe material are mounted. Further, an actuator Ac14 is also mounted in the space below the two rails 11. The operations of these actuators Ac14 to Ac18 will be described in detail later. Incidentally, switches and sensors such as an encoder and a contact switch are also mounted inside the processing unit 13 and in the space below the two rails 11, but in order to avoid complexity of the drawing, illustration of these is omitted. Also, the above-mentioned plurality of actuators Ac10 to Ac18 are connected to a control device 100 (not shown) of the pipe bender 10.
[0019] FIG. 2 is an explanatory diagram showing a state where the actuators Ac10 to Ac18 of the pipe bender 10 are connected to the control device 100 of the pipe bender 10. As shown in the figure, driver amplifiers DA10 to DA18 are connected to each of the actuators Ac10 to Ac18, and the actuators Ac10 to Ac18 are connected to the control device 100 via the driver amplifiers DA10 to DA18. Here, the driver amplifier is an electrical device having the following functions. As an example, it will be described assuming that the actuators Ac10 to Ac18 are servo motors.
[0020] A servo motor is a motor that rotates according to an instruction value such as a rotation speed, a rotation torque, or a position. However, the motor itself has only a simple function of rotating with a torque corresponding to the current value when a drive current is supplied. Therefore, a sensor for detecting the rotational position of the motor is mounted on the servo motor, and the motor is controlled to rotate at the instruction value by adjusting the current value of the drive current based on the output of the sensor. As described above, the servo motor requires a function of determining the current value of the drive current to be supplied to the motor based on the instruction value for the motor and the output of the sensor, and a function of supplying the drive current having the current value to the motor. The driver amplifier is an electrical device having those functions. Note that the driver amplifiers DA10 to DA18 of the present embodiment will be described as having a function of determining the current value of the drive current and a function of supplying the drive current having the current value to the motor. However, 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 a function of supplying the drive current having the current value determined by the control device 100 to the motor.
[0021] Also, the driver amplifiers DA10 to DA18 of this embodiment are connected to the control device 100 in a columnar manner. That is, the driver amplifier DA10 of the actuator Ac10 is connected to the control device 100 by the signal cable 120s, and the driver amplifier DA11 of the actuator Ac11 is connected to the driver amplifier DA10 by the signal cable 120s. The driver amplifier DA12 of the actuator Ac12 is connected to the driver amplifier DA11 by the signal cable 120s, and the driver amplifier DA13 of the actuator Ac13 is connected to the driver amplifier DA12 by the signal cable 120s. Similarly hereinafter, the driver amplifier DA14 of the actuator Ac14 is connected to the driver amplifier DA13, the driver amplifier DA15 of the actuator Ac15 is connected to the driver amplifier DA14, the driver amplifier DA16 of the actuator Ac16 is connected to the driver amplifier DA15, the driver amplifier DA17 of the actuator Ac17 is connected to the driver amplifier DA16, and the driver amplifier DA18 of the actuator Ac18 is connected to the driver amplifier DA17.
[0022] When the control device 100 generates control data (hereinafter, control data frame) of a predetermined byte length in which the instruction values for the actuators Ac10 to Ac18 are set and transmits it from the signal cable 120s to the driver amplifier DA10, it is transferred from the driver amplifier DA10 to the driver amplifier DA11 via the signal cable 120s, transferred from the driver amplifier DA11 to the driver amplifier DA12 via the signal cable 120s, and successively transferred from the driver amplifier DA12 to the driver amplifier DA13 via the signal cable 120s until it is transferred to the driver amplifier DA18. When the driver amplifiers DA10 to DA18 receive the control data frame, they acquire the instruction values for the actuators Ac10 to Ac17 to which they are connected.
[0023] Also, when the final driver amplifier DA18 acquires the command value for the actuator Ac18, after writing the output value of the sensor of the actuator Ac18 into the control data frame, it transmits the control data frame to the driver amplifier DA17 via the signal cable 120s. After writing the output value of the sensor of the actuator Ac17 into the control data frame, the driver amplifier DA17 transfers it to the driver amplifier DA16. Then, after the driver amplifier DA16 writes the output value of the sensor of the actuator Ac16 into the control data frame, it transfers it to the driver amplifier DA15. Similarly hereinafter, the control data frame is transferred through the driver amplifiers DA15 to DA10 while the output values of the sensors are being written, and finally reaches the control device 100. Then, after setting a new command value in the control data frame, the control device 100 transmits it again towards the driver amplifier DA10. As a result, the control data frame is transferred to the driver amplifiers DA10 to DA18, and the new command value is transmitted to the driver amplifiers DA10 to DA18.
[0024] B.YOGO chart: FIG. 3 is an explanatory diagram illustrating a part of a YOGO chart 200 that describes the operation of the pipe vendor 10. As shown in FIG. 3, the YOGO chart 200 has a shape like a large table where a plurality of horizontal lines and a plurality of vertical lines intersect. Hereinafter, among the plurality of intersecting lines, the horizontal lines are referred to as "partition lines" 201, and the vertical lines are referred to as "trigger lines" 202.
[0025] The trigger lines 202 are numbered sequentially starting from 1. In the example shown in FIG. 3, the serial numbers of the trigger lines 202 below are described in the upper column of the YOGO chart 200. Also, the area between adjacent trigger lines 202 is a partial period, and the partial period is also numbered sequentially starting from 1 (hereinafter referred to as the partial period number).
[0026] In addition, the YOGO chart 200 of this embodiment is divided into a plurality of horizontally long regions (hereinafter sometimes referred to as "rows") by a plurality of partition lines 201, and these horizontally long rows are assigned consecutive numbers starting from 1 (hereinafter referred to as actuator numbers). The actuators mounted on the automatic manufacturing machine are assigned to any one of the plurality of horizontally long rows. Since the pipe bender 10 is equipped with nine actuators Ac10 to Ac18, the actuator Ac10 is assigned to the row with the actuator number 1, the actuator Ac11 is assigned to the row with the actuator number 2, and the actuator Ac12 is assigned to the row with the actuator number 3. Similarly, the actuators Ac13 to Ac18 are assigned to the rows with actuator numbers 4 to 19.
[0027] Then, at the position where the horizontally long rows to which the actuators Ac10 to Ac18 are assigned intersect with the vertically long partial periods, the basic operations of the actuators Ac10 to Ac18 are described. The basic operations will be described later. For example, the basic operation performed by the actuator Ac10 in the partial period 1 is described at the grid-like coordinate position where the horizontally long row with the actuator number 1 intersects with the vertically long region (hereinafter sometimes referred to as "column") with the partial period number 1. When describing the basic operation, an operation line 203 is entered at the grid-like coordinate position on the YOGO chart 200 where the basic operation is to be described, and the basic operation 206 is described above the operation line 203.
[0028] In the example shown in FIG. 3, on the grid of the coordinate position on the YOGO chart 200 where the actuator number is 1 and the partial period number is 1 (hereinafter referred to as "chart coordinate (1,1)"), an operation line 203 having a starting point 204 indicated by a white circle and an ending point 205 indicated by a black circle is described, and a basic operation 206 is described on the operation line 203. Here, the fact that the starting point 204 is described on the first trigger line 202 and the ending point 205 is described on the second trigger line 202 indicates that the basic operation 206 starts at the timing of the first trigger line 202 and ends at the timing of the second trigger line 202.
[0029] Here, the basic operation 206 is a simple operation in which the actuator moves by the specified amount of movement in the degree of freedom direction it has. For example, in the case of a rotating actuator such as a motor, an operation of rotating by the specified angle corresponds, and in the case of a reciprocating actuator such as a cylinder, an operation of moving by the specified distance corresponds. Also, in the case of an actuator that rotates a ball screw by a motor to reciprocate a member meshing with the ball screw, it becomes either an operation of rotating the motor by the specified angle or an operation of moving the member by the specified distance.
[0030] Also, the basic operation 206 is described using an operation symbol 206a that represents the outline of the basic operation 206 and a parameter symbol 206b that represents quantitative content that cannot be defined by the operation symbol 206a. In the example shown in FIG. 3, the operation symbol 206a "CNC-XA" described on the operation line 203 at the chart coordinates (1, 1) represents the forward and backward movement operation by an actuator that combines a conversion mechanism with an AC servo motor. Conversely, the fact that the operation symbol 206a "CNC-XA" is described at the coordinate position with actuator number 1 means that the actuator Ac10 corresponding to actuator number 1 is an actuator that moves forward and backward by combining a conversion mechanism with an AC servo motor. Further, the parameter symbol 206b described below the operation symbol 206a represents the specific content of the forward and backward movement operation (that is, the movement distance for forward and backward movement, the movement speed during forward and backward movement, and the movement torque during forward and backward movement). Details of the parameter symbol 206b will be described later.
[0031] Also, in the cell at the coordinate position (chart coordinate (2, 2)) where the actuator number is 2 and the partial period number is 2, the basic operation 206 is described above the operation line 203 using an operation symbol 206a of "CNC-θA" and three parameter symbols 206b. Here, the operation symbol 206a of "CNC-θA" represents a rotational operation by an actuator that combines an AC servo motor with a speed reduction mechanism. Therefore, the actuator Ac11 corresponding to the actuator number 2 is an actuator that performs a rotational operation by combining an AC servo motor with a speed reduction mechanism. Also, the three parameter symbols 206b described below this operation symbol 206a represent the rotation angle, rotation speed, and rotation torque. The specific numerical values (parameter values) of each parameter symbol 206b are preset for each actuator. Incidentally, the parameter values set for the parameter symbol 206b include parameter values premised on translational motion such as the moving distance and moving speed, and parameter values premised on rotational motion such as the rotation angle and rotation speed. Therefore, hereinafter, the term "amount of movement" shall be used as a term that includes both the moving distance and the rotation angle. Also, the term "moving speed" shall include the meaning of the moving speed during translational motion and the meaning of the rotation speed during rotational motion. Furthermore, the term "torque" shall be used as a term that includes both the moving torque and the rotation torque.
[0032] FIG. 4 is an explanatory diagram showing that parameter values are preset for parameter symbol 206b for each actuator. The table in which parameter values are set for parameter symbol 206b for each actuator is called "Table B". For example, in Table B shown in FIG. 4(a), five parameter symbols 206b are set, and these are the parameter symbols 206b used for actuator Ac10. As described above, since actuator Ac10 is an actuator that moves forward and backward by combining a conversion mechanism with an AC servo motor, the parameter values specified using parameter symbol 206b are the moving distance, the moving speed, and the moving torque. Corresponding to this, two parameter symbols 206b, "A10-pos1" and "A10-pos2", are used to specify the moving distance, and parameter values of 50 mm and 150 mm are set respectively. Also, two parameter symbols 206b, "A10-spd1" and "A10-spd2", are used to specify the moving speed, and parameter values of 10 mm / second and 15 mm / second are set respectively. Further, the parameter symbol 206b, "A10-trq1", is used to specify the allowable moving torque when moving forward and backward as a ratio to the rated torque of the AC servo motor, and a parameter value of 100 percent (a value meaning that up to the rated torque is allowed) is set.
[0033] Also, in Table B shown in FIG. 4(b), five parameter symbols 206b are set, and these are the parameter symbols 206b used for the actuator Ac11. As described above, since the actuator Ac11 is an actuator that rotates by combining a speed reduction mechanism with an AC servo motor, the parameter values specified using the parameter symbol 206b are the rotation angle to be rotated, the rotation speed, and the rotation torque. Corresponding to this, two parameter symbols 206b, namely, "A11-pos1" and "A11-pos2", are used to specify the rotation angle, and parameter values of 90 degrees and 30 degrees are set respectively. Also, two parameter symbols 206b, namely, "A11-spd1" and "A11-spd2", are used to specify the rotation speed, and parameter values of 15 degrees / second and 10 degrees / second are set respectively. Further, the parameter symbol 206b, namely, "A11-trq1", is used to specify the allowable moving rotation torque when moving forward and backward as a ratio to the rated torque of the AC servo motor, and a parameter value of 100 percent (a value meaning allowing up to the rated torque) is set. Similarly, for the other seven actuators Ac12 to Ac18, in the Table B corresponding to each of the actuators Ac12 to Ac18, the parameter symbols 206b used for each of the actuators Ac12 to Ac18 are preset.
[0034] C. Passive operation: As described above, the basic operation 206 described in the YOGO chart 200 is an operation in which the actuator moves in the manner specified by the operation symbol 206a by the amount of movement specified by the parameter symbol 206b. Therefore, each actuator operates independently according to the content specified by each basic operation 206 even if the basic operation 206 is set in the same partial period. On the other hand, there may be a case where the operation of one actuator is to be made to follow the operation of another actuator. Therefore, when it is desired to cause the actuator to perform such an operation (an operation that follows the operation of another actuator), the following follow-up operation 216 is described at the corresponding coordinate position on the YOGO chart 200.
[0035] FIG. 5 is an explanatory diagram illustrating the follow-up operation 216 described in the YOGO chart 200. In the illustrated example, the follow-up operation 216 is described at a position above the operation line 203 at the chart coordinates (3, 7). This description indicates that the actuator Ac12 with the actuator number 3 follows the operation of other actuators in the partial period with the partial period number 7. Hereinafter, an actuator that follows the operation of other actuators is referred to as a "follow-up side actuator", and an actuator that is the partner for the follow-up side actuator to follow is referred to as a "main driving side actuator".
[0036] Also, similar to the basic operation 206 described above, the driven operation 216 is also described using an operation symbol 216a and a parameter symbol 216b. The operation symbol 216a represents the mode of the driven operation (such as a reciprocating motion or a rotational motion) and the structure of the driven-side actuator, and the parameter symbol 216b represents the driving-side actuator and the specific content of the driven operation, etc. In the example shown in FIG. 5, the part "CN-XA" of the operation symbol 216a "CN-XA-S" represents (similar to the parameter symbol 206b of the basic operation 206) driving a reciprocating motion of an actuator having a structure in which an AC servo motor is combined with a speed reduction mechanism, and the part "-S" represents an operation of being driven by another actuator. Further, the parameter symbol 216b "acNo1" represents the actuator number of the driving-side actuator, and the parameter symbol 216b "A12-table1" represents a correspondence table in which the movement amount of the driven-side actuator is associated with the movement amount of the driving-side actuator. Therefore, the driven operation 216 described in FIG. 5 represents an operation of driving a driven-side actuator (here, the actuator Ac12 with the actuator number 3) to follow the driving-side 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 describing the driven operation 216 in the YOGO chart 200, it becomes possible to drive the actuator (driven-side actuator) in which the driven operation 216 is described to follow the driving-side actuator. Hereinafter, the reason why such a thing is possible will be explained. As a preparation for that, the mechanism by which the actuator in which the basic operation 206 is set operates according to the content of the basic operation 206 will be explained.
[0038] D. Mechanism for realizing the basic operation: FIG. 6 is an explanatory diagram showing a mechanism by which the control device 100 of the pipe bender 10 implements the basic operation 206 described in the YOGO chart 200. As described 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, and the parameter symbol 206b represents the amount of movement or movement speed of the actuator. Also, a unique program element 100p corresponding to the operation symbol 206a is stored in 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, and the program element 100p acquires the parameter symbol 206b of the basic operation 206. In the example shown in FIG. 6, the case where the basic operation 206 at the chart coordinates (1, 1) in FIG. 3 is read is shown. Since the operation symbol 206a of this basic operation 206 is "CN-XA", the program element 100p called "Pr(CN-XA)" corresponding to this operation symbol 206a is called, and three parameter symbols 206b, namely "A10-pos1", "A10-spd1", and "A10-trq1", are read into this program element 100p.
[0039] In addition, the operation symbol 206a, "CN-XA", represents the forward and backward movement using an actuator that combines a speed change mechanism with an AC servo. The three parameter symbols 206b indicate that the moving amount is 50 mm, the moving speed is 10 mm / s, and the moving torque is 100% (usable up to the upper limit torque of the standard) (see Fig. 4). When the moving amount and the moving speed are determined in this way, it is possible to determine the moving amount by which the actuator should be moved over time. That is, the stationary actuator is accelerated from that state to the specified moving speed, and after maintaining the moving speed, when approaching the specified moving amount, the actuator is decelerated and stopped. Then, when the actuator is stopped, it is possible to determine the time-series data of the moving amount such that it has just moved by the specified moving amount. Fig. 7 illustrates the time-series data of the moving amount 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] When operating the actuator (here, actuator Ac10), the program element 100p refers to the memory 100m, reads out the moving amount of the time-series data at a predetermined time interval, and transmits that moving amount as the target moving amount to the driver amplifier DA10. Then, as shown in Fig. 6, the driver amplifier DA10 controls the current value of the drive current supplied to the AC servo motor of the actuator Ac10 so that the moving amount of the actuator Ac10 becomes the target moving amount while detecting the sensor output of the actuator Ac10. By doing so, it becomes possible to realize the basic operation 206 of the actuator Ac10. The basic operations 206 of the other actuators Ac11 to Ac18 can also be realized in the same way.
[0041] Based on the above description, the mechanism by which the control device 100 realizes the driven operation 216 will be described.
[0042] E. Mechanism for realizing the driven operation: FIG. 8 is an explanatory diagram showing the mechanism by which the control device 100 of the pipe bender 10 implements the driven operation 216 described in the YOGO chart 200. As described above, the driven operation 216 is described using the operation symbol 216a and the parameter symbol 216b. Also, a unique small program corresponding to the driven operation 216 (hereinafter, the driven program element 100s) is stored in the control device 100. 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, and the driven program element 100s acquires the parameter symbol 216b of the driven operation 216.
[0043] Incidentally, in the example shown in FIG. 8, the case where the driven operation 216 at the chart coordinates (3, 7) in FIG. 5 is read is shown. Since the operation symbol 206a of this driven operation 216 is "CN-XA-S", the driven program element 100s called "Pr(CN-XA-S)" corresponding to this operation symbol 206a is called. Then, this driven program element 100s reads the parameter symbol 216b called "acNo1" representing the actuator number of the master actuator and the parameter symbol 216b called "A12-table1" representing the table number of the correspondence table. As described above, the correspondence table is a table that associates the movement amount of the slave actuator with the movement amount of the master actuator. The parameter values (actuator number and table number) for these parameter symbols 216b are preset in the memory 100m of the control device 100.
[0044] FIG. 9 is an explanatory diagram illustrating a state in which parameter values are set for parameter symbol 216b. As shown in FIG. 9(a), for the parameter symbol 216b of "acNo1" to "acNo9", the actuator numbers of the driving-side actuators are set respectively. Further, as shown in FIG. 9(b), for the parameter symbol 216b of "A12-table1" to "A12-table3", the table numbers of the corresponding tables are set respectively. Here, the parameter symbols 216b of "A12-table1" to "A12-table3" are all parameter symbols 216b used for the actuator Ac12. That is, since the corresponding table is a table that associates the movement amount of the driven-side actuator (driven-side movement amount) with the movement amount of the driving-side actuator (driving-side movement amount), for each driven-side actuator, a parameter symbol 216b representing the corresponding table for that driven-side actuator is set. For example, the parameter symbol 216b of "A12-table1" or "A12-table2" in FIG. 9(b) represents the table number of the corresponding table with the actuator numbered "1" (actuator Ac10 in this embodiment) as the driving-side actuator and the actuator Ac12 as the driven-side actuator. Further, the parameter symbol 216b of "A12-table3" represents the table number of the corresponding table with the actuator numbered "4" (actuator Ac13 in this embodiment) as the driving-side actuator and the actuator Ac12 as the driven-side actuator. Furthermore, although not shown, for all the actuators that perform the driven operation 216, a parameter symbol 216b representing the corresponding table for that actuator is set. In addition, since the parameter symbol 216b representing the actuator number of the driving-side actuator can be shared by all the actuators, it is not set for each actuator.
[0045] As illustrated in FIG. 8, for the operation symbol 216a of "CN-XA-S" in the driven operation 216, the driven program element 100s named "Pr(CN-XA-S)" in the control device 100 is called, and the driven program element 100s acquires the parameter symbols 216b named "acNo1" and "A12-table1". Here, as shown in FIG. 9(a), the parameter symbol 216b named "acNo1" is set with the actuator number "1" as the actuator number of the active side actuator. Therefore, in order to cause the actuator with the actuator number "1" set in the same sub-period to perform the basic operation 206, the driven program element 100s acquires the time series data of the movement amount generated by the program element 100p and stored in the memory 100m (see FIGS. 6 and 7).
[0046] Also, in the parameter symbol 216b named "A12-table1" of the parameter symbol 216b, the table number "2" is set as the table number of the correspondence table in which the driven side movement amount is set for the active side movement amount. In the memory 100m of the control device 100, the correspondence tables for each table number are stored in advance, and the driven program element 100s acquires the correspondence table of the corresponding table number from the memory 100m. Here, it is assumed that the correspondence table with the table number "2" is the table shown in FIG. 10.
[0047] When the driven program element 100s acquires the time series data of the active side actuator (here, the actuator with the actuator number "1") and the correspondence table as described above, the driven program element 100s converts the active side movement amount set in the time series data into the driven side movement amount according to the correspondence table, thereby generating the time series data of the driven side actuator.
[0048] FIG. 11 is an explanatory diagram showing how the driven program element 100s generates time-series data of the driven actuator. For example, assume that the time-series data of the movement amount of the driving actuator is the data shown in FIG. 11(a), and the correspondence table is the table illustrated in FIG. 11(b). From the time-series data in FIG. 11(a), the driving-side movement amount at time t1 is a1, and from the correspondence table in FIG. 11(b), the driving-side movement amount a1 can be converted into the driven-side movement amount b1. Therefore, the driven-side movement amount at time t1 can be determined as b1. Similarly, since the driving-side movement amount at time t2 is a2, by converting with the correspondence table, the driven-side movement amount at time t2 can be determined as b2. In this way, by converting the time-series data of the movement amount of the driving actuator in FIG. 11(a) using the correspondence table in FIG. 11(b), time-series data of the movement amount of the driven actuator as shown in FIG. 11(c) can be generated.
[0049] The driven program element 100s (here Pr(CN-XA-S)) shown in FIG. 8 generates time-series data of the movement amount of the driven actuator as described above and temporarily stores it in the memory 100m. Then, when operating the driven actuator (here the actuator Ac12), the driven program element 100s reads out the movement amount of the time-series data of the driven actuator and transmits the movement amount as the target movement amount to the driver amplifier DA12. Then, while detecting the sensor output of the actuator Ac12, the driver amplifier DA12 controls the current value of the drive current supplied to the AC servo motor of the actuator Ac12 so that the movement amount of the actuator Ac12 becomes the target movement amount. By doing so, it becomes possible to realize the driven operation 216 of the actuator Ac12. The driven operations 216 of the other actuators Ac11 to Ac18 can also be realized in the same way.
[0050] So far, in the above description, it has been assumed that the slave program element 100s generates time-series data of the movement amount of the slave actuator and temporarily stores it in the memory 100m. Then, when causing the slave actuator to perform the slave operation 216, it has been described that the time-series data is read out and the target movement amount is transmitted to the driver amplifier to operate the slave actuator. However, instead of generating and storing the time-series data of the movement amount of the slave actuator, the target movement amount to be transmitted to the driver amplifier of the slave actuator may be generated from the target movement amount of the master actuator. That is, the slave program element 100s may acquire in advance the target movement amount transmitted by the program element 100p of the master actuator, convert it into the slave-side movement amount using the correspondence table, and then transmit the obtained slave-side movement amount as the target movement amount to the driver amplifier of the slave actuator.
[0051] F. Control device: FIG. 12 is an explanatory diagram of a 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. Further, the control program generation device 110 includes a chart reading unit 111, a basic operation storage unit 112, an intermediate data generation unit 113, an intermediate data conversion unit 114, and the like. Note that these "units" represent abstract concepts of functions provided for the control device 100 to create and store the YOGO chart 200, and functions provided for the control program generation device 110 to read the YOGO chart 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 components corresponding to these "units". In reality, these "units" can be realized in the form of programs executed by a CPU, in the form of an electronic circuit combining IC chips, LSIs, etc., or even in various forms such as a mixed form of these.
[0052] The chart creation unit 101 is connected to the monitor screen 100d, the operation input button 100b, etc. A mechanical engineer or the like who has sufficient knowledge about an automatic manufacturing machine such as the pipe vendor 10 operates the operation input button 100b while viewing the monitor screen 100d to create the YOGO chart 200 illustrated in FIGS. 3 and 5. A technician who has sufficient knowledge about the operation of the automatic manufacturing machine can easily create the YOGO chart 200.
[0053] Also, in this embodiment, when entering the basic operation 206 in the YOGO chart, the basic operation 206 and the driven operation 216 are entered. However, the operation symbol 206a and the parameter symbol 206b for entering the basic operation 206, the operation symbol 216a and the 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, the basic operation 206 and the driven operation 216 can be entered while referring to the basic operation storage unit 112. Then, when the YOGO chart 200 is completed, it is saved in the chart storage unit 102. Also, the basic operation storage unit 112 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 generates intermediate data to be described later by analyzing the read YOGO chart 200, 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 described in detail later. Note that the chart reading unit 111 may read the YOGO chart 200 from a computer 50 provided separately from the control device 100 instead of reading the YOGO chart 200 from the chart storage unit 102.
[0055] When the intermediate data conversion unit 114 receives the intermediate data, it generates a control program from the intermediate data by referring to the basic operation storage unit 112. The method of generating a control program from the intermediate data will be described in detail later. Then, the obtained control program is output to the operation control device 120 described later. In addition, 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] FIG. 13 is a flowchart showing an outline of the control program generation process executed by the above-described control program generation device 110. 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 (STEP1). Subsequently, the intermediate data generation unit 113 analyzes the read YOGO chart 200 to generate intermediate data (STEP2). For example, when the YOGO chart 200 illustrated in FIG. 3 is read, intermediate data 300 as shown in FIG. 14 is generated.
[0057] As shown in FIG. 14, the intermediate data 300 is data obtained by reading the YOGO chart 200 in the order of partial period numbers and writing it into columnar data records. For example, in the chart coordinates (1, 1) of the YOGO chart 200 in FIG. 3, the operation symbol 206a is "CN-XA", and the parameter symbols 206b are the basic operations 206 of "A10-pos1", "A10-spd1", and "A10-trq1". Therefore, this basic operation 206 is converted into a data record of (1, 1, CN-XA, A10-pos1, A10-spd1, A10-trq1) and written at the beginning of the intermediate data 300. Note that the first number at the beginning of this data record represents the partial period number, and the second number from the beginning of the data record represents the actuator number. Also, for the partial period with the partial period number "2" in the YOGO chart 200 in FIG. 3, the basic operation 206 is entered at the chart coordinates (2, 2) and the chart coordinates (2, 3). Correspondingly, in the intermediate data 300, following the data record with the partial period number "1", data records of (2, 2, CN-θA, A11-pos1, A11-spd1, A11-trq1) and (2, 3, CN-XA, A12-pos1, A12-spd1, A12-trq1) are written. In STEP2 of FIG. 13, the YOGO chart 200 is converted into the intermediate data 300 in this way.
[0058] Subsequently, the intermediate data conversion unit 114 of the control program generation device 110 generates a control program 400 by converting the intermediate data 300 (STEP 3). FIG. 15 shows the control program 400 obtained by converting the intermediate data 300 of FIG. 14. As can be seen by comparing the intermediate data 300 of FIG. 14 with the control program 400 of FIG. 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. When the operation symbol 216a and the parameter symbol 216b of the follow-up operation 216 are described in the intermediate data 300, the operation symbol 216a is replaced with the program number of the corresponding follow-up program element 100s, and the parameter symbol 216b is replaced with the parameter value (that is, the actuator number of the main actuator side and the table number of the corresponding table). As described above, the program numbers of the program elements 100p corresponding to the operation symbol 206a and the program numbers of the follow-up program elements 100s corresponding to the operation symbol 216a are stored in advance in the basic operation storage unit 112. After generating the control program 400 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 of FIG. 13 is terminated.
[0059] The operation control device 120 controls the operations of the actuators Ac10 to Ac18 of the control device 100 as follows using the thus generated control program 400. First, it reads out the data record with the partial period number "1" from the control program 400 (in the control program 400 of FIG. 15, the data record (1, 1, 1, 50, 10, 100)). As described above, the first digit of the data record represents the partial period number, and the second digit from the beginning represents the actuator number. Further, the third digit from the beginning represents the program number, and the following three digits represent parameter values. Therefore, it calls the program element 100p with the program number "3" (in the case of the first data record in FIG. 15, the program element 100p of Pr(CN-XA)) and generates time-series data of the movement amount of the actuator with the actuator number "1" (in this embodiment, the actuator Ac10) according to the three parameter values (see FIG. 7). When there are a plurality of data records with the same partial period 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, a control data frame for actuators Ac10 to Ac18 is generated and transmitted from the signal cable 120s to the driver amplifier DA10. The control data frame is data of a predetermined byte length, and a region of a predetermined byte is allocated for actuators Ac10 to Ac18. The operation control device 120 generates the control data frame as follows. First, the leading movement amount is read from the time-series data of the actuator Ac10 and written into the region for the actuator Ac10 in the control data frame. Next, it is determined whether the time-series data of the actuator Ac11 has been generated. If the time-series data has been generated, the leading movement amount is read from the time-series data and written into the region for the actuator Ac11 in the control data frame. If the time-series data has not been generated, a value corresponding to the current position of the actuator Ac11 is written. By performing the same operation for all the actuators, the first control data frame is generated.
[0061] Once the control data frame is generated in this way, it is transmitted towards the driver amplifier DA10 via the signal cable 120s. Then, after the driver amplifier DA10 reads the data written in the area for the actuator Ac10 of the control data frame, it transfers the control data frame to the driver amplifier DA11 via the signal cable 120s. After receiving the control data frame, the driver amplifier DA11 reads the data written in the area for the actuator Ac11 and then transfers the control data frame to the driver amplifier DA12 via the signal cable 120s. When receiving the control data frame, the driver amplifier DA12 reads the data from the area for the actuator Ac12 and then transfers it to the next driver amplifier. In this way, the control data frame is successively transferred from the driver amplifier DA10 to the driver amplifier DA11 and from the driver amplifier DA11 to the driver amplifier DA12, and is transferred up to the driver amplifier DA18. Also, at this time, the data written in each area in the control data frame is read into 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 movement amount (see FIGS. 6 and 8).
[0062] Also, there is no next driver amplifier to which the control data frame should be transferred connected to the driver amplifier DA18. Therefore, the driver amplifier DA18 returns the control data frame towards 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 into the area for the actuator Ac18 in the control data frame. Incidentally, the sensor output written at this time may overwrite the movement amount data transmitted from the operation control device 120, or the sensor output may be written while leaving the movement amount data.
[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 into the corresponding area in the control data frame and then replies to driver amplifier DA16. Then, driver amplifier DA16 writes the sensor output of actuator Ac16 and then replies to driver amplifier DA15. By replying the control data frames one by one while writing the sensor output in this way, finally, it is replied to the operation control device 120. When the first transmitted control data frame comes back, this time, the second data from the head of the time-series data for actuators Ac10 to Ac18 is read out, written into the area corresponding to actuators Ac10 to Ac18 in the control data frame, and then transmitted again towards driver amplifier DA10. The transmitted control data frames are transferred one by one until they are transmitted to driver amplifier DA18, and then transferred in the reverse direction one by one from driver amplifier DA18 until they return to the operation control device 120. Then, the operation control device 120 reads out the third data from the head of the time-series data for actuators Ac10 to Ac18, generates a control data frame, and then transmits it towards driver amplifier DA10. By repeating such operations, the actuators Ac10 to Ac18 mounted on the pipe vendor 10 will operate as described in the YOGO chart 200.
[0064] G. Modification Example: The driven operation 216 of the above-described embodiment has been described as an operation in which the driven-side actuator operates with the movement amount set in the correspondence table with respect to the movement amount of the driving-side actuator entered in the same sub-period. However, the driven operation 216 is not limited to such a mode as long as the driven-side actuator follows the operation of the driving-side actuator. For example, the driven operation 216 may be such that the driven-side actuator starts operating when the operation of the driving-side actuator satisfies a predetermined condition.
[0065] FIG. 16 is an explanatory diagram illustrating the driven operation 216 of such a modification. In FIG. 16(a), the driven operation 216 of the modification entered in the YOGO chart 200 is illustrated. As shown in the drawing, the driven operation 216 of the modification is also entered using the operation symbol 216a and the parameter symbol 216b. The parameter symbols 216b of "A10-pos2", "A10-spd2", and "A10-trq1" represent the moving amount, moving speed, and moving torque, respectively. Further, the parameter symbol 216b of "A10-cnd1" represents the condition (hereinafter referred to as the start condition) for the driven actuator to start operating. The specific content of the start condition is preset in the basic operation storage unit 112 of the control device 100.
[0066] For the parameter symbol 216b of "A10-cnd1", as shown in FIG. 16(b), the start condition of "Value(acNo1)>20" is set. "acNo1" indicates the first actuator number, and "Value(acNo1)" represents the time-series data of the actuator with the actuator number 1. Therefore, this start condition represents the condition that "the value of the time-series data of the actuator with the actuator number 1 is greater than 20".
[0067] The driven program element 100s corresponding to the operation symbol 216a of "CN-XA-ST" generates the time-series data of the moving amount of the actuator (see FIG. 7) based on the parameter symbols 216b of "A10-pos2", "A10-spd2", and "A10-trq1", and when the start condition indicated by the parameter symbol 216b of "A10-cnd1" is satisfied, starts the operation of the actuator based on the generated time-series data. That is, since the driven actuator starts operating according to the operation of the driving-side actuator (here, the actuator with the actuator number 1), such an operation is also one aspect of the driven operation 216.
[0068] Also, in the example shown in FIG. 16, it was described that the driven actuator starts operating when the start condition set for the parameter symbol 216b of the driven operation 216 is satisfied. However, when the condition set for the parameter symbol 216b of the driven operation 216 is satisfied, the driven actuator may end its operation.
[0069] FIG. 17 is an explanatory diagram illustrating another aspect of the driven operation 216 of such a modification. In the illustrated example, an operation symbol 216a of "CN-XA-EN" is described. The driven program element 100s corresponding to this operation symbol 216a generates time-series data of the amount of movement based on parameter symbols 216b of "A10-pos2", "A10-spd2", and "A10-trq1" and starts the operation of the actuator. On the other hand, it monitors whether or not the end condition indicated by the parameter symbol 216b of "A10-cnd1" (that is, the condition that "the value of the time-series data of the actuator numbered 1 is greater than 20") is satisfied. When this end condition is satisfied, the actuator ends its operation. Such an operation also results in the driven actuator ending its operation in response to the operation of the driving actuator, so it is an aspect of the driven operation 216.
[0070] Also, instead of the conditions related to the operation of the driving actuator, the state of the switch may be set for the start condition of the driven operation 216 illustrated in FIG. 16 and the end condition of the driven operation 216 illustrated in FIG. 17. FIG. 18 illustrates a state in which the state of the switch is set for the parameter symbol 216b of the driven operation 216. In the example shown in FIG. 18(a), the condition that "switch SW1 is in the on state" is set. Also, in the example shown in FIG. 18(b), the condition that "switch SW1 is in the off state" is set. In this way, it becomes possible to start or end the operation of the actuator according to the state of the switch.
[0071] As described above, the control program generation device 110 of the present embodiment and the modified example has been described. However, the present invention is not limited to the above-described embodiment and modified example, and can be implemented in various modes without departing from the gist thereof.
Explanation of Signs
[0072] 10… Pipe vendor, 11… Rail, 12… Conveying unit, 12a… Gripping shaft, 12b… Chuck, 13… Processing unit, 50… Computer, 100… Control device, 100b… Operation input button, 100d… Monitor screen, 100m… Memory, 100p… Program element, 100s… Driven program element, 101… Chart creation unit, 102… Chart storage unit, 110… Control program generation device, 111… Chart reading unit, 112… Basic operation storage unit, 113… Intermediate data generation unit, 114… Intermediate data conversion unit, 120… Operation control device, 120s… Signal cable, 201… Partition line, 200… YOGO chart, 202… Trigger line, 203… Operation line, 204… Starting point, 205… End point, 206… Basic operation, 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
【Claim 1】 A control program generation device (110) for generating a control program (400) of an automatic manufacturing machine (10) having a plurality of actuators, a basic operation storage unit (112) that stores, in association with a program element (100p) that realizes the basic operation, a basic operation (206) in which the actuator operates in the degree-of-freedom direction of the actuator with a specified operation amount; an operation chart reading unit (111) that reads an operation chart (200) in which an operation period from when the automatic manufacturing machine starts operating to when it ends is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of the basic operations, and the operation of the automatic manufacturing machine is described by assigning the basic operation to any one of the plurality of partial periods; a control program generation unit (113, 114) that generates the control program for operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart in the order of the partial periods on the operation chart; comprising: The program element stored in the basic operation storage unit realizes the basic operation by generating time-series data of the movement amount of the actuator for operating the actuator with the operation amount. The basic operation storage unit stores a correspondence relationship in which a driven-side movement amount, which is a movement amount of a predetermined second actuator, is associated with a main-driven-side movement amount, which is a movement amount of a predetermined first actuator; and a driven program element (100s) that generates the driven-side movement amount of the second actuator by acquiring the main-driven-side movement amount of the first actuator and applying the correspondence relationship, and operates the second actuator using the driven-side movement amount to realize a driven operation (216) of the second actuator that follows the basic operation of the first actuator. stores: In the operation chart read by the operation chart reading unit, at least one of the partial periods is assigned the basic operation for the first actuator and the driven operation for the second actuator. For the partial period to which the driven operation is assigned, the control program generation unit also combines the driven program elements corresponding to the driven operation in accordance with the order of the partial period on the operation chart. A control program generation device characterized by the above. **Claim 2** A control program generation device according to claim 1, The driven program element stored in the basic operation storage unit realizes the driven operation of the second actuator by applying 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. A control program generation device characterized by the above.
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