WO2021153533A1 - 制御プログラム生成装置、制御プログラム生成方法、プログラム - Google Patents

制御プログラム生成装置、制御プログラム生成方法、プログラム Download PDF

Info

Publication number
WO2021153533A1
WO2021153533A1 PCT/JP2021/002546 JP2021002546W WO2021153533A1 WO 2021153533 A1 WO2021153533 A1 WO 2021153533A1 JP 2021002546 W JP2021002546 W JP 2021002546W WO 2021153533 A1 WO2021153533 A1 WO 2021153533A1
Authority
WO
WIPO (PCT)
Prior art keywords
chart
manufacturing machine
control program
automatic manufacturing
basic
Prior art date
Application number
PCT/JP2021/002546
Other languages
English (en)
French (fr)
Inventor
與語照明
Original Assignee
株式会社オプトン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2020011386A external-priority patent/JP6787616B1/ja
Priority claimed from JP2020075017A external-priority patent/JP6829505B1/ja
Application filed by 株式会社オプトン filed Critical 株式会社オプトン
Priority to EP21747401.4A priority Critical patent/EP4099110A4/en
Priority to KR1020227010541A priority patent/KR102476170B1/ko
Priority to CN202180011351.0A priority patent/CN115023671A/zh
Publication of WO2021153533A1 publication Critical patent/WO2021153533A1/ja
Priority to US17/842,503 priority patent/US20220308558A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31368MAP manufacturing automation protocol
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32128Gui graphical user interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37453Simulate measuring program, graphical interactive generation of program
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a technique for generating a control program of an automatic manufacturing machine provided with a plurality of actuators.
  • Patent Document 1 Patent Document 2
  • the size, shape, material, etc. of the object to be processed or manufactured differ depending on the manufacturing site, and the content of processing and the degree of heating also differ depending on the manufacturing site. For this reason, when introducing an automatic manufacturing machine to a manufacturing site, it is difficult to divert the automatic manufacturing machine used at another manufacturing site, and a new dedicated automatic manufacturing machine is developed for each manufacturing site. It is common to have to do.
  • the mechanical design engineer When developing a new automatic manufacturing machine, the mechanical design engineer first understands the various functions required for the automatic manufacturing machine, and then draws the automatic manufacturing machine that can realize the required functions. To create. Subsequently, an engineer (so-called programmer) who has the technology for creating a program understands the operation of various actuators and machine parts described in the drawings, and then the various actuators operate in cooperation with each other. , It is necessary to create a control program that realizes the required functions.
  • the present invention has been made to solve the above-mentioned problems of the prior art, and the time required to develop a new automatic manufacturing machine by automatically generating a control program of the automatic manufacturing machine.
  • the purpose is to provide a technology that can significantly reduce the number of items.
  • control program generator of the present invention adopts the following configuration. That is, A control program generator (100a, 110) for generating a control program of an automatic manufacturing machine (1) provided with a plurality of actuators (10 to 20). A basic operation storage unit (102) that stores a basic operation (206) representing an operation for each degree of freedom of the actuator in association with a program element that realizes the basic operation. The operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into the plurality of basic operations, and the basic operation is divided into a plurality of basic operations.
  • An operation chart reading unit that reads an operation chart (200) in which the operation of the automatic manufacturing machine is described by being assigned to any one of the plurality of partial periods selected for each basic operation. (103) and The automatic manufacturing machine is operated by combining the program elements of the basic operation assigned to the partial period on the operation chart in the order of the partial periods on the operation chart. It is characterized by including a control program generation unit (105) that generates a control program.
  • control program generation method of the present invention corresponding to the above-mentioned control program generation device adopts the following configuration. That is, A control program generation method in which a control program of an automatic manufacturing machine (1) equipped with a plurality of actuators (10 to 20) is generated by a computer. The operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is a plurality of basic operations representing the operation of each degree of freedom of the actuator. The operation of the automatic manufacturing machine is described by being decomposed into (206) and assigning the basic operation to any one of the partial periods selected for each of the basic operations from the plurality of partial periods.
  • the basic operation described in the operation chart is converted into the program element, and the program element is converted into the program element. It is characterized by comprising a control program generation step (STEP3) for generating the control program for operating the automatic manufacturing machine by combining the program elements in the order of the partial periods.
  • the basic operations of a plurality of actuators mounted on the automatic manufacturing machine and the program elements for realizing the basic operations are stored in advance in association with each other. .. Further, the operation of the automatic manufacturing machine is described in advance by the following operation chart. That is, the operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations. Then, by assigning those basic operations to any of a plurality of partial periods, an operation chart in which the operations of the automatic manufacturing machine are described is created in advance.
  • the basic operation of the actuator is a simple operation
  • a program element for causing the actuator to perform the basic operation can be created in advance.
  • the mechanical design engineer realizes the operation of the automatic manufacturing machine by combining the basic operation of the actuator when designing the automatic manufacturing machine
  • the mechanical design engineer who designed the automatic manufacturing machine and the automatic An engineer who has sufficient knowledge about the structure of a manufacturing machine can easily create an operation chart describing the operation of an automatic manufacturing machine. Therefore, by reading the operation chart, converting the basic operation in the operation chart into program elements, and combining the program elements according to the operation chart, it is possible to automatically generate a control program that controls the operation of the automatic manufacturing machine. Become.
  • the operation of the automatic manufacturing machine may be described by using the following operation chart. That is, a table in which a plurality of partial periods are arranged side by side in either the horizontal direction or the vertical direction, and a plurality of actuators are arranged side by side in either the horizontal direction or the vertical direction.
  • the operation chart is in the format. Then, the operation of the automatic manufacturing machine may be described by entering the basic operation at the corresponding coordinate position on the operation chart in tabular form.
  • the actuator to be basically operated can be specified by the coordinate position on the operation chart, so that the basic operation does not need to be an operation peculiar to the actuator. Therefore, the same basic operation can be assigned to different actuators, so that the types of program elements can be reduced.
  • the same basic operation can be assigned to different actuators, so that the types of program elements can be reduced.
  • it is possible to easily recognize that there is a partial period in which the basic motion is not assigned and that there is an actuator to which the basic motion is not assigned in the motion chart it is possible to make a mistake in entering the motion chart. Even if there is, it is possible to generate an appropriate control program by noticing it and correcting it.
  • At least one of the time counting operation by the timer and the counting operation by the counter is described as an operation according to the basic operation in the operation chart describing the operation of the automatic manufacturing machine. You may.
  • the basic operation of the operation chart describing the operation of the automatic manufacturing machine is a switch detection operation for detecting that the switch has been switched by monitoring the state of the switch. It may be described as an operation according to.
  • At least one of the voice output operation by the speaker and the light emission operation by the light is described as an operation according to the basic operation in the operation chart describing the operation of the automatic manufacturing machine. You may.
  • the heating operation by the heater may be described as an operation according to the basic operation on the operation chart describing the operation of the automatic manufacturing machine.
  • control program generation method of the present invention described above can be grasped as a program for realizing the control program generation method using a computer. That is, the program of the present invention A program that realizes a method of generating a control program of an automatic manufacturing machine (1) equipped with a plurality of actuators (10 to 20) by using a computer. The operation period from the start to the end of the operation of the automatic manufacturing machine is divided into a plurality of partial periods, and the operation of the automatic manufacturing machine is a plurality of basic operations representing the operation of each degree of freedom of the actuator. The operation of the automatic manufacturing machine is described by being decomposed into (206) and assigning the basic operation to any one of the partial periods selected for each of the basic operations from the plurality of partial periods.
  • the operation chart reading function (STEP1) that reads the operation chart (200) that has been performed
  • An operation chart analysis function (STEP2) for extracting a plurality of the basic operations included in the operation chart and the partial period to which the plurality of basic operations are assigned by analyzing the operation chart.
  • the basic operation described in the operation chart is converted into the program element, and the program element is converted into the program element.
  • a control program generation function (STEP3) for generating the control program for operating the automatic manufacturing machine by combining the program elements in the order of the partial periods is realized by using a computer.
  • a control program that controls the operation of the automatic manufacturing machine can be automatically generated from the operation chart.
  • FIG. 1 is an explanatory view showing a rough external shape of the automatic manufacturing machine 1 of this embodiment.
  • the automatic manufacturing machine 1 of this embodiment is a machine tool (so-called pipe bender) that automatically bends a long pipe material to form a desired shape.
  • the automatic manufacturing machine 1 of this embodiment is equipped with a plurality of actuators and can automatically perform a plurality of operations such as gripping, transporting, processing, and heating on an object, it is not a pipe bender.
  • It may be a manufacturing machine.
  • it may be a manufacturing machine for automatically manufacturing food products.
  • it may be a manufacturing system in which an arm robot having a plurality of joints and a transfer device are combined.
  • the automatic manufacturing machine 1 of this embodiment has a roughly horizontally long rectangular parallelepiped external shape, and two rails 2 are erected in the longitudinal direction on the upper surface side of the rectangular parallelepiped.
  • a transport unit 3 for gripping and transporting a pipe material (not shown) to be processed is mounted on one end side (left side in FIG. 1) on the rail 2.
  • a processing unit 4 that performs processing such as bending on a pipe material (not shown) is mounted.
  • a cylindrical gripping shaft 3a is projected from the transport unit 3, and a chuck 3b for gripping a pipe material (not shown) is attached to the tip of the gripping shaft 3a. Therefore, by moving the transport unit 3 on the rail 2 while the pipe material is gripped by the chuck 3b, the pipe material is supplied to the processing unit 4, and the pipe material is bent by the processing unit 4. It is possible to apply.
  • the automatic manufacturing machine 1 of this embodiment can control the feed amount of the pipe material by the movement amount of the transport unit 3, it is possible to freely control the position where the pipe material is bent or the like. Further, the pipe material can be bent in a desired direction by rotating the gripping shaft 3a to which the chuck 3b is attached around the axis (so-called twisting operation).
  • the actuator 10 for opening and closing the chuck 3b, the actuator 11 for turning the gripping shaft 3a around the axis, and the gripping shaft 3a advance and retreat in the axial direction inside the transport unit 3.
  • An actuator 12 for moving the transfer unit 3 and an actuator 13 for moving the transport unit 3 forward and backward on the rail 2 are mounted.
  • a servomotor that operates with an AC power supply is used for all of these actuators 10 to 13, but depending on the performance required for the actuator, an actuator of another drive type (actuator of another drive method (for example, a hydraulic cylinder, a solenoid, a stepping motor, etc.) can be adopted.
  • the transfer unit 3 is also equipped with an encoder for detecting the rotation position of the gripping shaft 3a and the movement position of the transfer unit 3, and sensors such as a limit switch, but the drawing becomes complicated. For the purpose of avoiding this, the illustration is omitted in FIG.
  • the actuator 17 for bending the pipe material Inside the processing unit 4, the actuator 17 for bending the pipe material, the actuator 18 for moving the position where a force is applied to the pipe material when bending the pipe material, and the entire processing unit 4 are moved in the vertical direction.
  • the processing unit 4 is also equipped with switches and sensors such as an encoder and a contact switch, but these are not shown in order to avoid complicating the drawings.
  • a plurality of driver circuits for driving the various actuators 10 to 13 and 17 to 20 described above are mounted inside the processing unit 4.
  • the driver circuit is an electric component having the following functions.
  • the drive current to be supplied to the actuators 10 to 13 and 17 to 20 differs depending on the drive system of the actuators 10 to 13 and 17 to 20, and even if the actuators have the same system, the current value of the drive current is different. It depends on the actuator.
  • the actuators 10 to 13 and 17 to 20 are provided with dedicated electric components called driver circuits, and when the automatic manufacturing machine control device 100 specifies a drive amount for the driver circuit, the driver circuit is set to the actuators 10 to 10. Appropriate drive currents are output to 13, 17 to 20, and as a result, actuators 10 to 13, 17 to 20 are driven.
  • various mechanical parts are also mounted in the space below the two rails 2, and this space is a plurality of driver circuits (shown) mounted in the processing unit 4. Is omitted), signals from electric cables (not shown) that supply drive currents to various actuators 10 to 13 in the transfer unit 3 and various switches and sensors mounted on the transfer unit 3. , A space for wiring a signal cable (not shown) for transmitting to the processing unit 4. If these electric cables and signal cables move in the space as the transport unit 3 moves back and forth on the rail 2, there is a risk that they may get entangled with each other or get caught in something.
  • actuators 14 to 16 are also mounted to give the cable an appropriate amount of play by sending out the hand-held cable.
  • air cylinders are adopted as actuators 14 to 16, and the operation of these air cylinders is also controlled by the automatic manufacturing machine control device 100 via a driver circuit (not shown).
  • the automatic manufacturing machine 1 is equipped with a large number of actuators 10 to 20. Then, in order to automatically process the object to be processed (here, the pipe material) into the desired shape, it is necessary to appropriately operate these actuators 10 to 20 at appropriate timings. It is the driver circuit of each actuator 10 to 20 that drives these actuators 10 to 20, but the operation of the driver circuit driving each actuator 10 to 20 is carried out by the automatic manufacturing machine control device 100 described later. It is controlled according to the control program loaded in advance.
  • FIG. 2 is a block diagram conceptually showing how the automatic manufacturing machine control device 100 of this embodiment controls the operation of the actuators 10 to 20 mounted on the automatic manufacturing machine 1. Also in FIG. 2, the switches and sensors required for control are not shown. As shown in the drawing, a driver 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 has a driver circuit. It controls 10d. Similarly, for the actuators 11 to 20, driver 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 The device 100 indirectly controls the actuators 10 to 20 via the driver circuits 11d to 20d.
  • servomotors are adopted for actuators 10 to 13 and 17 to 20, and air cylinders are adopted for actuators 14 to 16.
  • the servo motor is a servo-controlled motor, and is typically a motor that feedback-controls the current value flowing through the motor so that the position (or angle, speed, etc.) becomes a target value.
  • the air cylinder is an actuator that linearly moves a movable part by using air pressure, and operates by opening and closing a port connected to a source of compressed air.
  • sequence control is used to open and close the port.
  • the servo-controlled actuators 10 to 13, 17 to 20 and the sequence-controlled actuators 14 to 16 are connected to the automatic manufacturing machine control device 100 of this embodiment.
  • the fact that the automatic manufacturing machine control device 100 and the actuators 10 to 13, 17 to 20 are connected by a solid line indicates that these actuators 10 to 13, 17 to 20 are servo-controlled.
  • the fact that the automatic manufacturing machine control device 100 and the actuators 14 to 16 are connected by a broken line indicates that these actuators 14 to 16 are sequence-controlled.
  • the automatic manufacturing machine control device 100 controls the actuators 10 to 20 via the driver circuits 10d to 20d according to the control program, and the control program needs to be created in advance and read into the automatic manufacturing machine control device 100. There is.
  • FIG. 2 it is not easy to create a control program for appropriately operating a large number of actuators 10 to 20 at appropriate timings.
  • actuators of different control methods such as servo control and sequence control
  • a long period of time is required to create a control program. For this reason, the current situation is that more than half of the development period of the new automatic manufacturing machine 1 is spent on creating the control program.
  • FIG. 3 is an explanatory diagram conceptually showing a rough process for developing a new automatic manufacturing machine 1.
  • FIG. 3A shows a development process that has been conventionally performed.
  • FIG. 3B shows a new development process proposed by the inventor of the present application.
  • the mechanical design engineer first grasps various functions required for the automatic manufacturing machine 1 and then realizes those functions. Create a drawing of the automatic manufacturing machine 1 in which the mechanism is incorporated.
  • a mechanical design engineer asks what kind of moving parts are required, what kind of movement these moving parts must perform, and how much torque and amount of movement are required to make those movements. It is necessary to examine and decide the contents such as where and how much the actuator with the accuracy and accuracy is required one by one. Then, the actuator to be actually mounted is determined, and the drawing is finally completed after considering the mountability and maintainability of the actuator.
  • the programmer who had a meeting with the mechanical design engineer understands the operation of the automatic manufacturing machine 1 by carefully reading the flowchart created by the mechanical design engineer, drawings and other materials as necessary, and then automatically.
  • Creation of a control program for controlling the operation of various actuators mounted on the manufacturing machine 1 is started.
  • Programmers usually create control programs using a high-level programming language that can be read by humans, but computers cannot execute control programs in the high-level programming language as it is. Therefore, when the control program is completed, the programmer finally completes the control program by converting the control program written in the high-level programming language into a machine language control program that can be executed by a computer.
  • the work of converting a control program of a high-level programming language into a program that can be executed by a computer is called compilation, and this work is completed in a short time by using a dedicated program called a compiler.
  • FIG. 3B shows a process of developing the automatic manufacturing machine 1 by using a new method proposed by the inventor of the present application.
  • the mechanical design itself is the same as the conventional method. That is, the mechanical design engineer grasps various functions required for the automatic manufacturing machine 1 and then creates a drawing of the automatic manufacturing machine 1 in which a mechanism for realizing those functions is incorporated. In that case, after considering the moving parts necessary for realizing the function, the operation contents of the moving parts, the performance of the actuator for moving the moving parts, etc., and deciding the actuator, the mountability and maintenance of the actuator Finally, the drawing is completed in consideration of gender.
  • the YOGO chart is merely a description of the operation of each actuator considered by the mechanical design engineer when designing the machine. Therefore, a mechanical design engineer who designed a machine can create a flowchart in about half the time (see FIG. 3B).
  • the YOGO chart can be converted into a control program that can be executed by the CPU of the computer by reading it with a dedicated program. The reason why the YOGO chart can be converted into a control program will also be described later. In this way, if the operation of the automatic manufacturing machine 1 is described in the YOGO chart, a machine language control program can be generated from the YOGO chart. Therefore, as shown in FIG. 3, as compared with the conventional method.
  • the development period of the new automatic manufacturing machine 1 can be shortened to at least half or less (typically about 1/3).
  • the YOGO chart can be easily created by a mechanical design engineer, and there is no need to secure a programmer. For this reason, it is possible to almost completely eliminate various matters that have been major obstacles when developing a new automatic manufacturing machine 1.
  • the YOGO chart can be rewritten and read by a dedicated program to immediately generate a control program. It will be possible. The reasons why this is possible will be explained below.
  • FIG. 4 is an explanatory diagram of a principle of automatically generating a control program of the automatic manufacturing machine 1 from an operation chart (YOGO chart).
  • FIG. 4A shows a primitive YOGO chart before various improvements are made.
  • the YOGO chart of this embodiment which will be described later, is an improved version of the primitive YOGO chart shown in FIG. 4 (a), but the principle of automatically generating a control program is a primitive YOGO chart. Is the same as. Therefore, in order to facilitate understanding, the principle of automatically generating a control program from the YOGO chart will be described using the primitive YOGO chart shown in FIG. 4 (a). Further, in order to avoid complicating the explanation, it is assumed that the actuators mounted on the automatic manufacturing machine 1 are only two motors A and B and two cylinders A and B.
  • the operation of the automatic manufacturing machine 1 is performed by combining the basic operations of these actuators (here, the motors A and B, and the cylinders A and B).
  • the basic operation of the actuator is an operation in the direction of freedom of the actuator (hereinafter referred to as a basic operation).
  • a basic operation For example, in the case of a rotating actuator such as a motor, the rotation operation is the basic operation, and in the case of an actuator such as a cylinder that moves forward and backward, the operation of moving forward and backward is the basic operation.
  • the basic operation of the actuator is a simple operation in which the actuator operates in the direction of the degree of freedom of the actuator by a specified amount of operation.
  • the operation period from the start to the end of the operation of the automatic manufacturing machine 1 is divided into a plurality of partial periods, and the basic operation of each actuator is included in these plurality of partial periods. It is assigned to any partial period.
  • the operating period of the automatic manufacturing machine 1 is divided into five partial periods 1 to 5, and in the partial period 1, the cylinder A moves forward and backward according to the operating amount (a). Actions are assigned.
  • the partial period 2 is assigned an operation in which the motor A rotates with the operating amount (b). Multiple actions can be assigned to a partial period.
  • the partial period 3 is assigned two operations, that is, the motor B rotates with the operating amount (c) and the cylinder B moves forward and backward with the operating amount (d), and the partial period 4 is assigned.
  • the final partial period 5 is assigned an operation in which the cylinder A moves forward and backward by the amount of movement ( ⁇ a).
  • the cylinder A is moved forward and backward by the operating amount (a), and when the operation of the cylinder A is completed, the motor A is rotated by the operating amount (b). Then, when the operation of the motor A is completed, the motor B is rotated by the operating amount (c), and the cylinder B is moved forward and backward by the operating amount (d).
  • the motor A and the motor B are rotated by the operating amount ( ⁇ a) and the operating amount ( ⁇ c), respectively, and the cylinder B is moved forward and backward by the operating amount ( ⁇ d), respectively.
  • the partial period indicates the period during which the assigned actuator operates, and does not indicate the length of time.
  • the length of time of partial period 1 is the time required for cylinder A to operate
  • the length of time of partial period 2 is the time required for motor A to operate
  • the length of time of partial period 3 is the length of time required for motor B. Is the longer time required for the operation and the time required for the cylinder B to operate. Therefore, the length of time in each subperiod is usually different from each other.
  • the basic operation of the actuator assigned to the partial period is a simple operation 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 element) for causing the actuator to perform basic operation can be created in advance.
  • a program element for causing the actuator to perform basic operation.
  • FIG. 4B for operating the motor A.
  • a program element prog1, a program element prog2 for operating the motor B, a program element prog3 for operating the cylinder A, and a program element prog4 for operating the cylinder B can be created in advance.
  • the program element prog3 is started first, the program element prog1 is started when the program element prog3 is finished, and the program element prog2 and the program element prog4 are started when the program element prog1 is finished. Start it.
  • the operating quantities of the program element prog3, the program element prog1, the program element prog2, and the program element prog4 use (a), (b), (c), and (d), respectively, according to the specifications on the YOGO chart.
  • the control program shown in FIG. 4 (c) is generated and automatically.
  • the manufacturing machine 1 can be operated.
  • the YOGO chart needs to be created correctly.
  • the YOGO chart of the present embodiment described below is obtained as a result of making various improvements to the primitive YOGO chart illustrated in FIG. 4 (a) from this viewpoint.
  • FIG. 5 is an explanatory diagram for explaining the outline of the YOGO chart 200 of this embodiment. If the scale is reduced to display the entire YOGO chart 200, the display is crushed and becomes unreadable. Therefore, a part (upper left corner portion) of the YOGO chart 200 is displayed in FIG. As shown in FIG. 5, the YOGO chart 200 has a shape like a large table in which a plurality of horizontal lines and a plurality of vertical lines intersect. In the following, among the plurality of intersecting lines, the horizontal line will be referred to as "partition line” 201, and the vertical line will be referred to as "trigger line" 202.
  • the trigger line 202 is given a serial number starting from 1.
  • the serial number of the trigger line 202 below the upper end column of the YOGO chart 200 is described.
  • the area between the trigger lines 202 adjacent to each other is the partial period described above with reference to FIG. 4, and the partial period is also given a serial number starting from No. 1 (hereinafter, referred to as a partial period number).
  • the trigger line 202 is drawn in the vertical direction. Therefore, the partial period sandwiched between the trigger line 202 and the trigger line 202 is arranged in the horizontal direction.
  • the trigger line 202 may be drawn in the horizontal direction, and in this case, a plurality of partial periods are arranged in the vertical direction.
  • the YOGO chart 200 of this embodiment is divided into a plurality of horizontally long areas by a plurality of partition lines 201, and these horizontally long areas are assigned serial numbers starting from No. 1 (hereinafter, referred to as actuator numbers).
  • the actuator mounted on the automatic manufacturing machine 1 is assigned to any area.
  • the actuator 10 (see FIG. 2) is assigned to the region having the actuator number 1
  • the actuator 11 (see FIG. 2) is assigned to the region having the actuator number 2.
  • the actuator 12 (see FIG. 2) is assigned to the region where the actuator number is 3, and the actuator 13 (see FIG. 2) is assigned to the region where the actuator number is 4. Since the automatic manufacturing machine 1 of this embodiment is equipped with 11 actuators of actuators 10 to 20, a horizontally long region is allocated to all of these actuators one by one.
  • the basic operation of the actuators 10 to 20 is described at an appropriate position on the horizontally long area to which the actuators 10 to 20 are assigned.
  • the actuator 10 is basically operated in the partial period 4, the coordinate position of the grid specified by the partial period number 4 on the horizontally long region where the actuator number is 1 on the YOGO chart 200.
  • the basic operation 206 that the actuator 10 wants to make is described.
  • the actuator 10 is basically operated in the partial period 4 and the partial period 8, the same horizontally long coordinate position as the grid-like coordinate position of the 4th partial period number on the horizontally long region where the actuator number is 1.
  • the basic operation 206 to be caused by the actuator 10 is described at the coordinate position where the partial period number is No. 8 on the region of.
  • the basic operation 206 of the actuator 10 is described on the YOGO chart 200 on the horizontally long region of the actuator number 1, and the basic operation 206 of the actuator 11 is on the horizontally long region of the actuator number 2.
  • the basic operation 206 of the actuators 10 to 20 is described on the YOGO chart 200 on the area to which the actuators 10 to 20 are assigned. The reason why the YOGO chart 200 of this embodiment describes the basic operation in this way is as follows.
  • the primitive YOGO chart illustrated in FIG. 4A will be described.
  • the operations of a plurality of actuators are described in a mixed manner. For example, a cylinder operated in a partial period 1 is described. It is difficult to immediately recognize which operating period A will operate next. Therefore, it is difficult to imagine how each actuator operates, and it is also difficult to decipher the number of times each actuator operates. As a result, for example, there is a possibility that the presence of the actuator that has not returned to the original position may not be noticed, or that the presence of the actuator that has forgotten to describe the operation may not be noticed.
  • the region where the operation is described is separated for each actuator, so which actuator operates in which partial period can be determined. It can be easily grasped visually, and the number of operations of each actuator can be easily recognized. Therefore, even if there is an actuator that has not returned to the original position or an actuator that has forgotten to describe the operation, it can be easily recognized. As a result, it becomes possible to easily create the YOGO chart 200 that operates the automatic manufacturing machine 1 as intended.
  • the YOGO chart 200 can also describe the operation of devices other than the actuator, and the horizontally long areas are also assigned to each of these devices.
  • the basic operation is described as follows.
  • the basic operation 206 of the actuator 13 that first operates in the YOGO chart 200 of FIG. 5 will be described. Since the operating actuator is the actuator 13, the corresponding actuator number is No. 4, and since it operates first, the corresponding partial period number is No. 1. Therefore, the position on the YOGO chart 200 where the basic operation 206 is described is a grid-like coordinate position where the actuator number is No. 4 and the partial period number is No. 1.
  • the square corresponding to the coordinate position where the partial period number is No. 1 is the square sandwiched between the No. 1 trigger line 202 existing on the left side and the No. 2 trigger line 202 existing on the right side.
  • An operation line 203 indicating the operation of the actuator is entered from the No. 2 trigger line 202 to the No. 2 trigger line 202. Then, the start point 204 indicating the start of the operation is entered at the left end of the operation line 203 (hence, on the first trigger line 202), and the end of the operation is entered at the right end of the operation line 203 (hence, on the second trigger line 202). Enter the end point 205 indicating.
  • the operation line 203 is indicated by a thick solid line
  • the start point 204 is indicated by a white circle
  • the end point 205 is indicated by a black circle.
  • the basic operation 206 to be made to be an actuator.
  • the basic operation 206 of " ⁇ -AA" is entered in the basic operation in which the actuator number is No. 4 and the partial period number is No. 1.
  • the basic operation 206 is associated with a computer-executable program element for causing the actuator to perform the basic operation. Therefore, by writing the basic operation 206 on the operation line 203, the program element that can be executed by the computer can be specified. Further, the actuator to be operated by using the program element can be specified from the actuator number at the coordinate position where the operation line 203 and the basic operation 206 are entered. Then, from the partial period number of the coordinate position, the partial period for operating the actuator can be specified.
  • more detailed operation can be specified by specifying parameters such as rotation speed or movement speed, and operation time.
  • parameters such as rotation speed or movement speed, and operation time.
  • the display of "A-100" described under the basic operation 206 of " ⁇ -AA" at the coordinate position where the actuator number is No. 4 and the partial period number is No. 1 is displayed.
  • " ⁇ -AA” represents the parameter specified in the basic operation 206.
  • the operation can be specified in more detail. For example, when the actuator is a motor, the rotation speed and the rotation angle may be specified, and when the actuator is a linear motor, the movement speed and the movement distance may be specified.
  • an alphabet indicating the type of the parameter is described at the beginning of the parameter.
  • the content specified by the parameter is not limited to numerical values indicating speed, position, etc., and may be specified, for example, the degree of acceleration or deceleration of the motor, a drive pattern indicating how to accelerate or decelerate, or the like.
  • the actuator is an actuator having a simple movement such as moving forward or backward to the stroke limit, such as an air cylinder
  • the basic movement realized by the program element simply moves forward until a certain period of time elapses.
  • the operation is to move backward, or to move forward or backward until the contact switch is turned on. Since no parameter is required for such a simple operation, the basic operation 206 without the parameter is written on the operation line 203.
  • the basic operation 206 of the actuator 11 that operates second on the YOGO chart illustrated in FIG. 5 is also described in the same manner.
  • this basic operation 206 is an operation executed by the actuator 11 in the second partial period
  • the position where the basic operation 206 is described is the actuator number 2 and the partial period number 2. It becomes the coordinate position of the number. Therefore, the operation line 203 is drawn from the second trigger line 202 on the left side to the third trigger line 202 on the right side, the start point 204 is at the left end of the operation line 203, and the right end of the operation line 203 is. Enter the end point 205.
  • the basic operation 206 (here, ⁇ -AB) to be performed by the actuator 11 is entered on the operation line 203, and the parameter (here, A-10) is entered at the position below it. ..
  • the actuator 11 is made to perform the basic operation 206 of " ⁇ -AB" by designating the parameter "A-10".
  • the trigger line 202 of No. 5 and the trigger line 202 of No. 7 are changed to the trigger line 202 of the broken line with respect to the YOGO chart of FIG. 5 described above.
  • the repeat condition is written in the broken line rectangle 208 below the fifth trigger line 202 that appears first.
  • the operations assigned to the partial periods from the 5th trigger line 202 to the 7th trigger line 202 are repeatedly executed until the value of the variable VC becomes 0.
  • the trigger line 202 of No. 9 and the trigger line 202 of No. 13 are changed to the trigger line 202 of the alternate long and short dash line with respect to the YOGO chart of FIG. 5 described above. These represent conditional branching.
  • a rectangular alternate long and short dash line 208 is displayed, respectively, and these represent branching conditions.
  • "A> B" is written in the rectangle 208 below the trigger line 202 of No. 9, and "A> B" is written in the rectangle 208 below the trigger line 202 of No. 13.
  • an interval of a certain time is provided before the operation of the actuator is started, or the actuator is operated after confirming that a certain number of parts have been supplied, for example.
  • a sound including a sound effect
  • the light may be turned on or blinked for a certain period of time.
  • the operation of counting a certain time using a timer, the operation of counting a certain number using a counter, the operation of outputting sound from a speaker, and the operation of turning on or blinking a light are performed.
  • the YOGO chart 200 can also describe an operation that is not an actuator operation but can be handled in the same manner as a basic operation.
  • FIG. 7 is an explanatory diagram illustrating a mode for describing an operation that can be handled in the same manner as the basic operation on the YOGO chart 200.
  • FIG. 7A describes an operation (timekeeping operation) for measuring the passage of a predetermined time.
  • the basic operation 206 here, ⁇ -TM1
  • the basic operation 206 here, ⁇ -TM1
  • the elapsed time measured by the timer can be specified using parameters.
  • FIG. 7B describes an operation (counting operation) of counting a predetermined number (or a predetermined number of times).
  • the counting operation by the counter is also performed by writing the basic operation 206 (here, ⁇ -CT1) indicating the counting operation by the counter on the operation line 203 having the start point 204 at the left end and the end point 205 at the right end. Describe.
  • the counting value to be counted by the counter can be specified by using a parameter.
  • FIG. 7C describes an operation (switch detection operation) of monitoring the state of the switch for a predetermined time and detecting that the switch has been switched.
  • the switch may be a switch such as an operation button, a proximity switch, or an optical switch such as a photocoupler.
  • Such a switch detection operation is also described by writing a basic operation 206 (here, ⁇ -SW1) indicating a switch detection operation on an operation line 203 having a start point 204 at the left end and an end point 205 at the right end. do.
  • the time to monitor the switch status can be specified using parameters.
  • FIG. 7 (d) describes an operation of outputting audio from the speaker (audio output operation).
  • the basic operation 206 here, ⁇ -SP1 indicating the drive of the speaker is entered on the operation line 203 having the start point 204 at the left end and the end point 205 at the right end. Describe by doing.
  • the audio data output from the speaker can be specified using parameters.
  • FIG. 7 (e) describes a light emitting operation for emitting a light.
  • the light emitting operation by the light is also described by writing the basic operation 206 (here, ⁇ -LL1) indicating the light emitting operation on the operation line 203 having the start point 204 at the left end and the end point 205 at the right end. ..
  • the mode in which the light is emitted (for example, the mode in which the light is turned on or blinked) can be specified by using a parameter.
  • FIG. 7 (f) describes a heating operation in which an object is heated by using a heater or food is cooked.
  • the heating operation by the heater is also described by writing the basic operation 206 (here, ⁇ -HT1) indicating the heating operation by the heater on the operation line 203 having the start point 204 at the left end and the end point 205 at the right end. ..
  • the heating temperature and heating time can be specified using parameters.
  • the operation line 203, the start point 204, the end point 205, and the basic operation 206 are set at the grid-like coordinate positions specified by the actuator number and the partial period number. , If necessary, fill in the parameters. Then, the operation of the automatic manufacturing machine 1 is described by describing the basic operations of all the actuators 10 to 20 mounted on the automatic manufacturing machine 1 on the YOGO chart in this way. Then, the automatic manufacturing machine control device 100 generates a control program from such a YOGO chart to control the operation of the automatic manufacturing machine 1.
  • FIG. 8 is an explanatory diagram showing the functions included in the automatic manufacturing machine control device 100 of this embodiment.
  • the automatic manufacturing machine control device 100 of this embodiment includes a YOGO chart creation unit 101, a basic operation storage unit 102, a YOGO chart reading unit 103, a YOGO chart analysis unit 104, and a control program. It includes a generation unit 105, a control execution unit 106, and the like. It should be noted that these "parts" are automatically manufactured in order to create a YOGO chart 200 using the automatic manufacturing machine control device 100, generate a control program from the YOGO chart 200, and control the operation of the automatic manufacturing machine 1.
  • the YOGO chart creation unit 101 is connected to a monitor screen 100m, an operation input button 100s, etc., and a machine engineer or the like who has sufficient knowledge about the automatic manufacturing machine 1 presses the operation input button 100s while looking at the monitor screen 100m.
  • a YOGO chart 200 as illustrated in FIG. 5 is created.
  • the YOGO chart 200 describes the operation of the automatic manufacturing machine 1 by assigning the basic operations of the plurality of actuators mounted on the automatic manufacturing machine 1 to any of the partial periods.
  • a mechanical design engineer has fully considered how to combine the basic operations of a plurality of actuators in order to realize the operation of the automatic manufacturing machine 1, so that the mechanical design should be performed.
  • the name of the actuator (or speaker, light, switch, etc.) and the basic operation 206 that can be executed by the actuator or the like are stored in association with each other in the basic operation storage unit 102.
  • FIG. 9 is an explanatory diagram showing how the names of actuators and the like are associated with the basic operation 206.
  • a basic operation 206 (including an operation according to a basic operation such as a timekeeping operation) that can be executed by the actuator or the like is stored in a state associated with the actuator or the like.
  • each executable basic operation 206 is stored for an actuator or the like capable of executing a plurality of types of basic operations.
  • each basic operation 206 is stored for an actuator or the like capable of executing a plurality of types of basic operations.
  • the program element number and the start address value storing the program element are also stored.
  • the program element number is a number that specifies a program element for realizing a basic operation (or an operation according to the basic operation).
  • the program element is stored in the memory in a format that can be executed by the CPU, and the address value at the beginning of the address in which the program element is stored in the memory is also stored in association with the basic operation storage unit 102. ..
  • the YOGO chart creation unit 101 is connected to the basic operation storage unit 102. Therefore, the mechanical design engineer (or the mechanical engineer) can refer to the data of FIG. 9 stored in the basic operation storage unit 102 when creating the YOGO chart 200.
  • a mechanical engineer who has sufficient knowledge about the automatic manufacturing machine 1 fully knows what kind of actuator is to be operated and how to operate it. Therefore, the basic operation 206 should be specified from the name of the actuator or the like. Can be done. Further, the contents specified in the parameters can be easily determined. Therefore, the YOGO chart 200 can be easily created.
  • the YOGO chart reading unit 103 reads the YOGO chart 200 created by the YOGO chart creating unit 101 and outputs it to the YOGO chart analysis unit 104.
  • the automatic manufacturing machine control device 100 creates the YOGO chart 200.
  • the YOGO chart reading unit 103 reads the YOGO chart 200 from the YOGO chart creating unit 101.
  • the YOGO chart 200 may be created by a computer 50 provided separately from the automatic manufacturing machine control device 100, and the YOGO chart reading unit 103 may read the YOGO chart.
  • the YOGO chart analysis unit 104 analyzes the YOGO chart 200 received from the YOGO chart reading unit 103 to generate intermediate data, and then outputs the intermediate data to the control program generation unit 105. The process of generating intermediate data from the YOGO chart will be described in detail later.
  • control program generation unit 105 When the control program generation unit 105 receives the intermediate data, the control program generation unit 105 generates a control program from the intermediate data by referring to the correspondence stored in the basic operation storage unit 102. The method of generating the control program from the intermediate data will be described in detail later. Then, the obtained control program is output to the control execution unit 106.
  • control execution unit 106 When the control execution unit 106 receives the control program from the control program generation unit 105, the control execution unit 106 acquires the program element stored in association with the program element number in the control program from the basic operation storage unit 102. That is, as described above with reference to FIG. 9, since the start address value in which the program element is stored is stored in the basic operation storage unit 102 in association with the program element number, it corresponds to the program element number. Can read program elements to be used. Then, the actuators 10 to 20 are controlled via the driver circuits 10d to 20d by executing the read program element. By doing so, the automatic manufacturing machine 1 operates as described in the YOGO chart.
  • the YOGO chart reading unit 103 of the present embodiment corresponds to the "operation chart reading unit" of the present invention. Further, the YOGO chart reading unit 103, the YOGO chart analysis unit 104, and the control program generation unit 105 described above using FIG. 8 are integrated to realize a function of generating a control program from the YOGO chart 200. is doing. Therefore, in the automatic manufacturing machine control device 100 of the present embodiment, the YOGO chart reading unit 103, the YOGO chart analysis unit 104, and the control program generation unit 105 correspond to the "control program generation device 110" of the present invention. ..
  • FIG. 10 is a flowchart showing an outline of the control program generation process executed by the portion corresponding to the control program generation device 110 in the automatic manufacturing machine control device 100 of this embodiment.
  • the YOGO chart is first read (STEP 1).
  • the data of the created YOGO chart is read.
  • the data of the YOGO chart created by another computer 50 may be read.
  • FIG. 11 is a flowchart of a process (YOGO chart analysis process) in which the automatic manufacturing machine control device 100 of the present embodiment analyzes the YOGO chart and outputs intermediate data. This process is a process executed by the YOGO chart analysis unit 104 shown in FIG.
  • the partial period number N and the actuator number M are initialized to "1" (STEP 10). Subsequently, it is determined whether or not the basic operation is entered at the position of the coordinates (N, M) on the YOGO chart 200 (STEP 11).
  • the coordinates (N, M) on the YOGO chart 200 represent the coordinate positions in a grid pattern specified by the combination of the partial period number N and the actuator number M on the YOGO chart 200.
  • the basic operation is entered at the position of the coordinates (1, 1) on the YOGO chart 200. It will be judged whether or not it is.
  • intermediate data (N, M, basic operation, parameters) is stored in the memory (STEP 13).
  • the intermediate data (1,4) of the YOGO chart 200 illustrated in FIG. 5 the intermediate data (1,4, ⁇ -AA, A-100) is stored in the memory. Therefore, in this intermediate data, the basic operation " ⁇ -AA” is entered at the position where the partial period number is No. 1 and the actuator number M is No. 4 on the YOGO chart 200, and the basic operation is "A". This indicates that the parameter "-100" is set.
  • the actuator number M has reached the final value (STEP14: yes)
  • FIG. 12 illustrates intermediate data obtained when the YOGO chart 200 illustrated in FIG. 5 is analyzed. After outputting such intermediate data, the YOGO chart analysis process of FIG. 11 is terminated, and the process returns to the control program generation process of FIG.
  • FIG. 13 shows a control program generated from the intermediate data illustrated in FIG.
  • the basic operation 206 and the parameters of the intermediate data are replaced with numerical values. That is, the control program is generated by replacing the basic operation 206 of the intermediate data with a program element number that realizes the basic operation, and replacing the parameters of the intermediate data with specific numerical values represented by the parameter.
  • the operation of replacing the basic operation 206 and the parameters of the intermediate data with numerical values is executed by the control program generation unit 105 in FIG. 8 referring to the basic operation storage unit 102. That is, as described above with reference to FIG. 9, the basic operation storage unit 102 stores the basic operation and the program element number for realizing the basic operation in association with each other. As for the parameters, the basic operation storage unit 102 stores a correspondence relationship (not shown) that associates the parameters with specific numerical values. Therefore, the control program generation unit 105 converts the basic operation 206 and parameters described in the intermediate data into a control program that can be executed by the control execution unit 106 by replacing it with a program element number or a specific numerical value.
  • the basic operation 206 and the parameters are replaced with the program element numbers and specific numerical values with reference to the basic operation storage unit 102. Therefore, the YOGO chart.
  • the basic operation 206 and parameters to be entered in can be written in a way that is easy for humans to understand. Therefore, it is possible to prevent a situation in which the automatic manufacturing machine 1 performs an unintended operation due to an erroneous basic operation 206 or parameters being entered in the YOGO chart.
  • control program generation process in FIG. 10 is completed.
  • data set a set of data in which the partial period number N, the actuator number M, the program element number, and the parameter value are arranged in this order. (Called) is a collection. Therefore, in the data set, 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 represents the program element number.
  • the third data will be referred to as the "third element”.
  • control program generated by the control program generation process described above is merely data in which a plurality of data sets are continuous.
  • the control execution unit 106 of the automatic manufacturing machine control device 100 controls the operations of the actuators 10 to 20 of the automatic manufacturing machine control device 100 as follows based on such a control program.
  • FIG. 14 is a flowchart of an operation control process in which the control execution unit 106 of the automatic manufacturing machine control device 100 controls the operation of the automatic manufacturing machine 1 according to a control program.
  • the partial period number N is initialized to "1" (STEP 50).
  • a data set in which the first element is N is acquired from the control program (STEP51).
  • the partial period number N is set to "1", so that the data set (1, 4, 1, 120) is read from the control program illustrated in FIG. become.
  • the actuator to be controlled is specified based on the value of the second element of the read data set (STEP52). Assuming that the data set read in STEP 51 is (1, 4, 1, 120), the value of the second element is "4", so that the actuator whose actuator number M is "4" is the actuator to be controlled. When a plurality of data sets are read out in STEP 51, each actuator to be controlled is specified based on the value of the second element of each data set.
  • the program element for causing the actuator to perform the basic operation is acquired (STEP53). If the data set read in STEP 51 is (1, 4, 1, 120), the value of the third element is "1". Therefore, the program element for basic operation has the program element number "1". It becomes a program element. Therefore, by referring to the correspondence (see FIG. 9) stored in the basic operation storage unit 102 and acquiring the start address value corresponding to the program element number, the CPU reads out the program element that can be executed. Of course, when a plurality of data sets are read in STEP 51, each program element is read based on the value of the third element of each data set.
  • the basic operation entered in a certain partial period on the YOGO chart 200 (immediately after the operation control process is started, the partial period number N is the "1" partial period).
  • the actuator to be controlled is specified (STEP52)
  • the program element used for control is acquired (STEP53)
  • the argument is set for the program element (STEP54). Therefore, the program element is executed. (STEP55).
  • the actuator is a servomotor and the basic operation is to rotate the motor 180 degrees in the forward direction
  • the motor is rotated 180 degrees while detecting the rotation angle of the motor.
  • a program element that repeats the driving operation at a predetermined control cycle is executed. If a plurality of program elements exist, those program elements will be executed in parallel.
  • StepP56 it is determined whether or not the execution of all the program elements has been completed. That is, when a plurality of program elements are executed in STEP55, the execution of those program elements is not always completed at the same time, so it is determined whether or not the execution of all the program elements is completed. Of course, when only one program element is executed in STEP55, it is determined whether or not the execution of the program element is completed.
  • the partial period number N is increased by one (STEP58). Then, returning to STEP 51, after reading a data set whose first element matches the new partial period number N from the control program, the above-mentioned operations of STEP 52 to STEP 55 are performed on the read data set. By doing so, all the basic operations entered in the new partial period are executed by advancing one partial period from the partial period in which the basic operation was executed earlier. Then, when all the basic operations of the new partial period are completed and "yes" is determined in STEP 56, it is determined whether or not the partial period number N of the partial period has reached the final value (STEP 57).
  • the first partial period that is, the partial period number N is the first partial period
  • the last partial period the partial period number N is the final value partial period of the YOGO chart 200.
  • the sub-periods are selected one by one, and the operation of executing the basic operation described in the sub-period is repeated. Then, when the basic operation of the last partial period is completed, STEP57 determines "yes" and ends the operation control process.
  • the automatic manufacturing machine control device 100 of the present embodiment by describing the operation of the automatic manufacturing machine 1 on the YOGO chart 200, a control program is automatically generated from the YOGO chart 200.
  • the automatic manufacturing machine control device 100 can be operated.
  • the YOGO chart 200 can be easily created without any knowledge about the program if the structure and operation of the automatic manufacturing machine 1 are known, so that the programmer does not need to create the control program. Therefore, the time required to develop the new automatic manufacturing machine 1 can be significantly reduced (at least half or less), and in addition, it is not necessary to secure a programmer. As a result, it becomes easy to introduce a new automatic manufacturing machine to the manufacturing site, and it becomes possible to fully meet the demand for labor saving in the industrial world.
  • the present invention is not limited to the above embodiment, and can be implemented in various modes without departing from the gist thereof.
  • both the control program generation unit 105 and the control execution unit 106 have been described as referring to the basic operation storage unit 102.
  • This is the correspondence relationship (that is, the correspondence relationship between the basic operation 206 (and the parameter) and the program element number (and the specific numerical value)) referred to when the control program generation unit 105 generates the control program, and the control execution. Since the correspondence relationship (that is, the correspondence relationship between the program element number and the start address value storing the program element) referred to when the unit 106 executes the control program is stored in the basic operation storage unit 102. Is.
  • the correspondence relationship stored in the basic operation storage unit 102 is divided into a correspondence relationship referred to by the control program generation unit 105 and a correspondence relationship referred to by the control execution unit 106, and the control execution unit 106 refers to the correspondence relationship.
  • the correspondence may be stored in a storage unit different from the basic operation storage unit 102.
  • FIG. 15 shows that the control program generation unit 105 and the control execution unit 106 refer to different storage units by dividing the correspondence relationship referred to by the control program generation unit 105 and the correspondence relationship referred to by the control execution unit 106.
  • the control execution unit 106 is not the basic operation storage unit 102 but the automatic manufacturing machine control device 100 of the present embodiment described with reference to FIG. The difference is that it refers to the program element storage unit 107.
  • the program element storage unit 107 stores a portion in which the program element number and the start address value in which the program element is stored are associated with each other in the correspondence relationship described above with reference to FIG.
  • the portion in which the start address value is associated with the program element number is excluded from the correspondence relationship stored in the basic operation storage unit 102 of the modified example.
  • the control execution unit 106 executes the control program
  • the program element read by referring to the program element storage unit 107 is executed.
  • the correspondence relationship stored in the basic operation storage unit 102 of the above-mentioned modified example will be supplementarily explained so as not to raise doubts.
  • the correspondence between the start address value storing the program element and the basic operation 206 is stored in the basic operation storage unit 102. ..
  • what is stored in association with the basic operation storage unit 102 is only the correspondence between the basic operation 206 and the program element number, and the basic operation 206 and the beginning of the program element are stored. The correspondence with the address value is not stored.
  • the program element that realizes the basic operation cannot be read immediately. However, if the program element number is specified, the program element is determined. From this, the correspondence relationship stored in the basic operation storage unit 102 of the modified example also substantially corresponds to the correspondence relationship in which the basic operation 206 and the program element are associated with each other.
  • the automatic manufacturing machine control device 100 of the present embodiment described above has a function of creating a YOGO chart 200 and generating a control program from the YOGO chart 200 (YOGO chart creation unit 101 and basic operation storage unit 102 in FIG. 8). , YOGO chart reading unit 103, YOGO chart analysis unit 104, and control program generation unit 105), as well as a function to execute control according to the control program (corresponding to control execution unit 106 in FIG. 8). explained.
  • the automatic manufacturing machine control device 100 may be formed as a whole by combining a plurality of devices equipped with a part of these plurality of functions.
  • the automatic manufacturing machine control device 100 may be divided into a YOGO chart processing device 100a and a control execution device 100b. Then, the automatic manufacturing machine control device 100 has a series of functions from the creation of the YOGO chart 200 to the generation of the control program (that is, the YOGO chart creation unit 101, the basic operation storage unit 102, the YOGO chart reading unit 103, and the YOGO chart analysis. A unit 104 and a control program generation unit 105) are mounted. Further, the control execution device 100b may be equipped with a function of executing a program element according to a control program (that is, a control execution unit 106 and a program element storage unit 107).
  • the work of creating the YOGO chart 200 and generating the control program is performed by the YOGO chart processing device 100a installed in the office, and the control installed near the automatic manufacturing machine 1.
  • the execution device 100b By causing the execution device 100b to read the generated control program, the automatic manufacturing machine 1 can be operated.
  • the YOGO chart processing device 100a corresponds to the "control program generation device" in the present invention.
  • the operation entered in the YOGO chart 200 has been described as being a basic operation (or an operation according to the basic operation).
  • a component having a complicated operation with a large number of degrees of freedom is purchased and the component is made to perform a predetermined operation to be used as an actuator of the automatic manufacturing machine 1.
  • the predetermined operation to be performed by the component may be treated as the basic operation 206 and entered in the YOGO chart 200.
  • the control program can be automatically generated by using the automatic manufacturing machine control device 100.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Geometry (AREA)
  • Programmable Controllers (AREA)
  • Feedback Control In General (AREA)

