(57)【特許請求の範囲】
【請求項１】
制御系コントローラから待機系コントローラへ周期的にメモリ情報をトラッキングしながら、プラントを制御するプログラマブルコントローラで実行される制御プログラムを作成するエンジニアリング装置であって、
上記プログラマブルコントローラで実行される制御プログラムをユーザに作成させるプログラムエディタ、
上記プログラムエディタにより作成された制御プログラムをコンパイルするとともに、上記制御プログラムで使用されるメモリが入出力のいずれの用途で使用されるかの情報をもつ入出力データを作成するコンパイラ、
及びこのコンパイラによりコンパイルされた制御プログラムを上記プログラマブルコントローラへ転送する転送手段を備え、
上記コンパイラは、上記入出力データを用いて、上記制御プログラムで使用される各メモリについて、当該メモリが入出力のいずれの用途で使用されるかの情報に基づいて、トラッキングの要否を判定し、トラッキング要のメモリをトラッキングデータとして抽出するトラッキング要否判定手段を有し、
上記転送手段は、上記トラッキング要否判定手段によって抽出された上記トラッキングデータを上記プログラマブルコントローラに転送することを特徴とするエンジニアリング装置。
【請求項２】
制御系コントローラから待機系コントローラへ周期的にメモリ情報をトラッキングしながら、プラントを制御するプログラマブルコントローラで実行される制御プログラムを作成するエンジニアリング装置であって、
上記プログラマブルコントローラで実行される制御プログラムをユーザに作成させるプログラムエディタ、
上記プログラムエディタにより作成された制御プログラムをコンパイルし、上記制御プログラムで使用されるメモリが入出力のいずれの用途で使用されるかの情報をもつ入出力データを作成するとともに、
上記入出力データを用いて、上記制御プログラムで使用される各メモリについてトラッキングの要否を判定し、トラッキング要のメモリをトラッキングデータとして抽出するトラッキング要否判定手段を有するコンパイラ、
このコンパイラによりコンパイルされた制御プログラムを上記プログラマブルコントローラへ転送する転送手段、
ユーザがメモリを指定することによって、上記トラッキングデータから上記指定されたメモリを除外するトラッキング指定除外手段、
及び上記トラッキング指定除外手段でトラッキングデータから除外されたメモリが、上記制御プログラムの編集に伴い、トラッキングが必要になった場合に、トラッキング指定除外を解除するようにメッセージを表示するトラッキング指定除外解除通知手段を備え、
上記転送手段は、上記トラッキング要否判定手段によって抽出され、かつ上記トラッキング指定除外手段によって除外されたメモリ以外の上記トラッキングデータを上記プログラマブルコントローラに転送することを特徴とするエンジニアリング装置。
【請求項３】
制御系コントローラから待機系コントローラへ周期的にメモリ情報をトラッキングしながら、プラントを制御するプログラマブルコントローラで実行される制御プログラムを作成するエンジニアリング装置であって、
上記プログラマブルコントローラで実行される制御プログラムをユーザに作成させるプログラムエディタ、
上記プログラムエディタにより作成された制御プログラムをコンパイルするとともに、上記制御プログラムで使用されるメモリが入出力のいずれの用途で使用されるかの情報をもつ入出力データを作成するコンパイラ、
このコンパイラによりコンパイルされた制御プログラムを上記プログラマブルコントローラへ転送する転送手段、
及びユーザがトラッキングするメモリ範囲を設定するトラッキング設定手段を備え、
上記コンパイラは、上記入出力データを用いて、上記制御プログラムで使用される各メモリについてトラッキングの要否を判定し、トラッキング要のメモリをトラッキングデータとして抽出するトラッキング要否判定手段と、
上記トラッキング設定手段により設定されたメモリ範囲に、上記制御プログラムで未使用のメモリが含まれている場合は、当該メモリをトラッキングデータから除外するトラッキング転送容量削減手段とを有し、
上記トラッキング要否判定手段は、上記トラッキング転送容量削減手段により除外されたメモリ以外の上記メモリ範囲内のメモリを上記トラッキングデータに含め、
上記転送手段は、上記トラッキング要否判定手段によって抽出された上記トラッキングデータを上記プログラマブルコントローラに転送することを特徴とするエンジニアリング装置。
【請求項４】
ユーザがメモリを指定することによって、上記トラッキングデータから上記指定されたメモリを除外するトラッキング指定除外手段を備えたことを特徴とする請求項１または請求項３記載のエンジニアリング装置。
【請求項５】
上記トラッキングデータが、１スキャンで制御系コントローラから待機系コントローラにトラッキング転送できる容量以内かどうかをチェックするトラッキング転送容量チェック手段、
及びこのトラッキング転送容量チェック手段によるチェック結果を基に、上記トラッキングデータがトラッキング転送容量よりどれだけ多いかを示すトラッキング転送容量残量を表示するトラッキング転送残量表示手段を備えたことを特徴とする請求項１〜請求項４のいずれか一項記載のエンジニアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プラントを制御するためのプログラマブルコントローラのＣＰＵを二重化したＣＰＵ二重化システムにおけるプログラムを作成するエンジニアリング装置に関するものである。
【背景技術】
【０００２】
従来のＣＰＵ二重化プログラマブルコントローラにおいては、どの変数をトラッキング対象とするかは、ユーザがプログラム設計または作成時に判断し、手動で設定する方法が一般的である。変数宣言が不要でメモリのアドレスを直に変数として使用できるエンジニアリングツールを備えたプログラマブルコントローラでは、変数をトラッキング領域のメモリに割付ける作業は不要であるが、上記と同様に、どのメモリをトラッキング対象とするかはユーザの判断により手動で設定している。
近年では、ユーザのプログラム設計・作成負担を軽減することを目的として、あらかじめトラッキングするメモリの範囲を設定し、作成したプログラムをコンパイルする際に、変数エディタで定義した変数に対しては上記で設定したトラッキング範囲のメモリを割付け、演算用テンポラリ変数に対してはトラッキング範囲外のメモリを自動的に割付ける手法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−８０１１６号公報（第５〜９頁、図２）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のＣＰＵ二重化プログラマブルコントローラは、一般的には全ての変数またはメモリについてトラッキング要否をユーザが判断し、手動でトラッキング設定しているため、ユーザのプログラム設計・作成作業の負担が大きい。
特に、大規模なプログラムでは、使用している変数の数も大きくなり、トラッキング設定ミスにより、系切替時にＣＰＵ誤動作が生じる可能性が高くなる。
【０００５】
特許文献１では、あらかじめトラッキングするメモリの範囲を設定し、そのメモリをプログラムで使用している変数に割付けていくため、始めに設定したメモリの範囲よりもプログラムで使用しているメモリの点数が小さい場合には、プログラムで使用していない、すなわちトラッキング不要なメモリについてもトラッキングしてしまうことになる。
また、変数エディタで宣言した全ての変数を自動的にトラッキング対象とするため、効率よくトラッキングを行うことができない。
一般的にトラッキング処理実行時は、プログラムを実行することができないため、トラッキングするメモリが多いほど、プログラムの実行時間が遅れてしまう。これは高速なプログラム実行時間が必要とされる制御用コントローラにおいては望ましくないものであった。
【０００６】
この発明は、上述のような課題を解決するためになされたものであり、制御プログラムの作成において、ＣＰＵ二重化プログラマブルコントローラのトラッキング設定におけるユーザの設計負担を軽減するエンジニアリング装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係わるエンジニアリング装置においては、制御系コントローラから待機系コントローラへ周期的にメモリ情報をトラッキングしながら、プラントを制御するプログラマブルコントローラで実行される制御プログラムを作成するエンジニアリング装置であって、プログラマブルコントローラで実行される制御プログラムをユーザに作成させるプログラムエディタ、プログラムエディタにより作成された制御プログラムをコンパイルするとともに、制御プログラムで使用されるメモリが入出力のいずれの用途で使用されるかの情報をもつ入出力データを作成するコンパイラ、及びこのコンパイラによりコンパイルされた制御プログラムをプログラマブルコントローラへ転送する転送手段を備え、コンパイラは、入出力データを用いて、制御プログラムで使用される各メモリについて、当該メモリが入出力のいずれの用途で使用されるかの情報に基づいて、トラッキングの要否を判定し、トラッキング要のメモリをトラッキングデータとして抽出するトラッキング要否判定手段を有し、転送手段は、トラッキング要否判定手段によって抽出されたトラッキングデータをプログラマブルコントローラに転送するものである。
【発明の効果】
【０００８】
この発明によれば、制御系コントローラから待機系コントローラへ周期的にメモリ情報をトラッキングしながら、プラントを制御するプログラマブルコントローラで実行される制御プログラムを作成するエンジニアリング装置であって、プログラマブルコントローラで実行される制御プログラムをユーザに作成させるプログラムエディタ、プログラムエディタにより作成された制御プログラムをコンパイルするとともに、制御プログラムで使用されるメモリが入出力のいずれの用途で使用されるかの情報をもつ入出力データを作成するコンパイラ、及びこのコンパイラによりコンパイルされた制御プログラムをプログラマブルコントローラへ転送する転送手段を備え、コンパイラは、入出力データを用いて、制御プログラムで使用される各メモリについて、当該メモリが入出力のいずれの用途で使用されるかの情報に基づいて、トラッキングの要否を判定し、トラッキング要のメモリをトラッキングデータとして抽出するトラッキング要否判定手段を有し、転送手段は、トラッキング要否判定手段によって抽出されたトラッキングデータをプログラマブルコントローラに転送するので、ユーザが手動でトラッキングのための設定を行う必要がなく、ユーザの設計負担を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１によるプログラマブルコントローラのＣＰＵ二重化システムを示す構成図である。
【図２】この発明の実施の形態１によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
【図３】この発明の実施の形態１によるエンジニアリングツールの動作を示すフローチャートである。
【図４】この発明の実施の形態２によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
【図５】この発明の実施の形態３によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
【図６】この発明の実施の形態４によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
【図７】この発明の実施の形態５によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１によるプログラマブルコントローラのＣＰＵ二重化システムを示す構成図である。
図１において、プログラマブルコントローラは、制御系コントローラ１１と待機系コン
トローラ１２と入出力装置１４とにより構成されている。
制御系コントローラ１１は、制御用プログラムを実行する。待機系コントローラ１２は、通常はプログラムを実行せず、制御系コントローラ１１が故障によりダウンした際に制御系コントローラ１１の動作を引き継ぐ。入出力装置１４は、制御系コントローラ１１及び待機系コントローラ１２の入出力を行うように構成された共通部位である。
【００１１】
トラッキングケーブル１３は、制御系コントローラ１１の動作を待機系コントローラ１２が引き継ぐために、最新のメモリ情報や入出力信号情報を制御系コントローラ１１から待機系コントローラ１２へ転送するトラッキング処理に用いられるように、制御系コントローラ１１と待機系コントローラ１２を繋いでいる。
エンジニアリングツール１５（エンジニアリング装置）は、ユーザが制御用プログラムを作成するのに用いられる。このエンジニアリングツール１５では、メモリのアドレスを直に変数として使用するため、変数宣言は不要である。
【００１２】
図２は、この発明の実施の形態１によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
図２において、エンジニアリングツール１５は、記憶装置を有する計算機により、次のように構成されている。
プログラムエディタ２１は、ユーザがプログラム言語のラダーを使用して制御用プログラムを作成するのに使用される。初期値設定手段２７は、プログラムで使用する各メモリ（アドレスにより特定されるメモリロケーションで、以下、単にメモリという。）の初期値をユーザがプログラムレスでメモリに登録する。この初期値は、全てのメモリについて設定する必要はなく、プラントを制御するために必要なプログラムパラメータとして使用するメモリにのみ設定する。
【００１３】
初期値データ２８は、初期値設定手段２７で設定した情報を基に作成される、メモリと初期値を含んでいる。
コンパイラ２２は、プログラムエディタ２１で作成したプログラムをコンパイルし、機械語コード２６に変換するとともに、プログラムにおける各メモリの入出力情報を格納した入出力データ２３を作成する。また、この作成した入出力データ２３を基にして、各メモリのトラッキング要否を判定し、トラッキングデータ２５を抽出するトラッキング要否判定機能２４（トラッキング要否判定手段）を有する。
【００１４】
転送機能２９（転送手段）は、トラッキング要否判定機能２４で抽出されたトラッキングデータ２５及び初期値データ２８及び機械語コード２６をプログラマブルコントローラの制御系コントローラ１１、待機系コントローラ１２に転送する。
入出力データ２３は、各メモリについて、プログラムで、入力（当該メモリからの読み出し）としてのみ使用／出力（当該メモリへの書き込み）としてのみ使用／入出力ともに使用、という情報を格納している。
トラッキングデータ２５は、トラッキングされるメモリのアドレス群である。
なお、初期値データ２８、入出力データ２３、機械語コード２６、トラッキングデータ２５は、記憶装置に格納されている。
【００１５】
次に、図３のフローチャートを用いて、エンジニアリングツールの動作について、詳しく説明する。
まず、ステップ３０１で、ユーザがプログラムエディタ２１を使用して制御用プログラムを作成する。次いで、ステップ３０２で、ユーザはプログラムで使用するメモリの初期値を初期値設定手段２７により設定する。これにより、各メモリの初期値データ２８が作成され、この初期値データ２８を利用して、プログラムレスでメモリに初期値を登録する。この初期値は、全てのメモリについて設定する必要はなく、プラントを制御するために必要なプログラムパラメータとして使用するメモリにのみ設定する。
【００１６】
次に、ステップ３０３で、コンパイルを実行することにより、作成したプログラムを機械語コード２６に変換し、トラッキング要否判定機能２４により、プログラムで使用される各メモリについてトラッキング要否を判定する。
まず、初期値データ２８を参照し、初期値設定の有無により（ステップ３０４）、初期値が設定されているメモリについては、トラッキング要と判定して、トラッキングデータ２５とする（ステップ３０７）。
【００１７】
初期値が設定されていないメモリについては、入出力データ２３を参照して、各メモリがプログラムでどういう用途で使用されているかをチェックする（ステップＳ３０５）。
出力のみで使用されているメモリは、他のモジュールとのＩ／Ｆ（インタフェース）として使用されるため、トラッキング要と判定してトラッキングデータ２５とする（ステップ３０７）。
入力のみで使用されているメモリは、系切替しても自動的に他のモジュールや機器から信号が入力されるため、トラッキングデータ２５には含めない。
入出力両方で使用しているメモリは、系切替後にプログラムの１スキャン目（１回目の実行）で演算結果が出力されるかどうかにより（ステップ３０６）、出力されないメモリについては、トラッキングデータ２５（ステップ３０７）とし、プログラムの１スキャン目で演算結果が出力されるメモリについては、トラッキングデータ２５に含めない。
【００１８】
コンパイルが終了する（ステップ３０８）と、エンジニアリングツールの転送機能２６により、機械語コード２６及び初期値データ２８及びトラッキングデータ２５をプログラマブルコントローラの制御系コントローラ１１、待機系コントローラ１２に転送するかどうかをユーザが判断し、判断結果に応じて（ステップ３０９）、必要な場合は転送する（ステップ３１０）。
【００１９】
実施の形態１によれば、エンジニアリングツール１５のコンパイラ２２にトラッキング要否判定機能２４を設け、初期値データ２８と入出力データ２３の情報からトラッキングデータ２５を抽出するため、ユーザが全てのメモリについてトラッキング要否を判断し、手動でトラッキング設定する必要がなく、ユーザの設計負担を軽減することができる。
また、必要最低限のメモリをトラッキングすることにより、効率的に制御プログラムを実行することができる。
【００２０】
実施の形態２．
以下、この発明の実施の形態２を図に基づいて説明する。
図４は、この発明の実施の形態２によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
図４において、２１〜２９は図２におけるものと同一のものである。図４では、ユーザがトラッキングしたくないメモリを指定してトラッキングデータ２５から除外するためのトラッキング指定除外手段４１を備えている。
【００２１】
実施の形態１では、初期値データ２８と入出力データ２３の情報から、コンパイラ２２によってトラッキングデータ２５を自動的に抽出するが、例えば、抽出したトラッキングデータ２５が想定よりも大きくなると、トラッキング処理時間が大きくなり、最適なプログラム実行時間が確保できなくなる可能性がある。
トラッキングデータ２５が想定よりも大きくなる場合は、トラッキングデータをより限定する必要があるため、実施の形態２は、トラッキング指定除外手段４１を設けて、ユーザがトラッキングしたくないメモリをあらかじめ指定し、指定されたメモリについては、トラッキングデータ２５から除外するようにする。
【００２２】
実施の形態２によると、指定したメモリをトラッキングデータから除外するためのトラッキング指定除外手段４１をエンジニアリングツール１５に備えたことにより、コンパイラ２２で抽出したトラッキングデータ２５が大きすぎて、最適なプログラム実行時間を実現できない場合でも、トラッキングデータをより限定することができるので、トラッキング及び制御プログラムの実行を効率的に行うことができる。
【００２３】
実施の形態３．
以下、この発明の実施の形態３を図５に基づいて説明する。
図５は、この発明の実施の形態３によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
図５において、２１〜２９、４１は図４におけるものと同一のものである。図５では、抽出されたトラッキングデータ２５が、１スキャン（１回の転送動作）で制御系コントローラから待機系コントローラにトラッキング転送できる容量以内かどうかをチェックするトラッキング転送容量チェック機能５１（トラッキング転送容量チェック手段）と、このトラッキング転送容量チェック機能５１でチェックした結果を基に、トラッキング転送できる容量よりどれだけ多いかを示すトラッキング転送容量残量を表示するトラッキング転送残量表示機能５２（トラッキング転送残量表示手段）を備えている。
【００２４】
制御系コントローラ１１から待機系コントローラ１２に対して、トラッキング転送する場合、１スキャンにトラッキング転送できる容量は限られているため、実施の形態３では、抽出したトラッキングデータ２５を参照して、トラッキング転送容量以内かどうかをチェックするトラッキング転送容量チェック機能５１を備える。
また、チェック結果として、どれだけトラッキング転送容量をオーバーしているかを示すトラッキング転送容量残量を表示するトラッキング転送残量表示機能５２を備える。
チェックの結果、トラッキング転送容量を超えた場合は「−１Ｋワード」のように、マイナス符号と超えた分の容量を表示する。この場合は、トラッキング指定除外手段４１により、トラッキングデータを削減すればよい。
【００２５】
実施の形態３によれば、トラッキングデータ２５をチェックして、トラッキング転送容量の残量を表示することにより、トラッキングデータ２５がトラッキング転送容量に収まっているかどうかを容易に確認することができ、トラッキングデータの調整におけるユーザ設計負担を軽減することができる。
【００２６】
実施の形態４．
以下、この発明の実施の形態４について説明する。
図６は、この発明の実施の形態４によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
図６において、２１〜２９及び４１は図４におけるものと同一である。図６では、トラッキング指定除外手段４１でトラッキングデータから除外していたメモリがプログラムの編集によってトラッキングが必要になった場合に、トラッキング指定除外を解除するようにメッセージを表示するトラッキング指定除外解除通知機能６１（トラッキング指定除外解除通知手段）を備えている。
【００２７】
プログラムを追加・修正した場合、トラッキング指定除外手段４１によりトラッキング範囲から除外していたメモリが、プログラムを編集したことで、トラッキングが必要となることも考えられる。
プログラムの編集によってトラッキングが必要となったにも関わらず、ユーザがトラッキング指定除外を解除することなく、プログラマブルコントローラ１１、１２にトラッキングデータ２５を転送してしまうと、誤ったトラッキングデータでトラッキングを行って
しまい、系切替時にＣＰＵ誤動作する可能性がある。
これを防止するため、トラッキング指定除外解除通知機能６１は、プログラムを編集、コンパイル後に抽出したトラッキングデータ２５で、新たにトラッキング必要と判定されたメモリに対し、トラッキング指定除外手段４１で指定されているかどうかをチェックし、指定されている場合はトラッキング指定除外を解除するようにメッセージを表示する。
【００２８】
実施の形態４によれば、プログラムの編集によって、トラッキング指定除外手段４１でトラッキングデータから除外していたメモリのトラッキングが必要になった場合に、トラッキング指定除外を解除するようにメッセージを表示するため、トラッキング指定除外の解除し忘れを容易に防止でき、プログラム編集時のトラッキング範囲の調整におけるユーザ設計負担を軽減することができる。
【００２９】
実施の形態５．
以下、この発明の実施の形態５を図７に基づいて説明する。
図７は、この発明の実施の形態５によるＣＰＵ二重化システムのエンジニアリングツールの詳細を示す構成図である。
図７において、２１〜２９は図２におけるものと同一である。図７では、ユーザがトラッキングするメモリを設定するトラッキング設定手段７１を有し、その設定範囲にプログラムで使用していないメモリが含まれている場合は、トラッキング転送容量を削減するため、そのメモリをトラッキングデータから除外するトラッキング転送容量削減機能７２（トラッキング転送容量削減手段）を備えている。
【００３０】
実施の形態５では、ユーザがトラッキングするメモリを設定するトラッキング設定手段７１を備え、ユーザがトラッキング設定したメモリと、初期値データ２８及び入出力データ２３から抽出したトラッキングが必要なメモリを併せてトラッキングデータ２５とすることが可能になる。
ユーザがトラッキングするメモリを設定する場合には、プログラムで使用しているメモリ一点一点を設定するのは時間と労力がかかるため、未使用のメモリも含めて、ある程度まとまった範囲で設定することが多い。
しかし、この場合プログラムで未使用すなわち本来トラッキング不要なメモリについてもトラッキングしてしまうので不効率である。
これを防止するため、コンパイラ２２にトラッキング転送容量削減機能７２を設け、トラッキング設定手段７１において設定された範囲にプログラムで未使用のメモリがないかどうかを入出力データ２３を参照してチェックし、未使用のメモリがあった場合は、そのメモリを除外したトラッキングデータ２５を抽出するようにする。
【００３１】
実施の形態５によれば、ユーザがトラッキングするメモリを設定するトラッキング設定手段７１及びトラッキング転送容量削減機能７２をエンジニアリングツールに備え、トラッキング設定手段７１においてユーザが設定した範囲にプログラムで未使用のメモリが含まれる場合でも、そのメモリをトラッキングデータから除外することにより、トラッキング転送容量を削減し、トラッキング及び制御プログラムの実行を効率的に行うことができる。
【００３２】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００３３】
１１  制御系コントローラ
１２  待機系コントローラ
１３  トラッキングケーブル
１４  入出力装置
１５  エンジニアリングツール
２１  プログラムエディタ
２２  コンパイラ
２３  入出力データ
２４  トラッキング要否判定機能
２５  トラッキングデータ
２６  機械語コード
２７  初期値設定手段
２８  初期値データ
２９  転送機能
４１  トラッキング指定除外手段
５１  トラッキング転送容量チェック機能
５２  トラッキング転送残量表示機能
６１  トラッキング指定除外解除通知
７１  トラッキング設定手段
７２  トラッキング転送容量削減機能
【図１】
0005832368.tif 000002
【図２】
0005832368.tif 000003
【図３】
0005832368.tif 000004
【図４】
0005832368.tif 000005
【図５】
0005832368.tif 000006
【図６】
0005832368.tif 000007
【図７】
0005832368.tif 000008