(57)【要約】【課題】制御対象となる設備を追加変更した場合でも、プログラムの再構築および再利用を容易に行うことのできるセル制御プログラム実行方法およびセル制御装置を提供する。【解決手段】セル制御装置１０において、関数呼び出し実行手段１４が、作業記述層の作業工程プログラムを順に実行していき、各作業工程プログラムにおいて当該作業工程プログラムが呼び出す機器制御記述層の機器制御プログラムを処理する。制御コマンド実行手段１５は、関数呼び出し実行手段１４が処理した機器制御プログラムが呼び出す制御コマンド層の制御コマンドを処理して設備に出力し、設備に操作コマンドを実行させる。【選択図】図１
2012014498.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となる複数の設備による一連の作業を、当該各設備の操作コマンドを実行させることにより行うセル制御プログラム実行方法であって、
前記設備の操作コマンドを制御して実行させる制御コマンドを記述した制御コマンド層と、前記制御コマンド層から所定の制御コマンドを呼び出す機器制御プログラムを前記設備の機能毎に記述した機器制御記述層と、前記複数の設備による一連の作業を、前記機器制御記述層から所定の機器制御プログラムを呼び出す作業工程プログラムの繋がりとして記述した作業記述層とを用いて、前記作業記述層の作業工程プログラムを順に実行していき、各作業工程プログラムにおいて当該作業工程プログラムが呼び出す前記機器制御記述層の機器制御プログラムを処理する関数呼び出し実行ステップと、
前記関数呼び出し実行ステップで処理した機器制御プログラムが呼び出す前記制御コマンド層の制御コマンドを処理して前記設備に出力し、前記設備に操作コマンドを実行させる制御コマンド実行ステップとを備えることを特徴とするセル制御プログラム実行方法。
【請求項２】
制御コマンド実行ステップは、同一設備に対する複数の制御コマンドが存在する場合に、優先順位の高い制御コマンドから順に出力することを特徴とする請求項１記載のセル制御プログラム実行方法。
【請求項３】
制御対象となる複数の設備による一連の作業を、当該各設備の操作コマンドを実行させることにより行うセル制御装置であって、
前記設備の操作コマンドを制御して実行させる制御コマンドを記述して、制御コマンド層とする制御コマンド記述手段と、
前記制御コマンド層から所定の制御コマンドを呼び出す機器制御プログラムを前記設備の機能毎に記述して、機器制御記述層とする機器制御記述手段と、
前記複数の設備による一連の作業を、前記機器制御記述層から所定の機器制御プログラムを呼び出す作業工程プログラムの繋がりとして記述して、作業記述層とする作業記述手段と、
前記作業記述層の作業工程プログラムを順に実行していき、各作業工程プログラムにおいて当該作業工程プログラムが呼び出す前記機器制御記述層の機器制御プログラムを処理する関数呼び出し実行手段と、
前記関数呼び出し実行手段が処理した機器制御プログラムが呼び出す前記制御コマンド層の制御コマンドを処理して前記設備に出力し、前記設備に操作コマンドを実行させる制御コマンド実行手段とを備えることを特徴とするセル制御装置。
【請求項４】
制御コマンド実行手段は、同一設備に対する複数の制御コマンドが存在する場合に、優先順位の高い制御コマンドから順に出力することを特徴とする請求項３記載のセル制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、セルを構成する複数の設備による一連の作業を、各設備の操作コマンドを実行させることにより行うセル制御プログラム実行方法およびセル制御装置に関するものである。
【背景技術】
【０００２】
従来、複数の生産設備で構成されるセルを制御するシステムにおけるプログラミング手段は、当該セルの生産工程の流れを示すシーケンスプログラムと、生産工程の内容を表す機器制御プログラムとを記述するようにしている。そして、セル制御システムは、シーケンスプログラム中の生産工程にトークンが入ると、その生産工程に対応した機器制御プログラムを実行し、終了を待って次の生産工程にトークンを入れて対応する機器制御プログラムを実行する。
【０００３】
例えば特許文献１に係るプログラミング手段では、生産設備の作業を、ワークに対する直接的作業である主作業内容と、主作業終了後の次のワークに対する準備作業である副作業内容とを記述するようにして、セル全体の作業フローをワークの流れに沿って記述したシーケンスプログラムにする。セルコントローラは、シーケンスプログラムに沿って、設備が可能な作業を表した設備構成表と照合して設備に作業内容を割り付けて、プログラム番号とコントローラ名とをメッセージにして送信する。設備を下位接続したコントローラは、そのメッセージを受信して、自コントローラのプログラムを起動して設備に作業を実行させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２８７２７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のセル制御システムは以上のように構成されているので、セルコントローラがコントローラに対してメッセージを送るためには、設備の情報が必ず必要となる。このため、設備が異なるセル制御システムでは、セルコントローラに新しい設備の情報を登録しなければならず、作業に手間がかかったり、プログラムを再利用できなかったりする課題があった。
【０００６】
この発明は、上記のような課題を解決するためになされたもので、制御対象となる設備を追加変更した場合でも、プログラムの再構築および再利用を容易に行うことのできるセル制御プログラム実行方法およびセル制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明の請求項１に係るセル制御プログラム実行方法は、設備の操作コマンドを制御して実行させる制御コマンドを記述した制御コマンド層と、制御コマンド層から所定の制御コマンドを呼び出す機器制御プログラムを設備の機能毎に記述した機器制御記述層と、複数の設備による一連の作業を、機器制御記述層から所定の機器制御プログラムを呼び出す作業工程プログラムの繋がりとして記述した作業記述層とを用いて、作業記述層の作業工程プログラムを順に実行していき、各作業工程プログラムにおいて当該作業工程プログラムが呼び出す機器制御記述層の機器制御プログラムを処理する関数呼び出し実行ステップと、関数呼び出し実行ステップで処理した機器制御プログラムが呼び出す制御コマンド層の制御コマンドを処理して設備に出力し、設備に操作コマンドを実行させる制御コマンド実行ステップとを備えるものである。
【０００８】
この発明の請求項２に係るセル制御プログラム実行方法は、同一設備に対する複数の制御コマンドが存在する場合に、優先順位の高い制御コマンドから順に出力するものである。
【０００９】
この発明の請求項３に係るセル制御装置は、設備の操作コマンドを制御して実行させる制御コマンドを記述して、制御コマンド層とする制御コマンド記述手段と、制御コマンド層から所定の制御コマンドを呼び出す機器制御プログラムを設備の機能毎に記述して、機器制御記述層とする機器制御記述手段と、複数の設備による一連の作業を、機器制御記述層から所定の機器制御プログラムを呼び出す作業工程プログラムの繋がりとして記述して、作業記述層とする作業記述手段と、作業記述層の作業工程プログラムを順に実行していき、各作業工程プログラムにおいて当該作業工程プログラムが呼び出す機器制御記述層の機器制御プログラムを処理する関数呼び出し実行手段と、関数呼び出し実行手段が処理した機器制御プログラムが呼び出す制御コマンド層の制御コマンドを処理して設備に出力し、設備に操作コマンドを実行させる制御コマンド実行手段とを備えるものである。
【００１０】
この発明の請求項４に係るセル制御装置は、同一設備に対する複数の制御コマンドが存在する場合に、優先順位の高い制御コマンドから順に出力するものである。
【発明の効果】
【００１１】
この発明の請求項１，３によれば、設備の操作コマンドを制御して実行させる制御コマンドを記述した制御コマンド層と、制御コマンド層から所定の制御コマンドを呼び出す機器制御プログラムを設備の機能毎に記述した機器制御記述層と、複数の設備による一連の作業を、機器制御記述層から所定の機器制御プログラムを呼び出す作業工程プログラムの繋がりとして記述した作業記述層とを用いて、上位層のプログラムから下位層のプログラムを呼び出すようにしたので、制御対象となる設備を追加変更した場合でも、プログラムの再構築および再利用を容易に行うことのできるセル制御プログラム実行方法およびセル制御装置を提供することができる。
【００１２】
この発明の請求項２，４によれば、同一設備に対する複数の制御コマンドが存在する場合に、優先順位の高い制御コマンドから順に出力するようにしたので、設備に作業をスムーズに実行させることができる。また、セル制御システムに設備が追加されたり変更されたりした場合にも簡単に対応することができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１に係るセル制御システムの構成を示すブロック図である。
【図２】作業記述層の作業工程プログラムの一例を示す模式図である。
【図３】機器制御記述層の機器制御プログラムの一例を示す模式図である。
【図４】機器制御記述手段の機器制御記述実装例を示す図である。
【図５】制御コマンド層の制御コマンドの一例を示す模式図である。
【図６】制御コマンド記述手段の制御コマンド実装例を示す図である。
【図７】実施の形態１に係るセル制御システムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、実施の形態１に係るセル制御システムの構成を示すブロック図である。図示例のセル制御システムは、温度調節器２０、ロボットコントローラ２１、画像センサ２２等から構成されるセルと、このセルを構成する各設備の制御を全体統括するセル制御装置１０とを備える。また、温度調節器２０は下位接続された半田ゴテ等の温度調節を行い、ロボットコントローラ２１は下位接続されたモータ等の駆動制御を行い、画像センサ２２は下位接続されたカメラと画像処理装置による画像認識処理の制御を行うこととする。なお、セルを構成する設備は図示例に限定されるものではなく、部品供給のコンベア等を下位接続したリモートＩ／Ｏ、シーケンサ等の設備があってもよい。
【００１５】
セル制御装置１０には、３層構造のプログラムが実装される。このプログラムは上位から「作業記述層」、「機器制御記述層」、「制御コマンド層」とし、作業記述手段１１が「作業記述層」の作業工程プログラムを記述し、機器制御記述手段１２が「機器制御記述層」の機器制御プログラムを記述し、制御コマンド記述手段１３が「制御コマンド層」の制御コマンドのプログラムを記述する。そして、上位層側のプログラムが下位層側のプログラムを呼び出すソフトウェア構造にする。
【００１６】
作業記述手段１１の「作業記述層」には、制御対象となる複数の設備から構成されたセルの全体的な作業の流れがフロー形式で記述されている。作業記述は、「作業工程」と呼ぶ構成要素を繋ぎ合わせることで作業の流れを規定するものであり、各「作業工程」を「遷移種別」で繋ぐ。「遷移種別」としては、直列遷移、選択分岐、選択結合、並列分岐、並列結合、排他、ループバック等がある。各「作業工程」プログラムには「ファンクション名」、「種別Ｎｏ」、「パラメータ」等が記述される。この作業記述層には、設備を操作する記述を直接行わないため、設備の詳細を意識することなく主に作業の流れを記述すればよい。このため、プログラムの構築が容易であると共に、設備が異なるセル制御システムで再利用が図りやすい。
【００１７】
図２に、作業記述層の作業工程プログラムの一例を示す。図２の作業記述例ではセルの各設備を連携動作させて、部品供給ユニット、画像センサユニット、半田ゴテユニット、ハンドユニットといった機能（ファンクション）を実施する。この作業記述例では先ず「作業工程１」で部品を画像センサ位置に移動する。「作業工程１」の「部品供給ユニット」がファンクション名であり、「１．絶対移動」がそのファンクション中の動作の種別Ｎｏであり、「（パラメータ）位置Ｎｏ：１、速度Ｎｏ：１、加速度Ｎｏ：２」がファンクションに応じて規定されたパラメータである。続く「作業工程２」で部品位置の補正量を算出して「作業工程４」および「作業工程５」で部品の位置を補正し、「作業工程６」で部品をハンドユニットの位置へ移動する。「作業工程２」〜「作業工程６」と並行して、「作業工程３」で半田ゴテの加熱を開始して３００℃まで昇温する。「作業工程７」にて、ハンドユニットで部品を把持し、「作業工程８」にて所定位置に部品を移動する。
【００１８】
機器制御記述手段１２の「機器制御記述層」には、制御コマンド記述手段１３に格納された制御コマンドを呼び出す機器制御プログラムが記述されている。機器制御プログラムは、設備の機能毎、ハードウェアブロック毎といった任意のまとまり毎に関数として記載するものとし、設備によらず統一した言語形式とする。
【００１９】
図３に、機器制御記述層の機器制御プログラムの一例を示す。図３の機器制御記述例では設備の機能毎に「画像センサユニット」、「部品供給ユニット」、「ハンドユニット」、「半田ゴテユニット」のまとまりをそれぞれ関数とし、各関数には制御構文と、種別Ｎｏで示す各動作を実現するために必要な制御コマンドの呼び出しとが記述される。
【００２０】
図４に、機器制御記述手段１２の機器制御記述実装例を示す。図４の例は設備の機能を一つの関数として記述した機器制御プログラムであり、図３に示す「画像センサユニット」ファンクションの実装例である。この例では、「ＤＥＶＷＲＴ」で始まる値設定関数と、「ＤＥＶＲＥＡＤ」で始まる値取得関数を組み合わせて、種別Ｎｏ：１部品補正量算出の動作が記述されている。また、「ＤＥＶＷＲＴ」に続く「ＳＶ」が画像センサ２２を示し、「ＰＳ＿ＰＡＲＴＳ」は制御コマンドを呼び出すためのコマンドＩＤ、「ＰＡＲＡＭ１＿Ｓ」は画像センサ２２へ通知する値（パラメータ）である。
【００２１】
なお、画像センサユニットの動作は「部品補正量算出」の他、「基板補正量算出」、「半田溶融認識」、「半田検査」がある。図２の作業記述例では「半田溶融認識」等の動作は使用しないが、使用しない動作であっても機器制御プログラムに予め記述しておき、種別Ｎｏに応じて動作を切り換え可能にしておくことで、別のセル制御システムで再利用可能なものとなる。
【００２２】
制御コマンド記述手段１３の「制御コマンド層」には、設備固有の操作コマンドをセル制御装置１０から利用できるように、操作コマンドを示すコマンドＩＤと、その操作コマンドに必要なパラメータとの組み合わせで定義しておく。関数呼び出し実行手段１４で関数が呼び出されて実行されると、その関数に記述された制御コマンドが制御コマンド記述手段１３から呼び出されることになる。
【００２３】
図５に、制御コマンド層の制御コマンドの一例を示す。図５の制御コマンド例では、設備の例として温度調節器２０、ロボットコントローラ２１、画像センサ２２の制御コマンドを示す。なお、ロボットコントローラ２１は、例えばモータドライバといった設備デバイスを下位接続して、その動作を制御する。セル制御装置１０から各設備を制御するために、設備に値を設定する値設定関数「Ｗ」と設備から値を取得する値取得関数「Ｒ」のための２種類の制御コマンドがあり、各制御コマンドには「コマンドＩＤ」と「パラメータ」が設定されている。
【００２４】
図６に、制御コマンド記述手段１３の制御コマンド実装例を示す。図６の例は、図５に示す「画像センサ」のコマンドＩＤ「ＰＳ＿ＰＡＲＴＳ」と「ＰＳ＿ＧＥＴＸ」の制御コマンド実装例である。
【００２５】
制御コマンドは大きく分類して以下に示す種類がある。
（１）設備が持っているコマンドを上位層（即ちセル制御装置１０）に提供するもの
（２）設備が持っているコマンドを複数組み合わせて上位層（即ちセル制御装置１０）に提供するもの
（３）ロジック処理が実装されるもの
例えば、（１）は温度調節器２０から現在値ＰＶを取得する制御コマンド（例えばコマンドＩＤ：ＰＶ）等が該当する。（２）はロボットコントローラ２１が複数のモータに対して位置移動の制御コマンドを発行するようなポイント移動コマンドを用意する場合（例えばコマンドＩＤ：ＭＯＶＥＳ＿ｍ）等に該当する。（３）はモータの移動完了ステータスをポーリングするような移動完了検知コマンド（例えばコマンドＩＤ：ＢＵＳＹＷＴ＿ｍ）を用意する場合に該当する。
【００２６】
関数呼び出し実行手段１４は、作業記述手段１１の各作業工程を遷移種別に従って順に実行し、各作業工程において当該作業工程プログラムが呼び出す機器制御記述手段１２の機器制御プログラムの関数を処理する。また、関数呼び出し実行手段１４は、呼び出した関数に対する応答伝文（戻り値）が制御コマンド実行手段１５から入力されると、その関数を呼び出した作業工程の完了を検知して、次の作業工程に進む。関数呼び出し実行手段１４による作業工程の遷移制御は、従来のようなトークン制御を用いればよい。
【００２７】
なお、関数呼び出し実行手段１４は関数呼び出しをリモートプロシージャコール方式で行う。こうすることで、機器制御記述層（機器制御記述手段１２）の実装場所はセル制御装置１０内に限らず、セル制御装置１０とネットワーク接続している範囲であればよい。即ち作業記述層（作業記述手段１１）が実装されているノードと同一ノードに実装してもよいし、他のノード上でも良い。実装の自由度が上がるため、システム構築の際に負荷分散等が図りやすくなる。
【００２８】
制御コマンド実行手段１５は、関数呼び出し実行手段１４が関数を実行することにより制御コマンド記述手段１３から呼び出した制御コマンドを、設備に対応したコマンドフォーマットに変換して要求伝文として送出し、各設備に制御コマンドに対応する操作コマンドを実行させることにより、作業工程を実行させる。この制御コマンド実行手段１５は設備毎に用意するものとし、図１の例では温度調節器２０、ロボットコントローラ２１、画像センサ２２に対してそれぞれ制御コマンド実行手段１５を用意する。
また、制御コマンド実行手段１５は、設備からの応答伝文（戻り値）を受信して、関数呼び出し実行手段１４へ返却する。
【００２９】
次に、図７に示すフローチャートを用いて、セル制御システムの動作を説明する。
関数呼び出し実行手段１４は、ステップＳＴ１において作業記述手段１１からトークンが存在する作業工程を選択し、ステップＳＴ２において該作業工程からファンクション名、種別Ｎｏ、パラメータ等の情報を取得して、機器制御記述手段１２からファンクション名に対応する関数を呼び出し、種別Ｎｏに対応した処理を実行することによって制御コマンド記述手段１３から関数に記述された制御コマンドを呼び出す。例えば図２の作業工程２にトークンがある場合、関数呼び出し実行手段１４は機器制御記述手段１２から図４に示すような画像センサユニットファンクションの関数を呼び出し、種別Ｎｏ．１補正量算出の処理を行う。
【００３０】
続いて制御コマンド実行手段１５が、ステップＳＴ３において、関数呼び出し実行手段１４が制御コマンド記述手段１３から呼び出した制御コマンドを各設備に対応したコマンドフォーマットに変換し、ステップＳＴ４において該当する設備へ、関数呼び出しのされた順に要求伝文として送出する。
【００３１】
続いてステップＳＴ５において、温度調節器２０、ロボットコントローラ２１、画像センサ２２等の各設備が要求伝文に従って操作コマンドを実行し、応答伝文を送出する。続いて制御コマンド実行手段１５が、ステップＳＴ６において設備から応答伝文を受信し、ステップＳＴ７において応答伝文を関数呼び出し実行手段１４へ戻す。関数呼び出し実行手段１４が応答伝文を受け取って該作業工程の完了を検知し、ステップＳＴ８において遷移種別に従って次の作業工程へトークンを進め、処理を再びステップＳＴ１へ戻す。
【００３２】
このように上位層のプログラムから下位層のプログラムを呼び出す構成にすると共に設備とセル制御装置１０の間のインタフェースとなる制御コマンド層を設けたので、設備を追加したり変更したりする場合に各階層のプログラムの一部分を追加または変更するだけでよく、プログラムの再構築および再利用が容易にできる。また、３階層それぞれに分散して記述することで、作業の流れおよび機器の制御を効率よく構築することができ、プログラム作成の作業時間の短縮を図ると共に、プログラムの改訂をできるだけ少なくすることが可能となる。
【００３３】
以上より、実施の形態１によれば、制御対象となる複数の設備による一連の作業を、当該各設備固有の操作コマンドを実行させることにより行うセル制御装置１０を、設備固有の操作コマンドを制御して実行させる制御コマンドを記述して、制御コマンド層とする制御コマンド記述手段１３と、制御コマンド層から所定の制御コマンドを呼び出す機器制御プログラムを設備の機能毎に記述して、機器制御記述層とする機器制御記述手段１２と、複数の設備による一連の作業を、機器制御記述層から所定の機器制御プログラムを呼び出す作業工程プログラムの繋がりとして記述して、作業記述層とする作業記述手段１１と、作業記述層の作業工程プログラムを順に実行していき、各作業工程プログラムにおいて当該作業工程プログラムが呼び出す機器制御記述層の機器制御プログラムを処理する関数呼び出し実行手段１４と、関数呼び出し実行手段１４が処理した機器制御プログラムが呼び出す制御コマンド層の制御コマンドを処理して設備に出力し、設備に操作コマンドを実行させる制御コマンド実行手段１５とを備えるように構成した。このため、作業記述層では設備の詳細を意識することなく主に作業の流れを記述すればよいので、プログラムの構築が容易であると共に、設備が異なるセル制御システムでも再利用しやすい。また、機能制御記述層では多様な機能を実現するプログラムを予め記述しておき、機能に応じて呼び出すプログラムを切り換えるようにできるので、様々なセル制御システムで再利用可能になる。従って、制御対象となる設備を追加変更した場合でも、プログラムの再構築および再利用を容易に行うことのできるセル制御プログラム実行方法およびセル制御装置を提供することができる。
【００３４】
なお、制御コマンド実行手段１５に予め制御コマンドの優先順位を規定した情報を設定しておき、同一設備に対して複数の制御コマンドが呼び出された場合に、優先順位の高い制御コマンドの要求伝文から順に送出するように構成してもよい。この構成の場合には、優先順位の情報を定義しておくことで、設備に作業をスムーズに実行させることができる。また、セル制御システムに設備が追加されたり変更されたりした場合にも、この優先順位の情報を修正すればよいので、簡単に対応することができる。
【００３５】
また、セル制御装置１０をコンピュータで構成する場合、作業記述手段１１、機器制御記述手段１２、制御コマンド記述手段１３、関数呼び出し実行手段１４および制御コマンド実行手段１５の処理内容を記述しているセル制御プログラムをコンピュータのメモリに格納し、コンピュータのＣＰＵがメモリに格納されているセル制御プログラムを実行するようにしてもよい。
【符号の説明】
【００３６】
１０  セル制御装置
１１  作業記述手段
１２  機器制御記述手段
１３  制御コマンド記述手段
１４  関数呼び出し実行手段
１５  制御コマンド実行手段
２０  温度調節器
２１  ロボットコントローラ
２２  画像センサ
【図１】
2012014498.tif 000003
【図２】
2012014498.tif 000004
【図３】
2012014498.tif 000005
【図４】
2012014498.tif 000006
【図５】
2012014498.tif 000007
【図６】
2012014498.tif 000008
【図７】
2012014498.tif 000009