Abstract

自動製造機械(1)に搭載されている複数のアクチュエータの基本動作(206)と、基本動作を実現するためのプログラム要素とを対応付けて記憶しておく。また、自動製造機械の動作を、自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、自動製造機械の動作が複数の基本動作に分解されると共に、基本動作が複数の部分期間の何れかに割り当てられた動作チャート(200)によって記述しておく。そして、自動製造機械の動作が記述された動作チャートを読み込んで、動作チャート中の基本動作をプログラム要素に変換すると共に、動作チャート中での部分期間の順番に従ってプログラム要素を結合する。こうすれば、自動製造機械の動作を制御する制御プログラムを自動で生成することが可能となる。

Description

制御プログラム生成装置、制御プログラム生成方法、プログラム
 本発明は、複数のアクチュエータを備えた自動製造機械の制御プログラムを生成する技術に関する。
 今日では、あらゆる業種に亘って、工場などの製造現場で省力化が強く要請されるようになっており、この傾向は今後も益々強まるものと予想されている。製造現場の省力化を推進するためには、加工あるいは製造しようとする対象物を把持したり、対象物を搬送したり、対象物に対して各種の加工を施したり、加熱したりする動作を自動で行う自動製造機械を活用することが必須となる。
 そこで、加工あるいは製造しようとする対象物や、加工の内容(例えば、切削加工や、曲げ加工)や、食品の場合は加熱の程度などに応じて、様々なタイプの自動製造機械が開発されている(例えば、特許文献1、特許文献2)。
 また、加工あるいは製造する対象物の大きさや形状や材質などは製造現場毎に異なっており、更に、加工の内容や加熱の程度なども製造現場によって異なっている。このため、製造現場に自動製造機械を導入する際には、他の製造現場で用いられている自動製造機械を流用することは困難であり、製造現場毎に専用の自動製造機械を新たに開発しなければならないことが一般的である。
