(57)【要約】【課題】外部制御データ技術を利用するＰＬＣを提供する。【解決手段】プログラマブルコントローラ（ＰＬＣ）のワークメモリ２４は、プロセスを制御するための完全な命令セットを保持するＰＬＣのロードメモリ２２から、一度に一つの命令をロードされる。各命令は、少なくとも一つのオプションコードを有するフォーマットを備え、そのオプションコードは、対応する命令が実行される前に、ＰＬＣインタプリタによって真であると評価されなければならない。インタプリタがその少なくとも一つのオプションコードが偽であると評価した場合、その命令は実行されず、次の命令がロードメモリ２２からワークメモリ２４へ転送され、その後次の命令に対応するオプションコードが評価される。【選択図】図３
2006155613.tif 000002
【特許請求の範囲】
【請求項１】
プロセスの制御に必要な全ての命令及びデータを保存するロードメモリを有する中央演算ユニット（ＣＰＵ）と、プロセスを制御するためにワークメモリ内の命令を評価し、実行するインタプリタを備えるプログラマブルコントローラ（ＰＬＣ）を用いたプロセスの制御方法であって、該制御方法は、
（ａ）有効若しくは無効であるとしてコードされる少なくとも一つのオプションコードを含むフォーマットを有する命令を生成するステップと、
（ｂ）前記ロードメモリから前記ワークメモリへ一つの命令を複製するステップと、
（ｃ）前記インタプリタによって、前記の少なくとも一つのオプションコードについて、真か否かを決定するために、前記のオプションコードを評価するステップと、
（ｄ）前記インタプリタによって前記オプションコードが真であると評価された場合前記命令を実行し、一方前記インタプリタによって前記オプションコードが偽であると評価された場合前記命令を実行せず、且つその場合前記ロードメモリから前記ワークメモリへ次の命令を複製し、該次の命令について（ｃ）のステップを繰り返すステップと、
（ｅ）真であると評価されたオプションコードを有する前記命令が完了したか否か、及び前記命令を完了まで実行を継続させないか否かの観察を確認するステップと、
（ｆ）真であると評価されたオプションコードを有する前記命令が完了した場合、対応する命令における前記少なくとも一つのオプションコードの評価が真であると決定された場合の全ての命令が評価され、且つ実行されるまでステップ（ｂ）から（ｆ）を繰り返すステップと、を有することを特徴とする制御方法。
【請求項２】
前記命令を生成するステップは、シーケンスデータブロックの生成を含み、該シーケンスデータブロックの各々は、前記プロセスの制御において一意なシーケンス又はイベントを得るために必要な一連の命令を有する、請求項１に記載の方法。
【請求項３】
前記フォーマットは、二つのオプションコードを有し、該オプションコードの各々は、有効若しくは無効として符号化され、且つ前記命令を実行するステップは、前記インタプリタが前記オプションコードの両方を真であると評価した場合のみ生じ、前記オプションコードの少なくとも一つが偽として評価される場合には前記命令を実行しない、請求項１に記載の方法。
【請求項４】
前記命令の各々は、所定数のバイトを有する請求項１に記載の方法。
【請求項５】
前記所定数のバイトは、６バイトである請求項４に記載の方法。
【請求項６】
前記フォーマットは、前記少なくとも一つのオプションコードに追加して複数のパラメータをさらに有し、該パラメータの各々及び前記少なくとも一つのオプションコードは、１バイトのサイズである請求項５に記載の方法。
【請求項７】
ゼロの値を有するオプションコードは、前記インタプリタによって常に真であると評価される請求項１に記載の方法。
【請求項８】
前記プロセスはガスフロープロセスであり、且つ前記ＰＬＣはガスキャビネットにおける処理装置を制御する請求項１に記載の方法。
【請求項９】
接続されるプロセスを制御するプログラマブルコントローラ（ＰＬＣ）であって、該プログラマブルコントローラは、プロセスの制御に必要な全ての命令及びデータを保存するロードメモリを有する中央演算ユニット（ＣＰＵ）と、プロセスを制御するためにワークメモリ内の命令を評価し、実行するインタプリタを備え、
前記ロードメモリは、各命令が有効若しくは無効であるとしてコードされる少なくとも一つのオプションコードを含むフォーマットを有する、リードオンリーの命令を保持し、
前記ワークメモリは、一度にただ一つの命令を受信し、
前記インタプリタは、前記少なくとも一つのオプションコードが真であるか否かを決定し、且つ前記少なくとも一つのオプションコードが真である場合には前記の一つの命令を実行するために、前記少なくとも一つのオプションコードを評価し、前記少なくとも一つのオプションコードが偽であると評価された場合には次の命令を受信することを特徴とするプログラマブルコントローラ。
【請求項１０】
前記ＰＬＣの前記ロードメモリは、シーケンスデータブロックを有し、該シーケンスデータブロックの各々は、前記プロセスの制御において一意なシーケンス又はイベントを得るために必要な一連の命令を有する請求項９に記載のプログラマブルコントローラ。
【請求項１１】
前記ＰＬＣの前記フォーマットは、二つのオプションコードを有し、該オプションコードの各々は、有効若しくは無効として符号化され、且つ前記ＰＬＣの前記インタプリタは、前記オプションコードの両方を真であると評価した場合のみ対応する命令を実行し、前記命令のオプションコードの少なくとも一つが偽として評価される場合には次の命令を評価する請求項９に記載のプログラマブルコントローラ。
【請求項１２】
前記ＰＬＣの前記ロードメモリは、不揮発性のフラッシュカードである請求項９に記載のプログラマブルコントローラ。
【請求項１３】
前記ＰＬＣの前記命令の各々は、所定数のバイトを有する請求項９に記載のプログラマブルコントローラ。
【請求項１４】
前記ＰＬＣの前記命令の各々についての前記所定数のバイトは、６バイトである請求項１３に記載のプログラマブルコントローラ。
【請求項１５】
前記ＰＬＣの前記フォーマットは、前記少なくとも一つのオプションコードに追加して複数のパラメータをさらに有し、該パラメータの各々及び前記少なくとも一つのオプションコードは、１バイトのサイズである請求項１４に記載のプログラマブルコントローラ。
【請求項１６】
前記ＰＬＣにおいて、ゼロの値を有するオプションコードは、前記インタプリタによって常に真であると評価される請求項９に記載のプログラマブルコントローラ。
【請求項１７】
前記ＰＬＣは、プログラマが、オプションコードの各々を有効又は無効にすることができる入出力装置をさらに有する請求項９に記載のプログラマブルコントローラ。
【請求項１８】
前記ＰＬＣが有する入出力装置は、タッチスクリーンパネルである請求項１７に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（ＰＬＣ）に関するものであり、より詳しくは、その制御ロジックの実行においてシーケンスインタプリタアプローチを利用するＰＬＣに関する。
【背景技術】
【０００２】
ＰＬＣの使用は、プロセス制御の分野に革命をもたらしてきた。プロセス制御におけるＰＬＣの使用の一例は、半導体製造にある。半導体の液体若しくは気体を組み立てツールに搬送するためのキャリアガスと混ぜた混合気体を形成するために２以上の流体を混合することは、精密なプロセス制御を必要とする。代表的に、ＰＬＣによるこのタイプのプロセスの制御は、ＰＬＣにおけるシーケンス制御ロジック（すなわち、バルブの開閉、警告セットポイントの確認など）を含み、シーケンシャルなラダープログラミングを通じて達成される。これは標準的なアプローチであり、固定された制御スキームのアーキテクチャに対しては良好に動作する。しかし、制御スキームに対する如何なる変更も、このスキルセット個々のラダーロジックの修正が必要となる。さらに、そのような固定された制御スキームのアーキテクチャによるメモリの使用は非効率である。
【０００３】
特に、古典的なＰＬＣソフトウェアは、ラダーロジック設計を利用し、それは標準的な自動化アプリケーションに対するプログラミングの大部分を占める。図１に、このタイプのアプリケーションの階層構造を示す。このプログラミング技術を使用して適切な合成物であるアプリケーションを構成することができる。そして、得られたアプリケーションは、広い横断的なプロセス制御コミュニティ及び最小限のトレーニングを受けたローカルなエンジニア及び技術者によって維持可能である。このプログラミング技術は容易に構築されるが、他の利用可能な言語と比較した場合、特にメモリの使用において効率的でない。流入フローが混合されるガスキャビネットの第１及び第２の流入フローのような、複数のガスの流れの制御について使用可能なコードセグメントを構築する必要性は依然として残っており、残念ながらラダーロジックがこれを達成することは容易でない。
【０００４】
例を挙げると、本願の出願人、すなわちエアプロダクト・アンド・ケミカル（Air Products & Chemicals, Inc.）は、そのプロセスラインにおいてＰＬＣを使用しており、そのガスガード（Gasquard）４５０プロセスラインのリリース（１９９０年前後）において、システム動作制御用の外部設定可能なデータを使用した技術が、ガスキャビネットに関する製品について使用されている。ガスガード２５０、５００、ＡＰ２及びＡＰ３を含む、ガスガードの一連の製品群は、この同じ方法を全て使用している。しかし、主要な差異は、前述の製品のそれぞれが様々なタイプ及びメーカーの組み込み型制御システムを利用しているということである。
【０００５】
これらの問題に打ち勝つための試みは、特別仕様のガスキャビネット用のＰＬＣアプリケーションのコード開発を含んでいたが、この方向のプログラミング手法を使用した場合、そのアプリケーションは急速にメモリを使い果たすことになった。メモリの節約をもたらし、可能な場合にはコードセグメントの再利用を可能にする領域において、基本的な最上位のラダーロジックルーチンを補完するカスタムＳＴＬ（ステートメントリスト）ルーチン及びＳＣＬ（構造化制御言語）ルーチンの使用も提案された。メモリ使用の問題の領域の一つはＰＬＣにおける標準コールシーケンスである。大きなオーバーヘッドのメモリ使用をもたらすルーチン及び低レベルＳＴＬに対する各コールは、このオーバーヘッドメモリを使用することなく使用される複数のコールを行うコードで構築可能である。これは大幅にメモリ使用量を削減した。メモリ使用の第２の領域は、選択されたハードセットにおける利用可能なタイマーの欠如である。利用可能なタイマー数が少ないために、カスタムのタイミングルーチンがＳＴＬで構築された。アプリケーションにおいてＳＴＬのその含有物は要望されなかったが、メモリの制限のためにそれは含められた。多くのアナログスケーリング及び警告機能がＳＣＬを用いてコードされ、それはラダーロジックよりも望ましくないものの、明らかにＳＴＬのセグメントよりも望ましい。図２に、得られた階層構造を示す。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
生成されたＰＬＣアプリケーションソフトウェアは、ＳＣＬのカスタムシーケンスと低レベルのＳＴＬサービスルーチンとともに、全体の実行ループに対して、ラダーロジックを利用する。アプリケーションの構成データは、選択されたオプション及びアラームのリミットなどとともに個別のアプリケーションのカスタマイズに使用される。しかし、プログラミングのアプローチにおいてこれらの妥協案をもってさえ、アプリケーションが選択されたハードウェアの制限に明確に適合することはできない。三つの分離したプログラミング言語及びＳＴＬセグメントからなる生成コードは、コードのメンテナンスに潜在的な問題を抱えていると考えられる。
【０００７】
そのため、一般的にこの手法を利用しないＰＬＣベースの制御システムにおいて外部制御データ技術を利用するＰＬＣの必要性がある。
【課題を解決するための手段】
【０００８】
本発明は、プロセスの制御に必要な全ての命令及びデータを保存するロードメモリを有する中央演算ユニット（ＣＰＵ）と、プロセスを制御するためにワークメモリ内の命令を評価し、実行するインタプリタを備えるプログラマブルコントローラ（ＰＬＣ）を用いたプロセスの制御方法を提供する。上記制御方法は、（ａ）有効若しくは無効であるとしてコードされる少なくとも一つのオプションコードを含むフォーマットを有する命令を生成するステップと、（ｂ）ロードメモリからワークメモリへ一つの命令を複製するステップと、（ｃ）インタプリタによって、少なくとも一つのオプションコードについて、真か否かを決定するために、そのオプションコードを評価するステップと、（ｄ）インタプリタによってそのオプションコードが真であると評価された場合その命令を実行し、一方インタプリタによってそのオプションコードが偽であると評価された場合その命令を実行せず、且つその場合ロードメモリからワークメモリへ次の命令を複製し、この次の命令について（ｃ）のステップを繰り返すステップと、（ｅ）真であると評価されたオプションコードを有する命令が完了したか否か、及びその命令を完了まで実行を継続させないか否かの観察を確認するステップと、（ｆ）真であると評価されたオプションコードを有する命令が完了した場合、対応する命令における上記少なくとも一つのオプションコードの評価が真であると決定された場合の全ての命令が評価され、且つ実行されるまでステップ（ｂ）から（ｆ）を繰り返すステップと、を有する。
【０００９】
また、本発明は、それに対して接続されるプロセスを制御するプログラマブルコントローラ（ＰＬＣ）であって、及びプロセスの制御に必要な全ての命令及びデータを保存するロードメモリを有する中央演算ユニット（ＣＰＵ）と、プロセスを制御するためにワークメモリ内の命令を評価し、実行するインタプリタを備えるプログラマブルコントローラ（ＰＬＣ）を提供する。そのＰＬＣは、各命令が有効若しくは無効であるとしてコードされる少なくとも一つのオプションコードを含むフォーマットを有する、リードオンリーの命令を保持するロードメモリと、一度にただ一つの命令を受信するワークメモリとを有し、インタプリタは、少なくとも一つのオプションコードが真であるか否かを決定し、且つその少なくとも一つのオプションコードが真である場合には上記の一つの命令を実行するために、その少なくとも一つのオプションコードを評価し、その少なくとも一つのオプションコードが偽であると評価された場合には次の命令を受信する。
【発明を実施するための最良の形態】
【００１０】
ここで参照した全ての文献は、全体を参照としてここに組み込む。
本発明を、添付の図面とともに説明する。また図面では、同様の要素に対して同様の参照番号で表す。
【００１１】
本発明は、ＰＬＣにおけるシーケンス制御ロジックのプログラミングに対して革新的なアプローチを使用し、それにより、分離し、事前に構成されたバイナリデータを用いてシーケンス制御が達成される。特に、本発明はＳＣＬ（構造化制御言語）及びラダーロジックに焦点を合わせ、シーケンスインタプリタ及びシーケンスデータブロックの概念も導入する。このアプローチは、メモリ使用の最小化及び特別仕様環境における事前試験コードを用いてより柔軟な構成環境を可能にするために選択される。
【００１２】
上述したように、このアプローチは伝統的な直線的プログラミングモデルと異なり、メタコードインタプリタを利用する。このモデルの下では、個別のシーケンス（若しくはイベント、例えば、バルブ１の排気、バルブ２の排気、ベント開放など）をメタコードインタプリタによって解釈されるデータブロックで表すことができる。シーケンスを表すデータは、シーケンスを達成するカスタムコードを構成するのに必要なサイズのほんの一部にすぎない。メタコードインタプリタのサイズは、どの一つのシーケンスよりも大きい可能性があるが、同一のコードが全てのシーケンスに対して使用され、その結果、必要なメモリは著しく少なくなる。このインタプリタモデルの使用は、個々のコードセグメントは変更されず、データのみが変更されるため、再検証されるべき下層コードを必要とすることなく、個別のシーケンスにおける修正をも可能とする。図３に、本発明に係るこのアプローチの階層構造２０を示す。
【００１３】
図４に、一例として、様々なバルブ、圧力スイッチ、ガスシリンダなどを備える（以下で、全体が装置４として参照されるものの）ガスキャビネット２の正面図を示す。この装置４は、ＰＬＣ（図示せず）によって制御され、そのＰＬＣはガスキャビネット２の上部６の内側に配置される。ＰＬＣと通信する様々な入出力（Ｉ／Ｏ）装置が既知であるものの、入出力装置の一例として、図５にはタッチスクリーン８が示される。
【００１４】
図６に示すように、ＰＬＣの中央演算ユニット（ＣＰＵ）（単なる例示として、シーメンス製ＰＬＣモデルｎｏ．Ｓ７−３００）は、ロードメモリ２２及びワークメモリ２４を有する。シーケンスデータはデータブロック内に完全に含まれるために、ロードメモリ（例えば、フラッシュカード）上にシーケンスデータブロックを保持すること、及び必要に応じて、ワークメモリ２４内に逐次的にデータブロックをロードすることが可能となる。これは、さらにメモリの使用量を削減する。ワークメモリ２４内に保持される必要のあるシーケンスが全ての他のシーケンスの終了についてのデフォルトシーケンスなので、このシーケンスのみが待機シーケンスとなる。ＰＬＣは、製造用ガスキャビネット装置２（例えば、カスタマーの製造ツール）を制御する。単一ガスキャビネット２が複数の使用ポイントを供給することを可能にするバルブマニホールドボックス（ＶＭＢ）２Ａをガスキャビネット２に接続することが可能なことも注意しておく。
【００１５】
ＰＬＣにおいてイベントのシーケンスを構成するためにシーケンスデータ源を用いることにより、二つの問題が解決する。
１．リーズナブルなコストで利用可能で、且つ必要に応じて拡張可能な不揮発性フラッシュメモリ領域にバイナリ制御データが分割して保存されるので、ＰＬＣ内部のメモリの制約は回避される。
２．ＰＬＣベースの制御システムの構成は、前に作成した組み込みシステムにおいて利用したのと同じ実績のあるツール及び技術を用いて達成することができる。
【００１６】
ロードメモリ２２は、不揮発性フラッシュカードであり、リードオンリーのシーケンスデータを保持する（図７）。各シーケンスデータブロックは、一連のコマンド命令からなる。シーケンスデータブロックのサイズは拡張可能であるが、ここでは、最大１６０コマンド命令を有する。図８に示すように、各々のシーケンスコマンド命令は、単なる例示として、６バイトのデータで構成される。図９は、３個のシーケンスコマンド、すなわちシーケンスコマンド＃１、＃２、及び＃３を示すロードメモリ２２内のシーケンスデータブロックの例を示す。
【００１７】
ワークメモリ２４は、限られたサイズのＣＰＵ内の揮発性データである。一意なその時点でのシーケンスデータブロック及びサブシーケンスデータブロックは、各プロセスラインに対して保持される（図１０）。サブシーケンスデータブロックは、基本的に、反復的な関数を実行するためにシーケンスデータブロックによって呼び出されるマクロ若しくは内部ループである。ここでは、シーケンスデータＰＬｘのブロックサイズは、一つのコマンド命令（６バイト）を扱うのに十分な大きさを有する。その時点の実行コマンドは完全に実行を終えるまでこのブロックに残る。
【００１８】
特定のアプリケーション、すなわち、ＰＬＣによって制御されるプロセスに依存して、構成プログラマは、ソフトウェアツールを用いて、どのオプションコード（本明細書を通じて、“opcode”として参照する）がそのプロセスにおいてアクティブであるべきかを選択する。単なる例示として、今、特定のプロセスの特定の制御のために用意されるＰＬＣの構成に対して使用可能な９６個の利用可能オプションコードがある。そのため、特定のＰＬＣ構成がカスタマーに対して提供され、構成プログラマは、カスタマーの特有のプロセスを制御するために必要なこれらのオプションコードを（全部で９６個の利用可能なオプションコードから）選択する。“オプションコードの選択”は、コマンド構造の最後尾の二つのバイトがインタプリタによって評価される場合に、それらの両方が“真”と評価されるような、これら二つの符号化バイトを含む。これら二つの最後尾のバイトの一つでも“真”と評価されない場合、それらが関連付けられるコマンドは実行されない。反対に、これらバイトの両方が“真”と評価される場合には、関連するコマンドが実行される。この手法では、９６個のオプションコード全部を実際のソフトウェアに加えたり、削除しなくてもよく、代わりとして、それらは、オプションコードの評価を行うことによって有効か無効かのどちらかとなる。図１１乃至図１３は、特定のプロセス構成に対するオプションコードのリストの一例を提供するチャートを形成する。図から分かるように、オプションコードの全ては利用可能であり、どのオプションコードが実施されるかを選択する構成プログラマ次第である。また、十分理解されるように、各オプションコードは、“ｙｅｓ”又は“ｎｏ”についての一意の１６進値とともに指定される。
【００１９】
図１４は、本発明のアプリケーションを実行するＰＬＣインタプリタの動作のフローチャートを表す。
シーケンスが始まると、最初のコマンド命令（６バイトで構成）が、ロードメモリ２２の適切なシーケンスデータブロックからワークメモリ２４の対応するプロセスラインのデータブロックへ複製される。シーケンスコマンド構造のフォーマットは、図６に示される。シーケンスインタプリタが走ると（すなわち、各スキャン）、インタプリタはこのローカルなデータブロック内のコマンドを実行しようと試みる。
【００２０】
コマンド構造の最後尾の２バイト、OpCode1及びOpCode2は、そのコマンドが実行されるべきか、スキップされるべきかを決定するために評価される（図８及び図９を参照）。コマンドが実行されるためには、その両方のopcodeパラメータが真でなければならない。これらのパラメータは、システムにおいて現在オプションが存在するか否かを決定する構成プログラマによって利用されるオプションコードに関する値を保持する。０の値を有するopcodeは、そのパラメータが使用されないことを示し、常に真として評価される。例示として、ここでは、ソフトウェアの構成に使用可能な９６個のオプションコードがある。
【００２１】
opcodeのチェックにより真と評価された場合、そのコマンドはシーケンスインタプリタによって実行される。反対に、opcodeのチェックにより偽と評価された場合、そのコマンドは実行されない。
【００２２】
シーケンスインタプリタはコールする関数に対して二つのブールパラメータ、SeqStepResult及びSeqEndResultを返す。SeqStepResultはコマンド（ステップ）が完了されたか否かを示す。いくつかのコマンドは完了のために多数のＣＰＵスキャンを必要とし、そのコマンドが最終的に完了するまで“偽”の値のSeqStepResultを返すことになる。“真”の値のSeqStepResultを受信した場合、シーケンスコマンドは次のステップにインクリメントされ、一方、“偽”の値のSeqStepResultは次のコマンドが読み取られ、評価されることを防止する。SeqEndResultは、シーケンスの終わりに到達したことを示す。このパラメータが“真”の場合、シーケンスインタプリタはこのプロセスラインのコマンド評価を停止する。
【００２３】
ＣＰＵスキャンごとに、プロセスラインのインジケータ変数がインクリメントされる。プロセスラインの最も大きな番号に到達した場合、プロセスラインのインジケータ変数は、プロセスライン１に戻る。シーケンスが各プロセスラインに対して実行されていると仮定すると、シーケンスインタプリタは最初にプロセスライン１の現在のコマンドを評価する。次のスキャンにおいて、シーケンスインタプリタは、次のプロセスラインのその時点のコマンドを評価する。これが最後のプロセスラインまで続き、最後のプロセスラインの場合には次のＣＰＵスキャンでシーケンスインタプリタはプロセスライン１に戻る。
【００２４】
本発明に係るシステム及び方法の使用は、以下に示す追加的な利点をもたらす。
・小容量で済むシステムメモリの要件が、システムコストの低下をもたらす。
・システムに対する動作修正がＰＬＣプログラマによってなされる必要がない。
・シーケンスインタプリタのロジックはポータブルであり、他のプロセスラインにおいて再利用可能である。
・構成データを、全てのシステムオプション（マスターテンプレート）に適応するように組み立てることが可能である。
・構成データは、幾つかのデータブロックにカブセル化され、そして容易に保存し、有効化し、更新制御することが可能である。
・無効なコマンド命令を検出し、その後の適切なエラー処理対策を採ることが可能である。
・将来の変更を、下層のロジックコードの修正、追加、テストを行うことなしに達成することが可能である。
・追加のシーケンスロジックブロックをワークメモリに影響を与えることなく追加することが可能である。
・シーケンスインタプリタのコマンドリストは、必要に応じて拡張又は強化することができる。
・個々の論理命令は、単純なブール変数（オプションコード）を通じて有効化又は無効化できる。これは、実行時においてなされる。
【００２５】
最初の試みは、本出願人のコントローラシリーズの柔軟性を良好に保ちつつ、このアプローチがＭＣキャビネット及びＶＭＢ２Ａ（特に、８スティックＶＭＢ２Ａ、ここで８は８本の独立したフローラインを示す）に対するコードセットの両方が現在のハードウェアセットとともに達成されることを可能にするということに示されてきた。
この種のアプローチをデータブロックを通じたシーケンスの集積へシフトすることは、より大規模なＰＬＣの使用を必要とする代わりに、現在のハードウェアプラットフォームを用いて８スティックＶＭＢ２Ａを処理することを可能にする。これは、一つのコントローラをガスキャビネットと８スティックＶＭＢの両方に使用することが可能であるため、製造上必要とされる標準部品の数をさらに削減する。また、このアプローチは、構成のベースとして実存するエディタを広範囲に使用することを可能とし、製造設備構成に必要な再訓練の量を少なくする。
【００２６】
以下に、本発明の実施形態についてまとめる。
実施形態の一つは、プロセスの制御に必要な全ての命令及びデータを保存するロードメモリを有する中央演算ユニット（ＣＰＵ）と、プロセスを制御するためにワークメモリ内の命令を評価し、実行するインタプリタを備えるプログラマブルコントローラ（ＰＬＣ）を用いたプロセスの制御方法であって、該制御方法は、
（ａ）有効若しくは無効であるとしてコードされる少なくとも一つのオプションコードを含むフォーマットを有する命令を生成するステップと、
（ｂ）前記ロードメモリから前記ワークメモリへ一つの命令を複製するステップと、
（ｃ）前記インタプリタによって、前記の少なくとも一つのオプションコードについて、真か否かを決定するために、前記のオプションコードを評価するステップと、
（ｄ）前記インタプリタによって前記オプションコードが真であると評価された場合前記命令を実行し、一方前記インタプリタによって前記オプションコードが偽であると評価された場合前記命令を実行せず、且つその場合前記ロードメモリから前記ワークメモリへ次の命令を複製し、該次の命令について（ｃ）のステップを繰り返すステップと、
（ｅ）真であると評価されたオプションコードを有する前記命令が完了したか否か、及び前記命令を完了まで実行を継続させないか否かの観察を確認するステップと、
（ｆ）真であると評価されたオプションコードを有する前記命令が完了した場合、対応する命令における前記少なくとも一つのオプションコードの評価が真であると決定された場合の全ての命令が評価され、且つ実行されるまでステップ（ｂ）から（ｆ）を繰り返すステップと、を有することを特徴とする制御方法である。
【００２７】
前記命令を生成するステップは、シーケンスデータブロックの生成を含み、該シーケンスデータブロックの各々は、前記プロセスの制御において一意なシーケンス又はイベントを得るために必要な一連の命令を有する。
【００２８】
前記フォーマットは、二つのオプションコードを有し、該オプションコードの各々は、有効若しくは無効として符号化され、且つ前記命令を実行するステップは、前記インタプリタが前記オプションコードの両方を真であると評価した場合のみ生じ、前記オプションコードの少なくとも一つが偽として評価される場合には前記命令を実行しない。
【００２９】
前記命令の各々は、所定数のバイトを有する。
【００３０】
前記所定数のバイトは、６バイトである。
【００３１】
前記フォーマットは、前記少なくとも一つのオプションコードに追加して複数のパラメータをさらに有し、該パラメータの各々及び前記少なくとも一つのオプションコードは、１バイトのサイズである。
【００３２】
ゼロの値を有するオプションコードは、前記インタプリタによって常に真であると評価される。
【００３３】
前記プロセスはガスフロープロセスであり、且つ前記ＰＬＣはガスキャビネットにおける処理装置を制御する。
【００３４】
実施形態の別の一つは、接続されるプロセスを制御するプログラマブルコントローラ（ＰＬＣ）であって、該プログラマブルコントローラは、プロセスの制御に必要な全ての命令及びデータを保存するロードメモリを有する中央演算ユニット（ＣＰＵ）と、プロセスを制御するためにワークメモリ内の命令を評価し、実行するインタプリタを備え、
前記ロードメモリは、各命令が有効若しくは無効であるとしてコードされる少なくとも一つのオプションコードを含むフォーマットを有する、リードオンリーの命令を保持し、
前記ワークメモリは、一度にただ一つの命令を受信し、
前記インタプリタは、前記少なくとも一つのオプションコードが真であるか否かを決定し、且つ前記少なくとも一つのオプションコードが真である場合には前記の一つの命令を実行するために、前記少なくとも一つのオプションコードを評価し、前記少なくとも一つのオプションコードが偽であると評価された場合には次の命令を受信することを特徴とするＰＬＣである。
【００３５】
前記ＰＬＣの前記ロードメモリは、シーケンスデータブロックを有し、該シーケンスデータブロックの各々は、前記プロセスの制御において一意なシーケンス又はイベントを得るために必要な一連の命令を有する。
【００３６】
前記ＰＬＣの前記フォーマットは、二つのオプションコードを有し、該オプションコードの各々は、有効若しくは無効として符号化され、且つ前記ＰＬＣの前記インタプリタは、前記オプションコードの両方を真であると評価した場合のみ対応する命令を実行し、前記命令のオプションコードの少なくとも一つが偽として評価される場合には次の命令を評価する。
【００３７】
前記ＰＬＣの前記ロードメモリは、不揮発性のフラッシュカードである。
【００３８】
前記ＰＬＣの前記命令の各々は、所定数のバイトを有する。
【００３９】
前記ＰＬＣの前記命令の各々についての前記所定数のバイトは、６バイトである。
【００４０】
前記ＰＬＣの前記フォーマットは、前記少なくとも一つのオプションコードに追加して複数のパラメータをさらに有し、該パラメータの各々及び前記少なくとも一つのオプションコードは、１バイトのサイズである。
【００４１】
前記ＰＬＣにおいて、ゼロの値を有するオプションコードは、前記インタプリタによって常に真であると評価される。
【００４２】
前記ＰＬＣは、プログラマが、オプションコードの各々を有効又は無効にすることができる入出力装置をさらに有する。
【００４３】
前記ＰＬＣが有する入出力装置は、タッチスクリーンパネルである。
【００４４】
本発明を、特定の例を参照するとともに詳細に説明してきたが、当業者が本発明の範囲から外れることなく、それらに対して様々な変更や修正を加えることができることは明らかであろう。
【図面の簡単な説明】
【００４５】
【図１】従来のＰＬＣソフトウェアアプリケーションの階層構造を示す図である。
【図２】メモリ使用の問題を解決する方向性を持った別のＰＬＣソフトウェアアプリケーションの階層構造を示す図である。
【図３】実施の変更に対する複雑さのレベルを減少させつつ、メモリ使用の問題に打ち勝つ、本発明に係るＰＬＣソフトウェアアプリケーションの階層構造を示す図である。
【図４】その上部内側に取り付けられたＰＬＣを有するガスキャビネットの一例の正面図である。
【図５】ＰＬＣと通信するタッチスクリーンの一例の正面図である。
【図６】本発明に係る階層構造を有するＰＬＣの中央演算ユニット（ＣＰＵ）の機能ブロック図である。
【図７】本発明に係る階層構造を有するＰＬＣのＣＰＵのロードメモリのコンテンツを示す図である。
【図８】本発明に係るシーケンスコマンド構造のフォーマットを定義するチャートを示す図である。
【図９】ロードメモリ内のシーケンスデータブロックを示す図である。
【図１０】本発明に係る階層構造を有するＰＬＣのＣＰＵのワークメモリのコンテンツを示す図である。
【図１１】構成のプログラマによって設定された各オプションコードについてのユニークな設定レベル（イエス又はノー）を示す一例の構成における９６個のオプションコードのチャートの一部を示す図である。
【図１２】構成のプログラマによって設定された各オプションコードについてのユニークな設定レベル（イエス又はノー）を示す一例の構成における９６個のオプションコードのチャートの一部を示す図である。
【図１３】構成のプログラマによって設定された各オプションコードについてのユニークな設定レベル（イエス又はノー）を示す一例の構成における９６個のオプションコードのチャートの一部を示す図である。
【図１４】実施の変更に対する複雑さのレベルを減少させつつ、メモリ使用の問題に打ち勝つ、本発明に係るＰＬＣインタプリタアプリケーションのフローチャートである。
【符号の説明】
【００４６】
２    ガスキャビネット
２０    階層構造
２２    ロードメモリ
２４    ワークメモリ
【図１】
2006155613.tif 000003
【図２】
2006155613.tif 000004
【図３】
2006155613.tif 000005
【図４】
2006155613.tif 000006
【図５】
2006155613.tif 000007
【図６】
2006155613.tif 000008
【図７】
2006155613.tif 000009
【図８】
2006155613.tif 000010
【図９】
2006155613.tif 000011
【図１０】
2006155613.tif 000012
【図１１】
2006155613.tif 000013
【図１２】
2006155613.tif 000014
【図１３】
2006155613.tif 000015
【図１４】
2006155613.tif 000016