Control program generation device, control program generation method, program

By using a control program generation device and method, the motion diagrams are used to decompose the actions of automated manufacturing machinery and generate control programs, thus solving the problem of program design delays and achieving rapid development and efficient control program generation.

CN115023671BActive Publication Date: 2026-04-17OPTON CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-01-26
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In the existing technology, when developing new automated manufacturing machinery, specialized programmers are required to understand the mechanical design and create control programs, which leads to extended development time and becomes an obstacle to introducing automated manufacturing machinery into the manufacturing site.

Method used

By employing a control program generation device and method, the correspondence between the basic actions of the actuators and program components is pre-stored. The actions of the automated manufacturing machine are decomposed into multiple parts using motion diagrams, and a control program is generated, simplifying the program design process.

Benefits of technology

It shortens the development time of automated manufacturing machinery, reduces reliance on programmers, improves development efficiency, and enables the rapid generation of appropriate control programs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115023671B_ABST
    Figure CN115023671B_ABST
Patent Text Reader

Abstract

The basic actions (206) of a plurality of actuators mounted on an automatic manufacturing machine (1) are stored in advance in correspondence with program components for realizing the basic actions. In addition, the actions of the automatic manufacturing machine are described in advance by an action diagram (200) in which the action period from the start of the actions of the automatic manufacturing machine to the end thereof is divided into a plurality of partial periods, the actions of the automatic manufacturing machine are decomposed into a plurality of basic actions, and the basic actions are assigned to any one of the plurality of partial periods. Then, the action diagram describing the actions of the automatic manufacturing machine is read, the basic actions in the action diagram are converted into program components, and the program components are combined in the order of the partial periods in the action diagram. In this way, a control program for controlling the actions of the automatic manufacturing machine can be automatically generated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a technique for generating control programs for automated manufacturing machinery equipped with multiple actuators. Background Technology

[0002] Today, all industries are strongly demanding labor-saving measures in manufacturing sites such as factories, and this trend is expected to continue to strengthen in the future. To promote labor-saving in manufacturing sites, it is necessary to effectively utilize automated manufacturing machinery that automatically performs the following actions: holding objects to be processed or manufactured, transporting objects, or performing various processing or heating on objects.

[0003] Therefore, various types of automated manufacturing machinery have been developed (e.g., Patent Document 1, Patent Document 2) depending on the object to be processed or manufactured, the content of the processing (e.g., cutting processing, bending processing), and the degree of heating in the case of food.

[0004] Furthermore, the size, shape, and material of the objects being processed or manufactured vary from place to place, and the processing content and degree of heating also differ depending on the manufacturing site. Therefore, when introducing automated manufacturing machinery into a manufacturing site, it is difficult to reuse the automated manufacturing machinery used in other manufacturing sites; generally, it is necessary to develop new automated manufacturing machinery specifically for each manufacturing site.

[0005] Existing technical documents

[0006] Patent documents

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

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

[0009] The problem the invention aims to solve

[0010] However, the following problem exists: developing new automated manufacturing machinery requires creating new control programs to control that machinery, which poses a significant obstacle to introducing new automated manufacturing machinery into the manufacturing site. The reasons are as follows.

[0011] When developing new automated manufacturing machinery, firstly, mechanical design technicians, after understanding the various functions required by the automated manufacturing machinery, create design drawings of the automated manufacturing machinery capable of realizing the required functions. Next, technicians with the skills to create programs (so-called programmers) need to understand the actions of the various actuators and mechanical components shown in the design drawings, and then create control programs that coordinate the actions of the various actuators to achieve the required functions.

[0012] In this way, specialized programmers need to begin developing the control programs after the design of the automated manufacturing machine is completed, thus delaying the process. Furthermore, programmers also need time to understand the actions of various actuators and mechanical components. As a result, the time from the start of automated manufacturing machine development to delivery to the manufacturing site is lengthy, becoming a significant obstacle to the introduction of new automated manufacturing machines into the manufacturing environment.

[0013] This invention was made to solve the aforementioned problems of the prior art, and its purpose is to provide a technology that can significantly shorten the time required to develop new automated manufacturing machines by automatically generating control programs for automated manufacturing machines.

[0014] Solution for solving the problem

[0015] To solve the above problems, the control program generation apparatus of the present invention adopts the following structure. That is,

[0016] A control program generation apparatus (100a, 110) generates a control program for an automated manufacturing machine (1) equipped with multiple actuators (10-20), the control program generation apparatus being characterized by comprising:

[0017] The basic motion storage unit (102) stores the basic motion (206) in which the actuator moves in the direction of the actuator's degree of freedom with a specified amount of motion, and the program component that implements the basic motion accordingly.

[0018] An action diagram reading unit (103) reads an action diagram (200) in which the action period from the start of the automatic manufacturing machine to the end of the action is divided into multiple partial periods, the action of the automatic manufacturing machine is decomposed into multiple basic actions, and the basic actions are assigned to any one of the partial periods selected from the multiple partial periods for each basic action, thereby describing the action of the automatic manufacturing machine; and

[0019] The control program generation unit (105) generates a control program for making the automatic manufacturing machine operate by combining program components of multiple basic actions allocated to multiple periods of the motion diagram in the order of the periods of the motion diagram.

[0020] Furthermore, the control program generation method of the present invention, corresponding to the aforementioned control program generation apparatus, adopts the following structure. That is,

[0021] A control program generation method is used to generate a control program for an automated manufacturing machine (1) having multiple actuators (10-20) via a computer. The control program generation method is characterized by comprising the following steps:

[0022] Action diagram reading process (step 1): Read the action diagram (200). In the action diagram, the action period from the start of the automatic manufacturing machine to the end of the action is divided into multiple partial periods. The action of the automatic manufacturing machine is decomposed into multiple basic actions (206) in which the actuator moves in the direction of the actuator's degree of freedom with a specified amount of action. The basic actions are assigned to any one of the partial periods selected for each basic action from the multiple partial periods, thereby describing the action of the automatic manufacturing machine.

[0023] The motion graph parsing process (step 2) involves parsing the motion graph to extract the multiple basic actions contained in the motion graph and the partial periods allocated to the multiple basic actions; and

[0024] The control program generation process (step 3) involves transforming the basic actions recorded in the motion diagram into the program components by referring to a correspondence stored between the basic actions and the program components used to implement the basic actions, and generating the control program for making the automated manufacturing machine move by combining the program components in the order of the partial periods.

[0025] In the control program generation apparatus and method of the present invention, for multiple actuators mounted on an automated manufacturing machine, basic actions in which the actuators move in the direction of their degrees of freedom with a specified amount of motion are stored in advance, corresponding to program components for implementing the basic actions. Furthermore, the operation of the automated manufacturing machine is described in advance using an action diagram. That is, the operation period from the start to the end of the automated manufacturing machine's operation is divided into multiple partial periods, and the operation of the automated manufacturing machine is decomposed into multiple basic actions. Then, an action diagram describing the operation of the automated manufacturing machine is created in advance by allocating these basic actions to any one of the multiple partial periods. Then, when generating the control program for the automated manufacturing machine, the action diagram describing the operation of the automated manufacturing machine is read, the basic actions recorded in the action diagram are transformed into program components, and these program components are combined in the order of the partial periods, thereby generating the control program.

[0026] Since the basic actions of the actuators are simple, program components for performing these basic actions can be pre-created. Furthermore, mechanical designers, when designing automated manufacturing machinery, combine the basic actions of the actuators to realize the machinery's movements. Therefore, mechanical designers who create automated manufacturing machinery, and technicians with sufficient knowledge of its structure, can easily create motion diagrams describing the machinery's actions. Thus, by reading the motion diagrams, transforming the basic actions into program components, and combining these components according to the motion diagrams, a control program for controlling the automated manufacturing machinery's actions can be automatically generated.

[0027] Furthermore, in the control program generation apparatus of the present invention described above, the operation of the automated manufacturing machine can also be described using an action diagram as follows: The action diagram is presented in tabular form, in which multiple components are arranged side-by-side in either the horizontal or vertical direction, and multiple actuators are arranged side-by-side in the other direction. Moreover, the operation of the automated manufacturing machine can also be described by recording basic actions at corresponding coordinate positions on the tabular action diagram.

[0028] In this way, the actuator performing the basic action can be determined using the coordinate position on the motion diagram, thus eliminating the need to define the basic action as inherent to the actuator. Therefore, the same basic action can be assigned to different actuators, thereby reducing the number of program components. Furthermore, the motion diagram easily identifies periods where no basic action is assigned, and identifies actuators that are not assigned basic actions. Therefore, even if there are errors in the motion diagram, these can be noticed and corrected, thereby generating an appropriate control program.

[0029] Alternatively, in the control program generation apparatus of the present invention described above, at least one of the timing action of the timer and the counting action of the counter may be described as an action based on the basic action in the motion diagram describing the action of the automatic manufacturing machine.

