(57)【特許請求の範囲】
【請求項１】
それぞれ制御対象装置の異なる複数の制御装置からなる制御システムであって、
上位からの指示が入力される指示入力機能、
自己が制御する制御対象装置に対して指示を出力する動作指令出力機能、
自己が制御する制御対象装置の現在の状態を監視する状態監視機能、
一つの指示に対してその指示が達成されたことを上位の制御装置に送信する完了出力機能、
および上位から入力された指示を解釈し必要な処理を行って自己が制御する制御対象装置に対して指示を出力し、制御対象装置の現在の状態を監視して指示した状態に達したか否かを判断して、達していれば完了出力を上位の制御装置に出力する制御処理機能、
の５つの機能を持つ基本制御モデルを、前記複数の制御装置の全てにそれぞれ当てはめて前記複数の制御装置のそれぞれが同じ機能を持つようにして、前記基本制御モデルが階層構造となるように各制御装置を接続したことを特徴とする制御システム。
【請求項２】
前記各制御装置は、
前記基本制御モデルの指示入力機能となる、上位の制御装置から前記制御対象装置を動作させる指示が入力される指示入力手段と、
前記基本制御モデルの動作指令出力機能となる、前記制御対象装置に対する指令を出力する動作指令出力手段と、
前記基本制御モデルの状態監視機能となる、前記制御対象装置の現在の状態を受け取る状態監視手段と、
前記基本制御モデルの完了出力機能となる、上位の制御装置に対して、完了または未完了の信号を出力する出力手段と、
前記基本制御モデルの制御処理機能となる、前記状態監視手段が受けた前記制御対象装置の現在の状態から前記制御対象装置が前記指示入力手段から入力された指示の状態に達したか否かを判断して、達していない場合には前記出力手段から未完了を出力するとともに前記制御対象装置に対して入力された前記指示となるように前記動作指令出力手段から動作指令を出力し、入力された指示の状態に達している場合には前記完了出力手段から完了を出力する処理を行う制御処理手段と、
を有することを特徴とする請求項１記載の制御システム。
【請求項３】
前記制御処理手段は、前記制御対象装置が複数ある場合に、前記状態監視手段が受けた完了、未完了の信号を記憶するために、前記制御対象装置の数分の状態記憶領域を持つ記憶手段を有し、
前記状態記憶領域のすべての状態が完了となった場合に、上位の制御装置に完了を出力することを特徴とする請求項２記載の制御システム。
【請求項４】
それぞれ制御対象装置の異なる複数の制御装置からなる制御システムの構築方法であって、
上位からの指示が入力される指示入力機能、
自己が制御する制御対象装置に対して指示を出力する動作指令出力機能、
自己が制御する制御対象装置の現在の状態を監視する状態監視機能、
一つの指示に対してその指示が達成されたことを上位の制御装置に送信する完了出力機能、
および上位から入力された指示を解釈し必要な処理を行って自己が制御する制御対象装置に対して指示を出力し、制御対象装置の現在の状態を監視して指示した状態に達したか否かを判断して、達していれば完了出力を上位の制御装置に出力する制御処理機能の５つの機能を持つ基本制御モデルを用意し、前記基本制御モデルに各制御装置が待つ機能を当てはめて各制御装置の全てがそれぞれ同じ機能を持つように制御モデルを構築し、
前記制御モデルをそれぞれ接続することで前記各制御装置が接続された制御システムを構築することを特徴とする制御システムの構築方法。
【請求項５】
前記各制御装置ごとの制御モデルの構築は、
末端の制御装置の作業を抽出して、抽出した作業に基づいて末端の制御装置から、順次、上位の制御装置に対して前記基本制御モデルに当てはめて行くことを特徴とする請求項４記載の制御システムの構築方法。
【請求項６】
前記基本制御モデルは、前記各制御装置で事項されるプログラムを作成するための基本制御プログラムとして提供されており、
当該基本制御プログラムは、少なくとも上位、下位に対する信号入出力先アドレス、制御対象装置を動作させるために必要なプログラムの格納アドレスを有しており、
前記各制御装置ごとの制御モデルの構築は、前記基本制御プログラムの前記信号入出力先アドレスの変更、および前記プログラムの格納アドレスの変更により各制御装置ごとの制御プログラムを作成することにより行うことを特徴とする請求項４記載の制御システムの構築方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の制御装置が階層構造をなし、上位の制御装置が下位に位置する少なくとも一つの制御装置を制御する構造の制御システムおよび制御システムの構築方法に関する。
【０００２】
【従来の技術】
工場に設置されている産業用ロボットや様々な自動機械などを制御するために、非常に多くの情報がこれら設備機器の制御装置の間で送受信されている。
【０００３】
たとえば作業ステージの末端にあるロボットを制御するロボットコントローラ、複数のロボットからなる一つの作業ステージで行われる工程を制御するＰＬＣ（プログラマブルロジックコントローラ）、さらにこのＰＬＣが複数集まってできるラインを制御するラインコントローラ、そして、複数のラインを制御するためのホストコンピュータなどの間で、末端にあるロボットの状態を示す情報、各作業ステージ上での作業の流れ具合を示す情報などが、順次上位の制御装置（コントローラ）に伝達され、逆に、ホストコンピュータ内の生産計画に基づいて、順次作業指令が制御装置へ伝達されてゆく。
【０００４】
【発明が解決しようとする課題】
このような様々な制御装置間における情報のやり取りには、それぞれの制御装置ごとに異なることから、制御対象装置が異なるごとに専用の制御装置を設計する必要がある。たとえば、末端設備であるロボット、モータ、アクチュエータ、センサなどを制御するためには、それぞれの設備にあった制御装置を設計して、そのプログラムを開発し、さらに一つの作業ステージを制御するためには、前記の末端の制御装置ごとに異なる信号を受けつけ、またこれら末端の制御装置にそれぞれの制御装置ごとに異なる信号によって指示を出力する必要がある。
【０００５】
このため、設備の追加や変更があると、そのたびに新たに制御装置の設計や開発が必要で、ライン変更にともない多くの時間がかかるといった問題があった。
【０００６】
そこで本発明の目的は、様々な種類の異なる装置を共通の構成によって制御することができるようにする制御システムを提供することであり、また、このような制御システムの構築方法を提供することである。
【０００７】
【課題を解決するための手段】
本発明の目的は、以下の構成により達成される。
【０００８】
（１）それぞれ制御対象装置の異なる複数の制御装置からなる制御システムであって、上位からの指示が入力される指示入力機能、自己が制御する制御対象装置に対して指示を出力する動作指令出力機能、自己が制御する制御対象装置の現在の状態を監視する状態監視機能、一つの指示に対してその指示が達成されたことを上位の制御装置に送信する完了出力機能、および上位から入力された指示を解釈し必要な処理を行って自己が制御する制御対象装置に対して指示を出力し、制御対象装置の現在の状態を監視して指示した状態に達したか否かを判断して、達していれば完了出力を上位の制御装置に出力する制御処理機能の５つの機能を持つ基本制御モデルを、前記複数の制御装置の全てにそれぞれ当てはめて前記複数の制御装置のそれぞれが同じ機能を持つようにして、前記基本制御モデルが階層構造となるように各制御装置を接続したことを特徴とする。
【０００９】
（２）前記各制御装置は、前記基本制御モデルの指示入力機能となる、上位の制御装置から前記制御対象装置を動作させる指示が入力される指示入力手段と、前記基本制御モデルの動作指令出力機能となる、前記制御対象装置に対する指令を出力する動作指令出力手段と、前記基本制御モデルの状態監視機能となる、前記制御対象装置の現在の状態を受け取る状態監視手段と、前記基本制御モデルの完了出力機能となる、上位の制御装置に対して、完了または未完了の信号を出力する出力手段と、前記基本制御モデルの制御処理機能となる、前記状態監視手段が受けた前記制御対象装置の現在の状態から前記制御対象装置が前記指示入力手段から入力された指示の状態に達したか否かを判断して、達していない場合には前記出力手段から未完了を出力するとともに前記制御対象装置に対して入力された前記指示となるように前記動作指令出力手段から動作指令を出力し、入力された指示の状態に達している場合には前記完了出力手段から完了を出力する処理を行う制御処理手段と、を有することを特徴とする。
【００１０】
（３）前記制御処理手段は、前記制御対象装置が複数ある場合に、前記状態監視手段が受けた完了、未完了の信号を記憶するために、前記制御対象装置の数分の状態記憶領域を持つ記憶手段を有し、前記状態記憶領域のすべての状態が完了となった場合に、上位の制御装置に完了を出力することを特徴とする。
【００１１】
（４）それぞれ制御対象装置の異なる複数の制御装置からなる制御システムの構築方法であって、上位からの指示が入力される指示入力機能、自己が制御する制御対象装置に対して指示を出力する動作指令出力機能、自己が制御する制御対象装置の現在の状態を監視する状態監視機能、一つの指示に対してその指示が達成されたことを上位の制御装置に送信する完了出力機能、および上位から入力された指示を解釈し必要な処理を行って自己が制御する制御対象装置に対して指示を出力し、制御対象装置の現在の状態を監視して指示した状態に達したか否かを判断して、達していれば完了出力を上位の制御装置に出力する制御処理機能の５つの機能を持つ基本制御モデルを用意し、前記基本制御モデルに各制御装置が待つ機能を当てはめて各制御装置の全てがそれぞれ同じ機能を持つように制御モデルを構築し、前記制御モデルをそれぞれ接続することで前記各制御装置が接続された制御システムを構築することを特徴とする。
【００１２】
（５）前記各制御装置ごとの制御モデルの構築は、末端の制御装置の作業を抽出して、抽出した作業に基づいて末端の制御装置から、順次、上位の制御装置に対して前記基本制御モデルに当てはめて行くことを特徴とする。
【００１３】
（６）前記基本制御モデルは、前記各制御装置で事項されるプログラムを作成するための基本制御プログラムとして提供されており、当該基本制御プログラムは、少なくとも上位、下位に対する信号入出力先アドレス、制御対象装置を動作させるために必要なプログラムの格納アドレスを有しており、前記各制御装置ごとの制御モデルの構築は、前記基本制御プログラムの前記信号入出力先アドレスの変更、および前記プログラムの格納アドレスの変更により各制御装置ごとの制御プログラムを作成することにより行うことを特徴とする。
【００１５】
【発明の効果】
本発明は、請求項ごとに以下の効果を奏する。
【００１６】
請求項１記載の発明によれば、それぞれ制御対象装置の異なる複数の制御装置からなる制御システムであって、上位からの指示が入力される指示入力機能、自己が制御する制御対象装置に対して指示を出力する動作指令出力機能、自己が制御する制御対象装置の現在の状態を監視する状態監視機能、一つの指示に対してその指示が達成されたことを上位の制御装置に送信する完了出力機能、および上位から入力された指示を解釈し必要な処理を行って自己が制御する制御対象装置に対して指示を出力し、制御対象装置の現在の状態を監視して指示した状態に達したか否かを判断して、達していれば完了出力を上位の制御装置に出力する制御処理機能の５つの機能を持つ基本制御モデルを、前記複数の制御装置のそれぞれに当てはめて、前記基本制御モデルが階層構造となるように各制御装置を接続したので、従来、制御対象装置が異なることにより違っていた制御装置の各機能を簡単な構造に集約することが可能となり、従来、制御対象装置が異なることによって個別に必要となっていた制御装置の設計やプログラムとして汎用のものを使用ことができるようになる。
また、請求項２記載の発明によれば、異なる制御対象装置を制御する制御装置を、上位から指示を受ける指示入力手段と、制御対象装置に対する指令を出力する動作指令出力手段と、制御対象装置の現在の状態を受け取る状態監視手段と、上位の制御装置に対して完了または未完了の信号を出力する出力手段と、状態監視手段が受けた前記制御対象装置の現在の状態から前記制御対象装置が前記指示入力手段から入力された指示の状態に達したか否かを判断して、達していない場合には前記出力手段から未完了を出力するとともに前記制御対象装置に対して入力された前記指示となるように前記動作指令出力手段から動作指令を出力し、入力された指示の状態に達している場合には前記完了出力手段から完了を出力する処理を行う制御処理手段とから構成したので、従来、制御対象装置が異なることにより違っていた制御装置の各機能を簡単な構造に集約することが可能となり、従来、制御対象装置が異なることによって個別に必要となっていた制御装置の設計やプログラムとして汎用のものを使用ことができるようになる。
【００１７】
請求項３記載の発明によれば、制御対象装置が複数ある場合に、制御対象装置の数だけ状態記憶領域をもち、この状態記憶領域がすべて完了状態を示した場合にのみ上位の制御装置に完了を出力するようにしたので、一つの制御装置が複数の制御対象装置を制御する場合に、上位の制御装置が複数の制御対象装置を制御することが簡単にできるようになる。
【００１８】
請求項４記載の発明によれば、上位からの指示が入力される指示入力機能、自己が制御する制御対象装置に対して指示を出力する動作指令出力機能、自己が制御する制御対象装置の現在の状態を監視する状態監視機能、一つの指示に対してその指示が達成されたことを上位の制御装置に送信する完了出力機能、および上位から入力された指示を解釈し必要な処理を行って自己が制御する制御対象装置に対して指示を出力し、制御対象装置の現在の状態を監視して指示した状態に達したか否かを判断して、達していれば完了出力を上位の制御装置に出力する制御処理機能の５つの機能を持つ基本制御モデルを用意し、前記基本制御モデルに各制御装置が待つ機能を当てはめて各制御装置ごとの制御モデルを構築し、前記制御モデルをそれぞれ接続することで各制御装置が接続された制御システムを構築することとしたので、すべての作業工程における機器の制御や管理を、上位からの指示入力機能、制御対象装置に対して指示を出力する動作指令出力機能、制御対象装置の現在の状態を監視する状態監視機能、指示に対してその指示が達成されたことを上位に送信する完了出力機能、および制御処理を実行する制御処理機能にモデル化することで、簡潔な制御形態を作り出すことが可能となる。したがって、機能が異なる個々の制御装置ごとにプログラムを開発する必要がなくなるので、制御装置、ひいては制御システム全体の開発工期を大幅に短縮することができる。
【００１９】
請求項５記載の発明によれば、前記各制御装置ごとの制御モデルの構築は、末端の制御装置の作業を抽出して、抽出した作業に基づいて末端の制御装置から、順次、上位の制御装置に対して前記基本制御モデルに当てはめて行くこととしたので、基本制御モデルの各機能に、実際の具体的な機能を割り当てるだけで簡単に各制御モデルを構築することができる。
【００２０】
請求項６記載の発明によれば、前記基本制御モデルは、前記各制御装置で事項されるプログラムを作成するための基本制御プログラムとして提供されており、当該基本制御プログラムは、少なくとも上位、下位に対する信号入出力先アドレス、制御対象装置を動作させるために必要なプログラムの格納アドレスを有しており、前記各制御装置ごとの制御モデルの構築は、前記基本制御プログラムの前記信号入出力先アドレスの変更、および前記プログラムの格納アドレスの変更により各制御装置ごとの制御プログラムを作成することにより行うこととしたので、基本プログラムからの変更点は、上位、下位に対する信号入出力先のアドレスや制御対象装置を動作させるために必要なプログラムの格納アドレスの変更などに非常に少ない変更ですむ。
【００２３】
【発明の実施の形態】
以下添付した図面を参照して本発明の一実施の形態を説明する。
【００２４】
《基本制御モデル》
図１は、本発明を適用して、階層構造をなす制御システムにおいて用いられている一つひとつの制御装置の機能をモデル化する際の基本となる制御モデル（基本制御モデル）を示す機能ブロック図である。
【００２５】
基本制御モデル１は、あらゆる階層に位置する制御装置に必要な機能を５つの機能に集約したものであり、上位からの指示が入力される指示入力機能２、自己が制御する制御対象装置に対して指示を出力する動作指令出力機能３、自己が制御する制御対象装置の現在の状態を監視する状態監視機能４、一つの指示に対してその指示が達成されたことを上位の基本制御モデルに送信する完了出力機能５、および上位から入力された指示を解釈し必要な処理を行って、自己が制御する制御対象装置に対して指示を出力し、制御対象装置の現在の状態を監視して指示した状態に達したか否かを判断して、達していれば完了出力を上位の基本制御モデルに出力するなどの制御処理を実行するマネージャ（制御処理機能）６とからなる。
【００２６】
図２、この基本制御モデル１がツリー上の階層構造をなして接続された制御システムを示す図面である。
【００２７】
図において、上位に位置する基本制御モデル１に対して、その下位に同じ構成の基本制御モデル２１〜２ｎが接続されている。
【００２８】
上位の基本制御モデル１は、マネージャ６の処理により動作指令出力機能３から下位の基本制御モデル２１〜２ｎへそれぞれ動作指示を出力する。動作指示は、基本制御モデル２１〜２ｎの指示入力機能２に入力され、それぞれ入力された動作指示に従って動作し、動作完了によって基本制御モデル２１〜２ｎの完了出力機能６から完了信号が基本制御モデル１の状態監視機能４に入力される。
【００２９】
したがって、すべての基本制御モデルは、前述したように、指示入力、動作出力、状態監視、完了出力、およびマネージャ（制御処理）の５つの機能によって達成されることになる。
【００３０】
《具体例》
以下このような基本制御モデルを用いた具体的な制御装置について説明する。ここでは、自動車車体の組み立てラインを例に説明する。
【００３１】
一つの自動車車体の組み立てラインは、通常、階層構造の要であり、ライン全体を制御するためのライン制御装置、このライン制御装置からの指示によって、ラインを構成している各作業ステージにおける工程の運営を行うための工程運営制御装置、この工程運営制御装置によって、各作業ステージ上で実際に作業を行う様々な種類の設備機器や作業者などを管理するための設備管理制御装置、および各設備を個別に制御する設備制御装置よりなる。
【００３２】
したがって、これら各制御装置をモデル化する場合、一つの組み立てラインにおいて必要な制御モデルは、（１）ライン制御装置をモデル化したライン管理モデル、（２）工程運営制御装置をモデル化した工程運営モデル、（３）設備管理制御装置をモデル化した設備管理モデル、（４）設備制御装置をモデル化した設備制御モデルである。
【００３３】
このような各制御装置のモデル化を行うためには、まず、末端の作業をモデル化するために、どのような作業が行われているかを抽出する必要がある。
【００３４】
図３および図４は、末端の作業ステージにおける作業を抽出した例を示す図面である。
【００３５】
末端における作業は、大別すると２つに分かれる。第１に、ワークを所定の場所へ設置したり、溶接を行ったり、といったワークに対して直接行われる作業であり、第２に、ワークを作業ステージまで、あるいは、作業ステージ間を移動する搬送作業である。
【００３６】
この第１の作業において行われる仕事は、図３Ａに示するとおり、（１）他の工程とのインターロック（Ｉ／Ｌ）、（２）ワークの切り換え、（３）作業者に対する指示、（４）マッチング、（５）クランプ、（６）ロボットの起動、および（７）ロボットの移動である。これらの仕事が図示するタイムチャートのように行われる。そして、これらの仕事を行うために必要な装置としては、図３Ｂに示すように、インターロック処理装置、アクチュエータや３軸、１軸の数値制御工作装置（ＮＣ）、表示機やボタン、マッチング装置、およびロボットとなる。
【００３７】
第２の作業において行われる仕事は、図４Ａに示すとおり、（１）他の工程とのインターロック、（２）ロボットの起動、（３）ロボットの移動、（４）データ照合、（５）ハンドクランプ、（６）マッチング、および（７）データシフトである。これらの仕事が図示するタイムチャートのように行われる。そして、これらの仕事を行うために必要な装置としては、図４Ｂに示すように、インターロック処理装置、アクチュエータや３軸、１軸の数値制御工作装置（ＮＣ）、表示機やボタン、マッチング装置、およびロボットとなる。
【００３８】
これらの末端での仕事の内容およびその仕事を行うために使用される装置構成から、必要な制御は、（１）アクチュエータ制御、（２）作業者への指示（制御）、（３）データ照合、（４）ワークマッチング、（５）ロボット制御、（６）３軸ＮＣマシン制御、（７）１軸ＮＣマシン制御、（８）他の工程や設備とのインターロック制御、および（９）データシフトの９個となる。
【００３９】
これで末端において必要な制御機能が確定したので、これをもとに順次、最下層の制御モデルから最上層の制御モデルまで構築する。
【００４０】
図５は、上述した末端の制御モデルから順次上層の制御モデルを構築していった場合の階層構造をなす制御システムの一例を示す図面である。
【００４１】
この制御システムは、末端の設備を制御するために、設備の数だけ設備制御モデルが配置される。
【００４２】
ここで、ひとつの作業ステージにおいて行われる仕事は、前述したような９個の装置を制御することになるが、末端での制御装置は、個々の設備ごとに必要である。たとえば、ひとつの作業ステージには、複数のアクチュエータやロボットなどが存在するため、これらの設備には１対１で対応する制御装置（コントローラ）が存在する。
【００４３】
そこで、末端の設備制御モデルとしては、アクチュエータを制御するためのアクチュエータ制御モデル１０１および１０２、個々の作業者に指示を与えるため作業者制御モデル１０３、１０４、データ照合装置を制御するためのデータ照合制御モデル１０５、ワークマッチング装置を制御するためのワークマッチング制御モデル１０６、個々のロボットを制御するためのロボット制御モデル１０７、１０８、個々の３軸ＮＣマシンを制御するための３軸ＮＣマシン制御モデル１０９、１１０、個々の１軸ＮＣマシンを制御するための１軸ＮＣ制御モデル１１１、１１２、各設備間のインターロック処理を行うためのインターロック制御モデル１１３、およびデータシフトを行うデータシフト制御モデル１１４が備えられる。
【００４４】
なお、上記のデータ照合装置、ワークマッチング装置、インターロック装置、およびデータシフト装置は、通常、一つの作業ステージに一つであるが、他の設備や装置に関しては、図示する場合には２つずつ示した。しかし、当然にこれらの設備や装置はさらに複数の場合にあるし、逆に一つの場合もあり、そのような場合には、各設備や装置などの制御対象装置の数だけ設備制御モデルが存在することになる。
【００４５】
そして、各設備制御モデルは、いずれも制御対象装置が異なることによる制御動作が異なるものの、すべて前述した基本制御モデル１（図１参照）の機能によって構成されている。
【００４６】
これで末端の設備や装置を制御するための各設備制御モデルの構成ができあがるので、次に、これら各制御モデルの上層に各制御モデルを制御するための設備管理モデルを構築する。
【００４７】
設備管理モデルは、前記末端の設備や装置を制御している各設備制御モデルを制御するものである。このため、上述したように制御対象装置となる設備や装置の種類数分必要となる。
【００４８】
したがって、アクチュエータ制御モデル１０１、１０２を管理するための一つのアクチュエータ管理モデル２０１、作業者制御モデル１０３、１０４を管理するための作業者管理モデル２０２、データ照合制御モデル１０５を管理するためのデータ照合管理モデル２０３、ワークマッチング制御モデル１０６を管理するためのワークマッチング管理モデル２０４、ロボット制御モデル１０７、１０８を管理するためのロボット管理モデル２０５、３軸ＮＣ制御モデル１０９、１１０を管理するための３軸ＮＣ管理モデル２０６、１軸ＮＣ制御モデル１１１、１１２を管理するための１軸ＮＣ管理モデル２０７、インターロック制御モデル１１３を管理するためのインターロック管理モデル２０８、およびデータシフト制御モデル１１４を管理するためのデータシフト管理モデル２０９となる。
【００４９】
これら各管理モデルも、上述した基本制御モデル１の機能によって構成されている。
【００５０】
次に、これら各設備管理モデルの上層には、各設備管理モデルを総合的に制御して、ひとつの作業ステージとして指示された工程としての仕事を遂行するための工程運営モデル３０１、３０２が構築される。この工程運営モデル３０１、３０２も上述した基本制御モデル１の機能によって構成されている。
【００５１】
そして、各工程運営モデル３０１、３０２は、一つのラインとして、ライン管理モデル４０１によって管理される。ライン管理モデル４０１も上述した基本制御モデル１の機能によって構成されている。
【００５２】
このようにしてすべての制御装置がモデル化されたライン制御システムが完成する。
【００５３】
図６は、階層構造のなかの具体的な各制御モデルが、前述した基本制御モデル１の各機能にどのように対応しているかを示す図表である。各制御モデルでは、この図表に従って、基本制御モデル１の各機能２〜６に、実際の具体的な機能を割り当てるだけで簡単に各制御モデルを構築することができる。
【００５４】
以下、各制御モデルについて説明する。
【００５５】
末端の設備の制御モデルでは、たとえばアクチュエータ制御モデルを図７に示す。ここでは、一つのアクチュエータ制御モデルが１台のアクチュエータを制御する場合について説明する。なお、一つアクチュエータ制御モデルが複数のアクチュエータを制御する場合もある。
【００５６】
アクチュエータの制御においては、上位からの指示は、「出なさい／戻りなさい」であり、これがアクチュエータ制御ソフトに入力される。この「出なさい／戻りなさい」の指示を受けるのが、基本制御モデル１における指令入力機能２であり、アクチュエータ制御ソフト１１は基本制御モデルにおけるマネージャ６である。
【００５７】
入力された指示に対して、アクチュエータ制御ソフト１１では、現在のアクチュエータの状態から、入力された指示が完了しているか否かを判断して、完了していなければ、指示どおりにアクチュエータが動作するように「出」または「戻り」の指令をアクチュエータに対して出力するとともに、上位の制御モデルに対して未完了を送信する。ここで「出」または「戻り」の指令を出力するのは、基本制御モデル１における動作指令機能３であり、現在のアクチュエータの状態は、基本制御モデル１における状態監視機能４への入力によって監視される。
【００５８】
一方、入力された指示に対して、現在のアクチュエータの状態が指示どおりであれば、完了を上位の制御モデルへ送信する。
【００５９】
ここで完了、未完了を送信するのは、基本制御モデル１における完了出力機能５であり、出力される信号は、完了を「１」、未完了を「０」としている。
【００６０】
次に、このアクチュエータ制御モデルを複数制御するためのアクチュエータ管理モデルについて説明する。
【００６１】
図８はアクチュエータ管理モデルの構成を示す図面である。
【００６２】
アクチュエータ管理モデルは、複数のアクチュエータ制御モデルを管理することで、複数のアクチュエータを動作させる。このために必要な動作パラメータを指示入力として受け取る。動作パラメータは、１ステップの動作として複数のアクチュエータの動作を指示するもので、その動作に必要なプログラムの番号と作業の段階ごとに実際に実行するステップ番号である。
【００６３】
動作パラメータが入力されたアクチュエータ管理モデルでは、アクチュエータ管理ソフト１２が、各アクチュエータ制御モデルからの完了出力状態を監視し、動作パラメータによって指示された状態になっていないアクチュエータ制御モデルに対し、「出なさい／戻りなさい」の指令を出力する。動作指令は、基本制御モデル１における動作指令機能３によって行われ、現在のアクチュエータ制御モデルからの状態は、基本制御モデル１における状態監視機能４への入力によって監視される。
【００６４】
ここで、状態監視は、アクチュエータ管理モデルにおいては、複数のアクチュエータ制御モデルを管理しているため、入力される完了信号はひとつではない。そこで、アクチュエータ管理モデルでは、下位の状態監視のために複数のアクチュエータ分のビット枠を有するレジスタ１２ａを用意し、このレジスタに、アクチュエータ制御モデルからの信号を格納する。ここで、完了を示す信号は前述のとおり、「１」であり、未完了は「０」であるので、レジスタ１２ａにもこのとおり格納する。
【００６５】
アクチュエータ管理ソフト１２は、このレジスタ内がすべて「１」になった場合に、指示された動作パラメータどおりの動作が完了したものとして上位の制御モデルに対して、完了を通知する。完了通知は、基本制御モデル１における完了出力機能５からの出力に相当する。一方、レジスタ１２ａのすべてのビットが１にならなければ、未完了を通知する。ここでも完了未完了は、「１」、「０」によって通知される。なお、レジスタ１２ａのビット枠は管理しているアクチュエータ制御モデルの数に等しいものとする。したがって、たとえば２つのアクチュエータ制御モデルの場合には、レジスタ１２ａのビット枠は、２であり、これが両方とも「１」になれば動作完了であり、いずれか一つでも「０」がある場合には未完了ということになる。
【００６６】
このように、複数のアクチュエータ制御モデルからの完了、未完了をレジスタによって管理することで、あとから、制御対象装置となるアクチュエータ制御モデルが増えた場合でも使用するレジスタのビット枠を増やすだけで、容易に設備の増加に対応することができる。
【００６７】
次に、他の例として、作業者制御モデルを説明する。
【００６８】
図９は、作業者制御モデルの構成を示す図面である。
【００６９】
作業者制御モデルも基本制御モデル１の各機能のとおり動作し、作業者に対する作業の有り／無しが指示として入力され、マネージャに相当する作業者制御ソフト１３が指示された作業が完了しているか否かを判断して、完了していなければ、作業者に対し指示を指令するとともに上位の制御モデルへ未完了を通知し、一方、作業が完了している場合には完了を通知する。なお、作業者への指令は、たとえばランプ表示やディスプレイ表示などによって行われ、一方、作業完了は、作業者がパームボタンなどを押すことによって入力される。
【００７０】
図１０は、作業者制御モデルを複数管理している作業者管理モデルの構成を示す図面である。作業者管理モデルも、基本制御モデル１の各機能のとおり動作し、複数の作業者に対する作業が動作パラメータとして入力され、マネージャに相当する作業者管理ソフト１４がすべての作業者制御モデルおいて指示された作業が完了しているか否かを判断して、完了していなければ、完了していない作業者制御モデルに対し指示を指令するとともに、上位の制御モデルへ未完了を通知し、一方、作業がすべて完了している場合には完了を通知する。なお、下位の状態監視は、アクチュエータ管理モデルと同様に、管理している作業者制御モデルの数のビット枠を有するレジスタ１４ａによって行われる。
【００７１】
以上のように末端での制御モデルと管理モデルについて、アクチュエータの制御と、作業者への指示制御について説明したが、その他末端の制御モデルであるデータ照合制御モデル１０５、ワークマッチング制御モデル１０６、ロボット制御モデル１０７、１０８、３軸ＮＣマシン制御モデル１０９、１１０、１軸ＮＣ制御モデル１１１、１１２、インターロック制御モデル１１３、およびデータシフト制御モデル１１４についても、上述したアクチュエータ制御モデルや作業者制御モデルと同様に機能する。また、データ照合管理モデル２０３、ワークマッチング管理モデル２０４、ロボット管理モデル２０５、３軸ＮＣ管理モデル２０６、１軸ＮＣ管理モデル２０７、インターロック管理モデル、データシフト管理モデル２０９についても、上述したアクチュエータ管理モデルや作業者管理モデルと同様に機能する。
【００７２】
次に、一つの作業ステージ内の各管理モデルを制御する工程運営モデルの機能について説明する。
【００７３】
図１１は、工程運営モデルの構成を示す図面である。
【００７４】
工程運営モデルも基本制御モデル１の各機能のとおり動作する。まず、作業を行うワークに関する情報がワーク種として入力される。マネージャに相当する作業制御ソフト１５は、各管理モデルの状態監視情報により、各管理モデルに指令した動作パラメータどおりの作業が完了したか否かを判断して、完了していなければ、完了していない管理モデルに対し、入力されたワーク種に必要な作業を行わせるための動作パラメータを出力するとともに、上位の制御モデルへ未完了を通知する。一方、すべて完了している場合には上位の制御モデルへ完了を通知する。
【００７５】
下位の状態監視は、制御対象となっている下位の管理モデルの数だけビット枠を有するレジスタ１５ａによって行われる。したがって、一つの作業ステージ内における設備や装置の増減により、管理モデルが増減した場合には、レジスタ１５ａの使用するビット枠を増減ずるだけで、簡単に対応することができる。
【００７６】
なお、動作パラメータは、入力されたワーク種に対して必要な作業を実行されるための作業ステップごとに出力される。
【００７７】
なお、作業ステージ管理モデルにおいて、作業制御ソフト１５は、どのワークにどのような作業を行うかを管理するカテゴリ管理機能、ワークごとにどのプログラムを実行するかを管理するプログラム管理機能、およびワークごとに、どの段階の作業を指示するかを管理するステップ管理機能があるが、これらの具体的な処理手順については後述する。
【００７８】
次に、最上位に位置するライン管理モデルについて説明する。
【００７９】
図１２は、ライン管理モデルの構成を示す図面である。
【００８０】
ライン管理モデルも基本制御モデル１の各機能のとおり動作するが、ライン管理モデルは最上位に位置するために、これよりも上位には制御モデルが存在しない。そこで、上位からの入力としては、ラインを動作させるための運転指示が入力されことになり、この運転指示に入力によって、上位への出力として「ライン運転入り＝１」が出力される。この動作は、ライン管理モデルより下位に位置する各制御モデルの動作とは異なる点である。
【００８１】
ライン管理モデルのその他の動作は、ライン運転の指示が入力されることにより、マネージャに相当するライン管理ソフト１６が、各工程運営モデルの状態を監視した情報により、各作業ステージにおいて指示どおりの作業が完了したか否かを判断して、完了していなければ、完了していない工程運営モデルに対し、作業を行うワーク種を出力する。一方、すべての作業ステージにおいて作業完了が入力されると、ライン管理ソフト１６は、次に作業を行うワーク種を各工程運営モデルに対して出力する。
【００８２】
なお、下位の状態監視は、制御対象装置となっている工程運営モデルの数だけビット枠を有するレジスタ１６ａによって行われ、ライン管理ソフト１６は、このレジスタ１６ａが、すべてが１になった段階で、正常にラインが動作するものとして、下位の工程運営モデルに対して運転指令を出力する。したがって、一つのラインにおいて、作業ステージが増減した場合には、レジスタ１６ａの使用するビット枠を増減ずるだけで、簡単に対応することができる。
【００８３】
このような各制御モデルは、各制御装置として提供されるコンピュータが、後述する処理手順に従って作成されたプログラムを実行することにより実現される。
【００８４】
ここで、各制御装置となるコンピュータ、あるいはＰＬＣ（プログラマブルロジックコントローラ）は、たとえばライン管理モデルであれば、ホストコンピュータなどと称される場合もあり、あるいはワークステーションやパソコンなどと称されているコンピュータによって構築されている。また、工程運営モデル以下の各制御モデルについては、ワークステーションやパソコンなどと称されているコンピュータ、あるいはＰＬＣなどである。
【００８５】
これらの各コンピュータは、それぞれのハードウエア構成によって使用するプログラムの開発言語が異なる場合があるが、各プログラムは、後述する処理手順に沿って作成されるものである。また、作成されたプログラムは、様々な記憶媒体、たとえば、磁気記憶媒体、光磁気記憶媒体、光記憶媒体などであり、さらには、サーバコンピュータ内にプログラムを記憶しておき、通信回線により各制御装置となるコンピュータにて提供されてもよい。
【００８６】
以下、各制御モデルにおいて上述した動作を実行するための処理手順を説明する。
【００８７】
まず、図１３は、最も基本となる基本制御モデル１の処理手順を示すフローチャートである。
【００８８】
まず、上位からの指示入力を受け（Ｓ１）、下位の状態を監視し（Ｓ２）、指示と状態を比較して（Ｓ３）、指示と状態が異なる場合には、未完了を出力して（Ｓ４）、下位の制御指令を出力する（Ｓ５）。一方、指示と状態が同じ場合には、完了を出力して（Ｓ６）、処理を終了する。
【００８９】
この基本手順を元にして作成した具体的な各制御モデルを動作させるための基本処理手順を図１４に示す。なお、図において、（１）〜（５）はループ区間を示すものである（以下、各図において同様である）。
【００９０】
まず、制御対象装置を動作させるために必要なプログラムを示すプログラム情報の先頭アドレスの入手（Ｓ１１）、入手したプログラムにおける実行するステップ情報の先頭アドレスの入手（Ｓ１２）、制御対象装置である機器情報の先頭アドレスの入手（Ｓ１３）、当該機器のステータス情報の先頭アドレスの入手（Ｓ１４）、当該機器の動作情報の先頭アドレスの入手（Ｓ１５）が行われる。なお、制御対象装置を動作させるために必要なプログラムは、制御対象となる装置を制御している制御モデル内のメモリに常駐させておいてもよいし、あるいは他の制御モデル、たとえば上位の制御モデル内、または制御モデル外のサーバ機能を有するコンピュータ内に常駐させておき、そこから読み出すようにしてもよい。このような他の制御モデルやサーバ内に当該プログラムがある場合は、ステップＳ２２におけるプログラム情報の先頭アドレスは、これら他の制御モデルやサーバ内のメモリ（ハードディスクなどの外部記憶装置を含む）の当該プログラムが記憶されている領域のアドレスとなる。
【００９１】
続いて、下位機器のモジュール数分のループｉを設定し（Ｓ２１）、モジュールごとのパラメータとして機器の個数を入手する（Ｓ２２）。このモジュールごとのパラメータとして機器の個数は、制御対象装置としての機器数が決まっているのであらかじめ入力しておいてもよい。
【００９２】
続いて、ｉ個目のモジュールが使用されているか否かをチェックし（Ｓ２３）、使用されていれば、ｉ個目のモジュールに対するプログラム番号およびステップ番号から動作情報（上位からの指示）を入手する（Ｓ２４）。
【００９３】
続いて、ｉ個目のモジュールの中の機器数分のループｊを設定し（Ｓ２５）、入手した動作情報から、同じく入手したプログラム内のステップにおいて、ｊ個目の機器が使用されているかをチェックして（Ｓ２６）、ｊ個目の機器に対応するレジスタ枠の値から現在の状態を認識し（Ｓ２７）。
【００９４】
そして、指示と認識した状態が同じかチェックし（Ｓ２８）、同じであれば上位の制御モデルへ完了を出力する（Ｓ２９）。このとき、完了出力は上位の制御モデル内のレジスタの枠として指定されているアドレスに書き込むことにより行われる。
【００９５】
一方、同じでなければ（Ｓ３０）、上位の制御モデルへ未完了を出力し（Ｓ３１）、ｊ個目の制御対象装置に対する指示を出力する（Ｓ３２）。未完了の出力も上位の制御モデル内のレジスタの枠として指定されているアドレスに書き込むことにより行われる。
【００９６】
ステップＳ２６において、ｊ個目の機器が使用されていない場合（Ｓ３３）は、完了を出力する（Ｓ３４）。そして、ｊをインクリメントし（Ｓ３６）、ステップＳ２６へ戻り、機器のループｊがすべて終了するまで（Ｓ３６）繰り返す。
【００９７】
また、ステップＳ２３において、ｉ個目のモジュールが使用されていない場合（Ｓ３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ３８）。
【００９８】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ４０）、制御対象装置情報アドレスのインクリメント（１モジュール分）（Ｓ４１）、制御対象装置のステータスアドレスのインクリメント（１モジュール分）（Ｓ４２）、および制御対象装置の動作情報アドレスのインクリメント（１モジュール分）（Ｓ４３）を行って、モジュール数のループが終了（Ｓ４４）するまで、ステップＳ２１へ戻り繰り返し処理を実行する。
【００９９】
この汎用の基本処理手順を元に作成した各制御モデルの具体的な処理手順についてさらに説明する。
【０１００】
図１５は、アクチュエータ制御モデルの処理手順を示す図面である。
【０１０１】
この制御では、１台のアクチュエータ制御モデルにより複数のアクチュエータを制御している場合である。この場合、さらに複数のアクチュエータが一つのモジュールを構成し、一つのモジュール内に複数台のアクチュエータがある。
【０１０２】
まず、アクチュエータを動作させるためのプログラムを実行するために、このプログラムが格納されているメモリ内における当該プログラム格納領域の先頭アドレスの入手（Ｓ１１１）、この段階で実行するステップの先頭アドレスの入手（Ｓ１１２）、制御対象装置であるアクチュエータ機器情報の先頭アドレスの入手（Ｓ１１３）、制御対象装置のステータス情報の先頭アドレスの入手（Ｓ１１４）、制御対象装置の動作情報の先頭アドレスの入手（Ｓ１１５）が行われる。
【０１０３】
続いて、制御対象装置となっているモジュール数分のループｉを設定し（Ｓ１２１）、モジュールごとのパラメータとしてアクチュエータ個数を入手する（Ｓ１２２）。
【０１０４】
続いて、ｉ個目のモジュールが入手したプログラムのステップにおいて使用されるか否かをチェックし（Ｓ１２３）、使用される場合はｉ個目のモジュールに対するプログラム番号およびステップ番号から、このｉ個目のモジュールのアクチュエータを動作されるための情報（指示）を上位の制御モデル（ここではアクチュエータ管理モデル）から入手する（Ｓ１２４）。
【０１０５】
続いて、ｉ個目のモジュール内のアクチュエータの数だけループｊを設定し（Ｓ１２５）、入手した動作情報から、同じく入手したプログラム内のステップにおいて、ｊ個目のアクチュエータが使用されているかをチェックして（Ｓ１２６）、使用されていればｊ個目のアクチュエータの状態をチェックし（Ｓ１２７）。このｊ個目のアクチュエータに対して指示があるか否かをチェックする（Ｓ１２８）。
【０１０６】
そして、ｊ個目のアクチュエータに対する指示と認識した状態が同じかチェックし（Ｓ１２９）、同じであれば完了を出力する（Ｓ１２９）。一方、同じでなければ（Ｓ１３０）、未完了を出力するとともに（Ｓ１３１）、ｊ個目のアクチュエータに対する指示を出力する（Ｓ１３２）。
【０１０７】
ステップＳ１２６において、ｊ個目のアクチュエータが使用されていない場合（Ｓ１３３）は完了を出力する（Ｓ１３４）。そして、ｊをインクリメントし（Ｓ１３６）、ステップＳ１２６へ戻り、ループｊがすべて終了するまで（Ｓ１３６）繰り返す。
【０１０８】
またステップＳ１２３において、ｉ個目のモジュールが使用されていない場合（Ｓ１３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ１３８）。
【０１０９】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ１３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ１４０）、アタ情報アドレスのインクリメント（１モジュール分）（Ｓ１４１）、アクチュエータのステータスアドレスのインクリメント（１モジュール分）（Ｓ１４２）、およびアクチュエータの動作情報アドレスのインクリメント（１モジュール分）（Ｓ１４３）を行って、モジュール数のループが終了（Ｓ１４４）するまで、ステップＳ１２１へ戻り繰り返し処理を実行する。
【０１１０】
次に、作業者制御モデルについて説明する。
【０１１１】
図１６は、作業者制御モデルの処理手順を示す図面である。ここでも、一つの作業者制御モデルが複数の作業者を制御する場合について説明する。制御対象装置となる作業者は、複数の作業者の集合を一つのモジュールとし、このモジュールが複数個集まったものを制御対象装置とするものである。
【０１１２】
まず、作業者に行わせる作業を指示するためのプログラムを実行するために、このプログラムが格納されているメモリ内における当該プログラム格納領域の先頭アドレスの入手（Ｓ２１１）、この段階で実行するステップの先頭アドレスの入手（Ｓ２１２）、制御対象装置である作業者が使用する機器情報の先頭アドレスの入手（Ｓ２１３）、作業者のステータス情報の先頭アドレスの入手（Ｓ２１４）、制御対象装置の動作情報の先頭アドレスの入手（Ｓ２１５）が行われる。
【０１１３】
続いて、制御対象装置となっているモジュール数分のループｉを設定し（Ｓ２２１）、モジュールごとのパラメータとして作業者の人数を入手する（Ｓ２２２）。
【０１１４】
続いて、ｉ個目のモジュールが入手したプログラムのステップにおいて使用されるか否かをチェックし（Ｓ２２３）、使用される場合はｉ個目のモジュールに対するプログラム番号およびステップ番号から、このｉ個目のモジュールの作業者を動作されるための情報（指示）を上位の制御モデル（ここでは作業者管理モデル）から入手する（Ｓ２２４）。
【０１１５】
続いて、ｉ個目のモジュール内の作業者の数だけループｊを設定し（Ｓ２２５）、入手した動作情報から、同じく入手したプログラム内のステップにおいて、ｊ個目の作業者が使用されているかをチェックして（Ｓ２２６）、使用されていればｊ個目の作業者の状態をチェックし（Ｓ２２７）。このｊ個目の作業者に対して指示があるか否かをチェックする（Ｓ２２８）。
【０１１６】
そして、ｊ個目の作業者に対する指示と認識した状態が同じかチェックし（Ｓ２２９）、同じであれば完了を出力する（Ｓ２２９）。一方、同じでなければ（Ｓ２３０）、未完了を出力するとともに（Ｓ２３１）、ｊ個目の作業者に対する指示を出力する（Ｓ２３２）。
【０１１７】
ステップＳ２２６において、ｊ個目の作業者が使用されていない場合（Ｓ２３３）は完了を出力する（Ｓ２３４）。そして、ｊをインクリメントし（Ｓ２３６）、ステップＳ２２６へ戻り、ループｊがすべて終了するまで（Ｓ２３６）繰り返す。
【０１１８】
またステップＳ２２３において、ｉ個目のモジュールが使用されていない場合（Ｓ２３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ２３８）。
【０１１９】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ２３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ２４０）、作業者が使用する機器情報アドレスのインクリメント（１モジュール分）（Ｓ２４１）、作業者が使用する機器のステータスアドレスのインクリメント（１モジュール分）（Ｓ２４２）、および作業者が使用する機器の動作情報アドレスのインクリメント（１モジュール分）（Ｓ２４３）を行って、モジュール数のループが終了（Ｓ２４４）するまで、ステップＳ２２１へ戻り繰り返し処理を実行する。
【０１２０】
次に、データ照合制御モデルについて説明する。
【０１２１】
図１７は、データ照合制御モデルの処理手順を示す図面である。ここでも、一つのデータ照合制御モデルが複数のデータ照合装置を制御する場合について説明するが、データ照合は、一つひとつ独立しているため、複数個集まるということはない。したがって、制御対象装置となるデータ照合装置は、１モジュールで一つのデータ照合である。
【０１２２】
まず、データ照合装置に行わせる作業を指示するためのプログラムを実行するために、このプログラムが格納されているメモリ内における当該プログラム格納領域の先頭アドレスの入手（Ｓ３１１）、この段階で実行するステップの先頭アドレスの入手（Ｓ３１２）、データ照合を行うワーク情報の先頭アドレスの入手（Ｓ３１３）、データ照合を行うステータス情報の先頭アドレスの入手（Ｓ３１４）、データ照合の動作情報の先頭アドレスの入手（Ｓ３１５）が行われる。
【０１２３】
続いて、モジュール数分のループｉを設定し（Ｓ３２１）、モジュールごとのパラメータとしてデータ照合数を入手する（Ｓ３２２）。
【０１２４】
続いて、ｉ個目のモジュールが入手したプログラムのステップにおいて使用されるか否かをチェックし（Ｓ３２３）、使用される場合はｉ個目のモジュールに対するプログラム番号およびステップ番号から、このｉ個目のモジュールのデータ照合を実行するための情報（指示）を上位の制御モデル（ここではデータ照合管理モデル）から入手する（Ｓ３２４）。
【０１２５】
ここで、一つのモジュールは１個のデータ照合に対応しているため、基本処理手順におけるループｊの設定およびそのループはない。
【０１２６】
したがって、次に入手した動作情報から、同じく入手したプログラム内のステップにおいて、ｉ個目のデータ照合があるかをチェックして（Ｓ３２６）、使用されていればｉ個目のデータを照合して、その状態をチェックし（Ｓ３２７）。指示と認識した状態が同じか否かチェックし（Ｓ３２８）、同じであれば完了を出力する（Ｓ３２９）。一方、同じでなければ（Ｓ３３０）、未完了を出力するとともに（Ｓ３３１）、ｉ個目のデータ照合が以上である旨を出力してこれを修正するように指示を出力する（Ｓ３３２）。
【０１２７】
ステップＳ３２６において、ｉ個目のデータ照合が使用されていない場合（Ｓ３３３）は完了を出力する（Ｓ３３４）。
【０１２８】
またステップＳ３２３において、ｉ個目のモジュールが使用されていない場合（Ｓ３３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ３３８）。
【０１２９】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ３３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ３４０）、データ照合を行うワーク情報のアドレスのインクリメント（１モジュール分）（Ｓ３４１）、データ照合のステータスアドレスのインクリメント（１モジュール分）（Ｓ３４２）、およびデータ照合の動作情報アドレスのインクリメント（１モジュール分）（Ｓ３４３）を行って、モジュール数のループが終了（Ｓ３４４）するまで、ステップＳ３２１へ戻り繰り返し処理を実行する。
【０１３０】
以上基本処理手順を元にして作成された末端の制御モデルである、アクチュエータ制御モデル、作業者制御モデル、およびデータ照合制御モデルの処理手順を説明したが、その他の末端の制御モデルである、ワークマッチング制御モデル１０６、ロボット制御モデル１０７、１０８、３軸ＮＣマシン制御モデル１０９、１１０、１軸ＮＣ制御モデル１１１、１１２、インターロック制御モデル１１３、およびデータシフト制御モデル１１４についても、同様に基本処理手順から具体的な処理手順が作成されることになる。
【０１３１】
図１８〜２２に、ロボット制御モデル１０７、１０８、３軸ＮＣマシン制御モデル１０９、１１０、１軸ＮＣ制御モデル１１１、１１２、インターロック制御モデル１１３、およびデータシフト制御モデル１１４についての処理手順を示すが、これらの処理手順については、制御対象装置となる機器や装置が、それぞれロボット、３軸ＮＣマシン、１軸ＮＣマシン、インターロック装置、データシフト装置などとなるだけであり、前記した各具体的な制御モデルの処理手順の説明と同様であるのでそれらの説明は省略する。なお、ワークマッチング装置はデータ照合制御モデルと同じでよいので、図示省略した。また、各処理手順において、空白の行については、前記したデータ照合制御モデルの場合と同様に、その制御モデルにおいて、基本処理手順の処理ステップから実行する必要のないステップである。
【０１３２】
次に、末端の設備制御モデルを管理している設備管理モデルの処理手順について説明する。
【０１３３】
図２３は、アクチュエータ管理モデルの処理手順を示す図面である。一つのアクチュエータ管理モデルは、複数のアクチュエータ制御モデルを管理している。そして、一つのアクチュエータ制御モデルを１モジュールとする。
【０１３４】
まず、複数のアクチュエータに行わせる作業を指示するためのプログラムを実行するために、このプログラムが格納されているメモリ内における当該プログラム格納領域の先頭アドレスの入手（Ｓ１１１１）、この段階で実行するステップの先頭アドレスの入手（Ｓ１１１２）、アクチュエータ制御モデルのステータス情報の先頭アドレスの入手（Ｓ１１１４）が行われる。ここでアクチュエータ管理モデルは、直接末端の設備や装置を制御するものではないためこれらに関する情報、すなわち、基本処理手順にある制御対象装置である機器情報の先頭アドレスの入手、および制御対象装置の動作情報の先頭アドレスの入手は不要である。
【０１３５】
続いて、制御対象装置となっているモジュール数分のループｉを設定する（Ｓ１１２１）。このとき設定するループ数ｉは、管理しているアクチュエータ制御モデルの数である。
【０１３６】
続いて、ｉ個目のモジュールが入手したプログラムのステップにおいて使用されるか否かをチェックし（Ｓ１１２３）、使用される場合はｉ個目のモジュールに対するプログラム番号およびステップ番号を上位の制御モデル（ここでは工程運営モデル）から入手する（Ｓ１１２４）。
【０１３７】
ここで、一つのモジュールは１個のアクチュエータ制御モデルに対応するため基本処理手順におけるループｊの設定およびそのループはない。
【０１３８】
続いて、すべてのアクチュエータ制御モデルの状態をチェックし（Ｓ１１２７）、続けて、すべてのアクチュエータに対し入手したプログラム番号のステップ番号における指示を出力する（Ｓ１１２７ａ）。
【０１３９】
そして、すべてのアクチュエータ制御モデルから、アクチュエータの動作が完了したか否かをチェックし（Ｓ１１２８）、動作が完了していれば完了を出力する（Ｓ１１２９）。一方、すべてのアクチュエータの動作が完了していなければ（Ｓ１１３０）、未完了を出力する（Ｓ１１３１）。
【０１４０】
またステップＳ１１２３において、ｉ個目のモジュールが使用されていない場合（Ｓ１１３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ１１３８）。
【０１４１】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ１１３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ１１４０）、およびアクチュエータ制御モデルのステータスアドレスのインクリメント（１モジュール分）（Ｓ１１４２）を行って、モジュール数のループが終了（Ｓ１１４４）するまで、ステップＳ１１２１へ戻り繰り返し処理を実行する。
【０１４２】
このようにアクチュエータ管理モデルについても、図１４に示した基本処理手順を元にして、具体的な処理手順を簡単に作成することができる。
【０１４３】
以上基本処理手順を元にして作成されたアクチュエータ管理モデルの処理手順を説明したが、その他の設備管理モデルである、作業者管理モデル２０２、データ照合管理モデル２０３、ロボット管理モデル２０５、３軸ＮＣ管理モデル２０６、１軸ＮＣ管理モデル２０７、インターロック管理モデル２０８、データシフト管理モデル２０９についても、図２４〜図３０に示すとおり、上述したアクチュエータ管理モデルと同じように、基本処理手順から具体的な処理手順が作成されることになる。
【０１４４】
したがって、図２４〜図３０の処理手順については、制御対象装置となる制御モデルが異なるのみであり、上述したアクチュエータ管理モデルと同様であるので、それらの説明は省略する。なお、ワークマッチング管理モデル２０４の処理手順は、データ照合管理モデル２０３と照合を行う対象がデータかワークかの違いでだけであるので、データ照合管理モデルのみを示し、ワークマッチング管理モデルについては図示省略した。また、各図において、空白の行については、その制御モデルにおいて、基本処理手順の処理ステップから実行する必要のないステップである。
【０１４５】
次に、工程運営モデルの処理手順について説明する。
【０１４６】
工程運営モデルを機能させる作業制御ソフト１５は、３つの機能からなり、工程ごとに現在どの段階の作業を行うかを指示するステップ管理機能、ワークごとにどのプログラムを実行するかを管理するプログラム管理機能、どのワークにどのような作業を行うかを管理するカテゴリ管理機能がある。
【０１４７】
このため、これらの管理機能についてもそれぞれモデル化を行っている。これらの管理機能ごとにモデル化した処理手順を説明する。
【０１４８】
ステップ管理モデルのための処理手順を示す図面である。
【０１４９】
ステップ管理機能は、工程運営モデル内において最上位に位置し、工程運営モデルより下位の設備管理モデルに対して作業指示を行うともに、後述するプログラム管理モデルおよびカテゴリ管理モデルにより現在行われている作業の流れを管理している。
【０１５０】
図３１は、ステップ管理モデルのための処理手順を示す図面である。
【０１５１】
まず、作業ステージ内の下位の管理モデルに行わせる作業を指示するためのプログラムを実行するために、プログラム管理モデルから受けたプログラムが格納されているメモリ内における当該プログラム格納領域の先頭アドレスの入手（Ｓ２１１１）、この段階で実行するステップの先頭アドレスの入手（Ｓ２１１２）、このステップのステータス情報の先頭アドレスの入手（Ｓ２１１４）、およびプログラムのステータス情報の先頭アドレスの入手（Ｓ２１１５）が行われる。
【０１５２】
続いて、制御対象装置となっているモジュール数分のループｉを設定する（Ｓ２１２１）。このとき設定するループ数ｉは、管理している下位の管理モデルの数で、ここでは、設備管理モデルの数である。
【０１５３】
続いて、ｉ個目のモジュールが使用されるか否かをチェックし（Ｓ２１２３）、使用される場合はｉ個目のモジュールである設備管理モデルからステップ完了を受ける（Ｓ２１２４）。ここで設備管理モデルから受けるステップ完了とは、各設備管理モデルでの作業完了の信号である。
【０１５４】
続いて、ｉ個目のモジュール（下位の設備管理モデル）に対してプログラム更新の指示を出力し（Ｓ２１２７ａ）、プログラム更新完了可否かを判断して（Ｓ２１２８）、プログラム更新が完了していれば、ステップＮｏを「１」にして（Ｓ２１２９）、プログラム管理モデルに対してステップ完了を出力する（Ｓ２１２９ａ）。一方、プログラム更新が完了していなければ（Ｓ２１３０）、未完了を出力する（Ｓ２１３１）。
【０１５５】
またステップＳ２１２３において、ｉ個目のモジュールが使用されていない場合（Ｓ２１３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ２１３８）。
【０１５６】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ２１３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ２１４０）、ワーク情報の先頭アドレスのインクリメント（１モジュール分）（Ｓ２１４１）、およびワーク情報のステータスアドレスのインクリメント（１モジュール分）（Ｓ２１４２）を行って、モジュール数のループが終了（Ｓ２１４４）するまで、ステップＳ２１２１へ戻り繰り返し処理を実行する。
【０１５７】
これにより、下位の設備管理モデルに対する作業指示（ステップＮｏの指示）と、そのステップにおける作業管理によるプログラムの更新が行われる。
【０１５８】
図３２は、プログラム管理モデルのための処理手順を示す図面である。
【０１５９】
プログラム管理モデルは、工程運営モデル内において、その上位にステップ管理モデル、下位にカテゴリ管理モデルが接続されており、カテゴリ管理モデルからの指示によるワーク情報に基づいて、そのワークに対する作業のためのプログラムを、ステップ管理モデルからの指示により作業ステップごとに更新するものである。
【０１６０】
まず、後述するカテゴリ管理モデルからのワーク情報を元に、そのワークに行わせる作業に必要なプログラムが格納されているメモリ内における当該プログラム格納領域の先頭アドレスの入手（Ｓ２２１１）、この段階で実行するステップの先頭アドレスの入手（Ｓ２２１２）、そのカテゴリのステータス情報の先頭アドレスの入手（Ｓ２２１４）、および当該プログラムのステータス情報の先頭アドレスの入手（Ｓ２２１５）が行われる。
【０１６１】
続いて、制御対象装置となっているモジュール数分のループｉを設定する（Ｓ２２２１）。このとき設定するループ数ｉは、管理している下位の設備管理モデルの数である。
【０１６２】
続いて、ｉ個目のモジュールが使用されるか否かをチェックし（Ｓ２２２３）、使用される場合はｉ個目のモジュールが実行すべきプログラムの更新をステップ管理モデルから受ける（Ｓ２２２４）。
【０１６３】
続いて、カテゴリ管理モデルにカテゴリの更新指示を出力し（Ｓ２２２７ａ）、続けて、カテゴリを更新完了か否かをチェックして（Ｓ２２２８）、更新が完了したならプログラム番号を決定して（Ｓ２２２９）、更新完了をステップ管理モデルへ出力する（Ｓ２２２９ａ）。一方、プログラムの更新が完了していない場合は（Ｓ２２３０）、未完了を出力する（Ｓ２２３１）。
【０１６４】
また、ステップＳ２２２３において、ｉ個目のモジュールが使用されていない場合（Ｓ２２３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ２２３８）。
【０１６５】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ２２３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ２２４０）、カテゴリ情報のステータスアドレスのインクリメント（１モジュール分）（Ｓ２２４２）、およびカテゴリ情報のステータスアドレスのインクリメント（１モジュール分）（Ｓ２２４３）を行って、モジュール数のループが終了（Ｓ２２４４）するまで、ステップＳ２２２１へ戻り繰り返し処理を実行する。
【０１６６】
図３３は、カテゴリ管理モデルのための処理手順を示す図面である。
【０１６７】
カテゴリ管理モデルは、工程運営モデル内において、その上位にプログラム意管理モデルが接続されており、作業員からの指示や図示しないホストコンピュータなどからの指示により、作業を行うワーク情報を更新するものである。
【０１６８】
まず、指示されたワーク種に対して作業を行うために必要なプログラムが格納されているメモリ内における当該プログラム格納領域の先頭アドレスの入手（Ｓ２３１１）、この段階で実行するステップの先頭アドレスの入手（Ｓ２３１２）、作業を行うワークの情報が格納されているメモリの先頭アドレスの入手（Ｓ２３１３）、およびカテゴリのステータス情報の先頭アドレスの入手（Ｓ２３１４）が行われる。
【０１６９】
続いて、制御対象装置となっているモジュール数分のループｉを設定する（Ｓ２３２１）。このとき設定するループ数ｉは、管理している下位の設備管理モデルの数である。
【０１７０】
続いて、ｉ個目のモジュールが使用されるか否かをチェックし（Ｓ２３２３）、使用される場合は、プログラム管理モデルからカテゴリ更新の指示を受ける（Ｓ２３２４）。
【０１７１】
続いて、作業を実行するワーク情報をチェックし（Ｓ２３２７ａ）、続けて、ワーク情報が有るか否かを判断し（Ｓ２３２８）、データが有れば、そのワークのカテゴリ番号を決定して（Ｓ２３２９）、完了（カテゴリの更新）をプログラム管理モデルへ出力する（Ｓ２３２９ａ）。一方、ワーク情報のデータがない場合は（Ｓ２３３０）、未完了を出力する（Ｓ２３３１）。
【０１７２】
またステップＳ２３２３において、ｉ個目のモジュールが使用されていない場合（Ｓ２３３７）は、ｉ個目のモジュールに対する作業はなしとなる（Ｓ２３３８）。
【０１７３】
そして、プログラム情報アドレスのインクリメント（１モジュール分）（Ｓ２３３９）、ステップ情報アドレスのインクリメント（１モジュール分）（Ｓ２３４０）、ワーク情報の先頭アドレスのインクリメント（１モジュール分）（Ｓ２３４１）、およびワーク情報のステータスアドレスのインクリメント（１モジュール分）（Ｓ２３４２）を行って、モジュール数のループが終了（Ｓ２３４４）するまで、ステップＳ２３２１へ戻り繰り返し処理を実行する。
【０１７４】
このように各作業ステージを制御するために必要な工程運営モデル内のステップ管理モデル、プログラム管理モデル、およびカテゴリ管理モデルについても、図１４に示した基本処理手順を元にして具体的な処理手順を簡単に作成することができる。
【０１７５】
次に、最上位に位置するライン管理モデルの処理手順について説明する。
【０１７６】
図３４は、ライン管理モデルのための処理手順を示す図面である。
【０１７７】
ライン管理モデルは、各作業ステージから上がってくる正常に稼働しているか否か情報を作業ステージごとにチェックし、その状態を外部に表示するだけであるので、各作業ステージをモジュールとして識別する必要はない。
【０１７８】
このため、まず、各工程運営モデルからステータス情報の先頭アドレスの入手（Ｓ３１１４）が行われる。
【０１７９】
続いて、作業者からの指示を受ける（Ｓ３１２４）。この作業者からの指示は、ライン管理モデルに対する上位からの指示となる。
【０１８０】
続いて、各工程運営モデルからの情報を入手し（Ｓ３１２７）、続けて、全作業工程が正常か否かをチェックして（Ｓ３１２８）、工程状態が正常であれば、運転準備完了を決定して（Ｓ３１２９）、ラインを運転状態にして外部に表示する（Ｓ３１２９ａ）。一方、全作業工程が正常でなければ（Ｓ３１３０）、運転準備完了を落とし（Ｓ３１３１）、ラインの運転を停止して外部に表示する（Ｓ３１２９ｂ）。
【０１８１】
ループ処理がないためライン管理モデルの処理はこれで終了となる。
【０１８２】
このように、ライン管理モデルについても、図１４に示した基本処理手順を元にして具体的な処理手順を簡単に作成することができる。
【０１８３】
以上説明したように、本実施の形態によれば、すべての作業工程における機器の制御や管理を、上位からの指示入力機能、制御対象装置に対して指示を出力する動作指令出力機能、制御対象装置の現在の状態を監視する状態監視機能、指示に対してその指示が達成されたことを上位に送信する完了出力機能、および制御処理を実行するマネージャ（制御処理機能）にモデル化することで、簡潔な制御形態を作り出すことが可能となる。したがって、機能が異なる個々の制御装置ごとにプログラムを開発する必要がなくなるので、制御装置、ひいては制御システム全体の開発工期を大幅に短縮することができる。
【０１８４】
また、制御装置としての各機能がモデル化したことによりシンプルになるので、設計ミスを低減することもできる。
【０１８５】
また、これら各機能を実行するためのプログラムもこのモデルに合わせて基本的なプログラムを用意し、これを制御対象装置にあわせて変更するのみで、すべての制御プログラムや管理プログラムに対応することができる。しかも、実際の基本プログラムからの変更点は、上位、下位に対する信号入出力先のアドレスや制御対象装置を動作させるために必要なプログラムの格納アドレスの変更などに非常に少ない変更ですむ。
【図面の簡単な説明】
【図１】  一つひとつの制御装置の機能をモデル化する際の基本となる制御モデル（基本制御モデル）を示す機能ブロック図である。
【図２】  基本制御モデルがツリー上の階層構造をなして接続された制御システムを示す図面である。
【図３】  末端の作業ステージにおける作業を抽出した例を示す図面である。ものである。
【図４】  末端の作業ステージにおける作業を抽出した例を示す図面である。ものである。
【図５】  具体的な制御装置をモデル化した制御モデルを使用して構築していった場合の階層構造モデルの一例を示す図面である。
【図６】  具体的な各制御モデルが、前述した基本制御モデル１の各機能にどのように対応しているかを示す図表である。
【図７】  アクチュエータ制御モデルの構成を示す図面である。
【図８】  アクチュエータ管理モデルの構成を示す図面である。
【図９】  作業者制御モデルの構成を示す図面である。
【図１０】  作業者管理モデルの構成を示す図面である。
【図１１】  工程運営モデルの構成を示す図面である。
【図１２】  ライン管理モデルの構成を示す図面である。
【図１３】  最も基本となる基本制御モデルの処理手順を示すフローチャートである。
【図１４】  具体的な各制御モデルを動作させるための基本処理手順を示す図面である。
【図１５】  アクチュエータ制御モデルの処理手順を示す図面である。
【図１６】  作業者制御モデルの処理手順を示す図面である。
【図１７】  データ照合制御モデルの処理手順を示す図面である。
【図１８】  ロボット制御モデルの処理手順を示す図面である。
【図１９】  ３軸ＮＣマシン制御モデルの処理手順を示す図面である。
【図２０】  １軸ＮＣ制御モデルの処理手順を示す図面である。
【図２１】  インターロック制御モデルの処理手順を示す図面である。
【図２２】  データシフト制御モデルの処理手順を示す図面である。
【図２３】  アクチュエータ管理モデルの処理手順を示す図面である。
【図２４】  作業者管理モデルの処理手順を示す図面である。
【図２５】  データ照合管理モデルの処理手順を示す図面である。
【図２６】  ロボット管理モデルの処理手順を示す図面である。
【図２７】  ３軸ＮＣ管理モデルの処理手順を示す図面である。
【図２８】  １軸ＮＣ管理モデルの処理手順を示す図面である。
【図２９】  インターロック管理モデルの処理手順を示す図面である。
【図３０】  データシフト管理モデルの処理手順を示す図面である。
【図３１】  ステップ管理モデルのための処理手順を示す図面である。
【図３２】  プログラム管理モデルのための処理手順を示す図面である。
【図３３】  カテゴリ管理モデルのための処理手順を示す図面である。
【図３４】  ライン管理モデルのための処理手順を示す図面である。
【符号の説明】
１、２１〜２ｎ  基本制御モデル
２  指示入力機能
３  動作指令出力機能
４  状態監視機能
５  完了出力機能
６  マネージャ（制御処理機能）
１１  アクチュエータ制御ソフト
１２  アクチュエータ管理ソフト
１２ａ、１４ａ、１５ａ  レジスタ
１３  作業者制御ソフト
１４  作業者管理ソフト
１５  作業制御ソフト
１０１、１０２  アクチュエータ制御モデル
１０３、１０４  作業者制御モデル
１０５  データ照合制御モデル
１０６  ワークマッチング制御モデル
１０７、１０８  ロボット制御モデル
１０９、１１０  ３軸ＮＣマシン制御モデル
１１１、１１２  １軸ＮＣ制御モデル
１１３  インターロック制御モデル
１１４  データシフト制御モデル
２０１  アクチュエータ管理モデル
２０２  作業者管理モデル
２０３  データ照合管理モデル
２０４  ワークマッチング管理モデル
２０５  ロボット管理モデル
２０６  ３軸ＮＣ管理モデル
２０７  １軸ＮＣ管理モデル
２０８  インターロック管理モデル
２０９  データシフト管理モデル
３０１、３０２  工程運営モデル
４０１  ライン管理モデル
【図１】
0004287074.tif 000002
【図２】
0004287074.tif 000003
【図３】
0004287074.tif 000004
【図４】
0004287074.tif 000005
【図５】
0004287074.tif 000006
【図６】
0004287074.tif 000007
【図７】
0004287074.tif 000008
【図８】
0004287074.tif 000009
【図９】
0004287074.tif 000010
【図１０】
0004287074.tif 000011
【図１１】
0004287074.tif 000012
【図１２】
0004287074.tif 000013
【図１３】
0004287074.tif 000014
【図１４】
0004287074.tif 000015
【図１５】
0004287074.tif 000016
【図１６】
0004287074.tif 000017
【図１７】
0004287074.tif 000018
【図１８】
0004287074.tif 000019
【図１９】
0004287074.tif 000020
【図２０】
0004287074.tif 000021
【図２１】
0004287074.tif 000022
【図２２】
0004287074.tif 000023
【図２３】
0004287074.tif 000024
【図２４】
0004287074.tif 000025
【図２５】
0004287074.tif 000026
【図２６】
0004287074.tif 000027
【図２７】
0004287074.tif 000028
【図２８】
0004287074.tif 000029
【図２９】
0004287074.tif 000030
【図３０】
0004287074.tif 000031
【図３１】
0004287074.tif 000032
【図３２】
0004287074.tif 000033
【図３３】
0004287074.tif 000034
【図３４】
0004287074.tif 000035