特開2011-245602号公報 特開2018-192570号公報
 しかし、新たな自動製造機械を開発するには、その自動製造機械を制御するための制御プログラムも新たに作成する必要があり、このことが、製造現場に新たな自動製造機械を導入する際の大きな障害になっているという問題があった。この理由は次のようなものである。
 新たな自動製造機械を開発する際には、先ず始めに機械設計技術者が、自動製造機械に要求される各種の機能を把握した上で、要求される機能を実現可能な自動製造機械の図面を作成する。続いて、プログラムを作成するための技術を有する技術者(いわゆるプログラマ)が、図面に記載された各種のアクチュエータや機械部品の動作を理解した上で、各種のアクチュエータが協調しながら動作することによって、要求される機能を実現するような制御プログラムを作成する必要がある。
 このように、制御プログラムを作成するには、自動製造機械の設計が終わった後に、専門的な技能を有するプログラマが取り掛かる必要があるため、制御プログラムの作成に取り掛かる時期が遅くなる。加えて、プログラマが各種のアクチュエータや機械部品の動作を理解する時間も必要となる。その結果、自動製造機械の開発に取り掛かってから、製造現場に納品するまでに長い時間が必要となっており、このことが、製造現場に新たな自動製造機械を導入する際の大きな障害になっていた。
 この発明は、従来の技術が有する上述した課題を解決するために成されたものであり、自動製造機械の制御プログラムを自動で生成することによって、新たな自動製造機械を開発するために要する時間を大幅に短縮することが可能な技術の提供を目的とする。
 上述した課題を解決するために、本発明の制御プログラム生成装置は次の構成を採用した。すなわち、
 複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する制御プログラム生成装置(100a、110)であって、
 前記アクチュエータの自由度毎の動作を表す基本動作(206)を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
 前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
 前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
 を備えることを特徴とする。
 また、上述した制御プログラム生成装置に対応する本発明の制御プログラム生成方法は次の構成を採用した。すなわち、
 複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムをコンピュータによって生成する制御プログラム生成方法であって、
 前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
 前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析工程(STEP2)と、
 前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP3)と
 を備えることを特徴とする。
 かかる本発明の制御プログラム生成装置および制御プログラム生成方法では、自動製造機械に搭載されている複数のアクチュエータの基本動作と、基本動作を実現するためのプログラム要素とが対応付けて予め記憶されている。また、自動製造機械の動作が、次のような動作チャートによって予め記述されている。すなわち、自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、自動製造機械の動作が複数の基本動作に分解されている。そして、それらの基本動作が、複数の部分期間の何れかに割り当てられることによって、自動製造機械の動作が記述された動作チャートが予め作成されている。そして、自動製造機械の制御プログラムを生成するに際しては、自動製造機械の動作が記述された動作チャートを読み込んで、動作チャートに記載された基本動作をプログラム要素に変換すると共に、それらのプログラム要素を、部分期間の順番に従って結合することによって、制御プログラムを生成する。
 アクチュエータの基本動作は単純な動作であるため、アクチュエータに基本動作を行わせるためのプログラム要素を予め作成しておくことができる。また、機械設計技術者は自動製造機械を設計する際に、アクチュエータの基本動作を組み合わせることによって、自動製造機械の動作を実現しているから、自動製造機械を設計した機械設計技術者や、自動製造機械の構造について十分な知識を有する技術者であれば、自動製造機械の動作を記述した動作チャートを容易に作成することができる。従って、動作チャートを読み込んで、動作チャート中の基本動作をプログラム要素に変換し、動作チャートに従ってプログラム要素を結合してやれば、自動製造機械の動作を制御する制御プログラムを自動で生成することが可能となる。
 また、上述した本発明の制御プログラム生成装置においては、次のような動作チャートを用いて、自動製造機械の動作を記述するようにしても良い。すなわち、動作チャートを、複数の部分期間が横方向または縦方向の何れか一方に並んで配置され、更に、横方向または縦方向の何れか他方には、複数のアクチュエータが並んで割り当てられた表形式の動作チャートとする。そして、表形式の動作チャート上で、対応する座標位置に基本動作を記入することによって、自動製造機械の動作を記述するようにしても良い。
 こうすれば、基本動作させるアクチュエータを動作チャート上の座標位置で特定することができるので、基本動作をアクチュエータに固有の動作とする必要が無い。このため、同じ基本動作を異なるアクチュエータに割り当てられるので、プログラム要素の種類を減らすことができる。また、動作チャート中に、基本動作が割り当てられていない部分期間が存在することや、基本動作が割り当てられていないアクチュエータが存在することを、容易に認識することができるので、動作チャートに記入ミスがあった場合でも、そのことに気づいて修正することで、適切な制御プログラムを生成することが可能となる。
 また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、タイマによる計時動作または計数器による計数動作の少なくとも一方を、基本動作に準じた動作として記述しても良い。
 こうすれば、例えば、一定時間が経過するまで動作の開始を遅らせたり、所定のボタンが押された回数が所定回数に達するまで動作の開始を遅らせたりする動作を、動作チャートに記述することが可能となる。
 また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、スイッチの状態を監視することによってスイッチが切り換わったことを検知するスイッチ検知動作を、基本動作に準じた動作として記述しても良い。
 こうすれば、例えば、部品が通過したことを確認できていなければアクチュエータを動作させないような動作を、動作チャートに記述することが可能となる。
 また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、スピーカーによる音声出力動作またはライトによる発光動作の少なくとも一方を、基本動作に準じた動作として記述しても良い。
 こうすれば、例えば、スピーカーから効果音などの音声を出力した後にアクチュエータを動作させたり、ライトを点灯あるいは点滅してからアクチュエータを動作させたりする自動製造機械の動作を、動作チャートに記述することが可能となる。
 また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述する動作チャートに、ヒーターによる加熱動作を、基本動作に準じた動作として記述しても良い。
 こうすれば、例えば、金属材料に熱処理を行う自動製造機械の動作や、食材を加熱調理する動作を、動作チャートに記述することが可能となる。
 また、前述した本発明の制御プログラム生成方法は、コンピュータを用いて制御プログラム生成方法を実現するためのプログラムとして把握することも可能である。すなわち、本発明のプログラムは、
 複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する方法を、コンピュータを用いて実現するプログラムであって、
 前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
 前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析機能(STEP2)と、
 前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP3)と
 を、コンピュータを用いて実現することを特徴とする。
 このようなプログラムをコンピュータに読み込ませて実行させれば、自動製造機械の動作を制御する制御プログラムを動作チャートから自動で生成することが可能となる。