[0030] In this way, it is possible to describe actions in the motion diagram, such as delaying the start of an action until a certain amount of time has elapsed, or delaying the start of an action until a specified number of button presses have been reached.

[0031] Alternatively, in the control program generation apparatus of the present invention described above, the switch detection action, which detects the switching situation by monitoring the state of the switch, may be described as an action based on the basic operation in the motion diagram describing the operation of the automated manufacturing machine.

[0032] In this way, it is possible to describe actions in the motion diagram, such as not actuating the actuator if it is not confirmed that the component has passed.

[0033] Alternatively, in the control program generation apparatus of the present invention described above, at least one of the sound output operation of the loudspeaker and the light emission operation of the lamp may be described as an operation based on the basic operation in the motion diagram describing the operation of the automatic manufacturing machine.

[0034] In this way, it is possible to describe the actions of automated manufacturing machinery in motion diagrams, such as when an actuator is activated after a sound effect is output from a speaker, or when an actuator is activated after a light is turned on or flashes.

[0035] Alternatively, in the control program generation apparatus of the present invention described above, the heating action of the heater may be described as an action based on the basic action in the motion diagram describing the operation of the automated manufacturing machine.

[0036] In this way, it is possible to describe the actions of automated manufacturing machinery that heat-treats metal materials, or the actions of heating and cooking food in motion diagrams.

[0037] Furthermore, the control program generation method of the present invention described above can also be understood as a program for implementing the control program generation method using a computer. That is, the program of the present invention is used to implement a method for generating a control program for an automated manufacturing machine (1) having multiple actuators (10-20) using a computer, characterized in that the program uses a computer to implement the following functions:

[0038] Action diagram reading function (step 1), reads action diagram (200), in which the action period from the start of the action of the automatic manufacturing machine to the end of the action is divided into multiple part periods, the action of the automatic manufacturing machine is decomposed into multiple basic actions (206) in which the actuator moves in the direction of the degree of freedom of the actuator with a specified amount of action, and the basic actions are assigned to any one of the part periods selected for each basic action from the multiple part periods, thereby describing the action of the automatic manufacturing machine;

[0039] The motion graph parsing function (step 2) extracts multiple basic actions contained in the motion graph and the partial periods allocated to the multiple basic actions by parsing the motion graph; and

[0040] The control program generation function (step 3) transforms the basic actions recorded in the motion diagram into the program components by referring to the correspondence stored between the basic actions and the program components used to implement the basic actions, and generates the control program for making the automatic manufacturing machine move by combining the program components in the order of the partial periods.

[0041] If a computer reads and executes such a program, it can automatically generate a control program for controlling the actions of automated manufacturing machinery based on the motion diagram. Attached Figure Description

[0042] Figure 1 This is an explanatory diagram showing the external shape of the automatic manufacturing machine 1 controlled by the automatic manufacturing machine control device 100 of this embodiment.

[0043] Figure 2 This is a block diagram conceptually illustrating how an automated manufacturing machine control device 100 controls the operation of various actuators 10 to 20 mounted on an automated manufacturing machine 1.

[0044] Figure 3 It is a conceptual illustration of the general process for developing a new automated manufacturing machine 1.

[0045] Figure 4 This is an explanatory diagram of the basic principle of the automatic manufacturing machine control device 100 in this embodiment automatically generating the control program of the automatic manufacturing machine 1 based on the operation diagram (YOGO diagram) of the automatic manufacturing machine 1.

[0046] Figure 5 This is an explanatory diagram illustrating a portion of the operation diagram (YOGO diagram) of the automatic manufacturing machine 1 read by the automatic manufacturing machine control device 100 in this embodiment.

[0047] Figure 6 This is an illustration diagram of a motion diagram (YOGO diagram) that illustrates repetitive actions and conditional branching actions.

[0048] Figure 7 It is an explanatory diagram on the action diagram (YOGO diagram) that can be processed in the same way as the basic action.

[0049] Figure 8 This is an explanatory diagram illustrating the functions of the automatic manufacturing machine control device 100 of this embodiment.

[0050] Figure 9 This is an explanatory diagram illustrating the correspondence stored in the basic action storage unit 102 of this embodiment.

[0051] Figure 10This is a flowchart of the control program generation process of the automatic manufacturing machinery control device 100 in this embodiment, which generates a control program based on the motion diagram (YOGO diagram).

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

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

[0054] Figure 13 This is an illustrative diagram illustrating a control program generated by transforming intermediate data.

[0055] Figure 14 This is a flowchart of the motion control process of the automatic manufacturing machinery control device 100 in this embodiment, which controls the actions of each actuator based on control program data.

[0056] Figure 15 This is an explanatory diagram of an automatic manufacturing machine control device 100 with reference to a modified storage unit, which includes a control program generation unit 105 and a control execution unit 106.

[0057] Figure 16 This is an explanatory diagram of a modified example of an automatic manufacturing machine control device 100 formed by a YOGO drawing processing device 100a and a control execution device 100b. Detailed Implementation

[0058] A. Device Structure:

[0059] Figure 1 This is an explanatory diagram showing the general appearance of the automated manufacturing machine 1 of this embodiment. The automated manufacturing machine 1 of this embodiment is a machine tool (so-called a pipe bending machine) that automatically bends long tubes into desired shapes. Of course, the automated manufacturing machine 1 of this embodiment can be any manufacturing machine other than a pipe bending machine, as long as it can be equipped with multiple actuators and automatically perform multiple actions such as holding, conveying, processing, and heating on an object. For example, it could be a manufacturing machine for automatically manufacturing food. Alternatively, it could be a manufacturing system combining a robotic arm with multiple joints and a conveying device.

