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

The control program generation device and method simplify the creation of YOGO charts by using sub-charts and sub-chart displays, addressing the complexity of creating control programs for automated manufacturing machines with complex operations.

JP7760163B2Active Publication Date: 2025-10-27OPTON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022178890
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-01-17
Filing Date
2022-11-08
Publication Date
2025-10-27
Estimated Expiration
2042-11-08

AI Technical Summary

Technical Problem

The complexity of creating a YOGO chart increases as the operations of an automated manufacturing machine become more complex, making it difficult to assign basic operations in an appropriate order and view the entire chart, thereby complicating the creation of control programs.

Method used

A control program generation device and method that employs a control program generator, basic operation storage, operation chart reading, and control program generating units to create sub-charts, allowing for easier viewing and generation of control programs by grouping consecutive sub-periods into sub-charts and using sub-chart displays.

Benefits of technology

Enables the easy creation and automatic generation of control programs for automated manufacturing machines performing complex operations by simplifying the operation chart and facilitating the assignment of basic operations, even when the operations are complex.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007760163000001
    Figure 0007760163000001
  • Figure 0007760163000002
    Figure 0007760163000002
  • Figure 0007760163000003
    Figure 0007760163000003
Patent Text Reader

Abstract

To provide a control program generation device capable of easily creating an operation chart (200) and automatically generating a control program even when an operation of an automatic manufacturing machine (10) becomes complicated.SOLUTION: A sub-chart (300) can be created in advance by unifying a plurality of continuous part periods in a plurality of part periods in which an operation chart is formed in advance. In the operation chart, a sub-chart display (301) for identifying the sub-chart can be written in a part period instead of the plurality of part periods unified as the sub-chart. When generating a control program, a control program generation device links basic operations written in a part period of the operation chart by reading the sub-chart together with the operation chart, and generates a control program by linking basic operations allocated to continuous part periods in the sub-chart according to a part period order on the sub-chart about a part period in which the sub-chart display is written in the operation chart.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technique for automatically generating a control program for an automated manufacturing machine equipped with multiple actuators. [Background technology]

[0002] An automated manufacturing machine is equipped with multiple actuators, and although these actuators can be used to perform complex operations, each actuator only performs a simple operation. Therefore, the complex operations of an automated manufacturing machine are realized by combining the simple operations of each actuator (hereinafter referred to as "basic operations"). Therefore, the inventors of the present application developed a special operation chart (hereinafter referred to as "YOGO chart") that describes complex operations for an automated manufacturing machine by dividing the entire period from when the automated manufacturing machine starts to when it finishes its operation (hereinafter referred to as "operation period") into multiple subperiods and setting the actuators to be operated and the content of the basic operations for each subperiod.

