Action control device, action control method, program

By dividing the operation period of automated manufacturing machinery into multiple segments and assigning actuator actions to each segment, a feedback control method is adopted to solve the problem of limited control speed caused by a large number of actuators, thus achieving efficient control of manufacturing machinery.

CN115023672BActive Publication Date: 2026-01-23OPTON CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202180011396.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-30
Filing Date
2021-01-27
Publication Date
2026-01-23
Estimated Expiration
2041-01-27

AI Technical Summary

Technical Problem

In the prior art, as the number of actuators increases, the execution speed of the control program is limited by the processing capacity, especially when multiple automated manufacturing machines are combined to form a manufacturing system, making it impossible to execute the control program at the required speed.

Method used

The method employs motion control devices and methods to divide the motion period of automated manufacturing machinery into multiple segments, assign actuator motion content to each segment, select the control target segment and perform feedback control, suppress the number of actuators controlled simultaneously, and generate and execute control commands using a pre-stored control program.

Benefits of technology

Even with a large number of actuators, the control program can be executed effectively, avoiding the need for high-processing-capacity motion control devices and achieving efficient control of manufacturing machinery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115023672B_ABST
    Figure CN115023672B_ABST
Patent Text Reader

Abstract

A control program is stored in advance, which is obtained by dividing an operation period from the start of operation of an automatic manufacturing machine (10, 20, 30) to the end of operation into a plurality of partial periods and assigning to each partial period an actuator that operates and an operation content of the actuator. Then, partial periods that are control targets are sequentially selected one by one, and feedback control is performed on the operation of the actuator assigned to the partial period. Thus, even in the case of controlling the operation of an automatic manufacturing machine equipped with a large number of actuators, the number of actuators controlled at the same time can be suppressed, and therefore a control device (120) having high processing capacity need not be prepared, and the control program can be easily and quickly executed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a technique for controlling the operation of an automated manufacturing machine equipped with multiple actuators according to a control program. Background Technology

[0002] To improve productivity in manufacturing sites such as factories, automation of manufacturing processes using automated manufacturing machinery is indispensable. In manufacturing processes, various steps exist depending on the object to be processed or manufactured, the content of the processing (e.g., cutting, bending), etc. Therefore, various types of automated manufacturing machinery have been developed based on the manufacturing processes to be automated (e.g., Patent Document 1, Patent Document 2).

[0003] Furthermore, even within the same manufacturing process, the specific details differ from one manufacturing site to another. Therefore, it is difficult to reuse automated manufacturing machinery implemented in other manufacturing sites; generally, dedicated automated manufacturing machinery must be developed for each site. Moreover, developing dedicated automated manufacturing machinery also requires developing new control programs to operate that machinery.

[0004] However, developing control programs requires a significant amount of labor. Furthermore, to improve productivity on the manufacturing floor, it is necessary to enable automated manufacturing machines to perform complex actions, or to combine multiple automated manufacturing machines to form a manufacturing system. This further increases the labor required for developing control programs. Therefore, the inventors of this application have developed a technology that can automatically generate control programs based on special motion diagrams by describing the actions of automated manufacturing machines, and have filed applications (Japanese Patent Application 2020-011386, Japanese Patent Application 2020-075017). Moreover, since this special motion diagram is developed by the inventors of this application and does not exist previously, it will be referred to hereinafter as a "YOGO diagram".

[0005] These motion diagrams (YOGO diagrams) have the advantage of being easy to create if the movements of automated manufacturing machines are understood. Therefore, even with a large number of actuators mounted on automated manufacturing machines, YOGO diagrams for these machines can be created in a short time. Furthermore, when combining multiple automated manufacturing machines to form a manufacturing system, YOGO diagrams for these machines can also be created in a short time. Moreover, if the YOGO diagrams are created in advance, control programs can be easily generated.

[0006] Existing technical documents

[0007] Patent documents

[0008] Patent Document 1: Japanese Patent Application Publication No. 2011-245602

[0009] Patent Document 2: Japanese Patent Application Publication No. 2018-192570 Summary of the Invention

[0010] The problem the invention aims to solve

[0011] However, the aforementioned technology has the following problem: while control programs can be easily created, they may not be easily executed. This is because as the number of actuators to be controlled increases, the processing power required to control these actuators increases. Therefore, without a control device with high processing power, the control program cannot be executed at the required speed. Similarly, when a manufacturing system is formed using multiple automated manufacturing machines, the number of actuators to be controlled increases, and therefore, without a control device with high processing power, the control program cannot be executed at the required speed.

[0012] This invention was made to solve the aforementioned problems existing in the prior art, and its purpose is to provide a technique that can easily execute control programs generated based on motion diagrams (YOGO diagrams).

[0013] Solution for solving the problem

[0014] To solve the above problems, the motion control device of the present invention adopts the following structure. That is,

[0015] A motion control device (120) is applied to an automated manufacturing machine (10, 20, 30) equipped with multiple actuators. The device controls the motion of the automated manufacturing machine by causing the multiple actuators to operate according to a pre-stored control program. The motion control device is characterized by comprising:

[0016] The control program storage unit (121) stores motion description data as the control program. In the motion description data, the motion period from the start of the automatic manufacturing machine to the end of the motion is divided into multiple part periods, and the actuators that perform the motion and the motion content of the actuators containing the motion target value are assigned to each part period, thereby describing the motion of the automatic manufacturing machine.

[0017] The control object period selection unit (123) selects one of the partial periods from a plurality of partial periods as the control object period;

[0018] A control content extraction unit (124) extracts a control object actuator and control object action content from the control program, wherein the control object actuator is the actuator of the control object during its period as the control object, and the control object action content is the action content of the control object actuator; and

[0019] The control execution unit (127) provides feedback control over the action of the controlled object actuator, so that the controlled object actuator performs an action according to the controlled object's action content.

[0020] When the feedback control for the actuator of the controlled object ends, the control object period selection unit selects the next partial period of the current control object period as the new control object period.

[0021] Furthermore, the motion control method of the present invention, corresponding to the aforementioned motion control device, adopts the following structure. That is,

[0022] A motion control method is applied to a motion control device (120) for controlling the motion of an automated manufacturing machine (10, 20, 30) equipped with multiple actuators. The method controls the motion of the automated manufacturing machine by causing the multiple actuators to move according to a pre-stored control program. The motion control method is characterized by including the following steps:

[0023] The process is read (step 50), the control program is read, in which the operation period from the start of the automatic manufacturing machine to the end of the operation is divided into multiple partial periods, and the actuators that perform the operation and the operation content of the actuators containing the operation target value are assigned to each of the partial periods, thereby describing the operation of the automatic manufacturing machine.

[0024] Select a process (steps 51 and 63) to select one of the partial periods from the plurality of partial periods as the controlled period;

[0025] The extraction process (steps 52-55) extracts the controlled object actuator and the controlled object action content from the control program. The controlled object actuator is the actuator of the controlled object during its time as the controlled object, and the controlled object action content is the action content of the controlled object actuator.

[0026] The feedback control process (step 59) performs feedback control on the action of the actuator of the controlled object, so that the actuator of the controlled object performs the action according to the action content of the controlled object.

[0027] In the process of selecting the control object period, when the feedback control for the control object actuator ends, the next partial period of the current control object period is selected as the new control object period.

[0028] In the motion control device and motion control method of the present invention, the following control program is used in the control. First, a control program for the motion of the automated manufacturing machine is described by dividing the operation period of the automated manufacturing machine into multiple partial periods and assigning actuators and actuator action content to each partial period. When controlling the motion of the automated manufacturing machine, the partial periods as the control objects are selected sequentially one by one, and the actuators and actuator action content assigned to that partial period are extracted from the control program. Then, feedback control is performed on the motion of the actuators so that the extracted actuators operate with the extracted action content. In this way, even when controlling the motion of an automated manufacturing machine equipped with a large number of actuators, the number of actuators controlled simultaneously can be suppressed. As a result, there is no need to prepare a motion control device with high processing power, and therefore the control program can be easily executed.

[0029] In addition, in the motion control device of the present invention described above, a control program may be stored in advance, in which an actuator with a predetermined allowable allocation number or less is allocated for each part of the period.

[0030] Thus, since the number of actuators controlled simultaneously can be kept below the prescribed allowable number, the control program can be executed even without using a motion control device with high processing power.

[0031] Furthermore, in the motion control device of the present invention described above, a control program can be pre-stored containing information describing the motion target value of the actuator and the motion (i.e., the passed motion) used to generate the process up to reaching the motion target value, as the motion content of the actuator allocated to a certain period. Moreover, when a control target period is selected, the motion target value allocated to that control target period and the information used to generate the passed motion are extracted as the control target motion content, thereby generating the passed motion of the control target actuator. Furthermore, feedback control can be performed on the motion of the control target actuator to ensure that the control target actuator reaches the motion target value according to the passed motion.

[0032] Thus, since it is possible to control the actuator to achieve the desired action target value through the desired action, automated manufacturing machinery can be controlled more appropriately.

[0033] Furthermore, in the motion control device of the present invention described above, feedback control of the motion of the controlled object actuator can also be performed using the following method. First, a target value for each predetermined time interval until the controlled object actuator reaches the motion target value through the action is calculated in advance. Then, the motion of the controlled object actuator can be detected at predetermined time intervals, and feedback control of the motion of the controlled object actuator can be performed to make the detected value become the target value.

[0034] In this way, the actuator's movement can be precisely controlled by setting a predetermined time interval to a small value in advance.

[0035] Furthermore, the motion control method of the present invention described above can also be understood as a program for implementing the motion control method of the present invention using a computer mounted on a motion control device. That is, the program of the present invention is used to implement the motion control method using a computer mounted on a motion control device (120) that controls the motion of an automated manufacturing machine (10, 20, 30) equipped with multiple actuators. The motion control method is applied to the motion control device and controls the motion of the automated manufacturing machine by causing the multiple actuators to move according to a pre-stored control program. The program is characterized in that it uses a computer to implement the following functions:

[0036] The reading function (step 50) reads the control program, in which the operation period from the start of the automatic manufacturing machine to the end of the operation is divided into multiple partial periods, and the actuators that perform the operation and the operation content of the actuators containing the operation target value are assigned to each of the partial periods, thereby describing the operation of the automatic manufacturing machine.

[0037] Select a function (steps 51 and 63) to select one of the partial periods from the plurality of partial periods as the control object period;

[0038] Extraction function (steps 52-55): Extracting the controlled object actuator and the controlled object action content from the control program, wherein the controlled object actuator is the actuator of the controlled object during its time as the controlled object, and the controlled object action content is the action content of the controlled object actuator; and

[0039] The feedback control function (step 59) provides feedback control to the action of the actuator of the controlled object, so that the actuator of the controlled object performs actions according to the action content of the controlled object.

[0040] Furthermore, the function of selecting the control object period is as follows: when the feedback control for the control object actuator ends, the next partial period of the current control object period is selected as the new control object period.

[0041] If the computer of the motion control device reads and executes such a program, the control program can be executed at a sufficiently practical speed even without a motion control device with high processing power. Attached Figure Description

[0042] Figure 1This is an explanatory diagram illustrating the manufacturing system 1 controlled by the motion control device 120 of this embodiment.

[0043] Figure 2 This is an explanatory diagram showing the general structure of the robotic arm robots 20 and 30 used in manufacturing system 1.

[0044] Figure 3 This is an explanatory diagram showing the general structure of the pipe bending machine 10 used in manufacturing system 1.

[0045] Figure 4 This is an explanatory diagram showing the connection of multiple actuators Ac10 to Ac19 mounted on the pipe bending machine 10 to the motion control device 120 of this embodiment via drive amplifiers DA10 to DA19.

[0046] Figure 5 This is an explanatory diagram illustrating the basic principle that even if the total number of actuators to be controlled increases, the processing power required to execute the control program can be avoided from increasing.

[0047] Figure 6 This is an explanatory diagram that supplements the basic principle of how to avoid the increased processing power required to execute control programs.

[0048] Figure 7 This is an explanatory diagram about automatically correcting the YOGO diagram so that the number of basic actions in the allocation of the YOGO diagram during a certain period becomes below the allowable allocation number.

