Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7523116B2 - Control program generator - Google Patents
[go: Go Back, main page]

JP7523116B2 - Control program generator - Google Patents

Control program generator Download PDF

Info

Publication number
JP7523116B2
JP7523116B2 JP2020129779A JP2020129779A JP7523116B2 JP 7523116 B2 JP7523116 B2 JP 7523116B2 JP 2020129779 A JP2020129779 A JP 2020129779A JP 2020129779 A JP2020129779 A JP 2020129779A JP 7523116 B2 JP7523116 B2 JP 7523116B2
Authority
JP
Japan
Prior art keywords
description
chart
actuator
basic
yogo
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2020129779A
Other languages
Japanese (ja)
Other versions
JP2022026361A (en
Inventor
秀典 尾崎
利弘 可兒
照明 與語
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Opton Co Ltd
Original Assignee
Opton Co Ltd
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
Application filed by Opton Co Ltd filed Critical Opton Co Ltd
Priority to JP2020129779A priority Critical patent/JP7523116B2/en
Publication of JP2022026361A publication Critical patent/JP2022026361A/en
Application granted granted Critical
Publication of JP7523116B2 publication Critical patent/JP7523116B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、複数のアクチュエータを備えた自動製造機械の動作を制御プログラムに従って制御する技術に関する。 The present invention relates to a technology for controlling the operation of an automated manufacturing machine equipped with multiple actuators according to a control program.

工場などの製造現場の生産性を向上させるためには、自動製造機械を利用した製造工程の自動化が不可欠と考えられる。製造工程には、加工あるいは製造しようとする対象物や、加工の内容(例えば、切削加工や、曲げ加工)などに応じて様々な工程が存在するので、自動化しようとする製造工程に応じて、様々なタイプの自動製造機械が開発されている(例えば、特許文献1、特許文献2)。 In order to improve the productivity of manufacturing sites such as factories, it is considered essential to automate the manufacturing process using automatic manufacturing machines. There are various steps in the manufacturing process depending on the object to be processed or manufactured and the type of processing (e.g., cutting or bending), so various types of automatic manufacturing machines have been developed depending on the manufacturing process to be automated (e.g., Patent Document 1, Patent Document 2).

また、同じような製造工程であっても、具体的な内容については製造現場毎に異なっている。このため、他の製造現場に導入されている自動製造機械を流用することは困難であり、製造現場毎に専用の自動製造機械を開発しなければならないことが一般的である。そして、専用の自動製造機械を開発すると、その自動製造機械を制御するための制御プログラムも、新たに開発する必要が生じる。 In addition, even if the manufacturing process is similar, the specifics differ from one manufacturing site to another. For this reason, it is difficult to reuse automated manufacturing machines that have been installed at other manufacturing sites, and it is generally necessary to develop dedicated automated manufacturing machines for each manufacturing site. And when dedicated automated manufacturing machines are developed, it also becomes necessary to develop new control programs to control the automated manufacturing machines.

ところが、制御プログラムを開発するためには多大な労力が必要となる。そこで本願の発明者らは、自動製造機械の動作を特殊な動作チャートに記述することで、動作チャートから制御プログラムを自動生成することが可能な技術を開発して既に出願済みである(特願2020-075017)。尚、この特殊な動作チャートは、本願の発明者が開発した動作チャートであって、従来には存在しないものであるため、以下では、この動作チャートのことを「YOGOチャート」と称することにする。この動作チャート(YOGOチャート)は、自動製造機械の動作を理解していれば容易に作成することが可能であり、しかも、この動作チャートから自動で制御プログラムを生成することができる。このため、自動製造機械の開発に要する期間を大幅に短縮することができ、加えて、プログラマを確保する必要もないので製造コストも抑制することが可能である。 However, developing a control program requires a great deal of effort. Therefore, the inventors of the present application have developed a technology that allows the operation of an automatic manufacturing machine to be described in a special operation chart, and has already filed a patent application (Patent Application No. 2020-075017) that allows the automatic generation of a control program from the operation chart. Note that this special operation chart is an operation chart developed by the inventors of the present application, and does not exist in the past. Therefore, hereinafter, this operation chart will be referred to as a "YOGO chart." This operation chart (YOGO chart) can be easily created if you understand the operation of the automatic manufacturing machine, and a control program can be automatically generated from this operation chart. This makes it possible to significantly shorten the time required to develop an automatic manufacturing machine, and in addition, since there is no need to secure a programmer, it is possible to reduce manufacturing costs.

特開2011-245602号公報JP 2011-245602 A 特開2018-192570号公報JP 2018-192570 A

しかし、上述した出願中の技術であっても、動作チャート(YOGOチャート)に自動製造機械の動作を記述する際に間違えてしまうことがあり、間違えを含んだ動作チャート(YOGOチャート)から制御プログラムを生成しても、自動製造機械を意図した通りに動作させることができない。このため、動作チャート(YOGOチャート)の記述を間違えたままで、制御プログラムを生成してしまう事態を抑制することが可能な技術の開発が要請されている。 However, even with the above-mentioned pending technology, mistakes can be made when describing the operation of an automatic manufacturing machine in an operation chart (YOGO chart), and even if a control program is generated from an operation chart (YOGO chart) that contains an error, the automatic manufacturing machine cannot be operated as intended. For this reason, there is a demand for the development of technology that can prevent a control program from being generated when an operation chart (YOGO chart) contains an error.

この発明は、従来の技術が有する上述した課題を解決するために成されたものであり、動作チャート(YOGOチャート)の記述を間違えたことに気づかないまま、制御プログラムを生成してしまう事態を抑制することが可能な技術の提供を目的とする。 This invention was made to solve the above-mentioned problems with the conventional technology, and aims to provide technology that can prevent a situation in which a control program is generated without realizing that a mistake has been made in writing the operation chart (YOGO chart).

上述した課題を解決するために、本発明の制御プログラム生成装置は次の構成を採用した。すなわち、
複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する制御プログラム生成装置(110)であって、
前記アクチュエータの自由度毎の動作を表す基本動作(206)を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
前記動作チャートに記載された前記基本動作が、所定の記載要件を満足するか否かを判断する記載要件判断部(104)と、
前記動作チャート中の前記基本動作が前記記載要件を満足していた場合には、前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
を備え、
前記動作チャート読込部が読み込む前記動作チャートは、表形式の一軸側に前記複数の部分期間が割り当てられ、前記表形式の他軸側に前記複数のアクチュエータが割り当てられ、尚且つ、前記一軸側の座標値と前記他軸側の座標値とによって決まる座標位置に前記基本動作が記載された前記動作チャートであり、
前記基本動作記憶部は、前記アクチュエータと、前記アクチュエータが実行可能な前記基本動作との対応関係を、前記記載要件判断部から参照される前記記載要件として記憶しており、
前記記載要件判断部は、前記基本動作が記載された前記座標位置を取得して、前記座標位置の中の前記他軸側の座標値に割り当てられた前記アクチュエータが、前記基本動作に対して前記対応関係で対応付けられた前記アクチュエータでなかった場合には、前記記載要件を満足しないものと判断して、前記記載要件を満足しない前記基本動作が記載された前記座標位置を、問題座標位置として出力する
ことを特徴とする。
In order to solve the above-mentioned problems, the control program generating device of the present invention employs the following configuration.
A control program generating device (110) for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10-20),
a basic operation storage unit (102) that stores basic operations (206) representing operations for each degree of freedom of the actuator in association with program elements that realize the basic operations;
an operation chart reading unit (103) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations , and the basic operations are assigned to any one of the partial periods selected for each basic operation from among the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a description requirement determination unit (104) for determining whether the basic operation described in the operation chart satisfies a predetermined description requirement;
a control program generating unit (105) that generates the control program for operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart in accordance with the order of the partial periods on the operation chart when the plurality of basic operations in the operation chart satisfy the description requirements,
the operation chart read by the operation chart reading unit is an operation chart in which the plurality of partial periods are assigned to one axis side of a table format, the plurality of actuators are assigned to another axis side of the table format, and the basic operations are described at coordinate positions determined by coordinate values on the one axis side and coordinate values on the other axis side,
the basic operation storage unit stores a correspondence relationship between the actuator and the basic operation that can be executed by the actuator as the description requirement to be referenced by the description requirement determination unit;
The description requirement judgment unit acquires the coordinate position in which the basic operation is described, and if the actuator assigned to the coordinate value on the other axis side of the coordinate position is not the actuator associated with the basic operation in the correspondence relationship, judges that the description requirement is not satisfied, and outputs the coordinate position in which the basic operation that does not satisfy the description requirement is described as a problem coordinate position.

かかる本発明の制御プログラム生成装置では、自動製造機械の動作が、表形式の動作チャートに記述されている。表形式の動作チャートの一軸側には、自動製造機械が動作を開始してから終了するまでの動作期間を分割した複数の部分期間が割り当てられており、表形式の動作チャートの他軸側には、自動製造機械に搭載された複数のアクチュエータが割り当てられている。また、自動製造機械の動作は、アクチュエータの自由度毎の動作を表す複数の基本動作に分解されており、それらの基本動作に対しては、複数の部分期間の中から、その基本動作を実行する部分期間が1つ割り当てられている。そして、表形式の動作チャートは、一軸側の座標値と他軸側の座標値とによって決まる座標位置に基本動作が記載されることによって自動製造機械の動作が記述された動作チャートとなっている。このような動作チャートを読み込むと、動作チャートに記載された基本動作が、所定の記載要件を満足するか否かを判断する。記載要件としては、アクチュエータと、アクチュエータが実行可能な基本動作との対応関係を記憶している。そして、読み込んだ動作チャートの中から基本動作と、その基本動作が記載された座標位置とを取得して、座標位置の他軸側の座標値に割り当てられたアクチュエータが、基本動作に対して対応関係で対応付けられたアクチュエータであるか否かを判断する。その結果、基本動作が記載された座標位置から決まるアクチュエータと、基本動作から決まるアクチュエータとが一致している場合は、動作チャート中の基本動作が記載要件を満足するものと判断して、動作チャートから制御プログラムを生成する。これに対して、基本動作が記載された座標位置から決まるアクチュエータと、基本動作から決まるアクチュエータとが一致していない場合は、動作チャート中の基本動作が記載要件を満足していないものと判断して、基本動作の座標位置を問題座標位置として出力する In the control program generating device of the present invention, the operation of the automatic manufacturing machine is described in a tabular operation chart. A plurality of partial periods obtained by dividing the operation period from when the automatic manufacturing machine starts to when it finishes its operation are assigned to one axis of the tabular operation chart , and a plurality of actuators mounted on the automatic manufacturing machine are assigned to the other axis of the tabular operation chart . The operation of the automatic manufacturing machine is also decomposed into a plurality of basic operations that represent the operation of each degree of freedom of the actuator, and one partial period for executing the basic operation is assigned to each of the basic operations from among the plurality of partial periods. The tabular operation chart is an operation chart in which the operation of the automatic manufacturing machine is described by describing the basic operation at a coordinate position determined by the coordinate value on the one axis side and the coordinate value on the other axis side. When such an operation chart is read, it is determined whether the basic operation described in the operation chart satisfies a predetermined description requirement. As the description requirement, a correspondence relationship between the actuator and the basic operation that the actuator can execute is stored. Then, the basic operation and the coordinate position where the basic operation is described are obtained from the read operation chart, and it is determined whether or not the actuator assigned to the coordinate value on the other axis side of the coordinate position is an actuator associated with the basic operation in a corresponding relationship. If the actuator determined from the coordinate position where the basic operation is described matches the actuator determined from the basic operation, it is determined that the basic operation in the operation chart satisfies the description requirements, and a control program is generated from the operation chart. On the other hand, if the actuator determined from the coordinate position where the basic operation is described does not match the actuator determined from the basic operation, it is determined that the basic operation in the operation chart does not satisfy the description requirements, and the coordinate position of the basic operation is output as the problem coordinate position .

動作チャートは表形式で記載されており、基本動作が記載された座標位置の一軸側の座標値によって部分期間を指定し、座標位置の他軸側の座標値によってアクチュエータを指定するようになっている。更に、アクチュエータによって実行可能な基本動作は制限されている。その結果、座標位置の他軸側の座標値に応じて、動作チャートに記載可能な基本動作は制限されることになり、動作チャート上の任意の座標位置に任意の基本動作を記載できるわけではない。従って、動作チャートから制御プログラムを生成する際に、動作チャート上で基本動作が記載された座標位置を取得して、基本動作の座標位置から決まるアクチュエータと、基本動作から決まるアクチュエータとが一致している場合に、制御プログラムを生成することとすれば、記載ミスのある動作チャートから制御プログラムを生成する事態を抑制することが可能となる。また、動作チャートに記載ミスが見つかった場合には、記載ミスが見つかった座標位置が問題座標位置として出力されるので、記載ミスを容易に修正することも可能となる。 The operation chart is written in a table format, and a partial period is specified by the coordinate value on one axis of the coordinate position where the basic operation is written, and an actuator is specified by the coordinate value on the other axis of the coordinate position. Furthermore, the basic operations that can be executed by the actuator are limited. As a result, the basic operations that can be written in the operation chart are limited according to the coordinate value on the other axis of the coordinate position, and it is not possible to write any basic operation at any coordinate position on the operation chart. Therefore, when generating a control program from the operation chart, if the coordinate position on the operation chart where the basic operation is written is obtained, and the actuator determined by the coordinate position of the basic operation and the actuator determined by the basic operation match, it is possible to prevent the generation of a control program from an operation chart with a description error. Furthermore, if a description error is found in the operation chart, the coordinate position where the description error was found is output as the problem coordinate position, so that the description error can be easily corrected.

また、上述した本発明の制御プログラム生成装置においては、動作チャートの基本動作が、基本動作の定性的な内容を記述した動作記述(206a)と、基本動作の定量的な内容を数値によって記述した数値記述との組み合わせによって記載された動作チャートを読み込むようにしても良い。更に、動作記述と、動作記述に組み合わせて用いられる数値記述とを対応付けた組合せ対応関係を、所定の記載要件として記憶しておく。そして、座標位置に基本動作として記載された動作記述と数値記述との組み合わせが、組合せ対応関係を満足しなかった場合には、記載要件を満足しないものと判断して、問題座標位置を出力するようにしても良い。 The control program generation device of the present invention described above may also be configured to read an operation chart in which the basic operations of the operation chart are described by a combination of an operation description (206a) that describes the qualitative content of the basic operation and a numerical description that describes the quantitative content of the basic operation using numerical values. Furthermore, a combination correspondence that associates the operation description with the numerical description used in combination with the operation description is stored as a predetermined description requirement. Then, if the combination of the operation description and the numerical description described as the basic operation at a coordinate position does not satisfy the combination correspondence, it may be determined that the description requirement is not satisfied, and the problem coordinate position may be output.

こうすれば、動作チャート上で基本動作として記載された動作記述と数値記述との組み合わせが正しくなかった場合も、記載要件を満足しないと判断されるので、記載ミスのある動作チャートから制御プログラムを生成する事態を抑制することが可能となる。加えて、動作記述と数値記述との組み合わせが正しくない座標位置が問題座標位置として出力されるので、動作チャートの記載を容易に修正することが可能となる。 In this way, even if the combination of the operation description and the numerical description written as a basic operation on the operation chart is incorrect, it will be determined that the description requirements are not satisfied, making it possible to prevent a control program from being generated from an operation chart with a description error. In addition, the coordinate position where the combination of the operation description and the numerical description is incorrect is output as the problem coordinate position, making it possible to easily correct the description of the operation chart.

また、上述した本発明の制御プログラム生成装置においては、数値記述に対応する数値テーブルに設定可能な数値範囲を、数値記述毎に、記載要件として記憶しておいても良い。そして、数値テーブルに設定された数値が数値範囲内になかった場合には、記載要件を満足しないものと判断して問題座標位置を出力するようにしても良い。 In addition, in the control program generation device of the present invention described above, the range of values that can be set in the numerical table corresponding to the numerical description may be stored as a description requirement for each numerical description. Then, if the numerical value set in the numerical table is not within the numerical range, it may be determined that the description requirement is not satisfied, and the problem coordinate position may be output.

こうすれば、数値テーブルに設定された数値が適切でなかった場合も、記載要件を満足しないと判断されるので、記載ミスのある動作チャートから制御プログラムを生成する事態を抑制することが可能となる。加えて、数値テーブルに不適切な数値が設定された座標位置が問題座標位置として出力されるので、動作チャートの記載を容易に修正することが可能となる。 In this way, even if the values set in the numeric table are inappropriate, it will be determined that the description requirements are not met, making it possible to prevent the generation of a control program from an operation chart with a description error. In addition, the coordinate position where an inappropriate value is set in the numeric table is output as the problem coordinate position, making it possible to easily correct the description of the operation chart.

また、上述した本発明の制御プログラム生成装置においては、問題座標位置を出力する際に、満足しないと判断した記載要件を示すエラーコードも出力するようにしても良い。 In addition, in the control program generation device of the present invention described above, when outputting the problem coordinate position, an error code indicating the description requirement that is determined to be unsatisfied may also be output.

こうすれば、動作チャートの中で記載要件を満たしていない座標位置に加えて、記載要件を満たしていない内容も分かるので、動作チャートの記載を容易に修正することが可能となる。 In this way, not only can you see the coordinate positions in the operation chart that do not meet the description requirements, but you can also see the content that does not meet the description requirements, making it easy to correct the description in the operation chart.

本実施例の自動製造機械制御装置100によって制御される自動製造機械1の外観形状を示した説明図である。1 is an explanatory diagram showing the external shape of an automatic manufacturing machine 1 controlled by an automatic manufacturing machine control device 100 of the present embodiment. FIG. 自動製造機械制御装置100が、自動製造機械1に搭載された各種のアクチュエータ10~20の動作を制御する様子を概念的に示したブロック図である。1 is a block diagram conceptually showing how an automatic manufacturing machine control device 100 controls the operations of various actuators 10 to 20 mounted on an automatic manufacturing machine 1. FIG. 本実施例の自動製造機械制御装置100が自動製造機械1を動作チャート(YOGOチャート)から自動製造機械1の制御プログラムを自動で生成する基本原理についての説明図である。1 is an explanatory diagram of the basic principle by which the automatic manufacturing machine control device 100 of this embodiment automatically generates a control program for the automatic manufacturing machine 1 from an operation chart (YOGO chart). FIG. 本実施例の自動製造機械制御装置100が読み込む自動製造機械1の動作チャート(YOGOチャート)の一部を例示した説明図である。1 is an explanatory diagram illustrating a portion of an operation chart (YOGO chart) of the automatic manufacturing machine 1 read by the automatic manufacturing machine control device 100 of the present embodiment; FIG. 基本動作の動作記述206aについての説明図である。FIG. 2 is an explanatory diagram of an operation description 206a of a basic operation. 「Ω-AA」という動作記述206aに組み合わされる数値テーブル206bを例示した説明図である。1 is an explanatory diagram illustrating an example of a numerical value table 206b to be combined with an operation description 206a called "Ω-AA." 「Ω-AB」という動作記述206aに組み合わされる数値テーブル206bを例示した説明図である。1 is an explanatory diagram illustrating a numerical value table 206b to be combined with an operation description 206a called "Ω-AB." 「Ω-AA」という動作記述206aに組み合わされる数値テーブル206bの参照テーブルを例示した説明図である。2 is an explanatory diagram illustrating an example of a reference table of a numerical value table 206b combined with an operation description 206a called "Ω-AA." 「Ω-AB」という動作記述206aに組み合わされる数値テーブル206bの参照テーブルを例示した説明図である。2 is an explanatory diagram illustrating an example of a reference table of a numerical value table 206b combined with an operation description 206a called "Ω-AB." 本実施例の自動製造機械制御装置100の大まかな内部構造を示した説明図である。1 is an explanatory diagram showing a rough internal structure of an automatic manufacturing machine control device 100 according to an embodiment of the present invention. 本実施例の基本動作記憶部102に記憶されているアクチュエータと動作記述206aとの対応関係を例示した説明図である。1 is an explanatory diagram illustrating an example of a correspondence relationship between actuators stored in a basic operation storage unit 102 of the present embodiment and an operation description 206a. FIG. 本実施例の基本動作記憶部102に記憶されている動作記述206aと数値テーブル206bとの対応関係を例示した説明図である。2 is an explanatory diagram illustrating an example of the correspondence between an operation description 206a and a numerical value table 206b stored in the basic operation storage unit 102 of the present embodiment. FIG. 本実施例の基本動作記憶部102に記憶されている動作記述206aとプログラム要素番号との対応関係を例示した説明図である。1 is an explanatory diagram illustrating an example of the correspondence between an operation description 206a stored in the basic operation storage unit 102 of this embodiment and a program element number. 本実施例の自動製造機械制御装置100が動作チャート(YOGOチャート)から制御プログラムを生成する制御プログラム生成処理のフローチャートである。10 is a flowchart of a control program generation process in which the automatic manufacturing machine control device 100 of the present embodiment generates a control program from an operation chart (YOGO chart). YOGOチャート解析処理によって生成される中間データを例示した説明図である。11 is an explanatory diagram illustrating an example of intermediate data generated by a YOGO chart analysis process. 中間データを変換することによって生成された制御プログラムを例示した説明図である。10 is an explanatory diagram illustrating an example of a control program generated by converting intermediate data; 制御プログラム生成処理の中で実行されるYOGOチャート解析処理の前半部分のフローチャートである。13 is a flowchart of the first half of a YOGO chart analysis process executed in the control program generation process. 制御プログラム生成処理の中で実行されるYOGOチャート解析処理の中間部分のフローチャートである。13 is a flowchart of an intermediate portion of a YOGO chart analysis process executed in the control program generation process. 制御プログラム生成処理の中で実行されるYOGOチャート解析処理の後半部分のフローチャートである。13 is a flowchart of the second half of the YOGO chart analysis process executed in the control program generation process. YOGOチャートの記載に問題が見つかった場合に出力されるメッセージを例示した説明図である。FIG. 11 is an explanatory diagram illustrating an example of a message that is output when a problem is found in the description of a YOGO chart. 本実施例の自動製造機械制御装置100が制御プログラムデータに基づいて各アクチュエータの動作を制御する動作制御処理のフローチャートである。4 is a flowchart of an operation control process in which the automatic manufacturing machine control device 100 of the present embodiment controls the operation of each actuator based on control program data.