[0060] like Figure 1 As shown, the automated manufacturing machine 1 in this embodiment generally has the appearance of a horizontally elongated cuboid. Two tracks 2 are installed along the long side of the top surface of the cuboid, and at one end of the track 2 ( Figure 1The left side (center) houses a conveying unit 3 that holds and transports a pipe (not shown) intended for processing. A processing unit 4, which performs bending and other processing on the pipe (not shown), is mounted on the opposite side of the conveying unit 3. The conveying unit 3 has a protruding cylindrical gripping shaft 3a, and a chuck 3b (not shown) is attached to the front end of the gripping shaft 3a. Therefore, by moving the conveying unit 3 along the track 2 while the pipe is held by the chuck 3b, the pipe can be supplied to the processing unit 4, whereby the processing unit 4 performs bending and other processing on the pipe.

[0061] The automated manufacturing machine 1 of this embodiment can control the amount of tubing fed out by utilizing the movement of the conveying unit 3, thus allowing free control over the position where bending or other processing of the tubing is performed. Furthermore, the tubing can be bent in the desired direction by rotating the gripping shaft 3a, on which the chuck 3b is mounted, around its axis (a so-called torsional motion). To achieve this, the conveying unit 3 is equipped with actuators 10 for opening and closing the chuck 3b, 11 for rotating the gripping shaft 3a around its axis, 12 for moving the gripping shaft 3a forward and backward axially, and 13 for moving the conveying unit 3 forward and backward on the track 2. In the automated manufacturing machine 1 of this embodiment, these actuators 10 to 13 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 conveying unit 3 is also equipped with sensors such as encoders and limit switches for detecting the rotational position of the holding shaft 3a or the moving position of the conveying unit 3. However, to avoid making the attached drawings too complicated, in Figure 1 The illustration is omitted.

[0062] The processing unit 4 is equipped with actuators such as 17 for bending the pipe, 18 for moving the position where force is applied to the pipe during bending, 19 for moving the entire processing unit 4 in the vertical direction, and 20 for forming a flat end face called a flange or a ring-shaped protrusion called a protrusion on the pipe. Furthermore, the processing unit 4 is also equipped with encoders or contact switches / sensors, but illustrations of these are omitted to avoid cluttering the diagrams.

[0063] Furthermore, the processing unit 4 is equipped with multiple drive circuits (not shown) for driving the various actuators 10-13 and 17-20. Here, a drive circuit refers to an electrical component that performs the following function: To enable the actuators 10-13 and 17-20 to perform the desired operation, a drive current with an appropriate waveform needs to be supplied to them. However, the drive current supplied to the actuators 10-13 and 17-20 varies depending on the driving method of the actuators, and even for actuators of the same type, the current value of the drive current varies depending on the actuator. Therefore, a dedicated electrical component called a drive circuit is prepared for the actuators 10-13 and 17-20. When the automatic manufacturing machine control device 100 specifies a drive amount to the drive circuit, the drive circuit outputs an appropriate drive current to the actuators 10-13 and 17-20, resulting in the actuators 10-13 and 17-20 being driven.

[0064] And, as Figure 1 As shown, various mechanical components are also mounted in the space below the two tracks 2. This space contains power cables (not shown) for supplying drive current from multiple drive circuits (not shown) mounted in the processing unit 4 to various actuators 10-13 in the transfer unit 3, and signal cables (not shown) for transmitting signals from various switches / sensors mounted in the transfer unit 3 to the processing unit 4. When these power cables and signal cables move in this space as the transfer unit 3 moves back and forth on the tracks 2, there is a risk that they may become tangled or stuck. Therefore, to avoid this, actuators 14-16 are also mounted in the space below the tracks 2. Actuators 14-16 are used to remove 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 pulled taut. In the automatic manufacturing machine 1 of this embodiment, cylinders are used as actuators 14 to 16, and the operation of these cylinders is also controlled by the automatic manufacturing machine control device 100 through a drive circuit (not shown).

[0065] As explained above, the automated manufacturing machine 1 is equipped with a large number of actuators 10 to 20. Furthermore, in order to automatically process the object to be processed (in this case, a pipe) into the target shape, these actuators 10 to 20 need to operate appropriately at appropriate timings. These actuators 10 to 20 are driven by their respective drive circuits, and the operation of each actuator 10 to 20 is controlled by the automated manufacturing machine control device 100 (described later) according to a pre-read control program.

[0066] Figure 2This is a block diagram conceptually illustrating the scenario where the automated manufacturing machine control device 100 controls the operation of the actuators 10-20 mounted on the automated manufacturing machine 1 according to this embodiment. Furthermore, in Figure 2 The diagram also omits illustrations of switches / sensors required for control. As shown, a drive circuit 10d for driving the actuator 10 is provided between the automatic manufacturing machine control device 100 and the actuator 10, and the automatic manufacturing machine control device 100 directly controls the operation of the drive circuit 10d. Similarly, for actuators 11 to 20, drive circuits 11d to 20d for driving the actuators 11 to 20 are provided between the automatic manufacturing machine control device 100 and the actuators 11 to 20, and the automatic manufacturing machine control device 100 indirectly controls the actuators 11 to 20 through the drive circuits 11d to 20d.

[0067] Additionally, as used previously Figure 1 As described, in the automated manufacturing machine 1 of this embodiment, servo motors are used in actuators 10-13 and 17-20, and cylinders are used in actuators 14-16. Here, a servo motor refers to a motor that performs servo control; a typical example is a motor that uses feedback control of the current flowing through it to make the position (or angle, speed, etc.) reach a target value. A cylinder is an actuator that uses air pressure to linearly move a movable part, and is operated by opening and closing a port connected to a compressed air supply source. Furthermore, sequential control is used for opening and closing the port.

[0068] In this embodiment, the automated manufacturing machine control device 100 is connected to actuators 10-13 and 17-20 for servo control and actuators 14-16 for sequential control. In the figures, the automated manufacturing machine control device 100 and actuators 10-13 and 17-20 are connected by solid lines to indicate that these actuators 10-13 and 17-20 are under servo control. Conversely, the automated manufacturing machine control device 100 and actuators 14-16 are connected by dashed lines to indicate that these actuators 14-16 are under sequential control. Of course, actuators controlled in ways other than servo control and sequential control can also be connected to the automated manufacturing machine control device 100.

[0069] The automated manufacturing machine control device 100 controls actuators 10-20 according to a control program via drive circuits 10d-20d. This control program needs to be pre-made and read by the automated manufacturing machine control device 100. Here, a program is prepared for use in... Figure 2The control program that ensures the proper timing and operation of the numerous actuators 10-20 shown is not easy to implement. In particular, when actuators employing different control methods, such as servo control and sequential control, are mixed together, the creation of the control program takes a long time. Therefore, currently, the creation of the control program consumes more than half of the development time for the new automated manufacturing machine 1.

[0070] B. Method for creating the control program:

[0071] B-1. Summary:

[0072] Figure 3 This is a conceptual illustration showing the general process flow for developing a new automated manufacturing machine 1. Figure 3 (a) shows the development process that has been ongoing since the beginning. Additionally, in Figure 3 (b) shows the new development process proposed by the inventors of this application.

[0073] In previous development processes, such as Figure 3 As shown in (a), firstly, after understanding the various functions required by the automated manufacturing machine 1, the mechanical design technician creates a design drawing of the automated manufacturing machine 1, which incorporates mechanisms for realizing these functions. In creating the design drawing, the mechanical design technician must discuss and decide one by one what kind of movable parts are needed, what kind of actions these movable parts must perform, and where, how many, and what level of torque, mobility, and precision actuators are needed to perform these actions. Then, after deciding on the actual actuators to be installed, and considering the actuators' installation and maintainability, the final design drawing is completed.

[0074] After completing the mechanical design of the automated manufacturing machine 1, the next step is to create the control program to control it. Creating the control program requires specialized software skills and therefore must be done by a technician with those skills (i.e., a programmer). Thus, upon completing the mechanical design, the mechanical technician creates a flowchart illustrating the movements of the automated manufacturing machine 1, and then discusses and explains these movements with the programmer. This concludes the work performed by the mechanical design technician.

[0075] On the other hand, after understanding the operation of the automated manufacturing machine 1 by thoroughly studying the flowcharts created by the mechanical design technicians, the design drawings as needed, or other materials, the programmers, who have discussed the process with the mechanical design technicians, begin to create control programs to control the actions of the various actuators mounted on the automated manufacturing machine 1. Programmers generally use high-level programming languages ​​that can be understood by humans to create control programs, but computers cannot directly execute control programs in high-level programming languages. Therefore, after completing the control program, the programmers transform the control program described in the high-level programming language into a control program in machine language that the computer can execute, thus completing the control program. Furthermore, the task of transforming the high-level programming language control program into a computer-executable program is called compilation, and this task is performed using a special program called a compiler, thus completing the process in a short time.

[0076] like Figure 3 As illustrated in (a), in the ongoing development process, the creation of the control program typically takes about 1.5 to 2.5 times longer than the time required for mechanical design. Furthermore, it is difficult to perform most of the processes simultaneously during mechanical design and control program creation, thus lengthening the development period of the automated manufacturing machine 1. In addition, the need to ensure the availability of experts with different skills, such as mechanical design technicians and programmers, is also a significant obstacle in developing new automated manufacturing machines 1.

[0077] On the other hand, Figure 3 (b) illustrates the process of developing an automated manufacturing machine 1 using the novel method proposed by the inventors of this application. When using the novel method, the mechanical design itself is the same as with conventional methods. That is, after understanding the various functions required by the automated manufacturing machine 1, the mechanical design technician creates a design drawing of the automated manufacturing machine 1, incorporating mechanisms for realizing these functions. At this time, the movable parts required to realize the functions, the actions of the movable parts, the performance of the actuators used to activate the movable parts, etc., are considered, the actuators are determined, and then the mounting and maintainability of the actuators are also considered, finally completing the design drawing.

[0078] Once the design drawings are completed, in the new development process, mechanical design technicians create motion diagrams to replace the flowcharts (see reference). Figure 3 (b)). This motion diagram is a graphical representation of the actions of various actuators considered by mechanical design technicians during mechanical design, and will be explained in detail later. This motion diagram was conceived solely by the inventor of this application and is a unique diagram not found elsewhere in the world; therefore, it is named a "YOGO diagram." Thus, this new motion diagram will be referred to as a "YOGO diagram" below. Consequently, the YOGO diagram of this embodiment corresponds to the "motion diagram" in this invention.

[0079] As will be discussed later, a Yogo diagram is simply a representation of the actions of each actuator as envisioned by the mechanical designer during the mechanical design process. Therefore, a mechanical designer with prior mechanical design experience can create one in about half the time required to create a flowchart (see [reference]). Figure 3 (b) Furthermore, the YOGO diagram can be read by a dedicated program, thereby transforming it into a control program that can be executed by the computer's CPU. The reason why the YOGO diagram can be transformed into a control program will also be explained later. If the actions of the automated manufacturing machine 1 are described in a YOGO diagram in this way, a machine language control program can be generated from the YOGO diagram, therefore, Figure 3 As shown, compared to previous methods, the development period of a new automated manufacturing machine 1 can be shortened to at least half (typically about one-third). Furthermore, the YOGO diagram can be easily created by mechanical design technicians, eliminating the need for a programmer beforehand. Therefore, various situations that pose a significant obstacle when developing a new automated manufacturing machine 1 can be almost completely eliminated. Moreover, even in cases of changing the operation of the automated manufacturing machine 1 or adding new actuators, the control program can be immediately generated by rewriting the YOGO diagram and reading it using a dedicated program. The reasons why this is possible will be explained below.

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