[0049] Figure 8 This is an explanatory diagram illustrating a portion of the YOGO diagram 200 read by the control program generation device 110 in this embodiment.

[0050] Figure 9 It is an explanatory diagram of the action descriptions 206a of the various basic movements recorded in YOGO diagram 200.

[0051] Figure 10 This is an explanatory diagram of the numerical table 206b used in combination with the action description 206a of “Ω-AA”.

[0052] Figure 11 This is an explanatory diagram of the numerical table 206b used in combination with the action description 206a of “Ω-AB”.

[0053] Figure 12 This is an explanatory diagram of the control program generation device 110 mounted on the central control device 100.

[0054] Figure 13 This is an explanatory diagram showing the situation where the actuator, action description 206a, and program component number are stored accordingly.

[0055] Figure 14 This is a flowchart of the control program generation process executed by the control program generation device 110 to generate a control program based on YOGO diagram 200.

[0056] Figure 15 This is a flowchart of the YOGO graph parsing process executed during the control program generation process.

[0057] Figure 16 This is an illustration of intermediate data generated through YOGO diagram parsing.

[0058] Figure 17 This is an illustrative diagram illustrating the control program generated by transforming intermediate data.

[0059] Figure 18 This is an explanatory diagram of the motion control device 120 of this embodiment, which is mounted on the central control device 100.

[0060] Figure 19 This is a flowchart of the first half of the motion control process of the motion control device 120 in this embodiment controlling the motion of the automatic manufacturing machine according to the control program.

[0061] Figure 20 This is the flowchart for the latter part of the motion control processing.

[0062] Figure 21 This is an explanatory diagram showing the storage of instructions corresponding to various program component numbers P.

[0063] Figure 22 This is an explanatory diagram illustrating the process of generating a numerical column of target values ​​according to instructions.

[0064] Figure 23 This is an explanatory diagram illustrating the situation where a numerical column of target values ​​is generated according to other instructions.

[0065] Figure 24 This is an explanatory diagram of a numerical table 206b that illustrates a first variant example with conditions set for considering the basic action to have ended.

[0066] Figure 25 This is an explanatory diagram of the motion control device 120 in the second variation. Detailed Implementation

[0067] A. Device Structure:

[0068] A-1. Overview of Manufacturing System 1:

[0069] Figure 1This is an explanatory diagram illustrating a manufacturing system 1 that manufactures a finished product B of a specified shape by bending tubular material A. The manufacturing system 1 includes a robotic arm robot 20 that grips and loads the material A, which is piled at a central location, onto a tube bending machine 10; a tube bending machine 10 that bends the loaded tubular material A; and a robotic arm robot 30 that grips and piles the finished product B, which has been bent by the tube bending machine 10, onto a central location. The tube bending machine 10, robotic arms 20, and 30 are connected to a central control unit 100.

[0070] The central control unit 100 includes a control program generation device 110 and a motion control device 120. The control program generation device 110 generates a control program for controlling the movements of the pipe bending machine 10, the robotic arm robot 20, and 30, and outputs it to the motion control device 120. The motion control device 120 controls the movements of the pipe bending machine 10, the robotic arm robot 20, and 30 according to the control program.

[0071] Furthermore, in this embodiment, the robotic arms 20 and 30 and the pipe bending machine 10 correspond to the "automatic manufacturing machinery" in this invention, but the automatic manufacturing machinery is not limited to the robotic arms 20 and 30 and the pipe bending machine 10. That is, any manufacturing machinery that can be equipped with multiple actuators and automatically perform multiple actions such as holding, conveying, processing, and heating on an object corresponds to the "automatic manufacturing machinery" in this invention.

[0072] A-2. Overview of robotic arm robots 20 and 30:

[0073] Figure 2 This is an explanatory diagram showing the general structure of the robotic arm robot 20 and robotic arm robot 30 used in manufacturing system 1. Figure 2 The diagram also shows the connection of multiple actuators mounted on robotic arm robot 20 and robotic arm robot 30 to motion control device 120. Figure 2 The robotic arm robots 20 and 30 shown are structures in which a mechanism for grasping objects is connected to the front end of a typical six-axis robotic arm robot. Furthermore, since robotic arm robot 20 and robotic arm robot 30 have the same structure in this embodiment, robotic arm robot 20 will be described below, and the description of robotic arm robot 30 will be replaced by that of robotic arm robot 20. Correspondingly, in Figure 2 In the text, the markings assigned to the robotic arm robot 20 are displayed without parentheses, while the markings assigned to the robotic arm robot 30 are displayed with parentheses when they are recorded together with the markings assigned to the robotic arm robot 20.

[0074] like Figure 2As shown, the robotic arm robot 20 (30) of this embodiment includes a base 21 (31) disposed on the ground, a main body 22 (32) mounted on the base 21 (31), a first arm 23 (33) mounted on the main body 22 (32), a second arm 24 (34) mounted on the first arm 23 (33), a third arm 25 (35) mounted on the second arm 24 (34), a fourth arm 26 (36) mounted on the third arm 25 (35), and a palm 27 (37) mounted on the fourth arm 26 (36). Furthermore, two gripping parts 28 (38) are erected on the palm 27 (37) facing each other. The main body 22 (32) is mounted to be able to rotate relative to the base 21 (31), and the first arm 23 (33) is mounted to be able to rotate relative to the main body 22 (32). Furthermore, "rotation" refers to the action of rotating one component relative to another in a torsional manner, while "turning" refers to the action of rotating one component relative to another in a bending manner. Additionally, the second arm 24 (34) is mounted to be able to rotate relative to the first arm 23 (33), the third arm 25 (35) is mounted to be able to rotate relative to the second arm 24 (34), and the fourth arm 26 (36) is mounted to be able to rotate relative to the third arm 25 (35). Furthermore, the palm 27 (37) is mounted to be able to rotate relative to the fourth arm 26 (36).

[0075] An actuator Ac21 (Ac31) is built into the base 21 (31). When the actuator Ac21 (Ac31) is driven, the main body 22 (32) rotates relative to the base 21 (31). Additionally, an actuator Ac22 (Ac32) is built into the connection between the main body 22 (32) and the first arm 23 (33). When the actuator Ac22 (Ac32) is driven, the first arm 23 (33) rotates relative to the main body 22 (32). Furthermore, an actuator Ac23 (Ac33) is built into the connection between the first arm 23 (33) and the second arm 24 (34). When the actuator Ac23 (Ac33) is driven, the second arm 24 (34) rotates relative to the first arm 23 (33). In addition, an actuator Ac24 (Ac34) is built into the second arm 24 (34). When the actuator Ac24 (Ac34) is driven, the third arm 25 (35) rotates relative to the second arm 24 (34).

[0076] An actuator Ac25 (Ac35) is built into the connection between the third arm 25 (35) and the fourth arm 26 (36). When the actuator Ac25 (Ac35) is driven, the fourth arm 26 (36) rotates relative to the third arm 25 (35). Additionally, an actuator Ac26 (Ac36) is built into the fourth arm 26 (36). When the actuator Ac26 (Ac36) is driven, the palm 27 (37) rotates relative to the fourth arm 26 (36). Furthermore, an actuator Ac27 (Ac37) is built into the palm 27 (37). When the actuator Ac27 (Ac37) is driven, the two gripping parts 28 (38) erected from the palm 27 (37) move closer or further apart depending on the driving direction. Furthermore, in the robotic arm robot 20 (30) of this embodiment, servo motors are used as actuators Ac21 to Ac27 (Ac31 to Ac37). However, it is not limited to servo motors; it can also be actuators that operate in different ways, such as stepper motors.

[0077] A drive amplifier DA21 (DA31) is connected to actuator Ac21 (Ac31). Here, "drive amplifier" refers to a device that has the following function: In order to drive the actuator, it is necessary to supply the actuator with a current that conforms to the actuator's drive mode and specifications. Therefore, even when performing the same operation, if the type and manufacturer of the actuators performing the operation are different, the current value and current mode supplied to each actuator may also be different. Therefore, a drive amplifier for the actuator is generally prepared for the actuator. When a drive quantity is input to the drive amplifier, the drive amplifier generates a current that conforms to the actuator's drive mode and specifications, thereby driving the actuator.

[0078] For actuators other than Ac21 (Ac31), each is also connected to a drive amplifier. That is, as... Figure 2 As shown, a drive amplifier DA22 (DA32) for driving actuator Ac22 (Ac32) is connected to actuator Ac22 (Ac32), and drive amplifiers DA23 (DA27) (DA33 (DA37)) for driving actuator Ac23 to Ac27 (Ac33 to Ac37) are also connected to actuator Ac23 to Ac27 (Ac33 to Ac37).

[0079] Furthermore, the drive amplifiers DA21 to DA27 (DA31 to DA37) are connected in series, and one end of the drive amplifier (DA27 (DA37) in the illustrated example) is connected to the motion control device 120 within the central control device 100. Therefore, the drive amplifiers other than the one directly connected to the motion control device 120 (DA27 (DA37) in the illustrated example) are connected to the motion control device 120 via other drive amplifiers. However, this connection method is not limited to this; for example, drive amplifiers DA23 to DA27 (DA33 to DA37) could also be directly connected to the motion control device 120.

[0080] Furthermore, the motion control device 120 provides feedback control to the operation of the drive amplifiers DA21 to DA27 (DA31 to DA37) so that the position of the components driven by the actuators Ac21 to Ac27 (Ac31 to Ac37) (e.g., the main body 22 (32), the first arm 23 (33), the second arm 24 (34), etc.) becomes the target position, as detailed later. Correspondingly, the actuators Ac21 to Ac27 (Ac31 to Ac37) have built-in encoders (not shown) for detecting rotational position, and the drive amplifiers DA21 to DA27 (DA31 to DA37) also have the function of sending the rotational position information detected by the encoders built into the actuators Ac21 to Ac27 to the motion control device 120.

[0081] A-3. Overview of Pipe Bending Machine 10:

[0082] Figure 3 This is an explanatory diagram showing the general structure of the pipe bending machine 10 used in manufacturing system 1. As described above, the pipe bending machine 10 has the function of manufacturing a finished product B of a specified shape by bending a long tubular material A.