A.装置構成 :
図1は、本実施例の自動製造機械1の大まかな外観形状を示した説明図である。本実施例の自動製造機械1は、長尺のパイプ材に対して自動で曲げ加工を施すことによって、所望の形状に加工する工作機械(いわゆるパイプベンダ)である。もちろん、本実施例の自動製造機械1は、複数のアクチュエータを搭載して、対象物に対して把持、搬送、加工、加熱などの複数の動作を自動で実行することができれば、パイプベンダ以外の製造機械であっても良い。例えば、食料品を自動で製造するための製造機械であっても良い。あるいは、複数の関節を有するアームロボットと搬送装置とを組み合わせた製造システムであっても良い。
A. Device configuration:
FIG. 1 is an explanatory diagram 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 processes a long pipe material into a desired shape by automatically bending the pipe material. Of course, the automatic manufacturing machine 1 of this embodiment may be a manufacturing machine other than a pipe bender as long as it is equipped with multiple actuators and can automatically perform multiple operations such as gripping, conveying, processing, and heating on an object. For example, it may be a manufacturing machine for automatically manufacturing food products. Or it may be a manufacturing system that combines an arm robot having multiple joints and a conveying device.

図1に示したように、本実施例の自動製造機械1は、大まかには横長の直方体形状となっており、直方体の上面側には長手方向に2本のレール2が架設され、レール2上の一端側(図1では左側)には、加工対象の図示しないパイプ材を把持して搬送する搬送ユニット3が搭載されている。また、搬送ユニット3が搭載されている側に対して反対側には、図示しないパイプ材に曲げなどの加工を施す加工ユニット4が搭載されている。搬送ユニット3には、円柱形状の把持軸3aが突設されており、把持軸3aの先端には、図示しないパイプ材を把持するチャック3bが取り付けられている。このため、チャック3bでパイプ材を把持した状態で搬送ユニット3をレール2上で移動させることによって、パイプ材を加工ユニット4に供給し、そのパイプ材に対して加工ユニット4で曲げ加工などを施すことが可能となっている。 As shown in FIG. 1, the automatic manufacturing machine 1 of this embodiment is roughly shaped like a horizontally long rectangular parallelepiped, with two rails 2 installed in the longitudinal direction on the top side of the rectangular parallelepiped, and a conveying unit 3 that grips and conveys the pipe material (not shown) to be processed is mounted on one end of the rails 2 (the left side in FIG. 1). In addition, a processing unit 4 that performs processing such as bending on the pipe material (not shown) is mounted on the opposite side to the side on which the conveying unit 3 is mounted. A cylindrical gripping shaft 3a protrudes from the conveying unit 3, and a chuck 3b that grips the pipe material (not shown) is attached to the tip of the gripping shaft 3a. Therefore, by moving the conveying unit 3 on the rails 2 with the pipe material gripped by the chuck 3b, the pipe material can be supplied to the processing unit 4, and the pipe material can be subjected to processing such as bending by the processing unit 4.

本実施例の自動製造機械1は、搬送ユニット3の移動量によってパイプ材の送り量を制御することができるので、パイプ材に曲げ加工などを施す位置を自由に制御することができる。また、チャック3bが取り付けられた把持軸3aを軸回りに回転(いわゆる捻り動作)させることによって、所望の方向にパイプ材を曲げることも可能となっている。こうしたことを実現するために、搬送ユニット3の内部には、チャック3bを開閉させるためのアクチュエータ10や、把持軸3aを軸回りに回転させるためのアクチュエータ11や、把持軸3aを軸方向に進退動させるためのアクチュエータ12や、レール2上で搬送ユニット3を進退動させるためのアクチュエータ13などが搭載されている。本実施例の自動製造機械1では、これらのアクチュエータ10~13は何れも交流電源で動作するサーボモータが用いられているが、アクチュエータに要求される性能に応じて、他の駆動方式のアクチュエータ(例えば、油圧シリンダや、ソレノイドや、ステッピングモータなど)を採用することができる。尚、搬送ユニット3には、把持軸3aの回転位置や、搬送ユニット3の移動位置を検出するためのエンコーダや、リミットスイッチなどのセンサー類も搭載されているが、図面が煩雑となることを回避する目的で、図1では図示が省略されている。 In the automatic manufacturing machine 1 of this embodiment, the amount of feed of the pipe material can be controlled by the amount of movement of the conveying unit 3, so that the position where bending processing is performed on the pipe material can be freely controlled. In addition, it is also possible to bend the pipe material in a desired direction by rotating the gripping shaft 3a to which the chuck 3b is attached around its axis (so-called twisting operation). In order to achieve this, the inside of the conveying unit 3 is equipped with an actuator 10 for opening and closing the chuck 3b, an actuator 11 for rotating the gripping shaft 3a around its axis, an actuator 12 for moving the gripping shaft 3a forward and backward in the axial direction, and an actuator 13 for moving the conveying unit 3 forward and backward on the rail 2. In the automatic manufacturing machine 1 of this embodiment, these actuators 10 to 13 are all servo motors operated by AC power sources, but actuators of other drive methods (for example, hydraulic cylinders, solenoids, stepping motors, etc.) can be adopted depending on the performance required of the actuators. The transport unit 3 is also equipped with sensors such as an encoder and limit switches for detecting the rotational position of the gripping shaft 3a and the movement position of the transport unit 3, but these are omitted from Figure 1 to avoid cluttering the drawing.

加工ユニット4の内部には、パイプ材を曲げるためのアクチュエータ19や、パイプ材を曲げる際に、パイプ材に力を加える位置を移動させるためのアクチュエータ18や、加工ユニット4全体を上下方向に移動させるためのアクチュエータ17や、パイプ材に対してフランジと呼ばれる平端面を形成したり、バルジと呼ばれる環状の凸部を形成したりするためのアクチュエータ20などが搭載されている。尚、加工ユニット4にも、エンコーダや、接点スイッチなどのセンサー類が搭載されているが、図面が煩雑となることを避けるため、これらについては図示が省略されている。 Inside the processing unit 4, there are mounted actuators 19 for bending the pipe material, actuator 18 for moving the position where force is applied to the pipe material when bending the pipe material, actuator 17 for moving the entire processing unit 4 in the vertical direction, and actuator 20 for forming a flat end surface called a flange on the pipe material and an annular protrusion called a bulge. The processing unit 4 also has sensors such as an encoder and contact switches, but these are not shown in the drawing to avoid cluttering the drawing.

また、加工ユニット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にはドライバ回路と呼ばれる専用の電気部品が用意されており、ドライバ回路に対して駆動量を指定すると、ドライバ回路がアクチュエータ10~13、17~20に対して適切な駆動電流を出力し、その結果、アクチュエータ10~13、17~20が駆動されるようになっている。 In addition, the machining unit 4 is equipped with multiple driver circuits (not shown) for driving the various actuators 10-13, 17-20 described above. Here, the driver circuit is an electrical component having the following functions. In order to make the actuators 10-13, 17-20 perform the desired operation, it is necessary to supply the actuators 10-13, 17-20 with a drive current of an appropriate waveform. However, the drive current to be supplied to the actuators 10-13, 17-20 differs depending on the drive method of the actuators 10-13, 17-20, and even if the actuators are of the same method, the current value of the drive current differs depending on the actuator. Therefore, a dedicated electrical component called a driver circuit is prepared for the actuators 10-13, 17-20, and when the drive amount is specified for the driver circuit, the driver circuit outputs an appropriate drive current to the actuators 10-13, 17-20, and as a result, the actuators 10-13, 17-20 are driven.

更に、図1に示されるように、2本のレール2の下方の空間にも各種の機械部品が搭載されているが、この空間は、加工ユニット4内に搭載された複数のドライバ回路(図示は省略)から、搬送ユニット3内の各種のアクチュエータ10~13に向かって駆動電流を供給する電気ケーブル(図示は省略)や、搬送ユニット3に搭載された各種のセンサー類からの信号を、加工ユニット4に伝達するための信号ケーブル(図示は省略)などが配線される空間となっている。レール2上で搬送ユニット3が進退動する動きに伴って、これらの電気ケーブルや信号ケーブルが空間内で移動すると、互いに絡まったり、何かに引っ掛かったりする虞が生じる。そこで、こうした事態が発生することを避けるため、レール2の下方の空間には、電気ケーブルや信号ケーブルに不要な遊びがある場合はケーブルを手繰ることによって不要な遊びを解消し、電気ケーブルや信号ケーブルが引っ張られる場合は、手繰ったケーブルを送り出すことによって、ケーブルに適度な遊びを持たせるためのアクチュエータ14~16も搭載されている。本実施例の自動製造機械1では、アクチュエータ14~16としてエアシリンダが採用されており、これらのエアシリンダの動作も、図示しないドライバ回路によって制御されている。 Furthermore, as shown in FIG. 1, various mechanical parts are also mounted in the space below the two rails 2, and this space is used for wiring electric cables (not shown) that supply drive current from multiple driver circuits (not shown) mounted in the processing unit 4 to various actuators 10-13 in the transport unit 3, and signal cables (not shown) that transmit signals from various sensors mounted in the transport unit 3 to the processing unit 4. When these electric cables and signal cables move in the space as the transport unit 3 moves forward and backward on the rail 2, there is a risk that they may become tangled or caught on something. Therefore, in order to prevent such a situation from occurring, actuators 14-16 are also mounted in the space below the rail 2 to eliminate unnecessary play in the electric cables and signal cables by pulling the cables, and to give the cables an appropriate amount of play by sending out the pulled cables when the electric cables and signal cables are pulled. In this embodiment of the automated manufacturing machine 1, air cylinders are used as the actuators 14 to 16, and the operation of these air cylinders is also controlled by a driver circuit (not shown).

以上に説明したように、自動製造機械1には多数のアクチュエータ10~20が搭載されている。そして、加工しようとする対象物(ここではパイプ材)を目的とする形状に自動で加工するためには、これらのアクチュエータ10~20を適切なタイミングで、適切に動作させる必要がある。これらのアクチュエータ10~20を駆動するのは、それぞれのアクチュエータ10~20のドライバ回路であるが、ドライバ回路がそれぞれのアクチュエータ10~20を駆動する動作は、後述する自動製造機械制御装置100が、予め読み込んでおいた制御プログラムに従って制御している。 As explained above, the automated manufacturing machine 1 is equipped with a large number of actuators 10-20. In order to automatically process the object to be processed (here, a pipe material) into the desired shape, these actuators 10-20 must be operated appropriately at the appropriate timing. These actuators 10-20 are driven by their respective driver circuits, but the operation of the driver circuits to drive the actuators 10-20 is controlled by the automated manufacturing machine control device 100, which will be described later, according to a control program that has been loaded in advance.

図2は、本実施例の自動製造機械制御装置100が、自動製造機械1に搭載されたアクチュエータ10~20の動作を制御する様子を概念的に示したブロック図である。尚、図2においても、制御に必要なセンサー類については図示が省略されている。図示されるように、自動製造機械制御装置100とアクチュエータ10との間には、アクチュエータ10の駆動用のドライバ回路10dが設けられており、自動製造機械制御装置100は、直接的にはドライバ回路10dを制御している。アクチュエータ11~20についても同様に、自動製造機械制御装置100とアクチュエータ11~20との間には、アクチュエータ11~20を駆動するためのドライバ回路11d~20dが設けられている。このように、自動製造機械制御装置100は、ドライバ回路10d~20dを介して、間接的にアクチュエータ10~20を制御する。 Figure 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. In addition, in Figure 2, sensors necessary for control are also omitted. As shown in the figure, 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 controls the driver circuit 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. In this way, the automatic manufacturing machine control device 100 indirectly controls the actuators 10 to 20 via the driver circuits 10d to 20d.

また、図1を用いて前述したように、本実施例の自動製造機械1では、アクチュエータ10~13、17~20にサーボモータが採用されており、アクチュエータ14~16にはエアシリンダが採用されている。ここで、サーボモータとは、サーボ制御されたモータのことであり、位置(あるいは角度や、速度など)が目標値となるように、モータに流れる電流値をフィードバック制御することによって駆動されるモータである。また、エアシリンダとは、空気圧を利用して可動部を直線移動させるアクチュエータであり、圧縮空気の供給源に接続されたポートを開閉することによって動作するようになっている。また、ポートの開閉にはシーケンス制御が用いられている。 As described above with reference to FIG. 1, in the automated manufacturing machine 1 of this embodiment, servo motors are used for actuators 10-13 and 17-20, and air cylinders are used for actuators 14-16. Here, a servo motor is a servo-controlled motor that is driven by feedback control of the current flowing through the motor so that the position (or angle, speed, etc.) becomes a target value. An air cylinder is an actuator that uses air pressure to move a movable part linearly, and is operated by opening and closing a port connected to a compressed air supply source. Sequence control is used to open and close the port.

このように本実施例の自動製造機械制御装置100には、サーボ制御されるアクチュエータ10~13、17~20と、シーケンス制御されるアクチュエータ14~16とが接続されている。図中で、自動製造機械制御装置100とアクチュエータ10~13、17~20とが実線で結ばれているのは、これらのアクチュエータ10~13、17~20がサーボ制御されていることを表している。また、自動製造機械制御装置100とアクチュエータ14~16とが破線で結ばれているのは、これらのアクチュエータ14~16がシーケンス制御されることを表している。もちろん、サーボ制御やシーケンス制御以外の方式で制御されるアクチュエータを接続することも可能である。 In this way, actuators 10-13 and 17-20 that are servo-controlled and actuators 14-16 that are sequence-controlled are connected to the automatic manufacturing machine control device 100 of this embodiment. In the figure, solid lines connect the automatic manufacturing machine control device 100 to actuators 10-13 and 17-20, indicating that these actuators 10-13 and 17-20 are servo-controlled. Also, dashed lines connect the automatic manufacturing machine control device 100 to actuators 14-16, indicating that these actuators 14-16 are sequence-controlled. Of course, it is also possible to connect actuators that are controlled by methods other than servo control or sequence control.

自動製造機械制御装置100は制御プログラムに従って、ドライバ回路10d~20dを介してアクチュエータ10~20を制御しており、その制御プログラムは、予め作成して自動製造機械制御装置100に読み込ませておく必要がある。ここで、図2に示したように多数のアクチュエータ10~20を、適切なタイミングで適切に動作させるための制御プログラムを作成するのは容易なことではない。特に、サーボ制御やシーケンス制御のように、異なる制御方式のアクチュエータが混在している場合は、制御プログラムの作成に長い期間が必要となる。このため、新たな自動製造機械1の開発期間の中で、半分以上の期間は制御プログラムの作成に費やされてしまうのが現状となっている。 The automatic manufacturing machine control device 100 controls the actuators 10-20 via the driver circuits 10d-20d according to a control program, and the control program must be created in advance and loaded into the automatic manufacturing machine control device 100. It is not easy to create a control program to operate a large number of actuators 10-20 at the appropriate timing, as shown in Figure 2. In particular, when actuators with different control methods, such as servo control and sequence control, are mixed, creating the control program takes a long time. For this reason, the current situation is that more than half of the development time for a new automatic manufacturing machine 1 is spent on creating the control program.

そこで、本願の出願人らは、自動製造機械1の動作を特殊な動作チャート(YOGOチャート)に記述することで、自動製造機械1の制御プログラムを自動で生成する技術を開発した。YOGOチャートは、自動製造機械1の動作を理解していれば簡単に作成することが可能であり、YOGOチャートを作成しておけば自動で制御プログラムを生成することができるので、新たな自動製造機械1の開発期間を半分以下に短縮することが可能となる。 The applicants of the present application have therefore developed a technology that automatically generates a control program for the automatic manufacturing machine 1 by describing the operation of the automatic manufacturing machine 1 in a special operation chart (YOGO chart). The YOGO chart can be easily created if you understand the operation of the automatic manufacturing machine 1, and once a YOGO chart has been created, the control program can be automatically generated, making it possible to reduce the development time for a new automatic manufacturing machine 1 by more than half.

B.YOGOチャート :
B-1.YOGOチャートから制御プログラムを自動で生成する原理 :
YOGOチャートについて説明する準備として、YOGOチャートから自動製造機械1の制御プログラムを自動で生成する原理について説明しておく。図3(a)には、各種の改良を施す前の原始的なYOGOチャートが示されている。後述する本実施例のYOGOチャートは、図3(a)に示した原始的なYOGOチャートを発展させて改良したものとなっているが、制御プログラムを自動で生成する原理は原始的なYOGOチャートと同じである。そこで、理解を容易とするために、図3(a)に示した原始的なYOGOチャートを用いて、制御プログラムを自動で生成する原理について説明する。
B. YOGO Chart:
B-1. Principle of automatically generating a control program from a YOGO chart:
As a preparation for explaining the YOGO chart, the principle of automatically generating a control program for the automatic manufacturing machine 1 from the YOGO chart will be explained. Fig. 3(a) shows a primitive YOGO chart before various improvements are made. The YOGO chart of the present embodiment, which will be described later, is an improved version of the primitive YOGO chart shown in Fig. 3(a), but the principle of automatically generating a control program is the same as that of the primitive YOGO chart. Therefore, to facilitate understanding, the principle of automatically generating a control program will be explained using the primitive YOGO chart shown in Fig. 3(a).

YOGOチャートでは、自動製造機械1に搭載されたアクチュエータの基本的な動作を組み合わせることによって、自動製造機械1の動作を表現する。ここで、アクチュエータの基本的な動作とは、アクチュエータが有する自由度方向への動作(以下、基本動作)のことである。例えば、モータのような回転するアクチュエータであれば、回転動作が基本動作となり、シリンダのような進退動するアクチュエータであれば、進退動する動作が基本動作となる。また、モータによってボールねじを回転させることによって、ボールねじに噛み合う部材を進退動させるようなアクチュエータの場合は、モータの回転動作、あるいは部材が進退動する動作の何れかが基本動作となる。 In the YOGO chart, the operation of the automated manufacturing machine 1 is expressed by combining the basic operations of the actuators mounted on the automated manufacturing machine 1. Here, the basic operation of the actuator refers to the operation in the direction of the degree of freedom that the actuator has (hereinafter referred to as the basic operation). For example, for a rotating actuator such as a motor, the basic operation is the rotational operation, and for an actuator that moves forward and backward such as a cylinder, the basic operation is the forward and backward movement. Also, for an actuator that moves a member that meshes with the ball screw forward and backward by rotating the ball screw with a motor, the basic operation is either the rotational operation of the motor or the forward and backward movement of the member.

また、YOGOチャートでは、自動製造機械1が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、個々のアクチュエータの基本動作は、これらの部分期間の何れかに割り当てられている。図3(a)に示した例では、自動製造機械1が動作を開始した最初の部分期間1には、act1という基本動作が割り当てられている。図3(a)に示した原始的なYOGOチャートでいう基本動作とは、動作するアクチュエータと動作の内容とを表している。従って、部分期間1にactという基本動作を割り当てるということは、自動製造機械1が動作を開始すると、まず初めに動作するアクチュエータと、動作の内容とを指定していることになる。 In addition, in a YOGO chart, the operating period from when the automatic manufacturing machine 1 starts to operate until it finishes is divided into multiple partial periods, and the basic operation of each actuator is assigned to one of these partial periods. In the example shown in FIG. 3(a), a basic operation called act1 is assigned to the first partial period 1 in which the automatic manufacturing machine 1 starts to operate. A basic operation in the primitive YOGO chart shown in FIG. 3(a) represents the actuator that operates and the details of the operation. Therefore, assigning a basic operation called act to partial period 1 means that the actuator that operates first when the automatic manufacturing machine 1 starts to operate and the details of the operation are specified.

