(57)【要約】【課題】上位系及び下位系制御装置を有し、機器のシーケンス制御を行うシーケンス制御システムの設計の際、検証時間を大幅に削減可能なシーケンス制御の検証方法を提供する。【解決手段】（ａ１）〜（ｃ）ステップを備えるシーケンス制御の検証方法を用いる。（ａ１）ステップは、システムの状態判断を行う上位系制御装置１が、下位系制御検証装置５１から、模擬共有メモリ６３の機器の状態情報を取得する。ここで、下位系制御検証装置５１は、共有メモリを含み機器の制御を行う下位系制御装置を模擬し、共有メモリを模擬する模擬共有メモリ６３を含む。（ａ２）ステップは、上位系制御装置１が、状態情報に基づき、機器への命令情報を、下位系制御検証装置５１へ送信する。（ｂ）ステップは、下位系制御検証装置５１が、命令情報を模擬共有メモリ６３へ格納する。（ｃ）ステップは、下位系制御検証装置５１が、模擬共有メモリ６３の命令情報を評価する。【選択図】      図２
2004326599.tif 000002
【特許請求の範囲】
【請求項１】
上位系制御装置と下位系制御装置とを有し、機器のシーケンス制御を行うシーケンス制御システムにおいて、ここで、前記上位系制御装置は、前記シーケンス制御システムの状態判断を行い、前記下位系制御装置は、共有メモリを含み、前記機器の制御を行い、
（ａ）前記上位系制御装置が、前記機器に対する命令としての命令情報を、下位系制御検証装置へ送信するステップと、ここで、前記下位系制御検証装置は、前記下位系制御装置を模擬し、前記共有メモリを模擬する模擬共有メモリを含み、
（ｂ）前記下位系制御検証装置が、前記命令情報を受信し、前記模擬共有メモリへ格納するステップと、
（ｃ）前記下位系制御検証装置が、前記模擬共有メモリに格納された前記命令情報を評価するステップとを具備するシーケンス制御の検証方法。
【請求項２】
請求項１に記載のシーケンス制御検証方法において、
前記（ａ）ステップは、
（ａ１）前記上位系制御装置が、前記下位系制御検証装置から前記模擬共有メモリに格納された前記機器の状態を示す状態情報を取得するステップと、
（ａ２）前記上位系制御装置が、前記状態情報に基づいて、前記下位系制御検証装置へ前記命令情報を送信するステップとを備えるシーケンス制御の検証方法。
【請求項３】
上位系制御装置と下位系制御装置とを有し、機器のシーケンス制御を行うシーケンス制御システムにおいて、ここで、前記上位系制御装置は、前記シーケンス制御システムの状態判断を行い、前記下位系制御装置は、共有メモリを含み、前記機器の制御を行い、
（ｄ）下位系制御検証装置が、前記機器に対する命令としての命令情報を取得するステップと、ここで、前記下位系制御検証装置は、前記下位系制御装置を模擬し、前記共有メモリを模擬する模擬共有メモリを含み、
（ｅ）前記下位系制御検証装置が、前記命令情報を、前記模擬共有メモリへ格納するステップと、
（ｆ）前記下位系制御検証装置が、前記模擬共有メモリに格納された前記命令情報に基づいて、前記機器が実行する動作を示す指令情報を生成するステップと、
（ｇ）前記下位系制御検証装置が、所定の時間経過後に、前記機器が前記指令情報を実行後の前記機器の状態を示す状態情報を、前記模擬共有メモリへ格納するステップと、
（ｈ）前記下位系制御検証装置が、前記模擬共有メモリの前記命令情報に基づいて、前記状態情報を評価するステップとを具備するシーケンス制御の検証方法。
【請求項４】
上位系制御装置と下位系制御装置とを有し、機器のシーケンス制御を行うシーケンス制御システムにおいて、ここで、前記上位系制御装置は、前記シーケンス制御システムの状態判断を行い、前記下位系制御装置は、共有メモリを含み、前記機器の制御を行い、
（ｉ）前記上位系制御装置が、前記機器に対する命令としての命令情報を、下位系制御検証装置へ送信するステップと、ここで、前記下位系制御検証装置は、前記下位系制御装置を模擬し、前記共有メモリを模擬する模擬共有メモリを含み、
（ｊ）前記下位系制御検証装置が、前記命令情報を受信し、前記模擬共有メモリへ格納するステップと、
（ｋ）前記下位系制御検証装置が、前記模擬共有メモリに格納された前記命令情報に基づいて、前記機器が実行する動作を示す指令情報を生成するステップと、
（ｌ）前記下位系制御検証装置が、所定の時間経過後に、前記機器が前記指令情報を実行後の前記機器の状態を示す状態情報を、前記模擬共有メモリへ格納するステップと、
（ｍ）前記下位系制御検証装置が、前記模擬共有メモリの前記命令情報に基づいて、前記状態情報を評価するステップとを具備するシーケンス制御の検証方法。
【請求項５】
請求項３又は４に記載のシーケンス制御の検証方法において、
前記所定の時間は、前記指令情報に含まれる前記機器が前記指令情報の実行にかかる時間としての実行時間情報であるシーケンス制御の検証方法。
【請求項６】
請求項５に記載のシーケンス制御の検証方法において、
前記実行時間情報における時間の単位は、任意に設定可能であるシーケンス制御の検証方法。
【請求項７】
上位系制御装置と共有メモリを含む下位系制御装置とを有し、機器のシーケンス制御を行うシーケンス制御システムにおける前記下位系制御装置を模擬するシーケンス制御検証装置であって、
ここで、前記下位系制御装置は、前記機器の制御を行い、前記機器の状態としての状態情報を取得し、
前記共有メモリは、前記状態情報と、前記上位系制御装置が出力する前記状態情報に基づく前記機器に対する命令としての命令情報とを格納し、
前記上位系制御装置は、前記共有メモリから取得した前記状態情報に基づいて、前記シーケンス制御システムの状態判断を行い、前記命令情報を前記下位系制御装置へ出力し、
前記共有メモリを模擬し、前記状態情報と前記命令情報とを格納する模擬共有メモリと、
前記上位系制御装置と通信を行う通信部とを具備するシーケンス制御検証装置。
【請求項８】
請求項７に記載のシーケンス制御検証装置において、
前記下位系制御装置及び前記機器の動作を模擬し、前記状態情報を前記模擬共有メモリへ出力する下位系制御装置模擬部を更に具備し、
前記下位系制御装置模擬部は、前記模擬共有メモリから前記命令情報を取得し、前記命令情報に基づいて前記機器が実行する動作としての指令情報を生成し、前記指令情報に基づいて、前記機器が前記指令情報を実行後の前記状態情報を、前記模擬共有メモリへ格納するシーケンス制御検証装置。
【請求項９】
請求項８に記載のシーケンス制御検証装置において、
前記下位系制御装置模擬部は、
前記命令情報と、前記指令情報とを関連付けて格納している動作データベースと、
前記命令情報に基づいて、前記動作データベースを参照して、前記指令情報を生成し、前記指令情報に基づいて、前記機器が前記指令情報を実行後の前記状態情報を、前記模擬共有メモリへ出力する模擬動作実行部とを備えるシーケンス制御検証装置。
【請求項１０】
請求項８又は９に記載のシーケンス制御検証装置において、
前記指令情報は、前記機器が前記指令情報を実行する時間としての実行時間情報を含み、
前記下位系制御装置模擬部は、前記指令情報を生成後の前記実行時間情報に示す時間の経過後に、前記状態情報を前記模擬共有メモリへ出力するシーケンス制御検証装置。
【請求項１１】
請求項７乃至１０のいずれか一項に記載のシーケンス制御検証装置において、前記模擬共有メモリは、前記命令情報を格納する命令情報格納領域と、前記状態情報を格納する状態情報格納領域とを備えるシーケンス制御検証装置。
【請求項１２】
上位系制御装置と下位系制御装置とを有し、機器のシーケンス制御を行うシーケンス制御システムにおいて、ここで、前記上位系制御装置は、前記シーケンス制御システムの状態判断を行い、前記下位系制御装置は、共有メモリを含む第１下位系制御装置と、前記機器の制御を行う第２下位系制御装置とを備え、
（ｎ）前記上位系制御装置が、前記機器に対する命令としての命令情報を、前記第１下位系制御装置へ出力するステップと、
（ｏ）前記第１下位系制御装置が、前記命令情報を前記共有メモリへ格納するステップと、
（ｐ）前記第１下位系制御装置が、前記命令情報に基づいて、前記機器が実行する動作としての指令情報を生成して、前記第２下位系制御装置に出力するステップと、
（ｑ）前記第２下位系制御装置が、前記指令情報に基づいて前記機器の動作を制御するステップと、
（ｒ）前記機器が、前記動作を実行し、実行後の前記状態情報を前記第２下位系制御装置へ出力するステップと、
（ｓ）前記第１下位系制御装置が、前記第２下位系制御装置を介して取得した前記状態情報を、前記共有メモリに格納するステップとを具備するシーケンス制御の制御方法。
【請求項１３】
請求項１２に記載のシーケンス制御の制御方法において、
前記（ｎ）ステップは、
（ｎ１）前記上位系制御装置が、前記共有メモリから前記状態情報を取得するステップと、
（ｎ２）前記上位系制御装置が、前記状態情報に基づいて、前記命令情報を、前記第１下位系制御装置へ出力するステップとを備えるシーケンス制御の制御方法。
【請求項１４】
機器のシーケンス制御を行い、前記機器から、前記機器の状態としての状態情報を取得する第２下位系制御装置と、
共有メモリを備え、前記第２下位系制御装置からの前記状態情報を前記共有メモリへ格納する第１下位系制御装置と、
前記共有メモリからの前記状態情報に基づいて、システムの状態判断を行い、前記機器に対する命令としての命令情報を、前記第１下位系制御装置へ出力する上位系制御装置とを具備し、
前第１下位系制御装置は、前記命令情報を前記共有メモリへ格納し、前記命令情報に基づいて、前記機器の動作としての指令情報を生成し、
前記第２下位系制御装置は、前記指令情報に対応して前記機器の動作を制御し、
前記機器は、前記動作後に、前記動作後の前記状態情報を前記第２下位系制御装置を介して前記第１下位系制御装置へ出力するシーケンス制御システム。
【請求項１５】
請求項１４に記載のシーケンス制御システムにおいて、
前記上位系制御装置は、
順序を示す順序情報と、前記命令情報と、前記命令情報を出力するための条件となる状態情報を示す条件状態情報とを関連付けて格納している運転パタンデータベースと、
前記状態情報に基づき、前記運転パタンデータベースを参照して、前記命令情報を、前記第１下位系制御装置へ出力する運転制御部とを備えるシーケンス制御システム。
【請求項１６】
請求項１４又は１５に記載のシーケンス制御システムにおいて、
前記第１下位系制御装置は、
前記命令情報と、前記指令情報とを関連付けて格納している動作データベースと、
前記上位系制御装置から前記命令情報を取得して前記共有メモリへ格納し、前記命令情報に基づき、前記動作データベースを参照して、前記指令情報を生成する動作制御部とを備えるシーケンス制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シーケンス制御の検証方法及びシーケンス制御検証装置に関し、特に、シーケンサを用いた機器・装置におけるシーケンス制御の検証方法及びシーケンス制御検証装置に関する。
【０００２】
【従来の技術】
シーケンス制御システムを上位系（状態判断系）と下位系（サーボ系）とに分割した場合、開発時の上位系の検証において、下位系と接続して検証を行うことが可能か否かの検証は、単純なシミュレーション装置を用いて、単体で行う方法は知られている。ただし、この場合、上位系の詳細なロジックの検証は、シミュレーション装置ではなく、下位系と直接接続して検証している。これは、詳細なシミュレーションが可能なシミュレーション装置を開発するには時間がかかり、シミュレーション装置の開発が断念されているからである。
【０００３】
上記のような、検証方法を行う場合、上位系の検証は、下位系の検証が終了した後に行われることとなる。そのため、シーケンス制御システムの開発における全体の工程が長期化することになる。上位系と下位系とを並行して検証することが可能な技術が望まれている。下位系の動作をシミュレーションし、上位系の詳細なロジックを検証することか可能な技術が求められている。開発時間のかからないシミュレーション装置が求められている。
【０００４】
関連する技術として特開２０００−４７８６０号公報に、プログラム設計装置の技術が公開されている。
この技術のプログラム設計装置は、プラントを制御するコントローラの制御用プログラムを設計する。そして、プラント構成図画面と、機器および命令モデルデータベースと、シミュレーション手段と、設計装置制御部とを備えることを特徴とする。
ここで、プラント構成図画面は、設計対象のプラントを構成する機器に対する操作およびプラント制御に関連する命令に対する操作を画面上で実施可能とするとともに、これら操作に対応する機器および命令の状態出力を表示可能とする。機器および命令モデルデータベースは、プラントを構成する機器および該プラント制御に関連する命令の仕様を記述ている。
シミュレーション手段は、その時点のプラントの状態と機器または命令に対する操作情報とから、前記機器および命令モデルデータベースの情報に基づいてプラントの新たな状態を演算して、機器および命令の状態出力を更新して、前記プラント構成図画面上に新たなプラント状態を表示させる。
設計装置制御部は、前記プラント構成図画面、前記機器および命令モデルデータベース、および前記シミュレーション手段を連携させる制御を行なう。
この発明は、プラント等を制御するコントローラのプログラム設計過程における設計者の思考作業を支援し、設計結果をプログラム言語に自動的に変換して、プログラム開発効率を向上させることを目的としている。
【０００５】
【特許文献１】２０００−４７８６０号公報
【０００６】
【発明が解決しようとする課題】
従って、本発明の目的は、シーケンス制御の制御系を設計する際、上位系と下位系とに分けて、両者を並行して検証することが可能なシーケンス制御の検証方法シーケンス制御検証装置及びシーケンス制御システムを提供することにある。
【０００７】
また、本発明の他の目的は、シーケンス制御の制御系を設計する際、上位系と下位系とに分けて、下位系の動作をシミュレーションし、上位系の詳細なロジックを検証することか可能なシーケンス制御の検証方法及びシーケンス制御検証装置を提供することにある。
【０００８】
本発明の更に他の目的は、シーケンス制御の制御系を設計する際、上位系と下位系とに分けたシーケンス制御の検証について、下位系の動作をシミュレートとすることができ早期に開発可能なシーケンス制御検証装置を提供することにある。
【０００９】
本発明の別の目的は、シーケンス制御の制御系を設計する際、上位系と下位系とに分けたシーケンス制御の検証について、検証時間を削減することが可能なシーケンス制御の検証方法及びシーケンス制御検証装置を提供することにある。
【００１０】
本発明の更に別の目的は、シーケンス制御の制御系を上位系と下位系とに分割する際、上位系と下位系とを独立に検証することが可能なように分割したシーケンス制御システム及びシーケンス制御の制御方法を提供することにある。
【００１１】
【課題を解決するための手段】
以下に、［発明の実施の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明の実施の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
従って、上記課題を解決するために、本発明のシーケンス制御の検証方法は、上位系制御装置（１）と下位系制御装置（２、３）とを有し、機器（４）のシーケンス制御を行うシーケンス制御システムにおける発明であり、（ａ）〜（ｃ）ステップを具備する。ここで、上位系制御装置（１）は、そのシーケンス制御システムの状態判断を行う。下位系制御装置（２、３）は、共有メモリ（２３）を含み、機器（４）の制御を行う。（ａ）ステップは、上位系制御装置（１）が、機器（４）に対する命令としての命令情報（ＣＯＭ）を、下位系制御検証装置（５１）へ送信する。ここで、下位系制御検証装置（５１）は、下位系制御装置（２、３）を模擬し、共有メモリ（２３）を模擬する模擬共有メモリ（６３）を含む。（ｂ）ステップは、下位系制御検証装置（５１）が、命令情報（ＣＯＭ）を受信し、模擬共有メモリ（６３）へ格納する。（ｃ）ステップは、下位系制御検証装置（５１）が、模擬共有メモリ（６３）に格納された命令情報（ＣＯＭ）を評価する。
【００１３】
上記のシーケンス制御検証方法において、（ａ）ステップは、（ａ１）〜（ａ２）ステップを備える。
（ａ１）ステップは、上位系制御装置（１）が、下位系制御検証装置（５１）から模擬共有メモリ（６３）に格納された機器（４）の状態を示す状態情報（ＳＴＡ）を取得する。（ａ２）ステップは、上位系制御装置（１）が、状態情報（ＳＴＡ）に基づいて、下位系制御検証装置（５１）へ命令情報（ＣＯＭ）を送信する。
【００１４】
上記課題を解決するために、本発明のシーケンス制御の検証方法は、上位系制御装置（１）と下位系制御装置（２、３）とを有し、機器（４）のシーケンス制御を行うシーケンス制御システムにおける発明であり、（ｄ）〜（ｈ）ステップを具備する。ここで、上位系制御装置（１）は、そのシーケンス制御システムの状態判断を行う。下位系制御装置（２、３）は、共有メモリ（２３）を含み、機器（４）の制御を行う。
（ｄ）ステップは、下位系制御検証装置（５１）が、機器（４）に対する命令としての命令情報（ＣＯＭ）を取得する。ここで、下位系制御検証装置（５１）は、下位系制御装置（２、３）を模擬し、前記共有メモリ（２３）を模擬する模擬共有メモリ（６３）を含む。（ｅ）ステップは、下位系制御検証装置（５１）が、命令情報（ＣＯＭ）を、模擬共有メモリ（６３）へ格納する。（ｆ）ステップは、下位系制御検証装置（５１）が、模擬共有メモリ（６３）に格納された命令情報（ＣＯＭ）に基づいて、機器（４）が実行する動作を示す指令情報（ＯＲＤ）を生成する。（ｇ）ステップは、下位系制御検証装置（５１）が、所定の時間経過後に、機器（４）が指令情報（ＯＲＤ）を実行後の機器（４）の状態を示す状態情報（ＳＴＡ）を、模擬共有メモリ（６３）へ格納する。（ｈ）ステップは、下位系制御検証装置（５１）が、模擬共有メモリ（６３）の命令情報（ＣＯＭ）に基づいて、状態情報（ＳＴＡ）を評価する。
【００１５】
上記課題を解決するために、本発明のシーケンス制御の検証方法は、上位系制御装置（１）と下位系制御装置（２、３）とを有し、機器（４）のシーケンス制御を行うシーケンス制御システムにおける発明であり、（ｉ）〜（ｍ）ステップを具備する。ここで、上位系制御装置（１）は、そのシーケンス制御システムの状態判断を行う。下位系制御装置（２、３）は、共有メモリ（２３）を含み、機器（４）の制御を行う。
（ｉ）ステップは、上位系制御装置（１）が、機器（４）に対する命令としての命令情報（ＣＯＭ）を、下位系制御検証装置（５１）へ送信する。ここで、下位系制御検証装置（５１）は、下位系制御装置（２、３）を模擬し、共有メモリ（２３）を模擬する模擬共有メモリ（６３）を含む。（ｊ）ステップは、下位系制御検証装置（５１）が、命令情報（ＣＯＭ）を受信し、模擬共有メモリ（６３）へ格納する。（ｋ）ステップは、下位系制御検証装置（５１）が、模擬共有メモリ（６３）に格納された命令情報（ＣＯＭ）に基づいて、機器（４）が実行する動作を示す指令情報（ＯＲＤ）を生成する。（ｌ）ステップは、下位系制御検証装置（５１）が、所定の時間経過後に、機器（４）が指令情報（ＯＲＤ）を実行後の機器（４）の状態を示す状態情報（ＳＴＡ）を、模擬共有メモリ（６３）へ格納する。（ｍ）ステップは、下位系制御検証装置（５１）が、模擬共有メモリ（６３）の命令情報（ＣＯＭ）に基づいて、状態情報（ＳＴＡ）を評価する。
【００１６】
上記のシーケンス制御の検証方法において、所定の時間は、指令情報（ＯＲＤ）に含まれる機器（４）が指令情報（ＯＲＤ）の実行にかかる時間としての実行時間情報である。
【００１７】
上記のシーケンス制御の検証方法において、その実行時間情報における時間の単位は、任意に設定可能である。
【００１８】
上記課題を解決するために、本発明のシーケンス制御検証装置は、上位系制御装置（１）と共有メモリ（２３）を含む下位系制御装置（２、３）とを有し、機器（４）のシーケンス制御を行うシーケンス制御システムにおける下位系制御装置（２、３）を模擬する。ここで、下位系制御装置（２、３）は、機器（４）の制御を行い、機器（４）の状態としての状態情報（ＳＴＡ）を取得する。共有メモリ（２３）は、状態情報（ＳＴＡ）と、上位系制御装置（１）が出力する状態情報（ＳＴＡ）に基づく機器に対する命令としての命令情報（ＣＯＭ）とを格納する。上位系制御装置（１）は、共有メモリ（２３）から取得した状態情報（ＳＴＡ）に基づいて、シーケンス制御システムの状態判断を行い、命令情報（ＣＯＭ）を下位系制御装置（２、３）へ出力する。
シーケンス制御検証装置は、模擬共有メモリ（６３）と、通信部（６２）とを具備する。
模擬共有メモリ（６３）は、共有メモリ（２３）を模擬し、状態情報（ＳＴＡ）と命令情報（ＣＯＭ）とを格納する。通信部（６２）は、上位系制御装置（１）と通信を行う。
【００１９】
上記のシーケンス制御検証装置において、下位系制御装置（２、３）及び機器（４）の動作を模擬し、状態情報（ＳＴＡ）を模擬共有メモリ（６３）へ出力する下位系制御装置模擬部（５２、５３）を更に具備する。
下位系制御装置模擬部（５２、５３）は、模擬共有メモリ（６３）から命令情報（ＣＯＭ）を取得する。命令情報（２、３）に基づいて機器（４）が実行する動作としての指令情報（ＯＲＤ）を生成する。そして、指令情報（ＯＲＤ）に基づいて、機器（４）が指令情報（ＯＲＤ）を実行後の状態情報（ＳＴＡ）を、模擬共有メモリ（６３）へ格納する。
【００２０】
上記のシーケンス制御システムにおいて、下位系制御装置模擬部（５３）は、動作データベース（７３）と、模擬動作実行部（７１）とを備える。
動作データベース（７３）は、命令情報（ＣＯＭ）と、指令情報（ＯＲＤ）とを関連付けて格納している。模擬動作実行部（７１）は、命令情報（ＣＯＭ）に基づいて、動作データベース（７３）を参照して、指令情報（ＯＲＤ）を生成する。そして、指令情報（ＯＲＤ）に基づいて、機器が指令情報（ＯＲＤ）を実行後の状態情報（ＳＴＡ）を模擬共有メモリ（６３）へ出力する。
【００２１】
上記のシーケンス制御検証装置において、指令情報（ＯＲＤ）は、機器（４）が指令情報（ＯＲＤ）の実行する時間としての実行時間情報を含む。
そして、下位系制御装置模擬部（５３）は、指令情報（ＯＲＤ）を生成後、実行時間情報に示す時間の経過後に、状態情報（ＳＴＡ）を模擬共有メモリ（６３）へ出力する。
【００２２】
上記のシーケンス制御検証装置において、模擬共有メモリ（６３）は、命令情報（ＣＯＭ）を格納する命令情報（ＣＯＭ）格納領域（６６）と、状態情報（ＳＴＡ）を格納する状態情報（ＳＴＡ）格納領域（６５）とを備える。
【００２３】
上記課題を解決するために、本発明のシーケンス制御の制御方法は、上位系制御装置（１）と下位系制御装置（２、３）とを有し、機器（４）のシーケンス制御を行うシーケンス制御システムにおける発明であり、（ｎ）〜（ｓ）ステップを具備する。ここで、上位系制御装置（１）は、そのシーケンス制御システムの状態判断を行う。下位系制御装置（２、３）は、共有メモリ（２３）を含む第１下位系制御装置（２）と、機器（４）の制御を行う第２下位系制御装置（３）とを備える。
（ｎ）ステップは、上位系制御装置（１）が、機器（４）に対する命令としての命令情報（ＣＯＭ）を、第１下位系制御装置（２）へ出力する。（ｏ）ステップは、第１下位系制御装置（２）が、命令情報（ＣＯＭ）を共有メモリ（２３）へ格納する。（ｐ）ステップは、第１下位系制御装置（２）が、命令情報（ＣＯＭ）に基づいて、機器（４）が実行する動作としての指令情報（ＯＲＤ）を生成して、第２下位系制御装置（３）に出力する。（ｑ）ステップは、第２下位系制御装置（３）が、指令情報（ＯＲＤ）に基づいて、機器（４）の動作を制御する。（ｒ）ステップは、機器（４）が、その動作を実行し、実行後の状態情報（ＳＴＡ）を第２下位系制御装置（３）へ出力する。（ｓ）ステップは、第１下位系制御装置（２）が、第２下位系制御装置（３）を介して取得した状態情報（ＳＴＡ）を共有メモリ（２３）に格納する。
【００２４】
上記のシーケンス制御の制御方法において、（ｎ）ステップは、（ｎ１）〜（ｎ２）ステップを備える。（ｎ１）ステップは、上位系制御装置（１）が、共有メモリ（２３）から状態情報（ＳＴＡ）を取得する。（ｎ２）ステップは、上位系制御装置（１）が、状態情報（ＳＴＡ）に基づいて、命令情報（ＣＯＭ）を、第１下位系制御装置（２）へ出力する。
【００２５】
上記課題を解決するために、本発明のシーケンス制御システムは、第２下位系制御装置（３）と、第１下位系制御装置（２）と、上位系制御装置（１）とを具備する。
第２下位系制御装置（３）は、機器（４）のシーケンス制御を行い、機器（４）から、機器（４）の状態としての状態情報（ＳＴＡ）を取得する。第１下位系制御装置（２）は、共有メモリ（２３）を備え、第２下位系制御装置（３）からの状態情報（ＳＴＡ）を共有メモリ（２３）へ格納する。上位系制御装置（１）は、共有メモリ（２３）からの状態情報（ＳＴＡ）に基づいて、システムの状態判断を行い、機器（４）に対する命令としての命令情報（ＣＯＭ）を、第１下位系制御装置（２）へ出力する。
そして、第１下位系制御装置（２）は、命令情報（ＣＯＭ）を共有メモリ（２３）へ格納し、命令情報（ＣＯＭ）に基づいて、機器（４）の動作としての指令情報（ＯＲＤ）を生成する。第２下位系制御装置（３）は、指令情報（ＯＲＤ）に対応して機器（４）の動作を制御する。機器（４）は、その動作後に、その動作後の状態情報（ＳＴＡ）を第２下位系制御装置（３）を介して第１下位系制御装置（２）へ出力する。
【００２６】
上記のシーケンス制御システムにおいて、上位系制御装置（１）は、運転パタンデータベース（１３）と、運転制御部（１１、１２）とを備える。
運転パタンデータベース（１３）は、順序を示す順序情報（１３−１）と、命令情報（ＣＯＭ）（１３−２、１３−４、１３−５）と、命令情報（ＣＯＭ）（１３−２、１３−４、１３−５）を出力するための条件となる状態情報（ＳＴＡ）を示す条件状態情報（ＳＴＡ）（１３−６）とを関連付けて格納している。運転制御部（１１、１２）は、状態情報（ＳＴＡ）に基づき、運転パタンデータベース（１３）を参照して、命令情報（ＣＯＭ）を、第１下位系制御装置（２）へ出力する。
【００２７】
上記のシーケンス制御システムにおいて、第１下位系制御装置（２）は、動作データベース（３３）と、動作制御部（２１、２２）とを備える。
動作データベース（３３）は、命令情報（ＣＯＭ）と、指令情報（ＯＲＤ）とを関連付けて格納している。動作制御部（２１、２２）は、上位系制御装置（１）から命令情報（ＣＯＭ）を取得して共有メモリ（２３）へ格納し、命令情報（ＣＯＭ）に基づき、動作データベース（３３）を参照して、指令情報（ＯＲＤ）を生成する。
【００２８】
【発明の実施の形態】
以下、本発明であるシーケンス制御の検証方法及びシーケンス制御検証装置の実施の形態に関して、添付図面を参照して説明する。
本実施例において、太陽電池の製膜装置の各機器に適用されるシーケンス制御システムを例に示して説明するが、他の機器に関するシーケンス制御においても、適用可能である。
【００２９】
まず、本発明であるシーケンス制御の検証方法及びシーケンス制御検証装置の適用される太陽電池の製膜装置及びそこに用いられるシーケンス制御について、添付図面を参照して説明する。
【００３０】
まず、太陽電池の製膜装置について説明する。
図８は、太陽電池の製膜装置の概略を示す上面図である。太陽電池の製膜装置は、製膜装置内で基板を搬送する複数の台車（図示されず）、基板を台車にセットする（ローディングする）ローダＬＤ、大気と真空との切り替え場所であるロードロック室Ｃ１、基板を台車から取り外す（アンロードする）アンローダＵＬＤ、真空と大気との切り換え場所であるアンロード室Ｃ８、製膜を行う複数の製膜室Ｃ２〜Ｃ７、製膜中に台車が待機する各室手前の複数の待機室Ｃ１Ｓ〜Ｃ８Ｓ、製膜装置の中心部にあり各製膜室へ向かい台車を回転する回転室Ｃ９、各室の間のゲート弁（図示されず）、カセットバッファ（図示されず）を備えている。
【００３１】
太陽電池の製造は、例えば、以下のようにして行なう。
（１）ローダＬＤにおいて、基板を台車にセットする。
（２）台車をロードロック室Ｃ１へ移動し、ロードロック室Ｃ１を所定の真空度にする。
（３）台車を回転室Ｃ９経由で製膜室Ｃ２へ移動する。
（４）製膜室Ｃ２において、基板を製膜室Ｃ２内にセットする。
（５）台車を待機室Ｃ２Ｓへ移動する。
（６）製膜室Ｃ２室で基板に所定の膜を製膜する。
（７）台車を製膜室Ｃ２へ移動する。
（８）製膜室Ｃ２において、基板を台車に搭載する。
（９）台車を、待機室Ｃ２Ｓ経由で回転室Ｃ９へ移動する。
（１０）同様に、所定の製膜室（製膜室Ｃ３〜製膜室Ｃ７のうちのいくつか）において、（３）〜（９）のようにして所定の膜を製膜する。
（１１）基板を搭載した台車をアンロード室Ｃ８へ移動し、アンロード室Ｃ８を大気開放する。
（１２）アンローダＵＬＤにおいて、基板を台車から取り外す。
台車が各室間を移動する際には、各室に設けられたゲート弁の開閉を行う。
なお、本発明はこの太陽電池の製膜装置及び製造例に制限されるものではない。
【００３２】
次に、太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態について説明する。
まず、太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態の構成について説明する。
図１は、太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態の構成を説明する図である。このシーケンス制御システムは、上位系制御装置１、下位系制御装置Ａ２、下位系制御装置Ｂ３−ｉ（ｉ＝１〜ｎ）、機器４−ｊ（ｊ＝１〜ｍ）、ネットワークＡ６、ネットワークＢ７、ネットワークＣ８を具備する。
【００３３】
機器４−ｊ（ｊ＝１〜ｍ）は、太陽電池の製膜装置に関わる複数の機器である。機器４−ｊは、複数の台車、複数の製膜室、回転室、複数の待機室、ロードロック室、アンロード室、ローダ、アンローダ、各部屋の間に設けられたゲート弁などに例示される。
機器４−ｊは、指令情報ＯＲＤを受け取る。そして、指令情報ＯＲＤに従って、その動作を行う。そして、状態情報ＳＴＡを出力する。ただし、指令情報ＯＲＤは、機器４−ｊの動作を示し、動作にかける時間を示す実行時間情報、動作内容、目標値を含む。状態情報ＳＴＡは、指令情報ＯＲＤに基づく動作の結果による機器４−ｊの状態（例：台車の位置）を示す。
【００３４】
第２下位系制御装置としての下位系制御装置Ｂ３−ｉ（ｉ＝１〜ｎ）は、シーケンス制御の下位系（サーボ系）の制御装置であり、機器４−ｊの制御を行う。下位系制御装置Ｂ３−ｉは、パーソナルコンピュータやＰＬＣ（Ｐｒｏｇｒａｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）に例示される情報処理装置である。下位系制御装置Ｂ３−ｉは、機器４−ｊとネットワークＣ８により、下位系制御装置Ａ２とネットワークＢ７により接続されている。本実施例では、機器４−ｊのうちの台車（ｎ台）に対応して設けられている。
下位系制御装置Ｂ３−ｉは、指令情報ＯＲＤを受け取る。そして、各機器４−ｊ（台車を含む）に対して、対応する各指令情報ＯＲＤを実行する。すなわち、機器４−ｊのうちの台車（ｎ台）は、直接的に制御（命令）の対象となる機器４であり、その他の機器４は、台車が命令により動作する際に間接的に制御（命令）の対象となる。ただし、指令情報ＯＲＤは、各台車（機器４−ｊの一部）に対する命令としての命令情報ＣＯＭに基づいて、各台車及びそれに関連する各機器４−ｊについて生成される。
【００３５】
下位系制御装置Ｂ３−ｉは、プログラム及び機器としての通信部Ｂ３２、プログラムとしての動作実行部３１を備える。
動作実行部３１は、機器４−ｊから状態情報ＳＴＡを取得し、下位系制御装置Ａ２へ出力する。また、動作実行部３１は、下位系制御装置Ａ２から各機器４−ｊに対する指令情報ＯＤＲを取得し、指令情報ＯＤＲを各機器４−ｊに対して実行する（出力する）。
通信部Ｂ３２は、ネットワークＣ８及びネットワークＢ７を介した通信を行う。
【００３６】
第１下位系制御装置としての下位系制御装置Ａ２は、シーケンス制御の下位系（サーボ系）の制御装置である。下位系制御装置Ｂ３−ｉと上位系制御装置１との間のデータの送受信を媒介する。下位系制御装置Ａ２は、パーソナルコンピュータやＰＬＣに例示される情報処理装置である。下位系制御装置Ａ２は、下位系制御装置Ｂ３−ｉとネットワークＢ７により接続されている。ネットワークＣ８により、上位系制御装置１とネットワークＡ６により接続されている。
【００３７】
下位系制御装置Ａ２は、プログラムとしての動作司令部２１、プログラム及び機器としての通信部Ａ２２、共有メモリ２３、シーケンスデータベース３３、及び、データ対応テーブル３４を備える。
【００３８】
共有メモリ２３は、下位系制御装置Ｂ３−ｉから出力される状態情報ＳＴＡと、上位系制御装置１から出力される命令情報ＣＯＭとを格納する。共有メモリ２３は、状態情報ＳＴＡを格納する状態情報格納領域２５と、命令情報ＣＯＭを格納する命令情報格納領域２６とを含む。領域が分割されているので、それぞれの情報を検索する領域が限定され、分割されない場合に比較して処理速度が向上する。更に、各領域は、各機器４−ｊ（例示：各台車）ごとに分割していても良い。その場合、共有メモリ２３内の領域を、機器４−ｊで指定することで、各情報へのアクセスがより容易となる。共有メモリ２３は、ＲＡＭやハードディスクのような読み出し／書き込み可能な記憶装置に例示される。
【００３９】
通信部Ａ２２は、ネットワークＡ６及びネットワークＢ７を介した通信を行う。このような通信は、Ｅｔｈｅｒｎｅｔ（登録商標）を用いたネットワーク通信に例示される。
通信部Ａ２２は、下位系制御装置Ｂ３−ｉから状態情報ＳＴＡを取得し、共有メモリ２３の状態情報格納領域２５へ格納する。そして、上位系制御装置１からの読み出しの要求に基づいて、共有メモリ２３の状態情報格納領域２５の状態情報ＳＴＡを出力する。また、上位系制御装置１から命令情報ＣＯＭを取得する。
そして、命令情報ＣＯＭを、共有メモリ２３の命令情報格納領域２６へ格納する。
【００４０】
動作司令部２１は、共有メモリ２３の命令情報格納領域２６の命令情報ＣＯＭを、指令情報ＯＲＤへ変換する。そして、下位系制御装置Ｂ３−ｉへ出力する。
【００４１】
本実施例では、通信部Ａ２２が、台車に対する命令としての命令情報ＣＯＭを受信する。そして、その台車に割り当てられた命令情報格納領域２６内の所定の領域へ、その命令情報ＣＯＭを格納する。格納後、動作司令部２１は、その命令情報ＣＯＭに基づいて、シーケンスデータベース３３を参照して、関連する各機器４−ｊごとの指令情報ＯＲＤを生成する。そして、その台車に対応した下位系制御装置Ｂ３−ｉへ指令情報ＯＲＤを出力する。
【００４２】
動作データベースとしてのシーケンスデータベース３３は、機器４−ｊに対する命令としての命令情報ＣＯＭと、機器４−ｊの動作を示す指令情報ＯＲＤとを関連付けて格納している。シーケンスデータベース３３は、データ対応テーブル３４を含む。
データ対応テーブル３４は、指令情報ＯＲＤにおけるデータと機器４−ｊと動作を示す関数とを関連付けている。
【００４３】
上位系制御装置１は、シーケンス制御の上位系（状態判断系）の制御装置であり、各機器の状態情報ＳＴＡに基づいて、下位系制御装置Ａ２及びＢ３を介して各機器を制御する。上位系制御装置１は、ワークステーションやパーソナルコンピュータに例示される情報処理装置である。上位系制御装置１は、下位系制御装置Ａ２とネットワークＡ６により接続されている。
【００４４】
上位系制御装置１は、プログラム及び機器としての通信部Ａ１２、プログラムとしての動作指令部１１及び動作パタンデータベース１３を備える。
動作パタンデータベース１３は、順序を示す順序情報と、命令情報ＣＯＭと、命令情報ＣＯＭを出力するための条件となる状態情報ＳＴＡを示す条件状態情報ＳＴＡとを関連付けて格納している。
動作指令部１１は、状態情報ＳＴＡに基づき、運転パタンデータベース１３を参照して、機器４−ｊに対する命令情報ＣＯＭを生成する。
通信部Ａ１２は、ネットワークＡ６を介した通信を行う。このような通信は、Ｅｔｈｅｒｎｅｔ（登録商標）を用いたネットワーク通信に例示される。通信部Ａ１２は、共有メモリ２３から状態情報ＳＴＡを取得する。そして、下位系制御装置Ａ２へ出力する。
【００４５】
次に、動作パタンデータベース１３について説明する。
図３は、動作パタンデータベース１３を示す図である。動作パタンデータベース１３は、順序を示す順序情報と、命令情報ＣＯＭと、命令情報ＣＯＭを出力するための条件となる状態情報ＳＴＡを示す条件状態情報ＳＴＡとを関連付けて格納している。
【００４６】
ここで、順序情報は、ステップ１３−１、パタン番号１３−７及びパタン名１３−３を含む。ステップ１３−１は、一連のシーケンス制御において順番に行われる処理（命令情報ＣＯＭ）の順序を示す。順序を示す数字に例示される。パタン番号１３−７は、同一ステップ１３−１内で処理されるパタンの、優先順位を示す。順序を示す数字に例示される。パタン名１３−３は、動作の種類を示す。
通常（動作）、初期動作、終了動作に例示される。
命令情報ＣＯＭは、台車１３−２、現在値１３−４及び出力１３−５を含む。台車１３−２は、命令情報ＣＯＭの対象となる台車を示す。台車の名称や台車のＩＤに例示される。現在値１３−４は、命令情報ＣＯＭの対象となる台車の、現在の位置を示す。製膜室（Ｃ２〜Ｃ７）や、待機室（Ｃ１Ｓ〜Ｃ８Ｓ）、ロードロック室（Ｃ１）に例示される。出力１３−５は、命令情報ＣＯＭの対象となる台車の、命令情報ＣＯＭ実行後の位置及び命令実行時の動作を示す。位置は、製膜室（Ｃ２〜Ｃ７）や、待機室（Ｃ１Ｓ〜Ｃ８Ｓ）、ロードロック室（Ｃ１）に例示される。動作は、動作なし（この場合、記述しない）、ロード、セット、アンセット、アンロードに例示される。
状態情報ＳＴＡは、条件１３−６を含む。条件１３−６は、記載されている条件が満たされなければならない場合「１」、満たされてはならない場合「０」となる。
命令情報ＣＯＭの内、出力の対象となるのは、台車１３−２、現在値１３−４及び出力１３−５である。
【００４７】
例えば、表２行目については、以下のようになる。
シーケンス制御における第１番目の処理（ステップ１３−１：１）は、Ｌ台車に対する命令（台車１３−２：Ｌ台車）であり、通常の動作（パタン名１３−３：通常）である。Ｌ台車の現在の位置は製膜室Ｃ１（現在値１３−４：Ｃ１）であり、命令情報ＣＯＭの実行後には製膜室Ｃ２（出力１３−５：Ｃ２）に移動する。ただし、動作の記載が無いので移動だけである。命令情報ＣＯＭの実行の条件は、Ｌ台車に基板が搭載され（条件１３−６：Ｌ台車基板「１」）、製膜室Ｃ２が休止せず（条件１３−６：Ｃ２休止「０」）、製膜室Ｃ２に基板がなく（条件１３−６：Ｃ２基板「０」）、製膜室Ｃ２が使用不可でない（条件１３−６：Ｃ２不可「０」）となる場合である。
【００４８】
次に、シーケンスデータベース３３について説明する。
図４は、シーケンスデータベース３３を説明する図である。シーケンスデータベース３３は、機器４−ｊに対する命令としての命令情報ＣＯＭと、機器４−ｊの動作を示す指令情報ＯＲＤとを関連付けて格納している。
ここで、命令情報ＣＯＭは、ｆｒｏｍ３３−１、ｔｏ３３−２、ｄｏ３３−３及びｓｔｅｐ３３−４を含む。ｆｒｏｍ３３−１は、命令情報ＣＯＭの対象となる台車の現在の位置を示し、欄３３−１ａに記載される。動作パタンデータベース１３の現在値１３−４に対応する。製膜室（Ｃ２〜Ｃ７）や、待機室（Ｃ１Ｓ〜Ｃ８Ｓ）、ロードロック室（Ｃ１）に例示される。ただし、ここでは、コードで示されている（例示：欄３３−１ａの「１１０」は、待機室Ｃ１Ｓを示す）。
ｔｏ３３−２は、命令情報ＣＯＭの対象となる台車の命令情報ＣＯＭ実行後の位置を示し、欄３３−２ａに記載される。動作パタンデータベース１３の出力１３−５に対応する。製膜室や、待機室、ロードロック室に例示される。ただし、ここでは、コードで示されている（例示：欄３３−２ａの「１２０」は、ロードロック室Ｃ１を示す）。ｄｏ３３−３は、命令情報ＣＯＭの対象となる台車の命令情報ＣＯＭ実行時の動作を示し、欄３３−３ａに記載される。動作パタンデータベース１３の出力１３−５に対応する。動作なし：０、ロード：１、セット：２、アンセット：３、アンロード：４のコードで示される。例えば、欄３３−３ａは、「１」のロードである。ｓｔｅｐ３３−４は、命令情報ＣＯＭの動作を実行する際の、動作のステップ数を示し、欄３３−４ａに記載される。例えば、欄３３−４ａは、「４」であり４つのステップとなる。
【００４９】
また、指令情報ＯＲＤは、ｃｌａｓｓ３３−５、ｒｅｃｏｒｄ３３−６、ｃｏｄｅ３３−７及びコメント３３−８を含む。
ｃｌａｓｓ３３−５は、機器４−ｊの種類を示し、欄３３−５ａに記載される。機器４−ｊの種類は、台車（ｃｌａｓｓ：１）、製膜室（ｃｌａｓｓ：２）、待機室（ｃｌａｓｓ：３）、ロードロック室（アンロード室）（ｃｌａｓｓ：４）、ローダ（アンローダ）（ｃｌａｓｓ：５）、ゲート弁（ドア弁）（ｃｌａｓｓ：６）、回転室（ｃｌａｓｓ：７）、カセットバッファ（ｃｌａｓｓ：８）である。例えば、欄３３−５ａは、「３」の待機室及び「５」のローダである。ｒｅｃｏｒｄ３３−６は、ｃｌａｓｓ３３−５の種類における機器４−ｊの個別ＩＤを示し、欄３３−６ａに記載される。例えば、ｃｌａｓｓ：３（待機室）のｒｅｃｏｒｄ：０は、Ｃ１Ｓを示し、ｃｌａｓｓ：５（ローダ（アンローダ））のｒｅｃｏｒｄ：０は、ローダを示す。各ｃｌａｓｓごとに決められている。ｃｏｄｅ３３−７は、ｃｌａｓｓ３３−５の種類における機器４−ｊの動作を示し、欄３３−７ａに記載される。例えば、ｃｌａｓｓ：３（待機室）のｃｏｄｅ：６は、台車移動（待機室→製膜室）であり、ｃｌａｓｓ：５（ローダ（アンローダ））のｃｏｄｅ：２は、台車移動（Ｃ１→ＬＤ）である。コメント３３−８は、動作を分かり易く示したコメント文である。
【００５０】
欄３３−１ａ〜欄３３−３ａに示される命令情報ＣＯＭは、欄３３−５ａ〜欄３３−７ａに示される指令情報ＯＲＤにより各機器の具体的な動作の形で示される。
【００５１】
次に、データ対応テーブル３４について説明する。
図５は、データ対応テーブル３４を説明する図である。データ対応テーブル３４は、指令情報ＯＲＤにおけるデータと機器４−ｊと動作を示す関数とを関連付けている。
指令情報ＯＲＤにおけるデータは、クラス番号３４−１、レコード番号３４−２である。すなわち、クラス番号３４−１は、シーケンスデータベース３３におけるｃｌａｓｓ３３−５に対応する。レコード番号３４−３は、シーケンスデータベース３３におけるｒｅｃｏｒｄ３３−６に対応する。
機器４−ｊの情報は、装置名称３４−３である。装置名称３４−３は、クラス番号３４−１及びレコード番号３４−２で特定される各装置４−ｊを示す。具体的な名称やＩＤ番号に例示される。
動作を示す関数は、動作関数番号３４−４及び内部関数３４−５である。動作関数番号３４−４は、シーケンスデータベース３３におけるｃｏｄｅ３３−７に対応する。内部関数３４−５は、動作関数番号３４−４の動作を各機器４−ｊに実行させる具体的な動作関数のプログラムである。関数プログラムは、機器４−ｊに対応して、動作関数（動作命令）ごとに設けられている。
【００５２】
指令情報ＯＲＤのｃｏｄｅ３３−７（シーケンスデータベース３３）を実行する機器４−ｊは、ｃｌａｓｓ３３−５及びｒｅｃｏｒｄ３３−６と対応するクラス番号３４−１及びレコード番号３４−２（データ対応テーブル３４）に基づいて、装置名称３４−３で特定される。指令情報ＯＲＤのｃｏｄｅ３３−７（シーケンスデータベース３３）の内容は、特定された機器４−ｊ（装置名称３４−３）の欄のｃｏｄｅ３３−７とに対応する動作関数番号３４−４（データ対応テーブル３４）に基づいて、内部関数３４−５で特定される。
【００５３】
次に、太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態の動作について説明する。
図６及び図７は、太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態の動作を説明するフロー図である。
【００５４】
（１）ステップＳ１
上位系制御装置１（動作指令部１１）は、動作パタンデータベース１３から、実行していない動作のうちの、ステップ１３−１における一番若いデータを読み出す。その際、ステップ１３−１が同一でパタン番号１３−７が複数ある場合、パタン番号１３−７の一番若いデータを読み出す。
（２）ステップＳ２
上位系制御装置１（通信部Ａ１２）は、下位系制御装置Ａ２へ、状態情報ＳＴＡの問い合せを送信する。下位系制御装置Ａ２（通信部Ａ２２）は、問い合わせを受信する。
（３）ステップＳ３
下位系制御装置Ａ２（通信部Ａ２２）は、問い合わせに基づいて、共有メモリ２３の状態情報格納領域２５から状態情報ＳＴＡを取り出し、上位系制御装置１へ出力する。上位系制御装置１（通信部Ａ１２）は、状態情報ＳＴＡを取得する。
（４）ステップＳ４
上位系制御装置１（動作指令部１１）は、取得した状態情報ＳＴＡに基づいて、ステップＳ１で読み出したデータの条件１３−６が、全て満足されているか否かを判断する。満足されていない場合には、ステップＳ１へ戻る。その際、同一のステップ１３−１における次のパタン番号１３−７を選択する。
（５）ステップＳ５
上位系制御装置１（動作指令部１１）は、ステップＳ１で読み出したデータの台車１３−２、現在値１３−４及び出力１３−５を命令情報ＣＯＭとする。そして、上位系制御装置１（通信部Ａ１２）は、命令情報ＣＯＭを下位系制御装置Ａ２へ送信する。下位系制御装置Ａ２（通信部Ａ１２）は、命令情報ＣＯＭを受信する。
（６）ステップＳ６
下位系制御装置Ａ２（通信部Ａ２２）は、命令情報ＣＯＭを共有メモリ２３の命令情報格納領域２６に格納する。
（７）ステップＳ７
下位系制御装置Ａ２（動作司令部２１）は、共有メモリ２３の下位系制御装置Ｂ３−ｉ（各台車）に対応する命令情報格納領域２６から、命令情報ＣＯＭを取り出す。そして、その命令情報ＣＯＭの現在値１３−４及び出力１３−５に基づいて、シーケンスデータベース３３（データ対応テーブル３４を含む）を参照して、関連する各機器４−ｊへの指令情報ＯＲＤを生成する。
すなわち、まず、シーケンスデータベース３３の中から、命令情報ＣＯＭの現在値１３−４及び出力１３−５に対応するｆｒｏｍ３３−１、ｔｏ３３−２及びｄｏ３３−３を有する１セットの情報を取り出す。そして、その情報におけるｃｌａｓｓ３３−５、ｒｅｃｏｒｄ３３−６及びｄｏｃｅ３３−７について、データ対応テーブル３４により、個別の各機器４−ｊに対する内部関数３４−５で示される動作を、指令情報ＯＲＤ（のセット）として生成する。
これにより、指定された台車の動作が、台車及び関連する各機器４−ｊごとの動作指令（動作内容と目標値）に分解される。
（８）ステップＳ８
下位系制御装置Ａ２（動作司令部２１）は、生成された指令情報ＯＲＤ（のセット）を、下位系制御装置Ｂ３−ｉへ出力する。下位系制御装置Ｂ３−ｉ（動作実行部３１）は、指令情報ＯＲＤ（のセット）を取得する。
（９）ステップＳ９
下位系制御装置Ｂ３−ｉ（動作実行部３１）は、順番に対応する各機器４−ｊに対して、各指令情報ＯＲＤに基づいて、制御情報を出力する。制御情報は、内部関数を含み、各機器４−ｊを動作させる命令である。例えば、図４の一番上の欄に示すｆｒｏｍ３３−１ａ：１１０、ｔｏ３３−２ａ：１２０、ｄｏ３３−３ａ：１の例では、まず、一番上のｃｌａｓｓ：３、ｒｅｃｏｒｄ：０、ｃｏｄｅ：６に対応して生成された指令情報ＯＲＤに基づいて、制御情報を対応する機器４−ｊへ出力する。対応する機器４−ｊは、制御情報を受信する。そして、以下順番にｃｌａｓｓ、ｒｅｃｏｒｄ、ｃｏｄｅに対応して生成された指令情報ＯＲＤに基づいて、対応する機器４−ｊを制御し、指令情報ＯＲＤのセットを実行する。
（１０）ステップＳ１０
機器４−ｊは、制御情報を実行する。このとき、内部関数３５−５には、内部関数で示される動作を実行する時間（実行時間情報）が含まれているので、機器４−ｊは、その時間で動作を実行し、その時間経過後に、指令情報ＯＲＤの動作が終了する。
（１１）ステップＳ１１
機器４−ｊは、動作の終了後、機器４−ｊの現在の状態を示す状態情報ＳＴＡを出力する。下位系制御装置Ｂ３−ｉ（動作実行部３１）は、状態情報ＳＴＡを受信する。状態情報ＳＴＡは、記憶部（図示されず）に一時格納される。ただし、所定の時間（例示：実行時間情報の１．５倍）以上経過しても状態情報ＳＴＡを受信できない場合には、アラームを発する／緊急停止するようにしても良い。（１２）ステップＳ１２
下位系制御装置Ｂ３−ｉ（動作実行部３１）は、各機器４−ｊの状態情報ＳＴＡを下位系制御装置Ａ２へ送信する。下位系制御装置Ａ（通信部Ａ２２）は、各機器４−ｊの状態情報ＳＴＡを受信する。
（１３）ステップＳ１３
下位系制御装置Ａ２（通信部Ａ２２）は、各機器４−ｊの状態情報ＳＴＡを、共有メモリ２３の各機器４−ｊに対応する状態情報格納領域２５に格納する。
（１４）ステップＳ１４
下位系制御装置Ａ２（通信部Ａ２２）は、共有メモリ２３の状態情報格納領域２５から対応する機器４−ｊの状態情報ＳＴＡを取り出し、上位系制御装置１へ出力する。上位系制御装置１（通信部Ａ１２）は、状態情報ＳＴＡを取得する。（１５）ステップＳ１５
下位系制御装置Ａ２（動作司令部２１）は、生成された指令情報ＯＲＤを全て順番に実行したか否かを判定する。例えば、図４の一番上の欄に示すｆｒｏｍ３３−１ａ：１１０、ｔｏ３３−２ａ：１２０、ｄｏ３３−３ａ：１の例では、４つのステップを順番に全て実行したか否かを判定する。判定は、ｔｏ３３−２ａ、ｄｏ３３−３ａと状態情報ＳＡＴとを比較することで行う。全ての指令情報ＯＲＤを実行していない場合には、ステップＳ８へ戻る。
（１６）ステップＳ１６
上位系制御装置１（動作指令部１１）は、状態情報ＳＴＡが命令情報ＣＯＭで命令した通りになっているか否かを判定する。命令した通りになっていない場合には、ステップＳ１４へ戻る。
（１７）ステップＳ１７
上位系制御装置１（動作指令部１１）は、動作パタンデータベース１３の全てのステップ１３−１を終了したか否かを判定する。ステップ１３−１が、全て終了している場合には、一連のプロセスは終了する。
（１８）ステップＳ１８
上位系制御装置１（動作指令部１１）は、ステップ１３−１が全て終了していないので、ステップ１３−１の番号に１を加えて、ステップ１へ戻る。そして、シーケンスに制御を実行する。
【００５５】
以上の動作により、シーケンス制御が行われる。
【００５６】
上記のシーケンス制御では、下位系制御装置は、機器の移動速度や移動量などのパラメータを持ち、機器の直接の制御を行う。一方、上位系制御装置は、下位系制御装置へ指令（命令情報ＣＯＭ）を出し、その完了を待つというシンプルな繋がりを実現することが可能となる。
【００５７】
上記のシーケンス制御では、下位系制御装置は、上位系制御装置からの指令（命令情報ＣＯＭ）を実行しさえすれば、実行に関わる機器の制御を、上位系制御装置の制御プログラムとは独立して行うことが出来る。すなわち、下位系制御装置による機器の制御に関する制御プログラムの変更に際して、上位系制御装置の制御プログラムを変更することなく行うことが出来る。従って、制御プログラムの変更、修正、追加等の作業が容易となる。上位系制御装置の制御プログラムの変更についても同様に、制御プログラムの変更、修正、追加等の作業が容易となる。
【００５８】
次に、上記のシーケンス制御システムの検証を行う、本発明であるシーケンス制御の検証方法及びシーケンス制御検証装置に関する実施の形態について説明する。
【００５９】
まず、本発明であるシーケンス制御検証装置の実施の形態の構成について説明する。
図２は、本発明であるシーケンス制御検証装置の実施の形態の構成を説明する図である。このシーケンス制御検証装置５１は、下位系制御装置の動作を模擬し、ワークステーションやパーソナルコンピュータに例示される情報処理装置である。プログラムとしての下位系制御装置Ａ模擬部５２及び下位系制御装置Ｂ模擬部５３−ｉ（ｉ＝１〜ｎ）を具備し、上位系制御装置１とネットワークＡ６で接続されている。ただし、シーケンス制御検証装置５１は、下位系制御検証装置ともいう。
【００６０】
下位系制御装置Ｂ模擬部５３−ｉ（ｉ＝１〜ｎ）は、シーケンス制御の下位系（サーボ系）の制御装置（下位系制御装置Ｂ３−ｉ（ｉ＝１〜ｎ））を模擬する。本実施例では、模擬される機器４−ｊのうちの台車（ｎ台）に対応して設けられている。そして、各台車に対する命令としての命令情報ＣＯＭに基づいて、関連する各機器４−ｊについて生成される指令情報ＯＲＤを受け取り、その指令情報ＯＲＤを実行する各機器４−ｊ（台車を含む）の制御の動作、及び、各機器４−ｊの動作を模擬する。ただし、機器４−ｊ（ｊ＝１〜ｍ）は、太陽電池の製膜装置に関わる複数の機器である。機器４−ｊは、複数の台車、複数の製膜室、回転室、複数の待機室、ロードロック室、アンロード室、ローダ、アンローダ、各部屋の間に設けられたゲート弁などに例示される。
【００６１】
下位系制御装置Ｂ模擬部５３−ｉは、模擬動作実行部７１を備える。
模擬動作実行部７１は、機器４−ｊの動作を模擬して、その状態情報ＳＴＡを下位系制御装置Ａ模擬部５２の共有メモリ６３（後述）へ格納する。また、模擬動作実行部７１は、下位系制御装置Ａ模擬部５２から機器４−ｊに対する指令情報ＯＲＤを取得し、指令情報ＯＲＤを実行する各機器４−ｊの動作を模擬する。
【００６２】
下位系制御装置Ａ模擬部５２は、シーケンス制御の下位系（サーボ系）の制御装置（下位系制御装置Ａ２）を模擬する。また、下位系制御装置Ｂ模擬部５３−ｉとの通信を模擬すると共に、上位系制御装置１との間のデータの送受信を行う。
【００６３】
下位系制御装置Ａ模擬部５２は、通信部Ａ６２及び共有メモリ６３を搭載し、プログラムとしての動作司令部６１、シーケンスデータベース７３を備える。また、シーケンスデータベース７３は、装置対応テーブル７４動作対応テーブル７５及び関数対応テーブル７６を含む。
模擬供給メモリとしての共有メモリ６３は、下位系制御装置Ｂ模擬部５３−ｉから出力される状態情報ＳＴＡと、上位系制御装置１から出力される命令情報ＣＯＭとを格納する。共有メモリ６３は、状態情報ＳＴＡを格納する状態情報格納領域６５と、命令情報ＣＯＭを格納する命令情報格納部６６とを含む。領域が分割されているので、それぞれの情報を検索する領域が限定され、分割されない場合に比較して処理速度が向上する。更に、各領域は、模擬される各機器４−ｊごとに分割していても良い。その場合、模擬している各機器４−ｊを指定することで、各情報へのアクセスが容易となる。
【００６４】
通信部Ａ６２は、ネットワークＡ６を介した通信を行う。このような通信は、Ｅｔｈｅｒｎｅｔ（登録商標）を用いたネットワーク通信に例示される。
通信部Ａ６２は、下位系制御装置Ｂ模擬部５３−ｉから状態情報ＳＴＡを取得し、共有メモリ６３の状態情報格納領域６５へ格納する。そして、上位系制御装置１からの読み出しの要求に基づいて、共有メモリ６３の状態情報格納領域６５の状態情報ＳＴＡを出力する。また、上位系制御装置１から命令情報ＣＯＭを取得する。そして、命令情報ＣＯＭを、共有メモリ６３の命令情報格納領域６６へ格納する。
【００６５】
動作司令部６１は、共有メモリ６３の命令情報格納領域６６の命令情報ＣＯＭを、指令情報ＯＲＤへ変換する。そして、下位系制御装置Ｂ模擬部５３−ｉへ出力する。
【００６６】
本実施例では、通信部Ａ６２が、台車に対する命令としての命令情報ＣＯＭを受信する。そして、その台車に割り当てられた命令情報格納領域６６内の所定の領域へ、その命令情報ＣＯＭを格納する。格納後、動作司令部６１は、その命令情報ＣＯＭに基づいて、シーケンスデータベース７３を参照して、関連する各機器４−ｊごとの指令情報ＯＲＤを生成する。そして、その台車に対応した下位系制御装置Ｂ３−ｉへ指令情報ＯＲＤを出力する。
【００６７】
動作データベースとしてのシーケンスデータベース７３は、シーケンスデータベース３３と同じである（図４及びその説明の通りである）ので、その説明を省略する。
装置対応テーブル７４は、指令情報ＯＲＤにおけるデータと機器４−ｊとを関連付けている。
動作対応テーブル７５は、指令情報ＯＲＤにおけるデータと動作を示す関数としての動作関数とを関連付けている。
関数対応テーブル７６は、動作関数と機器４−ｊに対応する動作命令とを関連付けている。
【００６８】
次に、装置対応テーブル７４について更に説明する。
図９は、装置対応テーブル７４を説明する図である。装置対応テーブル７４は、指令情報ＯＲＤにおけるデータと機器４−ｊとを関連付けている。指令情報ＯＲＤにおけるデータは、クラス番号７４−１、（装置名称７４−２）、レコード番号７４−３である。すなわち、クラス番号７４−１は、シーケンスデータベース３３におけるｃｌａｓｓ３３−５に対応する。レコード番号７４−３は、シーケンスデータベース３３におけるｒｅｃｏｒｄ３３−６に対応する。機器４−ｊの情報は、個別名称７４−４である。個別名称７４−４は、クラス番号７４−１及びレコード番号７４−３で特定される各装置４−ｊの個別名称を示す。具体的な名称やＩＤ番号に例示される。
指令情報ＯＲＤのｃｏｄｅ３３−７（シーケンスデータベース３３）を実行する機器４−ｊは、ｃｌａｓｓ３３−５及びｒｅｃｏｒｄ３３−６と対応するクラス番号７４−１及びレコード番号７４−３（装置対応テーブル７４）に基づいて、個別名称７４−４で特定される。
【００６９】
次に、動作対応テーブル７５について更に説明する。
図１０は、動作対応テーブル７５を説明する図である。動作対応テーブル７５は、指令情報ＯＲＤにおけるデータと動作を示す関数としての動作関数とを関連付けている。
指令情報ＯＲＤにおけるデータは、クラス番号７５−１、（装置名称７５−２）、動作関数番号７５−３、（機能７５−４）である。すなわち、クラス番号７５−１は、シーケンスデータベース３３におけるｃｌａｓｓ３３−５に対応する。
動作関数番号７５−３は、シーケンスデータベース３３におけるｃｏｄｅ３３−７に対応する。装置名称７５−２は、クラス番号７５−１で特定される装置４−ｊの名称（種類）を示す。具体的な名称やＩＤ番号に例示される。機能７５−４は、動作関数番号７５−３に対応する動作の内容を示す。動作を示す関数としての動作関数は、内部関数７５−５である。内部関数７５−５は、動作関数番号７５−３の動作を各機器４−ｊに実行させる具体的な動作関数のプログラムの名称である。関数プログラムは、動作関数と機器４−ｊに対応する動作命令とを関連付けた関数対応テーブル７６から読み出す。
指令情報ＯＲＤのｃｏｄｅ３３−７（シーケンスデータベース３３）の内容は、ｃｌａｓｓ３３−５及びｃｏｄｅ３３−７と対応するクラス番号７５−１及び動作関数番号７５−３（動作対応テーブル３５）に基づいて、内部関数７５−５で特定される。
【００７０】
上位系制御装置１は、シーケンスの制御を検証されるシーケンス制御の上位系（状態判断系）の制御装置である。図１に示す上位系制御装置１と同様である。
【００７１】
次に、本発明であるシーケンス制御検証装置の実施の形態の動作ついて説明する。
図１１は、本発明であるシーケンス制御検証装置の実施の形態の第１の動作を説明するフロー図である。ここでは、下位系制御装置Ａと下位系制御装置Ｂとの間の動作を検証するために、シーケンス制御検証装置５１の内部で、下位系制御装置Ａ模擬部５２と下位系制御装置Ｂ模擬部５３−ｉとの間で行う検証について説明する。この場合、図６及び図７におけるステップＳ６〜ステップＳ１５までの動作を検証する。
【００７２】
（１）ステップＳ２１
検証用の命令情報ＣＯＭは、検証の最初に、共有メモリ６３の命令情報格納領域６６に格納される。ここで、命令情報ＣＯＭは、入力される。
（２）ステップＳ２２
下位系制御装置Ａ模擬部５２（動作司令部６１）は、各機器４−ｊ（台車）に対応する命令情報格納領域６６から、命令情報ＣＯＭを取り出す。そして、その命令情報ＣＯＭに基づいて、シーケンスデータベース７３を参照して、個別の各機器４−ｊの動作に対応する内部関数３５−５のセットとして、指令情報ＯＲＤのセットを生成する。
（３）ステップＳ２３
下位系制御装置Ａ模擬部５２（動作司令部６１）は、生成された指令情報ＯＲＤのセットを、下位系制御装置Ｂ模擬部５３−ｉへ出力する。下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、指令情報ＯＲＤのセットを取得する。
（４）ステップＳ２４
下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、指令情報ＯＲＤのセットを、その順番に従って実行する。すなわち、最初の指令情報ＯＲＤについて、対応する機器４−ｊに対して指令情報ＯＲＤを実行する。
ただし、実際には機器４−ｊが接続されていないので、模擬動作実行部７１は、プログラム上でその動作を模擬する。すなわち、まず、指令情報ＯＲＤの内部関数に含まれる実行時間情報から動作にかかる実効時間と、指令情報ＯＲＤを実行後の機器４−ｊの状態情報ＳＴＡとを取得する。次に、実行時間経過後に、模擬された機器４−ｊの状態が状態情報ＳＴＡのようになった（指令情報ＯＲＤが実行された）こととする。そして、模擬された機器４−ｊが、状態情報ＳＴＡを出力したものとする。以上により、機器４−ｊの動作が模擬される。
下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、生成された指令情報ＯＲＤを全て順番に実行したか否かを判定する。例えば、図４の一番上の欄に示すｆｒｏｍ３３−１ａ：１１０、ｔｏ３３−２ａ：１２０、ｄｏ３３−３ａ：１の例では、４つのステップを順番に全て実行したか否かを判定する。全ての指令情報ＯＲＤを実行していない場合には、このステップ（Ｓ２４）の最初に戻り、残りの指令情報ＯＲＤを上記のように実行する。
（５）ステップＳ２５
下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、生成された指令情報ＯＲＤを全て順番に実行した後、模擬された各機器４−ｊの状態情報ＳＴＡを下位系制御装置Ａ模擬部５２へ送信する。下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、模擬された各機器４−ｊの状態情報ＳＴＡを受信する。
（６）ステップＳ２６
下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、模擬された各機器４−ｊの状態情報ＳＴＡを共有メモリ６３の状態情報格納領域６５に格納する。
（７）ステップＳ２７
下位系制御装置Ａ２模擬部５２（動作司令部６１）は、生成された指令情報ＯＲＤを全て順番に実行したか否かを判定する。例えば、図４の一番上の欄に示すｆｒｏｍ３３−１ａ：１１０、ｔｏ３３−２ａ：１２０、ｄｏ３３−３ａ：１の例では、４つのステップを順番に全て実行したか否かを判定する。判定は、ｔｏ３３−２ａ、ｄｏ３３−３ａと状態情報ＳＡＴとを比較することで行う。全ての指令情報ＯＲＤを実行していない場合には、ステップＳ２３へ戻る。
（８）ステップＳ２８
下位系制御装置Ａ模擬部５２（動作司令部６１）は、状態情報格納領域６５に格納された状態情報ＳＴＡを、ステップＳ２１で入力した命令情報ＣＯＭの命令の達成による状態と同じか否かを比較（評価）する。また、その結果をシーケンス制御検証装置５１のディスプレイに表示する。
そして、命令情報ＣＯＭの全てについて、ステップＳ２１〜Ｓ２８の検証を行う。
【００７３】
このような下位系制御装置Ａ模擬部５２と下位系制御装置Ｂ模擬部５３−ｉとの間で行う検証により、実際に下位系制御装置Ａと下位系制御装置Ｂとを用いずとも、下位系制御装置Ａと下位系制御装置Ｂとの間の動作を検証することができる。
【００７４】
この検証の後、下位系制御装置Ａ模擬部５２（プログラム）を下位系制御装置Ａ２に搭載し、下位系制御装置Ｂ模擬部５３−ｉ（プログラム）を下位系制御装置Ｂ３−ｉに搭載して、同様にステップＳ２１〜Ｓ２８により、下位系制御装置Ａ２と下位系制御装置Ｂ３−ｉとの間の動作を検証する。これにより、上位系制御装置１に接続することなく、実際の機器により下位系制御装置Ａと下位系制御装置Ｂとの間の動作を検証することが出来る。また、下位系制御装置Ａ模擬部５２と下位系制御装置Ｂ模擬部５３−ｉとの間で事前に検証しているので、実際の機器による検証の労力を減らすことが出来る。
【００７５】
図１２は、本発明であるシーケンス制御検証装置の実施の形態の第２の動作を説明するフロー図である。ここでは、下位系制御装置Ａと上位系制御装置との間の動作を検証するために、シーケンス制御検証装置５１の下位系制御装置Ａ模擬部５２と上位系制御装置１との間で行う検証について説明する。この場合、図６におけるステップＳ１〜ステップＳ６までの動作を検証する。
【００７６】
（１）ステップＳ３１
外部からの入力された検証用の状態情報ＳＴＡは、検証の最初に、通信部Ａ６２により、共有メモリ６３の状態情報格納領域６５に格納される。
（２）ステップＳ３２
上位系制御装置１（動作指令部１１）は、動作パタンデータベース１３から、実行していない動作のうちの、ステップ１３−１における一番若いデータを読み出す。その際、ステップ１３−１が同一でパタン番号１３−７が複数ある場合、パタン番号１３−７の一番若いデータを読み出す。
（３）ステップＳ３３
上位系制御装置１（通信部Ａ１２）は、シーケンス制御検証装置５１の下位系制御装置Ａ模擬部５２へ、状態情報ＳＴＡの問い合せを送信する。下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、問い合わせを受信する。
（４）ステップＳ３４
下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、問い合わせに基づいて、共有メモリ６３の状態情報格納領域６５から状態情報ＳＴＡを取り出し、上位系制御装置１へ出力する。上位系制御装置１（通信部Ａ１２）は、状態情報ＳＴＡを取得する。
（５）ステップＳ３５
上位系制御装置１（動作指令部１１）は、取得した状態情報ＳＴＡに基づいて、ステップＳ３２で読み出したデータの条件１３−６が、全て満足されているか否かを判断する。満足されていない場合には、ステップＳ３２へ戻る。その際、同一のステップ１３−１における次のパタン番号１３−７を選択する。
（６）ステップＳ３６
上位系制御装置１（動作指令部１１）は、ステップＳ３２で読み出したデータの台車１３−２、現在値１３−４及び出力１３−５を命令情報ＣＯＭとする。そして、上位系制御装置１（通信部Ａ１２）は、命令情報ＣＯＭを下位系制御装置Ａ模擬部５２へ送信する。下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、命令情報ＣＯＭを受信する。
（７）ステップＳ３７
下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、命令情報ＣＯＭを共有メモリ６３の台車１３−２（下位制御系制御装置Ｂ模擬部５３−ｉ）に対応する命令情報格納領域６６に格納する。
（８）ステップＳ３８
下位系制御装置Ａ模擬部５２（動作司令部６１）は、命令情報格納領域６６に格納された命令情報ＣＯＭを、ステップＳ３２における動作パタンデータベース１３のデータに対応した命令情報ＣＯＭ（又は、それに基づいく指令情報ＯＲＤ）であるか否かを比較（評価）する。また、その結果をシーケンス制御検証装置５１のディスプレイに表示する。
そして、動作パタンデータベース１３の全てのデータ（例示：順序情報（ステップ１３−１）の最初から最後まで）について、ステップＳ３１〜Ｓ３８の検証を行う。
【００７７】
このようなシーケンス制御検証装置５１の下位系制御装置Ａ模擬部５２と上位系制御装置１との間で行う検証により、実際に下位系制御装置Ａと上位系制御装置とを接続して用いなくても、下位系制御装置Ａと上位系制御装置との間の動作を検証することが出来る。
【００７８】
この検証の後、下位系制御装置Ａ模擬部５２（プログラム）を下位系制御装置Ａ２に搭載して、同様にステップＳ３１〜Ｓ３９により、上位系制御装置１と下位系制御装置Ａ２との間の動作を検証する。これにより、下位系制御装置Ｂ３−ｉに接続することなく、実際の機器により上位系制御装置１と下位系制御装置Ａ２との間の動作を検証することが出来る。また、下位系制御装置Ａ模擬部５２と上位系制御装置１との間で事前に検証しているので、実際の機器による検証の労力を減らすことが出来る。
【００７９】
図１３及び図１４は、本発明であるシーケンス制御検証装置の実施の形態の第３の動作を説明するフロー図である。ここでは、上位系制御装置と下位系制御装置Ａと下位系制御装置Ｂとの間の動作を検証するために、上位系制御装置１とシーケンス制御検証装置５１の下位系制御装置Ａ模擬部５２と下位系制御装置Ｂ模擬部５３−ｉとの間で行う検証について説明する。この場合、図６及び図７におけるステップＳ１〜Ｓ１８までの動作を検証する。
【００８０】
（１）ステップＳ４１
上位系制御装置１（動作指令部１１）は、動作パタンデータベース１３から、実行していない動作のうちの、ステップ１３−１における一番若いデータを読み出す。その際、ステップ１３−１が同一でパタン番号１３−７が複数ある場合、パタン番号１３−７の一番若いデータを読み出す。このとき、外部からの入力された検証用の状態情報ＳＴＡは、検証の最初に、通信部Ａ６２により、共有メモリ６３の状態情報格納領域６５に格納されている。
（２）ステップＳ４２
上位系制御装置１（通信部Ａ１２）は、シーケンス制御検証装置５１の下位系制御装置Ａ模擬部５２へ、状態情報ＳＴＡの問い合せを送信する。下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、問い合わせを受信する。
（３）ステップＳ４３
下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、問い合わせに基づいて、共有メモリ６３の状態情報ＳＴＡ格納領域６５から状態情報ＳＴＡを取り出し、上位系制御装置１へ出力する。上位系制御装置１（通信部Ａ１２）は、状態情報ＳＴＡを取得する。
（４）ステップＳ４４
上位系制御装置１（動作指令部１１）は、取得した状態情報ＳＴＡに基づいて、ステップＳ４１で読み出したデータの条件１３−６が、全て満足されているか否かを判断する。満足されていない場合には、ステップＳ４１へ戻る。その際、同一のステップ１３−１における次のパタン番号１３−７を選択する。
（５）ステップＳ４５
上位系制御装置１（動作指令部１１）は、ステップＳ４１で読み出したデータの台車１３−２、現在値１３−４及び出力１３−５を命令情報ＣＯＭとする。そして、上位系制御装置１（通信部Ａ１２）は、命令情報ＣＯＭを下位系制御装置Ａ模擬部５２へ送信する。下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、命令情報ＣＯＭを受信する。
（６）ステップＳ４６
下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、命令情報ＣＯＭを共有メモリ６３の命令情報格納領域６６に格納する。
（７）ステップＳ４７
下位系制御装置Ａ模擬部５２（動作司令部６１）は、共有メモリ６３の下位系制御装置Ｂ模擬部５３−ｉ（各台車）に対応する命令情報格納領域６６から、命令情報を取り出す。そして、命令情報ＣＯＭの現在値１３−４及び出力１３−５に基づいて、シーケンスデータベース７３を参照して、関連する各機器４−ｊへの指令情報ＯＲＤを生成する。
すなわち、まず、シーケンスデータベース７３の中から、命令情報ＣＯＭの現在値１３−４及び出力１３−５に対応するｆｒｏｍ３３−１、ｔｏ３３−２及びｄｏ３３−３を有する１セットの情報を取り出す。そして、その情報におけるｃｌａｓｓ３３−５、ｒｅｃｏｒｄ３３−６及びｄｏｃｅ３３−７について、装置対応テーブル７４、動作対応テーブル７５及び関数対応テーブル７６により、個別の各機器４−ｊに対する内部関数３５−５で示される動作を、指令情報ＯＲＤ（のセット）として生成する。
（８）ステップＳ４８
下位系制御装置Ａ模擬部５２（動作司令部６１）は、生成された指令情報ＯＲＤ（のセット）を、下位系制御装置Ｂ模擬部５３−ｉへ出力する。下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、指令情報ＯＲＤを取得する。
（９）ステップＳ４９
下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、指令情報ＯＲＤについて、各機器４−ｊの動作を模擬する。すなわち、まず、指令情報ＯＲＤの内部関数に含まれる実行時間情報から動作にかかる実効時間と、指令情報ＯＲＤを実行後の機器４−ｊの状態情報ＳＴＡとを取得する。そして、実行時間経過後に、模擬された機器４−ｊの状態が状態情報ＳＴＡのようになったこととする。
同様にして、下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、全ての指令情報ＯＲＤについて、順番に処理する。
例えば、図４の一番上の欄に示すｆｒｏｍ３３−１ａ：１１０、ｔｏ３３−２ａ：１２０、ｄｏ３３−３ａ：１の例では、４つのステップの各々について、実行時間経過後に、模擬された機器４−ｊの状態が状態情報ＳＴＡのようになったこととする。
（１０）ステップＳ５０
下位系制御装置Ｂ模擬部５３−ｉ（模擬動作実行部７１）は、模擬された各機器４−ｊの状態情報ＳＴＡを下位系制御装置Ａ模擬部５２へ送信する。下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、模擬された各機器４−ｊの状態情報ＳＴＡを受信する。
（１１）ステップＳ５１
下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、模擬された各機器４−ｊの状態情報ＳＴＡを共有メモリ６３の状態情報格納領域６５に格納する。
（１２）ステップＳ５２
下位系制御装置Ａ模擬部５２（通信部Ａ６２）は、共有メモリ６３の状態情報格納領域６５から状態情報ＳＴＡを取り出し、上位系制御装置１へ出力する。上位系制御装置１（通信部Ａ１２）は、状態情報ＳＴＡを取得する。
（１３）ステップＳ５３
下位系制御装置Ａ模擬部５２（動作司令部６１）は、生成された指令情報ＯＲＤを全て順番に実行したか否かを判定する。例えば、図４の一番上の欄に示すｆｒｏｍ３３−１ａ：１１０、ｔｏ３３−２ａ：１２０、ｄｏ３３−３ａ：１の例では、４つのステップを順番に全て実行したか否かを判定する。判定は、ｔｏ３３−２ａ、ｄｏ３３−３ａと状態情報ＳＡＴとを比較することで行う。全ての指令情報ＯＲＤを実行していない場合には、ステップＳ４８へ戻る。
（１４）ステップＳ５４
上位系制御装置１（動作指令部１１）は、状態情報ＳＴＡが命令情報ＣＯＭで命令した通りになっているか否かを判定する。命令した通りになっていない場合には、ステップＳ５２へ戻る。
（１５）ステップＳ５５
上位系制御装置１（動作指令部１１）は、動作パタンデータベース１３の全てのステップ１３−１を終了したか否かを判定する。ステップ１３−１が、全て終了している場合には、一連のプロセスは終了する。
（１６）ステップＳ５６
上位系制御装置１（動作指令部１１）は、ステップ１３−１が全て終了していないので、ステップ１３−１の番号に１を加えて、ステップ４１へ戻る。そして、シーケンスに制御を実行する。
【００８１】
このような上位系制御装置１とシーケンス制御検証装置５１の下位系制御装置Ａ模擬部５２と下位系制御装置Ｂ模擬部５３−ｉとの間で行う検証により、実際に上位系制御装置と下位系制御装置Ａと下位系制御装置Ｂとを用いずとも、上位系制御装置と下位系制御装置Ａと下位系制御装置Ｂとの間の動作を検証することができる。
【００８２】
この検証の後、下位系制御装置Ａ模擬部５２（プログラム）を下位系制御装置Ａ２に搭載し、下位系制御装置Ｂ模擬部５３−ｉ（プログラム）を下位系制御装置Ｂ３−ｉに搭載して、同様にステップＳ４１〜Ｓ５５により、上位系制御装置１と下位系制御装置Ａ２と下位系制御装置Ｂ３−ｉとの間の動作を検証する。上位系制御装置１と下位系制御装置Ａ模擬部５２と下位系制御装置Ｂ模擬部５３−ｉとの間で事前に検証しているので、実際の機器による検証の労力を減らすことが出来る。
【００８３】
また、下位系制御装置Ｂ３−ｉ及び下位系制御装置Ａ２は、単独の閉ループを構成し、個別に検証することが出来る。
例えば、下位系制御装置Ｂ３−ｉについては、例えば、指令情報ＯＲＤを受信した場合、指令情報ＯＲＤ通りの動作を行うか否かの検証、動作後に状態情報ＳＴＡを出力するか否かの検証を行うことが出来る。
また、下位系制御装置Ａ２については、例えば、命令情報ＣＯＭを受信した場合、指令情報ＯＲＤを生成し、共有メモリ２３の命令情報格納領域２６に格納するか否かの検証、状態情報ＳＴＡ／指令情報ＯＲＤの問い合わせに対して、共有メモリ２３の状態情報格納領域２５／命令情報格納領域２６に格納された所望の状態情報ＳＴＡ／指令情報ＯＲＤを出力するか否かの検証、状態情報ＳＴＡを受信した場合、共有メモリ２３の状態情報格納領域２５に格納するか否かの検証を行うことが出来る。
【００８４】
上記のように、下位系制御装置の動作をシミュレート可能なシーケンス制御検証装置を用いることにより、上位系制御装置及び下位系制御装置は、互いに独立して、それぞれの動作の検証を行うことが可能となる。
【００８５】
また、シーケンス制御検証装置は、下位系制御装置のシーケンスをステップ状に分割したシーケンスデータベース７３（３３）を備えている。その各ステップは、並列処理リスト（複数の台車を同時に動作させる）として動作させることが出来る。また、機器の分類、及び各機器の動作内容をコード化している。これにより、機器のコードと動作のコードで、機器の動作の記述が可能となり、シーケンスロジックの汎用化を実現できる。それにより、シーケンス制御検証装置の早期開発と必要機能の追加が容易になり、上位系制御装置の検証開始までの期間短縮を計ることが出来る。
【００８６】
上記のシーケンス制御及びその検証方法においては、機器４をクラス分けし、動作関数のデータ列で動作を規定している。これにより、以下のような効果がある。同様な動作をするものをクラスとしてまとめることにより、動作関数のプログラムコードを削減することが出来る。全体の動作をデータ列で表すことが出来るので、動作の作成、変更が容易になる。動作関数は独立したプログラムコードとなっているので、機能追加する場合にもその部分だけ修正すればよいので、修正が容易である。
【００８７】
上記検証のプロセスにおいて、検証時における時間経過を高速にして、動作検証を高速に行なわせることが出来る。例えば、検証時におけるシーケンス制御検証装置のタイマの間隔を１／１０にすることにより、プログラム上の時間経過が実際の時間の１０倍になり、各機器４−ｊにおける動作が１／１０の時間で行われるように模擬することが出来、結果として、検証時間を１／１０に短縮することが出来る。
これにより、検証時間を大幅に短縮することが出来、開発期間を短くすることが可能となる。
【００８８】
上記のシーケンス制御では、上位系制御装置は、下位系制御装置へ状態の変化（例示：位置の移動、製膜の実行）に関する指令（命令情報ＣＯＭ）を出すだけであり、実際その過程の動作に付いては、下位系制御装置により制御されることとなる。すなわち、細かな動作の変更は上位系制御装置に影響を及ぼさず下位系制御装置での変更だけで済む。従って、制御の変更に伴うプログラムの変更が容易となる。
【００８９】
上記の各実施の形態において、共有メモリは、下位系制御装置又はシーケンス制御検証装置（下位系制御検証装置）に含まれている。しかし、下位系制御装置又はシーケンス制御検証装置（下位系制御検証装置）ではなく、共有メモリが、上位系制御装置に含まれていても良い。この場合、下位系制御装置又はシーケンス制御検証装置が、上位系制御装置の共有メモリと情報（データ）の授受を行うほかは、上記各実施の形態と同様に実施することが出来る。そして、同様の効果を得ることが出来る。
【００９０】
上記の各実施の形態において、共有メモリは、下位系制御装置又はシーケンス制御検証装置（下位系制御検証装置）に含まれている。しかし、上位系制御装置も、同時に同様の共有メモリを有していても良い。この場合、上位系制御装置は、自身が有する共有メモリと情報（データ）の授受を行う。また、第１下位系制御装置（シーケンス制御検証装置）も自身が有する共有メモリと情報（データ）の授受を行う。そして、両者の共有メモリ同士は、それぞれ通信部Ａ１２と通信部Ａ２２（通信部Ａ６２）とを用いて常時通信を行い、それぞれの情報（データ）を常時更新する。それにより、あたかも一つの共有メモリを用いて、上位系制御装置と第１下位系制御装置（シーケンス制御検証装置）とが、情報（データ）の授受をしているように制御することが出来る。そして、上記各実施の形態と同様の効果を得ることが出来る。
【００９１】
【発明の効果】
本発明により、シーケンス制御の制御系を設計する際、上位系と下位系とに分けて、両者を並行して検証することができ、検証時間を削減することが可能となる。
【図面の簡単な説明】
【図１】太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態の構成を説明する図である。
【図２】本発明であるシーケンス制御検証装置の実施の形態の構成を説明する図である。
【図３】動作パタンデータベースを示す図である。
【図４】シーケンスデータベースを説明する図である。
【図５】データ対応テーブルを説明する図である。
【図６】太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態の動作を説明するフロー図である。
【図７】太陽電池の製膜装置の各機器に用いるシーケンス制御システムの実施の形態の動作を説明するフロー図である。
【図８】太陽電池の製膜装置の概略を示す上面図である。
【図９】装置対応テーブルを説明する図である。
【図１０】動作対応テーブルを説明する図である。
【図１１】本発明であるシーケンス制御検証装置の実施の形態の第１の動作を説明するフロー図である。
【図１２】本発明であるシーケンス制御検証装置の実施の形態の第２の動作を説明するフロー図である。
【図１３】本発明であるシーケンス制御検証装置の実施の形態の第３の動作を説明するフロー図である。
【図１４】本発明であるシーケンス制御検証装置の実施の形態の第３の動作を説明するフロー図である。
【符号の説明】
１    上位系制御装置
２    下位系制御装置Ａ
３−ｉ（ｉ＝１〜ｎ）    下位系制御装置Ｂ
４−ｊ（ｊ＝１〜ｍ）    機器
６    ネットワークＡ
７    ネットワークＢ
８    ネットワークＣ
１１    動作指令部
１２    通信部Ａ
１３    動作パタンデータベース
１３−１    ステップ
１３−２    台車
１３−３    パタン名
１３−４    現在値
１３−５    出力
１３−６    条件
１３−７    パタン番号
２１、６１    共有メモリ管理部
２２、６２    通信部Ａ
２３、６３    共有メモリ
２５、６５    状態情報格納領域
２６、６６    命令態情報格納領域
３１    動作実行部
３２、７２    通信部Ｂ
３３、７３    シーケンスデータベース
３３−１ａ〜３３−８ａ    欄
３３−１    ｆｒｏｍ
３３−２    ｔｏ
３３−３    ｄｏ
３３−４    ｓｔｅｐ
３３−５    ｃｌａｓｓ
３３−６    ｒｅｃｏｒｄ
３３−７    ｃｏｄｅ
３３−８    コメント
３４    データ対応テーブル
３４−１    クラス番号
３４−２    レコード番号
３４−３    装置名称
３４−４    動作関数番号
３４−５    内部関数
５２    下位系制御装置Ａ模擬部
５３−ｉ（ｉ＝１〜ｎ）    下位系制御装置Ｂ模擬部
７１    模擬動作実行部
７４    装置対応テーブル
７４−１    クラス番号
７４−２    装置名称
７４−３    レコード番号
７４−４    個別名称
７５    動作対応テーブル
７５−１    クラス番号
７５−２    装置名称
７５−３    動作関数番号
７５−４    機能
７５−５    内部関数
７６    関数対応テーブル
【図１】
2004326599.tif 000003
【図２】
2004326599.tif 000004
【図３】
2004326599.tif 000005
【図４】
2004326599.tif 000006
【図５】
2004326599.tif 000007
【図６】
2004326599.tif 000008
【図７】
2004326599.tif 000009
【図８】
2004326599.tif 000010
【図９】
2004326599.tif 000011
【図１０】
2004326599.tif 000012
【図１１】
2004326599.tif 000013
【図１２】
2004326599.tif 000014
【図１３】
2004326599.tif 000015
【図１４】
2004326599.tif 000016