[0083] like Figure 3 As shown, the pipe bending machine 10 of this embodiment generally has a horizontally elongated cuboid shape. Two tracks 11 are installed along the long side of the top surface of the cuboid. At one end of the track 11 (on... Figure 3On the left side, a delivery unit 12 is mounted to hold a tubular material A (not shown) and feed it along its long side. On the opposite side of the delivery unit 12, a processing unit 13 is mounted to bend the tubular material A. A cylindrical gripping shaft 12a protrudes from the delivery unit 12, and a chuck 12b (not shown) is attached to the front end of the gripping shaft 12a to hold the material A. Therefore, by moving the delivery unit 12 on the track 11 while the material A is held by the chuck 12b, the material A can be supplied to the processing unit 13, where it is bent.

[0084] The pipe bending machine 10 of this embodiment can control the amount of tubular material A fed out by the movement of the feed unit 12, thus allowing free control of the position where the material A is bent. Furthermore, the tubular material A can be bent in the desired direction by rotating the gripping shaft 12a, on which the chuck 12b is mounted, around its axis (a so-called torsional motion). To achieve this, the feed unit 12 is equipped with actuators Ac10 for opening and closing the chuck 12b, Ac11 for rotating the gripping shaft 12a, Ac12 for moving the gripping shaft 12a forward and backward axially, and Ac13 for moving the feed unit 12 forward and backward on the track 11. In the pipe bending machine 10 of this embodiment, these actuators Ac10 to Ac13 are all servo motors operated by AC power, but actuators with other drive methods (e.g., hydraulic cylinders, solenoids, stepper motors, etc.) can be used depending on the performance requirements of the actuator. In addition, the delivery unit 12 is also equipped with sensors such as encoders and limit switches for detecting the rotational position of the holding shaft 12a or the moving position of the delivery unit 12. However, to avoid making the attached drawings complicated, in Figure 3 The illustration is omitted.

[0085] The processing unit 13 is equipped with actuators Ac16 for bending the tubular material A, Ac17 for moving the position where force is applied to the material A during bending, Ac18 for moving the entire processing unit 13 vertically, and Ac19 for forming a flat end face called a flange or an annular protrusion called a protrusion on the tubular material A. Furthermore, the processing unit 13 is also equipped with encoders or contact switches / sensors, but illustrations of these are omitted to avoid cluttering the diagrams. Additionally, the processing unit 13 is equipped with multiple drive amplifiers for driving the aforementioned actuators Ac10-Ac13 and Ac16-Ac19, but... Figure 3 The diagram of the driver amplifier is also omitted.

[0086] And, as Figure 3As shown, various mechanical components are also mounted in the space below the two tracks 11. This space contains power cables (not shown) for supplying drive current from multiple drive amplifiers (not shown) mounted in the processing unit 13 to various actuators Ac10 to Ac13 in the output unit 12, and signal cables (not shown) for transmitting signals from various switches / sensors mounted in the output unit 12 to the processing unit 13. When these power cables and signal cables move within this space as the output unit 12 moves back and forth on the tracks 11, there is a risk of them becoming tangled or stuck. Therefore, to avoid this, actuators Ac14 and Ac15 are also mounted in the space below the tracks 11. Actuators Ac14 and Ac15 are used to eliminate unwanted slack by pulling back the cables when there is unwanted slack, and to provide appropriate slack by sending out the pulled-back cables when the power cables or signal cables are forcefully tightened. In the pipe bending machine 10 of this embodiment, cylinders are used as actuators Ac14 and Ac15, and the movement of these cylinders is also controlled by the motion control device 120 through a drive amplifier (not shown).

[0087] Figure 4 This is an explanatory diagram showing the connection of multiple actuators Ac10 to Ac19 mounted on the pipe bending machine 10 to the motion control device 120 via drive amplifiers DA10 to DA19. A drive amplifier DA10 for driving actuator Ac10 is connected to actuator Ac10, and a drive amplifier DA11 for driving actuator Ac11 is connected to driver Ac11. Similarly, drive amplifiers DA12 to DA19 for driving actuators Ac12 to Ac19 are connected to actuators Ac12 to Ac19. Furthermore, drive amplifiers DA10 to DA19 are connected in series, and one end of the drive amplifier (drive amplifier DA10 in the illustrated example) is connected to the motion control device 120 within the central control device 100. Therefore, drive amplifiers other than the one directly connected to the motion control device 120 (drive amplifier DA10 in the illustrated example) are connected to the motion control device 120 via other drive amplifiers. However, it is not limited to this connection method. For example, the drive amplifiers DA10 to DA19 can be directly connected to the motion control device 120 respectively.

[0088] As explained above, the motion control device 120 within the central control unit 100 is connected to DA21-DA27 of the robotic arm robot 20, DA10-DA19 of the pipe bending machine 10, and DA31-DA37 of the robotic arm robot 30 (see reference). Figure 2 and Figure 4Furthermore, the motion control device 120 controls the operation of the actuators Ac10-Ac19, Ac21-Ac27, and Ac31-Ac37 via these drive amplifiers DA10-DA19, DA21-DA27, and DA31-DA37.

[0089] Here, in order to control the movements of actuators Ac10-Ac19, Ac21-Ac27, and Ac31-Ac37, a control program needs to be created for the motion control device 120. Creating this control program requires more labor than manufacturing hardware such as robotic arms 20 and 30, or pipe bending machines 10. In particular, when there are a large number of actuators to be controlled, as in manufacturing system 1 of this embodiment, the labor required to create the control program increases further.

[0090] However, the inventors of this application have developed a technology for automatically generating control programs and have completed a patent application. In this technology, the actions of an automated manufacturing machine (here, robotic arm robots 20 and 30, and pipe bending machine 10) equipped with multiple actuators are decomposed into basic actions of multiple actuators (here, actuators Ac10-Ac19, Ac21-Ac27, and Ac31-Ac37), and these basic actions are recorded on a special motion diagram called a "YOGO diagram," thereby describing the actions of the automated manufacturing machine. Thus, a control program can be automatically generated based on the YOGO diagram using the mechanism described later. Therefore, even in the case of a large number of actuators to be controlled, such as in manufacturing system 1 of this embodiment, a control program can be easily created.

[0091] However, to control the movement of a large number of actuators, a motion control device 120 with high processing power is required. Therefore, in the case of a large number of actuators to be controlled, such as in the manufacturing system 1 of this embodiment, the control program may not be able to be executed at the required speed due to insufficient processing power of the motion control device 120. Thus, even if the control program can be easily created, it is difficult to say that the manufacturing system 1 or the automated manufacturing machine can be easily controlled. Therefore, the motion control device 120 of this embodiment is designed to execute the control program automatically generated from the YOGO diagram using the method described below. If this method is used, the processing power required to execute the control program can be suppressed. Therefore, even if the number of actuators to be controlled increases, the manufacturing system 1 or the automated manufacturing machine can be controlled without specially preparing a motion control device 120 with high processing power. The method of executing the control program by the motion control device 120 of this embodiment will be described below, but for ease of understanding, the principle of automatically generating the control program from the YOGO diagram will be explained first, and based on this explanation, the principle that the motion control device 120 of this embodiment can suppress the processing power required to execute the control program will be explained. Next, the specific processing details will be explained.

[0092] B. An overview of methods for creating YOGO diagrams and controlling automated manufacturing machine movements:

[0093] B-1. The principle of automatically generating control programs based on YOGO diagrams:

[0094] Figure 5 This is an explanatory diagram illustrating the principle of automatically generating control programs for automated manufacturing machinery (in this case, pipe bending machine 10, robotic arms 20, and 30) based on a special motion diagram named YOGO diagram. Figure 5 (a) shows the original YOGO diagram before the implementation of various improvements. The YOGO diagram of this embodiment, described later, is a modified version of the original YOGO diagram. Figure 5 The original YOGO diagram shown in (a) was developed and improved, but the principle of the automatic generation control program is the same as that of the original YOGO diagram. Therefore, for ease of understanding, the following is used... Figure 5 The original YOGO diagram shown in (a) illustrates the principle of automatically generating control programs based on YOGO diagrams.

[0095] Generally, automated manufacturing machines are equipped with multiple actuators, which drive the machine's actions. In a YOGO diagram, the operation of an automated manufacturing machine is described by combining the basic actions of these actuators. Here, the basic action of an actuator is the action in the direction of the actuator's degree of freedom (hereinafter referred to as the basic action). For example, if the actuator rotates like a motor, the rotational action is the basic action; if the actuator moves forward or backward like a cylinder, the forward or backward movement is the basic action. Furthermore, in the case of an actuator that rotates a ball screw via a motor to move a component meshing with the ball screw forward or backward, either the rotational action of the motor or the forward or backward movement of the component is the basic action. Thus, the basic action of an actuator is a simple action in which the actuator moves only in the direction of its degree of freedom with a specified amount of motion.

[0096] Furthermore, in the YOGO diagram, the motion period from the start to the end of the automated manufacturing machine is divided into multiple partial periods, and the basic actions of each actuator are assigned to any one of these partial periods selected for each basic action. Figure 5 In the example shown in (a), the basic action act1 of a certain actuator is assigned in the initial part of the automated manufacturing machine's operation (partial period 1). In the next part of the operation (partial period 2), the basic actions act2, act3, and act4 (of the same actuator or other actuators) are assigned. In the next part of the operation (partial period 3), the basic actions act5 and act6 are assigned. In the next part of the operation (partial period 4), the basic action act7 is assigned. In the next part of the operation (partial period 5), the basic actions act8 and act9 are assigned.

[0097] In this way, a series of actions by multiple actuators can be described. Specifically, a series of actions can be described as follows: First, a basic action act1 of a certain actuator begins. When basic action act1 ends, the corresponding actuator begins basic actions act2, act3, and act4. When these basic actions end, basic actions act5 and act6 begin. When these basic actions end, basic action act7 begins. When basic action act7 ends, basic actions act8 and act9 begin. This series of actions can be described in this way. Thus, in a YOGO diagram, the actions of an automated manufacturing machine are decomposed into the basic actions of multiple actuators mounted on the automated manufacturing machine, and these basic actions are assigned to any given period, thereby describing the actions of the automated manufacturing machine.

[0098] Furthermore, as the above explanation clearly shows, a partial period refers to the duration during which the assigned actuator performs its action, rather than the length of time. For example, the length of partial period 1 is the time required to execute basic action act1, and the length of partial period 2 is the longest of the times required to execute basic actions act2, act3, and act4. Therefore, the lengths of the various partial periods are usually different.

[0099] Furthermore, the basic actions of the actuators assigned to certain periods are simple actions such as rotating the motor by a certain amount or moving the cylinder forward or backward by a certain amount. Therefore, it is possible to pre-create small programs (hereinafter referred to as program components) for performing the basic actions of the actuators. For example, a program component prog1 for performing the basic action act1 of a certain actuator can be pre-created. Similarly, program components prog2 to prog9 for performing the basic actions act2 to act9 can also be pre-created.

[0100] Therefore, if these program components are arranged according to Figure 5 By connecting the links as described in the original YOGO diagram shown in (a), a control program for causing the automated manufacturing machinery to move can be automatically generated. That is, as... Figure 5 As shown in (b), program component prog1 is started first. When program component prog1 ends, program components prog2 to prog4 are started. When program components prog2 to prog4 end, program components prog5 and prog6 are started. When program components prog5 and prog6 end, program component prog7 is started. Then, when program component prog7 ends, program components prog8 and prog9 are started. In this way, program components that enable the actuator to perform basic operations are pre-made, and multiple program components are combined in a manner that enables these program components to be started one by one in the order described in the YOGO diagram. In this way, a control program for the operation of automated manufacturing machinery can be automatically generated based on the YOGO diagram.

[0101] B-2. The principle that enables the suppression of processing capabilities used to execute control programs:

[0102] As mentioned above, the YOGO diagram is described by assigning the basic actions of the actuator to partial periods (see reference). Figure 5 (a) The control program generated based on the YOGO diagram is a program that executes program components corresponding to basic actions in the order of the periods allocated to basic actions (see [reference]). Figure 5(b) Therefore, when there are many actuators mounted on an automated manufacturing machine, it is sufficient to control the basic actions by assigning them to the actuators during the currently executing portion. Thus, it is possible to suppress the number of actuators that are controlled simultaneously.

[0103] Of course, it's possible that the number of basic actions allocated to a certain period in a YOGO diagram increases significantly compared to other periods. For example, in... Figure 6 In the example shown in (a), up to nine basic actions, act10 to act18, are assigned to part period 6. When this situation occurs, in part periods with multiple basic actions (e.g., Figure 6 During part of period (a) 6), the number of actuators that should control the action increases significantly compared to other parts of the period.

[0104] However, for Figure 6 The basic actions act10 to act18 allocated to part period 6 in (a) do not necessarily need to be executed simultaneously. That is, in the content recorded in the YOGO diagram, these nine basic actions act10 to act18 need to be executed after the basic actions allocated to part period 5 are completed, and need to be executed before the basic actions allocated to part period 7 are started. Therefore, it is not recorded that these nine basic actions act10 to act18 need to be executed simultaneously.

[0105] Based on this situation, the portion of the period allocated to these nine basic actions, act10 to act18, can be divided into multiple partial periods. Figure 6 In the YOGO diagram illustrated in (b), Figure 6 In (a), period 6 is divided into two partial periods: partial period 6 and partial period 7. Furthermore, in Figure 6 (b) Lieutenant General Figure 6 The nine basic actions act10 to act18 in (a) are appropriately separated into either part period 6 or part period 7.

[0106] By using the YOGO diagram in this way, the number of actuators performing actions can be pre-distributed across various periods. Furthermore, since the control program generated based on the YOGO diagram executes program components for controlling the actuator actions during each period, the number of program components executed simultaneously can be suppressed. Moreover, since the program components are used to implement basic actions that are the basic actions of the actuators, the processing power required to execute each program component can be small. For this reason, even when the motion control device 120 does not have such high processing power, the control program for an automated manufacturing machine equipped with a large number of actuators can be executed at a sufficiently practical speed.

[0107] Furthermore, the above explanation describes how the creator of a YOGO diagram divides a given period into multiple periods when the number of assigned basic actions within that period is large. However, it is also possible to pre-set the number of basic actions that can be assigned to a given period (allowed allocation number), and automatically divide the period if a YOGO diagram created by the creator contains a given period with more basic actions assigned than the allowed allocation number.

[0108] For example, in Figure 7 In the example shown in (a), the permissible allocation number is set to "4", and the number of basic actions allocated to part period 6 exceeds the permissible allocation number. Therefore, part period 6 is divided into two part periods: part period 6-1 and part period 6-2. Furthermore, the basic actions act10 to act13, which are allocated to part period 6 from the beginning to the permissible allocation number, are allocated to part period 6-1, and the remaining basic actions act14 to act18 are allocated to part period 6-2.

[0109] exist Figure 7 (b) illustrates the state by dividing partial period 6 into partial period 6-1 and partial period 6-2 in this way. Figure 7 As shown in (b), although the basic actions allocated to partial period 6-1 are controlled below the permissible allocation number, the basic actions allocated to partial period 6-2 exceed the permissible allocation number. Therefore, partial period 6-2 is divided into two partial periods (partial period 6-2 and partial period 6-3). Thus, Figure 7 Part 6 of (a) is divided into three part periods. Then, the basic actions act14 to act17, from the beginning to the permissible number of assignments, which are allocated to part period 6-2, are assigned to the divided part period 6-2, and the remaining basic action act18 is assigned to part period 6-3. The result is as follows: Figure 7 As shown in (c), it is possible to control the number of basic actions assigned to any one of the three partial periods 6-1 to 6-3 obtained by dividing the partial period 6 to keep it below the allowable number of assignments.

[0110] Using the method described above, it is also possible to automatically correct the human-made YOGO diagram using a computer, thereby generating a YOGO diagram in which the number of basic movements allocated to a portion of the time is controlled to be below the permissible allocation number. As a result, even if the motion control device 120 does not have such high processing power, the control program generated based on the YOGO diagram can be executed quickly.

[0111] C. Method for automatically generating control programs based on YOGO diagrams:

[0112] The following describes a detailed method for automatically generating control programs based on YOGO diagrams. As preparation for this explanation, YOGO diagrams will be explained in detail beforehand. The YOGO diagrams described below are used in conjunction with... Figure 5 (a) is obtained by applying various improvements to the original YOGO diagram described above.

[0113] Summary of C-1. YOGO diagram:

[0114] Figure 8 This is an explanatory diagram illustrating the outline of YOGO Figure 200 in this embodiment. Figure 8 The YOGO diagram 200 shown is a description Figure 3 The diagram shows the operation of the pipe bending machine 10, but it can also be used to... Figure 2 The robotic arm robots 20 and 30 shown are made using the same diagram. Furthermore, if the size of the YOGO diagram 200 is reduced to display the entire diagram, it would distort the display and make it unrecognizable. Therefore, in... Figure 8 The image shows a portion of YOGO diagram 200 (top left). For example... Figure 8 As shown, YOGO diagram 200 is a large table-like shape formed by the intersection of multiple horizontal and vertical lines. Below, the horizontal lines among the intersecting lines will be referred to as "separator lines" 201, and the vertical lines as "trigger lines" 202.

[0115] The trigger line 202 was assigned a consecutive number starting from 1. Figure 8 In the example shown, the upper column of the YOGO diagram 200 lists the consecutive numbers of the trigger lines 202 below it. Additionally, the area between adjacent trigger lines 202 is for use. Figure 5 In the aforementioned partial periods, consecutive numbering starting from number 1 was also assigned to these partial periods (hereinafter referred to as partial period numbering). Furthermore, in Figure 8 In the illustrated YOGO diagram 200, the trigger line 202 extends vertically, and thus, the portions sandwiched between trigger lines 202 are arranged horizontally side by side. However, the trigger line 202 can also extend horizontally, in which case multiple portions are arranged vertically side by side.

[0116] Furthermore, the YOGO diagram 200 of this embodiment is divided into multiple horizontally elongated regions by multiple dividing lines 201, and these horizontally elongated regions are assigned consecutive numbers starting from 1 (hereinafter referred to as actuator numbers). The actuator mounted on the pipe bending machine 10 is assigned to any one of the multiple horizontally elongated regions. Figure 8 In the example shown, actuator Ac10 is assigned to the area numbered 1 (see reference). Figure 3 Actuator Ac11 is located in area numbered 2 (see reference). Figure 3 Actuator Ac12 is located in area numbered 3 (see reference). Figure 3 In this embodiment, the pipe bending machine 10 is equipped with 10 actuators Ac10 to Ac19, and thus the transverse length area is allocated for each of these actuators.

[0117] Then, the basic operations of actuators Ac10 to Ac19 are recorded at appropriate positions on the horizontally allocated area of ​​each actuator Ac10 to Ac19. For example, if actuator Ac10 is to perform a basic operation during partial period 4, then on YOGO diagram 200, in the horizontally allocated area of ​​actuator number 1, the basic operation 206 to be performed by actuator Ac10 is recorded at the grid-like coordinate position determined by partial period number 4. Furthermore, if actuator Ac10 is to perform a basic operation during partial periods 4 and 8, then the basic operation 206 to be performed by actuator Ac10 is recorded at the grid-like coordinate position of partial period number 4 in the horizontally allocated area of ​​actuator number 1 and at the coordinate position of partial period number 8 in the same horizontally allocated area. In this way, just as the basic operation of actuator Ac10 is recorded on the horizontally elongated area of ​​actuator number 1 on YOGO Figure 200, and the basic operation of actuator Ac11 is recorded on the horizontally elongated area of ​​actuator number 2, the basic operations of actuators Ac10 to Ac19 are recorded on the horizontally elongated areas of YOGO Figure 200 that are allocated to actuators Ac10 to Ac19.

[0118] Therefore, by visually observing the horizontally elongated area corresponding to actuators Ac10 to Ac19, it is easy to visually determine during which period each actuator Ac10 to Ac19 operates, and it is easy to identify the number of times each actuator operates. Therefore, even if there are actuators that have not returned to their original position, or actuators whose operation has been forgotten, such situations can be easily identified, thus preventing errors in the description of YOGO Figure 200.

[0119] Furthermore, in the YOGO diagram 200 of this embodiment, the basic actions are described as follows. As an example, the following explanation will be provided. Figure 8The basic action 206 of actuator Ac13, which initially performs the action, is shown in the YOGO diagram 200. Since the actuator performing the action is actuator Ac13, its corresponding actuator number is 4, and since it is the first action performed, its corresponding partial period number is 1. Therefore, the position of the basic action recorded on the YOGO diagram 200 is the grid-shaped coordinate position of actuator number 4 and partial period number 1. The grid corresponding to the coordinate position of partial period number 1 is the grid sandwiched between trigger line 202 of number 1 on the left and trigger line 202 of number 2 on the right. Therefore, the action line 203 representing the action of the actuator is recorded from trigger line 202 of number 1 toward trigger line 202 of number 2. Furthermore, a starting point 204, indicating the start of the action, is marked at the left end of action line 203 (and thus on trigger line 202, number 1), and an ending point 205, indicating the end of the action, is marked at the right end of action line 203 (and thus on trigger line 202, number 2). Figure 8 In the example shown, action line 203 is represented by a thick solid line, starting point 204 is represented by a hollow circle, and ending point 205 is represented by a black circle.

[0120] Furthermore, the basic action 206 to be performed by the actuator is recorded above the action line 203. Here, in the YOGO diagram 200 of this embodiment, the basic action 206 is recorded using two elements: "action description" and "numerical table". Figure 8 In the example shown, the markings “Ω-AC” and “AC-B11” are written above the action line 203, which is numbered 4 for actuator and 1 for a portion of the time. “Ω-AC” represents action description 206a, and “AC-B11” represents value table 206b. Details about action description 206a and value table 206b will be described later, but generally speaking, action description 206a is a marking that describes the qualitative aspects of the basic action 206 (e.g., forward, backward, rotation, etc.). Value table 206b is a table that sets values ​​representing the quantitative aspects of the basic action 206 (e.g., displacement, speed, torque, etc.).

[0121] Therefore, in Figure 8 On the YOGO diagram 200, the markings "Ω-AC" and "AC-B11" at the coordinate positions of actuator number 4 and partly number 1 indicate the following: even if actuator number 4 (in...) Figure 8 In the example, actuator Ac13 performs a basic operation according to the action description 206a of “Ω-AC” during a certain period of time, and the specific value used when performing the basic operation is the value set in the value table 206b of “AC-B11”.

[0122] In addition, such as Figure 8 As shown in the yogo diagram 200, the action description 206a for actuator Ac10 is "Ω-AA", but the action description 206a for actuator Ac11 is "Ω-AB". The action descriptions 206a are different. The reason for this is that, if using... Figure 3 As described above, actuator Ac10 is an actuator for opening and closing the chuck 12b, and actuator Ac11 is an actuator for rotating (i.e., torsional) the gripping shaft 12a about its axis. That is, since the basic action description 206a of actuator Ac10 is "opening and closing action" and the basic action description 206a of actuator Ac11 is "rotational action," different action descriptions 206a are used for actuator Ac10 and actuator Ac11. For the same reason, different action descriptions 206a are also used for actuator Ac11 and actuator Ac12.

[0123] In contrast, actuators Ac12 and Ac13 use the same operational description 206a, "Ω-AC". (For example, using...) Figure 3 As described above, actuator Ac12 is used to move the holding shaft 12a forward and backward axially, and actuator Ac13 is used to move the entire delivery unit 12 forward and backward. While the size, weight, and amount of movement of the object being moved differ, they are the same in that they move the object forward and backward. Therefore, actuators Ac12 and Ac13 can use the same operation description 206a. Additionally, actuator Ac16 is used to move the entire processing unit 13 up and down, but since up and down movement can be considered a type of forward and backward movement, actuator Ac16 can also use the same operation description 206a as actuators Ac12 and Ac13: "Ω-AC". Furthermore, actuators Ac14 and Ac15 are both actuators that move the cylinder forward and backward, and therefore they both use the operation description 206a: "Ω-CA".

[0124] In this embodiment, as shown in YOGO diagram 200, the basic actions 206 of the actuator are (in principle) described using action description 206a and numerical table 206b. This allows the action description 206a to be common to multiple actuators. Figure 3 As shown, the pipe bending machine 10 in this embodiment is equipped with 10 actuators Ac10 to Ac19, but there are 4 types of action descriptions 206a used in YOGO Figure 200 which describes the operation of the pipe bending machine 10.

[0125] Figure 9This is an explanatory diagram detailing the action description 206a used in the YOGO figure 200 of this embodiment. The action description 206a, “Ω-AA,” indicates that the actuator performs an opening and closing action. In this action description 206a, it is assumed that the actuator is a combination of an AC servo motor and a chuck mechanism. Conversely, if the actuator is not a combination of an AC servo motor and a chuck mechanism, even if the actuator's action is an opening and closing action, the action description 206a “Ω-AA” cannot be used.

[0126] Furthermore, the "Ω-AA" action description 206a is used to describe simple actions such as opening and closing movements of an actuator that combines an AC servo motor and a chuck mechanism. Therefore, a small program (i.e., a program component) for implementing this action can be pre-made. Accordingly, a sequential number (hereinafter referred to as the program component number) for determining the program component that implements the action is stored corresponding to the action description 206a. However, the "Ω-AA" action description 206a cannot be used even if the actuator performs the same opening and closing action but is not an actuator combining an AC servo motor and a chuck mechanism. The reason for this is that a program component number is stored corresponding to the action description 206a. That is, it is assumed that if the actuator structure is different, the program component used to make the actuator move will be different; therefore, since the corresponding program component is different, the action description 206a must also be different beforehand.

[0127] In addition, such as Figure 9 As shown, the action description 206a for "Ω-AB" assumes an actuator composed of an AC servo motor and a reduction gear mechanism, and indicates that the actuator performs a rotational action; the corresponding program component number is stored as 7. Similarly, the action description 206a for "Ω-AC" assumes an actuator composed of an AC servo motor and a ball screw mechanism, and indicates that the actuator performs a forward and backward action; the corresponding program component number is stored as 4. Furthermore, the action description 206a for "Ω-CA" assumes an actuator using a cylinder, and indicates that the actuator performs a forward and backward action; the corresponding program component number is stored as 2. Moreover, since program component number 2 is a simple program component that only switches the open and closed states of the cylinder port, it could originally be implemented using a simpler method (e.g., relays, logic circuits, sequential control, etc.). However, by using program components to implement this simple content, it is possible to handle simple controls, such as those of cylinders, in the same way as other complex controls, such as those of AC servo motors.

[0128] Furthermore, motion description 206a only qualitatively describes the content of the motion, such as opening and closing, rotation, and forward and backward movements. Therefore, motion description 206a is, in principle, used in conjunction with numerical table 206b. For example, when using... Figure 8 In the previously described YOGO diagram 200, the action description 206a used for actuator Ac10, numbered 1, is “Ω-AA”. However, regarding the numerical table 206b, the numerical table 206b is “AA-B01” for some periods, “AA-B02” for some periods, and “AA-B01” for some periods. Here, the name “AA-B01” indicates the numerical table 206b “B01” used in combination with the action description 206a “Ω-AA”. Similarly, the name “AA-B02” indicates the numerical table 206b “B02” used in combination with the action description 206a “Ω-AA”.

[0129] Figure 10 This is an explanatory diagram illustrating the numerical table 206b used in conjunction with the action description 206a of "Ω-AA". Figure 10 (a) shows the value “AA-B01” in Table 206b. Figure 10 Table 206b shows the value "AA-B02" in (b). Furthermore, in Figure 10 The example shows two numeric tables 206b, but more numeric tables 206b can be set as needed. Figure 10 The illustrated numerical table 206b includes three items: "Numerical Table Number," "Opening / Closing Speed," and "Opening / Closing Load." The "Numerical Table Number" is a consecutive numbering system for numerical table 206b. For example, when the numerical table number is specified as 5, the following is determined: Figure 10 (a) The value table “AA-B01” in table 206b, when the value table number is assigned to 6, determines Figure 10 The value of “AA-B02” in (b) is shown in Table 206b.

[0130] In addition, Figure 10The illustrated numerical table 206b includes three items: "opening / closing speed" and "opening / closing load," which are used in conjunction with the action description 206a to describe the basic action 206. The reason for including these two items is that the numerical table 206b is to be used in conjunction with the action description 206a, "Ω-AA," which represents the opening and closing action. That is, if only the action description 206a "Ω-AA" is available, only the qualitative aspect of the opening and closing action is known, not the quantitative aspects such as the speed of the opening and closing action or the load during opening and closing. Therefore, the numerical table 206b includes the items "opening / closing speed" and "opening / closing load," and their values ​​are pre-set. Furthermore, setting a positive value for "opening / closing speed" in the numerical table 206b indicates that a closing action is performed (see reference...). Figure 10 (a) indicates that a negative value is set to perform the opening action (see reference). Figure 10 (b)

[0131] In addition, in use Figure 8 In the previously described YOGO diagram 200, the actuator Ac11, numbered 2, is described using the action "Ω-AB" 206a. However, for a portion of the timing combination numbered 2, the numerical table "AB-B01" 206b is used, and for a portion of the timing combination numbered 8, the numerical table "AB-B02" 206b is used. The names "AB-B01" and "AB-B02" respectively represent the numerical tables "B01" and "B02" used in combination with the action description "Ω-AB" 206a.

[0132] Figure 11 This is an explanatory diagram of the numerical table 206b used in conjunction with the action description 206a of "Ω-AB". Figure 11 Table 206b shows the value “AB-B01” in (a). Figure 11 Table 206b shows the value "AB-B02" in (b). Furthermore, in Figure 11 Two numerical tables 206b are shown, but more numerical tables 206b can be set as needed. Figure 11 In the illustrated numerical table 206b, in addition to the "numerical table number," four items are set: "rotation angle," "rotation speed," and "rotation torque." The "rotation angle," "rotation speed," and "rotation torque" items are used in conjunction with the motion description 206a to describe the basic motion. Furthermore, in... Figure 11The reason for including "rotation angle," "rotation speed," and "rotation torque" in the numerical table 206b is that it is used in conjunction with the action description 206a, which represents the rotational action "Ω-AB." That is, if only the action description 206a "Ω-AB" is available, only the rotational action is known. Therefore, the angle of rotation, the speed of rotation, and the torque of rotation are pre-set in the numerical table 206b using the "rotation angle," "rotation speed," and "rotation torque" items. Furthermore, the presence of positive and negative values ​​in the "rotation angle" field of the numerical table 206b indicates that the rotation directions are opposite.

[0133] Furthermore, in Figure 8 In the YOGO diagram 200, the action description 206a of "Ω-AC" is used for actuators Ac12 (actuator number 3), Ac13 (actuator number 4), and Ac16 (actuator number 7). On the other hand, different value tables 206b are used for actuators Ac12 (actuator number 3), Ac13 (actuator number 4), and Ac16 (actuator number 7). That is, for actuator Ac12 with actuator number 3, a value table 206b such as "AC-B01" or "AC-B02" is used; for actuator Ac13 with actuator number 4, a value table 206b such as "AC-B11" or "AC-B12" is used; and for actuator Ac16 with actuator number 7, a value table 206b such as "AC-B21" or "AC-B22" is used. Here, the names "AC-B01", "AC-B02", "AC-B11", "AC-B12", "AC-B21", and "AC-B22" respectively represent the value tables 206b "B01", "B02", "B11", "B12", "B21", and "B22" used in combination with the action description 206a of "Ω-AC". Regarding these value tables 206b, and their use... Figure 10 or Figure 11 Similarly, the numerical table 206b described is also pre-set with items corresponding to the action description 206a.

[0134] Furthermore, for actuator Ac17 with actuator number 8, the action description 206a is "Ω-AD", and the value table 206b is "AD-B01" or "AD-B02". Value tables 206b with items corresponding to the action description 206a are also pre-set.

[0135] Furthermore, in Figure 8 In the YOGO diagram 200, the action description 206a, "Ω-CA," is used for both actuators Ac14 (number 5) and Ac15 (number 6). This corresponds to the case where actuators Ac14 and Ac15 are cylinders and their basic action is a "forward and backward movement." Furthermore, the numerical table 206b is not combined with the "Ω-CA" action description 206a. The reason is that actuators Ac14 and Ac15 are cylinders, and these cylinders operate by switching the actuation port that applies air pressure between two actuation ports; therefore, it is not necessary to use quantitative values ​​to describe the action.

[0136] As detailed above, in the YOGO diagram 200 of this embodiment, the actuator performing the basic action and the timing of the basic action are determined by recording the basic action 206 at coordinate positions defined by a combination of partial period numbers and actuator numbers. Furthermore, it is assumed that the basic action 206 is represented in principle by a combination of action description 206a and value table 206b. In this way, when creating the YOGO diagram 200, focus can be placed on recording the action description 206a, while the value table 206b can be pre-recorded. The task of recording the action description 206a in the YOGO diagram 200 is essentially the same as directly representing what a person intends, thus significantly reducing the possibility of recording incorrect content in the YOGO diagram 200.

[0137] C-2. Overview of the control program generation device 110:

[0138] If the YOGO diagram 200 described above is created in advance, the control program generation device 110 mounted on the central control device 100 (see reference) can be used. Figure 1 The control program is automatically generated based on the YOGO diagram 200.

[0139] Figure 12 This is an explanatory diagram of the control program generation device 110 mounted on the central control unit 100. (See diagram for reference.) Figure 12 As shown, the control program generation apparatus 110 of this embodiment includes a yogo diagram creation unit 111, a basic action storage unit 112, a yogo diagram parsing unit 113, and a control program generation unit 114. Furthermore, these "units" are abstract concepts representing multiple functions possessed by the control program generation apparatus 110 for creating the yogo diagram 200 and generating a control program. Therefore, it does not mean that the control program generation apparatus 110 is formed by combining components equivalent to these "units". In reality, these "units" can be implemented as a program executed by a CPU, as an electronic circuit combining IC chips and LSIs, or as a combination of these methods, among other things.

[0140] The YOGO drawing production unit 111 is connected to a monitor screen 100m and operation input buttons 100s. Mechanical technicians with knowledge of automated manufacturing machinery (pipe bending machine 10, robotic arms 20, 30, etc.) operate the operation input buttons 100s while watching the monitor screen 100m to create drawings such as... Figure 8 The illustrated yogo diagram 200. A technician with knowledge of the operation of automated manufacturing machinery can easily create the yogo diagram 200.

[0141] In addition, in this embodiment, when recording basic actions in the YOGO diagram 200, the basic actions are recorded using action description 206a and value table 206b in principle. The action description 206a that can be used is determined according to the actuator (see reference). Figure 9 Therefore, the name of the actuator and the description of the actions that the actuator can use are stored in advance in the basic action storage unit 112.

[0142] Figure 13 This is an explanatory diagram showing the correspondence between the names of actuators and the usable action descriptions 206a. This correspondence is stored in the basic action storage unit 112. As shown, the basic action storage unit 112 stores the action descriptions 206a usable by the actuator in a state corresponding to that actuator, and a program component number is stored corresponding to each action description 206a. As mentioned above, the program component number refers to the number of the program component used to implement the action description 206a using the actuator. For example, in actuators Ac17 and Ac18, two action descriptions 206a with different operating methods can be selected, and a program component number is stored for each action description 206a. Furthermore, the structure of the actuator and the content of the basic action of the actuator are also stored in a state corresponding to each actuator. Figure 10 , Figure 11 The numerical table 206b shown is also stored in the basic operation storage unit 112.

[0143] The aforementioned basic motion storage unit 112 is connected to the yogo diagram creation unit 111. Therefore, mechanical technicians can refer to the basic motion storage unit 112 when creating the yogo diagram 200. Furthermore, mechanical technicians with sufficient knowledge of the pipe bending machine 10 understand how different actuators operate, and can therefore select the appropriate motion description 206a from the available motion descriptions 206a based on the actuator. Additionally, regarding the value table 206b, a temporary value table 206b can be preset. That is, if using… Figure 10 or Figure 11As described earlier, the name of numerical table 206b is formed by combining the prescribed part of the name of the combined action description 206a with a consecutive number. Therefore, the name of numerical table 206b is predetermined and recorded in the YOGO diagram 200. Furthermore, the values ​​of numerical table 206b can be modified or changed later. In addition, when a numerical table 206b with a new name is created, a new numerical table number is automatically assigned to that numerical table (see reference). Figure 10 , Figure 11 ).