本実施例の自動製造機械制御装置100によって制御される自動製造機械1の外観形状を示した説明図である。 自動製造機械制御装置100が、自動製造機械1に搭載された各種のアクチュエータ10~20の動作を制御する様子を概念的に示したブロック図である。 新たな自動製造機械1を開発するための大まかな工程を概念的に示した説明図である。 本実施例の自動製造機械制御装置100が自動製造機械1を動作チャート(YOGOチャート)から自動製造機械1の制御プログラムを自動で生成する基本原理についての説明図である。 本実施例の自動製造機械制御装置100が読み込む自動製造機械1の動作チャート(YOGOチャート)の一部を例示した説明図である。 繰り返し動作や条件分岐動作を有する動作チャート(YOGOチャート)を例示した説明図である。 動作チャート(YOGOチャート)上で基本動作と同様に取り扱うことが可能な動作を例示した説明図である。 本実施例の自動製造機械制御装置100が備える機能を示した説明図である。 本実施例の基本動作記憶部102に記憶されている対応関係を例示した説明図である。 本実施例の自動製造機械制御装置100が動作チャート(YOGOチャート)から制御プログラムを生成する制御プログラム生成処理のフローチャートである。 制御プログラム生成処理の中で実行されるYOGOチャート解析処理のフローチャートである。 YOGOチャート解析処理によって生成される中間データを例示した説明図である。 中間データを変換することによって生成された制御プログラムを例示した説明図である。 本実施例の自動製造機械制御装置100が制御プログラムデータに基づいて各アクチュエータの動作を制御する動作制御処理のフローチャートである。 制御プログラム生成部105と制御実行部106とが異なる記憶部を参照する変形例の自動製造機械制御装置100についての説明図である。 自動製造機械制御装置100がYOGOチャート処理装置100aと制御実行装置100bとによって形成された変形例についての説明図である。
A.装置構成 :
 図1は、本実施例の自動製造機械1の大まかな外観形状を示した説明図である。本実施例の自動製造機械1は、長尺のパイプ材に対して自動で曲げ加工を施すことによって、所望の形状に加工する工作機械(いわゆるパイプベンダ)である。もちろん、本実施例の自動製造機械1は、複数のアクチュエータを搭載して、対象物に対して把持、搬送、加工、加熱などの複数の動作を自動で実行することができれば、パイプベンダ以外の製造機械であっても良い。例えば、食料品を自動で製造するための製造機械であっても良い。あるいは、複数の関節を有するアームロボットと搬送装置とを組み合わせた製造システムであっても良い。
 図1に示したように、本実施例の自動製造機械1は、大まかには横長の直方体の外観形状を有しており、直方体の上面側には長手方向に2本のレール2が架設され、レール2上の一端側(図1では左側)には、加工対象の図示しないパイプ材を把持して搬送する搬送ユニット3が搭載されている。また、搬送ユニット3が搭載されている側に対して反対側には、図示しないパイプ材に曲げなどの加工を施す加工ユニット4が搭載されている。搬送ユニット3には、円柱形状の把持軸3aが突設されており、把持軸3aの先端には、図示しないパイプ材を把持するチャック3bが取り付けられている。このため、チャック3bでパイプ材を把持した状態で搬送ユニット3をレール2上で移動させることによって、パイプ材を加工ユニット4に供給し、そのパイプ材に対して加工ユニット4で曲げ加工などを施すことが可能となっている。
 本実施例の自動製造機械1は、搬送ユニット3の移動量によってパイプ材の送り量を制御することができるので、パイプ材に曲げ加工などを施す位置を自由に制御することができる。また、チャック3bが取り付けられた把持軸3aを軸回りに旋回(いわゆる捻り動作)させることによって、所望の方向にパイプ材を曲げることも可能となっている。こうしたことを実現するために、搬送ユニット3の内部には、チャック3bを開閉させるためのアクチュエータ10や、把持軸3aを軸回りに旋回させるためのアクチュエータ11や、把持軸3aを軸方向に進退動させるためのアクチュエータ12や、レール2上で搬送ユニット3を進退動させるためのアクチュエータ13などが搭載されている。本実施例の自動製造機械1では、これらのアクチュエータ10~13は何れも交流電源で動作するサーボモータが用いられているが、アクチュエータに要求される性能に応じて、他の駆動方式のアクチュエータ(例えば、油圧シリンダや、ソレノイドや、ステッピングモータなど)を採用することができる。尚、搬送ユニット3には、把持軸3aの回転位置や、搬送ユニット3の移動位置を検出するためのエンコーダや、リミットスイッチなどのセンサー類も搭載されているが、図面が煩雑となることを回避する目的で、図1では図示が省略されている。
 加工ユニット4の内部には、パイプ材を曲げるためのアクチュエータ17や、パイプ材を曲げる際に、パイプ材に力を加える位置を移動させるためのアクチュエータ18や、加工ユニット4全体を上下方向に移動させるためのアクチュエータ19や、パイプ材に対してフランジと呼ばれる平端面を形成したり、バルジと呼ばれる環状の凸部を形成したりするためのアクチュエータ20などが搭載されている。尚、加工ユニット4にも、エンコーダや、接点スイッチなどのスイッチ・センサー類が搭載されているが、図面が煩雑となることを避けるため、これらについては図示が省略されている。
 また、加工ユニット4の内部には、上述した各種のアクチュエータ10~13、17~20を駆動するための複数のドライバ回路(図示は省略)が搭載されている。ここで、ドライバ回路とは、次のような機能を有する電気部品である。アクチュエータ10~13、17~20に所望の動作をさせるためには、アクチュエータ10~13、17~20に適切な波形の駆動電流を供給する必要がある。しかし、アクチュエータ10~13、17~20に供給するべき駆動電流は、アクチュエータ10~13、17~20の駆動方式によって異なっており、更に同じ方式のアクチュエータであっても、駆動電流の電流値はアクチュエータによって異なっている。そこで、アクチュエータ10~13、17~20にはドライバ回路と呼ばれる専用の電気部品が用意されており、自動製造機械制御装置100がドライバ回路に対して駆動量を指定すると、ドライバ回路がアクチュエータ10~13、17~20に対して適切な駆動電流を出力し、その結果、アクチュエータ10~13、17~20が駆動されるようになっている。
 更に、図1に示されるように、2本のレール2の下方の空間にも各種の機械部品が搭載されているが、この空間は、加工ユニット4内に搭載された複数のドライバ回路(図示は省略)から、搬送ユニット3内の各種のアクチュエータ10~13に向かって駆動電流を供給する電気ケーブル(図示は省略)や、搬送ユニット3に搭載された各種のスイッチ・センサー類からの信号を、加工ユニット4に伝達するための信号ケーブル(図示は省略)などが配線される空間となっている。レール2上で搬送ユニット3が進退動する動きに伴って、これらの電気ケーブルや信号ケーブルが空間内で移動すると、互いに絡まったり、何かに引っ掛かったりする虞が生じる。そこで、こうした事態が発生することを避けるため、レール2の下方の空間には、電気ケーブルや信号ケーブルに不要な遊びがある場合はケーブルを手繰ることによって不要な遊びを解消し、電気ケーブルや信号ケーブルが強い力で引っ張られる場合は、手繰ったケーブルを送り出すことによって、ケーブルに適度な遊びを持たせるためのアクチュエータ14~16も搭載されている。本実施例の自動製造機械1では、アクチュエータ14~16としてエアシリンダが採用されており、これらのエアシリンダの動作も、図示しないドライバ回路を介して自動製造機械制御装置100によって制御されている。
 以上に説明したように、自動製造機械1には多数のアクチュエータ10~20が搭載されている。そして、加工しようとする対象物(ここではパイプ材)を目的とする形状に自動で加工するためには、これらのアクチュエータ10~20を適切なタイミングで、適切に動作させる必要がある。これらのアクチュエータ10~20を駆動するのは、それぞれのアクチュエータ10~20のドライバ回路であるが、ドライバ回路がそれぞれのアクチュエータ10~20を駆動する動作は、後述する自動製造機械制御装置100が、予め読み込んでおいた制御プログラムに従って制御している。
 図2は、本実施例の自動製造機械制御装置100が、自動製造機械1に搭載されたアクチュエータ10~20の動作を制御する様子を概念的に示したブロック図である。尚、図2においても、制御に必要なスイッチ・センサー類については図示が省略されている。図示されるように、自動製造機械制御装置100とアクチュエータ10との間には、アクチュエータ10の駆動用のドライバ回路10dが設けられており、自動製造機械制御装置100は、直接的にはドライバ回路10dを制御している。アクチュエータ11~20についても同様に、自動製造機械制御装置100とアクチュエータ11~20との間には、アクチュエータ11~20を駆動するためのドライバ回路11d~20dが設けられており、自動製造機械制御装置100は、ドライバ回路11d~20dを介して、間接的にアクチュエータ10~20を制御している。
 また、図1を用いて前述したように、本実施例の自動製造機械1では、アクチュエータ10~13、17~20にサーボモータが採用されており、アクチュエータ14~16にはエアシリンダが採用されている。ここで、サーボモータとは、サーボ制御されたモータのことであり、代表的には、位置(あるいは角度や、速度など)が目標値となるようにモータに流れる電流値をフィードバック制御するモータである。また、エアシリンダとは、空気圧を利用して可動部を直線移動させるアクチュエータであり、圧縮空気の供給源に接続されたポートを開閉することによって動作するようになっている。また、ポートの開閉にはシーケンス制御が用いられている。
 このように本実施例の自動製造機械制御装置100には、サーボ制御されるアクチュエータ10~13、17~20と、シーケンス制御されるアクチュエータ14~16とが接続されている。図中で、自動製造機械制御装置100とアクチュエータ10~13、17~20とが実線で接続されているのは、これらのアクチュエータ10~13、17~20がサーボ制御されていることを表している。また、自動製造機械制御装置100とアクチュエータ14~16とが破線で接続されているのは、これらのアクチュエータ14~16がシーケンス制御されることを表している。もちろん、サーボ制御やシーケンス制御以外の方式で制御されるアクチュエータを、自動製造機械制御装置100に接続することも可能である。
 自動製造機械制御装置100は制御プログラムに従って、ドライバ回路10d~20dを介してアクチュエータ10~20を制御しており、その制御プログラムは、予め作成して自動製造機械制御装置100に読み込ませておく必要がある。ここで、図2に示したように多数のアクチュエータ10~20を、適切なタイミングで適切に動作させるための制御プログラムを作成するのは容易なことではない。特に、サーボ制御やシーケンス制御のように、異なる制御方式のアクチュエータが混在している場合は、制御プログラムの作成に長い期間が必要となる。このため、新たな自動製造機械1の開発期間の中で、半分以上の期間が制御プログラムの作成に費やされてしまうのが現状となっている。