[0081] Figure 4 This is an explanatory diagram illustrating the principle of automatically generating a control program for automated manufacturing machine 1 based on motion diagrams (YOGO diagrams). Figure 4 Figure (a) shows the original YOGO diagram before various modifications were implemented. The YOGO diagram of this embodiment, described later, is for development... Figure 4 The diagram shown in (a) is the original YOGO diagram, but the principle of automatically generating the control program is the same as the original YOGO diagram. Therefore, for ease of understanding, the diagram is... Figure 4 The original YOGO diagram shown in (a) is used to illustrate the principle of automatically generating control programs based on YOGO diagrams. In addition, to avoid complicating the explanation, it is assumed that the actuators mounted on the automated manufacturing machine 1 are only two motors A and B and two cylinders A and B.

[0082] like Figure 4As shown in (a), in the YOGO diagram, the movement of the automated manufacturing machine 1 is represented by combining the basic movements of these actuators (here, motors A and B, and cylinders A and B). Here, the basic movement of an actuator refers to the movement of the actuator in the direction of its degree of freedom (hereinafter referred to as the basic movement). For example, if the actuator rotates like a motor, the rotational movement is the basic movement; if the actuator moves forward or backward like a cylinder, the forward or backward movement is the basic movement. Furthermore, in the case of an actuator where a motor rotates a ball screw to cause forward or backward movement of a component meshing with the ball screw, either the rotational movement of the motor or the forward or backward movement of the component is the basic movement. In this way, the basic movement of an actuator is a simple movement in the direction of the actuator's degree of freedom by a specified amount of motion.

[0083] Furthermore, in the YOGO diagram, the motion period from the start to the end of the automated manufacturing machine 1 is divided into multiple partial periods, and the basic actions of each actuator are assigned to any one of these partial periods. Figure 4 In the example shown in (a), the operation period of the automated manufacturing machine 1 is divided into five periods 1 to 5. In period 1, cylinder A is assigned the action of moving forward and backward with an action amount (a). In period 2, motor A is assigned the action of rotating with an action amount (b). Multiple actions can also be assigned to each period. That is, in period 3, motor B is assigned the action of rotating with an action amount (c), and cylinder B is assigned the action of moving forward and backward with an action amount (d). In period 4, motor A is assigned the action of rotating with an action amount (-b), motor B is assigned the action of rotating with an action amount (-c), and cylinder B is assigned the action of moving forward and backward with an action amount (-d). Finally, in the last period 5, cylinder A is assigned the action of moving forward and backward with an action amount (-a).

[0084] By allocating the basic actions of the actuators in such a way during certain periods, the actions performed by the automated manufacturing machine 1 can be described as follows: First, cylinder A moves forward or backward with an action amount (a). After the action of cylinder A is completed, motor A rotates with an action amount (b). Then, after the action of motor A is completed, motor B rotates with an action amount (c), and cylinder B moves forward or backward with an action amount (d). After the actions of motor B and cylinder B are completed, motor A and motor B rotate with action amounts (-b) and (-c) respectively, and cylinder B moves forward or backward with an action amount (-d). Finally, after all the actions of motor A, motor B, and cylinder B are completed, cylinder A moves forward or backward with an action amount (-a), thus ending all the actions. In this way, if the basic actions of the actuators mounted on the automated manufacturing machine 1 are allocated to any one period, the actions of the automated manufacturing machine 1 can be described.

[0085] Furthermore, as clearly explained above, a partial period refers to the duration of operation of the assigned actuator, not the length of time. For example, the length of partial period 1 is the time required for cylinder A to operate, the length of partial period 2 is the time required for motor A to operate, and the length of partial period 3 is the longer of the time required for motor B to operate or for cylinder B to operate. Therefore, generally speaking, the lengths of the various partial periods are different.

[0086] Furthermore, the basic actions of the actuators allocated to certain periods are, for example, simple actions such as rotating the motor by a certain amount or moving the cylinder forward or backward by a certain amount. Therefore, a small program (hereinafter referred to as a program component) for performing the basic actions of the actuators can be pre-created. Here, the actuators mounted on the automated manufacturing machine 1 are four: cylinders A and B, and motors A and B. Therefore, as... Figure 4 As shown in (b), program components prog1 for actuating motor A, prog2 for actuating motor B, prog3 for actuating cylinder A, and prog4 for actuating cylinder B can be pre-made.

[0087] Therefore, if these program components are arranged according to Figure 4 By connecting the links as described in the original YOGO diagram shown in (a), a control program for causing the automated manufacturing machine 1 to operate can be automatically generated. That is, as... Figure 4As shown in (c), program component prog3 is started first. After program component prog3 finishes, program component prog1 is started. After program component prog1 finishes, program components prog2 and prog4 are started. The actions of program components prog3, prog1, prog2, and prog4 are used according to (a), (b), (c), and (d) as specified in the YOGO diagram. Furthermore, after program components prog2 and prog4 have finished, program components prog1, prog2, and prog4 are started again. The actions at this time are used according to (-b), (-c), and (-d) as specified in the YOGO diagram. After program components prog1, prog2, and prog4 have finished, program component prog3 is started last. The actions at this time are used according to (-a) as specified in the YOGO diagram. Then, after program component prog3 finishes... Figure 4 The operation of the automated manufacturing machine 1 described in the YOGO diagram (a) ends.

[0088] As explained above, as long as the actions of the automated manufacturing machine 1 are predetermined... Figure 4 Describing it in the manner shown in (a) of the YOGO diagram, it is possible to generate Figure 4 The control program shown in (c) causes the automated manufacturing machine 1 to operate. However, in order for the automated manufacturing machine 1 to operate as desired, it is necessary to correctly create the YOGO diagram. From this point of view, the YOGO diagram of this embodiment described below is provided as a reference for... Figure 4 The original YOGO diagram illustrated in (a) is obtained by various modifications.

[0089] B-3.YOGO diagram:

[0090] Figure 5 This is an explanatory diagram illustrating the outline of the YOGO diagram 200 in this embodiment. Furthermore, if the size of the YOGO diagram 200 is reduced to show the entirety, the display would be distorted and the diagram would become unrecognizable; therefore, in... Figure 5 The image shows a portion of YOGO diagram 200 (top left). For example... Figure 5 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.

[0091] The trigger line 202 was assigned a consecutive number starting from 1. Figure 5In 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 4 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 5 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.

[0092] Furthermore, in this embodiment, the YOGO diagram 200 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 actuators mounted on the automated manufacturing machine 1 are assigned to any one of these regions. Figure 5 In the example shown, actuator 10 is assigned to the area numbered 1 (see reference). Figure 2 Actuator 11 is located in area numbered 2 (see reference). Figure 2 Actuator 12 is located in area numbered 3 (see reference). Figure 2 Actuator 13 is located in area 4 of the actuator (see reference). Figure 2 In this embodiment, the automated manufacturing machine 1 is equipped with 11 actuators, namely actuators 10 to 20. Therefore, a horizontally elongated area is allocated for each of these actuators.

[0093] Then, the basic operation of actuators 10-20 is recorded at appropriate positions on the horizontally elongated area allocated to each actuator 10-20. For example, if actuator 10 is to perform a basic operation during partial period 4, the basic operation 206 to be performed by actuator 10 is recorded at the grid-like coordinate position determined by partial period number 4 on the horizontally elongated area of ​​actuator number 1 on the YOGO diagram 200. Furthermore, if actuator 10 is to perform a basic operation during partial periods 4 and 8, the basic operation 206 to be performed by actuator 10 is recorded at the grid-like coordinate position of partial period number 4 on the horizontally elongated area of ​​actuator number 1 and at the coordinate position of partial period number 8 on the same horizontally elongated area. In this way, just as the basic operation 206 of actuator 10 is recorded on the horizontally elongated area of ​​actuator number 1 on the YOGO diagram 200, and the basic operation 206 of actuator 11 is recorded on the horizontally elongated area of ​​actuator number 2, the basic operations 206 of actuators 10 to 20 are recorded on the areas of YOGO diagram 200 where actuators 10 to 20 are located. The reason for recording the basic operations in this way in the YOGO diagram 200 of this embodiment is as follows.

[0094] First, let me explain Figure 4 The original YOGO diagram illustrated in (a) describes the actions of multiple actuators together. For example, it is difficult to immediately identify in which period cylinder A, which acted during part 1, will act next. Therefore, it is difficult to imagine the actions of each actuator and to determine the number of times each actuator acts. As a result, for example, it may be possible to fail to detect actuators that have not returned to their original positions or actuators whose actions have been forgotten to be described.

[0095] In contrast, the YOGO diagram 200 of this embodiment is as follows: Figure 5 As shown, the areas describing the action for each actuator are separated, making it visually easy to determine which actuator is moving during which part of the process and to easily identify the number of times each actuator moves. Therefore, even if there are actuators that have not returned to their original positions or actuators whose actions have not been described, this situation can be easily identified. As a result, it is easy to create a yogo diagram 200 that makes the automated manufacturing machine 1 move as desired.

[0096] Furthermore, as will be described later, the actions of devices other than actuators can also be described in YOGO diagram 200, with each device assigned a horizontally elongated region.