[0144] The YOGO diagram parsing unit 113 generates intermediate data by reading and parsing the YOGO diagram 200 created by the YOGO diagram creation unit 111, and then outputs the intermediate data to the control program generation unit 114. The process of generating intermediate data based on the YOGO diagram will be explained in detail later. Alternatively, instead of having the YOGO diagram creation unit 111 within the control program generation device 110 create the YOGO diagram 200, a computer 50 separately located from the central control device 100 may pre-create the YOGO diagram 200, which is then read and parsed by the YOGO diagram parsing unit 113.

[0145] When the control program generation unit 114 receives intermediate data, it generates a control program based on the correspondence stored in the basic action storage unit 112. The method for generating a control program based on intermediate data will be explained in detail later. Then, the obtained control program is output to the motion control device 120, which will be described later.

[0146] Figure 14 This is a flowchart illustrating an overview of the control program generation process performed by the control program generation device 110 described above. As shown in the figure, in the control program generation process, firstly, a YOGO image is read (step 1). Next, the read YOGO image is parsed and intermediate data is generated (step 2).

[0147] Figure 15This is a flowchart of the process (YOGO diagram parsing process) in which the YOGO diagram parsing unit 113 within the control program generation device 110 parses the YOGO diagram and generates intermediate data. As shown in the figure, when the YOGO diagram parsing process begins, firstly, the partial period number N and the actuator number M are initialized to "1" (step 10). Next, it is determined whether the position of the coordinates (N, M) on the YOGO diagram has recorded a basic action (step 11). Here, the coordinates (N, M) on the YOGO diagram represent the grid-like coordinate positions on the YOGO diagram determined by the combination of the partial period number N and the actuator number M. Immediately after initializing the partial period number N and the actuator number M in step 10, both N and M are "1", therefore it is determined whether the position of the coordinates (1, 1) on the YOGO diagram has recorded a basic action.