B.制御プログラムの作成方法 :
B-1.概要 :
 図3は、新たな自動製造機械1を開発するための大まかな工程を概念的に示した説明図である。図3(a)には、従来から行われてきた開発工程が示されている。また、図3(b)には、本願の発明者が提案する新たな開発工程が示されている。
 従来の開発工程では、図3(a)に示すように、先ず初めに機械設計技術者が、自動製造機械1に要求される各種の機能を把握した上で、それらの機能を実現するための機構が組み込まれた自動製造機械1の図面を作成する。図面を作成するに際して機械設計技術者は、どのような可動部分が必要なのか、それら可動部分がどのような動作をしなければならないのか、その動作をさせるためには、どれくらいのトルクや可動量や精度を有するアクチュエータが、何処に、どれだけ必要なのかといった内容を、一つ一つ検討して決定して行くことになる。そして、実際に搭載するアクチュエータを決定して、アクチュエータの搭載性や整備性なども考慮した上で、最終的に図面を完成させる。
 こうして自動製造機械1の機械設計が完了したら、今度は、その自動製造機械1を制御するための制御プログラムの作成に取り掛かる。制御プログラムの作成には、ソフトウェアに関する専門技術が必要となるため、その専門技術を有する技術者(すなわちプログラマ)が作成しなければならない。そこで、機械技術者は機械設計が終了すると、自らが考えた自動製造機械1の動作を表現するフローチャートを作成した上で、プログラマと打ち合わせをして自動製造機械1の動作を説明する。ここまでが、機械設計技術者による作業となる。
 一方、機械設計技術者と打ち合わせたプログラマは、機械設計技術者が作成したフローチャートや、必要に応じて図面や、その他の資料を熟読することによって自動製造機械1の動作を理解した上で、自動製造機械1に搭載された各種のアクチュエータの動作を制御するための制御プログラムの作成を開始する。プログラマは、人間が判読可能な高級プログラム言語を用いて制御プログラムを作成することが普通であるが、コンピュータは高級プログラム言語のままでは制御プログラムを実行することはできない。そこで、プログラマは、制御プログラムが完成したら、高級プログラム言語で記述された制御プログラムを、コンピュータが実行可能な機械語の制御プログラムに変換することによって、最終的に制御プログラムを完成させる。尚、高級プログラム言語の制御プログラムを、コンピュータが実行可能なプログラムに変換する作業は、コンパイルと呼ばれており、この作業は、コンパイラと呼ばれる専用プログラムを用いることによって短時間で終了する。
 図3(a)に例示されるように、従来から行われてきた開発工程では、機械設計に要する期間の1.5倍~2.5倍程度の期間が、制御プログラムの作成に費やされるのが通常である。しかも、機械設計と制御プログラムの作成とは、大部分の工程がオーバーラップさせて進行させることが困難であるため、自動製造機械1の開発期間が長くなってしまう。加えて、機械設計技術者およびプログラマという異なる技術を有する専門家を確保する必要があり、このことも、新たな自動製造機械1を開発する際の大きな障害となっている。
 一方、図3(b)には、本願の発明者が提案する新たな方法を用いて、自動製造機械1を開発する工程が示されている。新たな方法を用いた場合でも、機械設計自体は、従来の方法と同様である。すなわち、機械設計技術者が、自動製造機械1に要求される各種の機能を把握した上で、それらの機能を実現するための機構が組み込まれた自動製造機械1の図面を作成する。その際には、機能の実現に必要な可動部分や、可動部分の動作内容や、可動部分を動かすためのアクチュエータの性能などを検討して、アクチュエータを決定した上で、アクチュエータの搭載性や整備性なども考慮して最終的に図面を完成させる。
 図面が完成すると、新たな開発工程では、機械設計技術者は、フローチャートの代わりに動作チャートを作成する(図3(b)参照)。この動作チャートについては、後ほど詳しく説明するが、機械設計技術者が機械設計する際に考えた各アクチュエータの動作を、チャートの形式で記述したものである。この動作チャートは、本願の発明者が独自に発案したもので、世の中には存在しないチャートであるため、「YOGOチャート」と名付けることにした。そこで以下では、この新たな動作チャートのことを、YOGOチャートと表記する。従って、本実施例のYOGOチャートは、本発明における「動作チャート」に対応する。
 後述するようにYOGOチャートは、機械設計する際に、機械設計技術者が考えた各アクチュエータの動作を、考えた通りに書き表したものに過ぎない。このため、機械設計した機械設計技術者であれば、フローチャートを作成する半分程度の期間で作成することができる(図3(b)参照)。加えて、YOGOチャートは、専用のプログラムで読み込むことによって、コンピュータのCPUが実行可能な制御プログラムに変換することができる。YOGOチャートを制御プログラムに変換可能な理由についても後述する。このように、自動製造機械1の動作をYOGOチャートに記述するようにすれば、YOGOチャートから機械語の制御プログラムを生成することができるので、図3に示したように、従来の方法に比べて、新たな自動製造機械1の開発期間を、少なくとも半分以下(代表的には1/3程度)に短縮することができる。加えて、YOGOチャートは機械設計技術者が簡単に作成することができ、プログラマを確保しておく必要もない。このため、新たな自動製造機械1を開発する際に大きな障害となっていた様々な事柄を、ほとんど完全に解消することが可能となる。加えて、自動製造機械1の動作を変更する場合や、自動製造機械1に新たなアクチュエータを追加する場合でも、YOGOチャートを書き直して専用のプログラムで読み込むことで、直ちに制御プログラムを生成することが可能となる。以下では、こうしたことが可能となる理由について説明する。
B-2.YOGOチャートから制御プログラムを自動で生成する原理 :
 図4は、動作チャート(YOGOチャート)から自動製造機械1の制御プログラムを自動で生成する原理についての説明図である。図4(a)には、各種改良を施す前の原始的なYOGOチャートが示されている。後述する本実施例のYOGOチャートは、図4(a)に示した原始的なYOGOチャートを発展させて改良したものとなっているが、制御プログラムを自動で生成する原理は原始的なYOGOチャートと同じである。そこで、理解を容易とするために、図4(a)に示した原始的なYOGOチャートを用いて、YOGOチャートから制御プログラムを自動で生成する原理について説明する。また、説明が複雑化することを避けるため、自動製造機械1に搭載されているアクチュエータは、2つのモータA,B、および2つのシリンダA,Bのみであるとする。
 図4(a)に示したように、YOGOチャートでは、これらのアクチュエータ(ここでは、モータA,B、およびシリンダA,B)の基本的な動作を組み合わせることによって、自動製造機械1の動作を表現する。ここで、アクチュエータの基本的な動作とは、アクチュエータが有する自由度方向への動作(以下、基本動作)のことである。例えば、モータのような回転するアクチュエータであれば、回転動作が基本動作となり、シリンダのような進退動するアクチュエータであれば、進退動する動作が基本動作となる。また、モータによってボールねじを回転させることによって、ボールねじに噛み合う部材を進退動させるようなアクチュエータの場合は、モータの回転動作、あるいは部材が進退動する動作の何れかが基本動作となる。このように、アクチュエータの基本動作は、アクチュエータが指定された動作量だけアクチュエータの自由度方向に動作するという単純な動作となっている。
 また、YOGOチャートでは、自動製造機械1が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、個々のアクチュエータの基本動作は、これら複数の部分期間の中の何れかの部分期間に割り当てられている。図4(a)に示した例では、自動製造機械1の動作期間が5つの部分期間1~5に分割されており、部分期間1には、シリンダAが動作量(a)で進退動する動作が割り当てられている。また、部分期間2には、モータAが動作量(b)で回転する動作が割り当てられている。部分期間には複数の動作を割り当てることもできる。すなわち、部分期間3には、モータBが動作量(c)で回転する動作と、シリンダBが動作量(d)で進退動する動作の2つの動作が割り当てられており、部分期間4には、モータAが動作量(-b)で回転する動作と、モータBが動作量(-c)で回転する動作と、シリンダBが動作量(-d)で進退動する動作の3つの動作が割り当てられている。そして、最後の部分期間5には、シリンダAが動作量(-a)で進退動する動作が割り当てられている。
 このように、部分期間にアクチュエータの基本動作を割り当てることによって、自動製造機械1が実行する次のような動作を記述することができる。先ず、シリンダAを動作量(a)だけ進退動させて、シリンダAの動作が終了したら、モータAを動作量(b)だけ回転させる。そして、モータAの動作が終了したら、モータBを動作量(c)だけ回転させると共に、シリンダBを動作量(d)だけ進退動させる。モータBおよびシリンダBの動作が終了したら、モータAおよびモータBをそれぞれ動作量(-a)および動作量(-c)だけ回転させると共に、シリンダBを動作量(-d)だけ進退動させる。そして、モータA、モータB、およびシリンダBの全ての動作が終了したら、最後にシリンダAを動作量(-a)だけ進退動させて、全ての動作を終了する。このように、自動製造機械1に搭載されているアクチュエータの基本動作を何れかの部分期間に割り当ててやれば、自動製造機械1の動作を記述することが可能となる。
 尚、以上の説明から明らかなように、部分期間は、割り当てられたアクチュエータが動作する期間を示しており、時間の長さを示しているわけではない。例えば、部分期間1の時間の長さはシリンダAが動作に要する時間となり、部分期間2の時間の長さはモータAが動作に要する時間となり、部分期間3の時間の長さは、モータBが動作に要する時間、およびシリンダBが動作に要する時間の長い方の時間となる。従って、それぞれの部分期間の時間の長さは、互いに異なっていることが通常である。
 また、部分期間に割り当てられるアクチュエータの基本動作は、例えばモータを一定量だけ回転させたり、あるいはシリンダを一定量だけ進退動させたりするといった単純な動作である。従って、アクチュエータに基本動作させるための小さなプログラム(以下、ブログラム要素と呼ぶ)を予め作成しておくことができる。ここでは自動製造機械1に搭載されているアクチュエータは、シリンダA,B、およびモータA,Bの4つであるとしているから、図4(b)に示すように、モータAを動作させるためのプログラム要素prog1と、モータBを動作させるためのプログラム要素prog2と、シリンダAを動作させるためのプログラム要素prog3と、シリンダBを動作させるためのプログラム要素prog4とを予め作成しておくことができる。
 そこで、これらのプログラム要素を、図4(a)に示した原始的なYOGOチャートに記述された通りに連結してやれば、自動製造機械1を動作させるための制御プログラムを自動で生成することが可能となる。すなわち、図4(c)に示したように、初めにプログラム要素prog3を起動させ、プログラム要素prog3が終了したらプログラム要素prog1を起動させ、プログラム要素prog1が終了したら、プログラム要素prog2およびプログラム要素prog4を起動させる。プログラム要素prog3、プログラム要素prog1、プログラム要素prog2、プログラム要素prog4の動作量は、YOGOチャート上での指定に従って、それぞれ(a)、(b)、(c)、(d)を使用する。更に、プログラム要素prog2およびプログラム要素prog4が何れも終了したら、今度は、プログラム要素prog1と、プログラム要素prog2と、プログラム要素prog4とを起動させる。この時の動作量は、YOGOチャート上での指定に従って、それぞれ(-b)、(-c)、(-d)を使用する。これらのプログラム要素prog1、prog2、prog4が何れも終了したら、最後にプログラム要素prog3を起動させる。この時の動作量は、YOGOチャート上での指定に従って(-a)を使用する。そして、プログラム要素prog3が終了したら、図4(a)のYOGOチャートに記述した自動製造機械1の動作が終了したことになる。
 以上に説明したように、自動製造機械1の動作を、図4(a)に示したYOGOチャートの態様で記述しておけば、図4(c)に示した制御プログラムを生成して、自動製造機械1を動作させることができる。もっとも、自動製造機械1が意図した通りに動作するためには、YOGOチャートが正しく作成されている必要がある。以下に説明する本実施例のYOGOチャートは、こうした観点から、図4(a)に例示した原始的なYOGOチャートに対して様々な改良を加えた結果として得られたものである。