部分期間1の次の部分期間2には、act2,act3,act4の3つの基本動作が割り当てられている。上述したように原始的なYOGOチャートでいう基本動作とは、動作するアクチュエータと動作の内容とを表しているから、部分期間2に3つの基本動作が割り当てられているということは、自動製造機械1の動作開始後、最初に動作するアクチュエータの動作が終了したら、指定された3つのアクチュエータが、それぞれに指定された動作を開始することを表している。その次の部分期間3には、act5,act6の2つの基本動作が割り当てられている。このことは、部分期間2に割り当てられた3つのアクチュエータの動作が終了したら、部分期間3に割り当てられた2つのアクチュエータが指定された動作を開始することを表している。次の部分期間4には、act7の基本動作が割り当てられており、その次の部分期間5には、act8,act9の2つの基本動作が割り当てられている。このように、部分期間に基本動作を割り当てることによって、自動製造機械1が実行する一連の動作を記述することができる。尚、以上の説明から明らかなように、部分期間は、割り当てられたアクチュエータが動作する期間を示しており、時間の長さを示しているわけではない。それぞれの部分期間の時間の長さは、互いに異なっていることが通常である。 Three basic operations, act2, act3, and act4, are assigned to the sub-period 2 following the sub-period 1. As described above, the basic operations in the primitive YOGO chart represent the actuators that operate and the content of the operations, so the fact that three basic operations are assigned to the sub-period 2 indicates that when the operation of the first actuator that operates after the automatic manufacturing machine 1 starts operating is completed, the three designated actuators will start their designated operations. The next sub-period 3 is assigned two basic operations, act5 and act6. This indicates that when the operation of the three actuators assigned to the sub-period 2 is completed, the two actuators assigned to the sub-period 3 will start their designated operations. The next sub-period 4 is assigned the basic operation, act7, and the next sub-period 5 is assigned two basic operations, act8 and act9. In this way, by assigning basic operations to the sub-periods, a series of operations performed by the automatic manufacturing machine 1 can be described. As is clear from the above explanation, a partial period indicates the period during which the assigned actuator operates, and does not indicate the length of time. The length of time of each partial period is usually different from each other.

また、部分期間に割り当てられるアクチュエータの基本動作は、例えばモータを一定量だけ回転させたり、あるいはシリンダを一定量だけ進退動させたりするといった単純な動作である。従って、アクチュエータに基本動作させるための小さなプログラム(プログラム要素)を予め作成しておくことができる。例えば、部分期間1に割り当てられたact1という基本動作については、動作するアクチュエータおよび動作の内容が指定されているから、基本動作を実現するためのプログラム要素prog1を作成しておくことができる。同様に、act2~act9という基本動作についても、プログラム要素prog2~prog9を作成しておくことができる。 The basic operations of the actuators assigned to the partial periods are simple operations such as rotating a motor a fixed amount or moving a cylinder forward and backward a fixed amount. Therefore, small programs (program elements) for making the actuators perform basic operations can be created in advance. For example, for the basic operation act1 assigned to partial period 1, the actuator to be operated and the details of the operation are specified, so the program element prog1 can be created to realize the basic operation. Similarly, for the basic operations act2 to act9, program elements prog2 to prog9 can be created in advance.

そこで、これらのプログラム要素を、図3(a)に示した原始的なYOGOチャートに記述された通りに連結してやれば、自動製造機械1を動作させるための制御プログラムを自動で生成することが可能となる。すなわち、図3(b)に示したように、初めにプログラム要素prog1を起動させ、プログラム要素prog1が終了したらプログラム要素prog2~prog4を起動させ、プログラム要素prog2~prog4が全て終了したら、プログラム要素prog5およびプログラム要素prog6を起動させる。プログラム要素prog5およびprog6が終了したら、プログラム要素prog7を起動させ、プログラム要素prog7が終了したら、プログラム要素prog8およびプログラム要素prog9を起動させる。このように、あらかじめ作成しておいたプログラム要素を、YOGOチャートに記載された通りに結合していけば、自動製造機械1の動作を制御する制御プログラムを作成することができる。 If these program elements are linked as described in the primitive YOGO chart shown in FIG. 3(a), it becomes possible to automatically generate a control program for operating the automatic manufacturing machine 1. That is, as shown in FIG. 3(b), program element prog1 is started first, and when program element prog1 is finished, program elements prog2 to prog4 are started, and when program elements prog2 to prog4 are all finished, program elements prog5 and program element prog6 are started. When program elements prog5 and prog6 are finished, program element prog7 is started, and when program element prog7 is finished, program elements prog8 and program element prog9 are started. In this way, by linking the program elements created in advance as described in the YOGO chart, it is possible to create a control program for controlling the operation of the automatic manufacturing machine 1.

以上、YOGOチャートから自動製造機械1の制御プログラムを自動で生成する原理について説明した。自動製造機械1の動作をYOGOチャートに記述しておけば、自動製造機械1の制御プログラムを自動で生成することができる。もっとも、自動製造機械1が正しく動作する制御プログラムを生成するためには、YOGOチャートが正しく作成されている必要がある。以下に説明する本実施例のYOGOチャートは、こうした観点から、図3(a)に例示した原始的なYOGOチャートに対して様々な改良を加えた結果として得られたものである。 The above describes the principle of automatically generating a control program for the automatic manufacturing machine 1 from a YOGO chart. If the operation of the automatic manufacturing machine 1 is described in a YOGO chart, the control program for the automatic manufacturing machine 1 can be automatically generated. However, in order to generate a control program that ensures the automatic manufacturing machine 1 operates correctly, the YOGO chart must be created correctly. From this perspective, the YOGO chart of this embodiment described below was obtained as a result of making various improvements to the primitive YOGO chart shown in FIG. 3(a).

B-2.YOGOチャートの概要 :
図4は、本実施例のYOGOチャート200の概要を説明するための説明図である。尚、YOGOチャート200の全体を表示するために縮尺すると、潰れて判読不能となってしまうので、図4ではYOGOチャート200の一部分(左上隅の部分)が表示されている。図4に示されるように、YOGOチャート200は、複数本の横線と複数本の縦線とが交差した大きな表のような形状となっている。以下では、交差する複数本の線の内、横線については「仕切線」201と称し、縦線については「トリガー線」202と称することにする。
B-2. Overview of YOGO Chart:
Fig. 4 is an explanatory diagram for explaining an overview of the YOGO chart 200 of this embodiment. Note that if the entire YOGO chart 200 is scaled down to display, it will be crushed and unreadable, so Fig. 4 shows only a portion of the YOGO chart 200 (the upper left corner). As shown in Fig. 4, the YOGO chart 200 is shaped like a large table with multiple horizontal lines and multiple vertical lines intersecting. Hereinafter, of the multiple intersecting lines, the horizontal lines will be referred to as "partition lines" 201, and the vertical lines will be referred to as "trigger lines" 202.

トリガー線202には、1番から始まる通し番号が付けられている。図4に示した例では、YOGOチャート200の上端の欄内に、その下のトリガー線202の通し番号が記載されている。また、互いに隣接するトリガー線202の間の領域は、図3を用いて前述した部分期間となっており、部分期間にも1番から始まる通し番号(以下、部分期間番号と称する)が付けられている。尚、図4に例示したYOGOチャート200では、トリガー線202が縦方向に引かれており、従って、トリガー線202とトリガー線202とに挟まれた部分期間は横方向に並んでいる。しかし、トリガー線202は横方向に引いても良く、この場合は、複数の部分期間が縦方向に並ぶことになる。 The trigger lines 202 are numbered consecutively starting from 1. In the example shown in FIG. 4, the consecutive numbers of the trigger lines 202 below are written in the top column of the YOGO chart 200. The areas between adjacent trigger lines 202 are the partial periods described above with reference to FIG. 3, and the partial periods are also numbered consecutively starting from 1 (hereinafter referred to as partial period numbers). In the YOGO chart 200 shown in FIG. 4, the trigger lines 202 are drawn vertically, and therefore the partial periods between the trigger lines 202 are lined up horizontally. However, the trigger lines 202 may also be drawn horizontally, in which case multiple partial periods will be lined up vertically.

また、本実施例のYOGOチャート200は、複数の仕切線201によって複数の横長の領域に分割されており、これらの横長の領域には1番から始まる通し番号(以下、アクチュエータ番号と称する)が付けられている。自動製造機械1に搭載されたアクチュエータは、何れかの領域に割り当てられている。図4に示した例では、アクチュエータ番号が1番の領域には、アクチュエータ10(図1参照)が割り当てられており、アクチュエータ番号が2番の領域にはアクチュエータ11(図1参照)が割り当てられ、アクチュエータ番号が3番の領域にはアクチュエータ12(図1参照)が、アクチュエータ番号が4番の領域にはアクチュエータ13(図1参照)が割り当てられている。本実施例の自動製造機械1にはアクチュエータ10~20の11個のアクチュエータが搭載されているから、これらすべてのアクチュエータについて、このように横長の領域が1つずつ割り当てられることになる。 The YOGO chart 200 of this embodiment is divided into a number of horizontally long regions by a number of dividing lines 201, and these horizontally long regions are assigned consecutive numbers (hereinafter referred to as actuator numbers) starting from number 1. The actuators mounted on the automatic manufacturing machine 1 are assigned to one of the regions. In the example shown in FIG. 4, actuator 10 (see FIG. 1) is assigned to the region with actuator number 1, actuator 11 (see FIG. 1) is assigned to the region with actuator number 2, actuator 12 (see FIG. 1) is assigned to the region with actuator number 3, and actuator 13 (see FIG. 1) is assigned to the region with actuator number 4. The automatic manufacturing machine 1 of this embodiment is equipped with eleven actuators, actuators 10 to 20, so each of these actuators is assigned one horizontally long region in this manner.

そして、アクチュエータ10~20の基本動作は、そのアクチュエータ10~20が割り当てられた領域上に記載されるようになっている。例えば、アクチュエータ10を部分期間4で基本動作させるのであれば、YOGOチャート200上で、アクチュエータ番号が1番、部分期間番号が4番で特定されるマス目状の座標位置に、アクチュエータ10にさせたい基本動作を記載する。また、部分期間4と部分期間8とでアクチュエータ10に基本動作させるのであれば、アクチュエータ番号が1番で部分期間番号が4番のマス目状の座標位置と、アクチュエータ番号が1番で部分期間番号が8番の座標位置とに、アクチュエータ10にさせたい基本動作を記載することになる。このように、アクチュエータ10の基本動作は、YOGOチャート200上でアクチュエータ番号が1番の横長の領域上に記載され、アクチュエータ11の基本動作は、アクチュエータ番号が2番の横長の領域上に記載されるというように、アクチュエータ10~20の基本動作は、YOGOチャート200上でそのアクチュエータ10~20が割り当てられた領域上に記載されるようになっている。 The basic operations of actuators 10-20 are written in the areas to which actuators 10-20 are assigned. For example, if actuator 10 is to perform its basic operation in partial period 4, the basic operation to be performed by actuator 10 is written in the grid coordinate position specified by actuator number 1 and partial period number 4 on YOGO chart 200. Also, if actuator 10 is to perform its basic operation in partial periods 4 and 8, the basic operation to be performed by actuator 10 is written in the grid coordinate position specified by actuator number 1 and partial period number 4, and in the coordinate position specified by actuator number 1 and partial period number 8. In this way, the basic operation of actuator 10 is written in the horizontal area on YOGO chart 200 with actuator number 1, the basic operation of actuator 11 is written in the horizontal area with actuator number 2, and so on. The basic operations of actuators 10-20 are written in the areas on YOGO chart 200 to which actuators 10-20 are assigned.

また、本実施例のYOGOチャート200では、次のようにして基本動作を記述する。一例として、図4のYOGOチャート200で最初に動作するアクチュエータ13の基本動作について説明する。動作するアクチュエータはアクチュエータ13であり、且つ、最初に動作するのであるから、YOGOチャート200上で基本動作が記載される位置は、アクチュエータ番号が4番で、部分期間番号が1番のマス目状の座標位置となる。部分期間番号が1番のマス目は、1番のトリガー線202と、2番のトリガー線202とに挟まれているから、左側に存在する1番のトリガー線202から、右側に存在する2番のトリガー線202に向かって、アクチュエータの動作を示す動作線203を記載する。そして、動作線203の左端(従って1番のトリガー線202上)には動作の開始を示す始点204を記載し、動作線203の右端(従って2番のトリガー線202上)には動作の終了を示す終点205を記載する。図4に示した例では、動作線203は太い実線で示されており、始点204は白抜きの丸印で示されて、終点205は黒い丸印で示されている。 In addition, in the YOGO chart 200 of this embodiment, the basic operation is described as follows. As an example, the basic operation of actuator 13, which operates first, will be described in the YOGO chart 200 of FIG. 4. Since the actuator that operates is actuator 13, and since it operates first, the position on the YOGO chart 200 where the basic operation is described is the coordinate position of the square with actuator number 4 and partial period number 1. Since the square with partial period number 1 is sandwiched between trigger line 202 number 1 and trigger line 202 number 2, an operation line 203 indicating the operation of the actuator is described from trigger line 202 number 1 on the left side to trigger line 202 number 2 on the right side. Then, a starting point 204 indicating the start of the movement is drawn at the left end of the movement line 203 (therefore on the first trigger line 202), and an end point 205 indicating the end of the movement is drawn at the right end of the movement line 203 (therefore on the second trigger line 202). In the example shown in FIG. 4, the movement line 203 is shown as a thick solid line, the starting point 204 is shown as a white circle, and the end point 205 is shown as a black circle.

更に、動作線203の上には、アクチュエータにさせようとする基本動作を記載する。ここで、本実施例のYOGOチャート200では、基本動作を「動作記述」と「数値テーブル」の2つの要素を用いて記載する。図4に示した例では、アクチュエータ番号が4番で、部分期間番号が1番の動作線203の上には、「Ω-AC」と「AC-B11」という2つの表示が記載されているが、「Ω-AC」という表示が動作記述206aであり、「AC-B11」という表示が数値テーブル206bである。そして、動作記述206aと数値テーブル206bとによって一つの基本動作206を表している。ここで、動作記述206aとは、大まかにいうと、基本動作206の定性的な内容(例えば、前進、後退、回転など)を記述した表示である。また、数値テーブル206bとは、大まかにいうと、基本動作206の定量的な内容(例えば、移動量や、速度や、トルクなど)を示す数値が設定されたテーブルである。動作記述206aおよび数値テーブル206bの詳細については後述する。 Furthermore, the basic operation to be performed by the actuator is described above the operation line 203. In the YOGO chart 200 of this embodiment, the basic operation is described using two elements, an "operation description" and a "numerical value table". In the example shown in FIG. 4, two indications, "Ω-AC" and "AC-B11", are described above the operation line 203 for the actuator number 4 and the partial period number 1. The indication "Ω-AC" is the operation description 206a, and the indication "AC-B11" is the numerical value table 206b. The operation description 206a and the numerical value table 206b represent one basic operation 206. Here, the operation description 206a is, roughly speaking, an indication that describes the qualitative content of the basic operation 206 (for example, forward, backward, rotation, etc.). The numerical value table 206b is, roughly speaking, a table in which numerical values indicating the quantitative content of the basic operation 206 (for example, the amount of movement, speed, torque, etc.) are set. Details of the behavior description 206a and the numerical value table 206b will be described later.

従って、図4のYOGOチャート200上で、アクチュエータ番号が4番、部分期間番号が1番の座標位置に記載された「Ω-AC」、「AC-B01」という表示は、以下のような内容、すなわち、アクチュエータ番号が4番のアクチュエータ(図4の例ではアクチュエータ13)を、部分期間番号が1番のタイミングで、「Ω-AC」という動作記述206aに従って基本動作させ、且つ、基本動作させる際に使用する具体的な数値は、「AC-B01」という数値テーブル206bに設定された数値を用いることを表している。 Therefore, on the YOGO chart 200 in Figure 4, the indications "Ω-AC" and "AC-B01" written at the coordinate position of actuator number 4 and partial period number 1 represent the following: the actuator with actuator number 4 (actuator 13 in the example in Figure 4) will be operated in a basic manner according to the operation description 206a "Ω-AC" at the timing of partial period number 1, and the specific numerical values used in the basic operation will be the numerical values set in the numerical value table 206b "AC-B01".

また、図4のYOGOチャート200に示されるように、アクチュエータ10に対しては「Ω-AA」という動作記述206aが記載されているが、アクチュエータ11に対しては「Ω-AB」という動作記述206aが記載されている。この理由は、図1を用いて前述したように、アクチュエータ10はチャック3bを開閉させるためのアクチュエータであり、アクチュエータ11は把持軸3aを軸回りに回転させるためのアクチュエータであるためである。アクチュエータ10の基本動作206の動作記述206aは「開閉動作」となり、アクチュエータ11の基本動作206の動作記述206aは「回転動作」となるため、アクチュエータ10とアクチュエータ11とでは、異なる動作記述206aが使用される。同様な理由から、アクチュエータ11とアクチュエータ12とも、異なる動作記述206aが使用される。 As shown in the YOGO chart 200 in FIG. 4, the action description 206a "Ω-AA" is written for the actuator 10, but the action description 206a "Ω-AB" is written for the actuator 11. The reason for this is that, as described above with reference to FIG. 1, the actuator 10 is an actuator for opening and closing the chuck 3b, and the actuator 11 is an actuator for rotating the gripping shaft 3a around its axis. The action description 206a of the basic action 206 of the actuator 10 is an "opening and closing action", and the action description 206a of the basic action 206 of the actuator 11 is a "rotation action", so different action descriptions 206a are used for the actuators 10 and 11. For the same reason, different action descriptions 206a are used for the actuators 11 and 12.

これに対して、アクチュエータ12およびアクチュエータ13は「Ω-AC」という同じ動作記述206aが使用される。図1を用いて前述したように、アクチュエータ12は把持軸3aを軸方向に進退動させるためのアクチュエータであり、アクチュエータ13は搬送ユニット3の全体を進退動させるためのアクチュエータであって、移動させる対象物の大きさや重量や移動量などは大きく異なるが、対象物を進退動させる点では同じである。このため、アクチュエータ12およびアクチュエータ13は、同じ動作記述206aを使用することができる。また、アクチュエータ17は加工ユニット4の全体を上下動させるためのアクチュエータであるが、上下動は進退動の一種と考えることができるから、アクチュエータ17も、アクチュエータ12やアクチュエータ13と同じく「Ω-AC」という動作記述206aを使用することができる。更に、アクチュエータ14~16は、何れもエアシリンダを進退動させるアクチュエータであるから、これらは何れも「Ω-CA」という動作記述206aが使用されている。 On the other hand, the actuators 12 and 13 use the same operation description 206a called "Ω-AC". As described above with reference to FIG. 1, the actuator 12 is an actuator for moving the gripping shaft 3a forward and backward in the axial direction, and the actuator 13 is an actuator for moving the entire transport unit 3 forward and backward. Although the size, weight, and amount of movement of the object to be moved are significantly different, they are the same in that they move the object forward and backward. Therefore, the actuators 12 and 13 can use the same operation description 206a. Furthermore, the actuator 17 is an actuator for moving the entire processing unit 4 up and down, but since up and down movement can be considered as a type of forward and backward movement, the actuator 17 can also use the operation description 206a called "Ω-AC" like the actuators 12 and 13. Furthermore, since the actuators 14 to 16 are all actuators for moving an air cylinder forward and backward, the operation description 206a called "Ω-CA" is used for all of them.

このように、本実施例のYOGOチャート200では、アクチュエータの基本動作206を、原則として、動作記述206aと数値テーブル206bとを用いて記述する。こうすれば、多くのアクチュエータについて、動作記述206aを共通化することが可能となる。図1に示したように、本実施例の自動製造機械1にはアクチュエータ10~20の11個のアクチュエータが搭載されているが、YOGOチャート200で用いられる動作記述206aは4種類となっている。 In this way, in the YOGO chart 200 of this embodiment, the basic operation 206 of the actuator is described, in principle, using the operation description 206a and the numerical value table 206b. In this way, it is possible to standardize the operation description 206a for many actuators. As shown in FIG. 1, the automated manufacturing machine 1 of this embodiment is equipped with eleven actuators, actuators 10 to 20, but the YOGO chart 200 uses four types of operation descriptions 206a.

B-3.動作記述 :
図5は、本実施例のYOGOチャート200で用いられる動作記述206aの詳細についての説明図である。「Ω-AA」という動作記述206aは、アクチュエータに開閉動作させることを表す動作記述206aであり、この動作記述206aはACサーボモータにチャック機構を組み合わせたアクチュエータを想定している。逆に言えば、ACサーボモータにチャック機構を組み合わせたアクチュエータでない場合は、たとえ、そのアクチュエータの動作が開閉動作である場合でも、「Ω-AA」という動作記述206aを使用することはできない。
B-3. Operation description:
5 is an explanatory diagram of details of the behavioral description 206a used in the YOGO chart 200 of this embodiment. The behavioral description 206a "Ω-AA" is a behavioral description 206a that expresses opening and closing operations of the actuator, and this behavioral description 206a assumes an actuator that combines an AC servo motor with a chuck mechanism. Conversely, if the actuator is not an actuator that combines an AC servo motor with a chuck mechanism, the behavioral description 206a "Ω-AA" cannot be used even if the operation of the actuator is an opening and closing operation.