[0148] exist Figure 8 In the illustrated YOGO diagram, no basic action is recorded at coordinate (1, 1), so in step 11, it is determined to be "no," and it is determined whether the actuator number M has reached its final value (step 14). In this embodiment, the pipe bending machine 10 is equipped with 10 actuators Ac10 to Ac19, so the final value of the actuator number M is 10. Therefore, in the determination of step 14 after confirming whether the basic action at coordinate (1, 1) exists, it is determined to be "no," and the actuator number M is increased by 1 (step 15). Then, using the increased actuator number M, it is determined again whether a basic action is recorded at coordinate position (N, M) (step 11).

[0149] In this way, while the number N is kept at "1" for a certain period, the actuator number M is incremented by 1 each time while determining whether a basic action has been recorded at the coordinate (1, M). Then, when the coordinate (1, M) where the basic action is recorded is reached, it is determined to be "yes" in step 11.

[0150] Then, if the determination in step 11 is "yes", the motion description 206a of the basic motion recorded at that coordinate is read, and if the value table 206b of the basic motion is also recorded, the value table 206b is read (step 12). Figure 8 In the illustrated YOGO diagram 200, when the coordinates (1, 4) are reached, it is determined to be "yes" in step 11, and the action description 206a of "Ω-AC" and the numerical table 206b of "AC-B11" are read as the basic action.