B-3.YOGOチャート :
 図5は、本実施例のYOGOチャート200の概要を説明するための説明図である。尚、YOGOチャート200の全体を表示するために縮尺すると、表示が潰れて判読不能となってしまうので、図5ではYOGOチャート200の一部分(左上隅の部分)が表示されている。図5に示されるように、YOGOチャート200は、複数本の横線と複数本の縦線とが交差した大きな表のような形状となっている。以下では、交差する複数本の線のうち、横線については「仕切線」201と称し、縦線については「トリガー線」202と称することにする。
 トリガー線202には、1番から始まる通し番号が付けられている。図5に示した例では、YOGOチャート200の上端の欄内に、その下のトリガー線202の通し番号が記載されている。また、互いに隣接するトリガー線202の間の領域は、図4を用いて前述した部分期間となっており、部分期間にも1番から始まる通し番号(以下、部分期間番号と称する)が付けられている。尚、図5に例示したYOGOチャート200では、トリガー線202が縦方向に引かれており、従って、トリガー線202とトリガー線202とに挟まれた部分期間は横方向に並んでいる。しかし、トリガー線202は横方向に引いても良く、この場合は、複数の部分期間が縦方向に並ぶことになる。
 また、本実施例のYOGOチャート200は、複数の仕切線201によって複数の横長の領域に分割されており、これらの横長の領域には1番から始まる通し番号(以下、アクチュエータ番号と称する)が付けられている。自動製造機械1に搭載されたアクチュエータは、何れかの領域に割り当てられている。図5に示した例では、アクチュエータ番号が1番の領域には、アクチュエータ10(図2参照)が割り当てられており、アクチュエータ番号が2番の領域にはアクチュエータ11(図2参照)が割り当てられ、アクチュエータ番号が3番の領域にはアクチュエータ12(図2参照)が、アクチュエータ番号が4番の領域にはアクチュエータ13(図2参照)が割り当てられている。本実施例の自動製造機械1にはアクチュエータ10~20の11個のアクチュエータが搭載されているから、これらすべてのアクチュエータについて、このように横長の領域が1つずつ割り当てられることになる。
 そして、アクチュエータ10~20の基本動作は、そのアクチュエータ10~20が割り当てられた横長の領域上の適切な位置に記載されるようになっている。例えば、アクチュエータ10を部分期間4で基本動作させるのであれば、YOGOチャート200上で、アクチュエータ番号が1番の横長の領域上で、部分期間番号が4番で特定されるマス目状の座標位置に、アクチュエータ10にさせたい基本動作206を記載する。また、部分期間4と部分期間8とでアクチュエータ10に基本動作させるのであれば、アクチュエータ番号が1番の横長の領域上で、部分期間番号が4番のマス目状の座標位置と、同じ横長の領域上で部分期間番号が8番の座標位置とに、アクチュエータ10にさせたい基本動作206を記載することになる。このように、アクチュエータ10の基本動作206は、YOGOチャート200上でアクチュエータ番号が1番の横長の領域上に記載され、アクチュエータ11の基本動作206は、アクチュエータ番号が2番の横長の領域上に記載されるというように、アクチュエータ10~20の基本動作206は、YOGOチャート200上でそのアクチュエータ10~20が割り当てられた領域上に記載されるようになっている。本実施例のYOGOチャート200が、このようにして基本動作を記載しているのは、次のような理由による。
 初めに、図4(a)に例示した原始的なYOGOチャートについて説明すると、原始的なYOGOチャートでは、複数のアクチュエータの動作が混在して記述されており、例えば、部分期間1で動作したシリンダAが、次にどの動作期間で動作するのかを直ちに認識することが難しい。このため、それぞれのアクチュエータが動作する様子をイメージすることが難しく、更には、各アクチュエータの動作回数を判読することも難しい。その結果、例えば、元の位置に復帰していないアクチュエータが存在することに気づかなかったり、動作を記述し忘れているアクチュエータが存在することに気づかなかったりする虞がある。
 これに対して、本実施例のYOGOチャート200は、図5に示されるように、アクチュエータ毎に動作が記述される領域が分離されているので、どのアクチュエータが、どの部分期間で動作するのかを視覚によって容易に把握することができ、各アクチュエータの動作回数を容易に認識することができる。このため、元の位置に復帰していないアクチュエータが存在していたり、動作を記述し忘れているアクチュエータが存在していたりした場合でも、そのことを容易に認識することができる。その結果、自動製造機械1を意図した通りに動作させるYOGOチャート200を容易に作成することが可能となる。
 尚、後述するように、YOGOチャート200には、アクチュエータ以外の機器の動作も記述することが可能であり、それらの機器についても、横長の領域が1つずつ割り当てられている。
 また、本実施例のYOGOチャート200では、次のようにして基本動作を記載する。一例として、図5のYOGOチャート200で最初に動作するアクチュエータ13の基本動作206について説明する。動作するアクチュエータはアクチュエータ13であるから、対応するアクチュエータ番号は4番であり、且つ、最初に動作するのであるから、対応する部分期間番号は1番となる。従って、YOGOチャート200上で基本動作206が記載される位置は、アクチュエータ番号が4番で、部分期間番号が1番のマス目状の座標位置となる。部分期間番号が1番の座標位置に対応するマス目は、左側に存在する1番のトリガー線202と、右側に存在する2番のトリガー線202とに挟まれたマス目であるから、1番のトリガー線202から2番のトリガー線202に向かって、アクチュエータの動作を示す動作線203を記入する。そして、動作線203の左端(従って1番のトリガー線202上)には動作の開始を示す始点204を記入し、動作線203の右端(従って2番のトリガー線202上)には動作の終了を示す終点205を記入する。図5に示した例では、動作線203は太い実線で示されており、始点204は白抜きの丸印で示されて、終点205は黒い丸印で示されている。
 更に、動作線203の上には、アクチュエータにさせようとする基本動作206を記入する。図5に示した例では、アクチュエータ番号が4番で、部分期間番号が1番の基本動作には「Ω-AA」という基本動作206が記入されている。後述するように基本動作206は、アクチュエータに基本動作を行わせるためのコンピュータで実行可能なプログラム要素に対応付けられている。従って、動作線203の上に基本動作206を記入することによって、コンピュータが実行可能なプログラム要素を特定することができる。更に、動作線203および基本動作206が記入された座標位置のアクチュエータ番号から、プログラム要素を用いて動作させるアクチュエータを特定することができる。そして、座標位置の部分期間番号からは、アクチュエータを動作させる部分期間を特定することができる。
 また、基本動作に対しては、回転速度あるいは移動速度や、動作時間などのパラメータを指定することによって、より詳細な動作を指定することができる。図5に示した例では、アクチュエータ番号が4番で、部分期間番号が1番の座標位置に、「Ω-AA」という基本動作206の下に記載されている「A-100」という表示は、「Ω-AA」という基本動作206に指定されたパラメータを表している。もちろん、基本動作に対して複数のパラメータを指定することによって、より一層詳細に動作を指定することもできる。例えば、アクチュエータがモータの場合は、回転速度と回転角度とを指定するようにしても良いし、アクチュエータがリニアモータであった場合は、移動速度と移動距離とを指定するようにしても良い。このように複数種類のパラメータが指定される場合を考慮して、パラメータの先頭には、パラメータの種類を表すアルファベットが記載されている。尚、パラメータによって指定する内容は、速度や位置などを表す数値に限らず、例えばモータの加速や減速の程度や、加減速の仕方を表す駆動パターンなどを指定するようにしても良い。
 また、アクチュエータが、例えばエアシリンダのように、ストローク限界まで前進あるいは後退させるというような単純な動作のアクチュエータである場合は、プログラム要素によって実現される基本動作は、一定時間が経過するまで単に前進あるいは後退させる動作、若しくは、接点スイッチがONになるまで前進あるいは後退させる動作となる。このような単純な動作であればパラメータは不要なので、動作線203の上には、パラメータを伴わない基本動作206が記入されることになる。
 図5に例示したYOGOチャート上で、2番目に動作するアクチュエータ11の基本動作206についても同様にして記載される。以下簡単に説明すると、この基本動作206は、アクチュエータ11が2番目の部分期間で実行する動作であるから、基本動作206が記載される位置は、アクチュエータ番号が2番で、部分期間番号が2番の座標位置となる。そこで、左側に存在する2番のトリガー線202から、右側に存在する3番のトリガー線202まで動作線203を引いて、動作線203の左端には始点204を、動作線203の右端には終点205を記入する。そして、動作線203の上には、アクチュエータ11に行わせたい基本動作206(ここでは、Ω-AB)を記入し、その下の位置には、パラメータ(ここでは、A-10)を記入する。この結果、2番目の部分期間では、アクチュエータ11に対して、「A-10」というパラメータを指定して「Ω-AB」という基本動作206を行わせるという内容が記載されることになる。
 以上が、YOGOチャート200を用いて自動製造機械1の動作を記述する基本的な方法であるが、動作の記述をより一層容易にする目的で、YOGOチャート200には、様々な記述方法が用意されている。
 例えば、図6に示したYOGOチャートは、上述した図5のYOGOチャートに対して、5番のトリガー線202および7番のトリガー線202が、破線のトリガー線202に変更されている。これは、5番~7番のトリガー線202に挟まれた部分期間(すなわち、部分期間番号が5番および6番の部分期間)に割り当てられた動作を繰り返して行うことを表している。これら2本のトリガー線202の内、初めに登場する5番のトリガー線202の下方には、破線の矩形208の中に繰返条件が記入されている。図6中に示した例では、VCという変数の値が0になるまで、5番のトリガー線202から7番のトリガー線202までの部分期間に割り当てられた動作が繰り返して実行される。そして、5番のトリガー線202の下方に記入された繰返条件(ここでは、変数VC=0)が成立すると、9番のトリガー線202上に始点204が記入された動作(すなわち、部分期間番号が9番の部分期間に割り当てられた動作)が開始されることになる。
 また、図6に示したYOGOチャートは、上述した図5のYOGOチャートに対して、9番のトリガー線202および13番のトリガー線202が、一点鎖線のトリガー線202に変更されている。これらは条件分岐することを表している。また、9番のトリガー線202の下方、および13番のトリガー線202の下方には、それぞれ一点鎖線の矩形208が表示されているが、これらは分岐条件を表している。図6に示した例では、9番のトリガー線202の下方の矩形208の中には「A>B」と記入されており、13番のトリガー線202の下方の矩形208の中には「ELSE」と記入されているが、これらは、「A>B」の条件が成立していれば、9番のトリガー線202上に始点204が記入された動作(すなわち、部分期間番号が9番の部分期間に割り当てられた動作)を開始し、「A>B」の条件が成立していない場合(ELSEの場合)は、13番のトリガー線202上に始点204が記入された動作(すなわち、部分期間番号が13番の部分期間に割り当てられた動作)を開始することを表している。
 また、自動製造機械1では、アクチュエータの動作の開始前に一定時間の間隔を空けたり、例えば一定個数の部品が供給されたことを確認してからアクチュエータを動作させたりする場合がある。更には、アクチュエータの動作の開始前に音声(効果音を含む)を出力して周囲の作業者に注意を促したり、一定時間に亘ってライトを点灯させたり点滅させたりすることがある。このように、タイマを用いて一定時間を計時する動作や、計数器を用いて一定数を計数する動作や、スピーカーから音声を出力する動作や、ライトを発光させて点灯あるいは点滅させる動作は、アクチュエータによる動作ではないが、それに準じた動作として基本動作と同様に取り扱うことができる。YOGOチャート200には、アクチュエータによる動作ではないが基本動作と同様に取り扱うことが可能な動作も記述することができる。
 図7は、YOGOチャート200上で、基本動作と同様に取り扱うことが可能な動作を記述する態様を例示した説明図である。図7(a)には、所定時間の経過したことを計時する動作(計時動作)が記述されている。YOGOチャート200では、タイマによる計時動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、タイマによる計時を示す基本動作206(ここでは、Ω-TM1)を記入することによって記述する。タイマで計時する経過時間は、パラメータを用いて指定することができる。
 図7(b)には、所定個数(あるいは所定回数)を計数する動作(計数動作)が記述されている。計数器による計数動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、計数器による計数動作を示す基本動作206(ここでは、Ω-CT1)を記入することによって記述する。計数器で計数する計数値は、パラメータを用いて指定することができる。
 図7(c)には、所定時間の間、スイッチの状態を監視して、スイッチが切り換わったことを検知する動作(スイッチ検知動作)が記述されている。ここで、スイッチとは、操作ボタンのようなスイッチでも良いし、近接スイッチでも良いし、フォトカプラのような光学的なスイッチであっても構わない。このようなスイッチ検知動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、スイッチ検知動作を示す基本動作206(ここでは、Ω-SW1)を記入することによって記述する。スイッチの状態を監視する時間は、パラメータを用いて指定することができる。
 図7(d)には、スピーカーから音声を出力する動作(音声出力動作)が記述されている。YOGOチャート200では、スピーカーによる音声出力動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、スピーカーの駆動を示す基本動作206(ここでは、Ω-SP1)を記入することによって記述する。スピーカーから出力する音声データは、パラメータを用いて指定することができる。
 図7(e)には、ライトを発光させる発光動作が記述されている。ライトによる発光動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、ライトの発光動作を示す基本動作206(ここでは、Ω-LL1)を記入することによって記述する。ライトを発光させる態様(例えば、点灯あるいは点滅させる態様)は、パラメータを用いて指定することができる。
 図7(f)には、ヒーターを用いて対象物を加熱したり、食材を加熱調理したりする加熱動作が記述されている。ヒーターによる加熱動作も、左端に始点204を有し右端に終点205を有する動作線203の上に、ヒーターによる加熱動作を示す基本動作206(ここでは、Ω-HT1)を記入することによって記述する。加熱温度や加熱時間は、パラメータを用いて指定することができる。
 以上のように、本実施例のYOGOチャートでは、アクチュエータ番号と、部分期間番号とによって特定されるマス目状の座標位置に、動作線203と、始点204と、終点205と、基本動作206と、必要な場合はパラメータとを記入する。そして、自動製造機械1に搭載された全てのアクチュエータ10~20の基本動作を、このようにしてYOGOチャート上に記載することによって、自動製造機械1の動作を記述する。そして、自動製造機械制御装置100は、このようなYOGOチャートから制御プログラムを生成して、自動製造機械1の動作を制御する。