また、「Ω-AA」という動作記述206aは、ACサーボモータにチャック機構を組み合わせたアクチュエータに開閉動作させるという単純な動作内容を記述したものであるから、その動作内容を実現するための小さなプログラム(すなわち、プログラム要素)を予め作成しておくことができる。このことから、動作記述206aには、その動作内容を実現させるプログラム要素を特定するための通し番号(以下、プログラム要素番号)が対応付けて記憶されている。尚、同じように開閉動作するアクチュエータであっても、ACサーボモータにチャック機構を組み合わせたアクチュエータでない場合は、「Ω-AA」という動作記述206aを使用することができない理由は、動作記述206aにプログラム要素番号が対応付けて記憶されるからである。すなわち、アクチュエータの構造が異なれば、アクチュエータを動作させるためのプログラム要素は異なると考えられるので、対応付けられるプログラム要素が異なる以上、動作記述206aも異ならせておく必要があるためである。 The operation description 206a "Ω-AA" describes a simple operation to open and close an actuator that combines an AC servo motor with a chuck mechanism, so a small program (i.e., program element) for implementing the operation can be created in advance. For this reason, a serial number (hereinafter, program element number) for identifying the program element that implements the operation is associated and stored in the operation description 206a. Note that even if an actuator performs the same opening and closing operation, if it is not an actuator that combines an AC servo motor with a chuck mechanism, the operation description 206a "Ω-AA" cannot be used because the program element number is associated and stored in the operation description 206a. In other words, if the structure of the actuator is different, it is considered that the program element for operating the actuator will be different, and since the associated program elements are different, the operation description 206a must also be different.

また、図5に示すように、「Ω-AB」という動作記述206aは、ACサーボモータに減速機構を組み合わせたアクチュエータを想定して、そのアクチュエータに回転動作させることを表す動作記述206aであり、プログラム要素番号は7番が対応付けて記憶されている。同様に、「Ω-AC」という動作記述206aは、ACサーボモータにボールねじ機構を組み合わせたアクチュエータを想定して、そのアクチュエータに進退動作させることを表す動作記述206aであり、プログラム要素番号は4番が対応付けて記憶されている。更に、「Ω-CA」という動作記述206aは、エアシリンダによるアクチュエータを想定して、そのアクチュエータに進退動作させることを表す動作記述206aであり、プログラム要素番号は2番が対応付けて記憶されている。 As shown in FIG. 5, the behavioral description 206a "Ω-AB" is a behavioral description 206a that represents an actuator that combines an AC servo motor with a reduction mechanism and that rotates the actuator, and is associated with and stored as the program element number 7. Similarly, the behavioral description 206a "Ω-AC" is a behavioral description 206a that represents an actuator that combines an AC servo motor with a ball screw mechanism and that moves the actuator forward and backward, and is associated with and stored as the program element number 4. Furthermore, the behavioral description 206a "Ω-CA" is a behavioral description 206a that represents an actuator that combines an air cylinder and that moves the actuator forward and backward, and is associated with and stored as the program element number 2.

B-4.数値テーブル :
また、動作記述206aは、開閉動作や、回転動作、進退動作などのように、動作の内容を定性的に記述したものに過ぎず、動作量についての情報は含まれていない。このため動作記述206aは、原則として数値テーブル206bと組み合わせて使用される。例えば、図4に示したYOGOチャート200では、アクチュエータ番号が1番のアクチュエータ10に対して用いられる動作記述206aは「Ω-AA」であるが、部分期間番号が4番のタイミングでは「AA-B01」という数値テーブル206bが使用され、部分期間番号が6番のタイミングでは「AA-B02」という数値テーブル206bが、部分期間番号が10番のタイミングでは「AA-B01」という数値テーブル206bが使用されている。ここで、「AA-B01」という名称は、「Ω-AA」という動作記述206aと組み合わせて使用される「B01」という数値テーブル206bであることを表している。同様に、「AA-B02」という名称は、「Ω-AA」という動作記述206aと組み合わせて使用される「B02」という数値テーブル206bであることを表している。
B-4. Numerical table:
Moreover, the behavioral description 206a merely qualitatively describes the contents of the behavior, such as an opening/closing behavior, a rotating behavior, or a forward/backward behavior, and does not include information about the amount of behavior. For this reason, the behavioral description 206a is used in principle in combination with a numerical table 206b. For example, in the YOGO chart 200 shown in FIG. 4, the behavioral description 206a used for the actuator 10 having the actuator number 1 is "Ω-AA", but the numerical table 206b "AA-B01" is used at the timing of the partial period number 4, the numerical table 206b "AA-B02" is used at the timing of the partial period number 6, and the numerical table 206b "AA-B01" is used at the timing of the partial period number 10. Here, the name "AA-B01" indicates that the numerical table 206b "B01" is used in combination with the behavioral description 206a "Ω-AA". Similarly, the name "AA-B02" indicates that the numerical value table 206b is "B02" that is used in combination with the behavior description 206a "Ω-AA."

図6は「Ω-AA」という動作記述206aと組み合わせて使用される数値テーブル206bを例示した説明図である。図6(a)には「AA-B01」という数値テーブル206bが示されており、図6(b)には「AA-B02」という数値テーブル206bが示されている。尚、図6では2つの数値テーブル206bが例示されているが、必要に応じてより多くの数値テーブル206bを設定することができる。図6に例示した数値テーブル206bには、「数値テーブル番号」、「開閉速度」、「開閉荷重」、「参照テーブル」の4つの項目が設定されている。このうちの「数値テーブル番号」は数値テーブル206bの通し番号である。例えば、数値テーブル番号を5番と指定すると、図6(a)の「AA-B01」という数値テーブル206bが特定され、数値テーブル番号を6番と指定すると、図6(b)の「AA-B02」という数値テーブル206bが特定されるようになっている。「参照テーブル」については後ほど説明する。 Figure 6 is an explanatory diagram illustrating an example of a numerical table 206b used in combination with an operation description 206a called "Ω-AA". In Figure 6(a), a numerical table 206b called "AA-B01" is shown, and in Figure 6(b), a numerical table 206b called "AA-B02" is shown. Note that two numerical tables 206b are shown in Figure 6, but more numerical tables 206b can be set as necessary. The numerical table 206b illustrated in Figure 6 has four items set: "numerical table number", "opening/closing speed", "opening/closing load", and "reference table". Of these, "numerical table number" is the serial number of the numerical table 206b. For example, when the numerical table number is specified as number 5, the numerical table 206b called "AA-B01" in Figure 6(a) is specified, and when the numerical table number is specified as number 6, the numerical table 206b called "AA-B02" in Figure 6(b) is specified. We'll explain "reference tables" later.

また、図6に例示した数値テーブル206bには4つの項目が設定されているが、動作記述206aと組み合わせて、基本動作を記述するために用いられるのは、「開閉速度」と「開閉荷重」という2つの項目である。ここで、「開閉速度」と「開閉荷重」という2つの項目が設定されている理由は、この数値テーブル206bが、開閉動作を表す「Ω-AA」という動作記述206aと組み合わせて使用されるためである。すなわち、「Ω-AA」という動作記述206aだけでは、開閉動作させるという定性的な内容しか分からず、開閉動作させる速度や開閉時の荷重といった定量的な内容については分からない。そこで、数値テーブル206bに「開閉速度」および「開閉荷重」という項目を設けて、これらの数値を設定しておくようになっている。尚、数値テーブル206bの「開閉速度」にはプラスの数値が設定されているのは、閉動作させることを表しており(図6(a)参照)、マイナスの数値が設定されているのは開動作させることを表している(図6(b)参照)。 The numerical table 206b shown in FIG. 6 has four items, but the two items "opening/closing speed" and "opening/closing load" are used to describe the basic operation in combination with the operation description 206a. The reason why the two items "opening/closing speed" and "opening/closing load" are set here is because the numerical table 206b is used in combination with the operation description 206a of "Ω-AA" that represents the opening/closing operation. In other words, the operation description 206a of "Ω-AA" alone only provides the qualitative content of the opening/closing operation, and does not provide the quantitative content such as the opening/closing speed and the load at the time of opening/closing. Therefore, the numerical table 206b has items "opening/closing speed" and "opening/closing load" and these numerical values are set. Note that a positive value set in the "opening/closing speed" of the numerical table 206b indicates a closing operation (see FIG. 6(a)), and a negative value set in the "opening/closing speed" of the numerical table 206b indicates an opening operation (see FIG. 6(b)).

また、図4のYOGOチャート200では、アクチュエータ番号が2番のアクチュエータ11に対しては「Ω-AB」という動作記述206aが使用されるが、部分期間番号が2番のタイミングでは「AB-B01」という数値テーブル206bが組み合わせて用いられ、部分期間番号が8番のタイミングでは「AB-B02」という数値テーブル206bが組み合わせて用いられている。「AB-B01」および「AB-B02」という名称は、それぞれ「Ω-AB」という動作記述206aと組み合わせて使用される「B01」および「B02」という数値テーブル206bであることを表している。 In addition, in the YOGO chart 200 of FIG. 4, the operation description 206a "Ω-AB" is used for the actuator 11 with the actuator number 2, but the numerical table 206b "AB-B01" is used in combination with the timing of the partial period number 2, and the numerical table 206b "AB-B02" is used in combination with the timing of the partial period number 8. The names "AB-B01" and "AB-B02" indicate that the numerical tables 206b "B01" and "B02" are respectively used in combination with the operation description 206a "Ω-AB".

図7は「Ω-AB」という動作記述206aと組み合わせて使用される数値テーブル206bを例示した説明図である。図7(a)には「AB-B01」という数値テーブル206bが示されており、図7(b)には「AB-B02」という数値テーブル206bが示されている。尚、図7では2つの数値テーブル206bが例示されているが、必要に応じてより多くの数値テーブル206bを設定することができる。図7に例示した数値テーブル206bには、「数値テーブル番号」および「参照テーブル」に加えて、「回転角度」、「回転速度」、「回転トルク」の全部で5つの項目が設定されている。これらの内で「回転角度」、「回転速度」、「回転トルク」の項目が、動作記述206aと組み合わせて、基本動作を記述するために用いられる項目である。また、図7の数値テーブル206bに「回転角度」、「回転速度」、「回転トルク」の項目が設定されている理由は、この数値テーブル206bが、回転動作を表す「Ω-AB」という動作記述206aと組み合わせて使用されるためである。すなわち、「Ω-AB」という動作記述206aだけでは回転動作させることしか分からないので、回転させる角度や、回転させる速度、回転させるトルクについては、「回転角度」、「回転速度」、「回転トルク」という項目で数値テーブル206bに数値を設定しておくようになっている。尚、数値テーブル206bの「回転角度」にプラスの数値が設定される場合と、マイナスの数値が設定される場合とが存在するのは、回転方向が逆であることを表している。 Figure 7 is an explanatory diagram illustrating a numerical table 206b used in combination with an action description 206a called "Ω-AB". In Figure 7(a), a numerical table 206b called "AB-B01" is shown, and in Figure 7(b), a numerical table 206b called "AB-B02" is shown. Although two numerical tables 206b are shown in Figure 7, more numerical tables 206b can be set as necessary. In addition to "numerical table number" and "reference table", the numerical table 206b illustrated in Figure 7 has a total of five items set, namely "rotation angle", "rotation speed", and "rotation torque". Of these, the items "rotation angle", "rotation speed", and "rotation torque" are used to describe basic actions in combination with the action description 206a. The reason why the items "rotation angle", "rotation speed", and "rotation torque" are set in the numerical table 206b in Figure 7 is that this numerical table 206b is used in combination with an action description 206a called "Ω-AB" that represents a rotation action. That is, since the "Ω-AB" behavior description 206a alone is sufficient to determine the rotational operation, the rotation angle, rotation speed, and rotation torque are set in the numerical table 206b under the items "rotation angle," "rotation speed," and "rotation torque." Note that the fact that there are cases where a positive value is set for the "rotation angle" in the numerical table 206b and cases where a negative value is set indicates that the rotation direction is opposite.

更に、図4のYOGOチャート200では、アクチュエータ番号が3番のアクチュエータ12、4番のアクチュエータ13、および8番のアクチュエータ17に対しては、何れも「Ω-AC」という動作記述206aが使用されている。その一方で、数値テーブル206bについては、アクチュエータ番号が3番のアクチュエータ12と4番のアクチュエータ13と8番のアクチュエータ17とで、異なる数値テーブル206bが使用されている。すなわち、アクチュエータ番号が3番のアクチュエータ12に対しては、「AC-B01」あるいは「AC-B02」という数値テーブル206bが組み合わせて用いられ、アクチュエータ番号が4番のアクチュエータ13に対しては、「AC-B11」あるいは「AC-B12」という数値テーブル206bが、アクチュエータ番号が8番のアクチュエータ17に対しては、「AC-B21」あるいは「AC-B22」という数値テーブル206bが組み合わせて用いられている。ここで、「AC-B01」、「AC-B02」、「AC-B11」、「AC-B12」、「AC-B21」、「AC-B22」という名称は、それぞれ「Ω-AC」という動作記述206aと組み合わせて使用される「B01」、「B02」、「B11」、「B12」、「B21」、「B22」という数値テーブル206bであることを表している。 Furthermore, in the YOGO chart 200 of Figure 4, the operation description 206a "Ω-AC" is used for all of the actuators 12 (actuator number 3), 13 (actuator number 4), and 17 (actuator number 8). On the other hand, different numerical value tables 206b are used for the actuators 12 (actuator number 3), 13 (actuator number 4), and 17 (actuator number 8). That is, the numerical value tables 206b "AC-B01" or "AC-B02" are used in combination with the actuator 12 (actuator number 3), the numerical value tables 206b "AC-B11" or "AC-B12" are used in combination with the actuator 13 (actuator number 4), and the numerical value tables 206b "AC-B21" or "AC-B22" are used in combination with the actuator 17 (actuator number 8). Here, the names "AC-B01", "AC-B02", "AC-B11", "AC-B12", "AC-B21", and "AC-B22" represent numerical table 206b "B01", "B02", "B11", "B12", "B21", and "B22", respectively, that are used in combination with behavior description 206a "Ω-AC".

更に、図4のYOGOチャート200で、アクチュエータ番号が5番のアクチュエータ14、6番のアクチュエータ15、および7番のアクチュエータ16に対しては、何れも「Ω-CA」という動作記述206aが使用されている。これは、アクチュエータ14~16が何れもエアシリンダであり、基本動作の内容が「進退動作」であることに対応している。また、「Ω-CA」という動作記述206aに対しては、数値テーブル206bが組み合わされていない。この理由は、アクチュエータ14~16が、2つの動作ポートの内で空気圧を加える動作ポートを切り換えることで動作するエアシリンダであるため、動作の内容を記述するために定量的な数値を用いる必要が無いためである。 Furthermore, in the YOGO chart 200 of FIG. 4, the action description 206a "Ω-CA" is used for actuator number 5, actuator number 6, actuator number 15, and actuator number 7, actuator number 7. This corresponds to the fact that actuators 14 to 16 are all air cylinders and that their basic action is "advance and retreat". Also, no numerical value table 206b is combined with the action description 206a "Ω-CA". The reason for this is that actuators 14 to 16 are air cylinders that operate by switching the action port to which air pressure is applied out of two action ports, and so there is no need to use quantitative numerical values to describe the action.

以上に詳しく説明したように、本実施例のYOGOチャート200では、部分期間番号とアクチュエータ番号との組み合わせで規定される座標位置に、基本動作を記載することによって、基本動作させるアクチュエータと基本動作させるタイミングとを特定する。更に、基本動作は、原則として、動作記述206aと数値テーブル206bとの組み合わせによって表現することとしている。 As explained in detail above, in the YOGO chart 200 of this embodiment, the actuator to perform the basic operation and the timing of the basic operation are specified by describing the basic operation at a coordinate position defined by the combination of the partial period number and the actuator number. Furthermore, the basic operation is, in principle, expressed by a combination of the operation description 206a and the numerical value table 206b.

B-5.参照テーブル :
図6および図7に例示したように、本実施例の数値テーブル206bには「参照テーブル」という項目も設定されている。この参照テーブルは、数値テーブル206bに誤った数値を設定することを防止するためのものである。
B-5. Reference table:
6 and 7, the numerical value table 206b of this embodiment also has an item called "reference table." This reference table is for preventing an incorrect numerical value from being set in the numerical value table 206b.

図8は、図6に示した数値テーブル206bに設定されている参照テーブルを例示した説明図である。図8(a)には、図6(a)の数値テーブル206b(AA-B01)に設定された参照テーブル(AA-A01)が示されている。また、図8(b)には、図6(b)の数値テーブル206b(AA-B02)に設定された参照テーブル(AA-A02)が示されている。図8に示したこれらの参照テーブルには、「最大速度」、「最大荷重」、「チャック機構減速比」、「チェック機構対応直径範囲」という4つの項目が設定されている。 Figure 8 is an explanatory diagram illustrating the reference tables set in the numerical table 206b shown in Figure 6. Figure 8(a) shows the reference table (AA-A01) set in the numerical table 206b (AA-B01) in Figure 6(a). Figure 8(b) shows the reference table (AA-A02) set in the numerical table 206b (AA-B02) in Figure 6(b). These reference tables shown in Figure 8 have four items set: "maximum speed", "maximum load", "chuck mechanism reduction ratio", and "check mechanism compatible diameter range".

これらの項目は、図8の参照テーブル(AA-A01、AA-A02)が、図6に示した数値テーブル206b(AA-B01、AA-B02)から参照されることに対応している。すなわち、数値テーブル206b(AA-B01、AA-B02)は「開閉速度」および「開閉荷重」の数値が設定されるテーブルであるが(図6参照)、設定可能な開閉速度の最大値および開閉荷重の最大値が、それぞれ「最大速度」および「最大荷重」として参照テーブルに設定されている。 These items correspond to the reference tables (AA-A01, AA-A02) in FIG. 8 being referenced from the numerical table 206b (AA-B01, AA-B02) shown in FIG. 6. That is, the numerical table 206b (AA-B01, AA-B02) is a table in which the numerical values of "opening/closing speed" and "opening/closing load" are set (see FIG. 6), but the maximum settable opening/closing speed and maximum opening/closing load are set in the reference table as "maximum speed" and "maximum load", respectively.

そして、図6(a)の数値テーブル206b(AA-B01)を作成する際には、「参照テーブル」という項目に「AA-A01」と設定しておく。同様に、図6(b)の数値テーブル206b(AA-B02)を作成する際には、「参照テーブル」という項目に「AA-A02」と設定しておく。こうすれば、数値テーブル206b(AA-B01、AA-B02)の「開閉速度」あるいは「開閉荷重」という項目の数値を設定する際に、図8(a)あるいは図8(b)の参照テーブルの「最大速度」あるいは「最大荷重」の項目が参照されて、最大速度や最大荷重を超える不適切な数値が設定されないようにすることができる。 When creating the numerical table 206b (AA-B01) of FIG. 6(a), the item "Reference table" is set to "AA-A01". Similarly, when creating the numerical table 206b (AA-B02) of FIG. 6(b), the item "Reference table" is set to "AA-A02". In this way, when setting a numerical value for the "Opening/closing speed" or "Opening/closing load" item of the numerical table 206b (AA-B01, AA-B02), the "Maximum speed" or "Maximum load" item of the reference table of FIG. 8(a) or FIG. 8(b) is referenced, and it is possible to prevent an inappropriate numerical value that exceeds the maximum speed or maximum load from being set.

また、図8(a)および図8(b)の参照テーブルには、「チャック機構減速比」や「チャック機構対応直径範囲」という項目も設定されている。これらは、アクチュエータの機械的な特性を記述したものである。すなわち、参照テーブルは数値テーブル206bから参照されており、数値テーブル206bは具体的なアクチュエータを想定して設定されるものである。従って、参照テーブルも具体的なアクチュエータを想定して設定されていることになる。例えば、図8(a)や図8(b)の参照テーブルは図6(a)や図6(b)の数値テーブル206bから参照されており、これらの数値テーブル206bはアクチュエータ10に対して用いられるから、図8(a)や図8(b)の参照テーブルもアクチュエータ10に対して用いられることになる。 The reference tables of Fig. 8(a) and Fig. 8(b) also have items such as "Chuck mechanism reduction ratio" and "Chuck mechanism compatible diameter range". These describe the mechanical characteristics of the actuator. That is, the reference tables are referenced from the numerical table 206b, and the numerical table 206b is set assuming a specific actuator. Therefore, the reference tables are also set assuming a specific actuator. For example, the reference tables of Fig. 8(a) and Fig. 8(b) are referenced from the numerical table 206b of Fig. 6(a) and Fig. 6(b), and since these numerical table 206b are used for the actuator 10, the reference tables of Fig. 8(a) and Fig. 8(b) are also used for the actuator 10.