[0151] Next, the data containing the coordinates (N, M) of the read basic motion, as well as the motion description 206a and value table 206b of the read basic motion (hereinafter referred to as intermediate data (N, M, motion description, value table)) is stored in the memory (step 13). If it is Figure 8 In the case of the illustrated YOGO diagram with coordinates (1, 4), the intermediate data (1, 4, Ω-AC, AC-B11) is stored in memory. Therefore, this intermediate data indicates that, on the YOGO diagram, at position N=1 and actuator M=4, the basic action 206, defined by the action description 206a of "Ω-AC" and the numerical table 206b of "AC-B11", is recorded.

[0152] In this way, after storing the intermediate data read from the YOGO diagram 200 into the memory (step 13), it is determined whether the actuator number M has reached its final value (10 in this case) (step 14). As a result, if the final value has not been reached (step 14: no), the actuator number M is incremented by 1 (step 15), and then the process returns to step 11 to determine again whether a basic action has been recorded at the coordinates (N, M) on the YOGO diagram 200.

[0153] In contrast, if the actuator number M has reached its final value (step 14: yes), this time it is determined whether the partial period number N has reached its final value (step 16). For example, on a YOGO diagram, if 100 partial periods are used to describe the operation of the pipe bending machine 10, then the final value of the partial period number N is 100.

[0154] The result is that if the partial period number N does not reach its final value (step 16: No), the partial period number N is incremented by 1 (step 17), and the actuator number M is initialized to "1" (step 18). Then, the process returns to step 11 to determine again whether a basic action has been recorded at coordinates (N, M) on the YOGO diagram 200. That is, on the YOGO diagram 200 (refer to...) Figure 8 For the partial period numbered N1, the partial period is confirmed sequentially from top to bottom. After confirming the bottom, the partial period numbered N2 is confirmed sequentially from top to bottom. After confirming the partial period numbered N2, the partial period numbered N3 is confirmed. In this way, the basic actions recorded in YOGO Figure 200 are read sequentially from the partial period numbered N to the larger partial period, and the intermediate data is stored in the memory.

[0155] Then, this operation is repeated until it is finally determined that the partial period number N has reached its final value (step 16: yes), at which point all the basic actions recorded in the YOGO diagram 200 are read. Therefore, the intermediate data stored in the memory is read and output to the control program generation unit 114 (step 19).

[0156] exist Figure 16 The example in the parsing Figure 8The intermediate data obtained in the case of the illustrated YOGO diagram 200. As shown, the intermediate data is a set of data (hereinafter referred to as "data records") obtained by arranging the partial period number N, actuator number M, action description 206a, and value table 206b in this order. Furthermore, the partial period number N of 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 from the actuator numbers M recorded in YOGO diagram 200. In addition, all partial period numbers N on YOGO diagram 200 must be recorded in one data record, and all actuator numbers M recorded in YOGO diagram 200 must be recorded in one data record. The process ends when such intermediate data is output. Figure 16 The YOGO graph is parsed and processed, and then returned to... Figure 15 The control program generates and processes the data.

[0157] exist Figure 14 In the control program generation process shown, the control program is generated based on the intermediate data obtained in this way (step 3). Figure 17 The text shows the data based on... Figure 16 The illustrated control program generates intermediate data. As shown in the figure, the control program is a set of data (i.e., data records) obtained by arranging the partial period number N, actuator number M, program component number P, and value table number T in this order. If... Figure 16 The intermediate data records shown are... Figure 17 By comparing the data records of the control program shown, it can be clearly seen that the control program's data records replace the action description 206a in the intermediate data records with the program component number P corresponding to that action description 206a (see reference). Figure 13 And by replacing the value table 206b in the intermediate data record with the value table number T corresponding to that value table 206b, we obtain (refer to...). Figure 10 , Figure 11 ).

[0158] The operation of replacing the action description 206a and value table 206b in the intermediate data with program component numbers and value table numbers, respectively, is performed by... Figure 12 The control program generation unit 114 is executed with reference to the basic action storage unit 112. That is, in the basic action storage unit 112, the action description 206a is stored in correspondence with the program component number (see reference). Figure 13 Furthermore, the basic action storage unit 112 stores... Figure 10 , Figure 11 The illustrated value table 206b has a value table number set in each value table 206b. Therefore, the control program generation unit 114 refers to the value table stored in the basic action storage unit 112. Figure 13Correspondence Figure 10 and Figure 11 The illustrated value table 206b is used to replace the action description 206a and value table 206b in the intermediate data with the program component number and value table number.

[0159] As described above, a control program is generated based on intermediate data. Figure 14 After step 3), the generated control program is output to the motion control device 120 mounted on the central control device 100 (step 4), and the process ends. Figure 14 The control program is generated and processed. Then, the motion control device 120 of this embodiment controls the motion of the automated manufacturing machinery (pipe bending machine 10, robotic arm robot 20, 30, etc.) according to such a control program.

[0160] D. Method for controlling the actions of automated manufacturing machinery using motion control device 120:

[0161] D-1. Internal structure of motion control device 120:

[0162] Figure 18 This is an explanatory diagram of the motion control device 120 of this embodiment. As shown, the motion control device 120 includes a control program storage unit 121, a start detection unit 122, a control object period selection unit 123, a control content extraction unit 124, an instruction generation unit 125, an instruction storage unit 126, and a control execution unit 127. Furthermore, these "units" are abstract concepts representing multiple functions possessed by the motion control device 120 for controlling the operation of multiple actuators according to the control program. Therefore, it does not mean that the motion control device 120 is formed by combining components equivalent to these "units". In fact, these "units" can be implemented as a program executed by a CPU, as an electronic circuit combining IC chips and LSIs, or as a combination of these methods, etc.

[0163] The control program storage unit 121 stores the control program generated by the control program generation device 110 in advance. In addition, the start detection unit 122 is connected to the start switch 120a provided in the central control device 100. When the start switch 120a is detected to be pressed, the start detection unit outputs the pressed content to the control target selection unit 123.

[0164] When the control target period selection unit 123 receives information that the start switch 120a has been pressed, it selects the beginning period shown in the YOGO diagram as the part period to be controlled (hereinafter referred to as the control target period), and outputs the part period number of the part period to the control content extraction unit 124.

[0165] The control content extraction unit 124 is connected to the control program storage unit 121. When a partial period number of the controlled object period is received, it extracts a data record containing the partial period number of the controlled object period from the control program stored in the control program storage unit 121. As described above, the data record stores the partial period number N, and also stores the actuator number M, the program component number P, and the value table number T. The actuator number M indicates the actuator that is the controlled object. In addition, the program component number P indicates the program component used in controlling the actuator, and the value table number T indicates the value table set with the values ​​used in controlling the actuator. Moreover, the combination of the program component and the value table represents the specific control content (i.e., the action content to be controlled). Therefore, extracting the data record containing the partial period number of the controlled object period from the control program is to extract the actuator that is the controlled object and the control content for that actuator. The control content extraction unit 124 outputs the extracted actuator and control content to the instruction generation unit 125. In addition, when multiple data records are extracted, the actuator and control content corresponding to each data record are output to the instruction generation unit 125.

[0166] When the instruction generation unit 125 receives the actuator and its control content that are being controlled during the control period, it generates an instruction corresponding to the content and outputs the instruction to the control execution unit 127 in the specified state of the actuator. Regarding the method of generating the instruction, the instruction storage unit 126 stores a program component number P and the instruction accordingly. When the instruction generation unit 125 receives the control content, it uses the program component number P contained in the control content to refer to the instruction storage unit 126 to generate the instruction; details will be explained later. Furthermore, if multiple actuators are being controlled during the control period, instructions are generated for each actuator and output to the control execution unit 127.

[0167] The control execution unit 127 is connected to drive amplifiers DA10-DA19, DA21-DA27, and DA31-DA37. Furthermore, drive amplifiers DA10-DA19 are connected to actuators Ac10-Ac19 of the pipe bending machine 10, drive amplifiers DA21-DA27 are connected to actuators Ac21-Ac27 of the robotic arm robot 20, and drive amplifiers DA31-DA37 are connected to actuators Ac31-Ac37 of the robotic arm robot 30. When the control execution unit 127 receives a command in a specified state of the actuator, it performs feedback control by driving the drive amplifier corresponding to the specified actuator to cause the actuator to perform a basic action corresponding to the command. This will be explained in detail later. Additionally, when there are multiple actuators as the controlled objects, feedback control is performed for each individual actuator.

[0168] As a result, when the basic operation of all actuators is detected to be complete, the control execution unit 127 outputs the end of control during the control target period to the control target period selection unit 123. The control target period selection unit 123 then selects the next partial period after the previously selected partial period as the control target period as the new control target period and outputs the partial period number N of this new control target period to the control content extraction unit 124. For the new control target period, the control content extraction unit 124 extracts the control content as described above and outputs the result to the instruction generation unit 125. The instruction generation unit 125 receives the result, generates an instruction, and outputs the instruction to the control execution unit 127. Then, the control execution unit 127 begins control of the actuators during the new control target period according to the instruction. Furthermore, even during control execution in this manner, the control execution unit 127 can be stopped by pressing the stop switch 120b provided in the central control device 100. As described above, the motion control device 120 of this embodiment controls the motion of each actuator mounted on the automated manufacturing machine by sequentially selecting partial periods from the beginning to the end of the partial period.

[0169] D-2. Motion control processing performed by motion control device 120:

[0170] Figure 19 This is a flowchart of the motion control processing performed by the motion control device 120 in this embodiment to control the motion of each actuator mounted on the automated manufacturing machine. Figure 19 As shown, when motion control processing begins, firstly, the control program stored in the control program storage unit 121 is read (step 50). Next, the partial period number N is set to "1" (step 51), and data records with the set partial period number N are extracted from the control program (step 52). Furthermore, if multiple data records with set partial period numbers N exist in the control program, all data records are extracted. If motion control processing begins immediately afterward, since the partial period number N is set to "1", the data records are extracted from the control program. Figure 17 The illustrated control procedure extracts the data record (1, 4, 4, 19).

[0171] Next, the actuator that becomes the control object is determined based on the actuator number M in the extracted data record (step 53). If the data record read in step 52 is set as (1, 4, 4, 19), and the second "4" recorded in the data record is the actuator number M, then the actuator with actuator number M "4" becomes the actuator that becomes the control object. In addition, if multiple data records are read in step 52, each actuator that becomes the control object is determined based on the actuator number M stored in each data record.