C.本実施例の自動製造機械制御装置100 :
 図8は、本実施例の自動製造機械制御装置100が備える機能を示した説明図である。図8に示されるように、本実施例の自動製造機械制御装置100は、YOGOチャート作成部101や、基本動作記憶部102や、YOGOチャート読込部103や、YOGOチャート解析部104や、制御プログラム生成部105や、制御実行部106などを備えている。尚、これらの「部」は、自動製造機械制御装置100を用いてYOGOチャート200を作成し、そのYOGOチャート200から制御プログラムを生成して自動製造機械1の動作を制御するために、自動製造機械制御装置100に備えておくべき複数の機能を表した抽象的な概念である。従って、自動製造機械制御装置100が、これらの「部」に相当する部品を組み合わせて形成されていることを表しているわけではない。実際には、これらの「部」は、CPUで実行されるプログラムの形態で実現することもできるし、ICチップやLSIなどを組み合わせた電子回路の形態で実現することもできるし、更には、これらが混在した形態など、様々な形態で実現することができる。
 YOGOチャート作成部101は、モニター画面100mや、操作入力ボタン100sなどに接続されており、自動製造機械1について十分な知識を有する機械技術者などが、モニター画面100mを見ながら操作入力ボタン100sを操作することによって、図5に例示したようなYOGOチャート200を作成する。前述したように、YOGOチャート200は自動製造機械1に搭載されている複数のアクチュエータの基本動作を、部分期間の何れかに割り当てることによって、自動製造機械1の動作を記述したものである。機械設計に際して機械設計技術者は、自動製造機械1の動作を実現するためには、複数のアクチュエータの基本動作をどのように組み合わせれば良いかについて、十分に検討しているので、機械設計を行った機械設計技術者であれば、自動製造機械1の動作を記述したYOGOチャート200を簡単に作成することができる。もちろん、自動製造機械1の構造や動作について十分な知識を有する機械技術者であれば、自動製造機械1を設計した技術者でなくても、簡単にYOGOチャート200を作成することができる。
 また、図5~図7を用いて前述したように、YOGOチャート200には、基本動作206(あるいは基本動作に準じた動作)を記入する必要がある。そこで、基本動作記憶部102には、アクチュエータ(あるいは、スピーカー、ライト、スイッチなど)の名称と、そのアクチュエータなどで実行可能な基本動作206とが対応付けて記憶されている。
 図9は、アクチュエータなどの名称と、基本動作206とが対応付けられている様子を示した説明図である。このような対応関係は、基本動作記憶部102に記憶されている。図示されるように、アクチュエータなどに対応付けられた状態で、そのアクチュエータなどで実行可能な基本動作206(計時動作などの基本動作に準じた動作も含む)が記憶されている。複数種類の基本動作が実行可能なアクチュエータなどに対しては、実行可能なそれぞれの基本動作206が記憶されることになる。更に、それぞれの基本動作206に対しては、プログラム要素番号や、プログラム要素を格納した先頭アドレス値も記憶されている。プログラム要素番号とは、基本動作(あるいは基本動作に準じた動作)を実現するためのプログラム要素を特定する番号である。また、プログラム要素はCPUが実行可能な形式でメモリに格納されており、メモリ上でプログラム要素が格納されているアドレスの先頭のアドレス値も、基本動作記憶部102に対応付けて記憶されている。
 図8に示すように、YOGOチャート作成部101は、基本動作記憶部102に接続されている。このため、機械設計技術者(あるいは機械技術者)は、YOGOチャート200を作成するに際して、基本動作記憶部102に記憶されている図9のデータを参照することができる。そして、自動製造機械1について十分な知識を有する機械技術者であれば、どのようなアクチュエータをどのように動作させるかは十分に分かっているので、アクチュエータなどの名称から基本動作206を特定することができる。更に、パラメータに指定する内容も容易に決めることができる。このため、YOGOチャート200を簡単に作成することができる。
 YOGOチャート読込部103は、YOGOチャート作成部101で作成したYOGOチャート200を読み込んで、YOGOチャート解析部104に出力する。尚、本実施例では、自動製造機械制御装置100でYOGOチャート200を作成するものとしており、このことに対応して、YOGOチャート読込部103は、YOGOチャート作成部101からYOGOチャート200を読み込んでいる。これに対して、自動製造機械制御装置100とは別体に設けたコンピュータ50でYOGOチャート200を作成しておき、そのYOGOチャートをYOGOチャート読込部103が読み込むようにしても良い。
 YOGOチャート解析部104は、YOGOチャート読込部103から受け取ったYOGOチャート200を解析することによって、中間データを生成した後、中間データを制御プログラム生成部105に出力する。YOGOチャートから中間データを生成する処理については、後ほど詳しく説明する。
 制御プログラム生成部105は、中間データを受け取ると、基本動作記憶部102に記憶されている対応関係を参照することによって、中間データから制御プログラムを生成する。中間データから制御プログラムを生成する方法については、後ほど詳しく説明する。そして、得られた制御プログラムを制御実行部106に出力する。
 制御実行部106は、制御プログラム生成部105から制御プログラムを受け取ると、制御プログラム中のプログラム要素番号に対応付けて記憶されているプログラム要素を、基本動作記憶部102から取得する。すなわち、図9を用いて前述したように、基本動作記憶部102には、プログラム要素番号に対応付けて、プログラム要素が格納されている先頭アドレス値が記憶されているので、プログラム要素番号に対応するプログラム要素を読み込むことができる。そして、読み込んだプログラム要素を実行することによって、ドライバ回路10d~20dを介してアクチュエータ10~20を制御する。こうすることによって、YOGOチャートに記載された通りに、自動製造機械1が動作することになる。
 尚、本実施例のYOGOチャート読込部103は、本発明の「動作チャート読込部」に対応している。また、図8を用いて前述したYOGOチャート読込部103と、YOGOチャート解析部104と、制御プログラム生成部105とは、これらが一体となって、YOGOチャート200から制御プログラムを生成する機能を実現している。従って、本実施例の自動製造機械制御装置100では、YOGOチャート読込部103と、YOGOチャート解析部104と、および制御プログラム生成部105とが、本発明の「制御プログラム生成装置110」に対応する。
D.制御プログラム生成処理 :
 図10は、本実施例の自動製造機械制御装置100の中で、制御プログラム生成装置110に対応する部分が実行する制御プログラム生成処理の概要を示したフローチャートである。図示されるように、制御プログラム生成処理では、先ず初めにYOGOチャートを読み込む(STEP1)。本実施例では、自動製造機械制御装置100がYOGOチャートを作成しているから、作成したYOGOチャートのデータを読み込むことになる。もちろん、他のコンピュータ50で作成したYOGOチャートのデータを読み込んでも良い。
 続いて、読み込んだYOGOチャートを解析して中間データを出力する(STEP2)。図11は、本実施例の自動製造機械制御装置100が、YOGOチャートを解析して中間データを出力する処理(YOGOチャート解析処理)のフローチャートである。この処理は、図8中に示したYOGOチャート解析部104が実行する処理である。
 図11に示したように、YOGOチャート解析処理を開始すると、先ず初めに、部分期間番号Nおよびアクチュエータ番号Mを「1」に初期化する(STEP10)。続いて、YOGOチャート200上での座標(N,M)の位置に、基本動作が記入されているか否かを判断する(STEP11)。ここで、YOGOチャート200上での座標(N,M)とは、YOGOチャート200上で、部分期間番号Nとアクチュエータ番号Mとの組み合わせで特定されるマス目状の座標位置を表している。STEP10で部分期間番号Nおよびアクチュエータ番号Mを初期化した直後は、NおよびMは何れも「1」であるから、YOGOチャート200上の座標(1,1)の位置に基本動作が記入されているか否かを判断することになる。
 図5に例示したYOGOチャート200の場合では、座標(1,1)には基本動作は記入されていないから、STEP11では「no」と判断して、アクチュエータ番号Mが最終値に達したか否かを判断する(STEP14)。本実施例の自動製造機械1には11個のアクチュエータ10~20が搭載されているから、アクチュエータ番号Mの最終値は11となる。従って、座標(1,1)の基本動作の有無を確認した後のSTEP14の判断では、「no」と判断されるので、アクチュエータ番号Mを1つ増加させる(STEP15)。そして、増加させたアクチュエータ番号Mを用いて、再び、座標位置(N,M)に基本動作が記入されているか否かを判断する(STEP11)。
 このように、部分期間番号Nは「1」のまま、アクチュエータ番号Mを1つずつ増加させながら、座標(1,M)に基本動作が記入されているか否かを判断して行く。そして、基本動作が記入されている座標(1,M)に達すると、STEP11で「yes」と判断されることになる。
 そして、STEP11で「yes」と判断された場合は、その座標に記入されている基本動作206、およびパラメータが記入されている場合はパラメータを読み込む(STEP12)。図5に例示したYOGOチャート200では、座標(1,4)に達した時に、STEP11で「yes」と判断されて、「Ω-AA」という基本動作206と、「A-100」というパラメータとを読み込むことになる。
 続いて、(N,M,基本動作,パラメータ)という中間データをメモリに記憶する(STEP13)。図5に例示したYOGOチャート200の座標(1,4)の場合であれば、(1,4,Ω-AA,A-100)という中間データをメモリに記憶することになる。従って、この中間データは、YOGOチャート200上で部分期間番号が1番、アクチュエータ番号Mが4番の位置に、「Ω-AA」という基本動作が記入されており、その基本動作には「A-100」というパラメータが設定されていることを表している。
 こうして、YOGOチャート200から読み出した中間データをメモリに記憶した後は(STEP13)、アクチュエータ番号Mが最終値(ここでは、11)に達したか否かを判断する(STEP14)。その結果、最終値に達していない場合は(STEP14:no)、アクチュエータ番号Mを1つ増加させた後(STEP15)、STEP11に戻って、再び、YOGOチャート200上の座標(N,M)に基本動作が記入されているか否かを判断する。
 これに対して、アクチュエータ番号Mが最終値に達していた場合は(STEP14:yes)、今度は、部分期間番号Nが最終値に達したか否かを判断する(STEP16)。例えば、YOGOチャート200上で、自動製造機械1の動作が100個の部分期間を用いて記述されているのであれば、部分期間番号Nの最終値は100となる。
 その結果、部分期間番号Nが最終値に達していない場合は(STEP16:no)、部分期間番号Nを1つ増加させると共に(STEP17)、アクチュエータ番号Mを「1」に初期化した後(STEP18)、STEP11に戻って、再び、YOGOチャート200上の座標(N,M)に基本動作が記入されているか否かを判断する。すなわち、YOGOチャート200上で(図5参照)、部分期間番号Nが1番の部分期間を上から順番に確認して行き、一番下まで確認したら、今度は、部分期間番号Nが2番の部分期間を上から順番に確認して行き、2番の部分期間を確認し終わったら、部分期間番号Nが3番の部分期間というように、部分期間番号Nが小さな部分期間から大きな部分期間に向かって順番に、YOGOチャート200に記入されている基本動作およびパラメータを読み出して、中間データをメモリに記憶して行くのである。
 そして、このような操作を繰り返していき、最終的に、部分期間番号Nが最終値に達したと判断したら(STEP16:yes)、YOGOチャート200に記入された全ての基本動作を読み出したことになる。そこで、メモリに記憶しておいた中間データを読み出して、制御プログラム生成部105に出力する(STEP19)。図12には、図5に例示したYOGOチャート200を解析した場合に得られる中間データが例示されている。このような中間データを出力したら、図11のYOGOチャート解析処理を終了して、図10の制御プログラム生成処理に復帰する。
 図10の制御プログラム生成処理では、このようにして得られた中間データに基づいて、制御プログラムを生成する(STEP3)。図13には、図12に例示した中間データから生成された制御プログラムが示されている。図12の中間データと、図13の制御プログラムとを比較すれば明らかなように、制御プログラムでは、中間データの基本動作206およびパラメータが、数値に置き換えられたものとなっている。すなわち、制御プログラムは、中間データの基本動作206を、その基本動作を実現するプログラム要素番号に置き換えると共に、中間データのパラメータを、そのバラメータが表す具体的な数値に置き換えることによって生成されている。
 中間データの基本動作206およびパラメータを数値に置き換える操作は、図8中の制御プログラム生成部105が、基本動作記憶部102を参照することによって実行される。すなわち、基本動作記憶部102には、図9を用いて前述したように、基本動作と、その基本動作を実現させるプログラム要素番号とが対応付けて記憶されている。また、パラメータについても、基本動作記憶部102には、パラメータと具体的な数値とを対応付ける図示しない対応関係が記憶されている。そこで、制御プログラム生成部105は、中間データに記載されている基本動作206やパラメータを、プログラム要素番号や具体的な数値に置き換えることによって、制御実行部106が実行可能な制御プログラムに変換する。
 このように、本実施例の自動製造機械制御装置100では、基本動作記憶部102を参照して、基本動作206やパラメータを、プログラム要素番号や具体的な数値に置き換えることとしているので、YOGOチャートに記入する基本動作206やパラメータは、人間が分かり易い表記とすることができる。このため、YOGOチャートに誤った基本動作206やパラメータを記入してしまい、自動製造機械1が意図しない動作をしてしまう事態を防止することができる。
 以上のようにして、中間データから制御プログラムを生成したら(図10のSTEP3)、生成した制御プログラムを制御実行部106に出力して(STEP4)、図10の制御プログラム生成処理を終了する。
 尚、図13に示すように、本実施例の制御プログラムは、部分期間番号N、アクチュエータ番号M、プログラム要素番号、パラメータ値が、この順序で並んだ一組のデータ(以下、「データ組」と呼ぶ)が集まったものとなっている。そこで、データ組の中で、部分期間番号Nを表す1番目のデータを「第1要素」と呼び、アクチュエータ番号Mを表す2番目のデータを「第2要素」と呼び、プログラム要素番号を表す3番目のデータを「第3要素」と呼ぶことにする。