[0097] 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 5 The basic action 206 of the actuator 13 that initially performs the action in the YOGO diagram 200. Since the actuator performing the action is actuator 13, the corresponding actuator number is 4, and since it is the first action, the corresponding partial period number is 1. Therefore, the position of the basic action 206 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 5 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.

[0098] Furthermore, the basic action 206 to be performed by the actuator is recorded above the action line 203. Figure 5 In the example shown, the basic action "Ω-AA" 206 is recorded in the basic action with actuator number 4 and partial period number 1. As described later, basic action 206 corresponds to a computer-executable program component used to perform the basic action of the actuator. Therefore, the computer-executable program component can be determined by recording basic action 206 above action line 203. Furthermore, the actuator that performs the action using the program component can be determined based on the actuator number where the coordinate positions of action line 203 and basic action 206 are recorded. Moreover, the partial period for which the actuator performs the action can be determined based on the partial period number of the coordinate position.

[0099] Furthermore, for basic movements, more detailed movements can be specified by defining parameters such as rotation speed or movement speed, and movement time. Figure 5In the example shown, the "A-100" designation below the basic action 206 "Ω-AA" at the coordinate position of actuator number 4 and part of the period number 1 indicates the parameter specified for the basic action 206 "Ω-AA". Of course, the action can be specified in greater detail by specifying multiple parameters for the basic action. For example, when the actuator is a motor, rotational speed and rotational angle can be specified; when the actuator is a linear motor, traverse speed and traverse distance can be specified. Considering the case of specifying multiple types of parameters, a letter indicating the type of parameter is written at the beginning of the parameter. Furthermore, the content specified by the parameters is not limited to numerical values ​​representing speed, position, etc.; it can also include, for example, the degree of acceleration and deceleration of the motor, the drive mode indicating the acceleration and deceleration method, etc.

[0100] Furthermore, in the case of actuators that perform simple actions such as forward or backward movement up to the stroke limit, like a cylinder, the basic action implemented by the program component is either to perform forward or backward movement until a certain time has elapsed, or to perform forward or backward movement until the contact switch is turned on. Since this is a simple action, no parameters are required, and therefore, a basic action 206 without parameters is recorded above the action line 203.

[0101] exist Figure 5 The basic action 206 for the actuator 11, which performs the second action, is also recorded in the illustrated YOGO diagram. To briefly explain, this basic action 206 is the action performed by the actuator 11 during the second part of the process; therefore, the position where the basic action 206 is recorded is the coordinate position where the actuator is numbered 2 and the part of the process is numbered 2. Thus, an action line 203 is drawn between the trigger line 202 (number 2) on the left and the trigger line 202 (number 3) on the right. A start point 204 is recorded at the left end of the action line 203, and an end point 205 is recorded at the right end. Furthermore, the basic action 206 (here, Ω-AB) that the actuator 11 is to perform is recorded above the action line 203, and a parameter (here, A-10) is recorded below the basic action 206. As a result, during the second part of the process, the actuator 11 is recorded with the parameter "A-10" specified, and the basic action 206 "Ω-AB" is performed.

[0102] The above is a basic method for describing the actions of the automated manufacturing machine 1 using YOGO diagram 200. However, with the aim of further simplifying the description of actions, various description methods are prepared in YOGO diagram 200.

[0103] For example, in Figure 6 In the YOGO diagram shown, relative to the above Figure 5The YOGO diagram is modified by changing trigger lines 5 and 7 to dashed trigger lines 202. This indicates that the action assigned to the portion of time between trigger lines 5 and 7 (i.e., the portions numbered 5 and 6) is repeated. Below the first trigger line 202 (trigger line 5), the repeat condition is recorded in the dashed rectangle 207. Figure 6 In the example shown, the actions assigned to the partial period from trigger line 5 202 to trigger line 7 202 are repeatedly executed until the value of variable VC becomes 0. Moreover, when the repetition condition recorded below trigger line 5 202 (in this case, variable VC = 0) is met, the actions with start point 204 (i.e., the actions assigned to the partial period numbered 7) are recorded on trigger line 7 202.

[0104] In addition, Figure 6 In the YOGO diagram shown, relative to the above Figure 5 In the YOGO diagram, trigger lines 202 (number 9 and 202) are changed to dashed lines 202. These represent conditional branches. Additionally, dashed rectangles 208 are displayed below trigger lines 202 (number 9 and 202), respectively, representing branch conditions. Figure 6 In the example shown, “A>B” is recorded in rectangle 208 below trigger line 202 of number 9, and “ELSE” is recorded in rectangle 208 below trigger line 202 of number 13. These indicate that if the condition “A>B” is true, an action with a starting point 204 (i.e., an action assigned to the partial period numbered 9) is recorded on trigger line 202 of number 9. If the condition “A>B” is false (the case of ELSE), an action with a starting point 204 (i.e., an action assigned to the partial period numbered 13) is recorded on trigger line 202 of number 13.

[0105] Furthermore, in the automated manufacturing machine 1, sometimes a certain time interval is allowed before the actuator begins to operate, or the actuator is operated, for example, after confirming that a certain number of parts have been supplied. Also, sometimes a sound (including sound effects) is output before the actuator begins to attract the attention of nearby workers, or a light is turned on or flashed for a certain period of time. Actions such as using a timer to time a certain period of time, using a counter to count a certain number of times, outputting sound from a speaker, and turning on or flashing a light, although not performed by an actuator, can be treated as basic actions. In Yogo Figure 200, actions that are not performed by an actuator but can be treated as basic actions can also be described.

[0106] Figure 7 This is an illustration on YOGO diagram 200 depicting how actions can be processed in the same way as basic actions. Figure 7 (a) describes the action of timing the elapsed time (timing action). In YOGO diagram 200, the timing action of the timer is also described by marking the basic action 206 (Ω-TM1 in this case) indicating the timing of the timer above the action line 203, which has a start point 204 on the left and an end point 205 on the right. The elapsed time measured by the timer can be specified using parameters.

[0107] exist Figure 7 Section (b) describes the action of counting a specified number (or a specified number of times) (counting action). The counting action of the counter is also described by recording the basic action 206 (Ω-CT1 in this case) representing the counting action of the counter above the action line 203, which has a start point 204 at the left end and an end point 205 at the right end. The count value counted by the counter can be specified using parameters.

[0108] exist Figure 7 Section (c) describes the action of detecting switch switching by monitoring the state of the switch during a specified period (switch detection action). Here, the switch can be a push-button switch, a proximity switch, or an optical switch such as an optocoupler. This switch detection action is also described by marking a basic action 206 (here, Ω-SW1) representing the switch detection action above an action line 203 having a start point 204 on the left and an end point 205 on the right. The time for monitoring the switch state can be specified using parameters.

[0109] exist Figure 7 The action of outputting sound from the speaker (sound output action) is described in (d). In YOGO diagram 200, the sound output action of the speaker is also described by marking the basic action 206 (Ω-SP1 in this case) representing the drive of the speaker above the action line 203, which has a start point 204 at the left end and an end point 205 at the right end. The sound data output from the speaker can be specified using parameters.

[0110] exist Figure 7 The light-emitting action of making the lamp light up is described in (e). The light-emitting action of the lamp is also described by writing the basic action 206 (Ω-LL1 in this case) representing the light-emitting action of the lamp above the action line 203, which has a starting point 204 at the left end and an ending point 205 at the right end. The way the lamp is made to light up (e.g., the way it is turned on or blinks) can be specified using parameters.

[0111] exist Figure 7 Section (f) describes the heating action of using a heater to heat an object or to cook food. The heating action of the heater is also described by writing a basic action 206 (Ω-HT1 in this case) above an action line 203 having a starting point 204 on the left and an ending point 205 on the right. The heating temperature and heating time can be specified using parameters.

[0112] As described above, in the YOGO diagram of this embodiment, the action line 203, start point 204, end point 205, basic action 206, and parameters as needed are recorded at grid-shaped coordinate positions determined by the actuator number and partial period number. Then, the operation of the automated manufacturing machine 1 is described by recording the basic actions of all actuators 10 to 20 mounted on the automated manufacturing machine 1 on the YOGO diagram in this way. The automated manufacturing machine control device 100 then generates a control program based on this YOGO diagram to control the operation of the automated manufacturing machine 1.

[0113] C. Automatic manufacturing machine control device 100 in this embodiment:

[0114] Figure 8 This is an explanatory diagram illustrating the functions of the automated manufacturing machine control device 100 of this embodiment. (See diagram for details.) Figure 8 As shown, the automated manufacturing machine control device 100 of this embodiment includes a yogo drawing creation unit 101, a basic action storage unit 102, a yogo drawing reading unit 103, a yogo drawing parsing unit 104, a control program generation unit 105, and a control execution unit 106. Furthermore, these "units" are abstract concepts representing multiple functions that the automated manufacturing machine control device 100 should possess in advance to create a yogo drawing 200 and generate a control program based on the yogo drawing 200 to control the operation of the automated manufacturing machine 1. Therefore, it does not mean that the automated manufacturing machine control device 100 is formed by combining components equivalent to these "units". In reality, these "units" can be implemented as programs executed by a CPU, as electronic circuits combining IC chips and LSIs, or in a combination of these methods, among other ways.