[0172] Furthermore, the program component number P in the retrieved data record is read, and the instruction corresponding to that program component number P is obtained (step 54). Figure 18 The instruction storage unit 126 of the motion control device 120 shown pre-stores the correspondence between program component number P and instruction, and the instruction is obtained by referring to the correspondence.

[0173] Figure 21 This is an explanatory diagram illustrating the correspondence between program component numbers P and instructions stored in the instruction storage unit 126 of the motion control device 120. For example, program component number 1 corresponds to the instruction name "ACMTR_OC_wT", which is an instruction for performing opening and closing actions using an AC servo motor. Similarly, program component number 3 corresponds to the instruction name "ACMTR_OC_woT", which is also an instruction for performing opening and closing actions using an AC servo motor. The difference between the "ACMTR_OC_wT" and "ACMTR_OC_woT" instructions is whether a required time for performing the opening and closing action is specified. That is, "ACMTR_OC_wT" is an instruction for performing the opening and closing action with a required time, while "ACMTR_OC_woT" is an instruction for performing the opening and closing action without specifying a required time. Furthermore, program component number 2 corresponds to the instruction name "ARCYL_OC", which is an instruction for performing opening and closing actions using a cylinder. Figure 19 In step 54 of the motion control processing shown, by referring to... Figure 21 The corresponding relationship shown is used to obtain the instruction corresponding to the program component number P.

[0174] In addition, such as Figure 21 As shown, arguments corresponding to the instruction name are set for each instruction. For example, the instruction "ACMTR_OC_wT" corresponding to program component number 1 requires three arguments. The first argument is set to a value between "0" and "1". Here, "0" indicates an open action, and "1" indicates a close action. The second argument sets the opening / closing amount, and the third argument sets the time required for the opening / closing action. Conversely, simply obtaining the instruction name is insufficient to generate the instruction; arguments corresponding to the instruction must be set during instruction generation.

[0175] Therefore, in Figure 19 In the motion control processing, the numerical table number T stored in the data record is obtained, and the numerical table 206b corresponding to that numerical table number T is read (step 55). The numerical table 206b is also pre-stored in the instruction storage unit 126 of the motion control device 120. Additionally, if using... Figure 10 or Figure 11 As described above, various values ​​are preset in the value table 206b. Then, the instruction is generated by setting the values ​​set in the read value table 206b to the arguments of the previously acquired instruction (step 56).

[0176] Furthermore, there are also instructions that do not require arguments. For example, such as... Figure 21 As shown, the instruction "ARCYL_OC" corresponding to program component number 2 does not require an argument. Correspondingly, there are also data records in the data record set without a value table number T. For example, in the data record where program component number P is set to "2", the value table number T is not set. Figure 19 If the data record extracted in step 52 is such a data record, it is not necessary to read the value table 206b in step 55 or set the independent variable for the instruction in step 56.

[0177] Next, a numerical column corresponding to the target value is generated (step 57). Figure 22 This is an explanatory diagram illustrating the generation of a numerical column corresponding to the target value and an instruction. In Figure 22 The example shown illustrates an instruction named "ACMTR_FR_woT" (i.e., an instruction that causes the actuator to move forward or backward by a specified amount of movement, but does not specify the required time for the movement). (See reference...) Figure 21 The case where the movement amount Dt is specified in the code is as follows. Since the required time is not specified, therefore... Figure 22 The standard driving mode shown in (a) involves spending a predetermined acceleration time Tac to accelerate the actuator from a stationary state to a predetermined standard speed Ss, and then moving (forward or backward) at a certain standard speed Ss. Then, when the amount of movement approaches the amount of movement Dt specified by the independent variable, a predetermined deceleration time Tdc is spent to decelerate from the standard speed Ss to speed 0. The driving time of the actuator at this point is the time Tt determined according to the amount of movement Dt specified by the independent variable.

[0178] exist Figure 22 (b) shows that in Figure 22 The driving mode shown in (a) illustrates the movement of the actuator over time during driving. Figure 22 As shown in (b), when time Tt has elapsed since the actuator was started, the actuator's movement reaches the movement amount Dt specified by the independent variable. Therefore, when an instruction with the instruction name "ACMTR_FR_woT" is received and the movement amount Dt is specified (but the required time is not specified), as long as... Figure 22 The position of the actuator can be controlled as shown in (b).

[0179] Therefore, the position change of the actuator is calculated in advance at a predetermined time interval dT. That is, the position of the actuator is calculated for each predetermined time interval dT, such as calculating the movement D1 at the point where time dT has elapsed since the start of actuation, calculating the movement D2 at the point where time dT has elapsed again, and calculating the movement D3 at the point where time dT has elapsed again. In this way, the position of the actuator can be obtained as follows: Figure 22 The numerical column shown in (c) represents the target value corresponding to the instruction, indicating the position to which the actuator has moved over time.

[0180] The above numerical column after the target value is based on... Figure 19 The instructions generated in step 56 are used. For example, in Figure 22 The document describes the sequence values ​​generated under the instruction named "ACMTR_FR_woT". However, the instruction named "ACMTR_FR_wT" (i.e., the instruction that causes the actuator to perform a forward or backward movement with a specified amount of movement and a specified required time) also generates different values. Figure 21 In the case of )), generate Figure 23 The numerical column shown.

[0181] For example, let the required time specified as the argument of the instruction be a ratio. Figure 22 The time required for the medium movement is Tt, and the time required for the shortest movement is Tc. Furthermore, the amount of movement specified by the independent variable is set to be equal to... Figure 22 The same amount of movement Dt. In this case, if... Figure 22 If the standard speed Ss shown in (a) is used for movement, then the required time for the movement cannot be controlled within time Tc. Therefore, as Figure 23 As shown in (a), the actuator is accelerated to a moving speed Sc greater than the standard speed Ss. The acceleration at this point can be set to the same as... Figure 22 The acceleration is the same as the standard drive mode shown in (a). Then, the actuator is moved at a certain speed Sc (forward or backward), and then, when the movement approaches the specified movement amount Dt, the speed Sc is decelerated to 0. The deceleration at this time can also be set to the same as... Figure 22 The standard drive mode of (a) has the same deceleration.

[0182] exist Figure 23 (b) shows that in Figure 23 The driving mode shown in (a) illustrates the movement of the actuator over time. By calculating the position change of such an actuator at a specified time interval dT, it is possible to determine... Figure 23The numerical sequence of the target value is shown in (c). Furthermore, the aforementioned movement amount Dt corresponds to the "action target value" in this invention, and the numerical sequence of the target value corresponds to the "action passed" in this invention. Moreover, the numerical sequence of the target value is generated based on the movement amount Dt and the instruction, which is determined according to the action description 206a described in YOGO Figure 200. Therefore, in this embodiment, the action description 206a corresponds to the "information for generating the action passed" in this invention.

[0183] exist Figure 19 In step 57, a numerical column corresponding to the target value is generated as described above. Furthermore, the process of generating the numerical column corresponding to the target value is performed through... Figure 18 The control execution unit 127 within the shown motion control device 120 performs the operation.

[0184] Next, the control execution unit 127 within the motion control device 120 detects the state quantity of the actuator that is the object of control. Figure 20 Step 58). The state quantity of the actuator is a physical quantity determined by the action performed by the actuator. For example, it is the translation quantity when the action performed by the actuator is a forward or backward movement, and the rotation quantity when the action performed by the actuator is a rotational movement. Furthermore, it is the opening / closing quantity when the action performed by the actuator is an opening / closing movement. The state quantity of the actuator can also be set to translation speed, rotational speed, etc. Additionally, if using... Figure 2 or Figure 4 As described above, encoders and other sensors are built into the actuators Ac10 to Ac19, Ac21 to Ac27, and Ac31 to Ac37. The control execution unit 127 of the motion control device 120 can detect the state quantity of the actuator by acquiring the output of the sensor through DA10 to DA19, DA21 to DA27, and DA31 to DA37.

[0185] Then, feedback control is applied to the drive quantity output to the actuator's drive amplifier DA to make the detected actuator state quantity change according to the numerical sequence of the target value (step 59). That is, after the actuator is started, when a predetermined time dT has elapsed, the first target value in the numerical sequence is read and compared with the actuator state quantity, and the drive quantity output to the drive amplifier DA is changed to reduce the deviation between the target value and the actuator state quantity.

[0186] Next, it is determined whether feedback control has ended for all the target values ​​contained in the numerical sequence (step 60). If feedback control was only performed by reading the first target value in the numerical sequence, then feedback control has not ended for all the target values. Therefore, in step 60, it is determined to be "no", and the process returns to step 58 to detect the actuator's state after a predetermined time dT. Then, the second target value from the beginning in the numerical sequence is read and compared with the actuator's state. The drive quantity output to the drive amplifier DA is changed to reduce the deviation between the target value and the actuator's state (step 59). After that, it is determined whether feedback control has ended for all the target values ​​in the numerical sequence (step 60). In addition, if there are multiple actuators as the controlled objects, the above operations are performed in parallel for all actuators (steps 58 to 60).

[0187] During the repetition of this operation, the feedback control ends when the last target value in the sequence is reached (step 59). Then, in step 60, it is determined that "yes". Next, it is determined whether the above feedback control has ended for all actuators (step 61). If there are still actuators that have not ended (step 61: no), return to step 58 and repeat the above series of operations for the actuators whose control has not ended (steps 58 to 60).

[0188] As a result, if it is determined that the control described above has ended for all actuators (step 61: Yes), then it is determined whether the partial period number N has reached its final value (step 62). Here, the partial period number N is a consecutive number assigned to the partial periods of the YOGO diagram 200. If there are 100 partial periods in the YOGO diagram 200, the final value of the partial period number N is "100". Then, if it is determined that the partial period number has not reached its final value (step 62: No), there are unprocessed data records remaining in the control program, so the partial period number N is incremented by 1 (step 63). After that, it returns to... Figure 19 In step 52, after extracting the new partial period number N data record from the control program, the above series of operations (steps 53 to 62) are repeated. During this repetition, the partial period number N eventually reaches its final value. Therefore, in step 62, the condition is determined to be "yes," and the process ends. Figure 19 and Figure 20 The motion control process is shown.

[0189] As detailed above, when the motion control device 120 of this embodiment reads the control program described in the form of multiple data records having partial period numbers N, it extracts the data records with the same partial period number N (see reference). Figure 19Step 52) is performed, and instructions corresponding to the content of the extracted data records are generated (see step 56). Then, a sequence of values ​​corresponding to the target values ​​is generated (see step 57), and feedback control is applied to the actuator's operation (see step 58). Figure 20 (Steps 58 to 60). As a result, the control program's data records are executed in the form of an interpreter (i.e., the content is interpreted for each data record numbered N for the same part period). Therefore, even when the automated manufacturing machine is equipped with a large number of actuators, or when multiple automated manufacturing machines are controlled, the number of actuators controlled simultaneously can be suppressed. As a result, even without a high-processing-capacity motion control device 120, the control program can be executed at a sufficiently practical speed.

[0190] Furthermore, even during periods when a large number of actuators are generating motion, it is still possible to use... Figure 6 or Figure 7 The YOGO diagram 200 is simply modified as described above so that the number of actuators performing the action is less than a certain number. Then, in the control program generated based on the modified YOGO diagram 200, the number of data records with the same period number N is also less than a certain number, thus enabling the number of actuators controlled simultaneously to also be less than a certain number. As a result, even when using the motion control device 120 with a normal processing speed, the control program can be executed at a sufficiently practical speed.

[0191] E. Variation:

[0192] The motion control device 120 of the above-described embodiment has several variations. These variations will be described below. Furthermore, the variations described below share many common parts with the present embodiment. Therefore, for structures common to both the present embodiment and the variations, the same reference numerals will be used in the variations, and descriptions will be omitted. In the variations, the description will focus on the differences from the present embodiment.

[0193] E-1. First variant example:

