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
JP7808865B2 - Control program generation device, control program generation method, and program - Google Patents
[go: Go Back, main page]

JP7808865B2 - Control program generation device, control program generation method, and program - Google Patents

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

Info

Publication number
JP7808865B2
JP7808865B2 JP2023179201A JP2023179201A JP7808865B2 JP 7808865 B2 JP7808865 B2 JP 7808865B2 JP 2023179201 A JP2023179201 A JP 2023179201A JP 2023179201 A JP2023179201 A JP 2023179201A JP 7808865 B2 JP7808865 B2 JP 7808865B2
Authority
JP
Japan
Prior art keywords
period
chart
parallel
actuator
periods
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
JP2023179201A
Other languages
Japanese (ja)
Other versions
JP2024110909A (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 EP23215402.1A priority Critical patent/EP4411494B1/en
Priority to US18/539,412 priority patent/US20240264581A1/en
Publication of JP2024110909A publication Critical patent/JP2024110909A/en
Application granted granted Critical
Publication of JP7808865B2 publication Critical patent/JP7808865B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、複数のアクチュエータを備えた自動製造機械の制御プログラムを自動で生成する技術に関する。 The present invention relates to technology for automatically generating control programs for automated manufacturing machines equipped with multiple actuators.

自動製造機械に搭載された複数のアクチュエータの動作を特殊な動作チャート(以下、YOGOチャート)に記載しておき、このYOGOチャートをコンピュータに読み込ませることで、自動製造機械の制御プログラムを自動で生成する技術を開発した(特許文献1)。YOGOチャートは、縦軸および横軸が複数に分割された表形式のチャートとなっており、縦軸または横軸の一方の軸には自動製造機械に搭載された複数のアクチュエータが割り当てられている。また、YOGOチャートの他方の軸は、自動機械が動作を開始してから終了するまでの動作期間を表しており、その動作期間は複数の部分期間に分割されている。従って、表形式のYOGOチャートを形成するマス目の1つ1つは、複数のアクチュエータの何れかと、複数の部分期間の何れかとの組み合わせに対応している。そこで、YOGOチャートでは、マス目の位置にアクチュエータの動作内容を記載することによって、その動作を実行するアクチュエータと、動作させる部分期間とを指定する。 A technology has been developed that automatically generates a control program for an automated manufacturing machine by recording the operations of multiple actuators installed in the automated manufacturing machine on a special operation chart (hereinafter referred to as a YOGO chart) and loading this YOGO chart into a computer (Patent Document 1). A YOGO chart is a tabular chart with multiple vertical and horizontal axes, and one of the vertical or horizontal axes is assigned to each of the multiple actuators installed in the automated manufacturing machine. The other axis of the YOGO chart represents the operation period from when the automated machine starts to finish operating, and this operation period is divided into multiple subperiods. Therefore, each square in the tabular YOGO chart corresponds to a combination of one of the multiple actuators and one of the multiple subperiods. Therefore, in a YOGO chart, the actuator that performs the operation and the subperiod in which it will operate are specified by recording the actuator's operation in the position of the square.

また、YOGOチャートのマス目の位置には、アクチュエータの基本動作を記載する。ここで、アクチュエータの基本動作とは、アクチュエータが所定の距離だけ前進あるいは後退する動作や、所定の角度だけ回転する動作のように、アクチュエータが備える最も基本的な動作である。自動製造機械のどのような複雑な動作も個々のアクチュエータの基本動作に分解することができるから、YOGOチャートのマス目の位置に基本動作を記載することによって自動製造機械の動作を記述することができる。そして、このようなYOGOチャートを作成しておけば、先頭の部分期間から順番に、その部分期間に割り当てられた内容を読み出してアクチュエータに基本動作を実行させる動作を繰り返していくことで、自動製造機械に所望の動作をさせることができる。このような理由から、自動製造機械を動作させる制御プログラムを、YOGOチャートから自動的に生成することができる。 The basic operation of the actuator is written in the square positions of the YOGO chart. Here, the basic operation of the actuator is the most basic operation that the actuator performs, such as moving the actuator forward or backward a specified distance, or rotating it by a specified angle. Any complex operation of an automatic manufacturing machine can be broken down into the basic operations of each actuator, so the operation of the automatic manufacturing machine can be described by writing the basic operations in the square positions of the YOGO chart. Once such a YOGO chart is created, the automatic manufacturing machine can be made to perform the desired operation by repeatedly reading the contents assigned to each partial period, starting from the first, and having the actuator perform the basic operation. For this reason, the control program that operates the automatic manufacturing machine can be automatically generated from the YOGO chart.

特許第6829505号公報Patent No. 6829505

しかし、上述した開発済みの技術では、自動製造機械が動作を開始してから終了するまでに要する時間が長くなり易いという問題があった。この理由は、次のようなものである。先ず、YOGOチャートから自動生成された制御プログラムは、複数のアクチュエータを部分期間の順番で動作させるようになっている。ここで、同じ部分期間で動作するアクチュエータが複数存在する場合、それらのアクチュエータの中に、動作に要する時間の長いアクチュエータが存在すると、そのアクチュエータが動作を終了するまでは次の部分期間の動作を開始することができない。従って、他のアクチュエータにとっては、自らの動作が終了してから最後のアクチュエータが動作を終了するまでの時間は待ち時間となる。そして、同じ部分期間で動作する複数のアクチュエータの中に、他のアクチュエータに比べて動作の時間が特に長いアクチュエータが含まれていると、待ち時間が特に長くなる。このような長い待ち時間が発生すると、自動製造機械が動作を開始してから終了するまでに要する時間が長くなってしまう。 However, the previously developed technology described above poses a problem in that it can easily take a long time for an automated manufacturing machine to finish operating. The reason for this is as follows: First, a control program automatically generated from a YOGO chart operates multiple actuators in the order of their partial periods. Here, when there are multiple actuators operating in the same partial period, if one of those actuators takes a long time to operate, the next partial period cannot begin operating until that actuator has finished operating. Therefore, for the other actuators, the time from when they finish operating until the last actuator finishes operating becomes a waiting time. Furthermore, if one of the multiple actuators operating in the same partial period takes a particularly long time compared to the other actuators, the waiting time becomes particularly long. When such a long waiting time occurs, the time it takes for an automated manufacturing machine to finish operating becomes longer.

この発明は、開発済みの技術が有する上述した課題を解決するために成されたものであり、自動製造機械が動作を開始してから終了するまでに要する時間の短い制御プログラムを自動で生成する技術の提供を目的とする。 This invention was made to solve the above-mentioned problems with previously developed technologies, and aims to provide technology that automatically generates control programs that shorten the time required for an automated manufacturing machine to finish operating.

上述した課題を解決するために、本発明の制御プログラム生成装置は次の構成を採用した。すなわち、
複数のアクチュエータを備えた自動製造機械(10)の制御プログラム(400)を生成する制御プログラム生成装置(110)であって、
前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する基本動作を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(112)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が前記複数の部分期間の何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(111)と、
前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(113、114)と
を備え、
前記動作チャート読込部が読み込む前記動作チャートは、
前記複数の部分期間の中の連続する2つ以上の前記部分期間が一体に纏められることによって並列期間(210)が設定されており、
前記並列期間では、複数の前記部分期間と、前記並列期間を分割する複数の並列部分期間(212)とが並列に形成された状態となっており、
前記並列期間の前記並列部分期間には、前記複数のアクチュエータの中から選択された選択アクチュエータの前記基本動作が割り当てられており、
前記並列期間の前記部分期間には、前記選択アクチュエータではない前記アクチュエータの前記基本動作が割り当てられており、
前記制御プログラム生成部は、
前記並列期間内で前記並列部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記並列部分期間の順序に従って結合し、
前記並列期間内で前記部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記部分期間の順序に従って結合することによって、前記制御プログラムを生成する
ことを特徴とする。
In order to solve the above-mentioned problems, the control program generating device of the present invention employs the following configuration:
A control program generator (110) for generating a control program (400) for an automated manufacturing machine (10) having a plurality of actuators, comprising:
a basic operation storage unit (112) that stores basic operations in which the actuator operates in the direction of the degree of freedom of the actuator by a specified operation amount, in association with program elements that realize the basic operations;
an operation chart reading unit (111) that reads an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is broken down into a plurality of basic operations, and the basic operations are assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a control program generation unit (113, 114) that generates the control program for operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart in accordance with the order of the partial periods on the operation chart,
The operation chart read by the operation chart reading unit is
Two or more consecutive partial periods among the plurality of partial periods are grouped together to form a parallel period (210);
In the parallel period, a plurality of the partial periods and a plurality of parallel partial periods (212) that divide the parallel period are formed in parallel,
the basic operation of a selected actuator selected from the plurality of actuators is assigned to the parallel partial period of the parallel period,
the basic operation of the actuator other than the selected actuator is assigned to the partial period of the parallel period;
The control program generation unit
The program elements of the basic operations assigned to the parallel sub-periods within the parallel period are combined in accordance with the order of the parallel sub-periods;
The control program is generated by combining the program elements of the basic operations assigned to the partial periods within the parallel period in accordance with the order of the partial periods.

また、上述した制御プログラム生成装置に対応する本発明の制御プログラム生成方法は次の構成を採用した。すなわち、
複数のアクチュエータを備えた自動製造機械(10)の制御プログラム(400)をコンピュータによって生成する制御プログラム生成方法であって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
前記動作チャートに記載された前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP4~STEP6)と
を備え、
前記動作チャート読込工程で読み込む前記動作チャートは、
前記複数の部分期間の中の連続する2つ以上の前記部分期間が一体に纏められることによって並列期間(210)が設定されており、
前記並列期間では、複数の前記部分期間と、前記並列期間を分割する複数の並列部分期間(212)とが並列に形成された状態となっており、
前記並列期間の前記並列部分期間には、前記複数のアクチュエータの中から選択された選択アクチュエータの前記基本動作が割り当てられており、
前記並列期間の前記部分期間には、前記選択アクチュエータではない前記アクチュエータの前記基本動作が割り当てられており、
前記制御プログラム生成工程は、
前記並列期間内で前記並列部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記並列部分期間の順序に従って結合し、
前記並列期間内で前記部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記部分期間の順序に従って結合することによって、前記制御プログラムを生成する
ことを特徴とする。
Furthermore, the control program generating method of the present invention corresponding to the above-mentioned control program generating device employs the following configuration:
A control program generation method for generating a control program (400) for an automated manufacturing machine (10) having a plurality of actuators by a computer, comprising:
an operation chart reading step (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a control program generation step (STEP 4 to STEP 6) of converting the basic operations described in the operation chart into program elements by referring to a correspondence relationship in which the basic operations described in the operation chart and program elements for realizing the basic operations are associated and stored, and combining the program elements in accordance with the order of the partial periods, thereby generating the control program for operating the automatic manufacturing machine;
The operation chart read in the operation chart reading step is
Two or more consecutive partial periods among the plurality of partial periods are grouped together to form a parallel period (210);
In the parallel period, a plurality of the partial periods and a plurality of parallel partial periods (212) that divide the parallel period are formed in parallel,
the basic operation of a selected actuator selected from the plurality of actuators is assigned to the parallel partial period of the parallel period,
the basic operation of the actuator other than the selected actuator is assigned to the partial period of the parallel period;
The control program generation step includes:
The program elements of the basic operations assigned to the parallel sub-periods within the parallel period are combined in accordance with the order of the parallel sub-periods;
The control program is generated by combining the program elements of the basic operations assigned to the partial periods within the parallel period in accordance with the order of the partial periods.

上述した本発明の制御プログラム生成装置および制御プログラム生成方法では、動作チャートの複数の部分期間にアクチュエータの基本動作が割り当てられることによって、自動製造機械の動作が記述されており、基本動作に対応するプログラム要素が、動作チャート上での部分期間の順序に従って結合されることによって、制御プログラムが生成される。こうして生成された制御プログラムは、先頭の部分期間から順番に、部分期間に割り当てられた基本動作のプログラム要素を実行することによって自動製造機械を動作させる。また、動作チャートに設定された並列期間には、複数の部分期間と複数の並列部分期間とが並列な状態で形成されており、並列期間の並列部分期間に対しては、複数のアクチュエータの中から選択された選択アクチュエータの基本動作が割り当てられている。更に、並列期間内で並列部分期間ではない部分期間に対しては、選択アクチュエータ以外のアクチュエータの基本動作が割り当てられている。そして、動作チャートの並列期間内では、並列部分期間に割り当てられた基本動作のプログラム要素については、並列部分期間の順序に従って結合し、部分期間に割り当てられた基本動作のプログラム要素については、部分期間の順序に従って結合することによって、制御プログラムを生成する。 In the control program generation device and control program generation method of the present invention, the operation of an automated manufacturing machine is described by assigning basic actuator operations to multiple sub-periods on an operation chart. A control program is generated by combining program elements corresponding to the basic operations in the order of the sub-periods on the operation chart. The control program thus generated operates the automated manufacturing machine by executing the program elements of the basic operations assigned to the sub-periods, starting with the first sub-period. A parallel period set in the operation chart is formed by multiple sub-periods and multiple parallel sub-periods in parallel, and the basic operations of a selected actuator selected from multiple actuators are assigned to the parallel sub-periods of a parallel period. Furthermore, the basic operations of actuators other than the selected actuator are assigned to sub-periods within a parallel period. Within a parallel period, the program elements of the basic operations assigned to the parallel sub-periods are combined in the order of the parallel sub-periods, thereby generating a control program.

動作チャートから生成された制御プログラムでは、先頭の部分期間から順番に、部分期間に割り当てられた基本動作に対応するプログラム要素を実行する。同じ部分期間に複数の基本動作が割り当てられた場合には、それらの基本動作の中で動作に要する時間が最も長い基本動作が終了するまで、次の部分期間の基本動作を開始することができない。このため、動作の時間が短い基本動作にとっては待ち時間が発生する。そして、同じ部分期間に割り当てられた複数の基本動作の動作に要する時間の差が大きくなるほど、発生する待ち時間が長くなり、その結果として、自動製造機械の動作に要する時間が長くなる。しかし、複数の部分期間と複数の並列部分期間とが並列に形成された並列期間を動作チャートに形成し、並列期間の部分期間および並列部分期間に基本動作を設定しておけば、並列部分期間については、部分期間の基本動作の終了を待たずに次の並列部分期間を開始することができ、部分期間については、並列部分期間の基本動作の終了を待たずに次の部分期間を開始することができる。このため、動作の時間が短い基本動作と、動作の時間が長い基本動作とが並行して実行される場合でも、長い待ち時間が発生することを抑制することができる。その結果、自動製造機械が動作を開始してから終了するまでに要する時間の短い制御プログラムを、自動で生成することが可能となる。 A control program generated from an operation chart executes program elements corresponding to the basic operations assigned to subperiods, starting with the first subperiod. When multiple basic operations are assigned to the same subperiod, the basic operation of the next subperiod cannot begin until the basic operation with the longest operation time among those basic operations is completed. This results in a wait time for the short-time basic operations. The greater the difference in operation time between the multiple basic operations assigned to the same subperiod, the longer the wait time, resulting in a longer operation time for the automated manufacturing machine. However, by creating parallel periods in an operation chart consisting of multiple subperiods and multiple parallel subperiods in parallel and assigning basic operations to the subperiods and parallel subperiods of a parallel period, the next parallel subperiod can begin without waiting for the completion of the basic operation in the previous subperiod, and vice versa. This prevents long wait times even when a short-time basic operation and a long-time basic operation are executed in parallel. As a result, it is possible to automatically generate control programs that shorten the time required for an automatic manufacturing machine to start and finish its operation.

また、上述した本発明の制御プログラム生成装置においては、自動製造機械の動作を記述した動作チャートとは別に、ローカルチャートを読み込むようにしてもよい。ここでローカルチャートとは、動作チャートの並列期間を切り出して、並列期間の各々の並列部分期間に対して少なくとも1つの選択アクチュエータの基本動作を割り当てることによって作成された小さな動作チャートである。そして、自動製造機械の動作を記述した動作チャートの並列期間には、各々の並列部分期間に対して少なくとも1つの選択アクチュエータの基本動作を割り当てる代わりに、ローカルチャートに固有のローカルチャート記号を、並列期間に対して割り当てることとしてもよい。 Furthermore, in the control program generation device of the present invention described above, a local chart may be read in separately from the operation chart describing the operation of the automatic manufacturing machine. Here, a local chart is a small operation chart created by extracting parallel periods from the operation chart and assigning at least one basic operation of a selected actuator to each parallel sub-period of the parallel period. Then, instead of assigning at least one basic operation of a selected actuator to each parallel sub-period of the parallel period of the operation chart describing the operation of the automatic manufacturing machine, a local chart symbol unique to the local chart may be assigned to the parallel period.

こうすれば、動作チャートの並列期間に割り当てられたローカルチャート記号に基づいてローカルチャートを特定することができ、ローカルチャートに基づいて、動作チャートの並列期間の並列部分期間に割り当てられた選択アクチュエータの基本動作を特定することができる。このように、ローカルチャートを介して、動作チャートの並列期間の並列部分期間に、選択アクチュエータの基本動作を割り当てることができるので、動作チャート上で並列部分期間に基本動作を割り当てる必要が無い。その結果、動作チャートを作成する作業や、動作チャートの内容を理解する作業が容易となる。 In this way, the local chart can be identified based on the local chart symbol assigned to the parallel period of the operation chart, and the basic operation of the selected actuator assigned to the parallel sub-period of the parallel period of the operation chart can be identified based on the local chart. In this way, the basic operation of the selected actuator can be assigned to the parallel sub-period of the parallel period of the operation chart via the local chart, so there is no need to assign the basic operation to the parallel sub-period on the operation chart. As a result, the work of creating an operation chart and the work of understanding the contents of the operation chart become easier.

また、前述した本発明の制御プログラム生成方法は、コンピュータを用いて制御プログラム生成方法を実現するためのプログラムとして把握することも可能である。すなわち、本発明のプログラムは、
複数のアクチュエータを備えた自動製造機械(10)の制御プログラム(400)を生成する方法を、コンピュータを用いて実現するプログラムであって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
前記動作チャートに記載された前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP4~STEP6)と
を前記コンピュータを用いて実現すると共に、
前記動作チャート読込機能によって読み込まれる前記動作チャートは、
前記複数の部分期間の中の連続する2つ以上の前記部分期間が一体に纏められることによって並列期間(210)が設定されており、
前記並列期間では、複数の前記部分期間と、前記並列期間を分割する複数の並列部分期間(212)とが並列に形成された状態となっており、
前記並列期間の前記並列部分期間には、前記複数のアクチュエータの中から選択された選択アクチュエータの前記基本動作が割り当てられており、
前記並列期間の前記部分期間には、前記選択アクチュエータではない前記アクチュエータの前記基本動作が割り当てられており、
前記制御プログラム生成機能は、
前記並列期間内で前記並列部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記並列部分期間の順序に従って結合し、
前記並列期間内で前記部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記部分期間の順序に従って結合することによって、前記制御プログラムを生成する機能である
ことを特徴とする。
The control program generation method of the present invention can also be understood as a program for realizing the control program generation method using a computer.
A program for implementing a method for generating a control program (400) for an automated manufacturing machine (10) having a plurality of actuators using a computer, the program comprising:
an operation chart reading function (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a control program generation function (STEP 4 to STEP 6) that converts the basic operations described in the operation chart into program elements by referring to correspondences stored between the basic operations described in the operation chart and program elements for realizing the basic operations, and combines the program elements in accordance with the order of the partial periods to generate the control program that operates the automatic manufacturing machine;
The operation chart read by the operation chart reading function is
Two or more consecutive partial periods among the plurality of partial periods are grouped together to form a parallel period (210);
In the parallel period, a plurality of the partial periods and a plurality of parallel partial periods (212) that divide the parallel period are formed in parallel,
the basic operation of a selected actuator selected from the plurality of actuators is assigned to the parallel partial period of the parallel period,
the basic operation of the actuator other than the selected actuator is assigned to the partial period of the parallel period;
The control program generation function
The program elements of the basic operations assigned to the parallel sub-periods within the parallel period are combined in accordance with the order of the parallel sub-periods;
The control program is generated by combining the program elements of the basic operations assigned to the partial periods within the parallel period in accordance with the order of the partial periods.

このようなプログラムをコンピュータに読み込ませて実行させれば、自動製造機械が動作を開始してから終了するまでに要する時間の短い制御プログラムを、自動で生成することが可能となる。 By loading and executing such a program on a computer, it is possible to automatically generate a control program that shortens the time required for an automatic manufacturing machine to start and finish operating.

本実施例の制御装置100によって制御されるパイプベンダ10の大まかな構造を示した説明図である。1 is an explanatory diagram showing the general structure of a pipe bender 10 controlled by a control device 100 of the present embodiment. 制御装置100が、パイプベンダ10に搭載された各種のアクチュエータAc10~18の動作を制御する様子を概念的に示したブロック図である。1 is a block diagram conceptually showing how a control device 100 controls the operations of various actuators Ac10 to Ac18 mounted on a pipe bender 10. FIG. YOGOチャートから制御プログラムを自動で生成する基本原理についての説明図である。FIG. 1 is an explanatory diagram of the basic principle of automatically generating a control program from a YOGO chart. 図3のYOGOチャートに使用された複数の基本動作についての説明図である。FIG. 4 is an explanatory diagram of several basic movements used in the YOGO chart of FIG. 3. YOGOチャートで使用され得る複数の基本動作を分類した結果についての説明図である。FIG. 10 is an explanatory diagram showing the results of classifying a number of basic actions that can be used in a YOGO chart. YOGOチャート200の一部を例示した説明図である。FIG. 2 is an explanatory diagram illustrating a portion of a YOGO chart 200. YOGOチャート200に記載されたパラメータ記号206bに対してパラメータ値が設定された様子を例示する説明図である。10 is an explanatory diagram illustrating an example of how parameter values are set for parameter symbols 206b written on a YOGO chart 200. FIG. YOGOチャート200から自動生成した制御プログラムでは、自動製造機械が動作を開始してから終了するまでの時間が長くなり易い理由を示した説明図である。10 is an explanatory diagram showing why a control program automatically generated from a YOGO chart 200 tends to take a long time from when an automatic manufacturing machine starts to when it finishes its operation. 並列期間210が設定された本実施例のYOGOチャート200を例示した説明図である。FIG. 2 is an explanatory diagram illustrating a YOGO chart 200 of the present embodiment in which a parallel period 210 is set. 並列期間210が設定されたYOGOチャート200の構造を概念的に示した説明図である。FIG. 2 is an explanatory diagram conceptually showing the structure of a YOGO chart 200 in which a parallel period 210 is set. 並列期間210が設定されたYOGOチャート200を、動作線203の長さがアクチュエータの動作時間の長さを表すように描き直した説明図である。2 is an explanatory diagram in which a YOGO chart 200 in which a parallel period 210 is set is redrawn so that the length of an operating line 203 represents the length of the actuator operating time. 並列期間210が設定された他の態様のYOGOチャート200を例示した説明図である。FIG. 10 is an explanatory diagram illustrating another example of a YOGO chart 200 in which a parallel period 210 is set. 並列期間210が設定された他の態様のYOGOチャート200を例示した説明図である。FIG. 10 is an explanatory diagram illustrating another example of a YOGO chart 200 in which a parallel period 210 is set. 制御装置100に搭載された制御プログラム生成装置110についての説明図である。FIG. 2 is an explanatory diagram of a control program generating device 110 installed in the control device 100. 制御プログラム生成装置110がYOGOチャート200から制御プログラムを生成するために実行する制御プログラム生成処理のフローチャートである。10 is a flowchart of a control program generation process executed by the control program generator 110 to generate a control program from a YOGO chart 200. 制御プログラム生成処理で読み込まれるYOGOチャート200を例示した説明図である。FIG. 2 is an explanatory diagram illustrating a YOGO chart 200 read in the control program generation process. YOGOチャート200から分離されたメインチャート200Mを示す説明図である。FIG. 2 is an explanatory diagram showing a main chart 200M separated from a YOGO chart 200. 図17中の一点鎖線で囲った部分に組み込まれていたローカルチャート200Lを示す説明図である。FIG. 18 is an explanatory diagram showing a local chart 200L incorporated in the area surrounded by the dashed line in FIG. 17. 図17中の二点鎖線で囲った部分に組み込まれていたローカルチャート200Lを示す説明図である。FIG. 18 is an explanatory diagram showing a local chart 200L incorporated in the area surrounded by the two-dot chain line in FIG. 17. 制御プログラム生成処理中で実行される中間データ生成処理のフローチャートである。10 is a flowchart of an intermediate data generation process executed during the control program generation process. メインチャート200Mから生成された中間データ300Mを例示した説明図である。FIG. 10 is an explanatory diagram illustrating intermediate data 300M generated from a main chart 200M. ローカルチャート200Lの開始位置および終了位置が追加された中間データ300Mを例示した説明図である。FIG. 10 is an explanatory diagram illustrating intermediate data 300M to which the start position and end position of a local chart 200L have been added. YOGOチャート解析処理によって生成されたローカルチャート200Lの中間データ300Lを例示した説明図である。FIG. 10 is an explanatory diagram illustrating intermediate data 300L of a local chart 200L generated by a YOGO chart analysis process. メインチャート200Mの中間データ300Mを変換することによって生成されたメインプログラム400Mを例示した説明図である。FIG. 10 is an explanatory diagram illustrating a main program 400M generated by converting intermediate data 300M of a main chart 200M. ローカルチャート200Lの中間データ300Lを変換することによって生成されたローカルプログラム400Lを例示した説明図である。FIG. 10 is an explanatory diagram illustrating a local program 400L generated by converting intermediate data 300L of a local chart 200L. 動作制御装置120が制御プログラムを用いて実行する動作制御処理の前半部分のフローチャートである。10 is a flowchart of the first half of the operation control process executed by the operation control device 120 using a control program. 動作制御処理の後半部分のフローチャートである。10 is a flowchart of the second half of the operation control process. 動作制御処理の中で起動されるローカルプログラム実行処理の前半部分のフローチャートである。10 is a flowchart of the first half of a local program execution process that is started in the operation control process. ローカルプログラム実行処理の後半部分のフローチャートである。10 is a flowchart of the second half of the local program execution process. ローカルチャート記号220が記入された第1変形例のYOGOチャート200を例示する説明図である。FIG. 10 is an explanatory diagram illustrating a first modified example of a YOGO chart 200 on which local chart symbols 220 are entered. 「lclchrt1」というローカルチャート記号220に対応するローカルチャート200Lを例示した説明図である。FIG. 10 is an explanatory diagram illustrating a local chart 200L corresponding to a local chart symbol 220 called "lclchrt1." 「lclchrt2」というローカルチャート記号220に対応するローカルチャート200Lを例示した説明図である。FIG. 10 is an explanatory diagram illustrating a local chart 200L corresponding to a local chart symbol 220 called "lclchrt2." 同じ並列期間210に並列部分期間212の個数が異なる複数種類のローカルチャート記号220が記載された第2変形例のYOGOチャート200を例示する説明図である。FIG. 10 is an explanatory diagram illustrating a second modified example of a YOGO chart 200 in which multiple types of local chart symbols 220 with different numbers of parallel partial periods 212 are written in the same parallel period 210. グローバルチャート200Gを例示する説明図である。FIG. 10 is an explanatory diagram illustrating a global chart 200G. ローカルチャート記号220およびグローバルチャート記号230が記載された第2変形例のYOGOチャート200を例示する説明図である。FIG. 10 is an explanatory diagram illustrating a second modified example of a YOGO chart 200 in which local chart symbols 220 and global chart symbols 230 are depicted. 第2変形例の他の態様のYOGOチャート200を例示する説明図である。FIG. 10 is an explanatory diagram illustrating another aspect of the YOGO chart 200 of the second modified example.

A.装置構成 :
図1は、パイプベンダ10の大まかな外観形状を例示した説明図である。パイプベンダ10は、長尺のパイプ材に対して自動で曲げ加工を施すことによって、所望の形状に加工することが可能な一種の自動製造機械である。以下では、自動製造機械がパイプベンダ10であるものとして説明するが、複数のアクチュエータを搭載して、対象物に対して把持、搬送、加工、加熱などの複数の動作を自動で実行することができれば、パイプベンダ10以外の自動製造機械であっても良い。例えば、複数の関節を有するアームロボットであってもよいし、あるいは、複数の関節を有するアームロボットと搬送装置とを組み合わせた製造システムであっても良い。
A. Device configuration:
1 is an explanatory diagram illustrating the general external shape of a pipe bender 10. The pipe bender 10 is a type of automatic manufacturing machine that can automatically bend long pipe material into a desired shape. In the following description, the automatic manufacturing machine will be described as the pipe bender 10, but it may be any automatic manufacturing machine other than the pipe bender 10 as long as it is equipped with multiple actuators and can automatically perform multiple operations on an object, such as gripping, transporting, processing, and heating. For example, it may be an arm robot with multiple joints, or a manufacturing system that combines an arm robot with multiple joints and a transport device.

図1に例示したパイプベンダ10は、大まかには横長の直方体の外観形状を有しており、直方体の上面側には長手方向に2本のレール11が架設され、レール11上の一端側(図1では左側)には、加工対象の図示しないパイプ材を把持して搬送する搬送ユニット12が搭載されている。また、搬送ユニット12が搭載されている側に対して反対側には、図示しないパイプ材に曲げ加工を施す加工ユニット13が搭載されている。搬送ユニット12には、円柱形状の把持軸12aが突設されており、把持軸12aの先端には、図示しないパイプ材を把持するチャック12bが取り付けられている。このため、チャック12bでパイプ材を把持した状態で搬送ユニット12をレール11上で移動させることによって、パイプ材を加工ユニット13に供給し、そのパイプ材に対して加工ユニット13で曲げ加工を施すことが可能となっている。 The pipe bender 10 illustrated in Figure 1 has a roughly horizontally elongated rectangular parallelepiped exterior shape, with two rails 11 installed longitudinally on the top surface of the rectangular parallelepiped. A transport unit 12 is mounted on one end (the left side in Figure 1) of the rails 11, which grips and transports the pipe material (not shown) to be processed. On the opposite side to the side on which the transport unit 12 is mounted, a processing unit 13 is mounted, which bends the pipe material (not shown). A cylindrical gripping shaft 12a protrudes from the transport unit 12, and a chuck 12b is attached to the tip of the gripping shaft 12a, which grips the pipe material (not shown). Therefore, by moving the transport unit 12 on the rails 11 while the pipe material is gripped by the chuck 12b, the pipe material can be supplied to the processing unit 13, where it can be bent.

本実施例のパイプベンダ10は、搬送ユニット12の移動量によってパイプ材の送り量を制御することができるので、パイプ材に曲げ加工を施す位置を自由に変更することができる。また、チャック12bが取り付けられた把持軸12aを軸回りに旋回(いわゆる捻り動作)させることによって、所望の方向にパイプ材を曲げることも可能である。こうしたことを実現するために、搬送ユニット12の内部には、チャック12bを開閉させるためのアクチュエータAc10や、把持軸12aを軸回りに回転させるためのアクチュエータAc11や、把持軸12aを軸方向に対して左右方向に平行移動させるためのアクチュエータAc12や、レール11上で搬送ユニット12を進退動させるためのアクチュエータAc13などが搭載されている。本実施例のパイプベンダ10では、これらのアクチュエータAc10~Ac13は何れも交流電源で動作するACサーボモータが用いられているが、アクチュエータに要求される性能に応じて、他の駆動方式のアクチュエータ(例えば、油圧シリンダや、ソレノイドや、パルスモータなど)を採用することができる。尚、搬送ユニット12には、把持軸12aの回転位置や、搬送ユニット12の移動位置を検出するためのエンコーダや、リミットスイッチなどのセンサー類も搭載されているが、図面が煩雑となることを回避する目的で、図1では図示が省略されている。 The pipe bender 10 of this embodiment controls the feed rate of the pipe material by the movement of the transport unit 12, allowing for flexible adjustment of the bending position on the pipe material. Furthermore, the gripping shaft 12a, to which the chuck 12b is attached, can be rotated (twisted) around its axis to bend the pipe material in the desired direction. To achieve this, the transport unit 12 is equipped with an actuator Ac10 for opening and closing the chuck 12b, an actuator Ac11 for rotating the gripping shaft 12a around its axis, an actuator Ac12 for translating the gripping shaft 12a left and right relative to the axial direction, and an actuator Ac13 for moving the transport unit 12 back and forth on the rail 11. In the pipe bender 10 of this embodiment, all of these actuators Ac10 to Ac13 are AC servo motors powered by AC power. However, other drive systems (e.g., hydraulic cylinders, solenoids, pulse motors, etc.) can be used depending on the performance required of the actuators. The transport unit 12 is also equipped with sensors such as an encoder and limit switches for detecting the rotational position of the gripping shaft 12a and the movement position of the transport unit 12, but these are omitted from Figure 1 to avoid cluttering the drawing.

加工ユニット13の内部には、パイプ材を曲げるために用いられる複数のアクチュエータAc15、Ac16、Ac17、Ac18が搭載されている。更に、2本のレール11の下方の空間にもアクチュエータAc14が搭載されている。これらのアクチュエータAc14~Ac18の動作については、後ほど詳しく説明する。尚、加工ユニット13の内部や2本のレール11の下方の空間にも、エンコーダや、接点スイッチなどのスイッチ・センサー類が搭載されているが、図面が煩雑となることを避けるため、これらについては図示が省略されている。 Mounted inside the processing unit 13 are multiple actuators Ac15, Ac16, Ac17, and Ac18 used to bend the pipe material. Furthermore, actuator Ac14 is also mounted in the space below the two rails 11. The operation of these actuators Ac14 to Ac18 will be explained in detail later. Note that encoders, contact switches, and other switches and sensors are also mounted inside the processing unit 13 and in the space below the two rails 11, but these are omitted from the illustration to avoid cluttering the drawing.

また、加工ユニット13の内部には、上述した複数のアクチュエータAc10~Ac18を駆動するための複数のドライバアンプ(図示は省略)が搭載されている。ここで、ドライバアンプとは、次のような機能を有する電気部品である。アクチュエータAc10~Ac18に所望の動作をさせるためには、それぞれのアクチュエータAc10~Ac18に適切な波形および電圧の駆動電流を供給する必要がある。しかし、アクチュエータAc10~Ac18に供給するべき駆動電流は、アクチュエータAc10~Ac18の駆動方式によって異なっており、更に同じ方式のアクチュエータであっても、駆動電流の波形や電圧はアクチュエータによって異なっている。そこで、それぞれのアクチュエータAc10~Ac18にはドライバアンプと呼ばれる専用の電気部品が用意されている。そして、パイプベンダ10を制御する制御装置100から、それぞれのドライバアンプに対して駆動量を指定すると、ドライバアンプがアクチュエータAc10~Ac18に対して適切な駆動電流を出力して、アクチュエータAc10~Ac18を駆動するようになっている。 The machining unit 13 also includes multiple driver amplifiers (not shown) for driving the multiple actuators Ac10-Ac18. A driver amplifier is an electrical component with the following functions: To operate the actuators Ac10-Ac18 as desired, it is necessary to supply each actuator with a drive current of the appropriate waveform and voltage. However, the drive current to be supplied to each actuator Ac10-Ac18 differs depending on the drive method of the actuator. Furthermore, even for actuators of the same method, the drive current waveform and voltage differ depending on the actuator. Therefore, each actuator Ac10-Ac18 is provided with its own dedicated electrical component called a driver amplifier. When the control device 100, which controls the pipe bender 10, specifies the drive amount for each driver amplifier, the driver amplifier outputs the appropriate drive current to each actuator Ac10-Ac18, driving the actuators Ac10-Ac18.

図2は、パイプベンダ10に搭載された複数のアクチュエータAc10~Ac18が、ドライバアンプDA10~DA18を介して制御装置100に接続されている様子を示した説明図である。アクチュエータAc10には、アクチュエータAc10を駆動するためのドライバアンプDA10が接続されており、アクチュエータAc11には、アクチュエータAc11を駆動するためのドライバアンプDA11が接続されている。同様に、アクチュエータAc12~Ac18には、アクチュエータAc12~Ac18を駆動するためのドライバアンプDA12~DA18が接続されている。また、ドライバアンプDA10~DA18は互いに直列に接続されており、一端側のドライバアンプ(図示した例では、ドライバアンプDA10)が、制御装置100に接続されている。しかし、このような接続形態に限らず、例えば、それぞれのドライバアンプDA10~DA18が、制御装置100に直接接続されるようにしても良い。 Figure 2 is an explanatory diagram showing how multiple actuators Ac10-Ac18 mounted on the pipe bender 10 are connected to the control device 100 via driver amplifiers DA10-DA18. A driver amplifier DA10 is connected to actuator Ac10 to drive it, and a driver amplifier DA11 is connected to actuator Ac11 to drive it. Similarly, driver amplifiers DA12-DA18 are connected to actuators Ac12-Ac18 to drive them. Furthermore, driver amplifiers DA10-DA18 are connected to each other in series, with the driver amplifier at one end (driver amplifier DA10 in the illustrated example) connected to the control device 100. However, this connection topology is not limited to this; for example, each driver amplifier DA10-DA18 may be directly connected to the control device 100.

ここで、パイプベンダ10でパイプを曲げ加工するためには、アクチュエータAc10~Ac18を適切なタイミングで且つ適切な動作量で動作させる必要がある。そして、そのためには、制御装置100の上で動作することにより、ドライバアンプDA10~DA18に対して、適切なタイミングで適切な駆動量を指定することが可能な制御プログラムを作成する必要がある。このような制御プログラムの作成には、パイプベンダ10などのハードウェアを作成するよりも多くの労力が必要であった。 To bend a pipe using the pipe bender 10, it is necessary to operate the actuators Ac10-Ac18 at the appropriate timing and with the appropriate amount of movement. To achieve this, it is necessary to create a control program that runs on the control device 100 and can specify the appropriate amount of movement at the appropriate timing for the driver amplifiers DA10-DA18. Creating such a control program requires more effort than creating hardware such as the pipe bender 10.

しかし、本願の発明者は、制御プログラムを自動的に生成する技術を開発して、既に特許を取得済みである。この特許取得済みの技術では、複数のアクチュエータを備えた自動製造機械(ここでは、パイプベンダ10)の動作を、複数のアクチュエータ(ここでは、アクチュエータAc10~Ac18)の基本的な動作に分解し、それらの基本的な動作を、「YOGOチャート」と命名した特殊な動作チャート上に記入することで自動製造機械の動作を記述する。こうすれば、YOGOチャートから制御プログラムを自動生成することができる。以下では、YOGOチャートから制御プログラムを自動生成する原理について説明する。 However, the inventor of the present application has developed a technology for automatically generating control programs, which has already been patented. This patented technology breaks down the operation of an automatic manufacturing machine equipped with multiple actuators (here, pipe bender 10) into the basic operations of multiple actuators (here, actuators Ac10 to Ac18), and describes the operation of the automatic manufacturing machine by entering these basic operations on a special operation chart called a "YOGO chart." In this way, a control program can be automatically generated from a YOGO chart. Below, we will explain the principle of automatically generating a control program from a YOGO chart.

B.YOGOチャートから制御プログラムを自動で生成する原理 :
図3は、YOGOチャートと命名した特殊な動作チャートを用いて、自動製造機械(ここではパイプベンダ10)の制御プログラムを自動生成する原理についての説明図である。図3(a)には、各種の改良を施す前の原始的なYOGOチャートが示されている。後述する本実施例のYOGOチャートは、図3(a)に示した原始的なYOGOチャートを発展させて改良したものとなっているが、制御プログラムを自動で生成する原理は原始的なYOGOチャートと同じである。そこで、理解を容易とするために、図3(a)に示した原始的なYOGOチャートを用いて、YOGOチャートから制御プログラムを自動生成する原理について説明する。
B. Principle of automatically generating a control program from a YOGO chart:
3A and 3B are explanatory diagrams illustrating the principle of automatically generating a control program for an automatic manufacturing machine (here, a pipe bender 10) using a special operation chart called a YOGO chart. A primitive YOGO chart is shown in FIG. 3A before any improvements have been made. The YOGO chart of the present embodiment, which will be described later, is an improved version of the primitive YOGO chart shown in FIG. 3A, but the principle of automatically generating a control program is the same as that of the primitive YOGO chart. Therefore, for ease of understanding, the principle of automatically generating a control program from a YOGO chart will be explained using the primitive YOGO chart shown in FIG. 3A.

前述したようにYOGOチャートでは、自動製造機械に搭載された複数のアクチュエータの基本的な動作を組み合わせることによって、自動製造機械の動作を記述する。ここで、アクチュエータの基本的な動作とは、アクチュエータが有する自由度方向へ指定された動作量だけ動作する単純な動作のことである。例えば、モータのような回転するアクチュエータであれば、指定された角度だけ回転する動作が該当し、シリンダのような進退動するアクチュエータであれば、指定された距離だけ移動する動作が該当する。また、モータによってボールねじを回転させることによって、ボールねじに噛み合う部材を進退動させるようなアクチュエータの場合は、モータを指定された角度だけ回転させる動作、あるいは部材を指定された距離だけ移動させる動作の何れかとなる。尚、以下では、アクチュエータが有する自由度方向へ、指定された動作量だけ動作する単純な動作を「基本動作」と称する。 As mentioned above, a YOGO chart describes the operation of an automated manufacturing machine by combining the basic operations of multiple actuators installed in the machine. Here, a basic operation of an actuator refers to a simple operation in which the actuator moves by a specified amount in the direction of its degrees of freedom. For example, for a rotating actuator such as a motor, this would be an operation to rotate by a specified angle, and for an actuator that moves forward and backward such as a cylinder, this would be an operation to move by a specified distance. Furthermore, for an actuator that moves a member that meshes with the ball screw forward and backward by rotating a ball screw using a motor, this would be an operation to either rotate the motor by a specified angle or an operation to move the member by a specified distance. Note that, below, a simple operation in which the actuator moves by a specified amount in the direction of its degrees of freedom will be referred to as a "basic operation."

また、YOGOチャートでは、自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、個々のアクチュエータの基本動作は、これら複数の部分期間の中から、基本動作毎に選択された何れか1つの部分期間に割り当てられている。図3(a)に示した例では、自動製造機械が動作を開始した初めの部分期間(部分期間1)には、あるアクチュエータの基本動作act1が割り当てられており、次の部分期間(部分期間2)には、(そのアクチュエータと同じあるいは別のアクチュエータによる)基本動作act2と、基本動作act3と、基本動作act4とが割り当てられている。その次の部分期間(部分期間3)には、基本動作act5と、基本動作act6とが割り当てられており、その次の部分期間(部分期間4)には基本動作act7が、更にその次の部分期間(部分期間5)には、基本動作act8と、基本動作act9とが割り当てられている。 In addition, in a YOGO chart, the operating period from when an automated manufacturing machine starts to when it finishes operating is divided into multiple sub-periods, and the basic operations of each actuator are assigned to one of these sub-periods, selected for each basic operation. In the example shown in Figure 3(a), the first sub-period (sub-period 1) when the automated manufacturing machine starts operating is assigned the basic operation act1 of a certain actuator, and the next sub-period (sub-period 2) is assigned the basic operations act2, act3, and act4 (by the same or a different actuator). The next sub-period (sub-period 3) is assigned the basic operations act5 and act6, the next sub-period (sub-period 4) is assigned the basic operation act7, and the next sub-period (sub-period 5) is assigned the basic operations act8 and act9.

このようにすることで、複数のアクチュエータによる一連の動作を記述することができる。すなわち、先ず初めは、あるアクチュエータによる基本動作act1が開始され、その基本動作act1が終了すると、対応するアクチュエータによって基本動作act2と、基本動作act3と、基本動作act4とが開始される。それらの基本動作が終了すると、今度は基本動作act5と基本動作act6とが開始される。それらの基本動作が終了すると今度は基本動作act7が開始され、基本動作act7が終了すると、基本動作act8および基本動作act9が開始されるというような一連の動作を記述することができる。このように、YOGOチャートでは、自動製造機械の動作を、その自動製造機械に搭載された複数のアクチュエータの基本動作に分解して、それらの基本動作を何れかの部分期間に割り当てることによって、自動製造機械の動作を記述する。 In this way, it is possible to describe a series of operations performed by multiple actuators. That is, first, a basic action act1 is initiated by a certain actuator, and when that basic action act1 is completed, the corresponding actuators start basic actions act2, act3, and act4. When these basic actions are completed, basic actions act5 and act6 are started. When these basic actions are completed, basic action act7 is started, and when basic action act7 is completed, basic actions act8 and act9 are started, and so on. In this way, a YOGO chart describes the operation of an automatic manufacturing machine by breaking down the operation of the multiple actuators installed on that automatic manufacturing machine and assigning these basic actions to any of the partial periods.

尚、以上の説明から明らかなように、部分期間は、割り当てられたアクチュエータが動作する期間を示しており、時間の長さを示しているわけではない。例えば、部分期間1の時間の長さは基本動作act1の実行に要する時間であり、部分期間2の時間の長さは基本動作act2,act3,act4の実行に要する時間の中で長い方の時間となっている。従って、それぞれの部分期間の時間の長さは、互いに異なっていることが通常である。 As is clear from the above explanation, a sub-period indicates the period during which the assigned actuator operates, not the length of time. For example, the length of sub-period 1 is the time required to execute basic action act1, and the length of sub-period 2 is the longer of the times required to execute basic actions act2, act3, and act4. Therefore, the length of time of each sub-period is usually different from one another.

また、前述したように、アクチュエータの基本動作は、例えばモータを一定量だけ回転させたり、あるいはシリンダを一定量だけ進退動させたりするといった単純な動作である。従って、アクチュエータに基本動作させるためのプログラム(プログラム要素)を予め作成しておくことができる。例えば、あるアクチュエータに基本動作act1を行わせるためのプログラム要素prog1を予め作成しておくことができる。同様に、基本動作act2~act9についても、それらの基本動作を行わせるためのプログラム要素prog2~prog9を予め作成しておくことができる。 As mentioned above, the basic operation of an actuator is a simple operation, such as rotating a motor a certain amount or moving a cylinder forward or backward a certain amount. Therefore, programs (program elements) for causing an actuator to perform basic operations can be created in advance. For example, a program element prog1 can be created in advance to cause a certain actuator to perform basic operation act1. Similarly, program elements prog2 to prog9 can be created in advance to cause basic operations act2 to act9 to be performed.

そこで、これらのプログラム要素を、図3(a)に示した原始的なYOGOチャートに記述された通りに連結してやれば、自動製造機械を動作させるための制御プログラムを自動で生成することができる。すなわち、図3(b)に示したように、初めにプログラム要素prog1を起動させ、プログラム要素prog1が終了したらプログラム要素prog2~prog4を起動させる。それらのプログラム要素prog2~prog4が終了したら、プログラム要素prog5およびプログラム要素prog6を起動させ、それらのプログラム要素prog5、prog6が終了したら、プログラム要素prog7を起動させる。そして、プログラム要素prog7が終了したら、今度はプログラム要素prog8およびプログラム要素prog9を起動させる。このように、アクチュエータに基本動作を行わせるプログラム要素を予め作成しておき、それらのプログラム要素がYOGOチャートに記述された順序で次々に起動するように、複数のプログラム要素を組み合わせてやる。こうすれば、自動製造機械を動作させるための制御プログラムを、YOGOチャートから自動で生成することができる。 By linking these program elements as described in the primitive YOGO chart shown in Figure 3(a), a control program for operating an automated manufacturing machine can be automatically generated. That is, as shown in Figure 3(b), program element prog1 is started first, and once program element prog1 is finished, program elements prog2 to prog4 are started. Once program elements prog2 to prog4 are finished, program elements prog5 and prog6 are started. Once program elements prog5 and prog6 are finished, program element prog7 is started. Once program element prog7 is finished, program elements prog8 and prog9 are started. In this way, program elements that cause the actuator to perform basic operations are created in advance, and multiple program elements are combined so that these program elements are started one after another in the order described in the YOGO chart. In this way, a control program for operating an automated manufacturing machine can be automatically generated from a YOGO chart.

また、基本動作を実現するための全てのプログラム要素(ここでは、プログラム要素prog1~prog9)を作成しておく必要があるが、このことは、それほど困難なことではない。この理由は次のようなものである。図4は、図3(a)に示した基本動作act1~act9について、動作態様(回転動作や進退動作など)および動作機構(アクチュエータの大まかな構造)を示した説明図である。例えば、基本動作act1は、アクチュエータが回転する動作であり、この動作は、ACサーボモータの回転軸の回転速度を、減速機構を用いて減速することによって実現されている。また、基本動作act2は、アクチュエータが進退動する動作であり、この動作は、ACサーボモータの回転軸が回転する動きを、変換機構を用いて直線方向の動きに変換することによって実現されている。更に、基本動作act3は、アクチュエータが進退する動作であり、この動作は、リニアサーボモータによって実現されている。 Furthermore, while it is necessary to create all the program elements required to realize the basic operations (here, program elements prog1 to prog9), this is not particularly difficult. The reason for this is as follows. Figure 4 is an explanatory diagram showing the operation modes (rotational operation, forward/backward operation, etc.) and operation mechanisms (the general structure of the actuator) for the basic operations act1 to act9 shown in Figure 3(a). For example, basic operation act1 is an operation in which the actuator rotates, and this operation is achieved by slowing down the rotational speed of the AC servo motor's rotating shaft using a speed reducer mechanism. Furthermore, basic operation act2 is an operation in which the actuator moves forward and backward, and this operation is achieved by converting the rotational movement of the AC servo motor's rotating shaft into linear movement using a conversion mechanism. Furthermore, basic operation act3 is an operation in which the actuator moves forward and backward, and this operation is achieved by a linear servo motor.

基本動作act4、基本動作act5、および基本動作act8は、基本動作act1と同様にアクチュエータが回転する動作であり、ACサーボモータに減速機構を組み合わせることによって実現されている。また、基本動作act6および基本動作act7は、基本動作act2と同様にアクチュエータが進退動する動作であり、ACサーボモータに変換機構を組み合わせることによって実現されている。更に、基本動作act9は、基本動作act3と同様にアクチュエータが進退する動作であり、リニアサーボモータによって実現されている。 Basic actions act4, act5, and act8 are actions in which the actuator rotates, similar to basic action act1, and are realized by combining an AC servo motor with a speed reducer. Basic actions act6 and act7 are actions in which the actuator moves forward and backward, similar to basic action act2, and are realized by combining an AC servo motor with a conversion mechanism. Basic action act9 is actions in which the actuator moves forward and backward, similar to basic action act3, and is realized by a linear servo motor.

このように、基本動作act1、基本動作act4、基本動作act5、および基本動作act8を実現する動作機構は、何れもACサーボモータに減速機構を組み合わせたものであり、違いがあるとしても、ACサーボモータの出力や、減速機構の減速比などが違っているに過ぎない。従って、これらの基本動作のプログラム要素は共通化することができる。また、基本動作act2、基本動作act6、および基本動作act7を実現する動作機構は、何れもACサーボモータに変換機構を組み合わせたものであるため、これらの基本動作のプログラム要素は共通化することができる。更に、基本動作act3および基本動作act9のプログラム要素についても、同様な理由から共通化することができる。結局、9つの基本動作act1~act9を実現するプログラム要素としては、3つのプログラム要素prog1~prog3を用意しておき、基本動作に応じて適切なプログラム要素を選択して、適切な動作量(回転角度や移動量など)を指定してやれば、全ての基本動作act1~act9を実現することが可能となる。また、こうした事情(すなわち、多くの基本動作を実現するプログラム要素を共通化することができるという事情)は、図3に示した場合に限らず、一般的に成立するものである。 As such, the motion mechanisms that realize basic actions act1, act4, act5, and act8 all combine AC servo motors with reduction mechanisms, and any differences exist only in the output of the AC servo motors and the reduction ratios of the reduction mechanisms. Therefore, the program elements for these basic actions can be standardized. Furthermore, the motion mechanisms that realize basic actions act2, act6, and act7 all combine AC servo motors with conversion mechanisms, so the program elements for these basic actions can be standardized. Furthermore, for similar reasons, the program elements for basic actions act3 and act9 can also be standardized. Ultimately, by preparing three program elements prog1 to prog3 as program elements to realize the nine basic actions act1 to act9, and selecting the appropriate program element according to the basic action and specifying the appropriate motion amount (such as rotation angle or movement amount), all of the basic actions act1 to act9 can be realized. Furthermore, this situation (i.e., the ability to standardize program elements that realize many basic operations) is not limited to the case shown in Figure 3, but is generally true.

図5は、YOGOチャートで用いられる一般的な基本動作を分類した結果を示す説明図である。図5に示すように、基本動作の動作態様は、(特殊なものを除くと)進退動作または回転動作の何れかに分類できる。また、進退動作を実現するための動作機構は、ACサーボモータに変換機構を組み合わせた機構か、リニアサーボモータを用いた機構か、エアシリンダを用いた機構か、油圧シリンダを用いた機構の何れかと考えて、ほぼ間違いはない。同様に、回転動作を実現するための動作機構は、ACサーボモータに減速機構を組み合わせた機構か、パルスモータに減速機構を組み合わせた機構の何れかと考えて、ほぼ間違いはない。従って、全ての基本動作は、進退動作が4つ、回転動作が2つの合計で6つの類型に分類され、同じ類型の基本動作は同じプログラム要素を用いて実現することができるから、6つのプログラム要素を用意しておけば、ほぼ全ての基本動作に対応することができると考えられる。 Figure 5 is an explanatory diagram showing the classification of common basic movements used in YOGO charts. As shown in Figure 5, the motion patterns of basic movements (excluding special movements) can be classified as either forward/backward movements or rotational movements. Furthermore, it is almost certain that the operating mechanism for achieving forward/backward movements is either a mechanism combining an AC servo motor with a conversion mechanism, a mechanism using a linear servo motor, a mechanism using an air cylinder, or a mechanism using a hydraulic cylinder. Similarly, it is almost certain that the operating mechanism for achieving rotational movements is either a mechanism combining an AC servo motor with a reduction mechanism, or a mechanism combining a pulse motor with a reduction mechanism. Therefore, all basic movements are classified into six types: four forward/backward movements and two rotational movements. Since basic movements of the same type can be achieved using the same program elements, it is believed that preparing six program elements will be able to accommodate almost all basic movements.

そこで、以下に説明するYOGOチャートでは、基本動作の類型を指定するために「動作記号」を使用する。例えば、YOGOチャートに記載された「CNC-XA」という動作記号は、ACサーボモータに変換機構を組み合わせたアクチュエータによる進退動作を表している。また、「CNC-XL」という動作記号は、リニアサーボモータをアクチュエータとして用いた進退動作を表しており、「AC」という動作記号はエアシリンダによる進退動作を、「OC」という動作記号は油圧シリンダによる進退動作を表している。更に、「CNC-θA」という動作記号は、ACサーボモータに減速機構を組み合わせたアクチュエータによる回転動作を表しており、「OPN-θP」という動作記号は、パルスモータに減速機構を組み合わせたアクチュエータによる回転動作を表している。また、各動作記号の基本動作を実現するためのプログラム要素には、固有のプログラム要素番号が付されている。このため、プログラム要素番号によってプログラム要素を特定することが可能となっている。 The YOGO chart described below uses "operation symbols" to specify the type of basic operation. For example, the operation symbol "CNC-XA" listed on the YOGO chart represents an advance/retract operation performed by an actuator that combines an AC servo motor with a conversion mechanism. The operation symbol "CNC-XL" represents an advance/retract operation using a linear servo motor as an actuator, the operation symbol "AC" represents an advance/retract operation performed by an air cylinder, and the operation symbol "OC" represents an advance/retract operation performed by a hydraulic cylinder. The operation symbol "CNC-θA" represents a rotational operation performed by an actuator that combines an AC servo motor with a reduction mechanism, and the operation symbol "OPN-θP" represents a rotational operation performed by an actuator that combines a pulse motor with a reduction mechanism. Each program element that realizes the basic operation of each operation symbol is assigned a unique program element number. This makes it possible to identify each program element by its program element number.

C.YOGOチャートの記載方法 :
図6は、YOGOチャート200を用いて自動製造機械の動作を記述する方法についての説明図である。図示した例では、自動製造機械に搭載されているアクチュエータは、アクチュエータA~Eの5つであるものとしている。図6に示されるように、YOGOチャート200は、複数本の横線と複数本の縦線とが交差した大きな表のような形状となっている。以下では、交差する複数本の線の内、横線については「仕切線」201と称し、縦線については「トリガ線」202と称する。
C. How to fill out the YOGO chart:
FIG. 6 is an explanatory diagram of a method for describing the operation of an automatic manufacturing machine using a YOGO chart 200. In the illustrated example, the automatic manufacturing machine is equipped with five actuators, actuators A to E. As shown in FIG. 6, the YOGO chart 200 is shaped like a large table, with multiple horizontal and vertical lines intersecting each other. Hereinafter, of the multiple intersecting lines, the horizontal lines will be referred to as "partition lines" 201, and the vertical lines will be referred to as "trigger lines" 202.

トリガ線202には、1番から始まる通し番号が付けられている。図6に示した例では、YOGOチャート200の上端の欄内に、その下のトリガ線202の通し番号が記載されている。また、互いに隣接するトリガ線202の間の領域は、図3を用いて前述した部分期間となっており、部分期間にも1番から始まる通し番号(以下、部分期間番号と称する)が付けられている。尚、図6に例示したYOGOチャート200では、トリガ線202が縦方向に引かれており、従って、トリガ線202とトリガ線202とに挟まれた部分期間は横方向に並んでいる。しかし、トリガ線202は横方向に引いても良く、この場合は、複数の部分期間が縦方向に並ぶことになる。 The trigger lines 202 are assigned consecutive numbers starting from 1. In the example shown in Figure 6, 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 form the partial periods described above with reference to Figure 3, and these partial periods are also assigned consecutive numbers starting from 1 (hereinafter referred to as partial period numbers). In the YOGO chart 200 shown in Figure 6, the trigger lines 202 are drawn vertically, and therefore the partial periods sandwiched 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 would be lined up vertically.

また、本実施例のYOGOチャート200は、複数の仕切線201によって複数の横長の領域(以下では「行」と称することもある)に分割されており、これらの横長の行には1番から始まる通し番号(以下、アクチュエータ番号と称する)が付けられている。自動製造機械に搭載されたアクチュエータは、複数の横長の何れかの行に割り当てられる。例えば、自動製造機械に搭載されたアクチュエータが、アクチュエータA~アクチュエータEの5つのアクチュエータであるとすると、図6に示したように、アクチュエータ番号が1番の行にはアクチュエータAが割り当てられ、アクチュエータ番号が2番の行にはアクチュエータBが割り当てられ、アクチュエータ番号が3番の行にはアクチュエータCが割り当てられる。同様に、アクチュエータ番号が4番の行にはアクチュエータDが、アクチュエータ番号が5番の行にはアクチュエータEが割り当てられる。 The YOGO chart 200 of this embodiment is divided into multiple horizontally elongated regions (hereinafter sometimes referred to as "rows") by multiple divider lines 201, and these horizontally elongated rows are assigned consecutive numbers (hereinafter referred to as actuator numbers) starting from 1. Actuators installed in an automated manufacturing machine are assigned to one of the multiple horizontally elongated rows. For example, if the automated manufacturing machine has five actuators, actuator A through actuator E, then, as shown in FIG. 6, actuator A is assigned to row with actuator number 1, actuator B is assigned to row with actuator number 2, and actuator C is assigned to row with actuator number 3. Similarly, actuator D is assigned to row with actuator number 4, and actuator E is assigned to row with actuator number 5.

そして、アクチュエータA~Eの基本動作は、そのアクチュエータA~Eが割り当てられた横長の行の上の適切な位置に記載する。例えば、アクチュエータAが部分期間1で行う基本動作は、アクチュエータ番号が1番の横長の行と、部分期間番号が1番の縦長の領域(以下では「列」と称することもある)とが交差するマス目状の座標位置に、アクチュエータAにさせたい基本動作を記載する。基本動作を記載する場合は、YOGOチャート200上で基本動作を記載しようとするマス目状の座標位置に動作線203を記入し、その動作線203の上に動作記号206aおよびパラメータ記号206bを記入することによって、基本動作を記載する。 The basic operations of actuators A-E are then written in appropriate positions on the horizontal rows to which those actuators are assigned. For example, the basic operation that actuator A will perform in subperiod 1 is written in the coordinate position of a grid where the horizontal row with actuator number 1 intersects with the vertical area (hereinafter sometimes referred to as a "column") with subperiod number 1. When writing a basic operation, write an operation line 203 on the YOGO chart 200 at the coordinate position of the grid where you want the basic operation to be written, and then write the operation symbol 206a and parameter symbol 206b on that operation line 203 to write the basic operation.

図6に示した例では、アクチュエータ番号が1番で、部分期間番号が1番のYOGOチャート200上での座標位置(以下では、「チャート座標(1,1)」と称する)のマス目の中には、白丸で示した始点204と黒丸で示した終点205とを有する動作線203が記載されており、動作線203の上には、白い星印の後に記載された「CNC-XA」という動作記号206aと、黒い星印の後ろに記載された3つのパラメータ記号206bとを用いて、基本動作206が記載されている。ここで、始点204が1番のトリガ線202の上に記載されており、終点205が2番のトリガ線202の上に記載されているのは、その基本動作206が1番のトリガ線202のタイミングで開始され、2番のトリガ線202のタイミングで終了することを表している。また、動作線203の上に記載された「CNC-XA」という動作記号206aは、図5を用いて前述したように、ACサーボモータに変換機構を組み合わせたアクチュエータによる進退動作を表している。逆に言えば、「CNC-XA」という動作記号206aが、アクチュエータ番号が1番の座標位置に記載されているということは、アクチュエータ番号1番に対応するアクチュエータAが、ACサーボモータに変換機構を組み合わせることによって進退動作するアクチュエータであることを表している。更に、動作記号206aの下に記載されたパラメータ記号206bは、進退動作の具体的な内容(すなわち、進退動させる移動距離、進退動させる際の移動速度、および進退動させる際の移動トルク)を表している。パラメータ記号206bの詳細については後述する。 In the example shown in Figure 6, an operation line 203 having a start point 204 indicated by a white circle and an end point 205 indicated by a black circle is drawn in the square on the YOGO chart 200 corresponding to actuator number 1 and partial period number 1 (hereinafter referred to as "chart coordinates (1,1)"). A basic operation 206 is drawn on the operation line 203 using an operation symbol 206a, "CNC-XA," written after a white star, and three parameter symbols 206b written after a black star. Here, the start point 204 is drawn on trigger line 202 number 1, and the end point 205 is drawn on trigger line 202 number 2, indicating that the basic operation 206 starts at the timing of trigger line 202 number 1 and ends at the timing of trigger line 202 number 2. Furthermore, the operation symbol 206a "CNC-XA" written above the operation line 203 represents the forward/backward movement performed by an actuator that combines an AC servo motor with a conversion mechanism, as described above with reference to Figure 5. Conversely, the fact that the operation symbol 206a "CNC-XA" is written at the coordinate position of actuator number 1 indicates that actuator A corresponding to actuator number 1 is an actuator that performs forward/backward movement by combining an AC servo motor with a conversion mechanism. Furthermore, the parameter symbol 206b written below the operation symbol 206a represents the specific details of the forward/backward movement (i.e., the distance of forward/backward movement, the movement speed during forward/backward movement, and the movement torque during forward/backward movement). Details of the parameter symbol 206b will be provided later.

また、アクチュエータ番号が2番で、部分期間番号が2番の座標位置(チャート座標(2,2))のマス目には、動作線203の上に、「CNC-θA」という動作記号206aと、3つのパラメータ記号206bとを用いて基本動作206が記載されている。ここで、「CNC-θA」という動作記号206aは、ACサーボモータに減速機構を組み合わせたアクチュエータによる回転動作を表している。従って、アクチュエータ番号2番に対応するアクチュエータBは、ACサーボモータに減速機構を組み合わせることによって回転動作するアクチュエータとなる。また、この動作記号206aの下に記載された3つのパラメータ記号206bは、回転角度、回転速度、および回転トルクを表している。それぞれのパラメータ記号206bの具体的な数値(パラメータ値)は、アクチュエータ毎に予め設定されている。 Furthermore, in the square for the coordinate position (chart coordinates (2,2)) where actuator number 2 and partial period number 2 are located, a basic operation 206 is written above the operation line 203 using the operation symbol 206a "CNC-θA" and three parameter symbols 206b. Here, the operation symbol 206a "CNC-θA" represents rotational operation by an actuator that combines an AC servo motor with a speed reduction mechanism. Therefore, actuator B, which corresponds to actuator number 2, is an actuator that performs rotational operation by combining an AC servo motor with a speed reduction mechanism. Furthermore, the three parameter symbols 206b written below this operation symbol 206a represent the rotation angle, rotation speed, and rotational torque. The specific numerical values (parameter values) of each parameter symbol 206b are preset for each actuator.

図7は、アクチュエータ毎に、パラメータ記号206bに対してパラメータ値が予め設定されている様子を示した説明図である。尚、アクチュエータ毎にパラメータ記号206bに対してパラメータ値が設定されたテーブルは、「B表」と呼ばれる。例えば、図7(a)に示したB表には、5つのパラメータ記号206bが設定されているが、これらはアクチュエータAに対して用いられるパラメータ記号206bである。前述したようにアクチュエータAは、ACサーボモータに変換機構を組み合わせることによって進退動作するアクチュエータであるから、パラメータ記号206bを用いて指定するパラメータ値は、移動距離と、移動速度と、移動トルクとなる。このことに対応して、「AA-pos1」および「AA-pos2」という2つのパラメータ記号206bは移動距離を指定するために用いられ、それぞれ50mm、150mmのパラメータ値が設定されている。また、「AA-spd1」および「AA-spd2」という2つのパラメータ記号206bは移動速度を指定するために用いられ、それぞれ10mm/秒、15mm/秒のパラメータ値が設定されている。更に、「AA-trq1」というパラメータ記号206bは、進退動する際に許容する移動トルクを、ACサーボモータの規格トルクに対する比率で指定するために用いられ、100パーセントのパラメータ値(規格トルクまで許容することを意味する値)が設定されている。 Figure 7 is an explanatory diagram showing how parameter values are pre-assigned to parameter symbols 206b for each actuator. The table in which parameter values are assigned to parameter symbols 206b for each actuator is called "Table B." For example, Table B shown in Figure 7(a) has five parameter symbols 206b assigned, which are the parameter symbols 206b used for Actuator A. As mentioned above, Actuator A is an actuator that moves forward and backward by combining an AC servo motor with a conversion mechanism. Therefore, the parameter values specified using parameter symbols 206b are the travel distance, travel speed, and travel torque. Correspondingly, two parameter symbols 206b, "AA-pos1" and "AA-pos2," are used to specify the travel distance, and are set to parameter values of 50 mm and 150 mm, respectively. Furthermore, two parameter symbols 206b, "AA-spd1" and "AA-spd2," are used to specify the travel speed, and are set to parameter values of 10 mm/sec and 15 mm/sec, respectively. Furthermore, parameter symbol 206b "AA-trq1" is used to specify the allowable movement torque when moving forward or backward as a ratio to the standard torque of the AC servo motor, and is set to a parameter value of 100 percent (a value that means that up to the standard torque is allowed).

また、図7(b)に示したB表にも、5つのパラメータ記号206bが設定されているが、これらはアクチュエータBに対して用いられるパラメータ記号206bである。前述したようにアクチュエータBは、ACサーボモータに減速機構を組み合わせることによって回転動作するアクチュエータであるから、パラメータ記号206bを用いて指定するパラメータ値は、回転させる回転角度と、回転速度と、回転トルクとなる。このことに対応して、「AB-pos1」および「AB-pos2」という2つのパラメータ記号206bは回転角度を指定するために用いられ、それぞれ90度、30度のパラメータ値が設定されている。また、「AB-spd1」および「AB-spd2」という2つのパラメータ記号206bは回転速度を指定するために用いられ、それぞれ15度/秒、10度/秒のパラメータ値が設定されている。更に、「AB-trq1」というパラメータ記号206bは、進退動する際に許容する移動回転トルクを、ACサーボモータの規格トルクに対する比率で指定するために用いられ、100パーセントのパラメータ値(規格トルクまで許容することを意味する値)が設定されている。 Table B shown in Figure 7(b) also has five parameter symbols 206b set, which are parameter symbols 206b used for Actuator B. As mentioned above, Actuator B is an actuator that rotates by combining an AC servo motor with a speed reduction mechanism, so the parameter values specified using parameter symbols 206b are the rotation angle, rotation speed, and rotation torque. Correspondingly, two parameter symbols 206b, "AB-pos1" and "AB-pos2," are used to specify the rotation angle, and parameter values of 90 degrees and 30 degrees, respectively, are set. Furthermore, two parameter symbols 206b, "AB-spd1" and "AB-spd2," are used to specify the rotation speed, and parameter values of 15 degrees/second and 10 degrees/second, respectively, are set. Furthermore, parameter symbol 206b "AB-trq1" is used to specify the allowable rotational torque during forward and backward movement as a ratio to the standard torque of the AC servo motor, and is set to a parameter value of 100 percent (a value that means that up to the standard torque is allowed).

同様に、図7(c)のB表に設定された5つのパラメータ記号206bは、アクチュエータCに対して用いられるパラメータ記号206bであり、図7(d)のB表に設定された5つのパラメータ記号206bは、アクチュエータDに対して用いられるパラメータ記号206bである。更に、図7(e)のB表に設定された3つのパラメータ記号206bは、アクチュエータEに対して用いられるパラメータ記号206bである。そして、それぞれのアクチュエータに対して設定されたパラメータ記号206bは、アクチュエータに固有のパラメータ記号206bとなっている。例えば「AB-spd1」というパラメータ記号206bは、アクチュエータBに対して回転速度を指定するためのパラメータ記号206bであり、このパラメータ記号206bが別の目的では使用されないようになっている。 Similarly, the five parameter symbols 206b set in Table B of FIG. 7(c) are parameter symbols 206b used for actuator C, and the five parameter symbols 206b set in Table B of FIG. 7(d) are parameter symbols 206b used for actuator D. Furthermore, the three parameter symbols 206b set in Table B of FIG. 7(e) are parameter symbols 206b used for actuator E. The parameter symbols 206b set for each actuator are parameter symbols 206b unique to that actuator. For example, the parameter symbol 206b "AB-spd1" is a parameter symbol 206b for specifying the rotational speed for actuator B, and this parameter symbol 206b cannot be used for any other purpose.

YOGOチャート200では、以上に説明した動作記号206aおよびパラメータ記号206bを用いて、基本動作206を記載する。例えば、図6のYOGOチャート200で、チャート座標(1,1)(すなわち、アクチュエータ番号1番、部分期間番号1番の座標位置)の基本動作206は、動作記号206aが「CNC-XA」であり、パラメータ記号206bが「AA-pos1」、「AA-spd1」、「AA-trq1」となっている。従って、この基本動作206は、アクチュエータを進退動させる動作であり、その時の移動距離は50mm、移動速度は10mm/秒、その時の移動トルクはACサーボモータの規格トルクの最大値まで許容することを表していることになる。 In the YOGO chart 200, basic operations 206 are written using the operation symbols 206a and parameter symbols 206b described above. For example, in the YOGO chart 200 of Figure 6, the basic operation 206 at chart coordinates (1,1) (i.e., the coordinate position of actuator number 1 and partial period number 1) has the operation symbol 206a "CNC-XA" and the parameter symbols 206b "AA-pos1," "AA-spd1," and "AA-trq1." Therefore, this basic operation 206 is an operation to move the actuator forward or backward, with a travel distance of 50 mm, a travel speed of 10 mm/sec, and a travel torque up to the maximum allowable specified torque of the AC servo motor.

以上に説明したように、YOGOチャート200は、アクチュエータ番号と部分期間番号とによって決まる座標位置のマス目の中に、基本動作206の動作記号206aとパラメータ記号206bとを記入することによって記載されている。基本動作206が記入された座標位置のアクチュエータ番号は、基本動作206を行うアクチュエータを表し、部分期間番号は、基本動作206を行うタイミングを表している。更に、基本動作206の動作記号206aおよびパラメータ記号206bは、基本動作206の具体的な内容を表している。このようにして、YOGOチャート200の座標位置に基本動作206を記載することによって、自動製造機械の動作を記述することができる。例えば、図6のYOGOチャート200は、初めにアクチュエータAを基本動作206で指定された内容で動作させ、アクチュエータAの動作が終了したら、アクチュエータB~Dをそれぞれの基本動作206で指定された内容で動作させ、アクチュエータB~Dの動作が終了したら、今度は、アクチュエータAおよびアクチュエータEをそれぞれの基本動作206の内容で動作させる。そして、アクチュエータAおよびアクチュエータEの動作が終了したら、アクチュエータCおよびアクチュエータDをそれぞれの基本動作206の内容で動作させる。このような一連の動作を記述することが可能となる。 As explained above, the YOGO chart 200 is written by entering the operation symbol 206a and parameter symbol 206b of the basic operation 206 in a grid at a coordinate position determined by the actuator number and sub-period number. The actuator number at the coordinate position where the basic operation 206 is entered indicates the actuator that performs the basic operation 206, and the sub-period number indicates the timing at which the basic operation 206 is performed. Furthermore, the operation symbol 206a and parameter symbol 206b of the basic operation 206 represent the specific content of the basic operation 206. In this way, by entering the basic operation 206 at a coordinate position on the YOGO chart 200, the operation of an automated manufacturing machine can be described. For example, the YOGO chart 200 in Figure 6 first operates actuator A according to the content specified in the basic operation 206. After actuator A's operation is complete, actuators B to D are operated according to the content specified in their respective basic operations 206. After actuators B to D are completed, actuators A and E are then operated according to the content of their respective basic operations 206. Then, once the operations of actuator A and actuator E are complete, actuator C and actuator D are operated according to the contents of their respective basic operations 206. It is possible to describe a series of operations like this.

尚、本実施例では、動作記号206aと、複数のパラメータ記号206bとを用いて、YOGOチャート200に基本動作206を記載するものとして説明しているが、YOGOチャート200に基本動作206を記載する方法は、これに限られるわけではない。例えば、図6に示した例では、動作記号206aの下方に列記していた複数のパラメータ記号206bと、それらのパラメータ記号206bに対するパラメータ値とを対応付けたテーブルを設定しておき、それぞれのテーブルには固有のテーブル記号を設定しておく。そして、動作記号206aの下方に複数のパラメータ記号206bを列記する代わりに、それらのパラメータ記号206bに対するパラメータ値が設定されたテーブルのテーブル記号を記載することとしてもよい。 Note that, in this embodiment, the basic actions 206 are described as being written on the YOGO chart 200 using an action symbol 206a and multiple parameter symbols 206b, but the method for writing the basic actions 206 on the YOGO chart 200 is not limited to this. For example, in the example shown in FIG. 6, a table is set up that associates multiple parameter symbols 206b listed below the action symbol 206a with parameter values for those parameter symbols 206b, and a unique table symbol is set for each table. Then, instead of listing multiple parameter symbols 206b below the action symbol 206a, a table symbol for a table in which parameter values for those parameter symbols 206b are set may be written.

以上のようにして、自動製造機械の動作をYOGOチャート200に記載しておけば、そのYOGOチャート200を変換することによって、自動製造機械を動作させるための制御プログラムを自動で生成することができる。もっとも、こうして生成した制御プログラムには、自動製造機械が動作を開始してから終了するまでの全体の動作時間が長くなり易いという問題があった。この理由は、次のようなものである。 By recording the operation of an automatic manufacturing machine on a YOGO chart 200 in this way, it is possible to automatically generate a control program for operating the automatic manufacturing machine by converting the YOGO chart 200. However, a problem with control programs generated in this way is that the overall operating time from when the automatic manufacturing machine starts to finish operating tends to be long. The reasons for this are as follows:

D.自動製造機械の全体の動作時間が長くなり易い理由 :
図8は、YOGOチャート200から自動生成した制御プログラムを用いて自動製造機械を動作させた場合に、自動製造機械が動作を開始してから終了するまでに要する時間が長くなり易い理由を示した説明図である。図8(a)には、5つのアクチュエータA~Eを備える自動製造機械の動作を記述したYOGOチャート200が例示されている。尚、図8(a)のYOGOチャート200では、図示が煩雑となることを避ける目的で、動作線203上には動作記号206aのみが表示され、パラメータ記号206bの表示が省略されている。また、図8以降のYOGOチャート200についても同様に、パラメータ記号206bの表示は省略する。
D. Reasons why the overall operating time of automated manufacturing machines tends to be long:
FIG. 8 is an explanatory diagram showing why the time required for an automatic manufacturing machine to complete its operation from start to finish tends to be long when the automatic manufacturing machine is operated using a control program automatically generated from a YOGO chart 200. FIG. 8(a) illustrates a YOGO chart 200 that describes the operation of an automatic manufacturing machine equipped with five actuators A to E. In the YOGO chart 200 of FIG. 8(a), in order to avoid cluttering the illustration, only the operation symbol 206a is displayed on the operation line 203, and the parameter symbol 206b is omitted. Similarly, the parameter symbol 206b is omitted from the YOGO charts 200 of FIG. 8 and subsequent figures.

図8(a)に例示したように、YOGOチャート200を見る限りでは、5つのアクチュエータA~Eが定められた順序で整然と動作しているように見える。例えば、先頭から2つめ(部分期間番号が2)の部分期間では、3つのアクチュエータB~Dに対して同じ長さの動作線203が記載されているので、それらのアクチュエータB~Dが一斉に動作を開始して、同じタイミングで動作を終了しているように見える。しかし、YOGOチャート200に記載された動作線203の長さは、アクチュエータの動作時間を表しているわけではない。 As shown in Figure 8(a), looking at the YOGO chart 200, it appears that the five actuators A to E are operating in an orderly manner in a set sequence. For example, in the second partial period from the beginning (partial period number 2), the same length of operation lines 203 are drawn for the three actuators B to D, so it appears that actuators B to D start operating simultaneously and finish operating at the same time. However, the length of the operation lines 203 drawn on the YOGO chart 200 does not represent the operating time of the actuators.

図8(b)には、動作線203の長さを、それぞれのアクチュエータが動作する時間の長さに対応するように描き直したYOGOチャート250が示されている。描き直されたYOGOチャート250の上部には経過時間が表示されている。図8(b)のYOGOチャート250に示されるように、先頭の部分期間(部分期間番号が1番の部分期間)ではアクチュエータAだけが動作し、動作に要する時間が10秒となっている。従って、動作開始から10秒が経過すると部分期間番号2番の部分期間が開始され、3つのアクチュエータB~Dが動作を開始する。ここで、図示した例では、アクチュエータBの動作に要する時間は6秒であり、アクチュエータCの動作に要する時間は8秒、アクチュエータDの動作に要する時間は26秒となっている。従って、アクチュエータBやアクチュエータCにとっては、自らの動作が終了しているにも拘わらずアクチュエータDが動作を終了していないので、現在の部分期間を終了することができない状態(すなわち、アクチュエータDの動作終了を待っている状態)が発生する。この待ち時間は、アクチュエータBにとっては20(=26-6)秒となり、アクチュエータCにとっては18(=26-8)秒となる。 Figure 8(b) shows a YOGO chart 250 in which the length of the operating line 203 has been redrawn to correspond to the length of time each actuator operates. The elapsed time is displayed at the top of the redrawn YOGO chart 250. As shown in the YOGO chart 250 in Figure 8(b), in the first sub-period (sub-period with sub-period number 1), only actuator A operates, and the operation takes 10 seconds. Therefore, 10 seconds after the start of operation, sub-period with sub-period number 2 begins, and the three actuators B to D begin operating. Here, in the illustrated example, the operation of actuator B takes 6 seconds, the operation of actuator C takes 8 seconds, and the operation of actuator D takes 26 seconds. Therefore, for actuators B and C, the operation of their own has finished, but actuator D has not, so they are unable to complete the current sub-period (i.e., they are waiting for actuator D to finish operating). This waiting time is 20 (= 26 - 6) seconds for actuator B and 18 (= 26 - 8) seconds for actuator C.

また、部分期間番号2番の部分期間が終了すると、部分期間番号3番の部分期間が開始されて、2つのアクチュエータA,Eが動作を開始する。図示した例では、部分期間番号3番の部分期間でのアクチュエータAの動作に要する時間は30秒であり、アクチュエータEの動作に要する時間は6秒となっている。従って、アクチュエータEにとっては、アクチュエータAの動作終了を待っている状態が発生する。この待ち時間は24(=30-6)秒となる。部分期間番号3番の部分期間が終了した後は、今度は、部分期間番号4番の部分期間が開始されてアクチュエータBが動作を開始する。 Furthermore, when partial period number 2 ends, partial period number 3 begins, and the two actuators A and E begin operating. In the example shown, the time required for actuator A to operate during partial period number 3 is 30 seconds, and the time required for actuator E to operate is 6 seconds. Therefore, actuator E is in a state where it is waiting for actuator A to finish operating. This waiting time is 24 (= 30 - 6) seconds. After partial period number 3 ends, partial period number 4 begins, and actuator B begins operating.

このように長い待ち時間が発生すると、自動製造機械が動作を開始してから終了するまでに要する時間が長くなる。こうした事態が発生する直接的な原因は、同じ部分期間で動作する複数のアクチュエータの中に、他のアクチュエータに比べて動作時間が特に長いアクチュエータが存在することである。しかし、YOGOチャート200の複数の部分期間が、先頭の部分期間から最後の部分期間まで一列に繋がっていることも、間接的には原因の1つになっていると考えられる。すなわち、部分期間が一列に繋がっていると、同じタイミングで動作するアクチュエータは同じ部分期間に割り当てるしかなく、このため、動作時間の大きく異なる複数のアクチュエータが同じ部分期間に割り当てられることになり、長い待ち時間が発生する。 When such long wait times occur, it takes longer for an automated manufacturing machine to start and finish operating. The direct cause of this situation is that, among multiple actuators operating in the same sub-period, there is an actuator that has a particularly long operating time compared to the other actuators. However, it is thought that an indirect cause is also the fact that multiple sub-periods in YOGO chart 200 are connected in a row from the first sub-period to the last sub-period. In other words, when sub-periods are connected in a row, actuators that operate at the same timing have no choice but to be assigned to the same sub-period. As a result, multiple actuators with significantly different operating times are assigned to the same sub-period, resulting in long wait times.

E.自動製造機械の全体の動作時間を短縮する方法 :
以上のような点に着眼して、本願の発明者らは、自動製造機械の全体の動作時間を短縮する方法を考え出した。この方法では、自動製造機械の動作期間(先頭の部分期間から最後の部分期間まで)の一部範囲では部分期間を並列化して、並列化された異なる列同士では部分期間の動作を独立して実行する。こうすれば、以下のような理由から、自動製造機械の全体の動作時間を短縮することができる。
E. Methods for reducing the overall operating time of automated manufacturing machines:
Taking note of the above points, the inventors of the present application have devised a method for shortening the overall operating time of an automatic manufacturing machine. In this method, partial periods are parallelized in a part of the operating period of the automatic manufacturing machine (from the first partial period to the last partial period), and the operations of the partial periods are executed independently in different paralleled columns. This makes it possible to shorten the overall operating time of the automatic manufacturing machine for the following reasons.

図8に例示したYOGOチャート200では、部分期間番号2番および3番の部分期間で待ち時間が発生している。そこで、部分期間番号2番および3番の部分期間に対して並列に新たな部分期間を追加することによって、この範囲(部分期間番号2番および3番の範囲)で部分期間を並列化する。そして、部分期間が並列化された範囲では、元々の部分期間に加えて、追加した部分期間にもアクチュエータの動作を割り当てる。尚、以下では、部分期間が並列化された範囲を「並列期間」と称する。また、並列期間内に追加された新たな部分期間を「並列部分期間」と称する。更に、元々の部分期間を並列部分期間に対して区別する必要がある場合には、元々の部分期間を「通常部分期間」と称する。 In the YOGO chart 200 shown in Figure 8, waiting times occur in sub-periods numbered 2 and 3. Therefore, by adding new sub-periods in parallel to sub-periods numbered 2 and 3, the sub-periods are parallelized within this range (the range of sub-periods numbered 2 and 3). Then, within the range of parallelized sub-periods, actuator operation is assigned to the added sub-period in addition to the original sub-period. Note that, below, the range of parallelized sub-periods is referred to as the "parallel period." Furthermore, a new sub-period added within a parallel period is referred to as the "parallel sub-period." Furthermore, when it is necessary to distinguish the original sub-period from the parallel sub-periods, the original sub-period is referred to as the "normal sub-period."

図9には、並列期間が設定された本実施例のYOGOチャート200が例示されている。図示した例では、部分期間番号が2番および3番の部分期間に並列期間210が設定されており、並列期間210は2つの並列部分期間212に分割されている。そして、図中で「S1」と表示した1つめの並列部分期間212にはアクチュエータDの基本動作が割り当てられ、図中で「S2」と表示した2つめの並列部分期間212にはアクチュエータEの基本動作が割り当てられている。尚、S1およびS2は、それぞれ並列部分期間212の部分期間番号である。従って、以下では、「S1」と表示した並列部分期間212を「部分期間番号がS1の並列部分期間212」と称し、「S2」と表示した並列部分期間212を「部分期間番号がS2の並列部分期間212」と称する。また、図9に示した例では、アクチュエータDおよびアクチュエータEが、本発明における「選択アクチュエータ」に該当する。 Figure 9 illustrates a YOGO chart 200 of this embodiment in which parallel periods are set. In the illustrated example, parallel periods 210 are set in sub-periods numbered 2 and 3, and the parallel period 210 is divided into two parallel sub-periods 212. The basic operation of actuator D is assigned to the first parallel sub-period 212, labeled "S1," and the basic operation of actuator E is assigned to the second parallel sub-period 212, labeled "S2." Note that S1 and S2 are the sub-period numbers of the parallel sub-periods 212. Therefore, hereinafter, the parallel sub-period 212 labeled "S1" will be referred to as the "parallel sub-period 212 with sub-period number S1," and the parallel sub-period 212 labeled "S2" will be referred to as the "parallel sub-period 212 with sub-period number S2." In the example shown in Figure 9, actuators D and E correspond to the "selected actuators" of this invention.

図10は、図9に示した(並列期間210を有する)YOGOチャート200の構造を概念的に示した説明図である。図示したように、部分期間番号が1番~5番までの通常部分期間211の中で、部分期間番号が2番および3番の通常部分期間211に対して、部分期間番号がS1およびS2の2つの並列部分期間212が追加されている。このような構造を有するYOGOチャート200を用いれば、次のような動作を記述することができる。 Figure 10 is an explanatory diagram conceptually illustrating the structure of the YOGO chart 200 (having parallel periods 210) shown in Figure 9. As shown, among the normal sub-periods 211 with sub-period numbers 1 to 5, two parallel sub-periods 212 with sub-period numbers S1 and S2 have been added to the normal sub-periods 211 with sub-period numbers 2 and 3. Using a YOGO chart 200 with this structure, the following operations can be described:

先ず、部分期間番号が1番の通常部分期間211に割り当てられたアクチュエータを動作させ、この動作が終了したら、部分期間番号が2番の通常部分期間211に割り当てられたアクチュエータと、部分期間番号がS1の並列部分期間212に割り当てられたアクチュエータとを動作させる。そして、部分期間番号が2番の通常部分期間211の動作が終了したら、部分期間番号が3番の通常部分期間211に割り当てられたアクチュエータを動作させる。また、部分期間番号がS1の並列部分期間212の動作が終了したら、部分期間番号がS2の並列部分期間212に割り当てられたアクチュエータを動作させる。ここで、部分期間番号が3番の通常部分期間211の動作は、部分期間番号がS1の並列部分期間212の動作の終了を待たずに開始することができる。また、部分期間番号がS2の並列部分期間212の動作は、部分期間番号が2番の通常部分期間211の動作の終了を待たずに開始することができる。何故なら、通常部分期間211と並列部分期間212とは別系統の(すなわち並列な)部分期間だからである。また、部分期間番号が4番の通常部分期間211に割り当てられた動作については、部分期間番号が3番の通常部分期間211の動作が終了し、且つ、部分期間番号がS2の並列部分期間212の動作が終了した後に開始される。 First, the actuator assigned to the normal sub-period 211 with sub-period number 1 is operated. Once this operation is complete, the actuator assigned to the normal sub-period 211 with sub-period number 2 and the actuator assigned to the parallel sub-period 212 with sub-period number S1 are operated. Then, once the operation of the normal sub-period 211 with sub-period number 2 is complete, the actuator assigned to the normal sub-period 211 with sub-period number 3 is operated. Furthermore, once the operation of the parallel sub-period 212 with sub-period number S1 is complete, the actuator assigned to the parallel sub-period 212 with sub-period number S2 is operated. Here, the operation of the normal sub-period 211 with sub-period number 3 can begin without waiting for the end of the operation of the parallel sub-period 212 with sub-period number S1. Furthermore, the operation of the parallel sub-period 212 with sub-period number S2 can begin without waiting for the end of the operation of the normal sub-period 211 with sub-period number 2. This is because the normal sub-period 211 and the parallel sub-period 212 are sub-periods on different systems (i.e., parallel). Furthermore, the operation assigned to the normal sub-period 211 with sub-period number 4 will start after the operation of the normal sub-period 211 with sub-period number 3 has ended and the operation of the parallel sub-period 212 with sub-period number S2 has ended.

このような構造のYOGOチャート200では、通常部分期間211の動作については従来のYOGOチャート200と同様に、先頭の通常部分期間211から順番に実行される。また、並列期間210内での並列部分期間212の動作についても先頭の並列部分期間212から順番に実行される。更に、並列期間210が開始される部分(すなわち、通常部分期間211から並列部分期間212が分離する部分)では、直前の通常部分期間211の動作が終了した後でなければ、並列期間210内の先頭の通常部分期間211および先頭の並列部分期間212の何れの動作も開始されることがない。加えて、並列期間210が終了する部分(すなわち、通常部分期間211と並列部分期間212とが合流する部分)では、並列期間210内の最後の通常部分期間211および最後の並列部分期間212の何れの動作も終了した後でなければ、並列期間210に続く通常部分期間211の動作が開始されることがない。従って、従来のYOGOチャートに対する大きな違いは、並列期間210内では、通常部分期間211の動作と並列部分期間212の動作とが独立して実行される点に過ぎない。このため、一部が並列化されたYOGOチャート200を用いた場合でも、従来のYOGOチャート200と同様に自動製造機械の制御プログラムを自動で生成することができる。 In a YOGO chart 200 with this structure, the operations of the normal sub-periods 211 are executed sequentially, starting with the first normal sub-period 211, as in a conventional YOGO chart 200. Furthermore, the operations of the parallel sub-periods 212 within the parallel period 210 are also executed sequentially, starting with the first parallel sub-period 212. Furthermore, at the point where the parallel period 210 starts (i.e., the point where the parallel sub-period 212 separates from the normal sub-period 211), the operations of the first normal sub-period 211 and the first parallel sub-period 212 within the parallel period 210 do not start until the operations of the previous normal sub-period 211 have ended. Additionally, at the point where the parallel period 210 ends (i.e., the point where the normal sub-period 211 and the parallel sub-period 212 join), the operations of the normal sub-period 211 following the parallel period 210 do not start until the operations of the last normal sub-period 211 and the last parallel sub-period 212 within the parallel period 210 have ended. Therefore, the only major difference from conventional YOGO charts is that within parallel period 210, the operations of normal sub-period 211 and parallel sub-period 212 are executed independently. Therefore, even when using a partially parallelized YOGO chart 200, it is possible to automatically generate a control program for an automatic manufacturing machine in the same way as with conventional YOGO chart 200.

尚、上述した説明から明らかなように、並列期間210が設定されたYOGOチャート200では、その並列期間210に形成された全ての並列部分期間212に対して、少なくとも1つのアクチュエータの基本動作を割り当てる必要がある。何故なら、並列期間210内の先頭の並列部分期間212から順番にアクチュエータを動作させた時に、アクチュエータの基本動作が割り当てられていない並列部分期間212が存在すると、その並列部分期間212に続く並列部分期間212の動作を開始することができなくなってしまうからである。 As is clear from the above explanation, in a YOGO chart 200 in which parallel periods 210 are set, it is necessary to assign at least one basic actuator operation to each of the parallel sub-periods 212 formed within that parallel period 210. This is because, when the actuators are operated in order from the first parallel sub-period 212 within the parallel period 210, if there is a parallel sub-period 212 to which no basic actuator operation is assigned, it will be impossible to start operation of the parallel sub-period 212 following that parallel sub-period 212.

また、並列期間210で並列部分期間212に対して基本動作が設定されたアクチュエータは、同じ並列期間210の通常部分期間211に対しては基本動作を設定することは避けた方がよい。何故なら、並列期間210では通常部分期間211の動作と並列部分期間212の動作とが独立して実行されるので、同じ並列期間210内で通常部分期間211と並列部分期間212とに同じアクチュエータの基本動作を割り当てると、それらの動作タイミングが重なってしまい、何れの基本動作も実行できなくなる可能性があるためである。 In addition, if an actuator has a basic operation set for parallel sub-period 212 in parallel period 210, it is best to avoid setting the basic operation for normal sub-period 211 of the same parallel period 210. This is because, during parallel period 210, the operation of normal sub-period 211 and the operation of parallel sub-period 212 are executed independently. Therefore, if the basic operation of the same actuator is assigned to normal sub-period 211 and parallel sub-period 212 within the same parallel period 210, the operation timings will overlap, and it may become impossible to execute either basic operation.

図11には、図9に示した一部が並列化されたYOGOチャート200を、動作線203の長さがアクチュエータの動作時間の長さを表すように描き直したYOGOチャート250が示されている。YOGOチャート250の上部には経過時間が表示されている。また、図11に示したYOGOチャート250は、図8(b)に示したYOGOチャート250に対して、一部の部分期間が並列化されている点が異なるが、アクチュエータA~Eの動作時間は同一となっている。尚、図11中で、アクチュエータDおよびアクチュエータEに対する一部の動作線203が一点鎖線で表示されているのは、その動作が並列部分期間212に設定された動作であることを表している。 Figure 11 shows YOGO chart 250, which is a redrawing of the partially parallelized YOGO chart 200 shown in Figure 9, with the length of the operating line 203 representing the length of the actuator operating time. The elapsed time is displayed at the top of YOGO chart 250. YOGO chart 250 shown in Figure 11 differs from YOGO chart 250 shown in Figure 8(b) in that some partial periods have been parallelized, but the operating times of actuators A to E are the same. Note that in Figure 11, some of the operating lines 203 for actuators D and E are shown as dashed lines, indicating that the operation is set in parallel partial period 212.

図11のYOGOチャート250では、部分期間番号がS1の並列部分期間212の動作の実行中に、部分期間番号が2番の通常部分期間211を終了して、部分期間番号が3番の通常部分期間211の動作が開始されている。また、部分期間番号が3番の通常部分期間211の動作の実行中に、部分期間番号がS2の並列部分期間212の動作が開始されている。このため、待ち時間を大幅に減少することができ、自動製造機械の全体の動作時間を短縮することができる。このように、一部が並列化されたYOGOチャート200を用いれば、自動製造機械の全体の動作時間を短縮することが可能となる。 In the YOGO chart 250 of FIG. 11, while the operation of the parallel sub-period 212 with sub-period number S1 is being executed, the normal sub-period 211 with sub-period number 2 ends and the operation of the normal sub-period 211 with sub-period number 3 begins. Also, while the operation of the normal sub-period 211 with sub-period number 3 is being executed, the operation of the parallel sub-period 212 with sub-period number S2 begins. This allows for a significant reduction in wait time, shortening the overall operating time of the automated manufacturing machine. In this way, by using a YOGO chart 200 with some parts parallelized, it is possible to shorten the overall operating time of the automated manufacturing machine.

尚、図9~図11を用いて説明した例では、2つの通常部分期間211を纏めて設定された並列期間210に、2つの並列部分期間212が設定されている。従って、並列期間210に形成された並列部分期間212の個数は、通常部分期間211の個数と同じとなっている。しかし、並列期間210内の並列部分期間212の個数は、通常部分期間211の個数と同じである必要はない。例えば、図12(a)に示した例では、並列期間210を形成する通常部分期間211は2つであるが、その並列期間210には部分期間番号S1~S3の3つの並列部分期間212が形成されている。あるいは、図12(b)に示した例では、並列期間210を形成する通常部分期間211は3つであるが、その並列期間210には、部分期間番号S1およびS2の2つの並列部分期間212が形成されている。 In the example described using Figures 9 to 11, two parallel sub-periods 212 are set in a parallel period 210 that is set by combining two normal sub-periods 211. Therefore, the number of parallel sub-periods 212 formed in the parallel period 210 is the same as the number of normal sub-periods 211. However, the number of parallel sub-periods 212 in the parallel period 210 does not have to be the same as the number of normal sub-periods 211. For example, in the example shown in Figure 12(a), the parallel period 210 is formed by two normal sub-periods 211, but three parallel sub-periods 212 with sub-period numbers S1 to S3 are formed in the parallel period 210. Alternatively, in the example shown in Figure 12(b), the parallel period 210 is formed by three normal sub-periods 211, but two parallel sub-periods 212 with sub-period numbers S1 and S2 are formed in the parallel period 210.

また、1つのYOGOチャート200に複数の並列期間210を設定しても良い。更に、それらの並列期間210は少なくとも一部が重複していても良い。例えば、図13に示した例では、部分期間番号が2番および3番の範囲に一点鎖線で囲った並列期間210が設定されており、この一点鎖線の並列期間210には部分期間番号がA1およびA2の2つの並列部分期間212が形成されている。また、部分期間番号が3番~5番の範囲には、二点鎖線で囲った並列期間210が設定されており、この二点鎖線の並列期間210には部分期間番号がB1~B3の3つの並列部分期間212が形成されている。このように、1つのYOGOチャート200に複数の並列期間210を設定しても良く、更には、それらの並列期間210の少なくとも一部を重複させることもできる。尚、図13に示した例では、アクチュエータD、E、G~Iが、本発明における「選択アクチュエータ」に該当する。 A single YOGO chart 200 may have multiple parallel periods 210. Furthermore, these parallel periods 210 may overlap at least partially. For example, in the example shown in FIG. 13, a parallel period 210 surrounded by a dashed line is set in the range of partial period numbers 2 and 3, and two parallel partial periods 212, with partial period numbers A1 and A2, are formed within this dashed line parallel period 210. A parallel period 210 surrounded by a double-dashed line is set in the range of partial period numbers 3 to 5, and three parallel partial periods 212, with partial period numbers B1 to B3, are formed within this double-dashed line parallel period 210. In this way, a single YOGO chart 200 may have multiple parallel periods 210, and these parallel periods 210 may overlap at least partially. In the example shown in FIG. 13, actuators D, E, and G to I correspond to the "selected actuators" of this invention.

更に、図9や図12や図13に示した例では、同じ並列期間210の並列部分期間212は、YOGOチャート200上で互いに隣接するアクチュエータに対して設定されている。すなわち、図9や図12のYOGOチャート200上では、アクチュエータDおよびアクチュエータEに対して並列部分期間212が設定されている。また、図13のYOGOチャート200上では、2つの並列期間210が設定されており、一方の並列期間210の並列部分期間212はアクチュエータDおよびアクチュエータEに対して設定され、他方の並列部分期間212はアクチュエータG~Iに対して設定されている。しかし、同じ並列期間210の並列部分期間212を、YOGOチャート200上で離れた位置のアクチュエータ(例えばアクチュエータAとアクチュエータD)に対して設定しても構わない。 Furthermore, in the examples shown in Figures 9, 12, and 13, parallel sub-periods 212 of the same parallel period 210 are set for actuators that are adjacent to each other on the YOGO chart 200. That is, on the YOGO chart 200 of Figures 9 and 12, parallel sub-periods 212 are set for actuators D and E. Also, on the YOGO chart 200 of Figure 13, two parallel periods 210 are set, with the parallel sub-period 212 of one parallel period 210 being set for actuators D and E, and the parallel sub-period 212 of the other parallel period 210 being set for actuators G to I. However, parallel sub-periods 212 of the same parallel period 210 may also be set for actuators that are far apart on the YOGO chart 200 (for example, actuator A and actuator D).

F.制御プログラム生成装置110 :
一部が並列化されたYOGOチャート200は、以下のような制御プログラム生成装置110によって制御プログラムに変換される。また、本実施例の制御プログラム生成装置110は、生成した制御プログラムを用いて自動製造機械の動作を制御する動作制御装置120と共に、制御装置100内に組み込まれている。
F. Control program generator 110:
The partially parallelized YOGO chart 200 is converted into a control program by the following control program generator 110. The control program generator 110 of this embodiment is incorporated into the control device 100 together with an operation control device 120 that controls the operation of the automated manufacturing machine using the generated control program.

F-1.制御装置100および制御プログラム生成装置110の概要 :
図14は、制御プログラム生成装置110を内蔵した制御装置100についての説明図である。図示されるように、制御装置100は、チャート作成部101や、チャート記憶部102や、制御プログラム生成装置110や、動作制御装置120を備えている。更に、制御プログラム生成装置110は、チャート読込部111や、基本動作記憶部112や、中間データ生成部113や、中間データ変換部114などを備えている。尚、これらの「部」は、制御装置100がYOGOチャート200を作成して、それらを記憶しておくために備える機能や、制御プログラム生成装置110がYOGOチャート200を読み込んで制御プログラムを生成するために備える機能を表した抽象的な概念である。従って、制御装置100や制御プログラム生成装置110が、これらの「部」に相当する部品を組み合わせて形成されていることを表しているわけではない。実際には、これらの「部」は、CPUで実行されるプログラムの形態で実現することもできるし、ICチップやLSIなどを組み合わせた電子回路の形態で実現することもできるし、更には、これらが混在した形態など、様々な形態で実現することができる。
F-1. Overview of the control device 100 and the control program generation device 110:
FIG. 14 is an explanatory diagram of a control device 100 incorporating a control program generator 110. As shown in the figure, the control device 100 includes a chart creation unit 101, a chart storage unit 102, a control program generator 110, and an operation control device 120. Furthermore, the control program generator 110 includes a chart reading unit 111, a basic operation storage unit 112, an intermediate data generation unit 113, and an intermediate data conversion unit 114. Note that these "units" are abstract concepts that represent the functions of the control device 100 to create and store YOGO charts 200, and the functions of the control program generator 110 to read the YOGO charts 200 and generate a control program. Therefore, it does not represent that the control device 100 or the control program generator 110 is formed by combining components corresponding to these "units." In reality, these "parts" can be realized in the form of a program executed by a CPU, or in the form of an electronic circuit combining IC chips, LSIs, etc., or even in a variety of forms, such as a mixture of these.

チャート作成部101は、モニター画面100mや、操作入力ボタン100sなどに接続されており、パイプベンダ10などの自動製造機械について十分な知識を有する機械技術者などが、モニター画面100mを見ながら操作入力ボタン100sを操作することによって、図9や図12や図13に例示したYOGOチャート200を作成する。自動製造機械の動作について十分な知識を有する技術者であれば、YOGOチャート200を簡単に作成することができる。 The chart creation unit 101 is connected to the monitor screen 100m and operation input buttons 100s, and a mechanical engineer with sufficient knowledge of automated manufacturing machines such as the pipe bender 10 creates the YOGO chart 200 shown in Figures 9, 12, and 13 by operating the operation input buttons 100s while viewing the monitor screen 100m. An engineer with sufficient knowledge of the operation of automated manufacturing machines can easily create the YOGO chart 200.

また、本実施例では、YOGOチャートに基本動作206を記入する際には、原則として動作記号206aとパラメータ記号206bとを用いて基本動作206を記入するが、動作記号206aや、パラメータ記号206bや、パラメータ記号206bに対応するパラメータ値は、基本動作記憶部112に記憶されている。そこで、チャート作成部101は基本動作記憶部112を参照可能となっており、YOGOチャート200を作成する際には、基本動作記憶部112を参照しながら基本動作206を記入することができる。そして、YOGOチャート200が完成したらチャート記憶部102に保存しておく。 In addition, in this embodiment, when entering basic actions 206 into a YOGO chart, the basic actions 206 are entered using action symbols 206a and parameter symbols 206b as a general rule, but the action symbols 206a, parameter symbols 206b, and parameter values corresponding to the parameter symbols 206b are stored in the basic action storage unit 112. Therefore, the chart creation unit 101 is able to refer to the basic action storage unit 112, and when creating a YOGO chart 200, the basic actions 206 can be entered while referring to the basic action storage unit 112. Then, once the YOGO chart 200 is completed, it is saved in the chart storage unit 102.

制御プログラム生成装置110のチャート読込部111は、チャート記憶部102に記憶されているYOGOチャート200を読み込んで、中間データ生成部113に出力する。中間データ生成部113は、読み込んだYOGOチャート200を解析することによって、後述する中間データを生成した後、中間データを中間データ変換部114に出力する。YOGOチャートから中間データを生成する処理については、後ほど詳しく説明する。尚、チャート読込部111は、YOGOチャート200をチャート記憶部102から読み込む代わりに、制御装置100とは別体に設けたコンピュータ50からYOGOチャート200を読み込むようにしてもよい。 The chart reading unit 111 of the control program generation device 110 reads the YOGO chart 200 stored in the chart storage unit 102 and outputs it to the intermediate data generation unit 113. The intermediate data generation unit 113 analyzes the read YOGO chart 200 to generate intermediate data (described below), and then outputs the intermediate data to the intermediate data conversion unit 114. The process of generating intermediate data from a YOGO chart will be explained in detail later. Note that instead of reading the YOGO chart 200 from the chart storage unit 102, the chart reading unit 111 may read the YOGO chart 200 from a computer 50 provided separately from the control device 100.

中間データ変換部114は、中間データを受け取ると、基本動作記憶部112を参照することによって、中間データから制御プログラムを生成する。中間データから制御プログラムを生成する方法については、後ほど詳しく説明する。そして、得られた制御プログラムを、後述する動作制御装置120に出力する。尚、本実施例では、中間データ生成部113および中間データ変換部114が、本発明における「制御プログラム生成部」に対応する。 When the intermediate data conversion unit 114 receives the intermediate data, it generates a control program from the intermediate data by referencing the basic operation storage unit 112. The method for generating a control program from the intermediate data will be explained in detail later. The obtained control program is then output to the operation control device 120, which will be described later. Note that in this embodiment, the intermediate data generation unit 113 and the intermediate data conversion unit 114 correspond to the "control program generation unit" in the present invention.

F-2.制御プログラム生成処理 :
図15は、上述した制御プログラム生成装置110が実行する制御プログラム生成処理の概要を示したフローチャートである。図示されるように、制御プログラム生成処理では、先ず初めにYOGOチャートを読み込む(STEP1)。ここでは、図16に例示したYOGOチャート200を読み込むものとする。
F-2. Control program generation process:
15 is a flowchart showing an outline of the control program generation process executed by the control program generator 110. As shown in the figure, the control program generation process first reads a YOGO chart (STEP 1). In this example, the YOGO chart 200 shown in FIG. 16 is read.

図16のYOGOチャート200には、部分期間番号が3番~7番の部分期間の範囲と、部分期間番号が6番~10番の部分期間の範囲の2箇所に並列期間210が設定されている。そして、図中に一点鎖線で囲った1つめの並列期間210では、アクチュエータ番号Mが4番~6番のアクチュエータAc13~Ac15に対して、部分期間番号がA1~A6の6つの並列部分期間212が形成されている。更に、図中の二点鎖線で囲った2つめの並列期間210では、アクチュエータ番号Mが8番および9番のアクチュエータAc17,Ac18に対して、部分期間番号がB1~B3の3つの並列部分期間212が形成されている。尚、1つめの並列期間210では、アクチュエータAc13~Ac15が本発明における「選択アクチュエータ」に該当し、2つめの並列期間210では、アクチュエータAc17,Ac18が本発明における「選択アクチュエータ」に該当する。 In the YOGO chart 200 of Figure 16, parallel periods 210 are set in two locations: in the range of partial periods with partial period numbers 3 to 7, and in the range of partial periods with partial period numbers 6 to 10. In the first parallel period 210, surrounded by a dashed line in the figure, six parallel partial periods 212 with partial period numbers A1 to A6 are formed for actuators Ac13 to Ac15, with actuator numbers M of 4 to 6. Furthermore, in the second parallel period 210, surrounded by a dashed line in the figure, three parallel partial periods 212 with partial period numbers B1 to B3 are formed for actuators Ac17 and Ac18, with actuator numbers M of 8 and 9. In the first parallel period 210, actuators Ac13 to Ac15 correspond to the "selected actuators" of the present invention, and in the second parallel period 210, actuators Ac17 and Ac18 correspond to the "selected actuators" of the present invention.

図15のSTEP1でYOGOチャート200を読み込んだら、そのYOGOチャート200を、通常部分期間211によって形成された部分と、並列部分期間212によって形成された部分とに分離する(STEP2)。尚、以下では、YOGOチャート200中で並列部分期間212によって形成された部分を「ローカルチャート」と称する。また、YOGOチャート200からローカルチャートを除いた部分(すなわち、通常部分期間211によって形成された部分)を「メインチャート」と称する。 After loading the YOGO chart 200 in STEP 1 of Figure 15, the YOGO chart 200 is separated into a portion formed by the normal sub-period 211 and a portion formed by the parallel sub-period 212 (STEP 2). Note that, hereinafter, the portion of the YOGO chart 200 formed by the parallel sub-period 212 will be referred to as the "local chart." Furthermore, the portion of the YOGO chart 200 excluding the local chart (i.e., the portion formed by the normal sub-period 211) will be referred to as the "main chart."

図17は、図16のYOGOチャート200から分離されたメインチャート200Mを示す説明図である。図中に一点鎖線で囲った部分および二点鎖線で囲った部分は、ローカルチャートが組み込まれていた部分である。また、図18は、図17中の一点鎖線で囲った部分に組み込まれていたローカルチャート200Lを示す説明図である。更に、図19は、図17中の二点鎖線で囲った部分に組み込まれていたローカルチャート200Lを示す説明図である。尚、YOGOチャート200から抜き出されたローカルチャート200Lでは、部分期間番号が1番から始まる番号に再付番されている(図18および図19参照)。 Figure 17 is an explanatory diagram showing the main chart 200M separated from the YOGO chart 200 of Figure 16. The areas surrounded by dashed lines and double-dashed lines in the figure are the areas where local charts were incorporated. Figure 18 is an explanatory diagram showing the local chart 200L that was incorporated in the area surrounded by dashed lines in Figure 17. Figure 19 is an explanatory diagram showing the local chart 200L that was incorporated in the area surrounded by dashed lines in Figure 17. Note that in the local chart 200L extracted from the YOGO chart 200, the partial period numbers have been renumbered starting from 1 (see Figures 18 and 19).

図15のSTEP2でYOGOチャート200をメインチャート200Mとローカルチャート200Lとに分離したら、メインチャート200Mに対して以下のような中間データ生成処理を実行することによって、メインチャート200Mの中間データ300Mを生成する(STEP3)。 After separating the YOGO chart 200 into the main chart 200M and the local chart 200L in STEP 2 of Figure 15, intermediate data generation processing such as the one described below is performed on the main chart 200M to generate intermediate data 300M for the main chart 200M (STEP 3).

図20は、中間データ生成処理のフローチャートである。この処理は、制御プログラム生成装置110内の中間データ生成部113によって実行される。図示したように、中間データ生成処理では、先ず初めに、部分期間番号Nおよびアクチュエータ番号Mを「1」に初期化する(STEP10)。続いて、YOGOチャート(ここではメインチャート200M)上のチャート座標(M,N)に、基本動作が記入されているか否かを判断する(STEP11)。尚、チャート座標(M,N)とは、アクチュエータ番号Mおよび部分期間番号Nの組み合わせによって特定されるYOGOチャート200上の座標位置である。STEP10で部分期間番号Nおよびアクチュエータ番号Mを初期化した直後は、NおよびMは何れも「1」であるから、YOGOチャート上のチャート座標(1,1)に基本動作が記入されているか否かを判断することになる。 Figure 20 is a flowchart of the intermediate data generation process. This process is executed by the intermediate data generation unit 113 in the control program generation device 110. As shown, the intermediate data generation process first initializes the partial period number N and actuator number M to "1" (STEP 10). Next, it is determined whether a basic action has been entered at chart coordinates (M, N) on the YOGO chart (here, main chart 200M) (STEP 11). Note that chart coordinates (M, N) are the coordinate position on the YOGO chart 200 specified by the combination of actuator number M and partial period number N. Immediately after initializing the partial period number N and actuator number M in STEP 10, both N and M are "1," so it is determined whether a basic action has been entered at chart coordinates (1, 1) on the YOGO chart.

図17に例示したメインチャート200Mの場合では、チャート座標(1,1)には基本動作は記入されていないから、STEP11では「no」と判断して、アクチュエータ番号Mが最終値に達したか否かを判断する(STEP14)。図17に例示したメインチャート200Mには9個のアクチュエータAc10~Ac18が記載されているから、アクチュエータ番号Mの最終値は9となる。従って、チャート座標(1,1)の基本動作の有無を確認した後のSTEP14の判断では、「no」と判断されるので、アクチュエータ番号Mを1つ増加させる(STEP15)。そして、増加させたアクチュエータ番号Mを用いて、再び、チャート座標(M,N)に基本動作が記入されているか否かを判断する(STEP11)。 In the case of the main chart 200M shown in FIG. 17, no basic action is entered at chart coordinate (1,1), so STEP 11 returns "no" and it is then determined whether or not the actuator number M has reached its final value (STEP 14). The main chart 200M shown in FIG. 17 has nine actuators Ac10 to Ac18, so the final value of actuator number M is 9. Therefore, after checking whether or not a basic action exists at chart coordinate (1,1), STEP 14 returns "no," so actuator number M is incremented by 1 (STEP 15). The incremented actuator number M is then used to again determine whether or not a basic action has been entered at chart coordinate (M,N) (STEP 11).

このように、部分期間番号Nは「1」のまま、アクチュエータ番号Mを1つずつ増加させながら、チャート座標(M,1)に基本動作が記入されているか否かを判断して行き、基本動作が記入されているチャート座標(M,1)に達すると、STEP11で「yes」と判断されることになる。 In this way, while the partial period number N remains at "1," the actuator number M is incremented by one, and a determination is made as to whether a basic operation has been entered at chart coordinate (M, 1). When the chart coordinate (M, 1) at which a basic operation has been entered is reached, a "yes" determination is made in STEP 11.

そして、STEP11で「yes」と判断された場合は、そのチャート座標に記入されている基本動作の動作記号206aおよびパラメータ記号206bを読み込む(STEP12)。図17に例示したメインチャート200Mでは、チャート座標(3,1)に達すると、STEP11で「yes」と判断されて、メインチャート200Mのチャート座標(3,1)に記載された基本動作206の動作記号206aおよびパラメータ記号206bを読み込む。尚、図示が煩雑化することを回避する目的で、図17のメインチャート200Mでもパラメータ記号206bの表示は省略されている。 If the answer in STEP 11 is "yes," the action symbol 206a and parameter symbol 206b of the basic action written at that chart coordinate are read (STEP 12). In the main chart 200M illustrated in Figure 17, when the chart coordinate (3,1) is reached, the answer in STEP 11 is "yes," and the action symbol 206a and parameter symbol 206b of the basic action 206 written at the chart coordinate (3,1) on the main chart 200M are read. Note that, in order to avoid cluttering the illustration, the parameter symbol 206b is omitted from the main chart 200M in Figure 17.

続いて、基本動作206を読み込んだチャート座標(M,N)と、読み込んだ動作記号206aおよびパラメータ記号206bとを含んだデータ(以下、中間データ(N,M,動作記号,数値テーブル))をメモリに記憶する(STEP13)。こうして、YOGOチャートから読み出した中間データをメモリに記憶した後は(STEP13)、アクチュエータ番号Mが最終値(ここでは、9)に達したか否かを判断する(STEP14)。その結果、最終値に達していない場合は(STEP14:no)、アクチュエータ番号Mを1つ増加させた後(STEP15)、STEP11に戻って、再び、YOGOチャート上のチャート座標(M,N)に基本動作が記入されているか否かを判断する。 Next, data including the chart coordinates (M, N) where the basic action 206 was read and the read action symbol 206a and parameter symbol 206b (hereinafter referred to as intermediate data (N, M, action symbol, numerical table)) is stored in memory (STEP 13). After the intermediate data read from the YOGO chart is stored in memory in this way (STEP 13), it is determined whether the actuator number M has reached the final value (9 in this case) (STEP 14). As a result, if the final value has not been reached (STEP 14: no), the actuator number M is incremented by 1 (STEP 15), and the process returns to STEP 11, where it is again determined whether a basic action has been entered at the chart coordinates (M, N) on the YOGO chart.

これに対して、アクチュエータ番号Mが最終値に達していた場合は(STEP14:yes)、今度は、部分期間番号Nが最終値に達したか否かを判断する(STEP16)。図17に例示したメインチャート200Mでは、最後の部分期間番号は12番なので、部分期間番号Nの最終値は12となる。 On the other hand, if actuator number M has reached its final value (STEP 14: yes), then it is determined whether partial period number N has reached its final value (STEP 16). In the main chart 200M illustrated in Figure 17, the last partial period number is 12, so the final value of partial period number N is 12.

その結果、部分期間番号Nが最終値に達していない場合は(STEP16:no)、部分期間番号Nを1つ増加させると共に(STEP17)、アクチュエータ番号Mを「1」に初期化した後(STEP18)、STEP11に戻って、再び、YOGOチャート上のチャート座標(M,N)に基本動作が記入されているか否かを判断する。このように、部分期間番号Nが1番の部分期間を上から順番に確認して行き、一番下まで確認したら、今度は、部分期間番号Nが2番の部分期間を上から順番に確認して行き、2番の部分期間を確認し終わったら、部分期間番号Nが3番の部分期間というように、部分期間番号Nが小さな部分期間から大きな部分期間に向かって順番に、YOGOチャートに記入されている基本動作を読み出して、中間データをメモリに記憶して行く。そして、このような操作を繰り返していき、最終的に、部分期間番号Nが最終値に達したと判断したら(STEP16:yes)、YOGOチャートに記入された全ての基本動作を読み出したことになる。そこで、メモリに記憶しておいた中間データを読み出して、中間データ変換部114(図14参照)に出力する(STEP19)。 If the sub-period number N has not yet reached its final value (STEP 16: no), the sub-period number N is incremented by one (STEP 17), the actuator number M is initialized to "1" (STEP 18), and the process returns to STEP 11 to again determine whether a basic operation has been entered at the chart coordinate (M, N) on the YOGO chart. In this way, the sub-periods with sub-period number N of 1 are checked from top to bottom, and then the sub-periods with sub-period number N of 2 are checked from top to bottom. After checking sub-period number 2, the sub-periods with sub-period number N of 3 are checked, and so on. The basic operations entered on the YOGO chart are read out and the intermediate data is stored in memory, starting with the sub-periods with the smallest sub-period number N and progressing to the largest sub-periods. This process is then repeated until it is determined that the sub-period number N has finally reached its final value (STEP 16: yes), meaning that all basic operations entered on the YOGO chart have been read out. Therefore, the intermediate data stored in memory is read out and output to the intermediate data conversion unit 114 (see Figure 14) (STEP 19).

図21には、図17に例示したメインチャート200Mから生成された中間データ300Mが例示されている。図示されるように中間データ300は、部分期間番号Nと、アクチュエータ番号Mと、動作記号206aと、パラメータ記号206bとが、この順序で並んだ一組のデータ(以下、「データレコード」と呼ぶ)が集まったものとなっている。また、各データレコードの部分期間番号Nは、1~部分期間番号Nの最終値までの何れかの値を取り、アクチュエータ番号Mは、YOGOチャートに記載されたアクチュエータ番号Mの何れかの値を取る。また、YOGOチャート上の全ての部分期間番号Nは、必ず何れかのデータレコードに記載されており、YOGOチャートに記載された全てのアクチュエータ番号Mは、必ず何れかのデータレコードに記載されている。このような中間データ300Mを出力したら、図20の中間データ生成処理を終了して、図15の制御プログラム生成処理に復帰する。 Figure 21 shows an example of intermediate data 300M generated from the main chart 200M shown in Figure 17. As shown, intermediate data 300 is a collection of sets of data (hereinafter referred to as "data records") each consisting of a partial period number N, an actuator number M, an operation symbol 206a, and a parameter symbol 206b, arranged in that order. The partial period number N in each data record can take any value from 1 to the final value of partial period number N, and the actuator number M can take any value of the actuator number M listed on the YOGO chart. Every partial period number N on the YOGO chart is always listed in one of the data records, and every actuator number M listed on the YOGO chart is always listed in one of the data records. Once this intermediate data 300M has been output, the intermediate data generation process of Figure 20 ends, and the process returns to the control program generation process of Figure 15.

こうしてメインチャート200Mの中間データ300Mを生成したら、その中間データ300Mに対して、ローカルチャート200Lの開始位置および終了位置を追加する(STEP4)。図16に示したYOGOチャート200では、一点鎖線で囲った1つめの並列期間210は部分期間番号が3番~7番の範囲に設定されているから、1つめのローカルチャート200Lの開始位置は部分期間番号が3番の部分期間となり、ローカルチャート200Lの終了位置は部分期間番号が7番の部分期間となる。そこで、中間データ300の中の部分期間番号が3番のデータレコードの最後の位置に、1つめのローカルチャート200Lが開始されることを示すデータレコードを追加する。更に、中間データ300の中の部分期間番号が7番のデータレコードの最後の位置には、1つめのローカルチャート200Lが終了することを示すデータレコードを追加する。 Once the intermediate data 300M for the main chart 200M has been generated in this way, the start and end positions of the local chart 200L are added to the intermediate data 300M (STEP 4). In the YOGO chart 200 shown in FIG. 16, the first parallel period 210, surrounded by a dashed dotted line, has partial period numbers set in the range of 3 to 7, so the start position of the first local chart 200L is the partial period with partial period number 3, and the end position of the local chart 200L is the partial period with partial period number 7. Therefore, a data record indicating the start of the first local chart 200L is added to the last position of the data record with partial period number 3 in the intermediate data 300. Furthermore, a data record indicating the end of the first local chart 200L is added to the last position of the data record with partial period number 7 in the intermediate data 300.

図22は、ローカルチャート200Lの開始位置および終了位置が追加された中間データ300Mを示す説明図である。図中に示した(3,0,lclchrt1-str)というデータレコードは、ローカルチャート200Lの開始位置を表すデータレコード207であり、(7,0,lclchrt1-end)というデータレコードは、ローカルチャート200Lの終了位置を表すデータレコード208である。ここで、開始位置を表すデータレコード207中の「lclchrt1-str」というデータは、1つめのローカルチャート200Lが開始されることを表しており、終了位置を表すデータレコード208中の「lclchrt1-end」というデータは、1つめのローカルチャート200Lが終了することを表している。また、これらのデータレコード中の先頭のデータは、ローカルチャート200Lが開始される部分期間番号あるいは終了する部分期間番号を表している。更に、これらのデータレコード中で先頭から2番目のデータが「0」となっているのは、これらのデータレコードがローカルチャート200Lの開始位置あるいは終了位置を示すデータレコードであることを表している。すなわち、通常のデータレコード(アクチュエータの基本動作を表すデータレコード)では、先頭から2番目のデータはアクチュエータ番号Mを表しており、アクチュエータ番号Mは「1」から始まる自然数であるから「0」となることは無い。従って、データレコード中の先頭から2番目のデータが「0」ということは、これらのデータレコードがアクチュエータの基本動作を表す通常のデータレコードではなく、ローカルチャート200Lに関するデータレコードであることを表している。 Figure 22 is an explanatory diagram showing intermediate data 300M to which the start and end positions of local chart 200L have been added. The data record (3,0,lclchrt1-str) shown in the figure is data record 207, which represents the start position of local chart 200L, and the data record (7,0,lclchrt1-end) is data record 208, which represents the end position of local chart 200L. Here, the data "lclchrt1-str" in data record 207, which represents the start position, indicates that the first local chart 200L starts, and the data "lclchrt1-end" in data record 208, which represents the end position, indicates that the first local chart 200L ends. Furthermore, the leading data in these data records indicates the partial period number at which local chart 200L starts or ends. Furthermore, the second-to-first data value in these data records is "0," indicating that these data records are data records that indicate the start or end position of the local chart 200L. That is, in normal data records (data records that indicate the basic operation of an actuator), the second-to-first data value represents the actuator number M, which is a natural number starting from "1" and therefore never "0." Therefore, the fact that the second-to-first data value in a data record is "0" indicates that these data records are not normal data records that indicate the basic operation of an actuator, but rather data records related to the local chart 200L.

図16中に示した2つめのローカルチャート200Lについても同様に、メインチャート200Mの中間データ300にローカルチャート200Lの開始位置および終了位置を追加する。すなわち、2つめのローカルチャート200Lは部分期間番号が6番~10番の範囲に設定されているから、2つめのローカルチャート200Lの開始位置は部分期間番号が6番の部分期間となり、終了位置は部分期間番号が10番の部分期間となる。そこで、図22に示すように、中間データ300の部分期間番号が6番のデータレコードの最後の位置に、2つめのローカルチャート200Lの開始位置を示すデータレコード207(6,0,lclchrt2-str)を追加し、部分期間番号が10番のデータレコードの最後の位置に、2つめのローカルチャート200Lの終了位置を示すデータレコード208(10,0,lclchrt2-end)を追加する。ここで、「lclchrt2-str」というデータは、2つめのローカルチャート200Lが開始されることを表しており、「lclchrt2-end」というデータは、2つめのローカルチャート200Lが終了することを表している。 Similarly, for the second local chart 200L shown in FIG. 16, the start and end positions of the local chart 200L are added to the intermediate data 300 of the main chart 200M. That is, because the partial period numbers for the second local chart 200L are set in the range of 6 to 10, the start position of the second local chart 200L is the partial period with partial period number 6, and the end position is the partial period with partial period number 10. Therefore, as shown in FIG. 22, data record 207 (6,0,lclchrt2-str) indicating the start position of the second local chart 200L is added to the last position of the data record with partial period number 6 in the intermediate data 300, and data record 208 (10,0,lclchrt2-end) indicating the end position of the second local chart 200L is added to the last position of the data record with partial period number 10. Here, the data "lclchrt2-str" indicates that the second local chart 200L is starting, and the data "lclchrt2-end" indicates that the second local chart 200L is ending.

以上のようにして、メインチャート200Mの中間データ300Mにローカルチャート200Lの開始位置および終了位置を追加したら(図15のSTEP4)、今度はローカルチャート200Lの中間データ300Lを生成する(STEP5)。前述したように、図16に示したYOGOチャート200からは、図18および図19に示した2つのローカルチャート200Lが抽出されているから、それぞれのローカルチャート200Lに対して図20の中間データ生成処理を適用する。こうすることによって、図18のローカルチャート200Lからは図23(a)の中間データ300Lが生成され、図19のローカルチャート200Lからは図23(b)の中間データ300Lが生成される。 Once the start and end positions of the local chart 200L have been added to the intermediate data 300M of the main chart 200M in this way (STEP 4 in Figure 15), intermediate data 300L for the local chart 200L is then generated (STEP 5). As mentioned above, the two local charts 200L shown in Figures 18 and 19 are extracted from the YOGO chart 200 shown in Figure 16, so the intermediate data generation process of Figure 20 is applied to each local chart 200L. In this way, the intermediate data 300L shown in Figure 23(a) is generated from the local chart 200L in Figure 18, and the intermediate data 300L shown in Figure 23(b) is generated from the local chart 200L in Figure 19.

こうして得られたメインチャート200Mの中間データ300M、および2つのローカルチャート200Lの中間データ300Lを、それぞれの制御プログラム400に変換する(STEP6)。尚、以下では、メインチャート200Mの中間データ300Mを変換して得られる制御プログラム400を「メインプログラム」と称し、ローカルチャート200Lの中間データ300Lを変換して得られる制御プログラム400を「ローカルプログラム」と称する。 The intermediate data 300M for the main chart 200M and the intermediate data 300L for the two local charts 200L obtained in this way are converted into their respective control programs 400 (STEP 6). Note that, hereinafter, the control program 400 obtained by converting the intermediate data 300M for the main chart 200M will be referred to as the "main program," and the control program 400 obtained by converting the intermediate data 300L for the local chart 200L will be referred to as the "local program."

図24は、図22に示したメインチャート200Mの中間データ300Mを変換して得られるメインプログラム400Mについての説明図である。また、図25(a)および図25(b)は、それぞれ図23(a)および図23(b)に示したローカルチャート200Lの中間データ300Lを変換して得られるローカルプログラム400Lについての説明図である。説明の都合上、初めに、ローカルプログラム400Lについて説明する。 Figure 24 is an explanatory diagram of the main program 400M obtained by converting the intermediate data 300M of the main chart 200M shown in Figure 22. Also, Figures 25(a) and 25(b) are explanatory diagrams of the local program 400L obtained by converting the intermediate data 300L of the local chart 200L shown in Figures 23(a) and 23(b), respectively. For ease of explanation, the local program 400L will be described first.

図25(a)および図25(b)に示されるように、ローカルプログラム400Lは、部分期間番号Nと、アクチュエータ番号Mと、プログラム要素番号Pと、パラメータ値Vとが、この順序で並んだ一組のデータ(すなわち、データレコード)が集まったものとなっている。図23(a)および図23(b)に示した中間データ300Lのデータレコードと、図25(a)および図25(b)に示したローカルプログラム400Lのデータレコードとを比較すれば明らかなように、ローカルプログラム400Lのデータレコードは、中間データ300Lのデータレコード中の動作記号206aが、その動作記号206aに対応するプログラム要素番号Pに置き換えられ、中間データ300のデータレコード中のパラメータ記号206bが、そのパラメータ記号206bに対応するパラメータ値Vに置き換えられたものとなっている。こうして生成されたそれぞれのローカルプログラム400Lは、固有の識別番号が付された状態で、図14に示した制御プログラム生成装置110の図示しないメモリに記憶される。 As shown in Figures 25(a) and 25(b), local program 400L is a collection of sets of data (i.e., data records) each consisting of a partial period number N, an actuator number M, a program element number P, and a parameter value V, arranged in that order. A comparison of the data records of intermediate data 300L shown in Figures 23(a) and 23(b) with the data records of local program 400L shown in Figures 25(a) and 25(b) reveals that in the data records of local program 400L, operation symbol 206a in the data records of intermediate data 300L is replaced with the program element number P corresponding to that operation symbol 206a, and parameter symbol 206b in the data records of intermediate data 300 is replaced with the parameter value V corresponding to that parameter symbol 206b. Each local program 400L generated in this manner is assigned a unique identification number and stored in a memory (not shown) of control program generation device 110 shown in Figure 14.

また、メインチャート200Mの中間データ300Mもほぼ同様にして、メインプログラム400Mに変換することができる。但し、図22を用いて前述したように、メインチャート200Mの中間データ300Mにはローカルチャート200Lの開始位置を示すデータレコード207や終了位置を示すデータレコード208が追加されている。これらのデータレコードについては次のようにして変換する。 The intermediate data 300M for the main chart 200M can also be converted into the main program 400M in a similar manner. However, as described above using Figure 22, a data record 207 indicating the start position of the local chart 200L and a data record 208 indicating the end position have been added to the intermediate data 300M for the main chart 200M. These data records are converted as follows:

先ず、開始位置を示すデータレコード207は、部分期間番号Nと、「0」と、ローカルチャート200Lが開始されることを示すデータとが、この順序で並んだデータレコードとなっている。ここで、2番目のデータの「0」は、このデータレコードがローカルチャート200Lに関するデータレコードであることを表している。そこで、先頭の2つのデータは、そのままメインプログラム400Mのデータとして使用する。また、3つめのデータ(ローカルチャート200Lが開始されることを示すデータ)は、ローカルチャート200Lの開始を表すデータである「1」に変換する。更に、4つめのデータとして、ローカルチャート200Lから生成されたローカルプログラム400Lの識別番号を記憶する。図24に示したメインプログラム400M中のデータレコード401は、このようにして、開始位置を示すデータレコード207から生成されたデータレコードである。例えば、図24中の(3,0,1,100)というデータレコード401は、部分期間番号が3番の部分期間でローカルプログラム400Lが開始され、そのローカルプログラム400Lの識別番号が「100」であることを表している。 First, the data record 207 indicating the start position is a data record consisting of the partial period number N, "0," and data indicating the start of the local chart 200L, in that order. Here, the second data "0" indicates that this data record is a data record related to the local chart 200L. Therefore, the first two data are used as is as data for the main program 400M. The third data (data indicating the start of the local chart 200L) is converted to "1," which represents the start of the local chart 200L. Furthermore, the fourth data is stored as the identification number of the local program 400L generated from the local chart 200L. The data record 401 in the main program 400M shown in Figure 24 is a data record generated in this way from the data record 207 indicating the start position. For example, the data record 401 (3, 0, 1, 100) in Figure 24 indicates that the local program 400L started in the partial period with partial period number 3, and that the identification number of that local program 400L is "100."

また、終了位置を示すデータレコード208についても、ほぼ同様にして変換する。すなわち、終了位置を示すデータレコード208の先頭の2つのデータは、そのままメインプログラム400Mのデータとして使用する。また、3つめのデータ(ローカルチャート200Lが終了することを示すデータ)は、ローカルチャート200Lの終了を表すデータである「0」に変換する。更に、4つめのデータを追加して、このデータには、終了するローカルプログラム400Lの識別番号を記憶する。図24に示したメインプログラム400M中のデータレコード402は、このようにして、終了位置を示すデータレコード208から生成されたデータレコードである。例えば、図24中の(7,0,0,100)というデータレコード402は、部分期間番号が7番の部分期間でローカルプログラム400Lが終了し、そのローカルプログラム400Lの識別番号が「100」であることを表している。 The data record 208 indicating the end position is also converted in a similar manner. That is, the first two pieces of data in the data record 208 indicating the end position are used as data for the main program 400M as is. The third piece of data (the data indicating the end of the local chart 200L) is converted to "0," which represents the end of the local chart 200L. A fourth piece of data is then added, and this data stores the identification number of the local program 400L that is ending. The data record 402 in the main program 400M shown in Figure 24 is a data record generated in this way from the data record 208 indicating the end position. For example, the data record 402 (7, 0, 0, 100) in Figure 24 indicates that the local program 400L ended in the partial period with partial period number 7, and that the identification number of that local program 400L is "100."

以上のようにして中間データ300Mや中間データ300Lをメインプログラム400Mやローカルプログラム400Lに変換する操作は、図14の中間データ変換部114が、基本動作記憶部112を参照することによって実行される。すなわち、基本動作記憶部112には、動作記号206aがプログラム要素番号と対応付けて記憶されている(図5参照)。更に、基本動作記憶部112には、図7に例示したように、パラメータ記号206bと、パラメータ記号206bに対して設定されたパラメータ値Vとが対応付けて記憶されている。そこで、中間データ変換部114は、これらを参照することによって、中間データ中の動作記号206aやパラメータ記号206bを、プログラム要素番号Pおよびパラメータ値Vに置き換えて行く。 The operation of converting intermediate data 300M and intermediate data 300L into main program 400M and local program 400L as described above is performed by the intermediate data conversion unit 114 in FIG. 14 by referencing the basic operation memory unit 112. That is, the basic operation memory unit 112 stores operation symbols 206a in association with program element numbers (see FIG. 5). Furthermore, the basic operation memory unit 112 stores parameter symbols 206b in association with parameter values V set for the parameter symbols 206b, as illustrated in FIG. 7. Therefore, by referencing these, the intermediate data conversion unit 114 replaces the operation symbols 206a and parameter symbols 206b in the intermediate data with program element numbers P and parameter values V.

以上のようにして、中間データ300Mおよび中間データ300Lからメインプログラム400Mおよびローカルプログラム400Lを生成したら(図15のSTEP6)、生成したメインプログラム400Mおよびローカルプログラム400Lを動作制御装置120に出力して(STEP7)、図15の制御プログラム生成処理を終了する。 Once the main program 400M and local program 400L have been generated from the intermediate data 300M and intermediate data 300L in this manner (STEP 6 in Figure 15), the generated main program 400M and local program 400L are output to the operation control device 120 (STEP 7), and the control program generation process in Figure 15 is completed.

G.制御プログラムを用いた自動製造機械の制御の概要 :
制御装置100の動作制御装置120は、制御プログラム生成装置110から受け取った制御プログラム(すなわち、メインプログラム400Mおよびローカルプログラム400L)を図示しないメモリに記憶しておき、以下のようにして自動製造機械の動作を制御する。
G. Overview of controlling automated manufacturing machines using control programs:
The operation control device 120 of the control device 100 stores the control program (i.e., the main program 400M and the local program 400L) received from the control program generation device 110 in a memory not shown, and controls the operation of the automatic manufacturing machine as follows.

図26および図27は、動作制御装置120が制御プログラムを用いて自動製造機械の動作を制御する動作制御処理のフローチャートである。動作制御処理を開始すると、先ず始めに、メモリに記憶されているメインプログラム400Mを読み出す(STEP50)。そして、部分期間番号Nを1に設定した後(STEP51)、メインプログラム400Mの各データレコードの中から、設定された部分期間番号Nのデータレコードを抽出する(STEP52)。 Figures 26 and 27 are flowcharts of the operation control process in which the operation control device 120 controls the operation of an automatic manufacturing machine using a control program. When the operation control process begins, the main program 400M stored in memory is first read (STEP 50). Then, after setting the partial period number N to 1 (STEP 51), the data record with the set partial period number N is extracted from each data record in the main program 400M (STEP 52).

動作制御処理を開始した直後は部分期間番号Nが1に設定されているから、図24のメインプログラム400Mからは、(1,3,1,15,50,100)というデータレコードが抽出されることになる。ここで、データレコード中の1番目の数字は部分期間番号Nであり、2番目の数字はアクチュエータ番号Mであり、3番目の数字はプログラム要素番号Pである。更に、レコード中の4番目~6番目の数字は、プログラム要素に指定するパラメータ値Vである。そこで、データレコード中のアクチュエータ番号Mに基づいて制御対象のアクチュエータを特定し(STEP53)、更に、プログラム要素番号Pおよびパラメータ値Vに基づいて、アクチュエータに出力するコマンドを生成する(STEP54)。 Immediately after the operation control process begins, the partial period number N is set to 1, so the data record (1, 3, 1, 15, 50, 100) is extracted from the main program 400M in Figure 24. Here, the first number in the data record is the partial period number N, the second number is the actuator number M, and the third number is the program element number P. Furthermore, the fourth through sixth numbers in the record are the parameter value V specified for the program element. Therefore, the actuator to be controlled is identified based on the actuator number M in the data record (STEP 53), and a command to be output to the actuator is generated based on the program element number P and parameter value V (STEP 54).

その後、STEP52で抽出した部分期間番号Nのデータレコードの中に、ローカルプログラム400Lの開始を示すデータレコード401が存在するか否かを判断する(STEP55)。図24のメインプログラム400Mの場合は、部分期間番号Nが1のデータレコードの中には、ローカルプログラム400Lの開始を示すデータレコード401は存在しないから、STEP55では「no」と判断する。そして、STEP53で特定した制御対象のアクチュエータに対して、STEP54で生成したコマンドを出力することによって、アクチュエータの動作の制御を開始する(STEP56)。 Then, it is determined whether or not a data record 401 indicating the start of local program 400L exists among the data records with partial period number N extracted in STEP 52 (STEP 55). In the case of main program 400M in Figure 24, there is no data record 401 indicating the start of local program 400L among the data records with partial period number N of 1, so the determination in STEP 55 is "no." Then, control of the actuator operation is started by outputting the command generated in STEP 54 to the actuator to be controlled identified in STEP 53 (STEP 56).

続いて、STEP56で制御を開始した全てのアクチュエータの動作が終了したか否かを判断する(図27のSTE58)。その結果、まだ動作が終了していないアクチュエータが残っている場合は(STEP58:no)、STEP58の判断を繰り返して実行することにより、全てのアクチュエータの動作が終了するまで待機状態となる。そして、全てのアクチュエータの動作が終了したと判断した場合は(STEP58:yes)、STEP52で抽出したデータレコードの中にローカルプログラム400Lの終了を示すデータレコードが存在するか否かを判断する(STEP59)。部分期間番号Nが1の場合は、ローカルプログラム400Lの終了を示すデータレコードが存在する筈はないので、STEP59では「no」と判断する。 Next, it is determined whether all actuators whose control was started in STEP 56 have finished operating (STEP 58 in Figure 27). If there are any actuators that have not yet finished operating (STEP 58: no), the determination in STEP 58 is repeated, and the system enters a standby state until all actuators have finished operating. If it is determined that all actuators have finished operating (STEP 58: yes), it is determined whether a data record indicating the end of local program 400L exists among the data records extracted in STEP 52 (STEP 59). If partial period number N is 1, there should be no data record indicating the end of local program 400L, so the determination in STEP 59 is "no."

続いて、部分期間番号Nが最終値に達したか否かを判断する(STEP61)。部分期間番号Nが1の場合は、部分期間番号Nが最終値に達していないので(STEP61:no)、部分期間番号Nを1つ増加した後(STEP62)、図26のSTEP52に戻って、メインプログラム400Mの中から新たな部分期間番号Nのデータレコードを抽出する。そして、抽出したデータレコードに対して、上述した一連の操作を行い。すなわち、制御対象のアクチュエータを特定し(STEP53)、特定したアクチュエータに対するコマンドを生成した後(STEP54)、抽出したデータレコードの中にローカルプログラム400Lの開始を示すデータレコードが存在するか否かを判断する(STEP55)。図24に例示したメインプログラム400Mであれば、部分期間番号Nが2のデータレコードを抽出した場合は、ローカルプログラム400Lの開始を示すデータレコードが存在しないが、部分期間番号Nが3のデータレコードを抽出した場合は、ローカルプログラム400Lの開始を示すデータレコードが存在すると判断されることになる。 Next, it is determined whether the partial period number N has reached its final value (STEP 61). If the partial period number N is 1, the partial period number N has not yet reached its final value (STEP 61: no), so after incrementing the partial period number N by 1 (STEP 62), the process returns to STEP 52 in FIG. 26 and extracts a data record with a new partial period number N from the main program 400M. The above-described series of operations are then performed on the extracted data record. That is, the actuator to be controlled is identified (STEP 53), a command is generated for the identified actuator (STEP 54), and it is determined whether a data record indicating the start of the local program 400L is present among the extracted data records (STEP 55). In the case of the main program 400M illustrated in FIG. 24, if a data record with a partial period number N of 2 is extracted, no data record indicating the start of the local program 400L is present. However, if a data record with a partial period number N of 3 is extracted, it is determined that a data record indicating the start of the local program 400L is present.

そして、STEP55で、ローカルプログラム400Lの開始を示すデータレコードが存在しないと判断した場合は(STEP55:no)、STEP53で特定した制御対象のアクチュエータに対して、STEP54で生成したコマンドを出力することによって制御を開始する(STEP56)。これに対して、ローカルプログラム400Lの開始を示すデータレコードが存在すると判断した場合は(STEP55:yes)、そのデータレコード中の識別番号で特定されたローカルプログラム400Lを起動した後(STEP57)、制御対象のアクチュエータに対してコマンドを出力することによって制御を開始する(STEP56)。尚、ローカルプログラム400Lを起動すると、後述するローカルプログラム実行処理が開始される。 If it is determined in STEP 55 that no data record indicating the start of local program 400L exists (STEP 55: no), control is initiated by outputting the command generated in STEP 54 to the actuator to be controlled identified in STEP 53 (STEP 56). On the other hand, if it is determined that a data record indicating the start of local program 400L exists (STEP 55: yes), the local program 400L identified by the identification number in that data record is started (STEP 57), and then control is initiated by outputting a command to the actuator to be controlled (STEP 56). Note that starting the local program 400L initiates the local program execution process, which will be described later.

その後、全てのアクチュエータの動作が終了したか否かを判断して(図27のSTE58)、動作が終了していないアクチュエータが残っている場合は(STEP58:no)、STEP58の判断を繰り返して実行することによって待機状態となる。そして、全てのアクチュエータの動作が終了したら(STEP58:yes)、STEP52で抽出したデータレコードの中にローカルプログラム400Lの終了を示すデータレコードが存在するか否かを判断する(STEP59)。その結果、ローカルプログラム400Lの終了を示すデータレコードが存在する場合は(STEP59:yes)、その終了予定のローカルプログラム400Lが終了したか否かを判断し(STEP60)、ローカルプログラム400Lがまだ終了していない場合は(STEP60:no)、STEP60の判断を繰り返して実行することによって待機状態となる。そして、終了予定のローカルプログラム400Lが終了したら(STEP60:yes)、部分期間番号Nが最終値に達したか否かを判断する(STEP61)。その結果、部分期間番号Nが最終値に達していない場合は(STEP61:no)、部分期間番号Nを1つ増加した後(STEP62)、再び図26のSTEP52に戻って、メインプログラム400Mの中から新たな部分期間番号Nのデータレコードを抽出する。 Then, a determination is made as to whether all actuators have completed operation (STEP 58 in FIG. 27). If there are actuators that have not yet completed operation (STEP 58: no), the determination in STEP 58 is repeated to enter a standby state. Then, once all actuators have completed operation (STEP 58: yes), a determination is made as to whether a data record indicating the end of local program 400L exists among the data records extracted in STEP 52 (STEP 59). If a data record indicating the end of local program 400L exists (STEP 59: yes), a determination is made as to whether the local program 400L scheduled to terminate has terminated (STEP 60). If the local program 400L has not yet terminated (STEP 60: no), the determination in STEP 60 is repeated to enter a standby state. Then, once the local program 400L scheduled to terminate has terminated (STEP 60: yes), a determination is made as to whether the partial period number N has reached its final value (STEP 61). As a result, if the partial period number N has not reached the final value (STEP 61: no), the partial period number N is incremented by one (STEP 62), and then the program returns to STEP 52 in FIG. 26 to extract the data record with the new partial period number N from the main program 400M.

このように、部分期間番号Nを1つずつ増加させながら、STEP52~STEP61の操作を行った後、最終的に部分期間番号Nが最終値に達したと判断されたら(STEP61:yes)、図26および図27に示す動作制御処理を終了する。 In this way, after performing steps 52 to 61 while incrementing the partial period number N by one, when it is determined that the partial period number N has finally reached its final value (step 61: yes), the operation control process shown in Figures 26 and 27 ends.

また、上述した動作制御処理のSTEP57でローカルプログラム400Lが起動された場合は、以下のようなローカルプログラム実行処理が開始される。図28および図29は、上述した動作制御処理の中で起動されるローカルプログラム実行処理のフローチャートである。前述した動作制御処理とローカルプログラム実行処理とを比べると、動作制御処理はメインプログラム400Mを実行するのに対して、ローカルプログラム実行処理はローカルプログラム400Lを実行する点が違っているに過ぎない。従って、ローカルプログラム実行処理の処理内容は、前述した動作制御処理の処理内容とほとんど同じであり、ローカルプログラム実行処理からは他のローカルプログラム400Lを起動しない点が異なるに過ぎない。そこで、この相違点を中心として、ローカルプログラム実行処理について簡単に説明する。 Furthermore, when the local program 400L is started in STEP 57 of the above-mentioned operation control processing, the following local program execution processing begins. Figures 28 and 29 are flowcharts of the local program execution processing started during the above-mentioned operation control processing. Comparing the above-mentioned operation control processing and local program execution processing, the only difference is that the operation control processing executes the main program 400M, while the local program execution processing executes the local program 400L. Therefore, the processing content of the local program execution processing is almost the same as the processing content of the above-mentioned operation control processing, with the only difference being that another local program 400L is not started from the local program execution processing. Therefore, a brief explanation of the local program execution processing will be given, focusing on this difference.

ローカルプログラム実行処理を開始すると、先ず始めに、識別番号で特定されたローカルプログラム400Lを読み出す(STEP70)。識別番号は、前述した動作制御処理でローカルプログラム400Lを起動する際に指定されている(図26のSTEP57参照)。また、ローカルプログラム400Lは、図15を用いて前述した制御プログラム生成処理によってメモリに記憶されている(STEP7参照)。 When the local program execution process starts, the local program 400L identified by the identification number is first read (STEP 70). The identification number was specified when the local program 400L was started in the operation control process described above (see STEP 57 in Figure 26). The local program 400L was also stored in memory by the control program generation process described above with reference to Figure 15 (see STEP 7).

続いて、部分期間番号Nを1に設定した後(STEP71)、ローカルプログラム400Lの各データレコードの中から、設定された部分期間番号Nのデータレコードを抽出する(STEP72)。そして、データレコード中のアクチュエータ番号Mに基づいて制御対象のアクチュエータを特定し(STEP73)、更に、プログラム要素番号Pおよびパラメータ値Vに基づいて、アクチュエータに出力するコマンドを生成する(STEP74)。 Next, after setting the partial period number N to 1 (STEP 71), the data record with the set partial period number N is extracted from each data record of the local program 400L (STEP 72). Then, the actuator to be controlled is identified based on the actuator number M in the data record (STEP 73), and a command to be output to the actuator is generated based on the program element number P and parameter value V (STEP 74).

前述した動作制御処理では、続いて、ローカルプログラム400Lの開始を示すデータレコード401が存在するか否かを判断している(図26のSTEP55)。しかし、本実施例ではローカルプログラム400Lから他のローカルプログラム400Lが開始されることは無いとしているので、ローカルプログラム実行処理では、図26のSTEP55に対応する判断は行わない。 The operation control process described above then determines whether a data record 401 indicating the start of a local program 400L exists (STEP 55 in Figure 26). However, in this embodiment, it is assumed that a local program 400L will not start another local program 400L, so the local program execution process does not make a determination corresponding to STEP 55 in Figure 26.

そして、制御対象のアクチュエータに対してコマンドを出力することによって、アクチュエータの動作の制御を開始する(STEP75)。続いて、全てのアクチュエータの動作が終了したか否かを判断して(STE76)、動作が終了していないアクチュエータが残っている場合は(STEP76:no)、STEP76の判断を繰り返して実行することによって待機状態となる。その後、全てのアクチュエータの動作が終了したと判断したら(STEP76:yes)、部分期間番号Nが最終値に達したか否かを判断する(図29のSTEP77)。尚、前述した動作制御処理では、部分期間番号Nが最終値に達したか否かを判断するに先立って、終了するローカルプログラム400Lが存在するか否かを判断している(図27のSTEP59)。しかし、本実施例ではローカルプログラム400Lから他のローカルプログラム400Lが開始されることは無いとしているので、ローカルプログラム実行処理では、図27のSTEP59に対応する判断は行わない。 Then, a command is output to the actuator to be controlled, thereby starting control of the actuator's operation (STEP 75). Next, a determination is made as to whether all actuators have completed their operations (STEP 76). If there are any actuators that have not yet completed their operations (STEP 76: no), the determination in STEP 76 is repeated to enter a standby state. Then, once it is determined that all actuators have completed their operations (STEP 76: yes), a determination is made as to whether the partial period number N has reached its final value (STEP 77 in FIG. 29). Note that in the operation control process described above, a determination is made as to whether there is a local program 400L to be terminated (STEP 59 in FIG. 27) before determining whether the partial period number N has reached its final value. However, in this embodiment, a local program 400L is not allowed to start another local program 400L, and therefore the determination corresponding to STEP 59 in FIG. 27 is not made in the local program execution process.

そして、部分期間番号Nが最終値に達したか否かを判断した結果、最終値に達していなかった場合は(STEP77:no)、部分期間番号Nを1つ増加した後(STEP78)、再び図28のSTEP72に戻って、ローカルプログラム400Lの中から新たな部分期間番号Nのデータレコードを抽出する。これに対して、部分期間番号Nが最終値に達していた場合は(STEP77:yes)、ローカルプログラム400Lが終了したことになるので、図28および図29に示すローカルプログラム実行処理を終了する。 If the result of determining whether partial period number N has reached the final value is that it has not (STEP 77: no), partial period number N is incremented by one (STEP 78), and then processing returns to STEP 72 of FIG. 28 to extract the data record with the new partial period number N from the local program 400L. On the other hand, if partial period number N has reached the final value (STEP 77: yes), this means that the local program 400L has ended, and the local program execution processing shown in FIGS. 28 and 29 is terminated.

以上に詳しく説明したように、YOGOチャート200の構造を一部が並列化された構造としておけば、各アクチュエータで動作の待ち時間が発生することを抑制することができる。このため、YOGOチャート200から自動的に生成した制御プログラム400を用いて自動製造機械の動作を制御してやれば、自動製造機械が動作を開始してから終了するまでの全体の動作時間を短縮することが可能となる。 As explained in detail above, by making the structure of the YOGO chart 200 a partially parallel structure, it is possible to reduce the waiting time for each actuator to operate. Therefore, by controlling the operation of an automatic manufacturing machine using a control program 400 automatically generated from the YOGO chart 200, it is possible to shorten the overall operating time from when the automatic manufacturing machine starts to when it finishes operating.

H.変形例 :
上述した本実施例には複数の変形例が存在する。以下では、本実施例との相違点を中心として変形例について説明する。
H. Variations:
There are several variations of the present embodiment described above, and the variations will be described below, focusing on the differences from the present embodiment.

H-1.第1変形例 :
上述した実施例では、YOGOチャート200の中にローカルチャート200Lを直接記入するものとして説明した(図16参照)。しかし、YOGOチャート200の中には、ローカルチャート200Lが存在することを示すローカルチャート記号を記入しておき、ローカルチャート200LはYOGOチャート200とは別に作成するものとしても良い。
H-1. First modified example:
In the above-described embodiment, the local chart 200L is directly entered into the YOGO chart 200 (see FIG. 16 ). However, it is also possible to enter a local chart symbol in the YOGO chart 200 indicating the presence of the local chart 200L, and create the local chart 200L separately from the YOGO chart 200.

図30は、ローカルチャート記号220が記入された第1変形例のYOGOチャート200についての説明図である。図示した例では、アクチュエータ番号Mが4番で、部分期間番号Nが3番~7番の範囲に、一点鎖線で示した動作線221が記入されており、動作線221の上には、白い星印に続けて、「lclchrt1」というローカルチャート記号220が記載されている。尚、動作線221の開始位置を示す始点222は白い四角印で表されており、動作線221の終了位置を示す終点223は黒い四角印で表されている。また、アクチュエータ番号Mが5番および7番の横長の欄(すなわち、行)についても同様に、部分期間番号Nが3番~7番の範囲に一点鎖線の動作線221が記入され、その動作線221の上には「lclchrt1」というローカルチャート記号220が記載されている。これらの記載は、部分期間番号Nが3番~7番の範囲では、アクチュエータ番号Mが4番、5番、および7番のそれぞれのアクチュエータAc13,Ac14,Ac16の動作が、ローカルチャート記号220によって特定されるローカルチャート200Lに記載されていることを表している。従って、部分期間番号Nが3番~7番の範囲が並列期間210となり、この並列期間210では、アクチュエータ番号Mが4番、5番、および7番のアクチュエータAc13,Ac14,Ac16が、本発明における「選択アクチュエータ」に該当する。 Figure 30 is an explanatory diagram of a YOGO chart 200 of the first modified example, in which a local chart symbol 220 has been entered. In the illustrated example, an operating line 221 shown as a dashed dotted line is entered for actuator number M=4 and partial period number N=3 through 7. Above the operating line 221, a local chart symbol 220, "lclchrt1," is entered following a white star. The starting point 222, indicating the start position of the operating line 221, is represented by a white square, and the ending point 223, indicating the end position of the operating line 221, is represented by a black square. Similarly, for the horizontal columns (i.e., rows) in which actuator numbers M=5 and 7, an operating line 221 shown as a dashed dotted line is entered for partial period number N=3 through 7, and above the operating line 221, a local chart symbol 220, "lclchrt1," is entered. These descriptions indicate that, in the range of partial period numbers N from 3 to 7, the operations of actuators Ac13, Ac14, and Ac16, whose actuator numbers M are 4, 5, and 7, respectively, are described on the local chart 200L identified by the local chart symbol 220. Therefore, the range of partial period numbers N from 3 to 7 constitutes the parallel period 210, and in this parallel period 210, actuators Ac13, Ac14, and Ac16, whose actuator numbers M are 4, 5, and 7, correspond to the "selected actuators" of this invention.

また、図30に例示したYOGOチャート200には、アクチュエータ番号Mが8番および9番で、部分期間番号Nが6番~10番の範囲にも、二点鎖線のローカルチャート記号220の上に、「lclchrt2」というローカルチャート記号220が記載されている。この記載は、部分期間番号Nが6番~10番の範囲では、アクチュエータ番号Mが8番および9番のそれぞれのアクチュエータAc17,Ac18の動作も、ローカルチャート記号220によって特定されるローカルチャート200Lに記載されていることを表している。従って、部分期間番号Nが6番~10番の範囲も並列期間210となり、この並列期間210では、アクチュエータ番号Mが8番および9番のアクチュエータAc17,Ac18が、本発明における「選択アクチュエータ」に該当する。 In addition, in the YOGO chart 200 shown in Figure 30, when actuator numbers M are 8 and 9 and partial period numbers N are 6 to 10, a local chart symbol 220 reading "lclchrt2" is written above the dashed-two-dot local chart symbol 220. This indicates that when partial period numbers N are 6 to 10, the operations of actuators Ac17 and Ac18, whose actuator numbers M are 8 and 9, are also written in the local chart 200L identified by the local chart symbol 220. Therefore, the range of partial period numbers N from 6 to 10 also becomes a parallel period 210, and in this parallel period 210, actuators Ac17 and Ac18, whose actuator numbers M are 8 and 9, correspond to the "selected actuators" of this invention.

図31は、「lclchrt1」というローカルチャート記号220に対応するローカルチャート200Lを例示した説明図である。図示したローカルチャート200Lには、部分期間番号が1番~6番の6つの部分期間に対して、アクチュエータ番号Mが4番、5番、および7番のアクチュエータAc13,Ac14,Ac16の基本動作が記載されている。ここで、ローカルチャート200Lに基本動作が記載されたアクチュエータがこれら3つのアクチュエータAc13,Ac14,Ac16である理由は、図30のYOGOチャート200中で「lclchrt1」というローカルチャート記号220が記載されているアクチュエータが、これら3つのアクチュエータAc13,Ac14,Ac16だからである。また、図30のYOGOチャート200中で「lclchrt1」というローカルチャート記号220が記載された並列期間210は、部分期間番号が3番~7番の5つの部分期間によって形成されている。従って、図30のYOGOチャート200で部分期間番号が3番~7番の5つの部分期間が進む間に、図31に示したローカルチャート200Lの6つの部分期間が進むことになる。 Figure 31 is an explanatory diagram illustrating a local chart 200L corresponding to the local chart symbol 220 "lclchrt1." The illustrated local chart 200L shows the basic operations of actuators Ac13, Ac14, and Ac16, with actuator numbers M of 4, 5, and 7, for six partial periods, numbered 1 through 6. The reason the actuators whose basic operations are shown in the local chart 200L are these three actuators Ac13, Ac14, and Ac16 is because the actuators shown in the YOGO chart 200 of Figure 30 with the local chart symbol 220 "lclchrt1" are these three actuators Ac13, Ac14, and Ac16. Furthermore, the parallel period 210 in the YOGO chart 200 of Figure 30 with the local chart symbol 220 "lclchrt1" is made up of five partial periods, numbered 3 through 7. Therefore, while the five partial periods with partial period numbers 3 to 7 on the YOGO chart 200 in Figure 30 progress, six partial periods on the local chart 200L shown in Figure 31 progress.

図32は、「lclchrt2」というローカルチャート記号220に対応するローカルチャート200Lを例示した説明図である。図示したローカルチャート200Lには、部分期間番号が1番~3番の3つの部分期間に対して、アクチュエータ番号Mが8番および9番の2つのアクチュエータAc17,Ac18の基本動作が記載されている。ローカルチャート200Lに基本動作が記載されたアクチュエータがこれら2つのアクチュエータAc17,Ac18である理由は、図30のYOGOチャート200中で「lclchrt2」というローカルチャート記号220が記載されているアクチュエータが、これら2つのアクチュエータAc17,Ac18だからである。また、図30のYOGOチャート200中で「lclchrt2」というローカルチャート記号220が記載された並列期間210は、部分期間番号が6番~10番の5つの部分期間によって形成されている。従って、図30のYOGOチャート200で部分期間番号が6番~10番の5つの部分期間が進む間に、図32に示したローカルチャート200Lの3つの部分期間が進むことになる。 Figure 32 is an explanatory diagram illustrating a local chart 200L corresponding to the local chart symbol 220 "lclchrt2." The illustrated local chart 200L shows the basic operations of two actuators Ac17 and Ac18, whose actuator numbers M are 8 and 9, for three partial periods, numbered 1 to 3. The reason these two actuators Ac17 and Ac18 are the actuators whose basic operations are shown in the local chart 200L is because these two actuators Ac17 and Ac18 are the actuators shown in the YOGO chart 200 of Figure 30 for which the local chart symbol 220 "lclchrt2" is shown. Furthermore, the parallel period 210 shown in the YOGO chart 200 of Figure 30 for which the local chart symbol 220 "lclchrt2" is shown is made up of five partial periods, numbered 6 to 10. Therefore, while the five partial periods with partial period numbers 6 to 10 progress in the YOGO chart 200 in Figure 30, three partial periods in the local chart 200L shown in Figure 32 progress.

以上のように、YOGOチャート200にはローカルチャート記号220を記載しておき、YOGOチャート200とは別にローカルチャート記号220に対応するローカルチャート200Lを作成することによっても、前述した本実施例と一部が並列化されたYOGOチャート200を作成することができる。このため、前述した本実施例と同様な理由により、自動製造機械の全体の動作時間を短縮することが可能となる。 As described above, by marking the local chart symbol 220 on the YOGO chart 200 and creating a local chart 200L corresponding to the local chart symbol 220 separately from the YOGO chart 200, it is possible to create a YOGO chart 200 that is partially parallel to the present embodiment described above. Therefore, for the same reasons as the present embodiment described above, it is possible to shorten the overall operating time of the automatic manufacturing machine.

また、上述した第1変形例の方法を用いれば、YOGOチャート200にはローカルチャート記号220を記載しておけば良いので、YOGOチャート200の記載が複雑になることも無い。その結果、一部が並列化されたYOGOチャート200を作成する際や、YOGOチャート200の内容を理解する際に、ミスをする可能性を抑制することが可能となる。 Furthermore, by using the method of the first variant described above, it is only necessary to write the local chart symbol 220 on the YOGO chart 200, so the writing of the YOGO chart 200 does not become complicated. As a result, it is possible to reduce the possibility of making mistakes when creating a YOGO chart 200 with some parts parallelized or when understanding the contents of the YOGO chart 200.

H-2.第2変形例 :
上述した第1変形例では、1つの並列期間210に設定されるローカルチャート200Lは一種類であるものとして説明した。例えば、図30に例示したYOGOチャート200では、部分期間番号が3番~7番の並列期間210には「localchart1」というローカルチャート200Lが設定されており、部分期間番号が6番~10番の並列期間210には「localchart2」というローカルチャート200Lが設定されているものとして説明した。しかし、1つの並列期間210に対して、並列部分期間212の個数が異なる複数種類のローカルチャート200Lを設定しても良い。
H-2. Second modified example:
In the first modified example described above, it has been explained that one type of local chart 200L is set for one parallel period 210. For example, in the YOGO chart 200 illustrated in Fig. 30 , a local chart 200L called "localchart1" is set for the parallel periods 210 with partial period numbers 3 to 7, and a local chart 200L called "localchart2" is set for the parallel periods 210 with partial period numbers 6 to 10. However, it is also possible to set multiple types of local charts 200L with different numbers of parallel partial periods 212 for one parallel period 210.

例えば、図33に例示したYOGOチャート200では、部分期間番号が3番~7番の部分期間が並列期間210に纏められており、この並列期間210では、アクチュエータ番号Mが4番、5番、および7番の3つのアクチュエータに対しては「lclchrt1」というローカルチャート記号220が記載され、アクチュエータ番号Mが8番および9番の2つのアクチュエータに対しては「lclchrt2」というローカルチャート記号220が記載されている。ここで、「lclchrt1」というローカルチャート記号220は、6つの部分期間に亘る動作を記載した「localchart1」というローカルチャート200Lを示しており(図31参照)、「lclchrt2」というローカルチャート記号220は、3つの部分期間に亘る動作を記載した「localchart2」というローカルチャート200Lを示している(図32参照)。 For example, in the YOGO chart 200 illustrated in FIG. 33, partial periods with partial period numbers 3 through 7 are grouped together into a parallel period 210. In this parallel period 210, a local chart symbol 220 called "lclchrt1" is entered for the three actuators with actuator numbers M of 4, 5, and 7, and a local chart symbol 220 called "lclchrt2" is entered for the two actuators with actuator numbers M of 8 and 9. Here, the local chart symbol 220 called "lclchrt1" indicates a local chart 200L called "localchart1" that describes operations over six partial periods (see FIG. 31), and the local chart symbol 220 called "lclchrt2" indicates a local chart 200L called "localchart2" that describes operations over three partial periods (see FIG. 32).

このように、1つの並列期間210に対して、並列部分期間212の個数が異なる複数種類のローカルチャート200Lを設定することで、各アクチュエータの動作をYOGOチャート200に、より柔軟に記載することが可能となる。その結果、アクチュエータの動作が終了しているにも拘わらず、他のアクチュエータの動作が終了していないために次の動作を開始することができない「待ち時間」の発生を、より一層抑制することが可能となる。 In this way, by setting multiple types of local charts 200L with different numbers of parallel partial periods 212 for one parallel period 210, it becomes possible to more flexibly record the operation of each actuator on the YOGO chart 200. As a result, it becomes possible to further reduce the occurrence of "waiting times" in which an actuator's operation has finished but the next operation cannot be started because another actuator's operation has not yet finished.

また、並列期間210内の通常部分期間211の動作(すなわち、ローカルチャート200Lに動作が記載されていないアクチュエータの動作)を、ローカルチャート200Lとは別のチャート(以下、グローバルチャート200Gと称する)に纏めてやれば、YOGOチャート200の記載を簡素にすることができる。 Furthermore, if the operations of the normal sub-period 211 within the parallel period 210 (i.e., the operations of actuators whose operations are not described in the local chart 200L) are summarized in a chart (hereinafter referred to as the global chart 200G) separate from the local chart 200L, the description of the YOGO chart 200 can be simplified.

例えば、図33に例示したYOGOチャート200の並列期間210では、アクチュエータ番号Mが1番、5番、7番の3つのアクチュエータAc13,Ac14,Ac16の動作、およびアクチュエータ番号Mが8番、9番の2つのアクチュエータAc17,Ac18の動作は、図31および図32のローカルチャート200Lに記載されている。しかし、それ以外のアクチュエータ(アクチュエータ番号Mが1番~3番、6番の4つのアクチュエータAc10~Ac12,Ac15)の動作は、ローカルチャート200Lには記載されていない。そこで、図34に例示したように、これらのアクチュエータの動作をグローバルチャート200Gに記載する。そして、YOGOチャート200の並列期間210には、グローバルチャート200Gに対応するグローバルチャート記号230を記載することによって、これらのアクチュエータ(アクチュエータ番号Mが1番~3番、6番の4つのアクチュエータAc10~Ac12,Ac15)の動作がグローバルチャート200Gに記載されていることを表示しても良い。 For example, in the parallel period 210 of the YOGO chart 200 illustrated in FIG. 33, the operations of three actuators Ac13, Ac14, and Ac16 with actuator numbers M 1, 5, and 7, and two actuators Ac17 and Ac18 with actuator numbers M 8 and 9, are shown in the local chart 200L in FIGS. 31 and 32. However, the operations of the other actuators (four actuators Ac10 to Ac12 and Ac15 with actuator numbers M 1 to 3 and 6) are not shown in the local chart 200L. Therefore, the operations of these actuators are shown in the global chart 200G, as illustrated in FIG. 34. Then, in the parallel period 210 of the YOGO chart 200, by displaying a global chart symbol 230 corresponding to the global chart 200G, it may be possible to indicate that the operation of these actuators (four actuators Ac10-Ac12, Ac15 with actuator numbers M 1-3 and 6) is displayed on the global chart 200G.

図35に例示したYOGOチャート200では、並列期間210中で、且つ、アクチュエータ番号Mが1番~3番、6番の位置に、「glblchrt1」というグローバルチャート記号230が記載されている。これは、アクチュエータ番号Mが1番~3番、6番の各アクチュエータAc10~Ac12,Ac15の動作は、「globalchart1」というグローバルチャート200Gに記載されていることを表している。グローバルチャート記号230を用いて記載した図35のYOGOチャート200と、グローバルチャート記号230を用いずに記載した図33のYOGOチャート200とを比較すれば明らかなように、グローバルチャート記号230を用いることでYOGOチャート200の記載を簡素にすることができる。 In the YOGO chart 200 shown in Figure 35, a global chart symbol 230 called "glblchrt1" is written during the parallel period 210 at positions where actuator numbers M are 1 to 3 and 6. This indicates that the operation of actuators Ac10 to Ac12 and Ac15 with actuator numbers M of 1 to 3 and 6 is written in a global chart 200G called "globalchart1." As is clear from a comparison of the YOGO chart 200 in Figure 35 written using the global chart symbol 230 with the YOGO chart 200 in Figure 33 written without the global chart symbol 230, the use of the global chart symbol 230 simplifies the writing of the YOGO chart 200.

更に、図35に例示したYOGOチャート200には、並列期間210が5つの部分期間(部分期間番号が3番~7番の部分期間)によって形成されているという情報も表示されている。しかし、実際には、並列期間210を形成する5つの部分期間を通して、ローカルチャート記号220またはグローバルチャート記号230の何れかが記載されているだけであり、並列期間210が5つの部分期間によって形成されていることを表示する必要性が乏しい。また、この情報は、グローバルチャート200Gを形成する部分期間の個数から取得することができるので、YOGOチャート200に表示する必要もない。 Furthermore, the YOGO chart 200 illustrated in FIG. 35 also displays information that the parallel period 210 is made up of five sub-periods (sub-periods numbered 3 to 7). However, in reality, only either the local chart symbol 220 or the global chart symbol 230 is shown throughout the five sub-periods that make up the parallel period 210, and there is little need to display that the parallel period 210 is made up of five sub-periods. Furthermore, this information can be obtained from the number of sub-periods that make up the global chart 200G, so there is no need to display it on the YOGO chart 200.

そこで、図36に示したように、並列期間210を形成する5つの部分期間(部分期間番号が3番~7番の部分期間)を先頭の部分期間(部分期間番号が3番の部分期間)に集約してしまい、集約した1つの部分期間に、ローカルチャート記号220またはグローバルチャート記号230を記載するようにしても良い。こうすれば、YOGOチャート200の記載を更に簡素にすることが可能となる。 As shown in Figure 36, the five partial periods (partial periods with partial period numbers 3 to 7) that make up the parallel period 210 can be aggregated into the first partial period (partial period with partial period number 3), and the local chart symbol 220 or global chart symbol 230 can be written in this single aggregated partial period. This makes it possible to further simplify the writing of the YOGO chart 200.

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

例えば、上述した本実施例および変形例では、ローカルチャート200Lに並列期間210が設定されることはないものとして説明した。ローカルチャート200Lに並列期間210を設定して、そのローカルチャート200Lの並列期間210にローカルチャート200Lを設定してもよい。 For example, in the above-described embodiment and modified example, it has been explained that the parallel period 210 is not set in the local chart 200L. However, the parallel period 210 may be set in the local chart 200L, and the local chart 200L may be set in the parallel period 210 of that local chart 200L.

10…パイプベンダ、 11…レール、 12…搬送ユニット、
12a…把持軸、 12b…チャック、 13…加工ユニット、
50…コンピュータ、 100…制御装置、 100m…モニター画面、
100s…操作入力ボタン、 101…チャート作成部、
102…チャート記憶部、 110…制御プログラム生成装置、
111…チャート読込部、 112…基本動作記憶部、
113…中間データ生成部、 114…中間データ変換部、
120…動作制御装置、 200…YOGOチャート、
200G…グローバルチャート、 200L…ローカルチャート、
200M…メインチャート、 201…仕切線、 202…トリガ線、
203…動作線、 204…始点、 205…終点、 206…基本動作、
206a…動作記号、 206b…パラメータ記号、
207,208…データレコード、 210…並列期間、
211…通常部分期間、 212…並列部分期間、
220…ローカルチャート記号、 221…動作線、 222…始点、
223…終点、 230…グローバルチャート記号、
300,300L,300M…中間データ、 400…制御プログラム、
400L…ローカルプログラム、 400M…メインプログラム、
401,402…データレコード、 Ac10~18…アクチュエータ、
DA10~18…ドライバアンプ。
10... Pipe bender, 11... Rail, 12... Conveying unit,
12a...gripping shaft, 12b...chuck, 13...processing unit,
50...computer, 100...control device, 100m...monitor screen,
100s...operation input button, 101...chart creation unit,
102...chart storage unit, 110...control program generating device,
111...Chart reading unit, 112...Basic operation storage unit,
113... intermediate data generation unit, 114... intermediate data conversion unit,
120...Motion control device, 200...YOGO chart,
200G...Global chart, 200L...Local chart,
200M...Main chart, 201...Divider line, 202...Trigger line,
203...Motion line, 204...Start point, 205...End point, 206...Basic movement,
206a...operation symbol, 206b...parameter symbol,
207, 208...data records; 210...parallel period;
211... Normal partial period, 212... Parallel partial period,
220...Local chart symbol; 221...Operation line; 222...Start point;
223...End point, 230...Global chart symbol,
300, 300L, 300M... intermediate data, 400... control program,
400L...Local program, 400M...Main program,
401, 402...data records, Ac10 to Ac18...actuators,
DA10-18...driver amplifier.

Claims (4)

複数のアクチュエータを備えた自動製造機械(10)の制御プログラム(400)を生成する制御プログラム生成装置(110)であって、
前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する基本動作を、前記基本動作を実現するプログラム要素と対応付けて記憶している基本動作記憶部(112)と、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が複数の前記基本動作に分解されると共に、前記基本動作が前記複数の部分期間の何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込部(111)と、
前記動作チャート上の複数の前記部分期間に割り当てられた複数の前記基本動作の前記プログラム要素を、前記動作チャート上での前記部分期間の順序に従って結合することにより、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成部(113、114)と
を備え、
前記動作チャート読込部が読み込む前記動作チャートは、
前記複数の部分期間の中の連続する2つ以上の前記部分期間が一体に纏められることによって並列期間(210)が設定されており、
前記並列期間では、複数の前記部分期間と、前記並列期間を分割する複数の並列部分期間(212)とが並列に形成された状態となっており、
前記並列期間の前記並列部分期間には、前記複数のアクチュエータの中から選択された選択アクチュエータの前記基本動作が割り当てられており、
前記並列期間の前記部分期間には、前記選択アクチュエータではない前記アクチュエータの前記基本動作が割り当てられており、
前記制御プログラム生成部は、
前記並列期間内で前記並列部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記並列部分期間の順序に従って結合し、
前記並列期間内で前記部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記部分期間の順序に従って結合することによって、前記制御プログラムを生成する
ことを特徴とする制御プログラム生成装置。
A control program generator (110) for generating a control program (400) for an automated manufacturing machine (10) having a plurality of actuators, comprising:
a basic operation storage unit (112) that stores basic operations in which the actuator operates in the direction of the degree of freedom of the actuator by a specified operation amount, in association with program elements that realize the basic operations;
an operation chart reading unit (111) that reads an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is broken down into a plurality of basic operations, and the basic operations are assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a control program generation unit (113, 114) that generates the control program for operating the automatic manufacturing machine by combining the program elements of the plurality of basic operations assigned to the plurality of partial periods on the operation chart in accordance with the order of the partial periods on the operation chart,
The operation chart read by the operation chart reading unit is
Two or more consecutive partial periods among the plurality of partial periods are grouped together to form a parallel period (210);
In the parallel period, a plurality of the partial periods and a plurality of parallel partial periods (212) that divide the parallel period are formed in parallel,
the basic operation of a selected actuator selected from the plurality of actuators is assigned to the parallel partial period of the parallel period,
the basic operation of the actuator other than the selected actuator is assigned to the partial period of the parallel period;
The control program generation unit
The program elements of the basic operations assigned to the parallel sub-periods within the parallel period are combined in accordance with the order of the parallel sub-periods;
a control program generating device for generating the control program by combining the program elements of the basic operations assigned to the partial periods within the parallel period in accordance with the order of the partial periods.
請求項1に記載の制御プログラム生成装置であって、
前記動作チャート読込部は、前記動作チャートとは別に、前記動作チャートの前記並列期間に対して作成され、前記並列期間の各々の前記並列部分期間に対して少なくとも1つの前記選択アクチュエータの前記基本動作が割り当てられたローカルチャート(200L)も読み込んでおり、
前記動作チャート読込部が読み込む前記動作チャートの前記並列期間に対しては、前記ローカルチャートに固有のローカルチャート記号(220)が割り当てられている
ことを特徴とする制御プログラム生成装置。
2. The control program generating device according to claim 1,
the operation chart reading unit also reads a local chart (200L) that is created for the parallel period of the operation chart and in which the basic operation of at least one of the selected actuators is assigned to each of the parallel partial periods of the parallel period, separately from the operation chart;
a local chart symbol (220) unique to the local chart is assigned to the parallel period of the operation chart read by the operation chart reading unit.
複数のアクチュエータを備えた自動製造機械(10)の制御プログラム(400)をコンピュータによって生成する制御プログラム生成方法であって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込工程(STEP1)と、
前記動作チャートに記載された前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成工程(STEP4~STEP6)と
を備え、
前記動作チャート読込工程で読み込む前記動作チャートは、
前記複数の部分期間の中の連続する2つ以上の前記部分期間が一体に纏められることによって並列期間(210)が設定されており、
前記並列期間では、複数の前記部分期間と、前記並列期間を分割する複数の並列部分期間(212)とが並列に形成された状態となっており、
前記並列期間の前記並列部分期間には、前記複数のアクチュエータの中から選択された選択アクチュエータの前記基本動作が割り当てられており、
前記並列期間の前記部分期間には、前記選択アクチュエータではない前記アクチュエータの前記基本動作が割り当てられており、
前記制御プログラム生成工程は、
前記並列期間内で前記並列部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記並列部分期間の順序に従って結合し、
前記並列期間内で前記部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記部分期間の順序に従って結合することによって、前記制御プログラムを生成する
ことを特徴とする制御プログラム生成方法。
A control program generation method for generating a control program (400) for an automated manufacturing machine (10) having a plurality of actuators by a computer, comprising:
an operation chart reading step (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a control program generation step (STEP 4 to STEP 6) of converting the basic operations described in the operation chart into program elements by referring to a correspondence relationship in which the basic operations described in the operation chart and program elements for realizing the basic operations are associated and stored, and combining the program elements in accordance with the order of the partial periods, thereby generating the control program for operating the automatic manufacturing machine;
The operation chart read in the operation chart reading step is
Two or more consecutive partial periods among the plurality of partial periods are grouped together to form a parallel period (210);
In the parallel period, a plurality of the partial periods and a plurality of parallel partial periods (212) that divide the parallel period are formed in parallel,
the basic operation of a selected actuator selected from the plurality of actuators is assigned to the parallel partial period of the parallel period,
the basic operation of the actuator other than the selected actuator is assigned to the partial period of the parallel period;
The control program generation step includes:
The program elements of the basic operations assigned to the parallel sub-periods within the parallel period are combined in accordance with the order of the parallel sub-periods;
a control program generating method for generating the control program by combining the program elements of the basic operations assigned to the partial periods within the parallel period in accordance with the order of the partial periods.
複数のアクチュエータを備えた自動製造機械(10)の制御プログラム(400)を生成する方法を、コンピュータを用いて実現するプログラムであって、
前記自動製造機械が動作を開始してから終了するまでの動作期間が複数の部分期間に分割されており、前記自動製造機械の動作が、前記アクチュエータが指定された動作量で該アクチュエータの自由度方向に動作する複数の基本動作に分解されると共に、前記基本動作が、前記複数の部分期間の何れか1つの前記部分期間に割り当てられることによって前記自動製造機械の動作が記述された動作チャート(200)を読み込む動作チャート読込機能(STEP1)と、
前記動作チャートに記載された前記基本動作と、前記基本動作を実現するためのプログラム要素とが対応付けて記憶された対応関係を参照することによって、前記動作チャートに記載された前記基本動作を前記プログラム要素に変換すると共に、前記プログラム要素を前記部分期間の順番に従って結合することによって、前記自動製造機械を動作させる前記制御プログラムを生成する制御プログラム生成機能(STEP4~STEP6)と
を前記コンピュータを用いて実現すると共に、
前記動作チャート読込機能によって読み込まれる前記動作チャートは、
前記複数の部分期間の中の連続する2つ以上の前記部分期間が一体に纏められることによって並列期間(210)が設定されており、
前記並列期間では、複数の前記部分期間と、前記並列期間を分割する複数の並列部分期間(212)とが並列に形成された状態となっており、
前記並列期間の前記並列部分期間には、前記複数のアクチュエータの中から選択された選択アクチュエータの前記基本動作が割り当てられており、
前記並列期間の前記部分期間には、前記選択アクチュエータではない前記アクチュエータの前記基本動作が割り当てられており、
前記制御プログラム生成機能は、
前記並列期間内で前記並列部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記並列部分期間の順序に従って結合し、
前記並列期間内で前記部分期間に割り当てられた前記基本動作の前記プログラム要素については、前記部分期間の順序に従って結合することによって、前記制御プログラムを生成する機能である
ことを特徴とするプログラム。
A program for implementing a method for generating a control program (400) for an automated manufacturing machine (10) having a plurality of actuators using a computer, the program comprising:
an operation chart reading function (STEP 1) for reading an operation chart (200) in which an operation period from when the automatic manufacturing machine starts to when it finishes its operation is divided into a plurality of partial periods, the operation of the automatic manufacturing machine is decomposed into a plurality of basic operations in which the actuator moves in the direction of the degree of freedom of the actuator by a specified operation amount, and the basic operation is assigned to any one of the plurality of partial periods, thereby describing the operation of the automatic manufacturing machine;
a control program generation function (STEP 4 to STEP 6) that converts the basic operations described in the operation chart into program elements by referring to correspondences stored between the basic operations described in the operation chart and program elements for realizing the basic operations, and combines the program elements in accordance with the order of the partial periods to generate the control program that operates the automatic manufacturing machine;
The operation chart read by the operation chart reading function is
Two or more consecutive partial periods among the plurality of partial periods are grouped together to form a parallel period (210);
In the parallel period, a plurality of the partial periods and a plurality of parallel partial periods (212) that divide the parallel period are formed in parallel,
the basic operation of a selected actuator selected from the plurality of actuators is assigned to the parallel partial period of the parallel period,
the basic operation of the actuator other than the selected actuator is assigned to the partial period of the parallel period;
The control program generation function
The program elements of the basic operations assigned to the parallel sub-periods within the parallel period are combined in accordance with the order of the parallel sub-periods;
a function of generating the control program by combining the program elements of the basic operations assigned to the partial periods within the parallel period in accordance with the order of the partial periods.
JP2023179201A 2023-02-03 2023-10-17 Control program generation device, control program generation method, and program Active JP7808865B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP23215402.1A EP4411494B1 (en) 2023-02-03 2023-12-11 Control program generation apparatus, control program generation method, and program
US18/539,412 US20240264581A1 (en) 2023-02-03 2023-12-14 Control program generation apparatus, control program generation method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023015609 2023-02-03
JP2023015609 2023-02-03

Publications (2)

Publication Number Publication Date
JP2024110909A JP2024110909A (en) 2024-08-16
JP7808865B2 true JP7808865B2 (en) 2026-01-30

Family

ID=92419012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023179201A Active JP7808865B2 (en) 2023-02-03 2023-10-17 Control program generation device, control program generation method, and program

Country Status (1)

Country Link
JP (1) JP7808865B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195450A (en) * 2019-05-31 2020-12-10 株式会社三洋物産 Game machine
JP2020195451A (en) * 2019-05-31 2020-12-10 株式会社三洋物産 Game machine
JP2020195449A (en) * 2019-05-31 2020-12-10 株式会社三洋物産 Game machine
JP2020195435A (en) * 2019-05-31 2020-12-10 株式会社三洋物産 Game machine

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016040666A (en) 2014-08-12 2016-03-24 株式会社Ihi Sequence generation method
JP2021096549A (en) 2019-12-16 2021-06-24 株式会社安川電機 Program creator, program creation method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016040666A (en) 2014-08-12 2016-03-24 株式会社Ihi Sequence generation method
JP2021096549A (en) 2019-12-16 2021-06-24 株式会社安川電機 Program creator, program creation method, and program

Also Published As

Publication number Publication date
JP2024110909A (en) 2024-08-16

Similar Documents

Publication Publication Date Title
JP7808865B2 (en) Control program generation device, control program generation method, and program
CN106843141B (en) Numerical control device
WO1984003957A1 (en) Method of inputting cutting direction for automatic programming
JPS5882310A (en) Numerical controlling with position display function
JP6787616B1 (en) Control program generator, control program generation method, program
KR102476171B1 (en) Motion control device, motion control method, program
JP6829505B1 (en) Control program generator, control program generation method, program
CN115003459B (en) Origin Reset Device
US12174614B2 (en) Control program generation apparatus, control program generation method, and program
KR20220062315A (en) Control program generating device, control program generating method, program
JP7121221B1 (en) Numerical controller and numerical control system
WO1982003282A1 (en) Numerical control system
JP7760163B2 (en) Control program generation device, control program generation method, and program
EP4411494B1 (en) Control program generation apparatus, control program generation method, and program
JP7114035B2 (en) Motion control device, motion control method, program
US20230229140A1 (en) Control program generation apparatus, control program generation method, and program
JP2025095080A (en) Control program generator
JP7523116B2 (en) Control program generator
WO2020157790A1 (en) Device state reproduction device, device state reproduction method, and device state reproduction program
JP2730040B2 (en) How to create NC data
TW202403480A (en) Control program generation device, control program generation method, and program
JPS59214908A (en) Display system of ladder diagram
JP2004348679A (en) System and method for controlling electric equipment
JPH0481904A (en) Numerical controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250902

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: 20260106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260113

R150 Certificate of patent or registration of utility model

Ref document number: 7808865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150