このように、参照テーブルはそれぞれに固有のアクチュエータに適用される。そこで、そのアクチュエータの機械的な特性を参照テーブルに設定しておく。図8に例示した参照テーブルは、ACサーボモータにチャック機構を組み合わせてチャック3bを開閉させるアクチュエータ10に適用される。このことに対応して、チャック機構の減速比や、チャック機構で把持可能な部材の直径範囲などの機械的な特性が、参照テーブルに設定されている。こうして参照テーブルに特性値を設定しておけば、ACサーボモータを制御する際にこれらの機械的な特性が必要となった場合でも、参照テーブルを参照して特性値を読み出すことができるので、誤った特性値がモータの制御に用いられて、アクチュエータが誤って制御されてしまう事態を回避することが可能となる。 In this way, each reference table is applied to a specific actuator. Therefore, the mechanical characteristics of the actuator are set in the reference table. The reference table shown in FIG. 8 is applied to an actuator 10 that combines an AC servo motor with a chuck mechanism to open and close the chuck 3b. Correspondingly, mechanical characteristics such as the reduction ratio of the chuck mechanism and the diameter range of the member that can be gripped by the chuck mechanism are set in the reference table. By setting characteristic values in this way in the reference table, even if these mechanical characteristics are required to control the AC servo motor, the characteristic values can be read by referring to the reference table, making it possible to avoid a situation in which an incorrect characteristic value is used to control the motor and the actuator is erroneously controlled.

図9は、図7に示した2つの数値テーブル206bに設定されている参照テーブルを例示した説明図である。図9(a)は、図7(a)の数値テーブル206b(AB-B01)に設定された参照テーブル(AB-A01)を示しており、図9(b)は、図7(b)の数値テーブル206b(AB-B02)に設定された参照テーブル(AB-A02)を示している。これらの参照テーブルには、「角度範囲」、「最大回転速度」、「最大回転トルク」、「減速比」という4つの項目が設定されている。 Figure 9 is an explanatory diagram illustrating the reference tables set in the two numerical table 206b shown in Figure 7. Figure 9(a) shows the reference table (AB-A01) set in the numerical table 206b (AB-B01) of Figure 7(a), and Figure 9(b) shows the reference table (AB-A02) set in the numerical table 206b (AB-B02) of Figure 7(b). These reference tables have four items set: "angle range", "maximum rotation speed", "maximum rotation torque", and "reduction ratio".

この内で「角度範囲」、「最大回転速度」、「最大回転トルク」という項目は、これらの参照テーブル(AB-A01、AB-A02)が、図7に示した数値テーブル206b(AB-B01、AB-B02)から参照されることに対応する。すなわち、数値テーブル206b(AB-B01、AB-B02)は「回転角度」、「回転速度」、および「回転トルク」の数値が設定されるテーブルであり(図7参照)、これに対応して、実際に取り得る最大の角度範囲や、最大回転速度、最大回転トルクが、それぞれ参照テーブルに設定されている。 Of these, the items "angle range", "maximum rotation speed", and "maximum rotation torque" correspond to these reference tables (AB-A01, AB-A02) being referenced from the numerical table 206b (AB-B01, AB-B02) shown in FIG. 7. In other words, the numerical table 206b (AB-B01, AB-B02) is a table in which the numerical values of "rotation angle", "rotation speed", and "rotation torque" are set (see FIG. 7), and correspondingly, the maximum angle range that can actually be obtained, the maximum rotation speed, and the maximum rotation torque are each set in the reference table.

図7(a)や図7(b)の数値テーブル206b(AB-B01、AB-B02)を作成する際には、「参照テーブル」という項目に「AB-A01」あるいは「AB-A02」と設定しておく。こうすれば、数値テーブル206b(AB-B01、AB-B02)の「回転角度」の数値を設定する際に、参照テーブルの「角度範囲」という項目が参照されて、回転後の角度が±180度を超える数値が設定できないようにすることができる。また、数値テーブル206b(AB-B01、AB-B02)の「回転速度」や「回転トルク」の数値を設定する際にも、参照テーブルの「最大回転速度」や「最大回転トルク」という項目が参照されて、最大回転速度や最大回転トルクを超える不適切な数値が設定されないようにすることができる。加えて、図9に例示した参照テーブルにも、参照テーブルが用いられるアクチュエータ(ここでは、アクチュエータ11)の機械的な特性値として、減速機構の「減速比」が設定されている。 When creating the numerical table 206b (AB-B01, AB-B02) of FIG. 7(a) or FIG. 7(b), the item "reference table" is set to "AB-A01" or "AB-A02". In this way, when setting the numerical value of the "rotation angle" of the numerical table 206b (AB-B01, AB-B02), the item "angle range" of the reference table is referenced, so that it is possible to prevent the setting of a numerical value that exceeds ±180 degrees after rotation. Also, when setting the numerical values of the "rotation speed" and "rotation torque" of the numerical table 206b (AB-B01, AB-B02), the items "maximum rotation speed" and "maximum rotation torque" of the reference table are referenced, so that it is possible to prevent the setting of an inappropriate numerical value that exceeds the maximum rotation speed or maximum rotation torque. In addition, in the reference table illustrated in FIG. 9, the "reduction ratio" of the reduction mechanism is set as a mechanical characteristic value of the actuator (here, actuator 11) for which the reference table is used.

その他の数値テーブル206b(例えば、図4中に記載されたAC-B01、AC-B02、AC-B11、AC-B12、AC-B21、AC-B22など)についても、同様の参照テーブルが設定されている。数値テーブル206bを作成する際には、それぞれの数値テーブル206bの「参照テーブル」という項目に、適切な参照テーブルを設定しておくことで、数値テーブル206bに不適切な数値が設定されないようにすることができる。 Similar reference tables are set for the other numeric tables 206b (for example, AC-B01, AC-B02, AC-B11, AC-B12, AC-B21, AC-B22, etc. shown in FIG. 4). When creating the numeric tables 206b, by setting an appropriate reference table in the "Reference Table" field of each numeric table 206b, it is possible to prevent inappropriate numeric values from being set in the numeric tables 206b.

以上に詳しく説明したように、本実施例のYOGOチャートでは、アクチュエータ番号と、部分期間番号とによって特定されるマス目状の座標位置に、動作記述206aおよび数値テーブル206bを用いてアクチュエータの基本動作を記載する。そして、自動製造機械1に搭載された全てのアクチュエータ10~20の基本動作を、このようにしてYOGOチャート上に記載することによって、自動製造機械1の動作を記述する。そして、自動製造機械制御装置100は、このようなYOGOチャートから制御プログラムを生成して、自動製造機械1の動作を制御する。 As explained in detail above, in the YOGO chart of this embodiment, the basic operations of the actuators are described using the operation description 206a and the numerical value table 206b at grid-like coordinate positions specified by the actuator number and partial period number. The operation of the automatic manufacturing machine 1 is described by describing the basic operations of all actuators 10-20 mounted on the automatic manufacturing machine 1 on the YOGO chart in this manner. The automatic manufacturing machine control device 100 then generates a control program from this YOGO chart to control the operation of the automatic manufacturing machine 1.

C.本実施例の自動製造機械制御装置100 :
図10は、本実施例の自動製造機械制御装置100の内部構造を示した説明図である。図10に示されるように、本実施例の自動製造機械制御装置100は、YOGOチャート作成部101や、基本動作記憶部102や、YOGOチャート読込部103や、YOGOチャート解析部104や、制御プログラム生成部105や、制御実行部106などを備えている。尚、これらの「部」は、自動製造機械制御装置100を用いてYOGOチャート200を作成し、そのYOGOチャート200から制御プログラムを生成して自動製造機械1の動作を制御するために、自動製造機械制御装置100が備える複数の機能を表した抽象的な概念である。従って、自動製造機械制御装置100が、これらの「部」に相当する部品を組み合わせて形成されていることを表しているわけではない。実際には、これらの「部」は、CPUで実行されるプログラムの形態で実現することもできるし、ICチップやLSIなどを組み合わせた電子回路の形態で実現することもできるし、更には、これらが混在した形態など、様々な形態で実現することができる。また、自動製造機械制御装置100中の基本動作記憶部102、YOGOチャート解析部104、および制御プログラム生成部105をまとめて、制御プログラム生成装置110として把握することができる。
C. Automatic manufacturing machine control device 100 of this embodiment:
FIG. 10 is an explanatory diagram showing the internal structure of the automatic manufacturing machine control device 100 of this embodiment. As shown in FIG. 10, 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, a control program generation unit 105, and a control execution unit 106. These "units" are abstract concepts that represent a plurality of functions that the automatic manufacturing machine control device 100 has 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. Therefore, it does not represent that the automatic manufacturing machine control device 100 is formed by combining parts corresponding to these "units". In reality, these "units" can be realized in the form of a program executed by a CPU, or in the form of an electronic circuit combining IC chips, LSIs, etc., or further, can be realized in various forms such as a form in which these are mixed. In addition, the basic operation memory unit 102, YOGO chart analysis unit 104, and control program generation unit 105 in the automatic manufacturing machine control device 100 can be collectively understood as a control program generation device 110.

YOGOチャート作成部101は、モニター画面100mや、操作入力ボタン100sなどに接続されており、自動製造機械1について十分な知識を有する機械技術者などが、モニター画面100mを見ながら操作入力ボタン100sを操作することによって、図4に例示したようなYOGOチャート200を作成する。前述したように、YOGOチャート200は自動製造機械1に搭載されている複数のアクチュエータの基本動作を、部分期間の何れかに割り当てることによって、自動製造機械1の動作を記述したものである。自動製造機械1の機械設計を行った機械設計技術者や、自動製造機械1の構造や動作について十分な知識を有する技術者であれば、簡単にYOGOチャート200を作成することができる。 The YOGO chart creation unit 101 is connected to the monitor screen 100m, the operation input buttons 100s, etc., and a mechanical engineer or the like with sufficient knowledge of the automatic manufacturing machine 1 creates a YOGO chart 200 as shown in FIG. 4 by operating the operation input buttons 100s while looking at the monitor screen 100m. As described above, the YOGO chart 200 describes the operation of the automatic manufacturing machine 1 by assigning the basic operations of multiple actuators mounted on the automatic manufacturing machine 1 to one of the partial periods. A mechanical design engineer who designed the machine for the automatic manufacturing machine 1, or an engineer with sufficient knowledge of the structure and operation of the automatic manufacturing machine 1, can easily create the YOGO chart 200.

また、本実施例では、YOGOチャートに基本動作を記載する際には、原則として動作記述206aと数値テーブル206bとを用いて基本動作を記載することになっているが、アクチュエータに応じて、使用可能な動作記述206aは決まっている(図5参照)。そこで、基本動作記憶部102には、アクチュエータの名称と、そのアクチュエータで使用可能な動作記述206aとが対応付けて予め記憶されている。 In addition, in this embodiment, when describing a basic action in a YOGO chart, the basic action is described in principle using the action description 206a and the numerical value table 206b, but the action description 206a that can be used is determined according to the actuator (see FIG. 5). Therefore, the name of the actuator and the action description 206a that can be used with that actuator are stored in advance in the basic action storage unit 102 in association with each other.

図11は、アクチュエータの名称と、使用可能な動作記述206aとが対応付けられて基本動作記憶部102に記憶されている様子を示した説明図である。図示されるように基本動作記憶部102には、アクチュエータ毎に使用可能な動作記述206aが記憶されている。例えば、アクチュエータ10に対しては、使用可能な動作記述206aとして「Q-AA」が記憶されている。また、アクチュエータ18に対しては、使用可能な動作記述206aとして、「Q-AB」および「Q-AD」の2つの動作記述206aが記憶されている。また、それぞれのアクチュエータには、アクチュエータの構造や、アクチュエータの基本動作の内容も併せて記憶されている。 Figure 11 is an explanatory diagram showing how actuator names and usable operation descriptions 206a are associated and stored in the basic operation storage unit 102. As shown in the figure, the basic operation storage unit 102 stores usable operation descriptions 206a for each actuator. For example, "Q-AA" is stored as a usable operation description 206a for actuator 10. Furthermore, two operation descriptions 206a, "Q-AB" and "Q-AD", are stored as usable operation descriptions 206a for actuator 18. Furthermore, the structure of the actuator and the contents of the basic operation of the actuator are also stored for each actuator.

また、前述したように動作記述206aは原則として数値テーブル206bと組み合わせて用いられるが、動作記述206aに対して組み合わせることが可能な数値テーブル206bは予め決まっている。そこで、基本動作記憶部102には、動作記述206a毎に、組み合わせることが可能な数値テーブル206bも記憶されている。 As mentioned above, the behavior description 206a is generally used in combination with the numerical value table 206b, but the numerical value table 206b that can be combined with the behavior description 206a is predetermined. Therefore, the basic behavior storage unit 102 also stores the numerical value table 206b that can be combined with each behavior description 206a.

図12は、動作記述206aと、その動作記述206aに組み合わせることが可能な数値テーブル206bとが対応付けて記憶されている様子を示した説明図である。例えば、「Q-AA」という動作記述206aに対しては、組み合わせ可能な数値テーブル206bとして、「AA-B01」および「AA-B02」という2つの数値テーブル206bが記憶されている。更に、「AA-B01」という数値テーブル206bに対しては、その数値テーブル206bから参照される参照テーブルとして、「AA-A01」が記憶されている。同様に、「AA-B01」という数値テーブル206bに対しては、「AA-A01」という参照テーブルが記憶されている。このように、本実施例の基本動作記憶部102には、数値テーブル206bから参照される参照テーブルも、数値テーブル206bに対応付けて記憶されている。 Figure 12 is an explanatory diagram showing how an action description 206a and a numerical table 206b that can be combined with the action description 206a are stored in association with each other. For example, for an action description 206a of "Q-AA", two numerical tables 206b of "AA-B01" and "AA-B02" are stored as numerical tables 206b that can be combined with the action description 206a. Furthermore, for the numerical table 206b of "AA-B01", "AA-A01" is stored as a reference table referenced from the numerical table 206b. Similarly, for the numerical table 206b of "AA-B01", a reference table of "AA-A01" is stored. In this way, in the basic action storage unit 102 of this embodiment, reference tables referenced from the numerical table 206b are also stored in association with the numerical table 206b.

更に、基本動作記憶部102には、図13に示すように、動作記述206aと、動作記述206aに対応するプログラム要素番号も記憶されている。図5を用いて前述したように、ブログラム要素とは、動作記述206aを実現するための小さなプログラムのことである。また、ブログラム要素番号とは、プログラム要素を特定するための通し番号のことである。 Furthermore, as shown in FIG. 13, the basic operation storage unit 102 also stores an operation description 206a and a program element number corresponding to the operation description 206a. As described above with reference to FIG. 5, a program element is a small program for realizing the operation description 206a. Also, a program element number is a serial number for identifying a program element.

上述した基本動作記憶部102は、YOGOチャート作成部101に接続されており、YOGOチャート200を作成するに際しては基本動作記憶部102を参照することができる。そして、自動製造機械1について十分な知識を有する機械技術者であれば、どのようなアクチュエータをどのように動作させるかは十分に分かっているので、アクチュエータに応じて使用可能な動作記述206aの中から適切な動作記述206aを選択し、更に動作記述206aに組み合わせる数値テーブル206bも選択することができる。 The basic operation memory unit 102 described above is connected to the YOGO chart creation unit 101, and the basic operation memory unit 102 can be referenced when creating the YOGO chart 200. Furthermore, a mechanical engineer with sufficient knowledge of the automated manufacturing machine 1 will fully understand how to operate each actuator, and can therefore select an appropriate operation description 206a from among the available operation descriptions 206a according to the actuator, and can also select a numerical value table 206b to be combined with the operation description 206a.

YOGOチャート読込部103は、YOGOチャート作成部101で作成したYOGOチャート200を読み込んで、後述するYOGOチャート解析部104に出力する。尚、本実施例では、自動製造機械制御装置100でYOGOチャート200を作成するものとしているが、自動製造機械1とは別体に設けたコンピュータ50でYOGOチャート200を作成しておき、そのYOGOチャート200をYOGOチャート読込部103が読み込むようにしても良い。また、本実施例のYOGOチャート読込部103は、本発明における「動作チャート読込部」に対応する。 The YOGO chart reading unit 103 reads the YOGO chart 200 created by the YOGO chart creation unit 101 and outputs it to the YOGO chart analysis unit 104 described below. In this embodiment, the YOGO chart 200 is created by the automatic manufacturing machine control device 100, but the YOGO chart 200 may be created in advance by a computer 50 provided separately from the automatic manufacturing machine 1, and the YOGO chart 200 may be read by the YOGO chart reading unit 103. The YOGO chart reading unit 103 in this embodiment corresponds to the "operation chart reading unit" in the present invention.

YOGOチャート解析部104は、YOGOチャート読込部103から受け取ったYOGOチャート200を解析することによって、YOGOチャート200の記載が所定の記載要件を満足しているか否かを判断する。そして、YOGOチャート200が記載要件を満足していた場合は、基本動作記憶部102を参照しながら、YOGOチャート200から中間データを生成して制御プログラム生成部105に出力する。YOGOチャート200から中間データを生成する処理については、後ほど詳しく説明する。尚、本実施例のYOGOチャート解析部104は、YOGOチャート200が所定の記載要件を満足するか否かを判断していることから、本発明における「記載要件判断部」に対応する。 The YOGO chart analysis unit 104 analyzes the YOGO chart 200 received from the YOGO chart reading unit 103 to determine whether the description of the YOGO chart 200 satisfies the specified description requirements. If the YOGO chart 200 satisfies the description requirements, it generates intermediate data from the YOGO chart 200 while referring to the basic operation memory unit 102, and outputs the intermediate data to the control program generation unit 105. The process of generating intermediate data from the YOGO chart 200 will be explained in detail later. Note that the YOGO chart analysis unit 104 in this embodiment corresponds to the "description requirement determination unit" in the present invention, since it determines whether the YOGO chart 200 satisfies the specified description requirements.

制御プログラム生成部105は、中間データを受け取ると、基本動作記憶部102を参照することによって、中間データから制御プログラムを生成する。中間データから制御プログラムを生成する方法については、後ほど詳しく説明する。そして、得られた制御プログラムを制御実行部106に出力する。 When the control program generation unit 105 receives the intermediate data, it generates a control program from the intermediate data by referring to the basic operation storage unit 102. The method of generating a control program from the intermediate data will be explained in detail later. The obtained control program is then output to the control execution unit 106.

制御実行部106は、制御プログラム生成部105から制御プログラムを受け取ると、その制御プログラムに従って、アクチュエータ10~20の動作を制御する。その結果、自動製造機械1に搭載されたアクチュエータ10~20が、YOGOチャート200に記述された通りに動作することになる。 When the control execution unit 106 receives the control program from the control program generation unit 105, it controls the operation of the actuators 10 to 20 according to the control program. As a result, the actuators 10 to 20 installed in the automated manufacturing machine 1 operate as described in the YOGO chart 200.

D.制御プログラム生成処理 :
図14は、本実施例の自動製造機械制御装置100の中で実行される制御プログラム生成処理の概要を示したフローチャートである。図示されるように、制御プログラム生成処理では、先ず初めにYOGOチャート200を読み込む(STEP1)。本実施例では、自動製造機械制御装置100がYOGOチャート200を作成しているから、作成したYOGOチャート200のデータを読み込むことになる。もちろん、他のコンピュータ50で作成したYOGOチャート200のデータを読み込んでも良い。
D. Control program generation process:
14 is a flow chart showing an overview of the control program generation process executed in the automatic manufacturing machine control device 100 of this embodiment. As shown in the figure, in the control program generation process, first, the YOGO chart 200 is read (STEP 1). In this embodiment, since the automatic manufacturing machine control device 100 creates the YOGO chart 200, the data of the created YOGO chart 200 is read. Of course, the data of the YOGO chart 200 created by another computer 50 may also be read.

続いて、読み込んだYOGOチャート200を解析して中間データを出力する(STEP2)。このとき、YOGOチャート200が所定の記載要件を満足しているか否かを判断して、記載要件を満足していると判断した場合に、中間データを生成するようになっている。YOGOチャート200を解析して中間データを出力する処理(YOGOチャート解析処理)の詳細については後述する。 Then, the loaded YOGO chart 200 is analyzed and intermediate data is output (STEP 2). At this time, it is determined whether the YOGO chart 200 satisfies certain description requirements, and if it is determined that the description requirements are satisfied, intermediate data is generated. Details of the process of analyzing the YOGO chart 200 and outputting intermediate data (YOGO chart analysis process) will be described later.

図15は、YOGOチャート200から生成された中間データを例示した説明図である。図示されるように中間データは、部分期間番号Nと、アクチュエータ番号Mと、動作記述206aと、数値テーブル206bとが、この順序で並んだ一組のデータ(以下、「データレコード」と呼ぶ)が集まったものとなっている。また、各データレコードの部分期間番号Nは、「1」~部分期間番号Nの最終値までの何れかの値を取り、アクチュエータ番号Mは、YOGOチャート200に記載されたアクチュエータ番号Mの何れかの値を取る。また、YOGOチャート200上の全ての部分期間番号Nは、必ず何れかのデータレコードに記載されており、YOGOチャート200に記載された全てのアクチュエータ番号Mは、必ず何れかのデータレコードに記載されている。図14のSTEP2の処理では、図4に例示したYOGOチャート200から、図15に例示するような中間データを生成する。 FIG. 15 is an explanatory diagram illustrating intermediate data generated from YOGO chart 200. As shown in the figure, the intermediate data is a collection of a set of data (hereinafter referred to as "data record") in which partial period number N, actuator number M, operation description 206a, and numerical value table 206b are arranged in this order. In addition, the partial period number N of each data record takes any value from "1" to the final value of partial period number N, and the actuator number M takes any value of the actuator number M written on YOGO chart 200. In addition, all partial period numbers N on YOGO chart 200 are always written in some data record, and all actuator numbers M written on YOGO chart 200 are always written in some data record. In the process of STEP 2 in FIG. 14, intermediate data such as the example shown in FIG. 15 is generated from YOGO chart 200 illustrated in FIG. 4.