[0115] The YOGO drawing production unit 101 is connected to a monitor screen 100m and operation input buttons 100s, etc. Mechanical technicians with sufficient knowledge of the automated manufacturing machine 1 can create YOGO drawings by simultaneously viewing the monitor screen 100m and operating the operation input buttons 100s. Figure 5The illustrated YOGO diagram 200. As described above, YOGO diagram 200 is a diagram that describes the operation of the automated manufacturing machine 1 by assigning the basic actions of multiple actuators mounted on it to any one part of the operation. During mechanical design, mechanical design technicians thoroughly explore how to best combine the basic actions of multiple actuators in order to realize the operation of the automated manufacturing machine 1. Therefore, mechanical design technicians who have performed mechanical design can easily create YOGO diagram 200 describing the operation of the automated manufacturing machine 1. Of course, mechanical technicians who have sufficient knowledge of the structure and operation of the automated manufacturing machine 1, even if they are not technicians who designed the automated manufacturing machine 1, can also easily create YOGO diagram 200.

[0116] Additionally, as used previously Figures 5-7 As described, in the yogo diagram 200, the basic action 206 (or the action according to the basic action) needs to be recorded. Therefore, in the basic action storage unit 102, the name of the actuator (or speaker, light, switch, etc.) is stored in association with the basic action 206 that can be performed by the actuator, etc.

[0117] Figure 9 This is an explanatory diagram showing the mapping between the names of actuators, etc., and basic actions 206. This mapping is stored in the basic action storage unit 102. As shown, basic actions 206 (including timing actions and other actions based on the basic actions) that can be executed by the actuator, etc., are stored in a state corresponding to the actuator, etc. For actuators, etc., capable of executing multiple basic actions, each executable basic action 206 is stored. Furthermore, for each basic action 206, a program component number and a starting address value of the program component are also stored. The program component number refers to the number that determines the program component used to implement the basic action (or actions based on the basic action). In addition, the program component is stored in memory in a form executable by the CPU, and the starting address value of the address of the program component stored in memory is correspondingly stored in the basic action storage unit 102.

[0118] like Figure 8 As shown, the yogo drawing creation unit 101 is connected to the basic motion storage unit 102. Therefore, mechanical design technicians (or mechanical engineers) can refer to the basic motion storage unit 102 when creating the yogo drawing 200. Figure 9 The data is available. Furthermore, if a mechanical technician possesses sufficient knowledge of the automated manufacturing machine 1, they will fully understand how to make which actuator operate, and thus can determine the basic operation 206 from the name of the actuator, etc. Moreover, the specified parameters can be easily determined. Therefore, the yo-yo diagram 200 can be easily created.

[0119] The yogo image reading unit 103 reads the yogo image 200 created by the yogo image creation unit 101 and outputs it to the yogo image parsing unit 104. Furthermore, in this embodiment, the yogo image 200 is created by the automated manufacturing machine control device 100; correspondingly, the yogo image reading unit 103 reads the yogo image 200 from the yogo image creation unit 101. Alternatively, the yogo image 200 can be created in advance by a computer 50 separate from the automated manufacturing machine control device 100, and then read by the yogo image reading unit 103.

[0120] The YOGO diagram parsing unit 104 generates intermediate data by parsing the YOGO diagram 200 received from the YOGO diagram reading unit 103, and then outputs the intermediate data to the control program generation unit 105. The process of generating intermediate data based on the YOGO diagram will be explained in detail later.

[0121] When the control program generation unit 105 receives intermediate data, it generates a control program based on the correspondence stored in the basic action storage unit 102. 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 control execution unit 106.

[0122] When the control execution unit 106 receives a control program from the control program generation unit 105, it retrieves the program component stored in the basic action storage unit 102 that corresponds to the program component number in the control program. That is, as described above... Figure 9 As described above, the basic operation storage unit 102 stores the starting address value of the program component corresponding to its number, thus enabling the reading of the program component corresponding to its number. Then, by executing the read program component, the actuators 10 to 20 are controlled via the drive circuits 10d to 20d. In this way, the automated manufacturing machine 1 operates as shown in the YOGO diagram.

[0123] Furthermore, the YOGO image reading unit 103 in this embodiment corresponds to the "action image reading unit" of the present invention. Additionally, regarding the preceding usage... Figure 8 The YOGO drawing reading unit 103, YOGO drawing parsing unit 104, and control program generation unit 105 are integrated into a single unit to generate a control program based on the YOGO drawing 200. Therefore, in the automatic manufacturing machine control device 100 of this embodiment, the YOGO drawing reading unit 103, YOGO drawing parsing unit 104, and control program generation unit 105 correspond to the "control program generation device 110" of the present invention.

[0124] D. Control program generation and processing:

[0125] Figure 10 This is a flowchart illustrating an outline of the control program generation process performed by the portion of the automated manufacturing machine control device 100 corresponding to the control program generation device 110 in this embodiment. As shown, in the control program generation process, firstly, a YOGO diagram is read (step 1). In this embodiment, the automated manufacturing machine control device 100 has created a YOGO diagram, therefore the data of the created YOGO diagram is read. Of course, data from a YOGO diagram created by another computer 50 can also be read.

[0126] Next, the read YOGO diagram is parsed and intermediate data is output (step 2). Figure 11 This is a flowchart of the process (YOGO diagram parsing and processing) in which the automated manufacturing machinery control device 100 of this embodiment parses the YOGO diagram and outputs intermediate data. This process is... Figure 8 The processing performed by the YOGO diagram parsing unit 104 shown.

[0127] like Figure 11 As shown, 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 at coordinates (N, M) on YOGO diagram 200 has recorded a basic action (step 11). Here, the coordinates (N, M) on YOGO diagram 200 represent the grid-like coordinate positions on YOGO diagram 200 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 at coordinates (1, 1) on YOGO diagram 200 has recorded a basic action.

[0128] exist Figure 5 In the case of the illustrated YOGO diagram 200, no basic action was recorded at coordinate (1, 1), so in step 11, it was determined to be "no," and it was determined whether the actuator number M had reached its final value (step 14). In the automated manufacturing machine 1 of this embodiment, 11 actuators 10 to 20 are installed, so the final value of the actuator number M is 11. Therefore, in the determination of step 14 after confirming whether the basic action at coordinate (1, 1) exists, since the determination is "no," the actuator number M is increased by 1 (step 15). Then, using the increased actuator number M, it was determined again whether a basic action was recorded at coordinate position (N, M) (step 11).

[0129] 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.

[0130] Then, if the determination in step 11 is "yes", the basic action 206 recorded at that coordinate, and the parameters if parameters are recorded (step 12), are read. Figure 5 In the illustrated YOGO diagram 200, when the coordinates (1, 4) are reached, it is determined to be "yes" in step 11, and the basic action 206 "Ω-AA" and the parameter "A-100" are read.

[0131] Next, the intermediate data (N, M, basic action, parameters) is stored in memory (step 13). If it is Figure 5 In the case of coordinates (1, 4) in the illustrated YOGO diagram 200, the intermediate data (1, 4, Ω-AA, A-100) is stored in memory. Therefore, this intermediate data indicates that in the YOGO diagram 200, the basic action "Ω-AA" is recorded at position 1 of the partial period and actuator number M is 4, and the parameter "A-100" is set for this basic action.

[0132] 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 (here, 11) (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.

[0133] 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 YOGO diagram 200, if 100 partial periods are used to describe the operation of the automated manufacturing machine 1, then the final value of the partial period number N is 100.

[0134] 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 again determine 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 5For 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 and parameters 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.

[0135] 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 memory is read and output to the control program generation unit 105 (step 19). Figure 12 The example in the parsing Figure 5 This is the intermediate data obtained in the case of the illustrated YOGO diagram 200. After outputting this intermediate data, the process ends. Figure 11 The YOGO graph is parsed and processed, and then returned to... Figure 10 The control program generates and processes the data.

[0136] exist Figure 10 In the control program generation process, the control program is generated based on the intermediate data obtained in this way (step 3). Figure 13 The text shows the data based on... Figure 12 The illustrated control program for generating intermediate data. If... Figure 12 intermediate data and Figure 13 A comparison with the control program clearly shows that in the control program, the basic action 206 and parameters of the intermediate data are replaced with numerical values. That is, the control program is generated by replacing the basic action 206 of the intermediate data with the program component number that implements the basic action and replacing the parameters of the intermediate data with the specific numerical values ​​represented by the parameters.

[0137] The basic action 206 and the operation of replacing parameters with numerical values ​​for intermediate data are performed through... Figure 8 The control program generation unit 105 in the middle is executed with reference to the basic action storage unit 102. That is, in the basic action storage unit 102, as used above... Figure 9 As described above, basic actions are stored in correspondence with the program component numbers that implement those basic actions. Furthermore, regarding parameters, a correspondence (not shown) between parameters and specific numerical values ​​is stored in the basic action storage unit 102. Therefore, the control program generation unit 105 transforms the basic actions 206 and parameters recorded in the intermediate data into a control program that the control execution unit 106 can execute.

[0138] In this way, in the automatic manufacturing machine control device 100 of this embodiment, the basic actions 206 and parameters are replaced with program component numbers and specific values ​​by referring to the basic action storage unit 102. Therefore, the basic actions 206 and parameters recorded in the YOGO diagram can be expressed in a way that is easy for humans to understand. Thus, it is possible to prevent the automatic manufacturing machine 1 from performing unwanted actions due to incorrect recording of the basic actions 206 and parameters in the YOGO diagram.

[0139] As described above, a control program is generated based on intermediate data. Figure 10 Step 3), then output the generated control program to the control execution unit 106 (step 4), and end. Figure 10 The control program generates and processes the data.