[0003] This YOGO chart describes the specific details of the basic operations performed by each actuator to achieve the desired operation of the automated manufacturing machine, as well as the timing at which each actuator operates. Furthermore, because the basic operations performed by each actuator are simple, programs for causing the actuators to execute these basic operations can be created in advance. Therefore, it is believed that an automated manufacturing machine can be operated by loading the YOGO chart into a computer and connecting the programs for causing each actuator to execute the basic operations in the order specified in the YOGO chart. Based on this idea, the inventors of the present application have developed technology for automatically generating control programs for automated manufacturing machines from YOGO charts, and have already obtained a patent for this technology (Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 6829505 Summary of the Invention [Problem to be solved by the invention]

[0005] However, it was discovered that the above-mentioned developed technology had a problem in that the difficulty of creating a YOGO chart increased as the operations to be performed by the automated manufacturing machine became more complex. After investigating the reasons for this problem, the following became clear.

[0006] First, as described above, a YOGO chart is created by assigning basic actuator operations in an appropriate order to multiple sub-periods obtained by dividing the operating period of an automated manufacturing machine. Because basic operations are simple actuator movements, the more complex the automated manufacturing machine's operation, the more it is broken down into a larger number of basic operations. Furthermore, the greater the number of sub-periods, the more difficult it becomes to view the entire YOGO chart. Creating a YOGO chart requires assigning multiple basic operations to the sub-periods in an appropriate order. However, without being able to view the entire YOGO chart, it becomes difficult to confirm whether the basic operations are assigned in the appropriate order. As a result, it has been found that creating a YOGO chart becomes more difficult.

[0007] This invention has been made to solve the above-mentioned problems associated with the previously developed technologies, and aims to provide a technology that makes it possible to easily create YOGO charts and automatically generate control programs even when making automatic manufacturing machines perform complex operations. [Means for solving the problem]

[0008] In order to solve the above-mentioned problems, the control program generating device of the present invention employs the following configuration: A control program generator for generating a control program for an automatic manufacturing machine having a plurality of actuators, a basic operation storage unit that stores basic operations in which the actuator operates in a direction of the degree of freedom of the actuator by a specified operation amount, in association with program elements that realize the basic operations; an operation chart reading unit that reads an operation chart in which an operation period from when the automatic manufacturing machine starts to when the automatic manufacturing machine finishes operating is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is broken down into a plurality of basic operations, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine; a control program generating unit 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 accordance with the order of the partial periods on the operation chart; Equipped with The operation chart reading unit not only reads the operation chart but also reads at least one sub-chart (300) in which the basic operations are assigned to a plurality of consecutive partial periods, The operation chart is assigned a sub-chart display (301) specific to the sub-chart for at least one of the partial periods; The control program generation unit generates the control program for the partial period to which the sub-chart display is assigned by combining the program elements of the plurality of basic operations assigned to the partial period of the sub-chart corresponding to the sub-chart display in accordance with the order of the partial periods on the sub-chart. It is characterized by:

[0009] Furthermore, the control program generating method of the present invention corresponding to the above-mentioned control program generating device employs the following configuration: A control program for an automatic manufacturing machine (10) equipped with a plurality of actuators is written to a computer. GenerateA control program generation method, comprising: an operation chart reading step (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine; a control program generation step (STEP 2, STEP 3, STEP 4) of converting the basic operations described in the operation chart into program elements by referring to a correspondence relationship stored between the basic operations described in the operation chart and program elements for realizing the basic operations, and combining the program elements in accordance with the order of the partial periods to generate the control program for operating the automatic manufacturing machine; Equipped with The operation chart reading step not only reads the operation chart but also reads at least one sub-chart (300) in which the basic operations are assigned to a plurality of consecutive partial periods, In the operation chart read in the operation chart reading step, a sub-chart display (301) unique to the sub-chart is assigned to at least one of the partial periods; The control program generating step generates the control program by combining, for the partial period to which the sub-chart display is assigned, the program elements of the plurality of basic operations assigned to the partial period of the sub-chart corresponding to the sub-chart display in accordance with the order of the partial periods on the sub-chart. It is characterized by:

[0010] In the control program generation device and control program generation method of the present invention described above, a sub-chart is created in advance, grouping together consecutive sub-periods from among the multiple sub-periods forming an operation chart. Furthermore, in the operation chart, instead of the multiple sub-periods grouped together as a sub-chart, a sub-chart display specific to the sub-chart is assigned to each sub-period. When reading the operation chart, the sub-chart is also read, and when generating a control program from the operation chart, for the sub-periods in the operation chart where the sub-chart display is written, the control program is generated by combining the program elements of the basic operations assigned to consecutive sub-periods in the sub-chart in accordance with the order of the sub-periods on the sub-chart.

[0011] This allows multiple consecutive partial periods in an operation chart to be expressed by adding sub-charts to a single partial period, thereby shortening the operation chart. Therefore, even when describing the complex operation of an automatic manufacturing machine, the entire operation chart can be easily viewed, making it easier to create the operation chart. As a result, it becomes easier to generate a control program for the automatic manufacturing machine.

[0012] Furthermore, in the control program generation device and control program generation method of the present invention described above, when generating a control program from an operation chart including a sub-chart display, the operation chart including the sub-chart display may be converted into an operation chart not including the sub-chart display by replacing a partial period to which the sub-chart display is assigned with a plurality of consecutive partial periods of the sub-chart corresponding to the sub-chart display, and the control program may then be generated based on the converted operation chart.

[0013] In this way, even when generating a control program from an operation chart that includes a sub-chart display, the process of generating a control program from an operation chart that does not include a sub-chart display can be used, making it possible to easily generate a control program.

[0014] Furthermore, in the control program generation device of the present invention described above, a plurality of sub-chart displays and selection conditions for selecting one of the plurality of sub-chart displays may be assigned to at least one partial period of the operation chart. Then, in addition to the operation chart, a plurality of sub-charts corresponding to the plurality of sub-chart displays may also be read, and when generating a control program from the operation chart, for a partial period to which a plurality of sub-chart displays are assigned, a control program in which a plurality of program elements are combined may be generated in accordance with a sub-chart corresponding to one sub-chart display selected based on the selection conditions.

[0015] This makes it possible to create complex control programs that switch operations depending on conditions. In addition, because the sub-chart display is used, the operation chart itself can be displayed simply, making it easy to create an operation chart.

[0016] Furthermore, in the control program generation device of the present invention described above, multiple sub-chart displays may be assigned to one partial period, and for the multiple sub-charts corresponding to those multiple sub-chart displays, sub-control programs, which are control programs for each sub-chart, may be generated by combining program elements of multiple basic operations assigned to the partial periods of the sub-charts in accordance with the order of the partial periods on the sub-charts.When generating a control program from an operation chart, for a partial period to which multiple sub-chart displays are assigned, a control program that executes one sub-control program selected from the multiple sub-control programs based on selection conditions may be generated.

[0017] In this way, multiple sub-control programs can be generated in advance, and one sub-control program can be selected and executed based on the selection conditions. This makes it possible to quickly start a corresponding sub-control program according to the selection conditions while the control program is running.

[0018] The control program generation method of the present invention can also be understood as a program for realizing the control program generation method using a computer. A program for implementing a method for generating a control program for an automated manufacturing machine (10) equipped with a plurality of actuators using a computer, comprising: an operation chart reading function (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine; a control program generation function (STEP 2, STEP 3, STEP 4) that converts the basic operations described in the operation chart into program elements by referring to a correspondence relationship in which the basic operations described in the operation chart and program elements for realizing the basic operations are associated and stored, and combines the program elements in accordance with the order of the partial periods, thereby generating the control program that operates the automatic manufacturing machine; is realized using the computer, and The operation chart reading function is a function of reading not only the operation chart but also at least one sub-chart (300) in which the basic operations are assigned to a plurality of consecutive partial periods, In the operation chart read by the operation chart reading function, a sub-chart display (301) unique to the sub-chart is assigned to at least one of the partial periods; The control program generation function is a function for generating the control program for the partial period to which the sub-chart display is assigned by combining the program elements of the plurality of basic operations assigned to the partial period of the sub-chart corresponding to the sub-chart display in accordance with the order of the partial periods on the sub-chart. It is characterized by:

[0019] By loading and executing such a program on a computer, it is possible to easily create an operation chart and automatically generate a control program, even when making an automatic manufacturing machine perform complex operations. [Brief explanation of the drawings]

[0020] [Figure 1] 1 is an explanatory diagram showing the general structure of a pipe bender 10 controlled by a control device 100 of the present embodiment. [Figure 2] 1 is a block diagram conceptually showing how a control device 100 controls the operations of various actuators Ac10 to Ac19 mounted on a pipe bender 10. FIG. [Figure 3] This is an explanatory diagram of the basic principle of automatically generating a control program from a YOGO chart. [Figure 4] FIG. 4 is an explanatory diagram of several basic actions used in the YOGO chart of FIG. 3. [Figure 5] This is an explanatory diagram of the results of classifying multiple basic actions that can be used in the YOGO chart. [Figure 6] FIG. 2 is an explanatory diagram illustrating a portion of a YOGO chart 200. [Figure 7] 10 is an explanatory diagram illustrating an example of how parameter values ​​are set for parameter symbols 206b written on a YOGO chart 200. FIG. [Figure 8] FIG. 2 is an explanatory diagram illustrating a method for describing basic actions 206 using table symbols 206c on a YOGO chart 200. [Figure 9]1 is an explanatory diagram showing an outline of the operation of the pipe bender 10 bending a pipe. [Figure 10] 1 is an explanatory diagram showing the first half of a YOGO chart 200 that describes the operation of the pipe bender 10 to bend a pipe. [Figure 11] 10 is an explanatory diagram showing the second half of a YOGO chart 200 that describes the operation of the pipe bender 10 to bend a pipe. FIG. [Figure 12] 12 is an explanatory diagram illustrating a part of the basic movements 206 described in the YOGO chart 200 of FIGS. 10 and 11. FIG. [Figure 13] 1 is an explanatory diagram showing the entire YOGO chart 200 describing the operation of the pipe bender 10 to bend a pipe at four points. [Figure 14] FIG. 2 is an explanatory diagram of a subchart 300. [Figure 15] FIG. 2 is an illustration of a YOGO chart 200 having a dedicated row 207 for writing subchart symbols 301. [Figure 16] FIG. 2 is an explanatory diagram showing the entire YOGO chart 200 described using a sub-chart 300. [Figure 17] FIG. 2 is an explanatory diagram of a control program generating device 110 installed in the control device 100. [Figure 18] 10 is a flowchart of a control program generation process executed by the control program generator 110 to generate a control program from a YOGO chart 200. [Figure 19] 10 is a flowchart of a YOGO chart analysis process executed in the control program generation process. [Figure 20] 10 is an explanatory diagram showing how a sub-chart 300 is incorporated into a YOGO chart 200 to reconstruct the YOGO chart 200. FIG. [Figure 21] 10 is an explanatory diagram illustrating an example of intermediate data generated from a YOGO chart 200 by a YOGO chart analysis process. FIG. [Figure 22] FIG. 10 is an explanatory diagram illustrating an example of a control program generated by converting intermediate data. [Figure 23] FIG. 10 is an explanatory diagram illustrating a sub-chart 300 of a first modified example. [Figure 24] FIG. 10 is an explanatory diagram illustrating a basic action 206 written in a sub-chart 300 of a first modified example. [Figure 25] FIG. 10 is an explanatory diagram illustrating an example in which a plurality of parameter values ​​V are set for a parameter symbol 206d of a first modified example. [Figure 26] FIG. 10 is an explanatory diagram of a sub-chart display 302 with selection conditions written on the YOGO chart 200 of the second modified example. [Figure 27] FIG. 10 is an explanatory diagram illustrating a YOGO chart 200 of a second modified example having a sub-chart display 302 with selection conditions, and two sub-charts 300 included in the sub-chart display 302 with selection conditions. [Figure 28] FIG. 10 is an explanatory diagram illustrating a control program generated from a YOGO chart 200 of a second modified example. [Figure 29] FIG. 10 is an explanatory diagram illustrating a subchart symbol 301 for which the number of repetitions is specified. DETAILED DESCRIPTION OF THE INVENTION

[0021] A. Equipment configuration: FIG. 1 is an explanatory diagram showing the general external shape of a pipe bender 10 according to this embodiment. The pipe bender 10 is a type of automatic manufacturing machine that can automatically bend long pipe materials into a desired shape. In the following description, the automatic manufacturing machine will be described as the pipe bender 10, but it may be any automatic manufacturing machine other than the pipe bender 10 as long as it is equipped with multiple actuators and can automatically perform multiple operations on an object, such as gripping, transporting, processing, and heating. For example, it may be an arm robot with multiple joints, or a manufacturing system that combines an arm robot with multiple joints and a transport device.

[0022] As shown in FIG. 1 , the pipe bender 10 of this embodiment has a roughly horizontally elongated rectangular parallelepiped exterior shape. Two rails 11 are installed longitudinally on the top surface of the rectangular parallelepiped. A conveying unit 12 is mounted on one end (the left side in FIG. 1 ) of the rails 11, which grips and conveys a pipe material (not shown) to be processed. Furthermore, a processing unit 13 is mounted on the opposite side of the side on which the conveying unit 12 is mounted, which performs a bending process on the pipe material (not shown). A cylindrical gripping shaft 12a protrudes from the conveying unit 12, and a chuck 12b is attached to the tip of the gripping shaft 12a for gripping the pipe material (not shown). Therefore, by moving the conveying unit 12 on the rails 11 while the pipe material is gripped by the chuck 12b, the pipe material can be supplied to the processing unit 13, where it can be bent.

[0023] The pipe bender 10 of this embodiment can control the feed rate of the pipe material by the movement of the transport unit 12, allowing for flexible adjustment of the bending position on the pipe material. Furthermore, the pipe material can be bent in a desired direction by rotating the gripping shaft 12a, to which the chuck 12b is attached, around its axis (i.e., twisting). To achieve this, the transport unit 12 is equipped with an actuator Ac10 for opening and closing the chuck 12b, an actuator Ac11 for rotating the gripping shaft 12a around its axis, an actuator Ac12 for translating the gripping shaft 12a in the left-right direction relative to the axial direction, and an actuator Ac13 for moving the transport unit 12 back and forth on the rail 11. In the pipe bender 10 of this embodiment, these actuators Ac10 to Ac13 are all AC servo motors powered by AC power sources. However, actuators of other drive types (e.g., hydraulic cylinders, solenoids, pulse motors, etc.) can also be used depending on the performance required of the actuators. 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 movement position of the conveying unit 12, but these are omitted from Figure 1 to avoid cluttering the drawing.

[0024] A plurality of actuators Ac16, Ac17, Ac18, and Ac19 used to bend the pipe material are mounted inside the processing unit 13. Furthermore, two actuators Ac14 and Ac15 are mounted in the space below the two rails 11. The operation of these actuators Ac14 to Ac19 will be explained in detail later. Note that switches and sensors such as encoders and contact switches are also mounted inside the processing unit 13 and in the space below the two rails 11, but these are not shown in the drawing to avoid cluttering the drawing.

[0025] The machining unit 13 is also equipped with a plurality of driver amplifiers (not shown) for driving the above-described plurality of actuators Ac10 to Ac19. Here, a driver amplifier is an electrical component having the following functions: To cause the actuators Ac10 to Ac19 to perform the desired operation, it is necessary to supply each of the actuators Ac10 to Ac19 with a drive current having an appropriate waveform and voltage. However, the drive current to be supplied to the actuators Ac10 to Ac19 differs depending on the drive method of the actuators Ac10 to Ac19. Furthermore, even for actuators of the same method, the waveform and voltage of the drive current differ depending on the actuator. Therefore, a dedicated electrical component called a driver amplifier is provided for each of the actuators Ac10 to Ac19. When a drive amount is specified for each driver amplifier from the control device 100 that controls the pipe bender 10, the driver amplifier outputs an appropriate drive current to the actuators Ac10 to Ac19 to drive the actuators Ac10 to Ac19.

[0026] 2 is an explanatory diagram showing how a plurality of actuators Ac10 to Ac19 mounted on a pipe bender 10 are connected to a control device 100 via driver amplifiers DA10 to DA19. A driver amplifier DA10 for driving the actuator Ac10 is connected to the actuator Ac10, and a driver amplifier DA11 for driving the actuator Ac11 is connected to the actuator Ac11. Similarly, driver amplifiers DA12 to DA19 for driving the actuators Ac12 to Ac19 are connected to the actuators Ac12 to Ac19. The driver amplifiers DA10 to DA19 are connected to one another in series, and the driver amplifier on one end (driver amplifier DA10 in the illustrated example) is connected to the control device 100. However, the connection is not limited to this, and for example, each of the driver amplifiers DA10 to DA19 may be directly connected to the control device 100.

[0027] Here, in order to bend a pipe with the pipe bender 10, it is necessary to operate the actuators Ac10 to Ac19 at appropriate timing and with appropriate movement amounts. To achieve this, it is necessary to create a control program that runs on the control device 100 and is capable of specifying appropriate drive amounts at appropriate timing for the driver amplifiers DA10 to DA19. Creating such a control program requires more effort than creating hardware such as the pipe bender 10.

[0028] However, the inventor of the present application has developed a technology for automatically generating a control program and has already obtained a patent for it. This patented technology breaks down the operation of an automatic manufacturing machine (here, pipe bender 10) equipped with multiple actuators into the basic operations of the multiple actuators (here, actuators Ac10 to Ac19), and describes the operation of the automatic manufacturing machine by entering these basic operations on a special operation chart named a "YOGO chart." In this way, a control program can be automatically generated from a YOGO chart. The principle of automatically generating a control program from a YOGO chart is explained below.

[0029] B. Principle of automatically generating a control program from a YOGO chart: FIG. 3 is an explanatory diagram of the principle of automatically generating a control program for an automatic manufacturing machine (here, a pipe bender 10) using a special operation chart called a YOGO chart. FIG. 3(a) shows a primitive YOGO chart before any improvements have been made. The YOGO chart of the present embodiment, which will be described later, is an improved version of the primitive YOGO chart shown in FIG. 3(a), but the principle of automatically generating a control program is the same as that of the primitive YOGO chart. Therefore, to facilitate understanding, the principle of automatically generating a control program from a YOGO chart will be explained using the primitive YOGO chart shown in FIG. 3(a).

[0030] As mentioned above, the YOGO chart describes the operation of an automated manufacturing machine by combining the basic operations of multiple actuators installed in the automated manufacturing machine. Here, a basic operation of an actuator 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 corresponds to an operation of rotating by a specified angle, and for an actuator that moves forward and backward such as a cylinder, this corresponds to an operation of moving by a specified distance. Furthermore, for an actuator that moves a member that meshes with the ball screw forward and backward by rotating a ball screw using a motor, this corresponds to an operation of either rotating the motor by a specified angle or moving the member by a specified distance. Note that, hereinafter, a simple operation in which the actuator moves by a specified amount in the direction of its degrees of freedom is referred to as a "basic operation."

[0031] In the YOGO chart, the operating period from when an automated manufacturing machine starts to when it finishes operating is divided into multiple sub-periods, and the basic operations of each actuator are assigned to one of these sub-periods, selected for each basic operation. In the example shown in Figure 3(a), the first sub-period (sub-period 1) when the automated manufacturing machine starts operating is assigned the basic operation act1 of a certain actuator, and the next sub-period (sub-period 2) is assigned the basic operations act2, act3, and act4 (by the same or a different actuator). The next sub-period (sub-period 3) is assigned the basic operations act5 and act6, the next sub-period (sub-period 4) is assigned the basic operation act7, and the next sub-period (sub-period 5) is assigned the basic operations act8 and act9.

[0032] In this way, it is possible to describe a series of operations performed by multiple actuators. That is, first, a basic operation act1 is started by a certain actuator, and when that basic operation act1 is completed, the corresponding actuator starts basic operations act2, act3, and act4. When those basic operations are completed, basic operations act5 and act6 are started. When those basic operations are completed, basic operations act7 is started, and when basic operation act7 is completed, basic operations act8 and act9 are started, and so on. In this way, a YOGO chart describes the operation of an automatic manufacturing machine by breaking down the operation of the automatic manufacturing machine into the basic operations of the multiple actuators installed in the automatic manufacturing machine and assigning those basic operations to any of the partial periods.

[0033] As is clear from the above explanation, the sub-periods indicate the periods during which the assigned actuators operate, and do not indicate the lengths of time. For example, the length of sub-period 1 is the time required to execute basic action act1, and the length of sub-period 2 is the longer of the times required to execute basic actions act2, act3, and act4. Therefore, the lengths of time of each sub-period are usually different from one another.

[0034] As mentioned above, the basic operation of an actuator is a simple operation, such as rotating a motor a certain amount or moving a cylinder back and forth a certain amount. Therefore, programs (program elements) for causing an actuator to perform basic operations can be created in advance. For example, a program element prog1 can be created in advance to cause a certain actuator to perform basic operation act1. Similarly, program elements prog2 to prog9 can be created in advance to cause basic operations act2 to act9 to be performed.

[0035] By connecting these program elements as described in the primitive YOGO chart shown in Figure 3(a), a control program for operating an automated manufacturing machine can be automatically generated. Specifically, as shown in Figure 3(b), program element prog1 is first launched, and when program element prog1 finishes, program elements prog2 through prog4 are launched. When program elements prog2 through prog4 finish, program elements prog5 and prog6 are launched. When program elements prog5 and prog6 finish, program element prog7 is launched. When program element prog7 finishes, program elements prog8 and prog9 are launched. In this way, program elements that cause the actuator to perform basic operations are created in advance, and multiple program elements are combined so that these program elements are launched one after another in the order described in the YOGO chart. In this way, a control program for operating an automated manufacturing machine can be automatically generated from a YOGO chart.

[0036] Furthermore, although it is necessary to create all the program elements (here, program elements prog1 to prog9) for realizing the basic operations, this is not particularly difficult. The reason for this is as follows. FIG. 4 is an explanatory diagram showing the operation modes (rotational operation, forward / backward operation, etc.) and operation mechanisms (rough structure of the actuator) for the basic operations act1 to act9 shown in FIG. 3(a). For example, basic operation act1 is an operation in which the actuator rotates, and this operation is realized by reducing the rotational speed of the rotating shaft of the AC servo motor using a speed reducer. Furthermore, basic operation act2 is an operation in which the actuator moves forward and backward, and this operation is realized by converting the rotational movement of the rotating shaft of the AC servo motor into linear movement using a conversion mechanism. Furthermore, basic operation act3 is an operation in which the actuator moves forward and backward, and this operation is realized by a linear servo motor.

[0037] Basic actions act4, act5, and act8 are movements in which the actuator rotates, just like basic action act1, and are realized by combining a reduction mechanism with an AC servo motor. Also, basic actions act6 and act7 are movements in which the actuator moves forward and backward, just like basic action act2, and are realized by combining a conversion mechanism with an AC servo motor. Furthermore, basic action act9 is a movement in which the actuator moves forward and backward, just like basic action act3, and is realized by a linear servo motor.

[0038] As described above, the motion mechanisms that realize the basic actions act1, act4, act5, and act8 are all combinations of AC servo motors and reduction mechanisms. The only differences are the AC servo motor output and the reduction ratio of the reduction mechanisms. Therefore, the program elements for these basic actions can be standardized. Furthermore, the motion mechanisms that realize the basic actions act2, act6, and act7 are all combinations of AC servo motors and conversion mechanisms. Therefore, the program elements for these basic actions can be standardized. Furthermore, the program elements for the basic actions act3 and act9 can also be standardized for similar reasons. Ultimately, by preparing three program elements prog1 to prog3 to realize the nine basic actions act1 to act9, selecting the appropriate program element for each basic action and specifying the appropriate motion amount (such as rotation angle or movement amount), all of the basic actions act1 to act9 can be realized. Furthermore, this situation (i.e., the ability to standardize program elements that realize many basic actions) is not limited to the case shown in Figure 3 but is generally applicable.

[0039] Figure 5 is an explanatory diagram showing the classification of general basic movements used in the YOGO chart. As shown in Figure 5, the motion patterns of basic movements (excluding special movements) can be classified as either forward / backward movements or rotational movements. Furthermore, it is almost certain that the motion mechanism for achieving forward / backward movements is either a mechanism combining an AC servo motor with a conversion mechanism, a mechanism using a linear servo motor, a mechanism using an air cylinder, or a mechanism using a hydraulic cylinder. Similarly, it is almost certain that the motion mechanism for achieving rotational movements is either a mechanism combining an AC servo motor with a reduction mechanism, or a mechanism combining a pulse motor with a reduction mechanism. Therefore, all basic movements are classified into six types: four forward / backward movements and two rotational movements. Since basic movements of the same type can be realized using the same program elements, it is believed that preparing six program elements will be able to handle almost all basic movements.

[0040] Therefore, the YOGO chart described below uses "operation symbols" to specify the type of basic operation. For example, the operation symbol "CNC-XA" in the YOGO chart represents an advance / retract operation performed by an actuator that combines an AC servo motor with a conversion mechanism. The operation symbol "CNC-XL" represents an advance / retract operation using a linear servo motor as an actuator, the operation symbol "AC" represents an advance / retract operation performed by an air cylinder, and the operation symbol "OC" represents an advance / retract operation performed by a hydraulic cylinder. The operation symbol "CNC-θA" represents a rotation operation performed by an actuator that combines an AC servo motor with a reduction mechanism, and the operation symbol "OPN-θP" represents a rotation operation performed by an actuator that combines a pulse motor with a reduction mechanism. Each program element that realizes the basic operation of each operation symbol is assigned a unique program element number. This makes it possible to identify the program element by its program element number.

[0041] C.How to fill out the YOGO chart: FIG. 6 is an explanatory diagram of a method for describing the operation of an automated manufacturing machine using a YOGO chart 200. In the illustrated example, the automated manufacturing machine is equipped with five actuators, actuators A to E. As shown in FIG. 6, the YOGO chart 200 is shaped like a large table, with multiple horizontal lines and multiple vertical lines intersecting each other. Hereinafter, of the multiple intersecting lines, the horizontal lines will be referred to as "partition lines" 201, and the vertical lines will be referred to as "trigger lines" 202.

[0042] The trigger lines 202 are assigned consecutive numbers starting from 1. In the example shown in FIG. 6, the consecutive numbers of the trigger lines 202 below them are written in the top column of the YOGO chart 200. The areas between adjacent trigger lines 202 are the partial periods described above with reference to FIG. 3, and the partial periods are also assigned consecutive numbers starting from 1 (hereinafter referred to as partial period numbers). In the YOGO chart 200 shown in FIG. 6, the trigger lines 202 are drawn vertically, and therefore the partial periods sandwiched between the trigger lines 202 are arranged horizontally. However, the trigger lines 202 may also be drawn horizontally, in which case multiple partial periods would be arranged vertically.

[0043] Furthermore, the YOGO chart 200 of this embodiment is divided into a plurality of horizontally elongated regions (hereinafter also referred to as "rows") by a plurality of partition lines 201, and these horizontally elongated rows are assigned consecutive numbers (hereinafter referred to as actuator numbers) starting from 1. The actuators mounted on the automatic manufacturing machine are assigned to any of the multiple horizontally elongated rows. For example, assuming that the actuators mounted on the automatic manufacturing machine are five actuators, actuator A to actuator E, as shown in FIG. 6, actuator A is assigned to row with actuator number 1, actuator B is assigned to row with actuator number 2, and actuator C is assigned to row with actuator number 3. Similarly, actuator D is assigned to row with actuator number 4, and actuator E is assigned to row with actuator number 5.

[0044] The basic operations of actuators A to E are then written in appropriate positions on the horizontal rows to which those actuators A to E are assigned. For example, the basic operation that actuator A is to perform in partial period 1 is written in the coordinate position of a grid where the horizontal row with actuator number 1 intersects with the vertical region (hereinafter sometimes referred to as a "column") with partial period number 1. When writing a basic operation, an operation line 203 is written in the coordinate position of the grid where the basic operation is to be written on YOGO chart 200, and an operation symbol 206a and a parameter symbol 206b are written on that operation line 203, thereby writing the basic operation.

[0045] 6, an operation line 203 having a start point 204 indicated by a white circle and an end point 205 indicated by a black circle is drawn in the square of the coordinate position (hereinafter referred to as "chart coordinates (1,1)") on the YOGO chart 200 where the actuator number is 1 and the partial period number is 1. A basic operation 206 is drawn on the operation line 203 using an operation symbol 206a, "CNC-XA," written after a white star, and three parameter symbols 206b written after a black star. Here, the fact that the start point 204 is drawn on the trigger line 202 No. 1 and the end point 205 is drawn on the trigger line 202 No. 2 indicates that the basic operation 206 starts at the timing of the trigger line 202 No. 1 and ends at the timing of the trigger line 202 No. 2. 5, the operation symbol 206a "CNC-XA" written above the operation line 203 represents the forward / backward movement by an actuator that combines an AC servo motor with a conversion mechanism. Conversely, the fact that the operation symbol 206a "CNC-XA" is written at the coordinate position of the actuator number 1 indicates that the actuator A corresponding to the actuator number 1 is an actuator that performs forward / backward movement by combining an AC servo motor with a conversion mechanism. Furthermore, the parameter symbol 206b written below the operation symbol 206a represents the specific details of the forward / backward movement (i.e., the distance of forward / backward movement, the speed of movement during forward / backward movement, and the movement torque during forward / backward movement). The parameter symbol 206b will be described in detail later.

[0046] Furthermore, in the square corresponding to the coordinate position (chart coordinates (2,2)) of actuator number 2 and partial period number 2, a basic operation 206 is written on the operation line 203 using an operation symbol 206a called "CNC-θA" and three parameter symbols 206b. Here, the operation symbol 206a called "CNC-θA" represents a rotational operation performed by an actuator that combines an AC servomotor with a speed reduction mechanism. Therefore, actuator B corresponding to actuator number 2 is an actuator that performs a rotational operation by combining an AC servomotor with a speed reduction mechanism. Furthermore, the three parameter symbols 206b written below this operation symbol 206a represent the rotation angle, rotation speed, and rotational torque. The specific numerical values ​​(parameter values) of each parameter symbol 206b are preset for each actuator.

[0047] FIG. 7 is an explanatory diagram showing how parameter values ​​are pre-assigned to parameter symbols 206b for each actuator. A table in which parameter values ​​are assigned to parameter symbols 206b for each actuator is called "Table B." For example, five parameter symbols 206b are assigned to Table B shown in FIG. 7(a), which are parameter symbols 206b used for actuator A. As described above, actuator A is an actuator that moves forward and backward by combining an AC servo motor with a conversion mechanism. Therefore, the parameter values ​​specified using the parameter symbols 206b are the travel distance, travel speed, and travel torque. Correspondingly, two parameter symbols 206b, "AA-pos1" and "AA-pos2," are used to specify the travel distance, and parameter values ​​of 50 mm and 150 mm are assigned to them, respectively. Furthermore, two parameter symbols 206b, "AA-spd1" and "AA-spd2," are used to specify the travel speed, and parameter values ​​of 10 mm / sec and 15 mm / sec are assigned to them, respectively. Furthermore, the parameter symbol 206b "AA-trq1" is used to specify the allowable movement torque when moving forward or backward as a ratio to the standard torque of the AC servo motor, and is set to a parameter value of 100 percent (a value that means that up to the standard torque is allowed).

[0048] Table B shown in FIG. 7(b) also has five parameter symbols 206b set, which are parameter symbols 206b used for actuator B. As described above, actuator B is an actuator that rotates by combining an AC servo motor with a speed reducer, and so the parameter values ​​specified using the parameter symbols 206b are the rotation angle, rotation speed, and rotation torque. Correspondingly, two parameter symbols 206b, "AB-pos1" and "AB-pos2," are used to specify the rotation angle, and parameter values ​​of 90 degrees and 30 degrees are set, respectively. Furthermore, two parameter symbols 206b, "AB-spd1" and "AB-spd2," are used to specify the rotation speed, and parameter values ​​of 15 degrees / second and 10 degrees / second are set, respectively. Furthermore, parameter symbol 206b, "AB-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, and a parameter value of 100 percent (a value indicating that up to the standard torque is allowed) is set.

[0049] Similarly, the five parameter symbols 206b set in Table B of FIG. 7(c) are parameter symbols 206b used for actuator C, and the five parameter symbols 206b set in Table B of FIG. 7(d) are parameter symbols 206b used for actuator D. Furthermore, the three parameter symbols 206b set in Table B of FIG. 7(e) are parameter symbols 206b used for actuator E. The parameter symbols 206b set for each actuator are parameter symbols 206b unique to that actuator. For example, the parameter symbol 206b "AB-spd1" is a parameter symbol 206b for specifying the rotational speed for actuator B, and this parameter symbol 206b cannot be used for any other purpose.

[0050] In the YOGO chart 200, the basic operations 206 are written using the operation symbols 206a and parameter symbols 206b described above. For example, in the YOGO chart 200 of FIG. 6, the basic operation 206 at chart coordinates (1,1) (i.e., the coordinate position of actuator number 1 and partial period number 1) has the operation symbol 206a "CNC-XA" and the parameter symbols 206b "AA-pos1," "AA-spd1," and "AA-trq1." Therefore, this basic operation 206 is an operation to move the actuator forward or backward, with a movement distance of 50 mm, a movement speed of 10 mm / sec, and a movement torque up to the maximum allowable specified torque of the AC servo motor.

[0051] As described above, the YOGO chart 200 is written by entering the operation symbol 206a and the parameter symbol 206b of the basic operation 206 in a grid at a coordinate position determined by the actuator number and the partial period number. The actuator number at the coordinate position where the basic operation 206 is written indicates the actuator that performs the basic operation 206, and the partial period number indicates the timing at which the basic operation 206 is performed. Furthermore, the operation symbol 206a and the parameter symbol 206b of the basic operation 206 indicate the specific content of the basic operation 206. In this way, by writing the basic operation 206 at the coordinate position on the YOGO chart 200, the operation of an automatic manufacturing machine can be described. For example, the YOGO chart 200 of FIG. 6 first operates actuator A according to the content specified in the basic operation 206. After actuator A's operation is completed, actuators B to D are operated according to the content specified in their respective basic operations 206. After actuators B to D are completed, actuators A and E are then operated according to the content of their respective basic operations 206. Then, when the operations of actuator A and actuator E are completed, actuator C and actuator D are operated according to the contents of their respective basic operations 206. It is possible to describe such a series of operations.

[0052] In this embodiment, the basic actions 206 are described on the YOGO chart 200 using the action symbol 206a and the plurality of parameter symbols 206b, but the method of describing the basic actions 206 on the YOGO chart 200 is not limited to this. For example, in the example shown in Fig. 6, a table is set in which the plurality of parameter symbols 206b listed below the action symbol 206a correspond to the parameter values ​​corresponding to those parameter symbols 206b, and a unique table symbol is assigned to each table. Then, instead of listing the plurality of parameter symbols 206b below the action symbol 206a, a table symbol for the table in which the parameter values ​​corresponding to those parameter symbols 206b are set may be written.

[0053] FIG. 8 is an explanatory diagram showing a method of writing a basic operation 206 on a YOGO chart 200 using table symbols 206c. As shown in FIG. 8(a), when writing a basic operation 206 using table symbols 206c, an operation symbol 206a is written on an operation line 203, and a table symbol 206c is written between the operation symbol 206a and the operation line 203. In the example shown in FIG. 8(a), an operation symbol 206a called "CNC-XA" and a table symbol 206c called "TABL1-1" are written at chart coordinates (1,1) (i.e., the coordinate position where the actuator number is 1 and the partial period number is 1). Furthermore, an operation symbol 206a called "CNC-θA" and a table symbol 206c called "TABL2-2" are written at chart coordinates (2,2). Here, the table symbol 206c "TABL1-1" is entered at the chart coordinate (1,1), and the table symbol 206c "TABL2-2" is entered at the chart coordinate (2,2), so the table symbol 206c is a symbol that includes the coordinate position of the YOGO chart 200. This is for the following reason.

[0054] First, as described above, a basic action 206 is written at a coordinate position on the YOGO chart 200, and multiple basic actions 206 are not written at the same coordinate position. One table symbol 206c is set for each basic action 206. Therefore, multiple table symbols 206c are not written at one coordinate position. In other words, each table symbol 206c is set assuming that it will be written at one coordinate position. Therefore, the table symbol 206c includes a coordinate position so that the coordinate position at which the table symbol 206c is written can be recognized by looking at the table symbol 206c.

[0055] FIG. 8(b) illustrates the contents set in the table of table symbol 206c called "TABL1-1." Since this table is written at chart coordinates (1,1), it is a table that sets specific contents for the basic operation of actuator number 1 (here, actuator A) at timing of partial period number 1. As shown in FIG. 8(b), the table includes a "parameter name," a "content" of the parameter name, and a "parameter value." Here, the parameter name is the same as the parameter symbol 206b described above with reference to FIGS. 6 and 7. The parameter symbol 206b described above with reference to FIGS. 6 and 7 is referred to as a "symbol" because it is written on the YOGO chart 200. However, when writing table symbol 206c on the YOGO chart 200, the parameter symbol 206b is not written on the YOGO chart 200 and is therefore simply referred to as a "parameter name."

[0056] The same is true for the table 206c labeled "TABL2-2" shown in Fig. 8(c). This table is written at chart coordinates (2,2), and therefore sets specific details of the basic operation of the actuator with actuator number 2 (actuator B in this case) at the timing of partial period number 2.

[0057] 8(b) with FIG. 7(a) and FIG. 8(c) with FIG. 7(b), it is clear that the contents set in the table of FIG. 8(b) are a portion of the contents set in table B of FIG. 7(a), and the contents set in the table of FIG. 8(c) are a portion of the contents set in table B of FIG. 7(b). Therefore, instead of entering parameter symbols 206b in YOGO chart 200 as described above with reference to FIG. 6, even if these parameter symbols 206b are compiled into a table and table symbols 206c are entered in YOGO chart 200 as shown in FIG. 8(a), it is possible to set the parameter values ​​of basic operation 206 in exactly the same way.

[0058] D. Pipe bending operation by pipe bender 10: As described above, the operation of various automatic manufacturing machines can be described using the YOGO chart 200. The operation of the pipe bender 10 shown in FIG. 1 bending a pipe can also be described using the YOGO chart 200. Below, we will explain the YOGO chart 200 that was actually written, but as a preparation, we will provide an overview of the operation of the pipe bender 10 bending a pipe.

[0059] D-1. Overview of pipe bending: FIG. 9 is an explanatory diagram showing an overview of the operation of the pipe bender 10 to bend a pipe. To bend a pipe, as shown in FIG. 9(a), the rear end of the pipe is gripped by a chuck, and the portion of the pipe to be bent is clamped between two metal jigs, a bending die and a clamp die. The clamp die has a shallow U-shaped recess at the portion that clamps the pipe. The bending die has a thick disk shape overall, but the outer circumferential side that clamps the pipe has a shallow U-shaped recess. Therefore, the recessed portion of the clamp die and the U-shaped recess on the outer circumferential side of the bending die can firmly clamp the pipe. Furthermore, a metal jig called a pressure die is placed on the pipe downstream (on the chuck side) of the position where the clamp die and the bending die clamp the pipe, in contact with the pipe from the same direction as the clamp die. The pressure die also has a shallow U-shaped recess at the portion that contacts the pipe.

[0060] When bending a pipe, as shown in Figure 9(b), the clamping die and bending die are rotated around the rotation axis of the bending die while the pipe is clamped between them. At this time, the chuck is advanced in accordance with the rotation of the clamping die and bending die, allowing the pipe to be bent by wrapping it around the outer peripheral side of the bending die. Furthermore, if the rear end of the pipe is simply gripped by the chuck when wrapping the pipe around the bending die, the pipe will bend between the bending die and the chuck, making it impossible to bend it at the correct bend angle. However, as mentioned above, because the pressure die abuts the pipe from the same direction as the clamping die, the pipe will not bend and it will be possible to bend the pipe at the correct bend angle.

[0061] After bending the pipe as described above, the clamping and bending dies that were clamping the pipe are loosened and then rotated in the opposite direction to return them to their original positions. Then, as shown in FIG. 9(d), the pipe is advanced by moving the chuck forward, and the pipe is clamped again using the clamping and bending dies. The direction in which the pipe is bent can also be changed by rotating the chuck to twist the pipe before clamping it. Then, as described above, the bending and clamping dies can be rotated around the bending die's rotation axis while the pipe is still clamped between the clamping and bending dies to bend the pipe at a new position. Repeating this procedure makes it possible to bend the pipe in various directions at various positions. Based on the above explanation, we will now explain the YOGO chart 200, which describes the pipe bending operation of the pipe bender 10 of FIG. 1.

[0062] D-2. YOGO Chart 200 describing the bending of a pipe: Fig. 10 is an explanatory diagram showing the first half of a YOGO chart 200 that describes the pipe bending operation of the pipe bender 10, and Fig. 11 is an explanatory diagram showing the second half of the YOGO chart 200. As described above with reference to Fig. 1, the pipe bender 10 is equipped with ten actuators Ac10 to Ac19, and therefore the YOGO chart 200 has ten rows (horizontally long columns). Each row is assigned an actuator number from 1 to 10, and the ten actuators Ac10 to Ac19 are assigned in order, starting from the row with actuator number 1.

[0063] When bending a pipe, the pipe must first be gripped by the chuck 12b. To do this, the transfer unit 12 must be advanced to move the chuck 12b to the position where the pipe is to be fed. Therefore, as shown in FIG. 10 , an operation line 203 is plotted on the YOGO chart 200 at the coordinate position (hereinafter, referred to as chart coordinates (4,1)) where the actuator number is 4 and the partial period number is 1, which corresponds to the actuator Ac13 that moves the transfer unit 12. A basic operation 206 is plotted above the operation line 203. The basic operation 206 plotted at the chart coordinates (4,1) is also shown in FIG. 12( a). That is, because the actuator Ac13 is an actuator that moves forward and backward by combining an AC servo motor with a conversion mechanism, the operation symbol 206a of the basic operation 206 is "CNC-XA," and the parameter symbol 206b is "BO-CA03" indicating the travel distance, "BO-CA04" indicating the travel speed, and "BO-CA05" indicating the travel torque. The parameter values ​​indicated by these parameter symbols 206b are set in advance in a table called table B for actuator Ac13.

[0064] Once the chuck 12b has been moved to the position where the pipe is to be supplied, it is necessary to grip the pipe using the chuck 12b. Therefore, on the YOGO chart 200, an operation line 203 is drawn at the coordinate position (hereinafter referred to as chart coordinates (1,2)) where the actuator number is 1, which corresponds to the actuator Ac10 that opens and closes the chuck 12b, and the partial period number is 2, and a basic operation 206 is written on the operation line 203. The basic operation 206 written at the chart coordinates (1,2) is shown in Figure 12(b).

[0065] Once the pipe is gripped by the chuck 12b, the transport unit 12 is then retracted to move the pipe to the origin position. Accordingly, an action line 203 is drawn on the YOGO chart 200 at the coordinate position corresponding to the actuator Ac13 used to move the pipe and having the partial period number 3 (hereinafter referred to as chart coordinate (4,3)), and a basic action 206 for moving the pipe is drawn on the action line 203. The basic action 206 drawn on the chart coordinate (4,3) is shown in FIG. 12(c).

[0066] Next, a bending die is selected based on the radius at which the pipe is to be bent (bending radius). As described above with reference to Figure 9, the pipe is bent by wrapping it around the bending die, so the bending radius of the pipe depends on the radius of the bending die. Therefore, the pipe bender 10 in Figure 1 is equipped with three bending dies with different radii, allowing the user to select the bending die to use. Note that hereinafter, the process of selecting a bending die will be referred to as the "bending die selection process." As described above, the bending dies are disk-shaped, and three bending dies are installed in the processing unit 13 in a vertically stacked state. The bending die is selected by raising or lowering the processing unit 13 and moving the bending die to be used to the position of the pipe. The vertical movement of the processing unit 13 is achieved by using an actuator Ac17 that moves forward and backward by combining an AC servo motor with a conversion mechanism. In response to this, an operation line 203 is drawn on the YOGO chart 200 at the coordinate position where the actuator number is 8, which corresponds to actuator Ac17, and the partial period number is 4 (hereinafter, shown as chart coordinate (8,4)), and a basic operation 206 for the bending die selection process is drawn on top of this line. The basic operation 206 drawn at the chart coordinate (8,4) is shown in Figure 12(d). Note that the operation symbol 206a of the basic operation 206 shown in Figure 12(d) is "CNC-XL" because the operating mechanism of actuator Ac17 is a combination of an AC servo motor and a conversion mechanism.

[0067] After selecting the bending die, the clamp die is brought close to the bending die, and the clamp die and the bending die hold the pipe lightly. Hereinafter, the process of bringing the clamp die close to the bending die and lightly holding the pipe will be referred to as the "pre-tightening process." The clamp die is moved by moving the actuator Ac19 back and forth. Correspondingly, an operation line 203 is drawn on the YOGO chart 200 at the coordinate position (hereinafter referred to as chart coordinates (10,5)) corresponding to actuator Ac19, where actuator number is 9 and partial period number is 5, and a basic operation 206 for the pre-tightening process is drawn on the operation line 203. The basic operation 206 drawn at the chart coordinates (10,5) is shown in Figure 12(e).

[0068] Next, the chuck 12b is moved horizontally to bring the pipe into close contact with the bending die. In other words, to bend a pipe, the pipe must be in close contact with the bending die. However, if the pipe remains in close contact with the bending die, there is a risk of scratches on the pipe surface when the pipe is moved axially to change the bending position. Therefore, the pipe is lightly in contact with the bending die while not being bent, and is brought into close contact with the bending die just before bending the pipe. The process of moving the chuck 12b horizontally to bring the pipe into close contact with the bending die is hereinafter referred to as the "contacting process." The horizontal movement of the chuck 12b is performed using the actuator Ac12. Accordingly, an operation line 203 is drawn on the YOGO chart 200 at the coordinate position of actuator number 3 and partial period number 6 (hereinafter referred to as chart coordinates (3,6)) corresponding to actuator Ac12, and a basic operation 206 for the contacting process is drawn above the line 203. The basic action 206 described at chart coordinates (3,6) is shown in FIG. 12(f).

[0069] Once the pipe is tightly pressed against the bending die, the clamp die, which is in a pre-tightened state, is brought closer to the bending die so that the clamp die and bending die firmly grip the pipe. The pressure die is also moved to a position where it is flush with the clamp die. Because the clamp die is firmly gripping the pipe, the pressure die is also in close contact with the pipe. Note that the process of bringing the clamp die closer to the bending die to firmly grip the pipe and bringing the pressure die into close contact with the pipe will be referred to below as the "final tightening process." The operation of moving the clamp die in the final tightening process is performed using actuator Ac19, and the operation of moving the pressure die is performed using actuator Ac16. Corresponding to this, on the YOGO chart 200, an operation line 203 is drawn at the coordinate position corresponding to actuator Ac16, where actuator number is 7, and partial period number is 7 (hereinafter referred to as chart coordinate (7,7)), and at the coordinate position corresponding to actuator Ac19, where actuator number is 10, and partial period number is 7 (hereinafter referred to as chart coordinate (10,7)), and the basic operation 206 of actuator Ac16 and the basic operation 206 of actuator Ac19 are drawn on each operation line 203. The basic operation 206 drawn at the chart coordinate (7,7) is shown in Figure 12(g), and the basic operation 206 drawn at the chart coordinate (10,7) is shown in Figure 12(h).

[0070] Once the final tightening process is completed, the process of bending the pipe (hereinafter referred to as the "bending process") finally begins. As shown in FIG. 11, in the bending process, four actuators, namely, actuators Ac13, Ac14, Ac15, and actuator Ac18, are operated simultaneously. Explaining this in order below, first, actuator Ac18 is operated to rotate the bending die and the clamp shaft around the rotation axis of the bending die (see FIG. 9(b)). Furthermore, in conjunction with this operation, actuator Ac13 is operated to advance chuck 12b (see FIG. 9(b)). Furthermore, in conjunction with these operations, actuators Ac14 and Ac15 are also operated.

[0071] Actuators Ac14 and Ac15 are installed for the following purposes. As described above, the clamp die not only clamps the pipe by approaching the bending die, but also moves around the bending die's rotation axis. Therefore, actuator Ac19, which clamps the pipe, also moves around the bending die's rotation axis together with the clamp die, pulling the various electric cables connected to actuator Ac19. If the electric cables are left long in anticipation of this, there is a risk that the electric cables will swing around and become tangled with other actuators. To avoid this, it is desirable to feed out and retract the electric cables in accordance with the movement of the clamp die. Therefore, the pipe bender 10 shown in FIG. 1 is equipped with actuators Ac14 and Ac15 for feeding out and retracting the electric cables connected to actuator Ac19. When the clamp die moves around the bending die's rotation axis and the pressure die advances accordingly, actuators Ac14 and Ac15 advance in accordance with this movement, thereby feeding out the electric cables connected to actuator Ac19.

[0072] The actuator Ac18 that moves the clamp die around the rotation axis of the bending die has the actuator number 9, the actuator Ac13 that advances the chuck 12b has the actuator number 4, the actuators Ac14 and Ac15 that feed out the electric cable have the actuator numbers 5 and 6, and the partial period number of the partial period in which these actuators Ac13 to Ac15 and Ac18 operate is 8. Therefore, on the YOGO chart 200, operation lines 203 are drawn at the chart coordinate positions (4,8), (5,8), (6,8), and (9,8), and basic operations 206 of these actuators Ac13 are drawn on each operation line 203. The basic operations 206 drawn at each chart coordinate are shown in Figures 12(i), (j), (k), and (l). The operation symbol 206a of the basic operation 206 shown in Figures 12(j) and (k) is "CNC-XL" because the operating mechanism of the actuators Ac14 and Ac15 is a combination of an AC servo motor and a conversion mechanism.

[0073] Once the bending process is completed as described above, the clamping and pressure dies that were attached to the pipe during the final tightening process are released from the pipe and returned to their original positions. This process is hereinafter referred to as the "die opening process." In the die opening process, actuators Ac16 and Ac19 are used. Since the actuator number of actuator Ac16 is 7 and the actuator number of actuator Ac19 is 10, the YOGO chart 200 is plotted with operation lines 203 at the chart coordinates (7,9) and (10,9), and the basic operations 206 of these actuators Ac13 are plotted on each operation line 203. The basic operations 206 plotted at each chart coordinate are shown in Figures 12(m) and (n).

[0074] After the die opening process is completed, the clamping die, which was moved around the rotation axis of the bending die during the pipe bending process, is returned to its original position. This process is hereinafter referred to as the "bending return process." As described above, during the bending process, as the clamping die moves around the rotation axis of the bending die, the actuator Ac19 for clamping the pipe with the clamping die also moves around the rotation axis of the bending die. Therefore, by advancing the actuators Ac14 and Ac15, the electric cable of actuator Ac19 is fed out. In contrast, during the bending return process, the clamping die moves in the opposite direction around the rotation axis of the bending die, so the fed electric cable remains and may become tangled with other actuators. Therefore, during the bending return process, the actuators Ac14 and Ac15 are retracted in conjunction with the operation of returning the clamping die to its original position, thereby retracting the electric cable of actuator Ac19. Correspondingly, on the YOGO chart 200, operation lines 203 are drawn at the coordinate positions of chart coordinates (5,10), chart coordinates (6,10), and chart coordinates (9,10), and basic operations 206 of these actuators Ac13 are drawn on each operation line 203. The basic operation 206 drawn at chart coordinates (5,10) is shown in Figure 12(o). Note that the basic operations 206 drawn at chart coordinates (6,10) and chart coordinates (9,10) are not shown.

[0075] Once the bending recovery process is completed as described above, actuator Ac13 is advanced to move transport unit 12 to the pipe removal position, and then chuck 12b holding the pipe is opened, allowing the pipe to be removed. Corresponding to this, on the YOGO chart 200, basic operation 206 of actuator Ac13 is written at chart coordinate (4,11), and basic operation 206 of actuator Ac10 is written at chart coordinate (1,12). Note that the basic operations 206 written at chart coordinate (4,11) and chart coordinate (1,12) are also omitted from the illustration.

[0076] Furthermore, if the pipe is to be bent at another position, the pipe must be transported using the transport unit 12 to the next bending position (bending position) rather than the pipe removal position, and the chuck 12b must then be rotated to match the direction in which the pipe will be bent next. Therefore, the parameter symbol 206b of the basic operation 206 described at the chart coordinates (4,11) is the parameter symbol 206b for transporting the pipe to the bending position. Furthermore, instead of describing the basic operation 206 for opening the chuck at the chart coordinates (1,12), the basic operation 206 for rotating the chuck 12b is described at the chart coordinates (2,12). The basic operation 206 described at the chart coordinates (2,12) is also not shown.

[0077] In this way, the pipe is transported to the next bending position, and the chuck 12b is rotated to match the bending direction, and then the same operations as in the partial periods with partial period numbers 4 to 10 are performed. That is, the seven processes described above, namely the "bending die selection process," "pre-tightening process," "contact process," "final tightening process," "bending process," "die release process," and "bending recovery process," are performed in order. As a result, the pipe bending operation at the new position is completed. Note that a series of operations consisting of these seven processes will be referred to as the "pipe bending operation" below. If the pipe is to be bent to another position, the pipe is transported to the next bending position, the chuck 12b is rotated to match the bending direction, and the pipe bending operation described above is performed again.

[0078] Once all bending operations have been completed by repeating this process, the pipe is transported to the removal position and the chuck 12b is opened (i.e., the same content as the partial periods 11 and 12 in FIG. 11 is entered in the YOGO chart 200). By creating the YOGO chart 200 as described above and having a computer read it, it is possible to automatically generate a control program for the pipe bender 10 using the mechanism described above.

[0079] FIG. 13 is an explanatory diagram showing the entire YOGO chart 200 for bending a pipe at four locations. Note that in FIG. 13, the YOGO chart 200 is displayed in a reduced size so that the entire YOGO chart 200 can be viewed at a glance. As shown in FIG. 13, when attempting to bend a pipe at four locations, the YOGO chart 200 becomes very long. The reason for this is that the YOGO chart 200 is created by assigning basic actuator operations 206 to partial periods, and therefore the more locations the pipe is bent, the more partial periods that make up the YOGO chart 200. Incidentally, the YOGO chart 200 shown in FIG. 13 is made up of 39 partial periods.

[0080] To create a YOGO chart 200, basic movements 206 must be written one by one in each sub-period. However, each basic movement 206 is merely a single movement that constitutes the overall movement. Therefore, in order to write the correct basic movement 206, it is necessary to understand the content written in the previous sub-periods. However, as the YOGO chart 200 becomes longer, it becomes difficult to understand the content written in the previous sub-periods. For example, to write a basic movement 206 in the latter sub-period of the YOGO chart 200 shown in FIG. 13, it is necessary to check the content written in all previous sub-periods to determine which sub-period of the pipe bending movement corresponds to the basic movement 206. However, as the YOGO chart 200 becomes longer, it becomes difficult to refer to all the sub-periods that have already been written. Furthermore, because the basic movements 206 written in each sub-period are merely simple movements, the purpose of each basic movement 206 cannot be understood from them alone. In other words, it is only by understanding the content and order of the basic movements 206 performed up to that point that the purpose of each basic movement 206 can be understood. Then, once the purpose of each basic operation 206 is understood, it becomes possible to finally determine, for example, which partial period of the pipe bending operation it corresponds to. This becomes difficult when the YOGO chart 200 becomes long. Therefore, in order to improve this point, we decided to introduce the concept of a "sub-chart" to the YOGO chart 200, which will be explained below.

[0081] E. Subchart: The YOGO chart 200 shown in Figure 13 describes the operation of bending a pipe at four locations, and correspondingly, the section describing the pipe bending operation is repeated four times in the YOGO chart 200. Also, as mentioned above, the pipe bending operation consists of seven processes: a "bending die selection process," a "pre-tightening process," a "contact process," a "final tightening process," a "bending process," a "die release process," and a "bending recovery process." These processes correspond to seven consecutive partial periods numbered 4 to 10 in the YOGO chart 200 shown in Figures 10 and 11.

[0082] Therefore, as shown in FIG. 14(a), small charts are created by extracting these partial periods. Hereinafter, these small charts, each extracted from the YOGO chart 200, are referred to as "subcharts 300." A unique subchart symbol 301 is assigned to each subchart 300, and when creating the YOGO chart 200, the subchart symbol 301 can be placed on the operation line 203. In the example shown in FIG. 14(b), the subchart symbol 301 "SUBCHRT1" is placed at chart coordinates (1, n) on the YOGO chart 200. Note that "n" represents a natural number. Thus, a partial period with the subchart symbol 301 represents multiple consecutive partial periods. In this embodiment, the subchart 300 corresponds to the "subchart" of the present invention, and the subchart symbol 301 corresponds to the "subchart display" of the present invention.

[0083] 14(b), the subchart symbol 301 is written at the coordinate position of actuator number 1, but the subchart symbol 301 may be written at the coordinate position of any actuator number. Alternatively, as shown in Fig. 15, in addition to the rows (horizontally elongated areas) to which actuators are assigned on the YOGO chart 200, a dedicated row 207 for writing the subchart symbol 301 may be added to the YOGO chart 200, and the subchart symbol 301 may be written at the coordinate position of the added dedicated row 207.

[0084] In addition, the YOGO chart 200 shown in FIG. 13 performs four pipe bending operations. While these operations are similar in that they are composed of the seven steps described above, the selected bending tool and bending angle are different. Therefore, the subchart 300 corresponding to the second pipe bending operation is different from the subchart 300 corresponding to the first pipe bending operation shown in FIG. 14(a). That is, the subchart 300 has the same operation symbol 206a of the basic operation 206 as the subchart 300 in FIG. 14(a), but a different parameter symbol 206b. Therefore, a subchart symbol 301 called "SUBCHRT2" is associated with the subchart 300 corresponding to the second pipe bending operation. Similarly, a subchart symbol 301 called "SUBCHRT3" is associated with the subchart 300 corresponding to the third pipe bending operation, and a subchart symbol 301 called "SUBCHRT4" is associated with the subchart 300 corresponding to the fourth pipe bending operation.

[0085] Figure 16 is an explanatory diagram illustrating an example in which the YOGO chart 200 of Figure 13 is drawn using a sub-chart 300. In the figure, a sub-chart symbol 301 is drawn in the position enclosed by a dashed rectangle. As is clear from a comparison of Figures 13 and 16, the use of the sub-chart 300 shortens the YOGO chart 200, making it easy to refer to the entire YOGO chart 200.

[0086] In addition, by grouping multiple sub-periods that make up a meaningful group of operations (here, pipe bending operations) into sub-charts 300, rather than simply grouping multiple consecutive sub-periods into sub-charts 300, it becomes possible to easily understand the content of the YOGO chart 200. For example, in the YOGO chart 200 shown in Fig. 16, sub-chart symbols 301 are written in four places, so it is possible to immediately recognize that pipe bending operations are performed four times and that, during these pipe bending operations, actuator Ac13 is used to move conveying unit 12 and actuator Ac11 is used to twist the pipe.

[0087] In this way, by creating a YOGO chart 200 using subcharts 300, it is possible to easily refer to the entire YOGO chart 200 and also to easily recognize the contents written on the YOGO chart 200. Therefore, it is possible to easily create a YOGO chart 200 even when making an automated manufacturing machine perform complex operations.

[0088] In the above explanation, the pipe bending operation is considered to consist of seven processes: "bending die selection process," "pre-tightening process," "contact tightening process," "final tightening process," "bending process," "die release process," and "bending recovery process," and the seven partial periods corresponding to these processes are summarized as sub-chart 300. However, before the pipe bending operation, there are also processes of advancing the pipe to the position where it is to be bent and twisting the pipe to match the direction in which it is to be bent. Therefore, multiple processes including these processes may be summarized as sub-chart 300.

[0089] F. Control program generator 110: Once the YOGO chart 200 and subchart 300 described above have been created, the control program for the pipe bender 10 can be automatically generated by loading these charts into the control program generation device 110 (see Figure 2) in the control device 100.

[0090] F-1. Overview of the control device 100 and the control program generation device 110: FIG. 17 is an explanatory diagram of a control device 100 incorporating a control program generation device 110. 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. These "units" are abstract concepts that represent the functions of the control device 100 to create and store a YOGO chart 200 or a subchart 300, and the functions of the control program generation device 110 to read the YOGO chart 200 or the subchart 300 and generate a control program. Therefore, it does not mean that the control device 100 or the control program generation device 110 is formed by combining components corresponding to these "units." In reality, these "parts" can be realized in the form of a program executed by a CPU, or in the form of an electronic circuit combining IC chips, LSIs, etc., or even in a variety of forms, such as a mixture of these.

[0091] The chart creation unit 101 is connected to the monitor screen 100m, the operation input buttons 100s, etc., and a mechanical engineer or the like with sufficient knowledge of automated manufacturing machines such as the pipe bender 10 creates the sub-chart 300 shown in Fig. 14(a) or the YOGO chart 200 shown in Fig. 16 by operating the operation input buttons 100s while viewing the monitor screen 100m. An engineer with sufficient knowledge of the operation of automated manufacturing machines can easily create the sub-chart 300 or the YOGO chart 200.

[0092] Furthermore, in this embodiment, when entering a basic action 206 in a YO-GO chart, the basic action 206 is entered using an action symbol 206a and a parameter symbol 206b as a general rule, but the action symbol 206a, the parameter symbol 206b, and the parameter values ​​corresponding to the parameter symbol 206b are stored in the basic action storage unit 112. Therefore, the chart creation unit 101 can refer to the basic action storage unit 112, and when creating a sub-chart 300 or a YO-GO chart 200, the basic action 206 can be entered while referring to the basic action storage unit 112. Then, once the sub-chart 300 or the YO-GO chart 200 is completed, it is stored in the chart storage unit 102.

[0093] The chart reading unit 111 of the control program generating device 110 reads the YOGO chart 200 and the sub-chart 300 stored in the chart storage unit 102 and outputs them to the intermediate data generating unit 113. The intermediate data generating unit 113 analyzes the read YOGO chart 200 and the sub-chart 300 to generate intermediate data (described later), and then outputs the intermediate data to the intermediate data converting unit 114. The process of generating intermediate data from a YOGO chart will be described in detail later. Note that instead of reading the YOGO chart 200 and the sub-chart 300 from the chart storage unit 102, the chart reading unit 111 may read the YOGO chart 200 and the sub-chart 300 from a computer 50 provided separately from the control device 100.

[0094] Upon receiving the intermediate data, the intermediate data conversion unit 114 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 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.

[0095] F-2. Control program generation process: 18 is a flowchart showing an outline of the control program generation process executed by the control program generation device 110. As shown in the figure, the control program generation process first reads the YOGO chart and subchart 300 (STEP 1). Next, by incorporating the subchart 300 into the YOGO chart 200, the YOGO chart 200 including the subchart symbol 301 is reconstructed into the YOGO chart 200 not including the subchart symbol 301 (STEP 2).

[0096] FIG. 19 is an explanatory diagram showing how a YOGO chart 200 including a subchart symbol 301 is reconstructed into a YOGO chart 200 that does not include the subchart symbol 301. FIG. 19(a) shows a portion of the YOGO chart 200, in which the subchart symbol 301 is included in the subchart period numbered 4. Therefore, by replacing the subchart period (the shaded subchart period in the figure) containing the subchart symbol 301 with the subchart 300 indicated by the subchart symbol 301 and then renumbering the subchart period, the YOGO chart 200 shown in FIG. 19(b) can be obtained. In the case of the YOGO chart 200 shown in FIG. 16, there are four subchart periods containing the subchart symbol 301, so the above-described operation is performed for all of those subchart periods. In this way, the YOGO chart 200 including the subchart 300 shown in FIG. 16 can be converted into the YOGO chart 200 without the subchart 300 shown in FIG. 13. In STEP 2 of FIG. 18, the above processing is performed.

[0097] Once the YOGO chart 200 that does not include the subchart 300 is obtained in this manner, intermediate data is generated by analyzing the YOGO chart 200 (STEP 3). Fig. 20 is a flowchart of the process of analyzing the YOGO chart and generating intermediate data (YOGO chart analysis process). This process is executed by the intermediate data generation unit 113 in the control program generation device 110.

[0098] As shown in Figure 20, in the YOGO chart analysis process, first, the partial period number N and actuator number M are initialized to "1" (STEP 10). Next, it is determined whether a basic action has been entered at the chart coordinate (M, N) on the YOGO chart (STEP 11). Immediately after the partial period number N and actuator number M are initialized in STEP 10, both N and M are "1", so it is determined whether a basic action has been entered at the chart coordinate (1, 1) on the YOGO chart.

[0099] In the case of the YOGO chart 200 illustrated in FIG. 10, since no basic operation is entered at the chart coordinate (1,1), the answer is "no" in STEP 11, and it is then determined whether or not the actuator number M has reached its final value (STEP 14). Since the pipe bender 10 of this embodiment is equipped with ten actuators Ac10 to Ac19, the final value of the actuator number M is 10. Therefore, the answer is "no" in STEP 14 after checking whether or not a basic operation has been entered at the chart coordinate (1,1), so the actuator number M is incremented by one (STEP 15). Then, using the incremented actuator number M, it is again determined whether or not a basic operation has been entered at the chart coordinate (M,N) (STEP 11).

[0100] In this way, while the partial period number N remains "1", the actuator number M is incremented by one, and it is determined whether or not a basic operation is entered at the chart coordinate (M, 1). When it reaches the chart coordinate (M, 1) where a basic operation is entered, the result in STEP 11 is "yes".

[0101] If the determination in STEP 11 is "yes," the operation symbol 206a and parameter symbol 206b of the basic operation entered at that chart coordinate are read (STEP 12). In the YOGO chart illustrated in FIG. 10, when the chart coordinate (4,1) is reached, the determination in STEP 11 is "yes," and the operation symbol 206a and parameter symbol 206b of the basic operation 206 entered at the chart coordinate (4,1) are read. As described above with reference to FIG. 12(a), the chart coordinate (4,1) contains the operation symbol 206a "CNC-XA" as the operation symbol 206a of the basic operation 206 and three parameter symbols 206b "BO-CA03," "BO-CA04," and "BO-CA05" as the parameter symbols 206b, and therefore these four symbols are read.

[0102] Next, data including the chart coordinates (M, N) where the basic operation 206 was read and the read operation symbol 206a and parameter symbol 206b is stored in memory (STEP 13). (Hereinafter, intermediate data (M, N, operation symbol, numerical value table)) is stored in memory (STEP 13). In the case of the coordinates (4, 1) of the YOGO chart shown in FIG. 10, the intermediate data (4, 1, CNC-XA, BO-CA03, BO-CA04, BO-CA05) is stored in memory.

[0103] After storing the intermediate data read from the YOGO chart in memory (STEP 13), it is determined whether or not the actuator number M has reached the final value (10 in this case) (STEP 14). If the final value has not been reached (STEP 14: no), the actuator number M is incremented by one (STEP 15), and the process returns to STEP 11 to again determine whether or not a basic operation has been entered at the chart coordinates (M, N) on the YOGO chart.

[0104] On the other hand, if the actuator number M has reached its final value (STEP 14: yes), then it is determined whether the partial period number N has reached its final value (STEP 16). For example, if the operation of the pipe bender 10 is described using 100 partial periods on the YOGO chart, the final value of the partial period number N will be 100.

[0105] As a result, if the partial period number N has not reached the final value (STEP 16: no), the partial period number N is incremented by one (STEP 17), and the actuator number M is initialized to "1" (STEP 18), and then the process returns to STEP 11 to again determine whether a basic operation has been entered at the chart coordinates (M, N) on the YOGO chart. That is, in the YOGO chart 200 of Fig. 10, the partial periods with partial period number N of 1 are checked from top to bottom, and when the partial period with partial period number N of 2 is checked from top to bottom, the partial period with partial period number N of 2 is checked from top to bottom, and after checking the partial period with partial period number N of 3, and so on. The basic operations entered on the YOGO chart are read out in order from the smallest partial period number N to the largest partial period, and the intermediate data is stored in memory.

[0106] This operation is repeated until it is determined that the partial period number N has finally reached its final value (STEP 16: yes), which means that all basic actions entered in the YOGO chart have been read out.Then, the intermediate data stored in memory is read out and output to the intermediate data conversion unit 114 (see FIG. 17) (STEP 19).

[0107] FIG. 21 illustrates an example of intermediate data obtained when analyzing the YOGO chart illustrated in FIG. 10. As illustrated, the intermediate data is a collection of sets of data (hereinafter referred to as "data records") in which an actuator number M, a partial period number N, an operation symbol 206a, and a parameter symbol 206b are arranged in this order. The partial period number N in each data record takes any value from 1 to the final value of the partial period number N, and the actuator number M takes any value of the actuator number M listed in the YOGO chart. Every partial period number N on the YOGO chart is always listed in one of the data records, and every actuator number M listed in the YOGO chart is always listed in one of the data records. After outputting this intermediate data, the YOGO chart analysis process in FIG. 20 ends, and the process returns to the control program generation process in FIG. 18.

[0108] 18, a control program is generated based on the intermediate data obtained in this manner (STEP 4). FIG. 22 shows a control program generated from the intermediate data exemplified in FIG. 21. As shown in the figure, the control program is a collection of sets of data (i.e., data records) in which an actuator number M, a partial period number N, a program element number P, and a parameter value V are arranged in this order. As is clear from a comparison between the data record of the intermediate data shown in FIG. 21 and the data record of the control program shown in FIG. 22, in the data record of the control program, the operation symbol 206a in the data record of the intermediate data is replaced with the program element number P corresponding to that operation symbol 206a (see FIG. 5), and the parameter symbol 206b in the data record of the intermediate data is replaced with the parameter value V corresponding to that parameter symbol 206b (see FIG. 7).

[0109] The operation of replacing the operation symbol 206a and the parameter symbol 206b in the intermediate data with the program element number P and the parameter value V, respectively, is performed by the intermediate data conversion unit 114 in FIG. 17 by referring to the basic operation storage unit 112. That is, the basic operation storage unit 112 stores the operation symbol 206a in association with the program element number (see FIG. 5). Furthermore, as illustrated in FIG. 7, the basic operation storage unit 112 stores the parameter symbol 206b in association with the parameter value V set for the parameter symbol 206b. Therefore, by referring to these, the intermediate data conversion unit 114 replaces the operation symbol 206a and the parameter symbol 206b in the intermediate data with the program element number P and the parameter value V.

[0110] Once the control program has been generated from the intermediate data in the above manner (STEP 4 in FIG. 18), the generated control program is output to the operation control device 120 installed in the control device 100 (STEP 5), and the control program generation process in FIG. 18 is completed.

[0111] E. Overview of Operation of the Operational Controller 120: When the motion control device 120 of the control device 100 receives the control program, it controls the operation of the pipe bender 10 as follows. Explaining this using the control program shown in FIG. 22, the motion control device 120 first extracts the record with partial period number N of 1 from each record of the control program. In the control program of FIG. 22, the record (4, 1, 1, 25, 120, 100) is extracted. The first number in the record is the actuator number, and the third number in the record is the program element number. The fourth to sixth numbers in the record are parameter values ​​V specified for the program element. Therefore, the motion control device 120 uses the program element specified by the program element number to operate the actuator specified by the actuator number in accordance with the content specified by the parameter value V (i.e., movement amount, movement speed, movement torque).

[0112] When the operation with the specified content is completed, "1" is added to the partial period number N. Then, the record with the incremented partial period number (2 in this case) is extracted from the control program. In the control program of Figure 22, the record (1, 2, 1, 60, 20, 100) is extracted. Then, the actuator with actuator number 1 is operated using the program element with program element number 1 according to the content specified by the parameter value V. Then, when the operation with the specified content is completed, "1" is added again to the partial period number N, and the record with the partial period number after the increment is extracted, and the actuator is operated according to the content of the record.

[0113] There are also cases where multiple records having the partial period number N are extracted from the control program. For example, in the example shown in FIG. 22, multiple records are extracted when the partial period numbers are 7, 8, and 9. In such cases, multiple actuators are operated simultaneously according to the contents of each record. Then, when the operation of all actuators has been completed, "1" is again added to the partial period number N, and the record with the partial period number after the addition is extracted. By repeating this operation, it is possible to operate the pipe bender 10.

[0114] As explained in detail above, if the operation of the pipe bender 10 is described in the YOGO chart 200, a control program can be automatically generated from the YOGO chart 200 to operate the pipe bender 10. Furthermore, even if the YOGO chart 200 becomes large and it becomes difficult to refer to the entire YOGO chart 200, the entire YOGO chart 200 can be easily referred to by grouping multiple consecutive partial periods in the YOGO chart 200 into sub-charts 300. Furthermore, if multiple partial periods that make up a meaningful group of operations (for example, a pipe bending operation) are grouped into sub-charts 300, rather than simply multiple consecutive partial periods, the content described in the YOGO chart 200 can be easily understood.

[0115] F. Variations: There are several variations of the present embodiment described above, and the following describes these variations, focusing on the differences from the present embodiment.

[0116] F-1. First variant: In the above-described embodiment, it has been explained that, unless the contents described in the multiple partial periods summarized as subcharts 300 are completely identical, including the parameter symbols 206b of the basic operations 206, the multiple subcharts 300 are treated as different subcharts 300 and have different subchart symbols 301. For example, the YOGO chart 200 shown in Figure 13 includes four pipe bending operations, but these operations have different bending radii, bending angles, etc. For this reason, it has been explained that each pipe bending operation is summarized in a separate subchart 300, and a different subchart symbol 301 is set for each subchart 300 (see Figure 16).

[0117] However, it is also possible to standardize multiple subcharts 300 that only differ in some of the parameter symbols 206b of the basic operations 206. Below, such a subchart 300 of the first modified example will be described using as an example the subchart 300 that describes the pipe bending operation shown in Figure 14(a).

[0118] As mentioned above, the subchart 300 shown in FIG. 14(a) is composed of seven consecutive subperiods, each representing one of seven pipe bending steps: the "bending die selection step," the "pre-tightening step," the "contact step," the "final tightening step," the "bending step," the "die release step," and the "bending return step." Here, the "bending die selection step" refers to the step of raising or lowering the processing unit 13 to select a bending die appropriate for the bending radius of the pipe. The "pre-tightening step" refers to the step of bringing the clamp die close to the bending die and lightly holding the pipe. The "contact step" refers to the step of moving the chuck 12b horizontally to contact the pipe with the bending die. The "final tightening step" refers to the step of contacting the pressure die with the pipe. The "bending step" refers to the step of moving the clamp die around the bending die's rotation axis to bend the pipe. The "die release step" refers to the step of separating the pressure die and clamp die from the pipe. The "bending return step" refers to the step of returning the clamp die, which has been moved around the bending die's rotation axis, to its original position.

[0119] Since the bending die used varies depending on the bending radius of the pipe, the position of the processing unit 13 moved during the "bending die selection process" changes. Furthermore, the amount of movement of the clamp die and pressure die during the "pre-tightening process," "contact process," "final tightening process," "die release process," and "bending recovery process" also changes. However, the movement speed, movement torque, and other parameters do not need to be changed even if the bending radius of the pipe changes. Furthermore, if the bending angle of the pipe changes, the angle by which the clamp die is moved around the bending die's rotation axis during the "bending process" also changes, which in turn changes the amount of advancement of the chuck and the amount of feed of the electrical cable. However, the movement speed, movement torque, and other parameters do not need to be changed. Therefore, the YOGO chart 200 shown in FIG. 16 uses four subchart symbols 301—"SUBCHRT1," "SUBCHRT2," "SUBCHRT3," and "SUBCHRT4"—and four corresponding subcharts 300 must be prepared. However, these subcharts 300 only differ in some of the parameter symbols 206b of the basic operations 206.

[0120] Therefore, in the first modified example, for parameter symbols 206b that differ among multiple subcharts 300, a common parameter symbol 206b is set, and a different parameter value V is read out each time the parameter value V of that parameter symbol 206b is read out. That is, for normal parameter symbols 206b, a unique parameter value V is set in accordance with Table B shown in Fig. 7, but for newly introduced parameter symbols 206b, the parameter value V is switched in sequence each time the parameter symbol 206b is read out.

[0121] Fig. 23 is an explanatory diagram illustrating a subchart 300 of the first modified example. The subchart 300 of the first modified example differs from the subchart 300 shown in Fig. 14(a) in some parameter symbols 206b in the basic actions 206. Fig. 24 is an explanatory diagram showing the basic actions 206 written in the subchart 300 of the first modified example.

[0122] FIG. 24(a) shows a basic operation 206 written at chart coordinates (8,1) on the sub-chart 300 of FIG. 23. This basic operation 206 is a basic operation 206 for moving the processing unit 13 to select a bending die, and corresponds to the basic operation 206 shown in FIG. 12(d) in the YOGO chart 200 described above with reference to FIGS. 10 and 11. As is clear from a comparison of the basic operation 206 of the first modified example shown in FIG. 24(a) with the basic operation 206 of FIG. 12(d), in the basic operation 206 of the first modified example, the top parameter symbol 206b indicating the amount of movement has been changed to a parameter symbol 206d reading "KL-KR-X." The "-X" at the end of the parameter symbol 206d indicates that the parameter value V of this parameter symbol 206d changes each time it is read out. In addition, in FIG. 24(a), the changed parameter symbol 206d is displayed surrounded by a dashed rectangle, making it easy to recognize.

[0123] FIG. 24(b) shows a basic action 206 written at chart coordinates (10,2) on the subchart 300 of FIG. 23. This basic action 206 is for temporarily fastening a pipe with a clamp, and corresponds to the basic action 206 shown in FIG. 12(e) in the YOGO chart 200 described above with reference to FIGS. 10 and 11. The basic action 206 in FIG. 24(b) differs from the basic action 206 in FIG. 12(e) in that the top parameter symbol 206b indicating the amount of movement of the clamp has been changed to a parameter symbol 206d called "CL-SP-X" (i.e., a parameter symbol 206d whose parameter value V changes each time it is read). Also in FIG. 24(b), the changed parameter symbol 206d is displayed surrounded by a dashed rectangle.

[0124] The same applies to the other basic actions. That is, in the basic action 206 described at chart coordinate (3,3) on the subchart 300 in Fig. 23, the top parameter symbol 206b has been changed to parameter symbol 206d (see Fig. 24(c)), and in the basic action 206 described at chart coordinate (7,4), the top parameter symbol 206b has been changed to parameter symbol 206d (see Fig. 24(d)). Furthermore, in the basic action 206 at chart coordinate (10,4), and the basic actions 206 at chart coordinate (4,5), chart coordinate (5,5), chart coordinate (6,5), chart coordinate (9,5), chart coordinate (7,6), chart coordinate (10,6), chart coordinate (5,7), chart coordinate (6,7), and chart coordinate (9,7), the top parameter symbol 206b has also been changed to parameter symbol 206d (see Figs. 24(e) to (n)). For these parameter symbols 206d, parameter values ​​V are set as follows.

[0125] FIG. 25 is an explanatory diagram illustrating parameter values ​​V set for parameter symbols 206d of the first modified example. As described above with reference to FIG. 24, the subchart 300 of the first modified example includes 14 parameter symbols 206d, and four parameter values ​​V are set for each parameter symbol 206d. The reason for the four parameter values ​​is that the subchart 300 of FIG. 23 is used in four locations in the YOGO chart 200, corresponding to the assumption that the pipe is bent at four locations. As shown in FIG. 25, a table in which multiple parameter values ​​V are set for parameter symbols 206d of the modified example is called a "Table C."

[0126] By using the sub-chart 300 of the first modified example described above, even if the number of pipe bending operations increases, it is sufficient to prepare one sub-chart 300. This makes it even easier to create the YOGO chart 200.

[0127] F-2. Second variant: Also, instead of displaying the subchart symbol 301 on the YOGO chart 200, a subchart display 302 with selection conditions that combines the subchart symbol 301 with the selection conditions for selecting the subchart symbol 301 may be displayed on the YOGO chart 200.

[0128] Fig. 26 is an explanatory diagram of a YOGO chart 200 of a second modified example in which a sub-chart display 302 with selection conditions is drawn. As shown in Fig. 26(a), the sub-chart display 302 with selection conditions is drawn on the operation line 203, similar to the sub-chart symbol 301 described above. The sub-chart display 302 with selection conditions has at least one sub-chart symbol 301 and a selection condition 303 for selecting the sub-chart symbol 301. Figs. 26(b) to 26(d) show examples of a plurality of sub-chart displays 302 with selection conditions.

[0129] The subchart display 302 with selection conditions shown in FIG. 26(b) is formed by two subchart symbols 301, "SUBCHRT1" and "SUBCHRT2," and a selection condition 303, "SW1." Here, the selection condition 303, "SW1," indicates that SUBCHRT1 is selected when the switch SW1 is ON, and that SUBCHRT2 is selected when the switch is OFF. Subcharts 300 corresponding to the subchart symbols 301, "SUBCHRT1" and "SUBCHRT2," may be created in advance. Here, the number of partial periods forming each subchart 300 may differ. Furthermore, the number of subchart symbols 301 written in the subchart display 302 with selection conditions is not limited to two.

[0130] 26(c) is formed by three subchart symbols 301, "SUBCHRT1," "SUBCHRT2," and "SUBCHRT3," and a selection condition 303, "VALUE." Here, the selection condition 303, "VALUE," indicates that if the value of the function VALUE is "0," then SUBCHRT1 is selected; if it is "1," then SUBCHRT2 is selected; and if it is "2," then SUBCHRT3 is selected. Subcharts 300 corresponding to each subchart symbol 301 may be created in advance, and the number of partial periods in each subchart 300 may differ from one another.

[0131] 26(d) is formed by one subchart symbol 301 called "SUBCHRT1" and a selection condition called "IF(A)" 303. Here, the selection condition called "IF(A)" 303 indicates that if the condition "A" is satisfied, SUBCHRT1 is selected, but if it is not satisfied, SUBCHRT1 is not selected and the partial period is skipped.

[0132] By using these sub-chart displays with selection conditions 302, it is possible to flexibly switch the operation of each actuator according to various conditions. At the same time, it is possible to see the entire YOGO chart 200, making it easy to create the YOGO chart 200.

[0133] When generating a control program from a YOGO chart 200 having a subchart display 302 with selection conditions, there may be cases where the selection conditions 303 are finalized (subchart symbol 301 can be selected) at the time of generating the control program, or cases where the selection conditions 303 are not finalized. If the selection conditions 303 are finalized at the time of generating the control program, the control program can be generated by reconfiguring the YOGO chart 200 that does not include the subchart 300, as described above with reference to Figure 19. However, if the selection conditions 303 are not finalized at the time of generating the control program, the control program can be generated as follows.

[0134] For example, suppose that a subchart display 302 with selection conditions is assigned to the partial period numbered 4 in the YOGO chart 200 as shown in Fig. 27(a), and that the content of the subchart display 302 with selection conditions is to select either the subchart 300 SUBCHRT1 or SUBCHRT2 depending on the state of a switch called SW1 as shown in Fig. 27(b). Also, suppose that the subcharts 300 of SUBCHRT1 and SUBCHRT2 are the subcharts 300 shown in Fig. 27(c) and Fig. 27(d), respectively.

[0135] If the state of switch SW1 has not been determined at the time the control program is generated, the subcharts 300 of SUBCHRT1 and SUBCHRT2 are converted into intermediate data (see FIG. 21), and the intermediate data is then converted into a control program (see FIG. 22) and stored. Note that, hereinafter, the control program obtained by converting only the subchart 300 portion is referred to as the "sub-control program 304." The sub-control program 304 of this embodiment corresponds to the "sub-control program" of the present invention.

[0136] When generating a control program from the YOGO chart 200, the control program is generated for the remaining partial periods excluding the partial period to which the subchart display with selection conditions 302 is assigned. In the YOGO chart 200 shown in FIG. 27(a), the subchart display with selection conditions 302 is assigned to the partial period with partial period number 4, so control programs are generated for the partial periods with partial period numbers 1 to 3 and the partial periods with partial period numbers 5 and above. A jump command is written for the partial period with partial period number 4 so that a jump can be made to either the SUBCHRT1 or SUBCHRT2 sub-control program 304 depending on the state of the switch SW1. When the sub-control program 304 to which the jump is made is completed, the program returns to the partial period with partial period number 5 and execution of the control program is resumed.

[0137] An example of a control program generated in this way is shown in Figure 28. The part enclosed by a dashed line in the figure, "4: (402, 500, 600)," is a jump command. The jump command shown in the example indicates that in the partial period with partial period number 4, a jump is made to the sub-control program 304 starting from address "500" or "600" depending on the state of the switch indicated by the number "402" (switch SW1 in this case), and that once execution of the sub-control program 304 to which the jump is made is completed, execution of the control program is resumed from the partial period with partial period number 5.

[0138] In this way, even if the selection conditions 303 have not been determined at the time of generating the control program, the control program can be generated using the YOGO chart 200 including the sub-chart display 302 with selection conditions.

[0139] The above describes the control program generation device 110 of this embodiment and various modified examples, but the present invention is not limited to the above embodiments and modified examples, and can be embodied in various forms within the scope of the gist of the present invention.

[0140] 19, for example, a subchart 300 is read out from a YOGO chart 200 by writing a subchart symbol 301 in the YOGO chart 200. However, this is not limiting, and another subchart 300 may be read out from the subchart 300 by writing a subchart symbol 301 in the subchart 300.

[0141] Furthermore, when the same subchart symbol 301 is repeatedly written in the YOGO chart 200, it may be possible to specify the number of repetitions for the subchart symbol 301. For example, in the example shown in Figure 29(a), the subchart symbol 301 "SUBCHRT1" is written three times in succession in the YOGO chart 200. In such a case, as shown in Figure 29(b), it may be possible to indicate that the subchart symbol 301 "SUBCHRT1" is repeated three times by writing the subchart symbol 301 "SUBCHRT1(3)." [Explanation of symbols]

[0142] 10...pipe bender, 11...rail, 12...transport unit, 12a...gripping shaft, 12b...chuck, 13...processing unit, 50...computer, 100...controller, 100m...monitor screen, 100s...Operation input button, 101...Chart creation section, 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...Motion control device, 201...Partition line, 202...Trigger line, 203...Movement line, 204...Starting point, 205...Ending point, 206...Basic movement, 206a...operation symbol, 206b...parameter symbol, 206c...table symbol, 206d...parameter symbol, 207...dedicated line, 300...Subchart, 301...Subchart symbol, 302...Subchart display with selection conditions, 303...Selection conditions, 304...Sub-control program, Ac10~19...Actuator, DA10~19...driver amplifiers.

Claims

1. A control program generator (110) for generating a control program for an automated manufacturing machine (10) having a plurality of actuators, comprising: a basic operation storage unit (112) that stores a basic operation (206) in which the actuator operates in a direction of the degree of freedom of the actuator by a specified operation amount, in association with a program element that realizes the basic operation; an operation chart reading unit (111) that reads an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is broken down into a plurality of basic operations, and the basic operations are assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine; a control program generating 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 accordance with the order of the partial periods on the operation chart; Equipped with The operation chart reading unit not only reads the operation chart but also reads at least one sub-chart (300) in which the basic operations are assigned to a plurality of consecutive partial periods, The operation chart is assigned a sub-chart display (301) specific to the sub-chart for at least one of the sub-periods; The control program generation unit generates the control program for the partial period to which the sub-chart display is assigned by combining the program elements of the plurality of basic operations assigned to the partial period of the sub-chart corresponding to the sub-chart display in accordance with the order of the partial periods on the sub-chart. A control program generating device comprising:

2. 2. The control program generating device according to claim 1, The control program generation unit generates the operation chart not including the sub-chart display from the operation chart including the sub-chart display by replacing the partial period to which the sub-chart display is assigned with the plurality of consecutive partial periods of the sub-chart corresponding to the sub-chart display, and then generates the control program based on the generated operation chart. A control program generating device comprising:

3. 2. The control program generating device according to claim 1, In the operation chart, a plurality of the sub-chart displays and a selection condition (303) for selecting one of the plurality of sub-chart displays are assigned to at least one of the partial periods, the operation chart reading unit reads, in addition to the operation chart, a plurality of sub-charts corresponding to the plurality of sub-chart displays; The control program generation unit generates the control program in which the plurality of program elements are combined in accordance with the sub-chart corresponding to one of the sub-chart displays selected based on the selection condition for the partial period to which the plurality of sub-chart displays are assigned. A control program generating device comprising:

4. 4. The control program generating device according to claim 3, The control program generation unit For the plurality of sub-charts corresponding to the plurality of sub-chart displays, a sub-control program is generated as the control program for each of the sub-charts by combining the program elements of the plurality of basic operations assigned to the partial periods of the sub-charts in accordance with the order of the partial periods on the sub-charts; For the partial period to which the plurality of sub-chart displays are assigned, a control program is generated that executes one of the plurality of sub-control programs selected based on the selection condition. A control program generating device comprising:

5. A control program generation method for causing a computer to generate a control program for an automated manufacturing machine (10) having a plurality of actuators, comprising: an operation chart reading step (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine; a control program generation step (STEP 2, STEP 3, STEP 4) of converting the basic operations described in the operation chart into program elements by referring to a correspondence relationship in which the basic operations described in the operation chart and program elements for realizing the basic operations are associated and stored, and combining the program elements in accordance with the order of the partial periods, thereby generating the control program for operating the automatic manufacturing machine; Equipped with The operation chart reading step not only reads the operation chart but also reads at least one sub-chart (300) in which the basic operations are assigned to a plurality of consecutive partial periods, In the operation chart read in the operation chart reading step, a sub-chart display (301) unique to the sub-chart is assigned to at least one of the partial periods; The control program generating step generates the control program by combining, for the partial period to which the sub-chart display is assigned, the program elements of the plurality of basic operations assigned to the partial period of the sub-chart corresponding to the sub-chart display in accordance with the order of the partial periods on the sub-chart. A control program generating method comprising:

6. A program for implementing a method for generating a control program for an automated manufacturing machine (10) having a plurality of actuators using a computer, the program comprising: an operation chart reading function (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine; a control program generation function (STEP 2, STEP 3, STEP 4) that converts the basic operations described in the operation chart into program elements by referring to a correspondence relationship in which the basic operations described in the operation chart and program elements for realizing the basic operations are associated and stored, and combines the program elements in accordance with the order of the partial periods, thereby generating the control program that operates the automatic manufacturing machine; is realized using the computer, and The operation chart reading function is a function of reading not only the operation chart but also at least one sub-chart (300) in which the basic operations are assigned to a plurality of consecutive partial periods, In the operation chart read by the operation chart reading function, a sub-chart display (301) unique to the sub-chart is assigned to at least one of the partial periods; The control program generation function is a function for generating the control program for the partial period to which the sub-chart display is assigned by combining the program elements of the plurality of basic operations assigned to the partial period of the sub-chart corresponding to the sub-chart display in accordance with the order of the partial periods on the sub-chart. A program characterized by:

Citation Information

Patent Citations

  • Control program generating device

    JP1992005702A

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

    JP6829505B1