続いて、図14の制御プログラム生成処理では、中間データから制御プログラムを生成する(STEP3)。図16には、図15に例示した中間データから生成された制御プログラムが示されている。図15に示した中間データのデータレコードと、図16に示した制御プログラムのデータレコードとを比較すれば明らかなように、制御プログラムのデータレコードは、中間データのデータレコード中の動作記述206aが、その動作記述206aに対応するプログラム要素番号Pに置き換えられ(図13参照)、中間データのデータレコード中の数値テーブル206bが、その数値テーブル206bに対応する数値テーブル番号Tに置き換えられたものとなっている(図6、図7参照)。 Next, in the control program generation process of FIG. 14, a control program is generated from the intermediate data (STEP 3). FIG. 16 shows a control program generated from the intermediate data exemplified in FIG. 15. As is clear from a comparison of the data records of the intermediate data shown in FIG. 15 and the data records of the control program shown in FIG. 16, the data records of the control program have the operation description 206a in the data records of the intermediate data replaced with the program element number P corresponding to the operation description 206a (see FIG. 13), and the numeric table 206b in the data records of the intermediate data replaced with the numeric table number T corresponding to the numeric table 206b (see FIG. 6 and FIG. 7).

中間データ中の動作記述206aおよび数値テーブル206bを、それぞれプログラム要素番号および数値テーブル番号に置き換える操作は、図10中の制御プログラム生成部105が、基本動作記憶部102を参照することによって実行される。すなわち、基本動作記憶部102には、動作記述206aがプログラム要素番号と対応付けて記憶されている(図13参照)。更に、基本動作記憶部102には、図6や図7に例示した数値テーブル206bが記憶されており、それぞれの数値テーブル206bには数値テーブル番号が設定されている。そこで、制御プログラム生成部105は、基本動作記憶部102に記憶されている図13の対応関係や、図6や図7に例示した数値テーブル206bを参照することによって、中間データ中の動作記述206aや数値テーブル206bを、プログラム要素番号および数値テーブル番号に置き換えて行く。 The operation of replacing the operation description 206a and the numerical table 206b in the intermediate data with the program element number and the numerical table number, respectively, is executed by the control program generation unit 105 in FIG. 10 by referring to the basic operation storage unit 102. That is, the basic operation storage unit 102 stores the operation description 206a in correspondence with the program element number (see FIG. 13). Furthermore, the basic operation storage unit 102 stores the numerical table 206b illustrated in FIG. 6 and FIG. 7, and each numerical table 206b is set with a numerical table number. Therefore, the control program generation unit 105 replaces the operation description 206a and the numerical table 206b in the intermediate data with the program element number and the numerical table number by referring to the correspondence relationship in FIG. 13 stored in the basic operation storage unit 102 and the numerical table 206b illustrated in FIG. 6 and FIG. 7.

以上のようにして、中間データから制御プログラムを生成したら(図14のSTEP3)、生成した制御プログラムを、自動製造機械制御装置100の制御実行部106に出力して(STEP4)、図14の制御プログラム生成処理を終了する。そして、本実施例の制御実行部106は、このような制御プログラムに従って、自動製造機械1に搭載されたアクチュエータ10~20の動作を制御する。制御実行部106が図16に例示した制御プログラムに従って、アクチュエータ10~20の動作を制御する処理については後述する。 Once the control program is generated from the intermediate data in the above manner (STEP 3 in FIG. 14), the generated control program is output to the control execution unit 106 of the automatic manufacturing machine control device 100 (STEP 4), and the control program generation process in FIG. 14 is terminated. Then, the control execution unit 106 of this embodiment controls the operation of the actuators 10 to 20 mounted on the automatic manufacturing machine 1 according to such a control program. The process in which the control execution unit 106 controls the operation of the actuators 10 to 20 according to the control program exemplified in FIG. 16 will be described later.

E.YOGOチャート解析処理 :
図17は、本実施例の自動製造機械制御装置100が、YOGOチャートを解析して中間データを出力する処理(YOGOチャート解析処理)のフローチャートである。この処理は、図14に示した制御プログラム生成処理のSTEP2で、YOGOチャート解析部104(図10参照)によって実行される処理である。
E. YOGO Chart Analysis Processing:
17 is a flowchart of a process (YOGO chart analysis process) in which the automated manufacturing machine control device 100 of this embodiment analyzes a YOGO chart and outputs intermediate data. This process is executed by the YOGO chart analysis unit 104 (see FIG. 10) in STEP 2 of the control program generation process shown in FIG.

図17に示したように、YOGOチャート解析処理(STEP2)を開始すると、先ず初めに、部分期間番号Nおよびアクチュエータ番号Mを「1」に初期化する(STEP10)。部分期間番号NとはYOGOチャート200の複数の部分期間に付けられた通し番号である(図4参照)。また、アクチュエータ番号Mとは、YOGOチャート200の上で仕切線201によって区分された複数の横長の領域に付けられた通し番号である(図4参照)。YOGOチャート200上の横長の領域には、1つずつアクチュエータが割り当てられるので、アクチュエータ番号Mを指定することによってアクチュエータを特定することができる。 As shown in FIG. 17, when the YOGO chart analysis process (STEP 2) starts, first the partial period number N and actuator number M are initialized to "1" (STEP 10). The partial period number N is a serial number assigned to the multiple partial periods of the YOGO chart 200 (see FIG. 4). Also, the actuator number M is a serial number assigned to the multiple horizontally long areas divided by the dividing lines 201 on the YOGO chart 200 (see FIG. 4). Since an actuator is assigned to each horizontally long area on the YOGO chart 200, an actuator can be identified by specifying the actuator number M.

続いて、YOGOチャート200上での座標(N,M)の位置に、動作線203の始点204が記載されているか否かを判断する(STEP11)。STEP10で部分期間番号Nおよびアクチュエータ番号Mを初期化した直後は、NおよびMは何れも「1」であるから、YOGOチャート200上の座標位置(1,1)に始点204が記載されているか否かを判断することになる。ここで、座標位置(N,M)に始点204が記載されている状態とは、次のような状態を指している。 Next, it is determined whether the starting point 204 of the operating line 203 is marked at the position of coordinates (N, M) on the YOGO chart 200 (STEP 11). Immediately after the partial period number N and actuator number M are initialized in STEP 10, N and M are both "1", so it is determined whether the starting point 204 is marked at the coordinate position (1, 1) on the YOGO chart 200. Here, the state in which the starting point 204 is marked at the coordinate position (N, M) refers to the following state.

先ず、YOGOチャート200上の座標位置(N,M)とは、YOGOチャート200上で、部分期間番号Nとアクチュエータ番号Mとの組み合わせで特定されるマス目状の座標位置を表している。また、図4を用いて前述したように、部分期間番号Nの部分期間(すなわち、先頭からN番目の部分期間)は、先頭からN番目のトリガー線202と、N+1番目のトリガー線202との間に形成されている。更に、本実施例のYOGOチャート200では、トリガー線202の上に動作線203の始点204を記載することになっている。従って、座標位置(N,M)に始点204が記載されている状態とは、部分期間番号Nとアクチュエータ番号Mとの組み合わせで特定されるマス目に着目して、そのマス目の一辺を形成するN番目のトリガー線202に始点204が記載されている状態を指している。 First, the coordinate position (N, M) on the YOGO chart 200 represents a grid-like coordinate position on the YOGO chart 200, which is specified by the combination of the partial period number N and the actuator number M. Also, as described above with reference to FIG. 4, the partial period of partial period number N (i.e., the Nth partial period from the beginning) is formed between the Nth trigger line 202 from the beginning and the N+1th trigger line 202. Furthermore, in the YOGO chart 200 of this embodiment, the start point 204 of the operation line 203 is written on the trigger line 202. Therefore, the state in which the start point 204 is written at the coordinate position (N, M) refers to the state in which the start point 204 is written on the Nth trigger line 202 that forms one side of a grid, focusing on the grid specified by the combination of the partial period number N and the actuator number M.

また、YOGOチャート解析処理のSTEP11で、座標位置(N,M)に始点204が記載されているか否かを判断している理由は、次のようなものである。先ず、図4を用いて前述したように、YOGOチャート200は部分期間に基本動作206を割り当てることによって記述されており、基本動作206は、動作の始まりを示す始点204と、動作の終わりを示す終点205との間に引かれた動作線203上に記載されることになっている。従って、YOGOチャート200上に始点204が記載されていれば、その始点204から動作線203が引かれて、動作線203の上に基本動作206が記載されているものと考えられる。そこで、YOGOチャート200から基本動作206を抽出するための手掛かりとして、YOGOチャート200上に記載された始点204を探索するのである。 The reason for determining whether or not the starting point 204 is written at the coordinate position (N, M) in STEP 11 of the YOGO chart analysis process is as follows. First, as described above with reference to FIG. 4, the YOGO chart 200 is described by assigning basic actions 206 to partial periods, and the basic actions 206 are to be written on the action line 203 drawn between the starting point 204 indicating the start of the action and the end point 205 indicating the end of the action. Therefore, if the starting point 204 is written on the YOGO chart 200, it is considered that the action line 203 is drawn from the starting point 204, and the basic action 206 is written on the action line 203. Therefore, the starting point 204 written on the YOGO chart 200 is searched for as a clue for extracting the basic action 206 from the YOGO chart 200.

図4に例示したYOGOチャート200の場合では、座標位置(1,1)には始点204は記載されていないから、STEP11では「no」と判断して、アクチュエータ番号Mが最終値に達したか否かを判断する(図18のSTEP28)。本実施例の自動製造機械1には11個のアクチュエータ10~20が搭載されているから、アクチュエータ番号Mの最終値は11となる。従って、座標位置(1,1)での始点204の有無を確認した後のSTEP28の判断では、「no」と判断されるので、アクチュエータ番号Mに1を加算する(STEP29)。そして、加算後の新たなアクチュエータ番号Mを用いて、再び、座標位置(N,M)に始点204が記載されているか否かを判断する(図17のSTEP11)。 In the case of the YOGO chart 200 illustrated in FIG. 4, the starting point 204 is not written at the coordinate position (1,1), so the answer is "no" in STEP 11, and it is determined whether the actuator number M has reached the final value (STEP 28 in FIG. 18). In this embodiment, the automatic manufacturing machine 1 is equipped with eleven actuators 10-20, so the final value of the actuator number M is 11. Therefore, after checking whether the starting point 204 exists at the coordinate position (1,1), the answer is determined to be "no" in STEP 28, so 1 is added to the actuator number M (STEP 29). Then, using the new actuator number M after the addition, it is determined again whether the starting point 204 exists at the coordinate position (N,M) (STEP 11 in FIG. 17).

このように、部分期間番号Nは「1」のまま、アクチュエータ番号Mを1つずつ増加させながら、座標位置(1,M)に始点204が記載されているか否かを判断していくと、やがては、始点204が記載されている座標位置(1,M)に到達して、STEP11で「yes」と判断されることになる。 In this way, while keeping the partial period number N at "1", the actuator number M is incremented by one while determining whether the starting point 204 is located at the coordinate position (1, M). Eventually, the coordinate position (1, M) where the starting point 204 is located is reached, and the answer in STEP 11 is determined to be "yes".

そして、STEP11で「yes」と判断された場合は、始点204が記載された座標位置(N,M)が見つかったことになるので、その座標位置(N,M)に記載されている内容が、以下のような記載要件、
[記載要件1]:始点204に対応する終点205が存在すること、
[記載要件2]:始点204と終点205との間に基本動作206が記載されていること、
[記載要件3]:基本動作206中の動作記述206aが座標位置(N,M)のアクチュエータ番号Mに対応すること
を満足するか否かを判断して行く。
If the answer to STEP 11 is "yes," the coordinate position (N, M) where the starting point 204 is described has been found. Therefore, the content described at the coordinate position (N, M) satisfies the following description requirements:
[Description requirement 1]: There is an end point 205 corresponding to the start point 204.
[Description requirement 2]: A basic action 206 is described between a start point 204 and an end point 205.
[Description requirement 3]: It is determined whether or not the action description 206a in the basic action 206 corresponds to the actuator number M at the coordinate position (N, M).

先ず初めは、上述した記載要件1を満足するか否か、すなわち、始点204に対応する終点205が存在するか否かを判断する(STEP12)。図4を用いて前述したように、始点204は動作線203の始まりを示しているから、始点204が存在する以上、動作線203の終わりを示す終点205が存在する筈である。また、本実施例では終点205もトリガー線202の上に記載することになっている。そこで、始点204が見つかった座標位置(N,M)から、YOGOチャート200上で視線を右方向(すなわち、トリガー線202の番号が増加する方向)に移動させることによって、トリガー線202上の終点205を探索する。終点205が見つからなかった場合や、終点205が見つかる前に新たな始点204が見つかった場合は、STEP12では「no」と判断されるが(STEP12:no)、YOGOチャート200が正しく記載されていれば、始点204に対応する終点205が見つかるので、STEP12では「yes」と判断される。 First, it is determined whether the above-mentioned description requirement 1 is satisfied, that is, whether the end point 205 corresponding to the start point 204 exists (STEP 12). As described above with reference to FIG. 4, the start point 204 indicates the beginning of the motion line 203, so if the start point 204 exists, the end point 205 indicating the end of the motion line 203 must exist. In this embodiment, the end point 205 is also written on the trigger line 202. Therefore, the line of sight is moved to the right on the YOGO chart 200 (i.e., in the direction in which the number of the trigger line 202 increases) from the coordinate position (N, M) where the start point 204 was found, to search for the end point 205 on the trigger line 202. If the end point 205 is not found, or if a new start point 204 is found before the end point 205 is found, STEP 12 is judged as "no" (STEP 12: no), but if the YOGO chart 200 is written correctly, the end point 205 corresponding to the start point 204 will be found, and STEP 12 is judged as "yes."

続いて、上述した記載要件2を満足するか否か、すなわち、始点204と終点205とを結ぶ動作線203の上に基本動作206が記載されているか否かを判断する(STEP14)。始点204と終点205とを結ぶ動作線203が見つからなかった場合や、動作線203は見つかったが基本動作206が記載されていない場合、あるいは動作線203の上に記載されている内容が、基本動作記憶部102に記憶されている基本動作206ではなかった場合は、STEP14では「no」と判断されるが、YOGOチャート200が正しく記載されていれば、STEP14では「yes」と判断される。 Next, it is determined whether the above-mentioned description requirement 2 is satisfied, i.e., whether the basic action 206 is described on the action line 203 connecting the start point 204 and the end point 205 (STEP 14). If the action line 203 connecting the start point 204 and the end point 205 is not found, if the action line 203 is found but the basic action 206 is not described, or if the content described on the action line 203 is not the basic action 206 stored in the basic action memory unit 102, STEP 14 is determined as "no", but if the YOGO chart 200 is correctly described, STEP 14 is determined as "yes".

上述した記載要件2も満足していた場合は、動作線203の上に記載されていた基本動作206を読み込んだ後(STEP16)、今度は、上述した記載要件3を満足するか否か、すなわち、読み込んだ基本動作206の動作記述206aが、座標位置(N,M)のアクチュエータ番号Mに割り当てられたアクチュエータに対応するか否かを判断する(STEP17)。これは、次のような判断である。 If the above-mentioned description requirement 2 is also satisfied, the basic action 206 described above on the action line 203 is read (STEP 16), and then it is determined whether the above-mentioned description requirement 3 is satisfied, that is, whether the action description 206a of the read basic action 206 corresponds to the actuator assigned to actuator number M at the coordinate position (N, M) (STEP 17). This determination is as follows.

先ず、図4に示したように、座標位置(N,M)のアクチュエータ番号Mには、自動製造機械1に搭載された複数のアクチュエータ10~20の何れかが割り当てられている。更に、図11に示したように、それぞれのアクチュエータ10~20には、設定可能な動作記述206aが予め決まっている。従って、座標位置(N,M)に記載できる動作記述206aは、座標位置(N,M)のアクチュエータ番号Mに割り当てられたアクチュエータに対して設定可能な動作記述206aに限られる。例えば、アクチュエータ番号が2番に対してはアクチュエータ11が割り当てられており(図4参照)、アクチュエータ11に対して設定可能な動作記述206aは「Q-AB」という動作記述206aに限られる(図11参照)。従って、アクチュエータ番号が2番の座標位置(N,2)に対しては「Q-AB」という基本動作206しか設定することができない。また、アクチュエータによっては複数の動作記述206aを設定可能な場合もあるが、何れにしても座標位置(N,M)のアクチュエータ番号Mに応じて設定可能な動作記述206aは決まってしまう。そこで、STEP17では、STEP16で読み込んだ動作記述206aが、座標位置(N,M)のアクチュエータ番号Mが示すアクチュエータに対して設定可能な動作記述206aであるか否かを判断する。 First, as shown in FIG. 4, one of the actuators 10-20 mounted on the automatic manufacturing machine 1 is assigned to the actuator number M at the coordinate position (N, M). Furthermore, as shown in FIG. 11, the action description 206a that can be set is predetermined for each of the actuators 10-20. Therefore, the action description 206a that can be written at the coordinate position (N, M) is limited to the action description 206a that can be set for the actuator assigned to the actuator number M at the coordinate position (N, M). For example, the actuator 11 is assigned to the actuator number 2 (see FIG. 4), and the action description 206a that can be set for the actuator 11 is limited to the action description 206a "Q-AB" (see FIG. 11). Therefore, only the basic action 206 "Q-AB" can be set for the coordinate position (N, 2) where the actuator number is 2. Also, depending on the actuator, multiple behavioral descriptions 206a may be set, but in any case, the behavioral description 206a that can be set is determined according to the actuator number M of the coordinate position (N, M). Therefore, in STEP 17, it is determined whether the behavioral description 206a read in STEP 16 is a behavioral description 206a that can be set for the actuator indicated by the actuator number M of the coordinate position (N, M).

YOGOチャート200が正しく記載されていれば、STEP17では「yes」と判断されるので、続いて、動作記述206aが、数値テーブル206bを必要とする動作記述206aか否かを判断する(STEP19)。前述したように、大部分の動作記述206aは数値テーブル206bと組み合わせて用いられることが前提となっているが、一部の動作記述206a(例えば、図12に示した「Q-CA」という動作記述206a)については、数値テーブル206bと組み合わされることなく単独で用いられる。そこで、STEP19では、STEP16で読み込んだ動作記述206aが、数値テーブル206bを必要とする動作記述206aであるか否かを判断する。 If the YOGO chart 200 is written correctly, the answer in STEP 17 is "yes", and the process then proceeds to determine whether the behavioral description 206a is a behavioral description 206a that requires a numerical value table 206b (STEP 19). As mentioned above, most behavioral descriptions 206a are intended to be used in combination with a numerical value table 206b, but some behavioral descriptions 206a (for example, the behavioral description 206a called "Q-CA" shown in FIG. 12) are used independently without being combined with a numerical value table 206b. Therefore, in STEP 19, it is determined whether the behavioral description 206a read in STEP 16 is a behavioral description 206a that requires a numerical value table 206b.

そして、動作記述206aが数値テーブル206bを必要とする動作記述206aであった場合は(STEP19:yes)は、座標位置(N,M)に記載されている内容に対して、更に以下のような記載要件、
[記載要件4]:基本動作206中に数値テーブル206bが記載されていること、
[記載要件5]:基本動作206の動作記述206aと数値テーブル206bとが対応すること、
[記載要件6]:基本動作206の動作記述206aと数値テーブル206bとが対応すること
についても、満足するか否かを判断して行く。
If the operation description 206a requires the numerical value table 206b (STEP 19: yes), the following description requirement is further added to the content described at the coordinate position (N, M):
[Description requirement 4]: The numerical value table 206b is described in the basic operation 206.
[Description requirement 5]: The behavior description 206a of the basic behavior 206 corresponds to the numerical value table 206b.
[Description requirement 6]: It is also determined whether the behavior description 206a of the basic behavior 206 corresponds to the numerical value table 206b.

すなわち、STEP16で読み込んだ基本動作206中の動作記述206aが、数値テーブル206bを必要とする動作記述206aであった場合は(図17のSTEP19:yes)、まず初めに、上述した記載要件4(読み込んだ基本動作206中に数値テーブル206bが含まれているか否か)を判断する(図18のSTEP21)。 That is, if the action description 206a in the basic action 206 loaded in STEP 16 is an action description 206a that requires a numerical value table 206b (STEP 19 in FIG. 17: yes), first, the above-mentioned description requirement 4 (whether or not the numerical value table 206b is included in the loaded basic action 206) is determined (STEP 21 in FIG. 18).

