(57)【特許請求の範囲】
【請求項１】
１つまたは複数の装置を備えた自動機における、それぞれの装置の動作プログラムを複数のタスクに個々に割り付け、並行して制御する制御装置において、
前記１つまたは複数の装置のタスクの起動及び停止の制御を統合して記述したプログラムを前記複数のタスクから分離独立したタスクに割り付ける制御手段を有することを特徴とする自動機の制御装置。
【請求項２】
前記１つまたは複数の装置の動作状態を示すデータを記憶する手段と、
その記憶したデータを解釈する手段を備え、
前記前記１つまたは複数の装置のタスクの起動及び停止の制御は、前記記憶したデータにより前記１つまたは複数の装置の動作状態を監視すること、前記記憶したデータにより前記タスク間のインタロックを取ること、そして前記１つまたは複数の装置のタスクの起動及び停止指令であることのうち少なくとも１つを含むことを特徴とする請求項１記載の自動機の制御装置。
【請求項３】
前記１つまたは複数の装置のタスクの起動及び停止の制御を統合して記述したプログラムは、
その装置単体の動作状態を示すデータの前記記憶手段への記憶、動作工程及びその装置に備えられたセンサの監視、および操作スイッチの前記動作工程上のインタロックのうち少なくとも１つを記述したことを特徴とする請求項２記載の自動機の制御装置。
【請求項４】
前記制御装置の電源の投入にともなって、前記複数のタスクから分離独立したタスクを起動させることを特徴とする請求項１記載の自動機の制御装置。
【請求項５】
前記１つまたは複数の装置のタスクの起動及び停止の制御を統合して記述したプログラム、及び前記動作プログラムは、ロボット言語で記載されていることを特徴とする請求項１記載の自動機の制御装置。
【請求項６】
前記１つまたは複数の装置の動作プログラムに割り付けられた各タスクは、前記制御装置の動作中であっても一時停止が可能であることを特徴とする請求項１記載の自動機の制御装置。
【請求項７】
１つまたは複数の装置を備えた自動機における、それぞれの装置の動作プログラムを複数のタスクに個々に割り付け、並行して制御する制御方法において、
前記１つまたは複数の装置のタスクの起動及び停止の制御を統合して記述したプログラムを前記複数のタスクから分離独立したタスクに割り付ける制御工程を有することを特徴とする自動機の制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、１つまたは複数の機器を備えた自動機の制御装置に関するものである。
【０００２】
【従来の技術】
複数の機器を備えた自動機の制御装置として、１つのＣＰＵ、動作命令の解釈部におけるマルチタスク手法により、複数の機器の動作を各々独立したタスクに書かれた任意のプログラムにより、マルチタスクＯＳの管理下で各々独立して並行動作させる方法が公開番号０４−０９２９０２、０９２９０３等で報告されている。
【０００３】
この場合、各々のタスクには図１０に示すようにそれぞれ１つの機器の操作スイッチやセンサの入力の監視プログラム、他の機器とのインタロック、通常の動作プログラムそしてエラー発生時の処理プログラムが書かれており、それらのプログラムに従って各機器の動作を行なわせている。
【０００４】
図１０は、従来例としての自動基板実装装置のソフトウエアの構成図である。
【０００５】
従来のプログラム処理形態は図１０に示す通り、各装置の動作プログラムの解釈実行手段（以後タスク）毎に、それぞれの装置の操作スイッチやセンサの入力の監視プログラム、他の機器とのインタロック、通常の動作プログラムそしてエラー発生時の処理を行なっている。
【０００６】
【発明が解決しようとする課題】
しかしながら、前述の従来例では、各装置に個々に割り付けられたタスクの中に機器の操作スイッチの監視プログラム、他の機器とのインタロックそして通常の動作プログラムやエラー発生時の処理プログラムが書かれるため、次のような問題が生じていた。
１．オペレータや装置からの非常時等の不定期な操作スイッチ入力、信号入力に備えるため、タスクにそれぞれ割り付けられた各装置の動作プログラム中に、本来のシーケンス動作と非定常動作を併記する必要がある。これによりプログラムの構造の複雑化と処理速度の低下が起こる。
２．動作プログラム実行中に他の装置とのインタロック処理を行なう必要があるため、他の機器の動作の工程や動作タイミングを考慮してプログラムを作成する必要がある。
３．他の装置がエラーで停止したため、動作中の装置を即座に一時停止したくても、各タスクの動作処理やインタロック及びタスク間の通信の関係で即座に停止できない。
４．エラーで動作が中断した場合、動作のタイミングにより、すべての機器を安全な状態にさせることが困難であった。
５．制御装置の電源投入と同時にスタートするプログラムがなかったため、電源投入時のみ行いたい内部フラグやパラメータの初期化が困難であった。
６．電源投入と同時にスタートするプログラムがなかったため、操作スイッチやセンサ入力のみを備えた機器の動作状態の把握ができなかった。従って動作プログラム実行中に何らかの理由により、制御装置の電源断が発生した場合、操作されたスイッチ等のセンサ入力の検知ができなかった。
【０００７】
そこで本発明の解決すべき課題として、
自動機を構成する各装置の動作と並行して、各装置の調停をとりながら動作状態を統括的に管理し、各々の機器の動作監視・起動・停止をすべての動作工程において安全、かつ確実に行なうことを目的とする。
【０００８】
【課題を解決するための手段】及び【作用】
前述の課題を解決するための本発明の構成として、
請求項１は、１つまたは複数の装置を備えた自動機における、それぞれの装置の動作プログラムを複数のタスクに個々に割り付け、並行して制御する制御装置において、
前記１つまたは複数の装置のタスクの起動及び停止の制御を統合して記述したプログラムを前記複数のタスクから分離独立したタスクに割り付ける制御手段を有することを特徴とする自動機の制御装置である。これにより、タスクにそれぞれ割り付けられた各装置の動作プログラムを、ほぼ本来のシーケンス動作のみにより構成することができ、プログラム構造が簡略化する。
【０００９】
請求項２は、前記１つまたは複数の装置の動作状態を示すデータを記憶する手段と、
その記憶したデータを解釈する手段を備え、
前記前記１つまたは複数の装置のタスクの起動及び停止の制御は、前記記憶したデータにより前記１つまたは複数の装置の動作状態を監視すること、前記記憶したデータにより前記タスク間のインタロックを取ること、そして前記１つまたは複数の装置のタスクの起動及び停止指令であることのうち少なくとも１つを含むことを特徴とする請求項１記載の自動機の制御装置である。これによりデータを参照すれば各装置の動作状態が容易に把握できるため、各装置のタスクの起動及び停止の制御を統合したタスクを容易に実現できる。
【００１０】
請求項３は、１つまたは複数の装置のタスクの起動及び停止の制御を統合して記述したプログラムは、
その装置単体の動作状態を示すデータの前記記憶手段への記憶、動作工程及びその装置に備えられたセンサの監視、および操作スイッチの前記動作工程上のインタロックのうち少なくとも１つを記述したことを特徴とする請求項２記載の自動機の制御装置である。これにより、個々の動作状態を記述したシーケンス中で動作状態の変化した時だけ、それを表すデータを記憶領域に書き込めばよい。またそのデータに基づいて前述のタスクの起動及び停止の制御を統合したタスクが、動作プログラムを実行するタスク自体を管理しているため、プログラムの構造が簡略化する。
【００１１】
請求項４は、前記制御装置の電源の投入にともなって、前記複数のタスクから分離独立したタスクを起動させることを特徴とする請求項１記載の自動機の制御装置である。これにより、制御装置の電源投入時のみ必要な初期化などの処理を確実に実行できる。更に各装置の動作開始前に全ての操作スイッチの設定状態が把握可能なため、操作スイッチのみで各装置の単独動作を行なうことができる。
【００１２】
請求項５は、前記１つまたは複数の装置のタスクの起動及び停止の制御を統合して記述したプログラム、及び前記動作プログラムは、ロボット言語で記載されていることを特徴とする請求項１記載の自動機の制御装置である。これにより、全てのプログラムを動作順に書くことができ、わかりやすく動作プログラムの開発が簡単になる。
【００１３】
請求項６は、前記１つまたは複数の装置の動作プログラムに割り付けられた各タスクは、前記制御装置の動作中であっても一時停止が可能であることを特徴とする請求項１記載の自動機の制御装置である。これにより、自動機全体のシーケンス動作中でも、実際の動作を一時停止している装置に対応するタスクをマルチタスクＯＳの管理下で一時停止（スタック）することが容易になる。
【００１４】
【実施例】
以下に、本発明の一実施例を図面を参照して説明する。
【００１５】
はじめに本発明を適用した自動基板実装装置のシステム構成を図１を参照して説明する。
【００１６】
図１は、本発明の一実施例を適用した自動基板実装装置のシステム構成図である。
【００１７】
図中、組立ロボットであるロボット５００は、ワークを把持し移動させる不図示のフィンガーをアーム先端に有している。部品供給装置（以下、スティック）６００は、不図示のシリンダによりスティック内の部品を１つずつ分離し、部品供給位置へすべり落とす。ストッカ７００は、複数のワーク７０２が所定の配置に並べられているマガジン７０１を搭載し不図示のインダクションモーター（サーボモーターでも良い）によってマガジン７０１をロボット５００のワーク供給位置に移動させる。ロボット５００は、スティック６００または、ストッカ７００からワーク７０２を１個把持し、基板搬送装置であるコンベア８００によりワークの実装位置に予め位置決めされた基板９００上の所定の位置へ実装する。８２０は、コンベア８００の手動操作部である。ロボット５００、スティック６００、ストッカ７００及びコンベア８００等の動作の制御は、主制御装置４００によって行われる。主制御装置４００には、動作監視やデータ解析等を行なうパーソナルコンピュータ３００と表示部を備え、動作を規定するための各種パラメータや動作変更点等を入力するティーチングペンダント（以下、ＴＰ）、そして装置の単体で操作したり、システム全体の動作モード等を入力するスイッチ群を備えた制御盤３０２が接続されている。
【００１８】
次に主制御装置４００の構成を図２を参照して説明する。
【００１９】
図２は、本発明の一実施例を適用した主制御装置の構成を示す図である。
【００２０】
図中、主制御装置４００は、全体の動作手順を制御する上位制御部１００と上位制御部１００からの指示に従ってロボット５００の位置の制御を行う位置制御部２００を有する。上位制御部１００は、プログラムに従って処理を実行するＣＰＵ１０１、各種処理プログラムや固定パラメータ等を記憶するＲＯＭ１０２、可変パラメータ等の記憶や作業領域として使用されるＲＡＭ１０３を有する。尚、本実施例におけるＲＯＭ、ＲＡＭの内容については後述する。シリアルＩ／Ｆ１０４及びシリアルＩ／Ｆ１０５は、動作プログラムの編集及び動作ポイントの編集等を行うパーソナルコンピュータ３００やティーチングペンダント３０１との通信を行う。シリアルＩ／Ｆ１０６は、ロボット５００の位置決め制御を行う位置制御部２００との通信を行う。シリアルＩ／Ｏ１０７は、ロボット５００、スティック６００、ストッカ７００、そしてコンベア８００の遠隔操作のための入出力部であるロボットＩ／Ｏ５５０、スティックＩ／Ｏ６５０、ストッカＩ／Ｏ７５０、そしてコンベアＩ／Ｏ８５０とシリアル伝送線で接続されており、各装置の入出力制御を行うインターフェースである。パラレルＩ／Ｏ１０８は、ＬＥＤやソレノイド等のＯＮ／ＯＦＦ制御や、スイッチ入力やセンサ入力を行うインターフェースである。位置制御部２００は、ロボット５００の駆動部であるＮＣモータ６０、ＮＣモータ６２及び各モータのエンコーダ検出器６１、エンコーダ検出器６３と接続され、上位制御部１００からの指示に従って必要な量だけ回転させる。また、原点センサやオーバーランセンサなどのセンサー群６４からの情報に基づいて原点出しや異常動作時の処理を行う。
【００２１】
上記の装置構成に基づき本発明の一実施例の動作の詳細な説明をする。
【００２２】
前述の図１０を参照して述べた従来の処理形態の問題点を解決するため、キースキャン部分、エラー処理及び各装置間の動作のインタロック、及び各装置のタスクの起動・停止指令等を各装置に割り当てたタスクから分離し、それらの処理を統括し専門に行うタスク（以下、ドライブタスク）を作成する。
【００２３】
まず本実施例のソフトウエアの構成を図３を参照して説明する。
【００２４】
図３は、本発明の一実施例としての主制御装置のソフトウエアの構成図である。
【００２５】
図に示すように各装置の実際の詳細な動作や装置内での細かなインタロックが記述されている動作プログラムは、ロボットタスク、スティックタスク、ストッカタスク、コンベアタスクに割り付けられ、マルチタスクＯＳの管理下で疑似並列処理される。更に、それらのタスクの起動停止及び各装置のキースキャンやエラー管理、インタロック等の管理を行うドライブタスクの処理プログラムも、マルチタスクＯＳの管理下で各装置のタスクと共に疑似並列処理される。また各タスクは、それぞれのタスク内の動作プログラムに従って１行１行順次解釈実行される。ドライブタスクは、各装置の動作プログラムが動作に従って共通変数部に書き込むデータを参照することにより、タスク間のインタロックを取りながら、スイッチやセンサ入力をスキャンし、システム全体の状態を常に把握し、各タスクの起動及び停止を制御する。更に、システム全体のエラー状態を監視し、どの装置でエラーが発生してもその内容に従って、瞬時に各タスクに適切な処理を行なわせることができる。
【００２６】
次に、図４および図５を参照し、ＲＯＭ１０２、ＲＡＭ１０３の内容を説明する。
【００２７】
図４は、本発明の一実施例としてのＲＯＭ１０２に格納されているソフトウェアの構成図である。
【００２８】
図中、１２１は高級言語にて記述されたロボット５００、スティック６００、ストッカ７００、そしてコンベア８００（以下、各装置）の動作プログラムを解釈し実行するプログラムが格納されている。１２２は、入出力装置であるパーソナルコンピュータ３００やＴＰ３０１により、各装置の動作プログラムを編集するプログラムが格納されている。１２３は、パーソナルコンピュータ３００やＴＰ３０１よりロボット５００の動作ポイントの教示、及びポイントデータ等の編集を行うプログラムが格納されている。１２４は、パーソナルコンピュータ３００やＴＰ３０１より各装置のＩ／Ｏ部の出力のＯＮ／ＯＦＦを操作するプログラムが格納されている。１２５は、パーソナルコンピュータ３００やＴＰ３０１により各装置のＩ／Ｏ部の入力の情報を監視するプログラムが格納されている。１２６は、パーソナルコンピュータ３００やＴＰ３０１により各入出力信号の割り付けテーブル及びＩ／Ｏ属性領域を編集するプログラムが格納されている。１２０は、マルチタスクＯＳプログラムが格納されており、前述のプログラム群がマルチタスク環境で動作することにより、各装置は１つのＣＰＵ１０１によって独立に動作する。１２７は、その他の制御プログラムであり、シリアル通信やＩ／Ｏシリアル通信等のシステムプログラムの格納部である。
【００２９】
図５は、本発明の一実施例としてのＲＡＭ１０３に格納されているソフトウェアの構成図である。
【００３０】
図中、１３０は、ロボット５００の動作プログラムの格納部である。１３１は、ロボット５００の教示ポイントの格納部である。１３２は、スティック６００の動作プログラムの格納部である。１３３は、ストッカ７００の動作プログラムの格納部である。１３４は、コンベア８００の動作プログラムの格納部である。１３５は、各装置に備えられた操作スイッチのスキャン（以下、キースキャン）や各装置の動作状態を把握し、各装置の動作プログラムの起動・停止の処理を行なうプログラムの格納部である。１３６は、入出力信号の割り付け状態の格納部である。１３７は、Ｉ／Ｏ部の入出力情報データと、入力か出力かを選択し、指定する入出力属性テーブルが格納されているＩ／Ｏ属性領域である。１３８は、各装置の動作タスクが動作状態やエラーコード等を書き込むための共通変数部である。
【００３１】
次にドライブタスクのプログラム処理の流れについて図６〜図９を参照して説明する。
【００３２】
図６は、本発明の一実施例としてのドライブタスクプログラムの概要を示すフローチャートである。
【００３３】
図中、主制御装置４００の電源を投入するとマルチタスクＯＳは、電源を投入した場合にドライブタスクの起動を指定するスイッチがＯＮであれば、ドライブタスクを起動させる。ステップＳ１において、初期化が必要なフラグの初期化を行い、ステップＳ２〜ステップＳ５において各装置のタスクの動作管理を行う。そしてステップＳ６で各装置のエラー処理を行う。ドライブタスクは、基本的に各装置の実行タスクを管理するためのものである。しかし重大なエラーが発生した場合は、エラー処理（ステップＳ６）において各装置を直接停止させることもある。
【００３４】
次に前述の各ステップの詳細を説明する。
【００３５】
図７は、本発明の一実施例としてのスティックの動作管理のフローチャートである。
【００３６】
図中、ステップＳ３５でスティック６００が正常運転中であるかを判別する。ステップＳ３６でスティック６００にエラーが発生したかを判別し、エラーが発生した場合は、スティック６００の実行タスクを強制的に停止させる（ステップＳ４０）。ステップＳ３７では、スティック６００が動作中であるかを判別する。ステップＳ３８では、部品供給位置に部品が出ているかをチェックし、部品がない場合はステップＳ３９に進み、スティクタスクに起動をかけて部品出しプログラムを実行させ、部品出しを行わせる。
【００３７】
次に、ストッカ７００の起動処理について図８Ａ，Ｂに従って説明する。
【００３８】
図８Ａ及び図８Ｂは、本発明の一実施例としてのストッカの動作管理のフローチャートである。
【００３９】
図中、ステップＳ１１でストッカ７００が正常であるかチェックする。ステップＳ１２でストッカ７００からのエラーフラグをチェックしエラーありの場合は、ステップＳ２７でストッカ７００の実行タスクを強制的に停止させる。ステップＳ１３でストッカ７００が動作中であるかを判別し、ステップＳ１４で電源の投入直後であるかを判別する。電源投入直後の場合は、ストッカタスクを起動し、ストッカ動作プログラム内の初期化プログラムを実行するように指示し、初期化を行なわせる（ステップＳ２８）。尚、本実施例においてステップＳ２８のコマンド「ＳＴＡＲＴ  ４；２」は、４がストッカタスクであり、３がそのタスク内の動作プログラム（この場合、初期化プログラム）の番号である。その他のステップのコマンドも同様の構成である。ステップＳ１５でストッカ７００の動作切換スイッチを読み取る。ステップＳ１６で自動／手動モード切換スイッチを判別し、自動モードの場合はステップＳ１７へ、手動モードの場合はステップＳ２０へ進む。ステップＳ１７ではパレットの有無、ステップＳ１８ではパレットの交換要求の有無を判別する。ステップＳ１９では、ストッカタスクを起動し、パレット交換プログラムによりパレット交換を行わせる。手動モードの場合、ステップＳ２２において起動スイッチのＯＮ／ＯＦＦを確認し、ステップＳ２９〜ステップＳ３２においてステップＳ１５で読み取った動作スイッチの状態により、ストッカタスク内の各動作プログラムを実行させるべく指示と共にストッカタスクに起動をかけ、不図示のパレットの投入または分離、エレベータ上昇または下降を行わせる。
【００４０】
ロボット５００及びコンベア８００の起動処理についての詳しい説明は省略するが、各装置の共通変数部１３８を予め参照することにより、同様のキースキャン、状態チェック、エラーチェック、動作中かどうか、各装置間のインタロック及び動作要求の有無を判別しながらロボット５００及びコンベア８００の起動、停止制御を行う。
【００４１】
図９Ａ及び図９Ｂは、本発明の一実施例としてのエラー処理のフローチャートである。
【００４２】
図中、ステップＳ４１〜ステップＳ５６において各装置のエラー検知を行い、エラー発生の場合はそれぞれエラーコードのセットとそのエラーの表示をパーソナルコンピュータ３００やＴＰ３０１に行なう。尚、スティック６００のエラー検知では、部品残量を監視し（ステップＳ４３）、所定の数量より少ない場合は主制御装置４００やパーソナルコンピュータ３００において警報も発報する（ステップＳ４８）。同様にストッカ７００のエラー検知では、マガジン７０１の残量を監視し（ステップＳ５０）、所定の数量より少ない場合は主制御装置４００やパーソナルコンピュータ３００において警報も発報する（ステップＳ５３）。ステップＳ５７では、各装置の継続運転が不可能な重大なエラーが発生した場合、ステップＳ５８において各装置の動作を実行タスクを介さず直接停止させる。また、強制的な動作の中断は危険である装置においては、出力をステップＳ５９で解除し、各装置を安全な状態にする（例えば、ストッカ７００の上下起動のためのインダクションモーターＯＮの状態での緊急停止等）。ステップＳ６０では、各装置にエラーがないことを確認し、ステップＳ６１にてエラー表示、エラーコードの解除を行う。そしてステップＳ６２にて装置が起動中であるかをチェックし、起動中であれば起動出力をＯＮ（ステップＳ６３）、起動中でなければ起動出力をＯＦＦする（ステップＳ６４）。
【００４３】
このようにしてドライブタスクは、操作スイッチの入力状態や各センサの入力を監視し、各装置の動作の調停をとりながら各装置の起動や停止を指令する。
【００４４】
また主制御装置４００は、電源投入時にドライブタスクを起動するかどうかを切り換える不図示のディップスイッチを備えており、そのスイッチの状態を電源投入時にマルチタスクＯＳを介してチェックし、ＯＮの場合はドライブタスクを起動する。ドライブタスクが電源投入時から起動することにより、各種処理のための内部フラグの初期化や操作スイッチのみによる運転及び各装置の状態の管理が可能となる。ディップスイッチをＯＦＦにした場合は、ドライブタスクは起動されないため、プログラムの編集やデータの編集が可能となる。また上記切換手段はディップスイッチではなく、パーソナルコンピュータ３００やＴＰ３０１からの操作でも良い。
【００４５】
＜実施例の効果＞
（１）共通変数部１３８を参照することにより、各装置に割り付けられたタスク間のインタロックを取りながら、スイッチやセンサ入力をスキャンし、自動機全体の状態を常に把握し、各装置のタスクの起動及び停止を統括的に制御するドライブタスクにより、タスクにそれぞれ割り付けられた各装置の動作プログラムをそれらの処理から開放し、ほぼ本来のシーケンス動作のみにより構成することができた。これによりプログラムの構造が簡略化し、処理速度も向上する。更に動作中の装置において操作スイッチや一瞬のセンサ入力の変化の見落としがなくなり、それらの入力に応じた動作を即座に実行できるようになった。
（２）オペレータや各装置からの非常時等の不定期な操作スイッチ入力、信号入力に常時備えるキースキャン処理等をドライブタスクへ統合したため、自動機全体のシーケンス動作中で、実際の動作を一時停止している装置に対応するタスクをマルチタスクＯＳの管理下で一時停止する（スタックさせる）ことが容易になる。これにより動作中の装置のタスクとドライブタスクのみでＣＰＵ１０１を専有できるため処理速度が更に向上する。
（３）各装置の動作状態を常に把握しているため、煩雑な各機器間のインタロックが取りやすくなり、プログラム作成上のミスが減少する。
（４）ドライブタスクに各装置のエラー処理を統合したため、自動機を構成するある装置で重大なエラーが発生した場合に、各装置を迅速に安全な状態にすることができる。
（５）電源投入時にドライブタスクの処理を開始するかどうかを設定するスイッチにより、主制御装置４００の電源投入時のみ必要な初期化などの処理を確実に実行できる。更にドライブタスクの監視機能により各装置の動作開始前に全ての操作スイッチの設定状態が把握可能なため、操作盤３０２の操作スイッチのみで各装置の単独動作を行うことができる。
（６）主制御装置４００が動作中、ドライブタスクは停止することがないため、常に各装置の状態を正確に把握することができ、エラー後の運転再開なども２次的な不具合を起こすこと無くスムーズに行うことができる。
（７）各装置のタスク及びドライブタスクは、全てＲＯＭ１０２の動作プログラム解釈実行部に格納されたプログラムをＣＰＵ１０１で実行できるため、ＣＰＵが１つあれば良く、コスト的に有利である。
（８）ドライブタスクを含む全てのタスク上の動作プログラムをロボット言語で記述できるため、全てのプログラムを動作順に書くことができ、わかりやすく動作プログラムの開発が簡単になる。
【００４６】
実施例ではドライブタスクのプログラムはロボット言語で記述したがその限りではない。
【００４７】
尚、自動機を構成する機器は少なくとも１つあればこの発明での効果が表れる。また、本発明はシステム或は装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。
【００４８】
【発明の効果】
以上説明したように本発明によれば、自動機を構成する各装置の動作と並行して、各装置の調停をとりながら動作状態を統括的に管理し、各々の機器の動作監視・起動・停止をすべての動作工程において安全、かつ確実に行なうことができる。すなわち操作性の向上、動作プログラムの開発効率やメンテナンス性の向上、及び誤動作時の安全性の確保などの効果をもたらすものである。
【００４９】
【図面の簡単な説明】
【図１】本発明の一実施例を適用した自動基板実装装置のシステム構成図である。
【図２】本発明の一実施例を適用した主制御装置の構成を示す図である。
【図３】本発明の一実施例としての主制御装置ソフトウエアの構成図である。
【図４】本発明の一実施例としてのＲＯＭ１０２に格納されているソフトウェアの構成図である。
【図５】本発明の一実施例としてのＲＡＭ１０３に格納されているソフトウェアの構成図である。
【図６】本発明の一実施例としてのドライブタスクプログラムの概要を示すフローチャートである。
【図７】本発明の一実施例としてのスティックの動作管理のフローチャートである。
【図８Ａ】本発明の一実施例としてのストッカの動作管理のフローチャートである。
【図８Ｂ】本発明の一実施例としてのストッカの動作管理のフローチャートである。
【図９Ａ】本発明の一実施例としてのエラー処理のフローチャートである。
【図９Ｂ】本発明の一実施例としてのエラー処理のフローチャートである。
【図１０】従来例としての自動基板実装装置のソフトウエアの構成図である。
【符号の説明】
６０  ＮＣモータ
６１  エンコーダ検出器
６２  ＮＣモータ
６３  エンコーダ検出器
６４  センサー群
１００  上位制御部
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  シリアルＩ／Ｆ
１０５  シリアルＩ／Ｆ
１０６  シリアルＩ／Ｆ
１０７  シリアルＩ／Ｆ
１０８  パラレルＩ／Ｏ
１２０  マルチタスクＯＳプログラム部
１２１  動作プログラム解釈実行部
１２２  動作プログラム編集部
１２３  動作ポイント教示部
１２４  Ｉ／Ｏ出力操作部
１２５  Ｉ／Ｏ入力監視部
１２６  Ｉ／Ｏ属性管理部
１２７  その他の制御部
１３０  ロボット動作プログラム
１３１  ロボット教示ポイント
１３２  スティック動作プログラム
１３３  ストッカ動作プログラム
１３４  コンベア動作プログラム
１３５  キースキャンプログラム
１３６  Ｉ／Ｏ割り付けテーブル
１３７  Ｉ／Ｏ属性領域
１３８  各装置の共通変数部
２００  位置制御部
３００  パーソナルコンピュータ
３０１  ティーチングペンダント（ＴＰ）
３０２  制御盤
４００  主制御装置
５００  ロボット
５５０  ロボットＩ／Ｏ
６００  部品供給装置（スティック）
６５０  スティックＩ／Ｏ
７００  ストッカ
７０１  マガジン
７０２  ワーク
７５０  ストッカＩ／Ｏ
８００  コンベア
８２０  手動操作部
８５０  コンベアＩ／Ｏ
９００  基板
【図１】
0003591919.tif 000002
【図２】
0003591919.tif 000003
【図３】
0003591919.tif 000004
【図４】
0003591919.tif 000005
【図５】
0003591919.tif 000006
【図６】
0003591919.tif 000007
【図７】
0003591919.tif 000008
【図８Ａ】
0003591919.tif 000009
【図８Ｂ】
0003591919.tif 000010
【図９Ａ】
0003591919.tif 000011
【図９Ｂ】
0003591919.tif 000012
【図１０】
0003591919.tif 000013