(57)【要約】本発明は、インタープリタが、ツリーシーケンスの形式において受信される命令に基づいて、実行コードを生成および実行し、ツリーシーケンスが、それぞれの自動化プロシージャを定義するための並列動作の情報を備える、システムを自動化するためのシステムおよび方法に関する。ツリーシーケンスの定義は、例えば、ＸＭＬ文書等の標準化されたヒトおよび機械可読フォーマットに基づいてもよい。本発明の実施形態によると、ツリーシーケンスは、親−子の関係を介して、相互に関連するサブシーケンス、ステップ、およびステートメントの階層構造として定義される。
2013513141.tif 000002
【特許請求の範囲】
【請求項１】
コントローラと、少なくとも１つのアクターユニットおよび少なくとも１つのセンサユニットによって接続される設備とを備える自動化システムであって、該少なくとも１つのセンサユニットは、該設備に関する情報を収集し、該コントローラに出力し、該コントローラは、受信される情報に基づいて制御信号を計算し、該制御信号を該少なくとも１つのアクターユニットに出力し、該コントローラは、該コントローラによって該制御信号を計算および出力するための処理ユニットを備え、
該自動化システムは、該処理ユニット上で実行コードを生成および実行するインタープリタをさらに備え、該インタープリタは、少なくとも１つのステップを備えるツリーシーケンスの形式の命令を受信し、該少なくとも１つのステップは、少なくとも１つのステートメントを備え、少なくとも１つのステートメントは、
該コントローラによって行われる計算また周辺プロシージャを定義する代入ステートメントであるか、または、
新しいサブシーケンスを開始するために使用される制御フローステートメントであるか、または、
該それぞれのステップに含まれるステートメントをサスペンドすることなく、該ステートメントの位置において、実行をサスペンドするために使用されるサスペンドステートメントであり、
該インタープリタによって生成および実行される該実行コードは、該処理ユニットが各サブシーケンスのステップを連続的に実行するようにさせることにより、該ステップの各々は、該それぞれのステップに含まれる全てのステートメントが完了されるまで、該処理ユニットによって実行され、同一のステップによって開始されるステートメントは、該処理ユニットによって並列または準並列方式で実行される、システム。
【請求項２】
システムを自動化するための方法であって、該システムは、処理ユニットと、少なくとも１つのアクターユニットおよび少なくとも１つのセンサユニットによって接続される設備とを有するコントローラを備え、該少なくとも１つのセンサユニットは、該設備に関する情報を収集し、該コントローラに出力し、該コントローラは、該処理ユニットを使用して、該受信される情報に基づいて制御信号を計算し、該計算された制御信号を該少なくとも１つのアクターユニットに出力し、
該自動化システムによって備えられるインタープリタは、少なくとも１つのステップを備えるツリーシーケンスの形式の命令を受信し、該少なくとも１つのステップは、少なくとも１つのステートメントを備え、少なくとも１つのステートメントは、該コントローラによって行われるべき計算または周辺プロシージャを定義する代入ステートメントであるか、または、
新しいサブシーケンスを開始するために使用される制御フローステートメントであるか、または、
サスペンドステートメントであって、該それぞれのステップに備えられるステートメントをサスペンドすることなく、該ステートメントの位置において実行をサスペンドするために使用されるサスペンドステートメントであり、
該受信される命令に基づいて、該インタープリタは、該処理ユニットに各サブシーケンスのステップを連続的に実行させることによって、該処理ユニット上で実行コードを生成および実行し、それにより、該ステップの各々は、該それぞれのステップに備えられる全てのステートメントが完了されるまで実行され、同一ステップによって開始されるステートメントは、並列または準並列方式で実行される、方法。
【請求項３】
前記インタープリタによって受信される前記命令は、ＸＭＬ文書の中において定義される、請求項１〜２のいずれか一項に記載のシステムまたは方法。
【請求項４】
前記制御フローステートメントは、ｗｈｉｌｅループ、ｆｏｒループ、ｉｆまたはｓｅｌｅｃｔ−ｃａｓｅコンストラクト、ｓｕｂｐｒｏｃｅｄｕｒｅコンストラクトにおいて、前記新しいサブシーケンスを開始するために定義される、請求項１〜３のいずれか一項に記載のシステムまたは方法。
【請求項５】
前記設備は、自動車機能試験リグ、化学反応器システム、または分析器具である、請求項１〜４のいずれか一項に記載のシステムまたは方法。
【請求項６】
前記少なくとも１つのセンサユニットは、回転速度、力、温度値、成分の濃度、電圧、電流、圧力、質量、流速、またはデジタル出力の論理状態を測定する、請求項１〜５のいずれかに記載のシステムまたは方法。
【請求項７】
前記自動化システムは、前記コントローラに接続されたディスプレイをさらに備え、前記ステートメントのうちの少なくとも１つは、該自動化システムのヒトオペレータへのメッセージを該ディスプレイに出力する、請求項１〜６のいずれかに記載のシステムまたは方法。
【請求項８】
前記インタープリタによる実行コードの生成は、中間表現コードを生成する中間ステップを含む、請求項１〜７のいずれかに記載のシステムまたは方法。
【請求項９】
前記インタープリタによって受信されるツリーシーケンスは、該インタープリタが、前記処理ユニット上で直接実行するソースコードを表す、請求項１〜８のいずれかに記載のシステムまたは方法。
【請求項１０】
前記インタープリタは、前記受信されるツリーシーケンスに基づいて、線状化された実行コードを生成および実行するリニアライザである、請求項１〜９のいずれかに記載のシステムまたは方法。
【請求項１１】
前記リニアライザは、前記ツリーシーケンスから参照されるデータの線状スタックを生成し、前記処理ユニット上において高速処理速度を有する線状様式で、該参照されるデータの線状スタックを実行し、それにより、前記それぞれのステップ内に含有されるフロー制御ステートメントによって開始される異なるサブシーケンスによって備えられる前記ステートメントの前記準並列処理を有効にする、請求項１０に記載のシステムまたは方法。
【請求項１２】
前記インタープリタは、プリコンパイルコードを実行する、請求項１〜１１のいずれかに記載のシステムまたは方法。
【請求項１３】
前記インタープリタは、複数のツリーシーケンスの形式の命令を受信し、各ツリーシーケンスは、ルートシーケンスを備え、それによって、前記処理ユニットは、多重ツリーシーケンスを並行して実行する、請求項１〜１２のいずれかに記載のシステムまたは方法。
【請求項１４】
前記処理ユニットは、リアルタイムカーネルまたはリアルタイムオペレーティングシステム内で起動する、請求項１〜１３のいずれかに記載のシステムまたは方法。
【請求項１５】
コンピュータプログラムであって、該コンピュータプログラムは、コンピュータ内で実行されると、前記インタープリタが実行コードの生成および実行を行うようにさせることにより、方法請求項２〜１４のいずれかに記載のシステムを自動化させる、プログラム。
【請求項１６】
コンピュータプログラムであって、該コンピュータプログラムは、媒体上に記憶されると、少なくとも１つのツリーシーケンスの形式の前記インタープリタによって受信されるべき命令を備えることにより、方法請求項２〜１４のうちのいずれかに記載のシステムを自動化させる、プログラム。
【請求項１７】
コンピュータ可読媒体であって、該コンピュータ可読媒体は、前記インタープリタが少なくとも１つのツリーシーケンスの形式の命令を受信し、実行コードの生成および実行を行うようにさせることをコンピュータにさせることにより、方法請求項２〜１４のうちのいずれかに記載のシステムを自動化させる、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、インタープリタが、ツリーシーケンスの形式で受信される命令に基づいて実行コードを生成および実行し、ツリーシーケンスが、それぞれの自動化プロシージャを定義するために並列動作の情報を備えている、システムを自動化するためのシステムおよび方法に関する。ツリーシーケンスの定義は、例えば、ＸＭＬ文書等の標準化されたヒトおよび機械可読フォーマットに基づいてもよい。
【背景技術】
【０００２】
（関連技術）
システム自動化のタスクは、機械または技術産業プロセスによって行われる動作の定義および実行を処理する。この目的のために、例えば、以下、制御される設備またはプロセスと称される化学反応器システム、自動車機能試験リグ、または分析器具等の自動化を受けるシステムは、典型的には、以下、アクターユニットと称される少なくとも１つのアクチュエータユニットと、少なくとも１つのセンサユニットとに接続され、少なくとも１つのセンサユニットは、設備に関する情報を収集し、コントローラに出力し、コントローラは、受信される情報に基づいて制御信号を計算し、設備に接続され、それを制御する少なくとも１つのアクターユニットに制御信号を出力する。
【０００３】
それぞれのアクターユニットは、例えば、弁、ポンプ、またはヒータ等の作動要素を備えてもよいが、さらに、所定の設定値において、それぞれの作動要素の設定を調整する分散コントローラを備えてもよい。したがって、自動化システムの前述のコントローラは、設定値の形式の制御信号を少なくとも１つのアクターユニットに出力するように構成されてもよく、それぞれの設定値は、それぞれの分散コントローラを使用して調整される所望のレベルの値を表す。
【０００４】
また、それぞれのセンサユニットは、例えば、熱電素子、圧力センサ、またはｐＨセンサ等のセンサ要素を備えてもよいが、さらに、センサ信号の質を改善するために、あるいはＫａｌｍａｎフィルタまたは当技術分野において周知の他の種類の動的フィルタ等の状態観察構造を使用することによって、自動化システムの状態を予測するために、それぞれのセンサ要素によって収集されるデータをフィルタリングするために使用される、予測またはフィルタリング構成要素を備えてもよい。この意味において、それぞれのセンサユニットは、設備に関する情報を収集し、コントローラに出力する。
【０００５】
自動化システムは、少なくとも１つのアクターユニットおよび少なくとも１つのセンサユニットを介して、コントローラユニットに接続される、単純または複雑な機械あるいは技術プロセスを備えてもよく、例えば、いくつかの種類の所定の動作を実行するタスクを行うように設計および実装される。
【０００６】
・化学反応器システムは、いくつかの可能性を挙げると、熱電素子、圧力センサ、またはｐＨセンサ等のセンサ要素を有するセンサユニットと、弁、ポンプ、ヒータ等の作動要素を伴う、アクターユニットを備えてもよく、自動化システムのタスクは、化学合成に関連してもよい。
【０００７】
・自動車機能試験リグは、自動化システム内に適用されたいくつかの異なるセンサと、アクターユニットとを備え、自動車構成要素の性能を検証または試験してもよい。
【０００８】
・分析器具は、自動化実験試験機器内に適用される、異なるセンサと、アクターユニットと、を備え、物体もしくは有機または無機化合物あるいは混合物の特性を決定してもよい。特性は、化学組成物、またはいくつかの物理的特性、もしくは別の物体、化合物、または混合物への試験物体あるいは化合物または混合物に及ぼす影響であることができる。
【０００９】
自動システムのコントローラは、計算および可能性として論理決定を行い、自動システムのアクターユニット等の個々の構成要素が、どのように、経時的に、その設定を変更すべきかを決定するためのコンピューティング処理ユニットを備える。そのような決定が、測定されたセンサ値に基づく場合、コントローラは、閉ループ配列において実装される一方、開ループコントローラ内で行われる決定は、任意のそのようなセンサ値から独立する。
【００１０】
自動化システムは、所望のタスクを遂行するために、いくつかの種類の動作を実行することになり、動作の順序および構造は、典型的には、いくつかのシーケンス形式において定義される。そのようなシーケンスは、関与するタスクに従って、自動システム、すなわち、そのコントローラを動作させるように、手動または自動化方式で定義される。いわゆるシーケンス制御装置は、動作のそのような適切なシーケンスを定義および適用する作業を単純化し、例えば、シーケンスクリプト、シーケンステーブル、または高度構成可能シーケンス制御ユーザインターフェースによって、オペレータによって使用および命令されてもよい。この点において、シーケンス制御装置を命令するために使用されるシーケンス情報は、シーケンス制御装置によって、相互に解釈される、ステップとして定義される、連続的に配列された動作のリストを備える（例えば、図１に例示される、線状スクリプト化シーケンス参照）。ステップは、通常、アクションを行うためのステートメント、それらのアクションをカスタマイズするための可能性のある入力パラメータセット、および可能性として、ある種類の出力値から構成される。ステートメントは、例えば、汎用ソフトウェア機能または方法を指してもよいことになる。この点において、シーケンス制御装置は、インタープリタとして見なされることができ、自動システムの一部を構築する。
【００１１】
例えば、特許文献１は、試験者に、調節可能な試験パラメータとともに、試験シーケンスを実装させる変圧器試験シーケンスエディタについて言及している。この点において、試験シーケンスエンジンは、試験者に、試験のシーケンスを行わせ、自動化試験シーケンスエディタは、行われる試験シーケンスの編集を可能にする。試験命令は、編集された試験シーケンス内に提供される順序に従って、実行されることになる。
【００１２】
しかしながら、多くの場合、動作をシーケンス内で起動させるだけではなく、また、自動システムと並行して、例えば、異なる機械部品の同時較正のタスクを行うことが望ましいため、自動化システムのヒトオペレータが、システムに命令し、多重動作を並行して実行するための単純な手段を有することは、明らかに有利となるであろう。しかしながら、先行技術シーケンス制御装置によって受信される情報は、並列方式で実行させるように動作を定義するステップを提供せず、オペレータは、準最適と時間のかかるステップの連続実行との間での選択、あるいはシステムインテグレータ、例えば、シーケンス制御装置を供給した人物またはプロバイダに、仮編成済並列較正サブルーチンをプログラムするために、例えば、Ｃ＋＋、Ｂａｓｉｃ、またはＬａｂｖｉｅｗにおいてその専門知識および高度プログラミング技術を使用することを要求するという選択肢が残される。このように、オペレータは、並列動作の新しい概念を迅速に実装することを妨害され、システムインテグレータを関与させ、それぞれの被る開発時間、コスト、および他の不都合を容認せざるを得ない。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】国際公開第０３／０５４５６１号明細書
【発明の概要】
【課題を解決するための手段】
【００１４】
本発明の対象は、動作のツリーシーケンスを解釈することに基づく、システムの自動化の改良または代替システムおよび方法に関する。この目的は、請求項に従う主題によって達成される。
【００１５】
その側面のうちの１つによると、本発明は、コントローラと、少なくとも１つのアクターユニットおよび少なくとも１つのセンサユニットによって接続される設備とを備える改良された自動化システムであって、少なくとも１つのセンサユニットは、設備に関する情報を収集し、コントローラに出力し、コントローラは、受信される情報に基づいて制御信号を計算し、制御信号を少なくとも１つのアクターユニットに出力するシステムに関する。コントローラは、コントローラによって制御信号を計算および出力するための処理ユニットを備え、処理ユニットは、単一または複数のデジタルプロセッサを備えてもよい。さらに、インタープリタが自動システムによって備えられ、インタープリタは、コントローラの処理ユニット上で実行コードを生成および実行し、インタープリタは、１つまたは複数のツリーシーケンスの形式の命令を受信する。ツリーシーケンスは、いくつかの可能性を挙げると、例えば、自動システムのオペレータによって手動で編集されたスクリプトにおけるように、手動で提供することができるか、または自動設計ソフトウェアツール内に提供されるオペレータの入力に基づいて生成することができる。
【００１６】
本発明の実施形態によると、ツリーシーケンスは、親−子の関係を介して、相互に関連するサブシーケンス、ステップ、およびステートメントの階層構造として定義される。この階層構造は、子として少なくとも１つのステップを有するルートサブシーケンスと呼ばれるちょうど１つのサブシーケンスから開始し、少なくとも１つのステップは、子として、少なくとも１つのステートメントを備える。サブシーケンスが、２つ以上の子ステップを含有するとき、これらのステップは、相互の兄弟である。ステップが、２つ以上の子ステートメントを含有するとき、これらのステートメントは、相互の兄弟である。それぞれのステートメントの各々は、コントローラによって行われる計算また周辺プロシージャを定義する代入ステートメント、またはサスペンドステートメントの位置において実行をサスペンドするサスペンドステートメント、または子サブシーケンスを開始するために使用される制御フローステートメントのいずれかである。好ましくは、子サブシーケンスは、ルートサブシーケンスと同一の特性を有し、したがって、継承の線を進むことができる深さについての制限はない。
【００１７】
インタープリタによって生成および実行される実行コードは、処理ユニットが各サブシーケンスによって開始される子ステップを直列方式で実行するようにさせる。各ステップによって開始される子ステートメントは、処理ユニットによって並列または準並列方式で実行される。言い換えると、処理ユニットは、兄弟ステップを直列方式で処理し、兄弟ステートメントを並列また準並列方式で処理する。ここで、処理ユニットは、兄弟ステートメントの並列処理または準並列処理を可能にし得、準並列処理は、高速処理速度による処理ユニットの起動に基づいており、これは、以下にさらに詳述される。
【００１８】
それぞれの代入ステートメントは、典型的には、例えば、計算を行い、アクターユニットの値を設定し得る表現ステートメント、またはプロセスオペレータにメッセージを出力するか、またはメッセージボックスをディスプレイ内に開き、オペレータがメッセージボックスを閉鎖するまで親ステップの実行をサスペンドする、オペレータからの入力を要求するステートメント、またはデータレコーダの特性を適合させるステートメント、または後の使用のために現在のアクターまたはセンサユニット値を記憶するステートメント等、制御されるプロセスに関する。
【００１９】
本発明の好ましい実施形態において、インタープリタによって受信される命令は、例えば、ＸＭＬ文書におけるようなＸＭＬで定義され、さらに、ＸＭＬスキーマ言語において定義されるスキーマに準拠する有効なＸＭＬ文書内に提供される命令を有することがより好ましい。当業者によって容易に考えられるように、多くの標準化されたヒトおよび機械可読フォーマットが、同一目的のために適用可能であり得ることに留意されたい。
【００２０】
兄弟ステートメントの実行をサスペンドすることなく、特定の待機時間の間、実行をサスペンドすることができるサスペンドステートメントを使用することが好ましい。特定の待機時間は、ある長さの時間期間、またはシーケンス制御装置タイマが、多様な特定の待機時間となることを必要とする時間期間であることができる。後者は、並列サブシーケンスを同期させるために使用することができる。当技術分野において周知のように、ステートメントは、異なるスクリプトおよびプログラミング言語において異なる名称を有する。これらのステートメントは、例えば、待機、一時停止、サスペンドと呼ばれ得る。
【００２１】
また、新しいサブシーケンスを開始するために、制御フローステートメントを使用することが好ましい。制御フローステートメントは、新しい子サブシーケンスを無条件または条件付きで開始する。制御フローステートメントは、子サブシーケンスを実行する、またはいくつかの条件が満たされる場合のみ、実行する、条件付き制御フローステートメント、あるいはいくつかの条件が満たされるまで、子サブシーケンスをゼロ回以上実行する、ループ制御フローステートメント、もしくは遠隔サブシーケンスを実行し、その後、通常、制御のフローに戻る、遠隔制御フローステートメントである。当技術分野において周知のように、ステートメントは、異なるスクリプトおよびプログラミング言語において、異なる名称を有する。これらのステートメントは、いくつかを挙げると、例えば、ｆｏｒ、ｗｈｉｌｅ、ｉｆ−ｔｈｅｎ−ｅｌｓｅ、ｒｅｐｅａｔ、Ｓｕｂｐｒｏｃｅｄｕｒｅ、ｓｅｌｅｃｔ−ｃａｓｅ、ｄｏ−ｗｈｉｌｅと呼ばれ得る。
【００２２】
また、ループ制御フローステートメントに、子サブシーケンスが完了される度に、サスペンドし、シーケンス制御装置タイマの値が、ループ制御制御フローステートメントのために規定された多様な間隔時間となると、継続する能力を提供することが好ましい。
【００２３】
本発明の好ましい実施形態において、設備は、自動車機能試験リグである本発明の代替の好ましい実施形態において、設備は、化学反応器システムであるか、または本発明の代替の好ましい実施形態において、設備は、分析器具である。
【００２４】
好ましくは、少なくとも１つのセンサユニットは、回転速度、力、温度値、成分の濃度、電圧、電流、圧力、質量、流速、またはデジタル出力の論理状態を測定する。
【００２５】
また、さらに、コントローラに接続されたディスプレイを備え、ステートメントのうちの少なくとも１つは、自動化システムのヒトオペレータへのメッセージをディスプレイに出力する自動化システムを有することが好ましい。そのようなディスプレイは、例えば、情報をヒトオペレータに伝達するために好適なＴＦＴ、ＬＣＤ画面、または任意の他の種類のディスプレイであり得る。
【００２６】
また、コントローラに接続された、１つ以上の電子テキストメッセージング媒体を有することも可能であって、それを介して、ステートメントのうちの少なくとも１つは、ヒトオペレータへの電子メッセージの出力を開始することができる。当技術分野において周知のように、いくつかを挙げると、電子メール、ＳＭＳ、Ｔｗｉｔｔｅｒ等の種々のメッセージサービスが存在する。
【００２７】
本発明の好ましい実施形態において、インタープリタによる実行コードの生成は、中間表現コードを生成する中間ステップを伴う。ここでは、インタープリタは、少なくとも１つのツリーシーケンスの形式において受信される命令をいくつかの中間表現コードに変換し、これを実行する。
【００２８】
代替の好ましい実施形態において、インタープリタによって受信される少なくとも１つのツリーシーケンスは、インタープリタが、処理ユニット上で直接実行するソースコードを表す。
【００２９】
さらに別の代替好ましい実施形態において、インタープリタは、ツリーシーケンスを情報の多重スタックに変換するリニアライザであって、処理ユニットは、情報のスタックを処理する。リニアライザは、ツリーシーケンスから、参照されるサブシーケンスのスタック、参照されるステップのスタック、参照されるステートメントのスタック、および開始時、ルートサブシーケンスのみの参照を含有する参照されるサブシーケンスのスタックを参照するスタックを生成する。参照されるステートメントのスタック内の各ステートメントは、ステートメントデータと呼ばれる、現時点からステートメントが行う必要があるアクションに関するデータを含有し、参照されるステートメントのスタック内のステートメントが、条件付き制御フローステートメントである場合、ステートメントデータは、例えば、証明条件に加えて、参照されるサブシーケンスのスタック内の子サブシーケンスの１つ以上の参照を伴うリストを含有し、それによって、１対ｎの親−子関係を構築し、参照されるステートメントのスタック内のステートメントが、ループ制御フローステートメントである場合、ステートメントデータは、例えば、ループ反復カウンタに加えて、参照されるサブシーケンスのスタック内の子サブシーケンスの単一参照を含有し、それによって、１対１の親−子関係を構築する。
【００３０】
参照されるステップのスタック内の各ステップは、参照されるステートメントのスタック内の子ステートメントの１つ以上の参照を伴うリストを含有し、それによって、１対ｎの親−子関係を構築し、リストのそれぞれは、子ステートメントの状態を追跡し、状態は、“保留”、“進行中”、または“完了”であることができる。
【００３１】
参照されるサブシーケンスのスタック内の各サブシーケンスは、サブシーケンスを開始した、ステートメントを開始した、ステップを開始した、参照されるサブシーケンスのスタック内のサブシーケンスの単一の参照を含有し、それによって、１対１の曾祖父母−曾孫関係を構築し、参照されるサブシーケンスのスタック内の各サブシーケンスは、参照されるステップのスタック内の子ステップの参照による記憶リストを含有し、それによって、１対ｎの親−子関係を構築し、参照されるサブシーケンスのスタック内の各サブシーケンスは、実行されるリスト内のステップの参照の位置を記憶し、位置は、現時点から、ステップ反復子と呼ばれ、実行されるステップは、現時点から、アクティブステップと呼ばれ、各ステップ反復子の初期値は、０である。
【００３２】
リニアライザは、スタックを処理ユニットに送信する。
【００３３】
処理ユニットは、先入れ先出し（ＦＩＦＯ）機構に従って、連続方式において、参照されるサブシーケンスのスタック内のサブシーケンスの参照のスタック内の任意の参照を連続的に処理し、スタックは、現時点から、ＦＩＦＯキューと呼ばれる。
【００３４】
ＦＩＦＯキュー内のサブシーケンスの参照の処理機構は、以下の通りである。
１）処理ユニットは、ＦＩＦＯキューから、現時点から、アクティブサブシーケンスと呼ばれる、サブシーケンスのスタック内のサブシーケンスの次の参照を取得する。
２）処理ユニットは、サブシーケンスのスタックから、アクティブサブシーケンスを読み取る。
３）処理ユニットは、アクティブサブシーケンスから、子ステップの参照を伴うリストを読み取る。
４）処理ユニットは、以下のように、子ステップの参照を処理する。
【００３５】
ｉ）処理ユニットは、アクティブサブシーケンスのステップ反復子を１だけ上昇し、それによって、次のステップをアクティブにする。
【００３６】
ｉｉ）処理ユニットは、子ステップの参照を伴うリストから、アクティブステップの参照を読み取る。
【００３７】
ｉｉｉ）処理ユニットは、参照されるステップのスタックから、アクティブステップを読み取る。
【００３８】
ｉｖ）処理ユニットは、アクティブステップを実行する。
【００３９】
ｖ）実行されたアクティブステップから受信される状態情報に応じて、４つの経路が可能である。
【００４０】
ａ）アクティブステップは、“完了”であって、反復子は、リスト内の子ステップの参照の数より小さく、その場合、処理ユニットは、サブシーケンスの参照の処理機構の４ｉ）まで戻る。
【００４１】
ｂ）アクティブステップは、“保留”であって、その場合、処理ユニットは、アクティブサブシーケンスの参照をＦＩＦＯキューに置き、処理ユニットは、アクティブサブシーケンスの実行を停止する。
【００４２】
ｃ）アクティブステップは、“進行中”であって、その場合、処理ユニットは、アクティブサブシーケンスの実行を停止する。
【００４３】
ｄ）アクティブステップは、“完了”であって、反復子は、リスト内の子ステップの参照の数に等しく、その場合、処理ユニットは、曾祖父母サブシーケンスの参照をＦＩＦＯキューに書き込む。曾祖父母の参照が存在しない場合、終了したサブシーケンスは、ルートサブシーケンスであって、シーケンスは、準備が整う。
【００４４】
アクティブ子ステップの処理機構は、以下の通りである。
１）処理ユニットは、ステップのスタック内のアクティブステップの参照を受信する。
２）処理ユニットは、ステップのスタックから、アクティブステップを読み取る。
３）処理ユニットは、アクティブステップから、子ステートメントを伴うリストを読み取る。
４）処理ユニットは、以下の全ての“保留”子ステートメントを繰り返す。
【００４５】
ｉ）処理ユニットは、現時点から、アクティブステートメントと呼ばれる、次の子ステートメントの参照を取得する。
【００４６】
ｉｉ）処理ユニットは、参照されるステートメントのスタックから、アクティブステートメントを読み取る。
【００４７】
ｉｉｉ）処理ユニットは、アクティブステートメントを実行し、アクティブステートメントから返される状態を受信する。処理ユニットは、適宜、アクティブステートメントのアクティブステップ状態の子ステートメントを伴うリストを変更する。
５）全ての“保留”子ステートメントが、実行されているとき、処理ユニットは、どのように継続するかについて、以下の可能性を有する。
【００４８】
ｉ）ステップの子ステートメントの参照を伴うリストは、子ステートメント“進行中”の少なくとも１つの参照を含有し、その場合、アクティブステップは、親サブシーケンスに、“進行中”を報告する。
【００４９】
ｉｉ）ステップの子ステートメントの参照を伴うリストは、“保留”である、子ステートメントの少なくとも１つの参照を含有し、その場合、アクティブステップは、親サブシーケンスに、“保留”を報告する。
【００５０】
ｉｉｉ）ステップの子ステートメントの参照を伴うリストは、“完了”である、子ステートメントの参照のみを含有し、その場合、アクティブステップは、親サブシーケンスに、“完了”を報告する。
【００５１】
アクティブステートメントの処理機構は、以下の通りである。
１）処理ユニットは、ステートメントのスタック内のアクティブステートメントの参照を受信する。
２）処理ユニットは、ステートメントのスタックから、アクティブステートメントを読み取る。
３）処理ユニットは、アクティブステートメントから、ステートメントデータを読み取る。
３）処理ユニットは、状態が、“保留”または“進行中”である場合、アクティブステートメントを実行する。ここれは、３つの経路が可能である。
【００５２】
ａ）ステートメントは、代入ステートメントであって、その場合、ステートメントは、完全に実行され、その親ステップは、ステートメントが“完了”した情報を受信する。
【００５３】
ｂ）ステートメントは、サスペンドステートメントである。処理ユニットは、サスペンドステートメントによってサスペンドされず、代わりに、処理ユニットは、サスペンドステートメントがサスペンド状態であるか否かをチェックし、その場合、親ステップは、ステートメントが“保留”である情報を受信し、または、サスペンドが完了した場合、その場合、親ステップは、ステートメントが“完了”した情報を受信する。
【００５４】
ｃ）アクティブステートメントは、条件付き制御フローステートメントであって、その条件は、処理ユニットによって証明され、条件が満たされると、処理ユニットは、ステートメントデータから、子サブシーケンスの準じた参照を取得し、それをＦＩＦＯキューに置き、親ステップは、ステートメントが“完了”した情報を受信する。
【００５５】
ｄ）アクティブステートメントは、ループ制御フローステートメントである。処理ユニットは、新しい反復が要求されるか否か決定する。新しい反復が要求されるとき、処理ユニットは、ステートメントデータから、子サブシーケンスの準じた参照を取得し、それをＦＩＦＯキューに置き、親ステップは、ステートメントが“進行中”である情報を受信する。新しい反復が要求されないとき、親ステップは、ステートメントが“完了”した情報を受信する。
【００５６】
情報のスタック内のツリーシーケンスの説明された編成方法および前述のそのようなスタックの後続処理は、例示であって、動作の同一方法をもたらす、ツリーシーケンスを編成および取り扱うための他の方法も可能であることを理解されたい。他の方法の好ましい実施例は、ステップ反復子を使用せず、代わりに、シーケンスのスタック内のアクティブシーケンスから、“完了”した完了子ステップの参照を削除することである。また、例えば、異なるステートメントタイプに対して、スタックを作成することによって、別の方法において、スタックデータを編成することができる。また、ＦＩＦＯキューが、サスペンドされたサブシーケンスの参照のみ含有する場合、実行を実際にサスペンドすることによって、ＣＰＵの使用量を低下させることができ、その場合、処理ユニットは、実行を再び開始しなければならなくなるまで、どれくらいサスペンドすることができるかを検証すべきである。また、処理ユニットは、説明された発明の一部ではない、所与の付加的タスクであることができることに留意されたい。例えば、処理は、ユーザが、停止ボタンを押下し、実行を中止するか否か、またはセンサ値が、範囲外であるか否か（その場合、実行を中止することができる）を周期的に検証することができる。
【００５７】
本発明の好ましい実施形態において、インタープリタは、複数のツリーシーケンスの形式の命令を受信し、各ツリーシーケンスは、ルートシーケンスを備え、それによって、処理ユニットは、多重ツリーシーケンスを並行して実行する。
【００５８】
また、本発明の好ましい実施形態において、インタープリタは、プリコンパイルコードを実行する。ここでは、インタープリタは、コンパイラによって作成された記憶されたプリコンパイルコードを明示的に実行し、したがって、コンパイラは、インタープリタの一部を構築してもよい。
【００５９】
本発明の別の側面によると、処理ユニットと、少なくとも１つのアクターユニットおよび少なくとも１つのセンサユニットによって接続される設備とを伴うコントローラを備え、少なくとも１つのセンサユニットは、設備に関する情報を収集し、コントローラに出力し、コントローラは、処理ユニットを使用して、記受信される情報に基づいて、制御信号を計算し、計算された制御信号を少なくとも１つのアクターユニットに出力する、システムを自動化するための方法が提供される。ここでは、処理ユニットは、単一または複数のデジタルプロセッサを備えてもよい。さらに、自動化システムによって成るインタープリタは、少なくとも１つのステップを備える、１つまたは複数のツリーシーケンスの形式の命令を受信し、少なくとも１つのステップは、少なくとも１つのステートメントを備え、少なくとも１つのステートメントは、コントローラによって行われる計算また周辺プロシージャを定義する、代入ステートメント、または新しいサブシーケンスを開始するために使用される、制御フローステートメント、またはステートメントの位置において、実行のサスペンドのために使用される、サスペンドステートメントであり、この点において、それぞれの代入ステートメントは、典型的には、例えば、アクターユニットの値を設定する表現ステートメント、またはメッセージをプロセスオペレータに出力するステートメント等、制御されるプロセスに関する。受信される命令に基づいて、インタープリタは、処理ユニット上で実行コードを生成および実行する。処理ユニットは、それぞれのステップから成る全てのステートメントが、完了されるまで、ステップのそれぞれが、実行されるように、各サブシーケンスのステップを連続的に実行し、同一ステップによって開始されるステートメントは、並列または準並列方式で実行されることになる。ツリーシーケンスは、いくつかの可能性を挙げると、例えば、自動システムのオペレータによって手動で編集されるスクリプトにおけるように、手動で提供することができる、または自動設計ソフトウェアツール内に提供されるオペレータの入力に基づいて、生成することができる。
【００６０】
インタープリタによって生成および実行される、実行コードは、処理ユニットに、各サブシーケンスのステップを連続的に実行させる。ここでは、ステップのそれぞれは、それぞれのステップから成る全てのステートメントが完了されるまで、処理ユニットよって実行される。しかしながら、同一ステップによって開始されるステートメントは、処理ユニットによって、並列または準並列方式で実行される。言い換えると、各個々のステップに備えられる、ステートメントは、並列また準並列方式において、処理ユニット上で実行される。ここでは、処理ユニットは、コマンドの並列処理または準並列処理を可能にしてもよく、準並列処理は、高速処理速度によって、処理ユニットを起動するステップに基づく。
【００６１】
本発明の好ましい実施形態において、インタープリタによって受信される命令は、例えば、ＸＭＬ文書におけるように、ＸＭＬにおいて定義され、さらに、ＸＭＬスキーマ言語において定義されるスキーマに順序する、ＸＭＬ有効文書内に提供される命令を有することがより好ましい。当業者によって容易に考えられるように、多くの標準化されたヒトおよび機械可読フォーマットが、同一目的のために適用可能であってもよいことに留意されたい。
【００６２】
ここでは、また、新しいサブシーケンスを開始するために、制御フローステートメントを使用することが好ましい。
【００６３】
好ましい実施形態において、設備は、自動車機能試験リグであって、代替の好ましい実施形態において、設備は、化学反応器システムであって、代替の好ましい実施形態において、設備は、分析器具である。
【００６４】
また、回転速度、力、温度値、成分の濃度、電圧、電流、圧力、質量、流速、またはデジタル出力の論理状態を測定する、少なくとも１つのセンサユニットを有することが好ましい。
【００６５】
また、さらに、コントローラに接続されたディスプレイを備え、ステートメントのうちの少なくとも１つは、自動化システムのヒトオペレータへのメッセージをディスプレイに出力する、自動化システムを有することが好ましい。そのようなディスプレイは、例えば、ヒトオペレータに情報を伝達するために好適なＴＦＴ、ＬＣＤ画面、または任意の他の種類のディスプレイであり得る。自動化システムはさらに、電子メッセージングシステムを備えてもよく、ステートメントのうちの少なくとも１つは、電子テキストメッセージを出力することができる。そのような電子メッセージは、例えば、電子メール、ｓｍｓ、または任意の他の種類の電子テキストメッセージであり得る。
【００６６】
好ましい実施形態において、インタープリタによる実行コードの生成は、中間表現コードを生成する中間ステップを伴う。ここでは、インタープリタは、サブシーケンスの形式で受信される命令をいくつかの中間表現コードに変換し、これを実行する。
【００６７】
代替の好ましい実施形態において、インタープリタによって受信される少なくとも１つのツリーシーケンスは、インタープリタが、処理ユニット上で直接実行するソースコードを表す。
【００６８】
さらに別の代替の好ましい実施形態において、インタープリタは、受信される少なくとも１つのツリーシーケンスに基づいて、線状化された実行コードを生成および実行する、リニアライザである。さらに、リニアライザに、ツリーシーケンスから参照されたデータのスタックを生成させ、高速処理速度によって、同期方式において、処理ユニット上で参照されたデータのスタックを実行させ、同一ステップによって開始されるステートメントの準並列処理を可能にすることがより好ましい。
【００６９】
また、本発明の好ましい実施形態において、インタープリタは、プリコンパイルコードを実行する。ここでは、インタープリタは、コンパイラによって作成された記憶されたプリコンパイルコードを明示的に実行し、したがって、コンパイラは、インタープリタの一部を構築してもよい。
【００７０】
好ましくは、処理ユニットは、リアルタイムカーネルまたはリアルタイムオペレーティングシステムを使用する。
【００７１】
本発明の別の側面は、コンピュータ内で実行されると、前述のインタープリタに、システムを自動化するために提供される方法に従って、実行コードの生成および実行を行われるコンピュータプログラムに関する。
【００７２】
また、本発明の好ましい実施形態は、２つのコンピュータプログラムに関し、第１のプログラムは、低い優先度で、起動し、実行コード、および例えば、データ記録等の周辺自動タスクの生成を行う、またはオペレータディスプレイにデータを出力し、第２のプログラムは、リアルタイムカーネルまたはリアルタイム動作システムで起動し、実行コードを実行する。
【００７３】
本発明のさらに別の側面は、媒体上に記憶されると、システムを自動化するために提供される方法に従って、インタープリタによって、少なくとも１つのツリーシーケンスの形式において、受信される前述の命令を備える、コンピュータプログラムに関する。
【００７４】
本発明の別の側面は、コンピュータによって、前述のインタープリタにシステムを自動化するために提供される方法に従って、少なくとも１つのツリーシーケンスの形式の命令を受信させ、実行コードの生成および実行を行わせるコンピュータ可読媒体を提供する。
【００７５】
本発明の好ましい実施形態は、一例に過ぎない、添付の図面を参照して、以下の詳細に説明される。
【図面の簡単な説明】
【００７６】
【図１】図１は、線状スクリプト化されたシーケンスのグラフィック表現を示す。
【図２】図２は、ツリーシーケンスのグラフィック実施例を示す。
【図３】図３は、線状化したツリーシーケンスのグラフィック実施例を示す。
【図４】図４は、ツリーシーケンスのＸＭＬスキーマのＸＭＬＳｐｙグラフィックビューを示す。
【図５】図５は、ツリーシーケンス定義のＸＭＬＳｐｙグリッドビューを示す。
【図６】図６は、本発明の第１の実施形態による、自動車触媒を試験するためのモデルガス試験ベンチを示す。
【図７】図７は、自動車試験を記述するスクリプトを伴う、ＸＭＬＳｐｙグリッドビューを示す。
【図８】図８は、ｃａｌｌａｂｌｅ＿ｓｔｅｐ“ｇｏｔｏ＿ｓｔａｒｔｔｅｍｐｅｒａｔｕｒｅ”を伴うＸＭＬＳｐｙグリッドビューを示す。
【図９】図９は、ｃａｌｌａｂｌｅ＿ｓｔｅｐ“ｃａｌｉｂｒａｔｅ＿ｍａｓｓｆｌｏｗｃｏｎｔｒｏｌｌｅｒ”を伴うＸＭＬＳｐｙグリッドビューを示す。
【図１０】図１０は、ｃａｌｌａｂｌｅ＿ｓｔｅｐ“Ｃ＿ＣＯ＿ＢＹＡ１５００＿ｃａｌｉｂｒａｔｉｏｎ”を伴うＸＭＬＳｐｙグリッドビューを示す。
【発明を実施するための形態】
【００７７】
本発明の例示的実施形態において、システムオペレータは、自動化試験ベンチシステムにおいて並列動作を行うために、複数のステップを備えるツリーシーケンスを定義し、各ステップは、任意の数のステートメントを備え得る。図２は、そのようなツリーシーケンスの可能な構造を例示し、参照されるステートメントは、代入ステートメント、またはサスペンドステートメント、または制御フローステートメントのいずれかであって、後者は、新しいサブシーケンスを開始するために使用される。図から明らかなように、サブシーケンスは、シーケンスステップのネスト化された配列を表現するように構築され得、新しいサブシーケンスの各々は、制御フローステートメントによって開始される。さらに、ツリーシーケンスは、一種のデータツリーを表すことが分かる。
【００７８】
図３は、図２のサブシーケンスが、どのように線状化され得るかの実施例を示し、図３におけるインデックスは、図２のインデックスを指す。
【００７９】
図４は、ＸＭＬスキーマが、ｉｆ、ｆｏｒ、およびｗｈｉｌｅ制御フローステートメントにおいて、それ自体を再帰的に指すｓｅｑｕｅｎｃｅＴｙｐｅのタイプを定義することによって、そのようなツリーシーケンスを画定するための便宜的手段をどのように提供するかを例示する。ここでは、図５は、ＸＭＬＳｐｙと呼ばれる標準的な市販のＸＭＬエディタを使用して、それぞれのツリーシーケンスの定義を示している。
【００８０】
定義されたツリーシーケンスによって組み込まれる並列化は、性能およびコスト問題に照らして、線状方式で処理される参照されたデータのスタックの形式で実行され得る。この目的のために十分な程度の並列化を保証するために、シーケンス制御装置の速度の更新は、下層プロセスを制御するために必要とされる時間分解能（サンプリング速度）よりも高く設定され、代入ステートメントおよび制御フローステートメントが、他のサブシーケンスのサスペンドの間に実行される程に十分に高速である。
【００８１】
以下では、モデルガス試験ベンチにおける点火試験を命令することによる等、自動車触媒の試験の際に使用されるツリーシーケンス（以下、“試験スクリプト”または“スクリプト”と称される）の実施例が提供される。しかしながら、そのようなガス試験ベンチの完全な生産的利用を提供するＸＭＬスクリプトは、容易に１７０００ラインを保持し得るので、また、理解度の向上改善の理由から、スクリプトの選択された部分のみが、以下では論じられる。
【００８２】
この点において、図６は、反応器、好ましくは、チューブ炉３内に配置されるガラスまたは鋼鉄の反応器内に提供される自動車触媒サンプル２上において点火試験を行うために使用されるモデルガス試験ベンチ１の簡略化されたスキームを示す。触媒の正面においてガスの温度を調整するために、熱電対４が提供され、触媒の正面の実際のガス温度値を検出し、炉３への電力出力を調整するＰＩＤコントローラ５に転送する。
【００８３】
図６に例示されるモデルガス試験ベンチ１において、一連の質量フローコントローラ８（ＭＦＣ）が左側に提供され、各質量フローコントローラ８は、モデル排ガスを生成するために収集および合成される、規定されたガス９の質量フローを制御する。この目的のために、質量フローコントローラ８の設定値は、質量または体積フローを制御するために較正または設定することができる。この点において、窒素ガスＮ２は、例えば、モデル排ガスの合成における“バランスガス”として使用することができることに留意されたい。図６において、それぞれのモデル排ガスは、三方弁６内に収集され、炉加熱された反応器２またはバイパスライン７に転送される。ここでは、図６に例示されるように、三方弁内に収集されるモデル排ガスは、後述のガス濃度補正を行うために使用される反応器バイパスライン７を経由して反応器をバイパスしてもよい。次いで、それぞれの触媒処理またはバイパスされたモデル排ガスは、三方弁１０内に収集され、モデルガス試験ベンチ１の出力排出口１２に向かって通過する出力排ガス内の様々なガス濃度を検出または測定するために、排ガス分析器１１に送出される。当技術分野において周知のように、そのようなガス分析器１１は、別個のガス分析タスクを行うためのいくつかの別個のガス分析器を備えてもよい。
【００８４】
さらに、以下に提供されるスクリプトの読取りを簡略化するために、テーブル１３が、図６に提供されており、図６に提供されるデバイスおよびユニットの名称を、以下に詳述される試験スクリプト内において使用されるその対応する名称と関連付ける。この点に関して、ＰＶは、例えば、分析器１１によって決定される熱電対４の温度“ＰＶ熱電対”またはＣＯガス濃度の分析結果“ＰＶ  ＣＯ分析器”等、プロセスまたは現実の値に関連する。さらに、ＳＰは、例えば、ＰＩＤコントローラ５の設定値を定義する設定値“ＳＰ  ＰＩＤコントローラ”等、コントローラに割り当てられる設定値に関連する。この意味において、テーブル１３は、それぞれのプロセス値および設定値を、試験スクリプトの以下の実施例において使用される“名称”または“タグ”に関連付ける。また、テーブルに記載されていないが、三方弁６内に収集された総ガスフローは、以下の試験スクリプトにおいて、“ＶＯＦＥＸＨＳＰＭＦ５００＿”と称されている。
【００８５】
図６に例示されるモデルガス試験ベンチ１を使用して、触媒サンプル２の試験は、以下のステップによって実行される。
１．触媒サンプル２を、反応器３内に配置する。
２．質量−フローコントローラ８は各々、それぞれのガスタイプに、それぞれの所定のガスタイプ濃度が提供し、次いで、三方弁６内に収集させ、バイパスガスライン７を介して、ガス分析器１１に通過させ、触媒サンプル２によって、反応器３をバイパスさせるように命令される。
３．以下の２つのステップ（ａ）および（ｂ）を並行して行う。
【００８６】
ａ．ガス濃度補正ステップ：ガス分析器１１が、ある所望のガスタイプ濃度、例えば、ＮＯガスからの逸脱を測定すると、それぞれの質量フローコントローラの設定値、例えば、“ＳＰＮＯＭＦＣ”は、所望の排出濃度がガス分析器１１によって検出されるまで、調節される。この意味において、それぞれの質量−フローコントローラ８は、以下のガス
ｉ．ＮＯ
ｉｉ．ＣＯ
ｉｉｉ．ＣＯ２
ｉｖ．Ｏ２
ｖ．炭化水素
の濃度を並行して補正するように調節される。
【００８７】
ｂ．反応器加熱ステップ：炉加熱された反応器３のヒータが始動され、反応器３の所望の温度に到達するように制御される。ここでは、シーケンス制御装置は、温度が、所望の温度レベルにおいて安定するまで待機する。
４．所望の排ガス濃度および反応器３温度が、ステップ３ａおよびステップ３ｂにおいて、正常に調整されると、三方弁６および１０は、合成された排ガスを反応器３に配向するように切り替えられる。
５．次に、反応器３内の温度は、固定された加熱勾配によって上昇し、所定の最終温度に到達すると、実験は終了する。このそれぞれの勾配の間、毒性成分の濃度は、触媒サンプル２の性能等の特性を評価するために、ガス分析器１１によって監視される。
【００８８】
前述のように、質量フローコントローラ８は、質量または体積フローを制御するために設定あるいは較正することができる。以下の試験スクリプトでは、質量フローコントローラ８設定値は、体積ｐｐｍおよび体積％で定義される。これらの定義に基づいて、それぞれの要求されるフローが計算され、それぞれの質量フローコントローラ８が、試験ベンチシステムにおいて適宜設定される。
【００８９】
図７は、自動車試験を記述するスクリプトを含有するＸＭＬＳｐｙグリッドビューのスクリーンショットを示し、シーケンスステップ１〜７は、連続的に行われるステップである一方、ｃａｌｌａｂｌｅ＿ｓｔｅｐ１〜１６は、“ｃａｌｌ＿ｓｔｅｐ”制御フローステートメントを使用して実行され得る遠隔サブシーケンスを表し、例えば、“ｃａｌｌ＿ｓｔｅｐ  ｃａｌｉｂｒａｔｅ  ｍａｓｓｆｌｏｗｃｏｎｔｒｏｌｌｅｒ”および“ｃａｌｌ＿ｓｔｅｐ  ｇｏｔｏ＿ｓｔａｒｔｔｅｍｐｅｒａｔｕｒｅ”は、シーケンスステップ３を呼び出し、両方のサブシーケンスを並行して起動させる。
【００９０】
図７から分かるように、以下のシーケンスステップ１〜６は、連続的に実行され、シーケンスステップ３は、２つのステートメントｉおよびｉｉを呼び出して、並行して実行させる：
１．メッセージが、自動システムの制御パネルに出力される。
２．試験の全ての開始条件を設定するステップが、呼び出される。
３．２つの“ｃａｌｌ＿ｓｔｅｐ”制御フローステートメントが、２つの後続の遠隔サブシーケンスを並行して実行する。
【００９１】
ｉ．Ｃａｌｌ＿ｓｔｅｐ“ｇｏｔｏ＿ｓｔａｒｔｔｅｍｐｅｒａｔｕｒｅ”が、ｃａｌｌａｂｌｅ＿ｓｔｅｐ４（炉加熱される反応器３を加熱し、自動車触媒の入口における温度を安定させるサブシーケンスを表す）を呼び出す。この呼び出し可能ステップの詳細は、図８に関連して、以下に論じられる。
【００９２】
ｉｉ．Ｃａｌｌ＿ｓｔｅｐ“ｃａｌｉｂｒａｔｅ＿ｍａｓｓｆｌｏｗｃｏｎｔｒｏｌｌｅｒ”は、ｃａｌｌａｂｌｅ＿ｓｔｅｐ５（いくつかの質量フローコントローラ８を並行して較正するサブシーケンスを表す）を呼び出す。この呼び出し可能ステップは、図９に関連して、以下で論じられる。ここでは、いくつかの特性は、反応器３の温度を設定する代わりに、質量フローコントローラ８が、動作されるという差異だけで、完全に説明されたｃａｌｌａｂｌｅ＿ｓｔｅｐ“ｇｏｔｏ＿ｔｅｍｐｅｒａｔｕｒｅ”内に類似の同等部分を見出すので、詳細に論じられない。
４．較正されたガスは、反応器に切り替えられて、点火試験ステップが行われる。
５．消火試験ステップが行われる。
６．試験が完了したことを示すメッセージが、制御パネルに出力される。
【００９３】
図８は、遠隔サブシーケンス“ｇｏｔｏ＿ｓｔａｒｔｔｅｍｐｅｒａｔｕｒｅ”を定義する、試験スクリプトの選択された部分を示し、反応器が加熱され、所定の温度レベルに調整される。ここでは、以下のステップが、連続方式で行われる：
１．タグ値“Ｔ＿ＥＸＨＳＰＮＣ５００＿”が、開始パラメータの値（“Ｓｔａｒｔｔｅｍｐｅｒａｔｕｒｅ”）に設定される。これは、炉によって、排出触媒サンプルの正面の温度を制御するように構成されるＰＩＤコントローラ５の設定値の設定を表す。
２．メッセージが、自動システムの制御パネルに出力される。
３．６０秒の間、毎秒、温度値“Ｔ＿ＥＸＰＰＶＮＣ５００＿”が熱電素子４から収集され、ａｒｒａｙ＿ｉｄ＝５を有するアレイ内に記憶される。
４．ｗｈｉｌｅ制御フローステートメントによって、シーケンス制御装置は、感知された温度が、“Ｓｔａｒｔｔｅｍｐｅｒａｔｕｒ”＋／−２℃の温度ウィンドウ内であるか否かを毎秒チェックするように命令され、この条件が満たされる場合、ｗｈｉｌｅループを終了する。＋／−２℃の範囲は、式“（ｍｉｎ（５）｝Ｔ［Ｓｔａｒｔｔｅｍｐｅｒａｔｕｒ］−２）ａｎｄ（ｍａｘ（５）｛Ｔ［Ｓｔａｒｔｔｅｍｐｅｒａｔｕｒ］＋２｝）”においてチェックされ、“ａｎｄ”関数によって、“ｍｉｎ”は、ａｒｒａｙ＿ｉｄ＝５を有するアレイ内の最小値を計算し、“ｍａｘ”は、ａｒｒａｙ＿ｉｄ＝５を有するアレイ内の最大値を計算し、ウィンドウは、最小値が、“Ｓｔａｒｔｔｅｍｐｅｒａｔｕｒ−２”より大きくなければならず、最大値が、“Ｓｔａｒｔｔｅｍｐｅｒａｔｕｒ＋２”より小さくなければならないことを要求することによって実現される。これに関連して、文字‘｛‘および‘｝’は、ｗｈｉｌｅループ条件の定義において使用され、‘｛’は‘ｓｍａｌｌｅｒ  ｔｈａｎ’、および‘｝’は、‘ｌａｒｇｅｒ  ｔｈａｎ’を意味する。しかしながら、ｗｈｉｌｅループ条件が満たされない場合、新しい感知された温度値“Ｔ＿＿ＥＸＰＰＶＮＣ５００＿＿”が、毎秒収集され、先入れ先出し（ＦＩＦＯ）キューとして作用するａｒｒａｙ＿ｉｄ＝５を有するアレイに補足される。
【００９４】
ｗｈｉｌｅ制御フローステートメントが、正常に終了する（すなわち、タイムアウトエラーが生じない）と、排出触媒サンプルの正面の温度は、正常に調整され、安定していると見なされる。
【００９５】
同様に、図９は、前述のように、それぞれの質量フローコントローラ８のそれぞれによって誘導される、質量フローを補正するサブシーケンス“ｃａｌｉｂｒａｔｅ＿ｍａｓｓｆｌｏｗｃｏｎｔｒｏｌｌｅｒ”を定義する試験スクリプトの選択された部分を示す。ここでは、以下のステップが、連続的に実行される。
１．‘ｃａｌｉｂｒａｔｉｏｎ＿ｒｅａｄｙ’タグが、それぞれの較正が進行中であることを示す、０に設定される。
２．バイパスライン７を使用して、反応器をバイパスするように三方弁６および１０を切り替えるためのサブシーケンスの実行を指すｃａｌｌａｂｌｅ＿ｓｔｅｐ‘ｓｅｔ＿ｖａｌｖｅｓ＿ｉｎ＿ｂｙｐａｓｓ’が呼び出される。
３．較正精度および安定化時間が設定される。
４．総排出フローが、“ＶＯＦＥＸＨＳＰＭＦ５００＿”に設定される。
５．このステップでは、６つのサブシーケンスが、並行して実行され、その間、それぞれの質量フローコントローラ８の補正が行われ、起動平均が計算され、雑音測定信号を低減させる。このそれぞれの起動平均は、後のステップで使用され、それぞれの質量フローコントローラ８によって生成される質量フローが、適合されているか、または適合される必要があるか否かを評価する。ｃａｌｌａｂｌｅ＿ｓｔｅｐ“Ｃ＿ＣＯ＿ＢＹＡ１５００＿＿ｃａｌｉｂｒａｔｉｏｎ”は、以下に詳述される。これらの６つのサブシーケンスは、試験スクリプトの改良された可読性のために、ｃａｌｌａｂｌｅ＿ｓｔｅｐに置かれた。実際、それぞれのｃａｌｌａｂｌｅ＿ｓｔｅｐのコンテンツもまた、任意の呼び出し可能ステップを使用せずに、親シーケンス自体の一部として、実装され得ることに留意されたい。
６．‘ｃａｌｉｂｒａｔｉｏｎ＿ｒｅａｄｙ’タグは、較正が正常に完了したことを示す、１に設定される。
【００９６】
図１０は、ＣＯ質量フローコントローラ８によって誘導された質量フローを補正する、遠隔サブシーケンス“Ｃ＿＿ＣＯＢＹＡ１５００＿＿ｃａｌｉｂｒａｔｉｏｎ”を定義する、試験スクリプトの選択された部分を示す。ここでは、以下のステップが、連続的に実行される：
１．ＣＯ質量フローコントローラは、要求されるＣＯ濃度が０ｐｐｍより大きい場合にのみ較正される（ステップ２以降）。
２．ログメッセージが、試験ベンチ自動システムの制御パネルに出力される。
３．ＣＯ質量フローコントローラの設定値が、要求されるバイパスガス濃度に従って、設定される。
４．シーケンス制御装置は、ガスラインが、適切な組成物を有する排ガスによって満たされ得るように、所定の時間の間、待機する。
５．ステップ５は、実際の較正を行う。
【００９７】
ａ．要求されるバイパス濃度と、ＣＯ分析器によって測定された実行時間平均値との間の差異の絶対値が、要求される精度より大きい場合に、較正が開始される。
【００９８】
ｂ．ｗｈｉｌｅ制御フローステートメントが、ＣＯ質量フローコントローラによって要求されたＣＯ濃度を補正する。ｗｈｉｌｅ制御フローステートメントの停止条件が、新しい反復が開始される場合、各反復の終了時にチェックする。
【００９９】
ｃ．ＣＯ質量フローコントローラによって要求される温度が変更される。
【０１００】
ｄ．サブシーケンスは、所定の時間の間、サスペンドするが、しかしながら、サブシーケンスは、並行して起動している他のサブシーケンスが、その実行を継続するのを待機する。
【０１０１】
ｅ．タイムアウトによって、較正反復の数は、制限される。
６．ログメッセージが、試験ベンチ自動システムの制御パネルに出力され、質量フローコントローラがどれだけ補正されたかをオペレータに示す。
【０１０２】
前述のスクリプトに従って定義されたプロシージャは、より小さい偏差を補償するために使用されてもよい一方、このプロシージャから独立して、ガス分析器および質量フローコントローラは、試験スクリプトの別個の部分において、独立して、較正および維持されてもよいことを理解されたい。
【０１０３】
本発明は、その実施形態を参照して説明されたが、当業者には、多くの変更が、本発明の範囲から逸脱することなく、説明された実施形態において行うことができることは明白であろう。したがって、本発明の範囲は、本願に説明されるシステムに限定されないが、請求項およびその均等物の観点によって説明されるシステムによってのみ限定されるべきである。
【図１】
2013513141.tif 000003
【図２】
2013513141.tif 000004
【図３】
2013513141.tif 000005
【図４】
2013513141.tif 000006
【図５】
2013513141.tif 000007
【図６】
2013513141.tif 000008
【図７】
2013513141.tif 000009
【図８】
2013513141.tif 000010
【図９】
2013513141.tif 000011
2013513141.tif 000012
【国際調査報告】
2013513141.tif 000013
2013513141.tif 000014
2013513141.tif 000015