YOGOチャート200が正しく記載されていれば、STEP21では「yes」と判断されるので、次は、上述した記載要件5、すなわち、基本動作206中の動作記述206aと数値テーブル206bとが対応するか否かを判断する(STEP23)。図12を用いて前述したように、基本動作記憶部102には、動作記述206aと、その動作記述206aに対して組み合わせることが可能な数値テーブル206bとが、対応付けて予め記憶されている。そこで、STEP23では、図12に例示した対応関係を参照することによって、動作記述206aと数値テーブル206bとが対応するか否かを判断する。 If the YOGO chart 200 is written correctly, the answer in STEP 21 is "yes", so the next step is to determine whether the above-mentioned description requirement 5 is met, that is, whether the action description 206a in the basic action 206 corresponds to the numerical value table 206b (STEP 23). As described above with reference to FIG. 12, the basic action storage unit 102 prestores the action description 206a and the numerical value table 206b that can be combined with the action description 206a in association with each other. Therefore, in STEP 23, the correspondence relationship illustrated in FIG. 12 is referenced to determine whether the action description 206a corresponds to the numerical value table 206b.

YOGOチャート200が正しく記載されていれば、STEP23でも「yes」と判断されるので、今度は、上述した記載要件6、すなわち、数値テーブル206bに設定されている数値が、参照テーブルと整合するか否かを判断する(STEP25)。図6および図7を用いて前述したように、数値テーブル206bには参照テーブルが設定されている。更に、図8および図9を用いて前述したように、参照テーブルには、参照する数値テーブル206bに設定可能な数値範囲が設定されている。そこで、STEP25では、数値テーブル206bに設定されている数値が、数値テーブル206bから参照する参照テーブルに設定された数値範囲内で設定されているか否かを判断する。 If the YOGO chart 200 is written correctly, the answer in STEP 23 is also "yes", so now it is determined whether the above-mentioned description requirement 6, i.e., whether the numerical values set in the numerical value table 206b are consistent with the reference table (STEP 25). As described above with reference to Figures 6 and 7, a reference table is set in the numerical value table 206b. Furthermore, as described above with reference to Figures 8 and 9, the reference table sets a numerical value range that can be set in the referenced numerical value table 206b. Therefore, in STEP 25, it is determined whether the numerical values set in the numerical value table 206b are set within the numerical value range set in the reference table referenced by the numerical value table 206b.

YOGOチャート200が正しく記載されていれば、STEP25でも「yes」と判断される。そして、この場合(STEP25:yes)は、始点204が見つかった座標位置(N,M)に記載されている内容が、上述した記載要件1~6を全て満足したことになる。そこで、その座標位置(N,M)と、STEP16で読み込んだ基本動作206中の動作記述206aと、基本動作206中の数値テーブル206bとを、1つの中間レコード(N,M,動作記述206a,数値テーブル206b)にまとめて、メモリに記憶する(STEP27)。また、STEP16で読み込んだ基本動作206中の動作記述206aが、数値テーブル206bを必要としない動作記述206aであった場合は(STEP19:no)、座標位置(N,M)と、STEP16で読み込んだ基本動作206中の動作記述206aとを、1つの中間レコード(N,M,動作記述206a)にまとめて、メモリに記憶する(STEP20)。 If the YOGO chart 200 is written correctly, STEP 25 will also be judged as "yes". In this case (STEP 25: yes), the content written at the coordinate position (N, M) where the starting point 204 was found satisfies all of the above-mentioned description requirements 1 to 6. Therefore, that coordinate position (N, M), the action description 206a in the basic action 206 read in STEP 16, and the numerical value table 206b in the basic action 206 are combined into a single intermediate record (N, M, action description 206a, numerical value table 206b) and stored in memory (STEP 27). Furthermore, if the behavioral description 206a in the basic behavior 206 read in STEP 16 is a behavioral description 206a that does not require a numerical value table 206b (STEP 19: no), the coordinate position (N, M) and the behavioral description 206a in the basic behavior 206 read in STEP 16 are combined into one intermediate record (N, M, behavioral description 206a) and stored in memory (STEP 20).

以上では、YOGOチャート200が正しく記載されていた場合について説明したが、YOGOチャート200が正しく記載されていない場合も起こり得る。例えば、上述した記載要件1を満足しない場合、すなわち、始点204に対応する終点205が記載されていない場合は、図17のSTEP12で「no」と判断される。そして、記載要件を満たしていないと判断した問題の座標位置(N,M)と、記載要件1に違反することを示すエラーコード(エラーコード1)とをメモリに記憶する(STEP13)。 Although the above describes the case where the YOGO chart 200 is written correctly, there may also be cases where the YOGO chart 200 is written incorrectly. For example, if the above-mentioned description requirement 1 is not met, that is, if the end point 205 corresponding to the start point 204 is not written, then STEP 12 in FIG. 17 is judged as "no." Then, the coordinate position (N, M) of the problem that is judged not to satisfy the description requirement and an error code (error code 1) indicating a violation of description requirement 1 are stored in memory (STEP 13).

また、上述した記載要件2を満足しない場合、すなわち、始点204と終点205との間に基本動作206が記載されていない場合は、STEP14で「no」と判断して、問題が発生した座標位置(N,M)と、記載要件2に違反することを示すエラーコード(エラーコード2)とをメモリに記憶する(STEP15)。更に、上述した記載要件3を満足しない場合、すなわち、基本動作206中の動作記述206aが座標位置(N,M)のアクチュエータ番号Mに対応していなかった場合は、STEP17で「no」と判断して、記載要件を満たさない問題の座標位置(N,M)と、記載要件3に違反することを示すエラーコード(エラーコード3)とをメモリに記憶する(STEP18)。 If the above-mentioned description requirement 2 is not satisfied, i.e., if the basic operation 206 is not described between the start point 204 and the end point 205, then STEP 14 is judged as "no" and the coordinate position (N, M) where the problem occurred and an error code (error code 2) indicating a violation of description requirement 2 are stored in memory (STEP 15). Furthermore, if the above-mentioned description requirement 3 is not satisfied, i.e., if the operation description 206a in the basic operation 206 does not correspond to the actuator number M of the coordinate position (N, M), then STEP 17 is judged as "no" and the problematic coordinate position (N, M) that does not satisfy the description requirement and an error code (error code 3) indicating a violation of description requirement 3 are stored in memory (STEP 18).

基本動作206中の動作記述206aが数値テーブル206bを必須とする動作記述206aであった場合には(図17のSTEP19:yes)、上述した記載要件4、すなわち、基本動作206中に数値テーブル206bが記載されているか否かを判断する。そして、数値テーブル206bが記載されていなかった場合は、図18のSTEP21で「no」と判断して、記載要件を満たさない問題の座標位置(N,M)と、記載要件4に違反することを示すエラーコード(エラーコード4)とをメモリに記憶する(STEP22)。 If the behavior description 206a in the basic behavior 206 requires the use of the numerical value table 206b (STEP 19 in FIG. 17: yes), the above-mentioned description requirement 4 is met, that is, whether or not the numerical value table 206b is described in the basic behavior 206 is determined. If the numerical value table 206b is not described, the result is determined as "no" in STEP 21 in FIG. 18, and the coordinate position (N, M) of the problem that does not satisfy the description requirement and an error code (error code 4) indicating a violation of description requirement 4 are stored in memory (STEP 22).

また、上述した記載要件5を満足しない場合、すなわち、基本動作206中の動作記述206aと数値テーブル206bとが対応していない場合は、STEP23で「no」と判断して、記載要件を満たさない問題の座標位置(N,M)と、記載要件5に違反することを示すエラーコード(エラーコード5)とをメモリに記憶する(STEP24)。更に、上述した記載要件6を満足しない場合、すなわち、数値テーブル206bに設定されている数値が参照テーブルと整合していない場合は、STEP25で「no」と判断して、記載要件を満たさない問題の座標位置(N,M)と、記載要件6に違反することを示すエラーコード(エラーコード6)とをメモリに記憶する(STEP26)。 If the above-mentioned description requirement 5 is not satisfied, i.e., if the operation description 206a in the basic operation 206 does not correspond to the numerical table 206b, the answer is determined as "no" in STEP 23, and the coordinate position (N, M) of the problem that does not satisfy the description requirement and an error code (error code 5) indicating a violation of the description requirement 5 are stored in memory (STEP 24). If the above-mentioned description requirement 6 is not satisfied, i.e., if the numerical value set in the numerical table 206b is not consistent with the reference table, the answer is determined as "no" in STEP 25, and the coordinate position (N, M) of the problem that does not satisfy the description requirement and an error code (error code 6) indicating a violation of the description requirement 6 are stored in memory (STEP 26).

このように、YOGOチャート解析処理のSTEP11~STEP27では、YOGOチャート200上で始点204が記載された座標位置(N,M)を探索し、見つかった座標位置(N,M)に記載されている内容が、上述した記載要件1~3、あるいは記載要件1~6を満足するか否かを判断する。そして、満足している場合は、座標位置(N,M)を含む中間レコードをメモリに記憶する(図17のSTEP20、または図18のSTEP27)。これに対して、満足していない場合は、問題のあった座標位置(N,M)と、満足していない記載要件を示すエラーコードとをメモリに記憶する(STEP13,STEP15,STEP18,STEP22,STEP24,STEP26)。 In this way, in STEP 11 to STEP 27 of the YOGO chart analysis process, the coordinate position (N, M) where the starting point 204 is written on the YOGO chart 200 is searched for, and it is determined whether the content written at the found coordinate position (N, M) satisfies the above-mentioned description requirements 1 to 3 or description requirements 1 to 6. If it does, an intermediate record including the coordinate position (N, M) is stored in memory (STEP 20 in FIG. 17 or STEP 27 in FIG. 18). On the other hand, if it does not, the problematic coordinate position (N, M) and an error code indicating the description requirement that is not satisfied are stored in memory (STEP 13, STEP 15, STEP 18, STEP 22, STEP 24, STEP 26).

こうして、始点204が見つかった座標位置(N,M)に対する操作が終了したら、アクチュエータ番号Mが最終値に達したか否かを判断する(図18のSTEP28)。そして、アクチュエータ番号Mの最終値に達していない場合は(STEP28:no)、アクチュエータ番号Mに1を加算した後(STEP29)、加算後の新たなアクチュエータ番号Mを用いて、再び、座標位置(N,M)に始点204が記載されているか否かを判断する(図17のSTEP11)。 When the operation for the coordinate position (N, M) where the starting point 204 was found is thus completed, it is determined whether or not the actuator number M has reached its final value (STEP 28 in FIG. 18). If the actuator number M has not reached its final value (STEP 28: no), 1 is added to the actuator number M (STEP 29), and the new actuator number M after the increment is used to determine again whether or not the starting point 204 has been written at the coordinate position (N, M) (STEP 11 in FIG. 17).

このように、部分期間番号Nは変更せずに、アクチュエータ番号Mを1つずつ増加させながら、始点204が記載された座標位置(N,M)を探索することによって、STEP11~STEP28の操作を繰り返す。そして、アクチュエータ番号Mが最終値に達したら(STEP28:yes)、今度は、部分期間番号Nが最終値に達したか否かを判断する(STEP30)。例えば、YOGOチャート200上で、自動製造機械1の動作が100個の部分期間を用いて記述されているのであれば、部分期間番号Nの最終値は100となる。 In this way, the operations of STEP 11 to STEP 28 are repeated by searching for the coordinate position (N, M) where the starting point 204 is described while increasing the actuator number M by one at a time without changing the partial period number N. Then, when the actuator number M reaches its final value (STEP 28: yes), it is then determined whether the partial period number N has reached its final value (STEP 30). For example, if the operation of the automatic manufacturing machine 1 is described on the YOGO chart 200 using 100 partial periods, the final value of the partial period number N will be 100.

その結果、部分期間番号Nが最終値に達していない場合は(STEP30:no)、部分期間番号Nに1を加算すると共に(STEP31)、アクチュエータ番号Mを「1」に初期化した後(STEP32)、STEP11に戻って、再び、YOGOチャート上の座標(N,M)に始点204が記載されているか否かを判断する。すなわち、YOGOチャート200上で、部分期間番号Nが「n」の部分期間に含まれる複数の座標位置(n,M)を上から順番に確認して行き、一番下まで確認したら、今度は、部分期間番号Nが「n+1」の部分期間に含まれる複数の座標位置(n+1,M)を上から順番に確認して行きく。そして、始点204が記載され且つ記載要件を満たす座標位置(N,M)については中間レコードをメモリに記憶し、記載要件を満たさない問題の座標位置(N,M)については、その問題の座標位置(N,M)とエラーコードとをメモリに記憶していく。そして、このような操作を繰り返していき、最終的に、部分期間番号Nが最終値に達したら(図18のSTEP30:yes)、YOGOチャート200上の全ての座標位置(N,M)についての操作が終了したことになる。 As a result, if the partial period number N has not reached the final value (STEP 30: no), 1 is added to the partial period number N (STEP 31), and the actuator number M is initialized to "1" (STEP 32), and then the process returns to STEP 11 to determine again whether the starting point 204 is written at the coordinate (N, M) on the YOGO chart. That is, on the YOGO chart 200, the multiple coordinate positions (n, M) included in the partial period with the partial period number N of "n" are checked from the top in order, and when the bottom is checked, the multiple coordinate positions (n+1, M) included in the partial period with the partial period number N of "n+1" are checked from the top in order. Then, for the coordinate position (N, M) where the starting point 204 is written and which satisfies the description requirements, an intermediate record is stored in memory, and for the problematic coordinate position (N, M) which does not satisfy the description requirements, the problematic coordinate position (N, M) and an error code are stored in memory. This operation is then repeated, and when the partial period number N finally reaches the final value (STEP 30 in FIG. 18: yes), the operation has been completed for all coordinate positions (N, M) on the YOGO chart 200.

こうして、YOGOチャート200上の全ての座標位置(N,M)についての操作が終了したら、今度は、エラーコードが記憶されているか否かを判断する(図19のSTEP33)。YOGOチャート200中に上述した記載要件を満足さない問題の座標位置(N,M)が存在していれば、エラーコードが記憶されている筈である。逆に言えば、エラーコードが記憶されていなければ、YOGOチャート200は正しく記載されていると考えてよい。そこで、エラーコードが記憶されていない場合は(STEP33:no)、記憶しておいた全ての中間レコードを出力する(STEP34)。図15に例示した中間データは、こうして全ての中間レコードが出力されたものである。こうして全ての中間レコードを中間データとして出力したら(STEP34)、図17~図19に示したYOGOチャート解析処理(STEP2)を終了して、図14の制御プログラム生成処理に復帰する。そして、制御プログラム生成処理に復帰した後は、中間データから制御プログラムを生成する操作(STEP3)を開始することになる。 After the operation for all coordinate positions (N, M) on the YOGO chart 200 is completed in this way, it is determined whether an error code has been stored (STEP 33 in FIG. 19). If there is a problematic coordinate position (N, M) in the YOGO chart 200 that does not satisfy the above-mentioned description requirements, an error code should have been stored. Conversely, if no error code is stored, it can be considered that the YOGO chart 200 is correctly described. Therefore, if no error code is stored (STEP 33: no), all stored intermediate records are output (STEP 34). The intermediate data illustrated in FIG. 15 is the result of all intermediate records being output in this way. After all intermediate records have been output as intermediate data in this way (STEP 34), the YOGO chart analysis process (STEP 2) shown in FIGS. 17 to 19 is terminated, and the process returns to the control program generation process in FIG. 14. After returning to the control program generation process, the operation of generating a control program from the intermediate data (STEP 3) begins.

一方、図19のSTEP33で、エラーコードが記憶されていると判断した場合は(STEP33:yes)、YOGOチャート200の中に、上述した記載要件1~6の何れかを満たさない問題の座標位置(N,M)が存在することになる。そして、そのような場合は、問題の座標位置(N,M)と、該当する記載要件を示すエラーコードが記憶されている(STEP13,STEP15,STEP18,STEP22,STEP24,STEP26参照)。そこで、記憶しておいた問題の座標位置(N,M)と、エラーコードとを出力する(STEP35)。 On the other hand, if it is determined in STEP 33 of FIG. 19 that an error code has been stored (STEP 33: yes), then the YOGO chart 200 contains a coordinate position (N, M) of a problem that does not satisfy any of the above-mentioned description requirements 1 to 6. In such a case, the coordinate position (N, M) of the problem and an error code indicating the corresponding description requirement are stored (see STEP 13, STEP 15, STEP 18, STEP 22, STEP 24, STEP 26). Therefore, the stored coordinate position (N, M) of the problem and the error code are output (STEP 35).

図20は、問題の座標位置(N,M)と、エラーコードとが出力された様子を例示した説明図である。図示した例では、問題の座標位置として、(4,12)、(8,2)、(25,15)、(42,6)の4つの座標位置(N,M)が出力され、それぞれについてエラーコード4、エラーコード1、エラーコード6、エラーコード5が出力されている。これらの記載から、YOGOチャート200中のどの座標位置(N,M)に、どのような記載ミスが存在するのかを直ちに認識することが可能となる。 Figure 20 is an explanatory diagram illustrating the output of problematic coordinate positions (N, M) and error codes. In the illustrated example, four coordinate positions (N, M) are output as problematic coordinate positions: (4, 12), (8, 2), (25, 15), and (42, 6), and error code 4, error code 1, error code 6, and error code 5 are output for each. From these entries, it is possible to immediately recognize which coordinate position (N, M) in the YOGO chart 200 contains what type of entry error.

また、問題の座標位置(N,M)およびエラーコードが出力された場合は(図19のSTEP35)、YOGOチャート200が正しく記載されていないことになるので、図14の制御プログラム生成処理に復帰することなく、図17~図19に示したYOGOチャート解析処理を終了する。 Also, if the problematic coordinate position (N, M) and an error code are output (STEP 35 in FIG. 19), the YOGO chart 200 is not drawn correctly, so the YOGO chart analysis process shown in FIG. 17 to FIG. 19 is terminated without returning to the control program generation process in FIG. 14.

F.動作制御処理 :
図14を用いて前述した制御プログラム生成処理では、図15に例示した中間データから図16に例示した制御プログラムを生成して(STEP3)、図10の制御実行部106に出力する(STEP4)。そして、制御実行部106は、制御プログラムに従って、自動製造機械制御装置100のアクチュエータ10~20の動作を制御する。しかし、図16に示されるように、本実施例の制御プログラムは、データレコードと呼ぶ数値の組が、連続したものに過ぎない。そこで、最後に、本実施例の自動製造機械制御装置100の制御実行部106が、制御プログラムに基づいてアクチュエータ10~20の動作を制御する処理について説明しておく。
F. Motion Control Processing:
In the control program generation process described above with reference to Fig. 14, a control program as illustrated in Fig. 16 is generated from the intermediate data as illustrated in Fig. 15 (STEP 3), and output to the control execution unit 106 in Fig. 10 (STEP 4). The control execution unit 106 then controls the operation of the actuators 10-20 of the automatic manufacturing machine control device 100 in accordance with the control program. However, as shown in Fig. 16, the control program of this embodiment is merely a series of sets of numerical values called data records. Finally, the process in which the control execution unit 106 of the automatic manufacturing machine control device 100 of this embodiment controls the operation of the actuators 10-20 based on the control program will be described.

図21は、自動製造機械制御装置100の制御実行部106が、制御プログラムに従って自動製造機械1の動作を制御する動作制御処理のフローチャートである。図21に示すように、動作制御処理を開始すると、先ず初めに、部分期間番号Nを「1」に初期化する(STEP50)。続いて、制御プログラムの複数のデータレコードの中から、先頭の要素がNのデータレコードを抽出する(STEP51)。該当するデータレコードが複数存在する場合は、それら全てのデータレコードを抽出する。尚、動作制御処理を開始した直後であれば、部分期間番号Nは「1」に設定されているから、図16に例示した制御プログラムから、(1,4,4,19)というデータレコードを読み出すことになる。 Figure 21 is a flowchart of the 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 in accordance with a control program. As shown in Figure 21, when the operation control process is started, first, the partial period number N is initialized to "1" (STEP 50). Next, from the multiple data records of the control program, a data record whose first element is N is extracted (STEP 51). If there are multiple corresponding data records, all of these data records are extracted. Note that if the operation control process has just started, the partial period number N is set to "1", so the data record (1, 4, 4, 19) will be read from the control program shown in Figure 16.

続いて、読み出したデータレコードの中から2番目の要素(すなわち、アクチュエータ番号M)を読み出して、制御対象となるアクチュエータを特定する(STEP52)。STEP51で読み出したデータレコードを(1,4,4,19)とすれば2番目の要素は「4」であるから、アクチュエータ番号Mが「4」のアクチュエータが制御対象のアクチュエータとなる。また、STEP51で複数のデータレコードを読み出していた場合には、それぞれのデータレコードの2番目の要素に基づいて、制御対象となるそれぞれのアクチュエータを特定する。 Next, the second element (i.e., actuator number M) is read from the data record that was read, and the actuator to be controlled is identified (STEP 52). If the data record read in STEP 51 is (1, 4, 4, 19), then the second element is "4", and therefore the actuator with actuator number M of "4" is the actuator to be controlled. Furthermore, if multiple data records were read in STEP 51, each actuator to be controlled is identified based on the second element of each data record.

