(57)【要約】  プログラマブルロジックコントローラ（ＰＬＣ）のための診断＆補修論理プログラムが、メインマシン論理プログラムと並行して提供される。診断＆補修論理プログラムは、メインマシン論理プログラムと同一の機能性を有するが、欠陥のあるメインマシン論理プログラムをテストおよびデバッグするために、改変され、メインマシン論理プログラムから独立して動作することができる。ＰＬＣは、テストおよびデバッグするためにプログラム間で切り換えが可能である。【選択図】図２
2011501294.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのデバイスを制御するための命令を含むメイン論理プログラムと、
前記メイン論理プログラムのコピーである診断＆補修論理プログラムと、
前記少なくとも１つのデバイスに命令を送信するために、前記メイン論理プログラムと診断＆補修論理プログラムとに接続され、前記メイン論理プログラムと前記診断＆補修論理プログラムのうちの１つを選択するためのスイッチと
を含むデバッグおよびテストすることを容易にするプログラマブルコントローラ。
【請求項２】
前記診断＆補修論理プログラムとメイン論理プログラムとの間でプログラミングをコピーするために、前記メイン論理プログラムと診断＆補修論理プログラムとの間に通信パスをさらに含む請求項１記載のプログラマブルコントローラ。
【請求項３】
前記スイッチが、ハードウエアによるスイッチおよびソフトウエアによるスイッチのうちの１つである、請求項１記載のプログラマブルコントローラ。
【請求項４】
前記スイッチに接続され、前記メイン論理プログラムと診断＆補修論理プログラムのうちの前記選択された１つから前記少なくとも１つのデバイスにコマンドを通信するための通信バスをさらに含む請求項１記載のプログラマブルコントローラ。
【請求項５】
前記スイッチが、前記コントローラ上のスイッチ、ならびに前記診断＆補修論理プログラムとメイン論理プログラムと前記少なくとも１つのデバイスとの間に接続されたインターフェーススイッチのうちの１つを含む、請求項１記載のプログラマブルコントローラ。
【請求項６】
前記メイン論理プログラムと前記診断&論理プログラムとが同時に動作している、請求項１記載のプログラマブルコントローラ。
【請求項７】
少なくとも１つの接続されたデバイスと通信するために、プログラマブルコントローラ上のメイン論理プログラムと同じプログラミング論理を有する診断＆補修論理プログラムをアクティブにすること、
前記診断＆補修論理プログラムを使用して前記プログラマブルコントローラをデバッグすること、および
デバッグの後に、前記メイン論理プログラムを再びアクティブにすること
を含むプログラマブルコントローラを補修するための方法。
【請求項８】
前記メイン論理プログラムを再びアクティブにする前に、前記診断＆補修論理プログラムに加えられた変更を前記メイン論理プログラムにコピーすることをさらに含む請求項７記載の方法。
【請求項９】
プログラマブルコントローラ上の論理プログラムのプログラミング論理に変更を加えることによって、前記プログラマブルコントローラをデバッグすること、
デバッグの後に、前記プログラミング論理を元に戻すこと
を含むプログラマブルコントローラを補修するための方法。
【請求項１０】
元に戻すことが、前記変更をアンドゥすること、および前記論理プログラムの前のバージョンに復帰することのうちの１つを含む、請求項９記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、プログラマブルコントローラおよびシステムに関する。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（ＰＬＣ）およびプログラマブルオートメーションコントローラ（ＰＡＣ）は共に、デバイスの多様なシステムの動作を制御するための複雑な論理ツリーを含んで、処理を自動化する。処理は、プログラマブルロジックコントローラが、そこに含まれる論理プログラムをスキャンすることによって制御する。論理プログラムによるスキャンが進むにつれ、接続されたデバイスおよび状態表示器からのフィードバックを介して報告されるように、接続されたデバイスおよび状態表示器の状況に応じて、異なる演算が行われる。
【０００３】
プログラマブルロジックコントローラまたはプログラマブルオートメーションコントローラを備えたシステムが故障する、または正常に動かなくなったとき、その故障またはエラーの根本原因を突き止めるのが非常に困難なことがある。インストール済みの異常な論理プログラムの実行における根本原因を突き止めるための方法として、補修エンジニアがインストール済みの論理プログラムを改変することは、ユーザの要請により、通常は許可されない。しばしば、インストール済みの論理プログラムにおいて異常な論理演算が見られることがある。補修エンジニアがインストール済みの論理プログラムに変更を加えることが許可されないとき、プログラムの診断および修正、またはデバッグはより一層困難なものとなる。
【０００４】
現在のところ、補修エンジニアがインストール済みの論理プログラムのデバッグを試みる唯一の選択肢は、インストール済みのプログラム内の変数にアクセスし、変数を異なる強制値に変更し、その強制値を使用してインストール済みのプログラムの論理演算を監視することである。しかし、補修エンジニアは、インストール済みの論理プログラムの実際の論理またはプログラミングを改変または変更することはできず、そのため、既存の論理プログラムをテストすることしかできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】欧州特許第１４５７８５０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、異常な論理演算をテストし修正することを、現在可能なものよりも簡単かつ便利なものにするために、プログラマブルロジックコントローラおよびプログラマブルオートメーションコントローラのための改良されたシステムおよび方法が必要である。
【課題を解決するための手段】
【０００７】
本発明の実施形態によるプログラマブルロジックコントローラ（ＰＬＣ）またはプログラマブルオートメーションコントローラ（ＰＡＣ）は、メイン論理プログラムに加えて、診断＆補修論理プログラムを含む。プログラマブルロジックコントローラは、通常の演算のためのメイン論理プログラムの動作と、デバッグまたはテストモードにおける診断＆補修論理プログラムの動作との間で切り換え可能である。診断＆補修論理プログラムは、プログラマブルロジックコントローラのメイン論理プログラムに接続された同じデバイスに接続可能であり、そのため、プログラマブルロジックコントローラのシステム動作をテストおよびデバッグするのに十分に機能的である。診断＆補修論理プログラムに加えられた変更は、デバッグおよびテストしている間に、メイン論理プログラムに影響を及ぼさない。
【０００８】
本発明の別の態様では、特定のデバイスがどちらの論理プログラム命令を使用するかを制御するためのインターフェーススイッチを使用して、メイン論理プログラムと診断＆補修論理プログラムとを同時並行して実行することができる。
【０００９】
本発明のさらなる態様によれば、診断＆補修論理プログラムにおいてなされた変更は、メイン論理プログラミングにコピーすることができる。
【００１０】
本発明のさらに別の実施形態では、プログラマブルロジックコントローラシステムを動作させるための方法は、テストまたはデバッグが必要であるかどうかを判定すること、メイン論理プログラムから診断＆補修論理プログラムに切り換えること、プログラマブルロジックコントローラシステムをデバッグおよびテストすること、メイン論理プログラムに再び切り換えることを含む。
【００１１】
本発明のさらなる実施形態は、メイン論理プログラムに再び切り換える前であってデバッグおよびテストをした後に、診断＆補修論理プログラムからの変更をコピーすることを含む。
【００１２】
本発明を特色づけるさまざまな新規性の特徴が、本開示に添付され、本開示の一部をなしている特許請求の範囲において詳細に示される。本発明、本発明の動作効果および本発明の使用によって得られる利点をよりよく理解するために、添付の図面および説明事項が参照される。添付の図面は、本発明の多くの形態の例を示すことを意図している。本図面には、本発明を行い、使用することができるやり方のすべての範囲を示すような意図はない。当然ながら、本発明のさまざまなコンポーネントに対して変更が加えられてよく、それらの置換が行われてよい。本発明は、説明される要素のサブコンビネーションおよびサブシステム、ならびにそれらを用いる方法の中にも同様に存在する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に従った、プログラマブルロジックコントローラシステムを示す模式図である。
【図２】本発明の一実施形態の実装を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に、同様の参照番号が同一のまたは関連した要素を示すのに使用される図面を参照する。図１は、本発明の一実施形態に従った、ＰＬＣまたはＰＡＣなどのコントローラ１０を模式的に示しており、コントローラ１０は、インストール済みの、またはメインの論理プログラム２０を有し、この論理プログラム２０は、通信バス４０を通してプログラマブルロジックコントローラ１０に接続された１つまたは複数のデバイス８０を動作させるための論理を含む。デバイス８０は、モータまたは他の機械的に動くデバイス、サーモメータなどの状態表示器、レベル検出器、または他のセンサであってよい。コントローラ１０はさらに、スイッチ２５を介して通信バス４０およびデバイス８０に接続された診断＆補修論理プログラム３０を含む。
【００１５】
スイッチ２５は、メイン論理プログラム２０と診断＆補修論理プログラム３０とを切り換えるための、ハードウエアまたはソフトウエアによるスイッチである。診断および補修（Ｄ＆Ｓ）論理プログラム３０は、最初はメイン論理プログラム２０のコピーである。スイッチ２５を介して通信バス４０およびデバイス８０に接続することにより、診断＆補修論理プログラム３０は、デバッグしている間にメイン論理プログラム２０を実際に改変する危険を冒すことなく、あたかもメイン論理プログラム２０であるかのように使用できる。
【００１６】
メイン論理プログラム２０に異常な演算が検出された場合、スイッチ２５を使用して、プログラム論理をデバッグするための診断＆補修論理プログラム３０を起動する。補修エンジニアまたは他のユーザは、異常な論理プログラムの演算の根本原因を突き止めようとして可変値に異なる破綻の理論を単に強制的にテストさせることに加え、プログラム論理および演算に変更を加えることができる。変更は、デバッグしている間に診断＆補修論理プログラム３０に自由に加えることができ、メイン論理プログラム２０に影響することはなく、それにより、オペレータの要求もまた満たされる。
【００１７】
図１に示す本発明のさらなる態様では、スイッチ２５は事実上、デバイス８０とのインターフェースにおけるソフトウエアによるスイッチであってよい。本発明のこの態様では、メイン論理プログラム２０と診断＆補修論理プログラム３０とは同時にアクティブであることが可能であり、コントローラ１０は、論理プログラム２０、３０の両方を同時並行して動作させている。このケースにおける診断＆補修論理プログラム３０は、必ずしもメイン論理プログラム２０のコピーとは限らない。
【００１８】
診断＆補修論理プログラム３０のこの構成による利点は、メイン論理プログラム２０において実装可能ではない論理のデバッグセクションが、診断＆補修論理プログラム３０において実装できることである。本発明のこの実施形態による効果の一例では、メイン論理プログラム２０におけるよりも診断＆補修論理プログラム３０において、より短いサンプル期間を使用することができる。より短いサンプル期間によって、たとえば、１つまたは複数のデバイス８０の状態についてより多くの情報を集めることが可能になる。さらなる例では、診断＆補修論理プログラム３０においてデータロギングセクションを実装することができ、これは、そうでない場合にはメイン論理プログラム２０に追加することができないものである。このように、診断＆補修論理プログラム３０は、デバイス８０についてのデータを集めるのに使用することができ、そうでない場合、コントローラ１０は、メイン論理プログラム２０を単独で使用してデバイス８０についてのデータを取得することはできない。
【００１９】
また、診断＆補修論理プログラム３０がメイン論理プログラムと同時に動作する本発明のさらに別の態様では、診断＆補修論理プログラム３０は、メイン論理プログラム２０には存在せず追加することもできない特定の命令または命令の組に対する特定のシステム応答を評価するためのテストコードのセクションを含む。
【００２０】
コントローラ３０の構成に関わらず、変更されたプログラム論理の形式でのソリューションがデバッグによって明らかにされた場合、変更を実装するために、ソリューションが診断＆補修論理プログラム３０からメイン論理プログラム２０にコピーされてよい。コピーは、プログラム２０、３０が、同一もしくは別個のメモリまたはＦＰＧＡ、ＥＥＰＲＯＭなどの他のＩＣ、またはプログラマブルロジックコントローラ１０内の他のプログラマブルデバイスに記憶されている場合、コンピュータコマンドまたはコンピュータ機能を使用して実現することができる。あるいは、メイン論理プログラム２０は、診断＆補修論理プログラムにおいてなされた変更を加えて手動でアップデートすることができる。
【００２１】
本発明の一実施形態に従った方法を図２に示す。処理は、診断＆補修論理プログラム３０が必要であるかどうかの判定（１１０）がなされるポイントにおいて開始（１００）される。診断＆補修論理プログラム３０が必要でなければ、メイン論理プログラムが実行され（２００）、通常は診断＆補修論理プログラムが必要であると判定される（１１０）まで、自動化システムが実行する。
【００２２】
必要であると判定されると、診断＆補修論理プログラムは、たとえばスイッチ２５を使用してアクティブにされ（１２０）、それにより、接続された任意のデバイス８０が、引き続いて診断＆補修論理プログラムからの出力に応答することになる。ユーザまたは補修エンジニアはその後、プログラマブルロジックコントローラにアクセスして、テストし、デバッグするのに（１４０）、かつプログラマブルロジックコントローラのプログラム論理において特定されたまたはそのシステム自体により特定されたあらゆる問題のための修正を決定するのに必要なだけ、診断＆補修論理プログラムを改変することができる。
【００２３】
デバッグ（１４０）を通して修正が決定された後、実際には、補修エンジニアが、診断＆補修論理プログラムを使用してその修正を実証することができる。修正が承認されると、修正をメイン論理プログラム中にコピーして（１６０）その論理を修正されたバージョンに差し替えるか、あるいは、メイン論理プログラムが再びアクティブにされる（１８０）前にメイン論理プログラムを手動で改訂することができ、その後メイン論理プログラムを実行またはスキャンして（２００）、デバイス８０を制御する。
【００２４】
本実施形態の変形形態では、診断＆補修論理プログラムが単に制御論理の異なる側面をテストするために実行され、しかし論理プログラムに対する実際の変更が必要でない場合には、ユーザは、直ちにメイン論理プログラムをアクティブにする（１８０）ことに再び切り換えて、メイン論理プログラム２０のスキャン（２００）の継続を進めることができる。
【００２５】
本発明のさらなる代替実施形態では、メイン論理プログラム２０中にアンドゥ機能を組み込むことができ、この機能において現在の状態にあるメイン論理プログラム２０がコピーされ、メモリに保存され、それによりあらゆる変更を元に戻すことができる。すなわち、望ましくない変更は、メイン論理プログラムの直前のバージョンを、メモリから、改変されている最中の作業中バージョンに書き戻すことによって、簡単にキャンセルすることができる。本実施形態の変形形態では、メイン論理プログラム２０は、バージョン制御を含むことによってメイン論理プログラム２０の異なるバージョンを保持することができ、それにより、一旦非永久の変更がテストされ破棄可能になれば、以前のバージョンに復帰する、またはロールバックすることが可能である。
【００２６】
本発明を、好ましい実施形態を参照して説明してきたが、本発明に関連する技術分野の技術者なら本発明の技術範囲から逸脱することなく、さまざまな変更や置換をこれらの実施形態に行うことができる。
【００２７】
本明細書で説明し、添付の図面に示した診断＆補修論理プログラムのシステムおよび方法の構造および配置は、例示にすぎない。本開示では、本発明のいくつかの実施形態のみを詳細に説明してきたが、本開示を検討する当業者は、添付の特許請求の範囲において列挙される主題の新規な教示および効果から著しく逸脱することなく、多くの改変が可能であること（たとえば、さまざまな要素のサイズ、寸法、構造、形状および比率における変形、パラメータの値、取付け方法、材料の使用、位置付けなど）を容易に理解するであろう。したがって、こうしたすべての改変形態は、添付の特許請求において画定する本発明の範囲内に含まれることを意図している。いずれの処理ステップまたは方法ステップの順番または順序も、代替実施形態によって、変更または並べ変えることができる。特許請求の範囲においては、いずれのミーンズプラスファンクション項も、列挙した機能を実行するような本明細書で説明した構造体、および構造的等価物のみならず、等価の構造体をもカバーすることを意図している。他の置換、改変、変更、および省略が、添付の特許請求の範囲に表された本発明の実施形態の精神から逸脱せずに、好ましい実施形態、および他の例示的な実施形態の設計、動作条件および配置においてなされてよい。したがって、本発明の技術範囲は、上述したこれらの実施形態のみならず、添付の請求項の範囲内に含まれるすべての実施形態を包含する。
【符号の説明】
【００２８】
１０  プログラマブルロジックコントローラ
２０  メイン論理プログラム
２５  スイッチ
８０  デバイス
４０  通信バス
３０  診断＆補修論理プログラム
【図１】
2011501294.tif 000003
【図２】
2011501294.tif 000004
【国際調査報告】
2011501294.tif 000005
2011501294.tif 000006