[0194] In the motion control device 120 of this embodiment described above, it is explained in the following manner: a partial period is selected from a plurality of partial periods as the control target period, and when all the basic actions 206 of the actuators allocated to the control target period have ended ( Figure 20Step 61: Yes), select the next period as the new control object period. However, in the control of manufacturing system 1 (or automated manufacturing machinery), it is sometimes required to maximize manufacturing efficiency (number of products manufactured per unit time). In such cases, a condition can be preset for considering the basic action 206 of the actuator as completed, and when this condition is met, the basic action 206 is considered to have ended. Figure 20 Step 61: Yes), and select the next segment period as the new control object period.

[0195] For example, in Figure 8 In the illustrated YOGO diagram 200, only the basic action 206 of actuator Ac11 is assigned to the second period. When the basic action 206 of actuator Ac11 ends, the basic action 206 of actuator Ac12, assigned to the third period, begins. Here, the action description 206a of the basic action 206 of actuator Ac11 is “Ω-AB”, and the numerical table 206b is “AB-B01”. The action description 206a “Ω-AB” indicates a rotational action (see reference). Figure 9 Additionally, in Figure 11 In the example shown in (a), the rotation angle of the target rotational action is set to "90" degrees in the numerical table 206b of "AB-B01". Therefore, when the rotation angle of actuator Ac11 reaches 90 degrees, the basic action 206 of actuator Ac11 ends and the basic action 206 of the next actuator Ac12 begins.

[0196] In contrast, Figure 24 In the numerical table 206b of the first variant example, for Figure 11 The numerical table 206b of (a) includes an item called "Next Action Permitted Position". This item indicates that the position preceding the value set in the "Next Action Permitted Position" item relative to the value set in the "Rotation Angle" item of numerical table 206b is considered the end of the basic action 206. Figure 24 In the example shown, "90" degrees are set in the "rotation angle" item and "-5" degrees are set in the "next action allowed position" item. Therefore, when the rotation angle of actuator Ac11 reaches 85 degrees (=90-5), it is considered that the basic action 206 of actuator Ac11 has ended, so that the basic action 206 of the next actuator Ac12 can begin.

[0197] The above describes the case where only one actuator's basic action 206 is assigned during a portion of the period when the object is selected as the control object. However, it is also possible for multiple actuators' basic actions 206 to be assigned during a portion of the period when the object is selected as the control object. For example, in Figure 8 In the illustrated YOGO diagram 200, three basic actions 206 of actuators Ac10, Ac16, and Ac17 are assigned to the period numbered 6. In this case, an item indicating the condition for considering the basic action to have ended (i.e., the allowed position for the next action) can be added to the numerical table 206b of these three basic actions 206. Moreover, for all basic actions 206, when a basic action 206 ends or is considered to have ended, the basic action 206 assigned to the next period (here, the period numbered 7) begins (here, the basic action 206 of actuator Ac12).

[0198] In this way, the start time of the basic action 206 allocated to the next segment period can be advanced, thus shortening the time required until all segment periods are completed. As a result, the manufacturing efficiency of manufacturing system 1 can be improved.

[0199] E-2. Second variation example:

[0200] In the motion control device 120 of this embodiment described above, the method in which the control execution unit 127 within the motion control device 120 generates a numerical sequence of passed target values ​​corresponding to the command and outputs a drive quantity to the drive amplifier of the actuator is explained. Here, the drive amplifier used to drive the actuator is generally supplied by the actuator manufacturer along with the actuator when it is purchased. However, not only the drive amplifier, but also the controller (sometimes called the motion controller) that receives the command, generates a numerical sequence corresponding to the aforementioned passed target values, and outputs it to the drive amplifier is sometimes supplied by the actuator manufacturer. Furthermore, for the robotic arm robots 20 and 30, a dedicated controller for driving the mounted actuator is sometimes also supplied. When such a controller is supplied, the motion control device 120 can also be configured as follows.

[0201] Figure 25 This is an explanatory diagram of the motion control device 120 in the second variation. Figure 25 The second modified example shown has an action control device 120 relative to the use of Figure 18The difference between the motion control device 120 in this embodiment described above and the one described above is that it includes controllers MC10-MC19, CN20, and CN30 instead of the control execution unit 127. In the second variation, when the instruction generation unit 125 generates an instruction, it outputs the instruction to the controllers MC10-MC19, and the controllers MC10-MC19 control the operation of actuators Ac10-Ac19 via drive amplifiers DA10-DA19. Furthermore, for the actuators Ac21-Ac27 and Ac31-Ac37 mounted on the robotic arms 20 and 30, when the instruction generation unit 125 generates an instruction, it outputs the instruction to the controllers CN20 and CN30. Thus, the controllers CN20 and CN30 control the operation of actuators Ac21-Ac27 and Ac31-Ac37 via drive amplifiers DA21-DA27 and DA31-DA37.

[0202] Furthermore, when control of actuators Ac10 to Ac19 ends, the instruction generation unit 125 detects this information via controllers MC10 to MC19; when control of actuators Ac21 to Ac27 and Ac31 to Ac37 ends, this information is detected via controllers CN20 and CN30. Then, when the instruction generation unit 125 detects the end of control for all actuators in operation, it outputs this information to the control target period selection unit 123. The control target period selection unit 123 receives this information and selects a new control target period. Furthermore, in Figure 25 In the second modified example shown, when the stop switch 120b is pressed, the instruction generation unit 125 detects this situation and outputs instructions for stopping control to the controllers MC10-MC19, CN20, and CN30.

[0203] Figure 25 The motion control device 120 of the second modified example shown above is similar in aspect to its use. Figure 18 The motion control device 120 of this second modified embodiment differs from the motion control device 120 of this embodiment described above, but is otherwise the same. In this second modified motion control device 120, the same effects as those of the motion control device 120 of this embodiment can also be achieved.

[0204] The above describes the motion control device 120 of this embodiment and various modifications. However, the present invention is not limited to the above embodiments and various modifications, and can be implemented in various ways without departing from its spirit.

[0205] Explanation of reference numerals in the attached figures

[0206] 1: Manufacturing system; 10: Pipe bending machine; 11: Track; 12: Feeding unit; 12a: Holding shaft; 12b: Chuck; 13: Machining unit; 15: Actuator; 20: Robotic arm; 21: Base; 22: Main body; 23: First arm; 24: Second arm; 25: Third arm; 26: Fourth arm; 27: Palm; 28: Holding part; 30: Robotic arm; 31: Base; 32: Main body; 33: First arm; 34: Second arm; 35: Third arm; 36: Fourth arm; 37: Palm; 38: Holding part; 50: Computer; 100: Central control device; 100m: Monitor screen; 100s: Operation input button; 110: Control program generation device; 112: Basic motion storage unit; 114: Control program generation unit; 120: Motion control device ; 120a: Start switch; 120b: Stop switch; 121: Control program storage unit; 122: Start detection unit; 123: Control object period selection unit; 124: Control content extraction unit; 125: Instruction generation unit; 126: Instruction storage unit; 127: Control execution unit; 201: Separator line; 202: Trigger line; 203: Action line; 204: Start point; 205: End point; 206: Basic action; 206a: Action description; 206b: Numerical table; Ac10~AC19: Actuator; AC21~Ac27: Actuator; Ac31~Ac37: Actuator; CN20, CN30: Controller; DA10~DA19: Drive amplifier; DA21~DA27: Drive amplifier; DA31~DA37: Drive amplifier; MC10~MC19: Controller.

Claims

1. A motion control device applied to an automated manufacturing machine equipped with multiple actuators, wherein the motion control device controls the motion of the automated manufacturing machine by causing the multiple actuators to move according to a pre-stored control program, the motion control device being characterized by comprising: The control program storage unit stores motion description data as the control program. In the motion description data, the motion period from the start of the automatic manufacturing machine to the end of the motion is divided into multiple part periods, and the actuators that perform the motion and the motion content of the actuators containing the motion target values ​​are assigned to each part period, thereby describing the motion of the automatic manufacturing machine. The control object period selection unit selects one of the plurality of said partial periods as the control object period; A control content extraction unit extracts a controlled object actuator and controlled object action content from the control program, wherein the controlled object actuator is the actuator of the controlled object during its time as the controlled object, and the controlled object action content is the action content of the controlled object actuator; and The control execution unit provides feedback control over the action of the controlled object actuator, so that the controlled object actuator performs actions according to the action content of the controlled object. in, The control program storage unit stores motion description data for a group that assigns at least one of the actuators and the motion content to all of the aforementioned periods. When the feedback control for the actuator of the controlled object ends, the control object period selection unit selects the next partial period of the current control object period as the new control object period.

2. The motion control device according to claim 1, characterized in that, The control program storage unit stores a control program in which the number of actuators allocated during any one of the said sections is less than a predetermined allowable allocation number.

3. The motion control device according to claim 1 or 2, characterized in that, The control program storage unit stores, in addition to the target value of the actuator's action, the control program for generating information on the actions performed up to and including the target value of the actuator, as the action content of the actuator. The control content extraction unit extracts the action target value and the information used to generate the action as the action content of the controlled object. The control execution unit generates the passed action based on the action target value and the information used to generate the passed action, and performs feedback control on the action of the controlled object actuator so that the controlled object actuator reaches the action target value with the passed action.

4. The motion control device according to claim 3, characterized in that, The control execution unit calculates the elapsed target value for each predetermined time interval until the controlled object actuator reaches the action target value with the elapsed action. The control execution unit detects the action of the controlled object actuator at the specified time interval. The control execution unit provides feedback control to the action of the controlled object actuator so that the detected value of the action of the controlled object actuator becomes the target value.

5. A motion control method, applied to a motion control device for controlling the motion of an automated manufacturing machine equipped with multiple actuators, wherein the motion of the automated manufacturing machine is controlled by causing the multiple actuators to move according to a pre-stored control program, the motion control method being characterized by comprising the following steps: The process is read, and the control program is read. In the control program, the operation period from the start of the operation of the automated manufacturing machine to the end of the operation is divided into multiple partial periods, and the actuators that perform the operation and the operation content of the actuators containing the operation target value are assigned to each of the partial periods, thereby describing the operation of the automated manufacturing machine. Select a process, choosing one of the multiple partial periods as the controlled period; The extraction process involves extracting the control object actuator and the control object action content from the control program. The control object actuator is the actuator of the control object during the period when it is the control object, and the control object action content is the action content of the control object actuator. as well as The feedback control process provides feedback control to the action of the actuator of the controlled object, so that the actuator of the controlled object performs actions according to the action content of the controlled object. In the control program, at least one group of the actuators and the action content is assigned to all of the aforementioned periods. During the process of selecting the control object period, when the feedback control for the control object actuator ends, the next portion of the current control object period is selected as the new control object period.

6. A computer program product comprising a program for implementing a motion control method using a computer mounted on a motion control device for controlling the motion of an automated manufacturing machine equipped with a plurality of actuators, the motion control method being applied to the motion control device to control the motion of the automated manufacturing machine by causing the plurality of actuators to move according to a pre-stored control program, the program being characterized in that the computer performs the following functions: The reading function reads the control program, in which the operation period from the start of the automatic manufacturing machine to the end of the operation is divided into multiple partial periods, and the actuators that perform the operation and the operation content of the actuators containing the operation target value are assigned to each of the partial periods, thereby describing the operation of the automatic manufacturing machine. The selection function allows selecting one of the multiple said partial periods as the control object period; The extraction function extracts the control object actuator and the control object action content from the control program. The control object actuator is the actuator of the control object during the period when it is the control object, and the control object action content is the action content of the control object actuator. as well as The feedback control function provides feedback control to the action of the actuator of the controlled object, so that the actuator of the controlled object performs actions according to the action content of the controlled object. Furthermore, in the control program, at least one group of the actuators and the action content is assigned to all of the aforementioned periods. The function of selecting the control object period is as follows: when the feedback control for the control object actuator ends, the next partial period of the current control object period is selected as the new control object period.

Citation Information

Patent Citations

  • Robot system and processing system, as well as method of manufacturing processed product

    JP2011245602A

  • Machine tool

    JP2018192570A

  • Method for producing composite member

    JP2020011386A

  • Liquid permeable sheet for absorbent article

    JP2020075017A

  • Program creation device, program creation method, and program

    US20160231733A1