更に、読み出したデータレコードの中から3番目の要素を用いて、基本動作記憶部102に記憶されているプログラム要素番号を検索することによって(図13参照)、アクチュエータに基本動作させるためのプログラム要素を取得する(STEP53)。STEP51で読み出したデータレコードを(1,4,4,19)とすれば3番目の要素は「4」であるから、基本動作させるためのプログラム要素は、プログラム要素番号が「4」番のプログラム要素となる。 Furthermore, the third element from the read data record is used to search for the program element number stored in the basic operation memory unit 102 (see FIG. 13) to obtain the program element for causing the actuator to perform the basic operation (STEP 53). If the data record read in STEP 51 is (1, 4, 4, 19), the third element is "4", so the program element for performing the basic operation is the program element with program element number "4".

最後に、データレコードに4番目の要素が存在している場合は、その要素は、図6および図7を用いて前述した数値テーブル206bを特定する数値テーブル番号を示しており、数値テーブル206bに設定されている数値は、プログラム要素に設定する引数となる。そこで、基本動作記憶部102に記憶されている数値テーブル206bを検索することによって、数値テーブル番号を有する数値テーブル206bを特定した後、数値テーブル206bに設定されている数値を、プログラム要素に引数として設定する(STEP54)。 Finally, if a fourth element exists in the data record, that element indicates a numeric table number that identifies the numeric table 206b described above with reference to Figures 6 and 7, and the numeric value set in the numeric table 206b becomes an argument to be set in the program element. Therefore, by searching for the numeric table 206b stored in the basic operation memory unit 102, the numeric table 206b having the numeric table number is identified, and the numeric value set in the numeric table 206b is set as an argument to the program element (STEP 54).

以上のSTEP51~STEP54の操作を行うことによって、YOGOチャート上のある部分期間(動作制御処理が開始された直後は、部分期間番号Nが「1」番の部分期間)に記載された基本動作を、それぞれのアクチュエータに行わせる準備が整ったことになる。すなわち、制御対象となるアクチュエータが特定され(STEP52)、制御に用いるプログラム要素が取得され(STEP53)、プログラム要素に対して引数が設定された(STEP54)ことになるので、そのプログラム要素を実行する(STEP55)。例えば、アクチュエータがサーボモータであり、基本動作の内容がモータを正方向に180度回転させるという内容であった場合は、モータの回転角度を検出しながら、回転角度が180度になるまでモータを駆動する動作を、所定の制御周期で繰り返すようなプログラム要素を実行する。また、複数のプログラム要素が存在する場合は、それらのプログラム要素が並行して実行されることになる。 By carrying out the above steps 51 to 54, each actuator is prepared to perform the basic operation described in a certain partial period on the YOGO chart (immediately after the operation control process is started, the partial period with partial period number N of "1"). That is, the actuator to be controlled is identified (STEP 52), the program element to be used for control is obtained (STEP 53), and arguments are set for the program element (STEP 54), and the program element is executed (STEP 55). For example, if the actuator is a servo motor and the content of the basic operation is to rotate the motor 180 degrees in the forward direction, a program element is executed that detects the rotation angle of the motor and drives the motor until the rotation angle reaches 180 degrees, repeating this operation at a predetermined control period. Furthermore, if there are multiple program elements, these program elements are executed in parallel.

続いて、全てのプログラム要素の実行が終了したか否かを判断する(STEP56)。すなわち、STEP55で複数のプログラム要素を実行した場合は、それらのプログラム要素の実行が同時に終了するとは限らないので、全てのプログラム要素の実行が終了したか否かを判断する。もちろん、STEP55で1つのプログラム要素しか実行していない場合は、そのプログラム要素の実行が終了したか否かを判断することになる。 Next, it is determined whether execution of all program elements has ended (STEP 56). In other words, if multiple program elements have been executed in STEP 55, the execution of those program elements will not necessarily end at the same time, so it is determined whether execution of all program elements has ended. Of course, if only one program element has been executed in STEP 55, it is determined whether execution of that program element has ended.

その結果、実行中のプログラム要素が残っている場合は、STEP56では「no」と判断して、再び同じ判断(STEP56)を繰り返す。こうすることによって、全てのプログラム要素の実行が終了するまで待機状態となる。そして、全てのプログラム要素の実行が終了したら(STEP56:yes)、部分期間番号Nが最終値に達したか否かを判断する(STEP57)。例えば、YOGOチャート上で自動製造機械1の動作を記述するために、100個の部分期間が用いられていた場合は、部分期間番号Nが「100」に達したか否かを判断する。 If there are any program elements still being executed, then STEP 56 judges "no" and repeats the same judgment (STEP 56). This puts the system into a standby state until execution of all program elements is complete. Then, when execution of all program elements is complete (STEP 56: yes), it judges whether partial period number N has reached its final value (STEP 57). For example, if 100 partial periods have been used to describe the operation of the automatic manufacturing machine 1 on the YOGO chart, it judges whether partial period number N has reached "100".

その結果、部分期間番号Nがまだ最終値に達していない場合は(STEP57:no)、部分期間番号Nを1つ増加させる(STEP58)。そして、STEP51に戻って、制御プログラムのデータレコードの中から、先頭の要素が新たな部分期間番号Nに一致するデータレコードを読み出した後、読み出したデータレコードに対して上述したSTEP52~STEP55の操作を行う。こうすることにより、先に基本動作を実行した部分期間から1つ部分期間を進めて、新たな部分期間に記載された全ての基本動作が実行されることになる。そして、新たな部分期間の全ての基本動作が終了して、STEP56で「yes」と判断したら、その部分期間の部分期間番号Nが最終値に達しているか否かを判断する(STEP57)。その結果、部分期間番号Nが最終値に達していない場合は(STEP57:no)、部分期間番号Nを1つ増加させた後(STEP58)、STEP51に戻って、新たな部分期間番号Nについて、上述したSTEP51~STEP57の操作を繰り返す。 If the partial period number N has not yet reached the final value (STEP 57: no), the partial period number N is incremented by one (STEP 58). Then, returning to STEP 51, a data record whose first element matches the new partial period number N is read from among the data records of the control program, and the above-mentioned operations in STEP 52 to STEP 55 are performed on the read data record. In this way, the partial period advances by one from the partial period in which the previous basic operation was performed, and all basic operations described in the new partial period are performed. Then, when all basic operations in the new partial period are completed and "yes" is determined in STEP 56, it is determined whether the partial period number N of that partial period has reached the final value (STEP 57). If the partial period number N has not yet reached the final value (STEP 57: no), the partial period number N is incremented by one (STEP 58), and the process returns to STEP 51, where the above-mentioned operations in STEP 51 to STEP 57 are repeated for the new partial period number N.

このように、図21の動作制御処理では、YOGOチャートの先頭の部分期間(すなわち、部分期間番号Nが1番の部分期間)から最後の部分期間(部分期間番号Nが最終値の部分期間)に向かって、部分期間を1つずつ選択して、その部分期間に記載された基本動作を実行する動作を繰り返す。そして、最後の部分期間の基本動作が終了したら、STEP57で「yes」と判断して、動作制御処理を終了する。 In this way, in the motion control process of FIG. 21, partial periods are selected one by one from the first partial period of the YOGO chart (i.e., the partial period with partial period number N 1) to the last partial period (the partial period with partial period number N of the final value), and the operation of executing the basic operation described in that partial period is repeated. Then, when the basic operation of the last partial period is completed, "yes" is determined in STEP 57, and the motion control process is terminated.

以上に詳しく説明したように、本実施例の自動製造機械制御装置100では、自動製造機械1の動作をYOGOチャート200で記述することによって、そのYOGOチャート200から制御プログラムを自動で生成して、自動製造機械制御装置100を動作させることができる。また、YOGOチャートは、自動製造機械1の構造や動作が分かっていれば、プログラムに関する知識が無くても簡単に作成することができるので、プログラマが制御プログラムを作成する必要が無い。このため、新たな自動製造機械1を開発するために要する時間を、大幅に(少なくとも半分以下に)短縮することができ、加えて、プログラマを確保しておく必要も無くなる。その結果、製造現場に新たな自動製造機械を導入することが容易になって、産業界での省力化に対する要請に十分に対応することが可能となる。 As described above in detail, in the automatic manufacturing machine control device 100 of this embodiment, the operation of the automatic manufacturing machine 1 is described in the YOGO chart 200, and a control program can be automatically generated from the YOGO chart 200 to operate the automatic manufacturing machine control device 100. In addition, since the YOGO chart can be easily created without knowledge of programming as long as the structure and operation of the automatic manufacturing machine 1 are known, there is no need for a programmer to create the control program. This makes it possible to significantly reduce the time required to develop a new automatic manufacturing machine 1 (at least by half), and in addition, there is no need to secure a programmer. As a result, it becomes easier to introduce new automatic manufacturing machines to manufacturing sites, making it possible to fully respond to requests for labor saving in the industrial world.

加えて、本実施例の自動製造機械制御装置100では、YOGOチャート200から制御プログラムを生成する際に、YOGOチャート200に記載された内容が所定の記載要件を満足するか否かを判断して、満足していなければ制御プログラムが生成されないようになっている。このため、記載ミスのあるYOGOチャート200に基づいて、不適切な制御プログラムが生成されてしまう事態を回避することが可能となる。 In addition, in the automated manufacturing machine control device 100 of this embodiment, when generating a control program from the YOGO chart 200, it is determined whether the contents written on the YOGO chart 200 satisfy certain description requirements, and if they are not satisfied, the control program is not generated. This makes it possible to avoid a situation in which an inappropriate control program is generated based on a YOGO chart 200 that contains a description error.

更に、YOGOチャート200に記載ミスが見つかった場合には、記載ミスが存在する問題の座標位置(すなわち、問題座標位置)と、記載ミスの内容を示すエラーコードとが出力される。このため、YOGOチャート200上で記載ミスが存在する個所と、記載ミスの内容とが分かるので、記載ミスを容易に修正して正しいYOGOチャート200を作成することが可能となる。 Furthermore, if an error is found in the YOGO Chart 200, the coordinate position of the problem where the error exists (i.e., the problem coordinate position) and an error code indicating the content of the error are output. Therefore, since the location of the error on the YOGO Chart 200 and the content of the error can be known, it becomes possible to easily correct the error and create a correct YOGO Chart 200.

以上、本実施例の制御プログラム生成装置110について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。 The above describes the control program generation device 110 of this embodiment, but the present invention is not limited to the above embodiment and can be implemented in various forms without departing from the spirit of the invention.

1…自動製造機械、 2…レール、 3…搬送ユニット、 3a…把持軸、
3b…チャック、 4…加工ユニット、 10~20…アクチュエータ、
10d~20d…ドライバ回路、 50…コンピュータ、
100…自動製造機械制御装置、 100m…モニター画面、
100s…操作入力ボタン、 101…YOGOチャート作成部、
102…基本動作記憶部、 103…YOGOチャート読込部、
104…YOGOチャート解析部、 105…制御プログラム生成部、
106…制御実行部、 110…制御プログラム生成装置、 201…仕切線、
202…トリガー線、 203…動作線、 204…始点、 205…終点、
206…基本動作、 206a…動作記述、 206b…数値テーブル。
REFERENCE SIGNS LIST 1...automatic manufacturing machine, 2...rail, 3...transport unit, 3a...gripping shaft,
3b... chuck, 4... processing unit, 10 to 20... actuator,
10d to 20d... driver circuit, 50... computer,
100...automatic manufacturing machine control device, 100m...monitor screen,
100s...operation input button, 101...YOGO chart creation unit,
102: Basic operation memory unit; 103: YOGO chart reading unit;
104...YOGO chart analysis unit, 105...control program generation unit,
106: control execution unit; 110: control program generating device; 201: partition line;
202: trigger line; 203: action line; 204: starting point; 205: end point;
206: basic operation; 206a: operation description; 206b: numerical value table.

Claims (4)

複数のアクチュエータ(10~20)を備えた自動製造機械(1)の制御プログラムを生成する制御プログラム生成装置(110)であって、
前記アクチュエータの自由度毎の動作を表す基本動作(206)を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(102)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が前記複数の部分期間の中から前記基本動作毎に選択された何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(103)と、
前記動作チャートに記載された前記基本動作が、所定の記載要件を満足するか否かを判断する記載要件判断部(104)と、
前記動作チャート中の前記基本動作が前記記載要件を満足していた場合には、前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(105)と
を備え、
前記動作チャート読込部が読み込む前記動作チャートは、表形式の一軸側に前記複数の部分期間が割り当てられ、前記表形式の他軸側に前記複数のアクチュエータが割り当てられ、尚且つ、前記一軸側の座標値と前記他軸側の座標値とによって決まる座標位置に前記基本動作が記載された前記動作チャートであり、
前記基本動作記憶部は、前記アクチュエータと、前記アクチュエータが実行可能な前記基本動作との対応関係を、前記記載要件判断部から参照される前記記載要件として記憶しており、
前記記載要件判断部は、前記基本動作が記載された前記座標位置を取得して、前記座標位置の中の前記他軸側の座標値に割り当てられた前記アクチュエータが、前記基本動作に対して前記対応関係で対応付けられた前記アクチュエータでなかった場合には、前記記載要件を満足しないものと判断して、前記記載要件を満足しない前記基本動作が記載された前記座標位置を、問題座標位置として出力する
ことを特徴とする制御プログラム生成装置。
A control program generating device (110) for generating a control program for an automatic manufacturing machine (1) having a plurality of actuators (10-20),
a basic operation storage unit (102) that stores basic operations (206) representing operations for each degree of freedom of the actuator in association with program elements that realize the basic operations;
an operation chart reading unit (103) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations , and the basic operations are assigned to any one of the partial periods selected for each basic operation from among the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a description requirement determination unit (104) for determining whether the basic operation described in the operation chart satisfies a predetermined description requirement;
a control program generating unit (105) that generates the control program for operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart in accordance with the order of the partial periods on the operation chart when the plurality of basic operations in the operation chart satisfy the description requirements,
the operation chart read by the operation chart reading unit is an operation chart in which the plurality of partial periods are assigned to one axis side of a table format, the plurality of actuators are assigned to another axis side of the table format, and the basic operations are described at coordinate positions determined by coordinate values on the one axis side and coordinate values on the other axis side,
the basic operation storage unit stores a correspondence relationship between the actuator and the basic operation that can be executed by the actuator as the description requirement to be referenced by the description requirement determination unit;
the description requirement determination unit acquires the coordinate position in which the basic operation is described, and if the actuator assigned to the coordinate value on the other axis side of the coordinate position is not the actuator associated with the basic operation in the correspondence relationship, determines that the description requirement is not satisfied, and outputs the coordinate position in which the basic operation that does not satisfy the description requirement is described as a problem coordinate position.
請求項1に記載の制御プログラム生成装置であって、
前記動作チャート読込部は、前記基本動作の定性的な内容を記述した動作記述(206a)と、前記基本動作の定量的な内容を数値によって記述した数値記述との組み合わせによって、前記基本動作が記載された前記動作チャートを読み込んでおり、
前記基本動作記憶部は、
前記基本動作の前記動作記述に対応する前記プログラム要素と、前記数値記述に対応する数値テーブル(206b)とを記憶していると共に、
前記記載要件として、前記動作記述と、前記動作記述に組み合わせて用いられる前記数値記述とを対応付けた組合せ対応関係を記憶しており、
前記記載要件判断部は、前記座標位置に前記基本動作として記載された前記動作記述と前記数値記述との組み合わせが、前記組合せ対応関係を満足しなかった場合には、前記記載要件を満足しないものと判断して、前記問題座標位置を出力する
ことを特徴とする制御プログラム生成装置。
2. The control program generating device according to claim 1,
the operation chart reading unit reads the operation chart in which the basic operation is described by a combination of an operation description (206a) describing qualitative content of the basic operation and a numerical description describing quantitative content of the basic operation by numerical values;
The basic operation storage unit
The program element corresponding to the operation description of the basic operation and the numerical value table (206b) corresponding to the numerical value description are stored,
a combination correspondence relationship that associates the operation description with the numerical description used in combination with the operation description is stored as the description requirement;
the description requirement judgment unit, when a combination of the operation description and the numerical description described as the basic operation at the coordinate position does not satisfy the combination correspondence relationship, judges that the description requirement is not satisfied and outputs the problem coordinate position.
請求項2に記載の制御プログラム生成装置であって、
前記基本動作記憶部は、前記記載要件として、前記数値記述に対応する前記数値テーブルに設定可能な数値範囲を前記数値記述毎に記憶しており、
前記記載要件判断部は、前記数値テーブルに設定された数値が、前記数値範囲内になかった場合には、前記記載要件を満足しないものと判断して、前記問題座標位置を出力する
ことを特徴とする制御プログラム生成装置。
3. The control program generating device according to claim 2,
the basic operation storage unit stores, for each of the numerical descriptions, a numerical range that can be set in the numerical table corresponding to the numerical descriptions, as the description requirement;
the description requirement judgment unit, when a numerical value set in the numerical table is not within the numerical range, judges that the description requirement is not satisfied and outputs the problem coordinate position.
請求項1ないし請求項3の何れか一項に記載の制御プログラム生成装置であって、
前記記載要件判断部は、前記問題座標位置を出力する際に、満足しないと判断した前記記載要件を示すエラーコードも出力する
ことを特徴とする制御プログラム生成装置。
The control program generating device according to any one of claims 1 to 3,
the description requirement determination unit also outputs an error code indicating the description requirement that is determined to be not satisfied when outputting the problem coordinate position.
JP2020129779A 2020-07-30 2020-07-30 Control program generator Active JP7523116B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020129779A JP7523116B2 (en) 2020-07-30 2020-07-30 Control program generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020129779A JP7523116B2 (en) 2020-07-30 2020-07-30 Control program generator

Publications (2)

Publication Number Publication Date
JP2022026361A JP2022026361A (en) 2022-02-10
JP7523116B2 true JP7523116B2 (en) 2024-07-26

Family

ID=80263534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020129779A Active JP7523116B2 (en) 2020-07-30 2020-07-30 Control program generator

Country Status (1)

Country Link
JP (1) JP7523116B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327263A (en) 2004-04-13 2005-11-24 Omron Corp Control system setting device
JP2013054650A (en) 2011-09-06 2013-03-21 Toshiba Corp Program inspection device
WO2015063925A1 (en) 2013-10-31 2015-05-07 三菱電機株式会社 Program creating device, program creating method, and program
WO2015075790A1 (en) 2013-11-20 2015-05-28 三菱電機株式会社 Device for assisting creation of sequence program
JP2019016037A (en) 2017-07-04 2019-01-31 ファナック株式会社 Program creation apparatus
JP2019016095A (en) 2017-07-05 2019-01-31 キーサイト テクノロジーズ, インク. Measurement system program constructing method, measurement system, and computer-readable storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667709A (en) * 1992-06-17 1994-03-11 Fujitsu Ltd Sequence program creating method and apparatus and sequence control apparatus
JPH10222209A (en) * 1997-02-06 1998-08-21 Hitachi Ltd FA system program creation method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327263A (en) 2004-04-13 2005-11-24 Omron Corp Control system setting device
JP2013054650A (en) 2011-09-06 2013-03-21 Toshiba Corp Program inspection device
WO2015063925A1 (en) 2013-10-31 2015-05-07 三菱電機株式会社 Program creating device, program creating method, and program
WO2015075790A1 (en) 2013-11-20 2015-05-28 三菱電機株式会社 Device for assisting creation of sequence program
JP2019016037A (en) 2017-07-04 2019-01-31 ファナック株式会社 Program creation apparatus
JP2019016095A (en) 2017-07-05 2019-01-31 キーサイト テクノロジーズ, インク. Measurement system program constructing method, measurement system, and computer-readable storage medium

Also Published As

Publication number Publication date
JP2022026361A (en) 2022-02-10

Similar Documents

Publication Publication Date Title
JP7808865B2 (en) Control program generation device, control program generation method, and program
JP6787616B1 (en) Control program generator, control program generation method, program
US12174614B2 (en) Control program generation apparatus, control program generation method, and program
JP7523116B2 (en) Control program generator
JP7074378B2 (en) Control program generator, control program generation method, program
US12210337B2 (en) Operation control apparatus, operation control method, and program
US20220308558A1 (en) Control program generation apparatus, control program generation method, and program
JP7114034B2 (en) Control program generation device, control program generation method, program
JP7114035B2 (en) Motion control device, motion control method, program
TWI883588B (en) Control program generation device, control program generation method, and program
JP7760163B2 (en) Control program generation device, control program generation method, and program
US12346096B2 (en) Control program generation apparatus, control program generation method, and program
JP2007226446A (en) Numerical control device, machine tool and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240424

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240708

R150 Certificate of patent or registration of utility model

Ref document number: 7523116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150