[0140] In addition, such as Figure 13 As shown, the control program in this embodiment is a control program that aggregates a set of data (hereinafter referred to as the "data group") obtained by arranging the partial period number N, actuator number M, program component number, and parameter value in this order. Therefore, in the data group, the first data representing the partial period number N is called the "first element", the second data representing the actuator number M is called the "second element", and the third data representing the program component number is called the "third element".

[0141] E. Motion control processing:

[0142] The control program generated through the above control program processing is as follows: Figure 13 The example shown is simply a series of consecutive data sets. However, the control execution unit 106 of the automatic manufacturing machine control device 100 controls the operation of the actuators 10 to 20 of the automatic manufacturing machine 1 based on such a control program, as follows.

[0143] Figure 14 This is a flowchart illustrating the motion control processing of the control execution unit 106 of the automated manufacturing machine control device 100, which controls the actions of the automated manufacturing machine 1 according to a control program. For example... Figure 14 As shown, when motion control processing begins, firstly, the partial period number N is initialized to "1" (step 50). Next, the data set with the first element being N is retrieved from the control program (step 51). If this occurs immediately after the start of motion control processing, since the partial period number N is set to "1", the data set is retrieved from the control program. Figure 13 The illustrated control program reads the data set (1, 4, 1, 120).

[0144] Next, the actuator that becomes the control object is determined based on the value of the second element of the read data set (step 52). If the data set read in step 51 is set to (1, 4, 1, 120), then since the value of the second element is "4", the actuator with actuator number M "4" becomes the control object. Furthermore, if multiple data sets are read in step 51, each actuator that becomes the control object is determined based on the value of the second element of each data set.

[0145] Furthermore, based on the value of the third element of the read data set, the program component for causing the actuator to perform basic operations is obtained (step 53). If the data set read in step 51 is set to (1, 4, 1, 120), then since the value of the third element is "1", the program component for performing basic operations is the program component numbered "1". Therefore, by referring to the correspondence stored in the basic operation storage unit 102 (refer to...), Figure 9 The CPU retrieves the starting address value corresponding to the program component number, thereby reading the program component that the CPU can execute. Of course, if multiple data groups are read in step 51, each program component is read based on the value of the third element of each data group.

[0146] In addition, if there are elements other than elements 1 to 3 in the data group, the element (or these elements) is a parameter specified in the program component. Therefore, the element (or these elements) is read and set as an independent variable in the program component (step 54).

[0147] By performing steps 51 to 54 above, preparations are made for each actuator to perform the basic actions recorded in a certain period on YOGO diagram 200 (the period immediately following the start of motion control processing is the period numbered N as "1"). That is, the actuator that will be controlled is identified (step 52), the program component used in control is obtained (step 53), and the independent variables of the program component are set (step 54), and therefore the program component is executed (step 55). For example, if the actuator is a servo motor and the basic action is to rotate the motor 180 degrees forward, the following program component is executed: while detecting the rotation angle of the motor, the action of driving the motor is repeated at a predetermined control cycle until the rotation angle reaches 180 degrees. In addition, if there are multiple program components, these program components are executed in parallel.

[0148] Next, it is determined whether the execution of all program components has ended (step 56). That is, if multiple program components are executed in step 55, the execution of these program components may not end simultaneously, so it is determined whether the execution of all program components has ended. Of course, if only one program component is executed in step 55, it is determined whether the execution of that program component has ended.

[0149] As a result, if there are still program components being executed, the result in step 56 is "No," and the same judgment is repeated (step 56). Thus, the system remains in a standby state until all program components have finished executing. Then, after all program components have finished executing (step 56: Yes), it is determined whether the partial period number N has reached its final value (step 57). For example, if 100 partial periods are used on YOGO diagram 200 to describe the operation of automated manufacturing machine 1, it is determined whether the partial period number N has reached "100."

[0150] As a result, if the partial period number N has not yet reached its final value (step 57: No), the partial period number N is incremented by 1 (step 58). Then, returning to step 51, after reading the data group from the control program that matches the new partial period number N for the first element, the operations described in steps 52 to 55 are performed on the read data group. Thus, one partial period is advanced from the partial period where the basic actions were previously performed, and all the basic actions recorded in the new partial period are performed. Then, after all the basic actions in the new partial period are completed and the result is "Yes" in step 56, it is determined whether the partial period number N of that partial period has reached its final value (step 57). As a result, if the partial period number N has not reached its final value (step 57: No), the partial period number N is incremented by 1 (step 58), and then returning to step 51, the operations described in steps 51 to 57 are repeated for the new partial period number N.

[0151] Like this, in Figure 14 In the motion control processing, the following action is repeated: from the beginning of the YOGO diagram 200 (i.e., the period with period number N1) to the last period (the period with period number N as the final value), each period is selected and the basic action recorded in that period is executed. Then, after the basic action of the last period is completed, step 57 determines "yes" and ends the motion control processing.

[0152] As detailed above, in the automated manufacturing machine control device 100 of this embodiment, by describing the operation of the automated manufacturing machine 1 in the YOGO diagram 200, a control program can be automatically generated based on the YOGO diagram 200 to enable the automated manufacturing machine 1 to operate. Furthermore, if the structure and operation of the automated manufacturing machine 1 are known, the YOGO diagram 200 can be easily created even without programming knowledge, thus eliminating the need for a programmer to create the control program. Therefore, the time required to develop a new automated manufacturing machine 1 can be significantly reduced (at least by less than half), and it is not necessary to secure a programmer beforehand. As a result, it becomes easier to introduce new automated manufacturing machines into the manufacturing site, and the industry's demands for labor-saving solutions can be fully met.

[0153] The above describes the automatic manufacturing machine control device 100 of this embodiment. However, the present invention is not limited to the above embodiment and can be implemented in various ways without departing from its spirit.

[0154] For example, the automatic manufacturing machine control device 100 of the above embodiment is configured as follows: Figure 8 As shown, both the control program generation unit 105 and the control execution unit 106 are described in a manner consistent with the arrangement of the basic action storage unit 102. This is because the correspondence referenced by the control program generation unit 105 when generating the control program (i.e., the correspondence between the basic action 206 (and parameters) and the program component number (and specific numerical value)) and the correspondence referenced by the control execution unit 106 when executing the control program (i.e., the correspondence between the program component number and the starting address value of the stored program component) are both stored in the basic action storage unit 102. Therefore, it is also possible to divide the correspondence stored in the basic action storage unit 102 into the correspondence referenced by the control program generation unit 105 and the correspondence referenced by the control execution unit 106, and store the correspondence referenced by the control execution unit 106 in a storage unit different from the basic action storage unit 102.

[0155] Figure 15 This is an explanatory diagram of an automatic manufacturing machine control device 100 with a modified example obtained in the following manner: by dividing it into a correspondence between the control program generation unit 105 and the control execution unit 106, the control program generation unit 105 and the control execution unit 106 refer to different storage units. Figure 15 The automatic manufacturing machine control device 100 shown in the modified example is different from the one used previously. Figure 8 The difference between the automatic manufacturing machine control device 100 of this embodiment and the one described above is that the control execution unit 106 refers to the program component storage unit 107 instead of the basic action storage unit 102. The program component storage unit 107 stores previously used... Figure 9The portion of the correspondence that corresponds the program component number to the starting address value of the stored program component is removed from the correspondence stored in the basic operation storage unit 102 of the modified example. In this modified example of the automatic manufacturing machine control device 100, when the control execution unit 106 executes the control program, the program component read from the reference program component storage unit 107 is executed.