E.動作制御処理 :
 上述した制御プログラム生成処理によって生成される制御プログラムは、図13に例示するように、複数のデータ組が連続したデータに過ぎない。しかし、自動製造機械制御装置100の制御実行部106は、このような制御プログラムに基づいて、以下のようにして、自動製造機械制御装置100のアクチュエータ10~20の動作を制御する。
 図14は、自動製造機械制御装置100の制御実行部106が、制御プログラムに従って自動製造機械1の動作を制御する動作制御処理のフローチャートである。図14に示すように、動作制御処理を開始すると、先ず初めに、部分期間番号Nを「1」に初期化する(STEP50)。続いて、制御プログラムの中から、第1要素がNのデータ組を取得する(STEP51)。動作制御処理を開始した直後であれば、部分期間番号Nは「1」に設定されているから、図13に例示した制御プログラムから、(1,4,1,120)というデータ組を読み出すことになる。
 続いて、読み出したデータ組の第2要素の値に基づいて、制御対象となるアクチュエータを特定する(STEP52)。STEP51で読み出したデータ組を(1,4,1,120)とすれば第2要素の値は「4」であるから、アクチュエータ番号Mが「4」のアクチュエータが制御対象のアクチュエータとなる。また、STEP51で複数のデータ組を読み出していた場合には、それぞれのデータ組の第2要素の値に基づいて、制御対象となるそれぞれのアクチュエータを特定する。
 更に、読み出したデータ組の第3要素の値に基づいて、アクチュエータに基本動作させるためのプログラム要素を取得する(STEP53)。STEP51で読み出したデータ組を(1,4,1,120)とすれば第3要素の値は「1」であるから、基本動作させるためのプログラム要素は、プログラム要素番号が「1」番のプログラム要素となる。そこで、基本動作記憶部102に記憶されている対応関係(図9参照)を参照して、プログラム要素番号に対応する先頭アドレス値を取得することによって、CPUが実行可能なプログラム要素を読み出す。もちろん、STEP51で複数のデータ組を読み出していた場合には、それぞれのデータ組の第3要素の値に基づいて、それぞれのプログラム要素を読み出すことになる。
 また、データ組中に第1要素~第3要素以外の要素が存在している場合は、それは(あるいは、それらは)プログラム要素に指定するパラメータなので、それ(あるいは、それら)を読み出して、プログラム要素に引数として設定する(STEP54)。
 以上のSTEP51~STEP54の操作を行うことによって、YOGOチャート200上のある部分期間(動作制御処理が開始された直後は、部分期間番号Nが「1」番の部分期間)に記入された基本動作を、それぞれのアクチュエータに行わせる準備が整ったことになる。すなわち、制御対象となるアクチュエータが特定され(STEP52)、制御に用いるプログラム要素が取得され(STEP53)、プログラム要素に対して引数が設定された(STEP54)ことになるので、そのプログラム要素を実行する(STEP55)。例えば、アクチュエータがサーボモータであり、基本動作の内容がモータを正方向に180度回転させるという内容であった場合は、モータの回転角度を検出しながら、回転角度が180度になるまでモータを駆動する動作を、所定の制御周期で繰り返すようなプログラム要素を実行する。また、複数のプログラム要素が存在する場合は、それらのプログラム要素が並行して実行されることになる。
 続いて、全てのプログラム要素の実行が終了したか否かを判断する(STEP56)。すなわち、STEP55で複数のプログラム要素を実行した場合は、それらのプログラム要素の実行が同時に終了するとは限らないので、全てのプログラム要素の実行が終了したか否かを判断する。もちろん、STEP55で1つのプログラム要素しか実行していない場合は、そのプログラム要素の実行が終了したか否かを判断することになる。
 その結果、実行中のプログラム要素が残っている場合は、STEP56では「no」と判断して、再び同じ判断(STEP56)を繰り返す。こうすることによって、全てのプログラム要素の実行が終了するまで待機状態となる。そして、全てのプログラム要素の実行が終了したら(STEP56:yes)、部分期間番号Nが最終値に達したか否かを判断する(STEP57)。例えば、YOGOチャート200上で自動製造機械1の動作を記述するために、100個の部分期間が用いられていた場合は、部分期間番号Nが「100」に達したか否かを判断する。
 その結果、部分期間番号Nがまだ最終値に達していない場合は(STEP57:no)、部分期間番号Nを1つ増加させる(STEP58)。そして、STEP51に戻って、制御プログラムの中から、第1要素が新たな部分期間番号Nに一致するデータ組を読み出した後、読み出したデータ組に対して上述したSTEP52~STEP55の操作を行う。こうすることにより、先に基本動作を実行した部分期間から1つ部分期間を進めて、新たな部分期間に記入された全ての基本動作が実行されることになる。そして、新たな部分期間の全ての基本動作が終了して、STEP56で「yes」と判断したら、その部分期間の部分期間番号Nが最終値に達しているか否かを判断する(STEP57)。その結果、部分期間番号Nが最終値に達していない場合は(STEP57:no)、部分期間番号Nを1つ増加させた後(STEP58)、STEP51に戻って、新たな部分期間番号Nについて、上述したSTEP51~STEP57の操作を繰り返す。
 このように、図14の動作制御処理では、YOGOチャート200の先頭の部分期間(すなわち、部分期間番号Nが1番の部分期間)から最後の部分期間(部分期間番号Nが最終値の部分期間)に向かって、部分期間を1つずつ選択して、その部分期間に記載された基本動作を実行する動作を繰り返す。そして、最後の部分期間の基本動作が終了したら、STEP57で「yes」と判断して、動作制御処理を終了する。
 以上に詳しく説明したように、本実施例の自動製造機械制御装置100では、自動製造機械1の動作をYOGOチャート200で記述することによって、そのYOGOチャート200から制御プログラムを自動で生成して、自動製造機械制御装置100を動作させることができる。また、YOGOチャート200は、自動製造機械1の構造や動作が分かっていれば、プログラムに関する知識が無くても簡単に作成することができるので、プログラマが制御プログラムを作成する必要が無い。このため、新たな自動製造機械1を開発するために要する時間を、大幅に(少なくとも半分以下に)短縮することができ、加えて、プログラマを確保しておく必要も無くなる。その結果、製造現場に新たな自動製造機械を導入することが容易になって、産業界での省力化に対する要請に十分に対応することが可能となる。
 以上、本実施例の自動製造機械制御装置100について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
 例えば、上述した実施例の自動製造機械制御装置100では、図8に示したように、制御プログラム生成部105および制御実行部106の何れも、基本動作記憶部102を参照するものとして説明した。これは、制御プログラム生成部105が制御プログラムを生成する際に参照する対応関係(すなわち、基本動作206(およびパラメータ)とプログラム要素番号(および具体的な数値)との対応関係)と、制御実行部106が制御プログラムを実行する際に参照する対応関係(すなわち、プログラム要素番号とプログラム要素を格納した先頭アドレス値との対応関係)とが、何れも基本動作記憶部102に記憶されているためである。従って、基本動作記憶部102に記憶されている対応関係を、制御プログラム生成部105が参照する対応関係と、制御実行部106が参照する対応関係とに分割して、制御実行部106が参照する対応関係については、基本動作記憶部102とは別の記憶部で記憶するようにしても良い。
 図15は、制御プログラム生成部105が参照する対応関係と、制御実行部106が参照する対応関係を分割することにより、制御プログラム生成部105と制御実行部106とが異なる記憶部を参照するようにした変形例の自動製造機械制御装置100についての説明図である。図15に示した変形例の自動製造機械制御装置100は、図8を用いて前述した本実施例の自動製造機械制御装置100に対して、制御実行部106が、基本動作記憶部102ではなくブログラム要素記憶部107を参照している点が異なっている。このブログラム要素記憶部107には、図9を用いて前述した対応関係の中で、プログラム要素番号と、プログラム要素が格納された先頭アドレス値とを対応付けた部分が記憶されている。また、このことに伴って、変形例の基本動作記憶部102に記憶されている対応関係からは、プログラム要素番号に対して先頭アドレス値を対応付けた部分が除かれている。このような変形例の自動製造機械制御装置100では、制御実行部106が制御プログラムを実行する際に、ブログラム要素記憶部107を参照して読み出したプログラム要素を実行することになる。
 尚、上述した変形例の基本動作記憶部102が記憶している対応関係について、疑義を招かないように補足説明しておく。前述した本実施例の自動製造機械制御装置100では、図9に例示したように、プログラム要素を格納した先頭アドレス値と、基本動作206との対応関係が基本動作記憶部102に記憶されていた。これに対して、上述した変形例では、基本動作記憶部102に対応付けて記憶されているのは、基本動作206とプログラム要素番号との対応関係に過ぎず、基本動作206とプログラム要素の先頭アドレス値との対応関係が記憶されているわけではない。従って、変形例の基本動作記憶部102を参照しても、基本動作を実現するプログラム要素が直ちに読み出せるわけではない。しかし、プログラム要素番号を特定すれば、プログラム要素は決まってしまう。このことから、変形例の基本動作記憶部102が記憶している対応関係も、実質的には、基本動作206とプログラム要素とを対応付けた対応関係に該当している。
 また、前述した本実施例の自動製造機械制御装置100は、YOGOチャート200を作成して、そのYOGOチャート200から制御プログラムを生成する機能(図8のYOGOチャート作成部101、基本動作記憶部102、YOGOチャート読込部103、YOGOチャート解析部104、制御プログラム生成部105に対応)に加えて、制御プログラムに従って制御を実行する機能(図8の制御実行部106に対応)も備えているものとして説明した。しかし、これらの複数の機能の一部を搭載した複数の装置を組み合わせることによって、全体として自動製造機械制御装置100を形成するようにしても良い。
 例えば、図16に例示したように、自動製造機械制御装置100を、YOGOチャート処理装置100aと、制御実行装置100bとに分割してもよい。そして、自動製造機械制御装置100には、YOGOチャート200の作成から制御プログラムの生成までの一連の機能(すなわち、YOGOチャート作成部101、基本動作記憶部102、YOGOチャート読込部103、YOGOチャート解析部104、制御プログラム生成部105)を搭載する。また、制御実行装置100bには、制御プログラムに従ってプログラム要素を実行する機能(すなわち、制御実行部106、ブログラム要素記憶部107)を搭載するようにしても良い。
 こうすれば、YOGOチャート200を作成したり、制御プログラムを生成したりする作業は事務室に設置しておいたYOGOチャート処理装置100aで行い、自動製造機械1の傍に設置しておいた制御実行装置100bに、生成した制御プログラムを読み込ませることによって、自動製造機械1を動作させることが可能となる。尚、図16に示した例では、YOGOチャート処理装置100aが、本発明における「制御プログラム生成装置」に対応する。
 また、前述した本実施例では、YOGOチャート200に記入される動作は、基本動作(あるいは基本動作に準じた動作)であるものとして説明した。しかし、多自由度の複雑な動作をする部品を購入して、その部品に所定の動作を行わせることによって、自動製造機械1のアクチュエータとして利用する場合もある。このような場合は、その部品に行わせる所定の動作を、基本動作206として取り扱ってYOGOチャート200に記入するようにしても良い。このような場合でも、基本動作206に対応するプログラム要素を予め作成しておけば、自動製造機械制御装置100を用いて制御プログラムを自動で生成することが可能となる。
  1…自動製造機械、  2…レール、    3…搬送ユニット、
  3a…把持軸、    3b…チャック、  4…加工ユニット、
  10~20…アクチュエータ、   10d~20d…ドライバ回路、
  50…コンピュータ、       100…自動製造機械制御装置、
  100a…YOGOチャート処理装置、  100b…制御実行装置、
  100m…モニター画面、     100s…操作入力ボタン、
  102…基本動作記憶部、     105…制御プログラム生成部、
  106…制御実行部、       107…ブログラム要素記憶部、
  110…制御プログラム生成装置、 201…仕切線、
  202…トリガー線、   203…動作線、  204…始点、
  205…終点、      206…基本動作。

Claims (8)

  1.  複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する制御プログラム生成装置(100a、110)であって、
     前記アクチュエータの自由度毎の動作を表す基本動作(206)を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
     前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
     前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
     を備えることを特徴とする制御プログラム生成装置。
  2.  請求項1に記載の制御プログラム生成装置であって、
     前記動作チャート読込部は、複数の前記部分期間が横方向または縦方向の何れか一方に並んで配置され、前記横方向または縦方向の何れか他方には、複数の前記アクチュエータが並んで割り当てられた表形式の動作チャート上で、対応する座標位置に前記基本動作が記入されることによって、前記自動製造機械の動作が記述された前記動作チャートを読み込む
     ことを特徴とする制御プログラム生成装置。
  3.  請求項1または請求項2に記載の制御プログラム生成装置であって、
     前記基本動作記憶部は、前記基本動作に加えて、タイマによる計時動作または計数器による計数動作の少なくとも一方を、前記計時動作または前記計数動作を実現する前記プログラム要素と対応付けて記憶しており、
     前記動作チャート読込部は、前記計時動作または前記計数動作の少なくとも一方が、前記複数の部分期間の何れかに割り当てられた前記動作チャートを読込可能となっている
     ことを特徴とする制御プログラム生成装置。
  4.  請求項1ないし請求項3の何れか一項に記載の制御プログラム生成装置であって、
     前記基本動作記憶部は、前記基本動作に加えて、スイッチの状態を監視することによってスイッチが切り換わったことを検知するスイッチ検知動作と、前記スイッチ検知動作を実現する前記プログラム要素と対応付けて記憶しており、
     前記動作チャート読込部は、前記スイッチ検知動作が前記複数の部分期間の何れかに割り当てられた前記動作チャートを読込可能となっている
     ことを特徴とする制御プログラム生成装置。
  5.  請求項1ないし請求項4の何れか一項に記載の制御プログラム生成装置であって、
     前記基本動作記憶部は、前記基本動作に加えて、スピーカーによる音声出力動作またはライトによる発光動作の少なくとも一方を、前記音声出力動作または前記発光動作を実現するための前記プログラム要素と対応付けて記憶しており、
     前記動作チャート読込部は、前記音声出力動作または前記発光動作の少なくとも一方を含んだ前記動作チャートを読込可能となっている
     ことを特徴とする制御プログラム生成装置。
  6.  請求項1ないし請求項5の何れか一項に記載の制御プログラム生成装置であって、
     前記基本動作記憶部は、前記基本動作に加えて、ヒーターによる加熱動作を、前記加熱動作を実現するための前記プログラム要素と対応付けて記憶しており、
     前記動作チャート読込部は、前記加熱動作を含んだ前記動作チャートを読込可能となっている
     ことを特徴とする制御プログラム生成装置。
  7.  複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムをコンピュータによって生成する制御プログラム生成方法であって、
     前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
     前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析工程(STEP2)と、
     前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP3)と
     を備えることを特徴とする制御プログラム生成方法。
  8.  複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する方法を、コンピュータを用いて実現するプログラムであって、
     前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータの自由度毎の動作を表す複数の基本動作(206)に分解されると共に、前記基本動作が、前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
     前記動作チャートを解析することによって、前記動作チャートに含まれる複数の前記基本動作と、複数の前記基本動作が割り当てられた前記部分期間とを抽出する動作チャート解析機能(STEP2)と、
     前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP3)と
     を、コンピュータを用いて実現するプログラム。
PCT/JP2021/002546 2020-01-28 2021-01-26 制御プログラム生成装置、制御プログラム生成方法、プログラム WO2021153533A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21747401.4A EP4099110A4 (en) 2020-01-28 2021-01-26 CONTROL PROGRAM GENERATING DEVICE, CONTROL PROGRAM GENERATING METHOD AND PROGRAM
KR1020227010541A KR102476170B1 (ko) 2020-01-28 2021-01-26 제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램
CN202180011351.0A CN115023671A (zh) 2020-01-28 2021-01-26 控制程序生成装置、控制程序生成方法、程序
US17/842,503 US20220308558A1 (en) 2020-01-28 2022-06-16 Control program generation apparatus, control program generation method, and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020011386A JP6787616B1 (ja) 2020-01-28 2020-01-28 制御プログラム生成装置、制御プログラム生成方法、プログラム
JP2020-011386 2020-01-28
JP2020-075017 2020-04-20
JP2020075017A JP6829505B1 (ja) 2020-04-20 2020-04-20 制御プログラム生成装置、制御プログラム生成方法、プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/842,503 Continuation US20220308558A1 (en) 2020-01-28 2022-06-16 Control program generation apparatus, control program generation method, and program

Publications (1)

Publication Number Publication Date
WO2021153533A1 true WO2021153533A1 (ja) 2021-08-05

Family

ID=77079039

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/002546 WO2021153533A1 (ja) 2020-01-28 2021-01-26 制御プログラム生成装置、制御プログラム生成方法、プログラム

Country Status (5)

Country Link
US (1) US20220308558A1 (ja)
EP (1) EP4099110A4 (ja)
KR (1) KR102476170B1 (ja)
CN (1) CN115023671A (ja)
WO (1) WO2021153533A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154105A (ja) * 1989-11-10 1991-07-02 Toshiba Mach Co Ltd Ncプログラム作成装置
JPH11202912A (ja) * 1998-01-20 1999-07-30 Takashi Nishikawa シーケンス制御方法
JP2011245602A (ja) 2010-05-28 2011-12-08 Yaskawa Electric Corp ロボット装置及び加工システム並びに加工品の製造方法
JP2018192570A (ja) 2017-05-18 2018-12-06 ファナック株式会社 工作機械

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4039595B2 (ja) * 1998-09-03 2008-01-30 リコーエレメックス株式会社 ロボットシステム
WO2013099032A1 (ja) * 2011-12-28 2013-07-04 株式会社安川電機 モーションコントローラ及びモータ制御システム
JP5826121B2 (ja) * 2012-06-18 2015-12-02 株式会社安川電機 機械制御プログラム作成装置、機械制御プログラム作成方法、プログラム及び情報記憶媒体
KR20160075629A (ko) * 2013-10-31 2016-06-29 미쓰비시덴키 가부시키가이샤 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램
US10518409B2 (en) * 2014-09-02 2019-12-31 Mark Oleynik Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
US20170017229A1 (en) * 2015-07-17 2017-01-19 General Electric Company Systems and methods for analyzing control logic

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154105A (ja) * 1989-11-10 1991-07-02 Toshiba Mach Co Ltd Ncプログラム作成装置
JPH11202912A (ja) * 1998-01-20 1999-07-30 Takashi Nishikawa シーケンス制御方法
JP2011245602A (ja) 2010-05-28 2011-12-08 Yaskawa Electric Corp ロボット装置及び加工システム並びに加工品の製造方法
JP2018192570A (ja) 2017-05-18 2018-12-06 ファナック株式会社 工作機械

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4099110A4

Also Published As

Publication number Publication date
KR102476170B1 (ko) 2022-12-08
KR20220062315A (ko) 2022-05-16
EP4099110A4 (en) 2024-04-03
EP4099110A1 (en) 2022-12-07
CN115023671A (zh) 2022-09-06
US20220308558A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
WO2021153521A1 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
US5988855A (en) Operating method for a working area comprising a robot enslaved to a bending press for working metal sheets
WO2021153544A1 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
JP2006350620A (ja) 自動組立システムにおける組立機構の動作教示方法
JP2020071533A (ja) 工作機械システム
WO2021153533A1 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
JP6829505B1 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
JP7114035B2 (ja) 動作制御装置、動作制御方法、プログラム
JP7114034B2 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
TW202147048A (zh) 控制程式生成裝置、控制程式生成方法、程式
JP2022026361A (ja) 制御プログラム生成装置
WO2021153591A1 (ja) 動作制御装置、動作制御方法、プログラム
WO2022269927A1 (ja) プログラム作成装置
JP2023104873A (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
JPS6260006A (ja) ロボツト制御プログラムの干渉チエツク方法
JP2022106598A (ja) 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法
CN118103182A (zh) 生成辅助文件的模拟装置以及控制系统
CN112975905A (zh) 用于对机器人操作进行编程的支持装置
JPS63288685A (ja) ロボット動作順序図出力方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21747401

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20227010541

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021747401

Country of ref document: EP

Effective date: 20220829