[0156] Furthermore, regarding the correspondence stored in the basic action storage unit 102 of the aforementioned modified examples, a supplementary explanation will be provided beforehand to avoid any ambiguity. In the automated manufacturing machine control device 100 of this embodiment described above, as... Figure 9 As illustrated, the correspondence between the starting address values ​​of program components and basic actions 206 is stored in the basic action storage unit 102. In contrast, in the modified example described above, the basic action storage unit 102 stores only the correspondence between basic actions 206 and program component numbers, not the correspondence between the starting address values ​​of basic actions 206 and program components. Therefore, even referring to the basic action storage unit 102 of the modified example, the program component implementing the basic action is not immediately read. However, the program component is determined simply by determining its number. Thus, the correspondence stored in the basic action storage unit 102 of the modified example is essentially equivalent to the correspondence between basic actions 206 and program components.

[0157] Furthermore, the automated manufacturing machine control device 100 of this embodiment described above is configured to have functions in addition to creating a YOGO pattern 200 and generating a control program based on the YOGO pattern 200 (and... Figure 8 In addition to the corresponding YOGO image creation unit 101, basic action storage unit 102, YOGO image reading unit 103, YOGO image parsing unit 104, and control program generation unit 105, it also has the function of executing control according to the control program (and...). Figure 8 The device described is a control execution unit 106. However, the automatic manufacturing machine control device 100 can also be formed by combining multiple devices that are equipped with these multiple functions as a whole.

[0158] For example, it can also be like Figure 16As illustrated, the automated manufacturing machine control device 100 is divided into a yogo diagram processing unit 100a and a control execution unit 100b. Furthermore, the yogo diagram processing unit 100a includes a series of functions from the creation of the yogo diagram 200 to the generation of the control program (i.e., a yogo diagram creation unit 101, a basic action storage unit 102, a yogo diagram reading unit 103, a yogo diagram parsing unit 104, and a control program generation unit 105). Additionally, the control execution unit 100b may include functions for executing program components according to the control program (i.e., a control execution unit 106 and a program component storage unit 107).

[0159] Thus, the automated manufacturing machine 1 can be operated by creating a YOGO drawing 200 and generating a control program through a YOGO drawing processing device 100a pre-installed in the office, and by having a control execution device 100b pre-installed near the automated manufacturing machine 1 read the generated control program. Furthermore, in Figure 16 In the example shown, the YOGO image processing device 100a corresponds to the "control program generation device" in this invention.

[0160] Furthermore, in this embodiment described above, the actions recorded in the yogo diagram 200 were presented as basic actions (or actions not based on basic actions). However, there are also cases where components capable of complex actions with multiple degrees of freedom are purchased and used as actuators for the automated manufacturing machine 1 by performing prescribed actions. In such cases, the prescribed actions performed by the component can be treated as basic action 206 and recorded in the yogo diagram 200. In such cases, if a program component corresponding to basic action 206 is pre-made, the automated manufacturing machine control device 100 can automatically generate a control program.

[0161] Explanation of reference numerals in the attached figures

[0162] 1: Automated manufacturing machine; 2: Track; 3: Conveying unit; 3a: Holding shaft; 3b: Chuck; 4: Machining unit; 10-20: Actuator; 10d-20d: Drive circuit; 50: Computer; 100: Automated manufacturing machine control device; 100a: YOGO image processing device; 100b: Control execution device; 100m: Monitor screen; 100s: Operation input button; 102: Basic motion storage unit; 105: Control program generation unit; 106: Control execution unit; 107: Program component storage unit; 110: Control program generation device; 201: Separator line; 202: Trigger line; 203: Action line; 204: Start point; 205: End point; 206: Basic motion.

Claims

1. A control program generation apparatus for generating a control program for an automated manufacturing machine having multiple actuators, characterized in that the control program generation apparatus comprises: The basic motion storage unit stores the basic motion of the actuator performing the motion in the direction of the actuator's degree of freedom with a specified amount of motion, and the program components that implement the basic motion accordingly. The motion diagram reading unit reads a motion diagram in which the motion period from the start of the automatic manufacturing machine to the end of the motion is divided into multiple partial periods, the motion of the automatic manufacturing machine is decomposed into multiple basic motions, and the basic motions are assigned to any one of the partial periods selected for each basic motion from the multiple partial periods, and at least one basic motion is assigned to all of the partial periods, thereby describing the motion of the automatic manufacturing machine. as well as The control program generation unit generates a control program for operating the automated manufacturing machine by combining program components of multiple basic actions allocated to multiple partial periods on the motion diagram in sequence according to the partial periods on the motion diagram. The motion diagram reading unit reads the motion diagram describing the actions of the automated manufacturing machine by recording the basic actions at corresponding coordinate positions on the tabular motion diagram. In the tabular motion diagram, multiple parts are arranged side by side in either the horizontal or vertical direction, and multiple actuators are arranged side by side in the other direction.

2. The control program generation device according to claim 1, characterized in that, In addition to the basic actions, the basic action storage unit also stores at least one of the timing action of a timer and the counting action of a counter, corresponding to the program component that implements the timing action or the counting action. The motion graph reading unit is capable of reading the motion graph in which at least one of the timing action and the counting action is assigned to any one of the plurality of period segments.

3. The control program generation apparatus according to claim 1 or 2, characterized in that, In addition to the basic actions, the basic action storage unit also stores switch detection actions and corresponding program components that implement the switch detection actions. These switch detection actions detect switch switching by monitoring the state of the switch. The motion graph reading unit is capable of reading the motion graph during any one of the multiple part periods when the switch detection action is assigned.

4. The control program generation device according to claim 1 or 2, characterized in that, In addition to the basic actions, the basic action storage unit also stores at least one of the speaker's sound output action and the lamp's light-emitting action, corresponding to the program component used to implement the sound output action or the light-emitting action. The motion graph reading unit is capable of reading the motion graph that includes at least one of the sound output motion and the light emission motion.

5. The control program generation apparatus according to claim 1 or 2, characterized in that, In addition to the basic actions, the basic action storage unit also stores the heating actions of the heater and the corresponding program components used to implement the heating actions. The motion graph reading unit is capable of reading the motion graph that includes the heating action.

6. A control program generation method for generating a control program for an automated manufacturing machine having multiple actuators using a computer, the control program generation method being characterized by comprising the following steps: The motion diagram reading process reads the motion diagram, in which the motion period from the start of the automatic manufacturing machine to the end of the motion is divided into multiple partial periods. The motion of the automatic manufacturing machine is decomposed into multiple basic motions in which the actuator moves in the direction of the actuator's degree of freedom with a specified amount of motion. The basic motions are assigned to any one of the partial periods selected for each basic motion from the multiple partial periods, and at least one basic motion is assigned to all of the partial periods, thereby describing the motion of the automatic manufacturing machine. The motion graph parsing process involves parsing the motion graph to extract multiple basic actions contained in the motion graph and the partial periods allocated to the multiple basic actions; and The control program generation process involves transforming the basic actions recorded in the motion diagram into the program components by referring to a stored correspondence between the basic actions and the program components used to implement the basic actions, and then combining the program components in the order of the partial periods to generate the control program for making the automated manufacturing machine move. The motion diagram reading process reads the motion diagram describing the actions of the automated manufacturing machine by recording the basic actions at corresponding coordinate positions on the tabular motion diagram. In the tabular motion diagram, multiple parts are arranged side by side in either the horizontal or vertical direction, and multiple actuators are arranged side by side in the other direction.

7. A computer program product comprising a program for implementing a method using a computer to generate a control program for an automated manufacturing machine having multiple actuators, said program using a computer to perform the following functions: The motion diagram reading function reads the motion diagram, in which the motion period from the start of the automatic manufacturing machine to the end of the motion is divided into multiple partial periods. The motion of the automatic manufacturing machine is decomposed into multiple basic motions in which the actuator moves in the direction of the actuator's degree of freedom with a specified amount of motion. The basic motions are assigned to any one of the partial periods selected for each basic motion from the multiple partial periods, and at least one basic motion is assigned to all of the partial periods, thereby describing the motion of the automatic manufacturing machine. The motion graph parsing function extracts multiple basic actions and the periods allocated to those basic actions by parsing the motion graph; and The control program generation function transforms the basic actions recorded in the motion diagram into the program components by referring to a stored correspondence between the basic actions and the program components used to implement the basic actions, and generates the control program for making the automated manufacturing machine move by combining the program components in the order of the partial periods. The motion diagram reading function reads the motion diagram describing the actions of the automated manufacturing machine by recording the basic actions at corresponding coordinate positions on the tabular motion diagram. In the tabular motion diagram, multiple parts are arranged side by side in either the horizontal or vertical direction, and multiple actuators are arranged side by side in the other direction.

Citation Information

Patent Citations

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

    JP2011245602A

  • Machine tool

    JP2018192570A

  • Machine control program generation device, machine control program generation method, and information storage medium

    US20130338797A1

  • Program creation device, program creation method, and program

    US20160231733A1