(57)【要約】【課題】シーケンス制御の内容を表したシーケンス図から生成したプログラムのコード構成を変更することなく、シーケンス内部の任意の箇所で値を参照することができる保護制御装置を得ることを目的とする。【解決手段】保護制御装置２は、シーケンス図から生成されたプログラムを記憶するプログラム記憶部５０、プログラムの命令コード外に設定され少なくとも前記プログラムのデバッグ範囲の指定を含むデバッグ条件を設定するデバッグ条件設定部５１、プログラムの各命令コードの実行値を保存可能であるとともに保存内容の参照が可能な実行値記憶部５２、プログラムを実行しつつデバッグ条件に基づきデバッグ範囲に含まれる命令コードの実行値を実行値記憶部５２に保存するプログラム実行制御部９等を備えて構成される。【選択図】        図１
2010020494.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス制御の内容を表したシーケンス図からコンパイラにより生成されたプログラムを記憶するプログラム記憶部と、
前記プログラムの命令コード外に設定され少なくとも前記プログラムのデバッグ範囲の指定を含むデバッグ条件の設定を行うデバッグ条件設定部と、
前記プログラムの各命令コードの実行値を保存可能であるとともに保存内容の参照が可能な実行値記憶部と、
前記プログラムを実行しつつ前記デバッグ条件に基づき、前記デバッグ範囲に含まれる各命令コードの実行値を前記実行値記憶部に保存するプログラム実行制御部と、
を備えることを特徴とする保護制御装置。
【請求項２】
前記保護制御装置は相互にデータの送受信が可能な端末装置に接続され、前記プログラムは前記端末装置にて編集された前記シーケンス図から生成されたものであり、前記プログラムは前記端末装置から前記保護制御装置へ送信された後に、前記プログラム記憶部に記憶されたものであることを特徴とする請求項１に記載の保護制御装置。
【請求項３】
前記実行値記憶部の保存内容は、前記端末装置にて参照可能であることを特徴とする請求項２に記載の保護制御装置。
【請求項４】
前記デバッグ条件設定部は、前記デバッグ範囲が指定されたデバッグ定義テーブルを有することを特徴とする請求項１〜３のいずれか１項に記載の保護制御装置。
【請求項５】
前記デバッグ条件設定部により、前記プログラムの各命令コードごとに、デバッグを有効とするか否かを示すデバッグ有効フラグを付加することで、前記デバッグ範囲を指定することを特徴とする請求項１〜３のいずれか１項に記載の保護制御装置。
【請求項６】
前記デバッグ条件設定部は、前記デバッグ範囲の設定に加えて、前記プログラムの各命令コードごとにデバッグの種類を指定するデバッグ種類指定テーブルを有し、前記プログラム実行制御部は、前記デバッグ範囲に含まれる命令コードについて前記デバッグ種類指定テーブルを参照し、前記デバッグ種類指定テーブルの参照内容に従った処理を、前記命令コードの実行値を前記実行値記憶部に保存する処理に優先させて行うことを特徴とする請求項１〜５のいずれか１項に記載の保護制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力系統の保護制御装置に関し、特に、プログラマブルロジック機能を有する保護制御装置に関するものである。
【背景技術】
【０００２】
電力系統の故障の検出と除去、故障範囲の局限化等を行うために、電力系統からの入力電気量を常時監視する保護制御装置が用いられている。
【０００３】
保護制御装置に実装される制御プログラムは、保護制御装置との間でデータの送受信が可能な端末装置等で制御内容に応じて編集されたシーケンス図から生成される。また、制御プログラムのデバッグ作業では、シーケンス内で例えば各変数の値がプログラム実行時に所望の値に設定されているかどうかを確認することなどを通して行うのが一般的である。
【０００４】
従来の保護制御装置においては、例えば特許文献１の図１〜図４に示すように、シーケンス内部の変数の値を参照するためには、それらの値をメモリに退避させるコードを含んだプログラムを生成する必要があった。
【０００５】
【特許文献１】特開２００２−１８２７０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の保護制御装置では、シーケンス内部の値（例えば、変数の値など命令コードの実行値）を参照するためには、予め参照したい箇所の値をメモリに退避させるコードを含んだプログラムを生成する必要があった。しかしながら、この方法では下記の問題がある。
【０００７】
まず、シーケンス内のどの箇所の値でも参照できる様にするためには、すべての箇所での値をメモリに退避させる必要がある。その場合、シーケンス内部に退避命令を埋め込んで処理するため、その分処理時間が増大し、さらに値をメモリに退避させるためメモリ容量の増大が問題となる。
【０００８】
また、処理時間の増加を抑えるために参照箇所を絞り込んで生成したプログラムにおいて、絞り込んだ箇所以外の箇所を参照する必要が発生した場合、プログラムの再生成・再記憶が必要であり、非効率的である。なお、シーケンス運用中はプログラムの再生成を禁止している場合もある。
【０００９】
また、シーケンス内部の値をメモリに退避させる処理は、シーケンス運用中には不要な処理である。したがって、プログラム中に退避処理を残す場合、不要な処理が残ることになり、処理時間を浪費する。若しくは、メモリ退避処理を一切含まない様にプログラムを最適化して再生成する場合、デバッグに使用され動作確認したプログラムと異なるコード構成となる。
【００１０】
この発明は、上述の課題を解決するためになされたもので、シーケンス制御の内容を表したシーケンス図から生成したプログラムのコード構成を変更することなく、シーケンス内部の任意の箇所での値を参照することができる保護制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明に係る保護制御装置は、シーケンス制御の内容を表したシーケンス図からコンパイラにより生成されたプログラムを記憶するプログラム記憶部と、前記プログラムの命令コード外に設定され少なくとも前記プログラムのデバッグ範囲の指定を含むデバッグ条件の設定を行うデバッグ条件設定部と、前記プログラムの各命令コードの実行値を保存可能であるとともに保存内容の参照が可能な実行値記憶部と、前記プログラムを実行しつつ前記デバッグ条件に基づき、前記デバッグ範囲に含まれる各命令コードの実行値を前記実行値記憶部に保存するプログラム実行制御部と、を備えることを特徴とする。
【発明の効果】
【００１２】
この発明によれば、プログラムの命令コード外に設定されたデバッグ条件に従い、デバッグ範囲に含まれるプログラム内の命令コードの実行値を実行値記憶部に保存することにより、プログラムのコード構成を変更することなく、シーケンス内の任意の箇所における命令コードの実行値を参照することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明に係る保護制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１は、この発明の実施の形態１に係る保護制御装置を含む装置構成を示す図である。図１では、シーケンス図を編集及び生成する端末装置であるＰＣ１と、本実施の形態の保護制御装置２とがオンラインで接続されている。保護制御装置２は、ＰＣ１にて生成されたシーケンス図に基づくプログラムを実行する装置であり、プログラマブルロジック機能を有する。
【００１５】
ＰＣ１は、プログラマブルロジックであるシーケンスロジックを編集可能なシーケンスロジック編集部３と、編集されたシーケンスロジックを記憶するシーケンスロジック記憶部４と、シーケンスロジックからプログラムを生成するプログラム生成部５と、生成されたプログラムを記憶するプログラム記憶部６と、プログラムの送信を含むデータの送受信が可能な送受信部７と、を備えている。ここで、シーケンスロジックは、シーケンス制御の内容を論理演算を組み合わせて表したシーケンス図として表現される。
【００１６】
ＰＣ１では、シーケンスロジック編集部３にてシーケンス図を作成、編集し、このシーケンス図をシーケンスロジック記憶部４に保存する。保存したシーケンス図は、プログラム生成部５のコンパイラにより保護制御装置２にて実行可能な命令コードからなるプログラムとして生成され、このプログラムはプログラム記憶部６に保存される。保存されたプログラムは送受信部７により保護制御装置２に送信される。
【００１７】
保護制御装置２は、ＰＣ１からのプログラムの受信を含むデータの送受信が可能な送受信部８と、プログラムを実行制御するプログラム実行制御部９と、ＰＣ１から受信したプログラムを保存するプログラム記憶部５０と、デバッグ条件の設定を行うデバッグ条件設定部５１と、シーケンス内部の値（詳細には、プログラムの各命令コードの実行結果として得られる実行値）の退避領域である実行値記憶部５２と、を備えている。
【００１８】
デバッグ条件設定部５１は、少なくともプログラムのデバッグ範囲の指定を含むデバッグ条件の設定を行う。デバッグ範囲の指定は、プログラム中の各命令コードがデバッグの対象であるか否かを指定することで行う。ただし、デバッグ条件の設定は、従来のようにデバッグ用にプログラムの命令コードを書き換えて行うものではなく、プログラムの構成を変更することなく行う。したがって、デバッグ条件の設定は命令コード外になされる。本実施の形態では、デバッグ条件設定部５１はデバッグ定義テーブルを有し、このテーブルにデバッグ範囲を指定する。
【００１９】
実行値記憶部５２は、前述のように、プログラムの各命令コードの実行結果として得られる実行値を保存可能であり、その目的はデバッグ用にシーケンス内部の値を退避させ参照可能とすることである。
【００２０】
保護制御装置２は、ＰＣ１から送信されたプログラムを送受信部８により受信する。受信したプログラムはプログラム記憶部５０にて保存され、このプログラムはプログラム実行制御部９により実行される。このとき、プログラム実行制御部９は、プログラムを実行しつつデバッグ条件設定部５１に設定されたデバッグ条件に基づき、デバッグ範囲に含まれる各命令コードの実行値を実行値記憶部５２に退避させる。
【００２１】
なお、デバッグ条件設定部５１に設定されたデバッグ条件、具体的にはデバッグ定義テーブルの内容はＰＣ１を介して書き換え可能であり、例えば、シーケンスロジック編集部３を用いて編集したその内容は、ＰＣ１の送受信部７、保護制御装置２の送受信部８を介して、ＰＣ１から保護制御装置２へ送信され、デバッグ定義テーブルの内容が更新される。また、実行値記憶部５２に保存された内容は、例えばＰＣ１から参照可能であり、表示するなどしてデバッグ作業に利用される。
【００２２】
次に、本実施の形態の動作について、図２〜図４を参照して具体的に説明する。図２は、本実施の形態におけるプログラム実行制御部の動作を示すフローチャートである。図３は、シーケンス図の一例を示す図である。図３では、「信号Ａ」と「信号Ｂ」の値を取得し、それらの論理積（ＡＮＤ）の演算を行い、その結果を「信号Ｃ」に出力するシーケンスを表している。図４は、プログラム実行制御部４の処理対象の構成を示す図であり、プログラム１１と、デバッグ範囲を指定するデバッグ定義テーブル１２と、シーケンス内部の値を保存可能な記憶領域１３と、から構成される。
【００２３】
プログラム１１は、プログラム記憶部５０に記憶され、ＰＣ１にて編集、生成されたものである。
【００２４】
また、デバッグ定義テーブル１２は、デバッグ条件設定部５１に設定され、プログラム１１のデバッグ範囲を定義する。図４に示すように、デバッグ条件であるデバッグ定義テーブル１２は、プログラム１１の外部に定義されている。そのため、デバッグ定義テーブル１２の内容を更新した場合も、プログラム１１自体の構成は変化せず、したがってプログラム１１の最適化後にデバッグのためにプログラム１１を再構成する必要もない。
【００２５】
記憶領域１３は、実行値記憶部５２自体又はその内部領域を具体的に示したもので、実質的にはそれと同一のものである。したがって、記憶領域１３には、デバッグ範囲に含まれる命令コードの実行結果の退避場所となるが、実施の形態３で示すように、それ以外のデータを保存してもよい。
【００２６】
図２では、プログラム実行制御部９は、まず、コードが終了しているか否かを判定し（Ｓ１）、コードが終了していれば動作を終了し、コードが終了していない場合にはＳ２に進む。コードが終了していない場合、プログラム実行制御部９はプログラム１１からコードを読み込み、その命令に従って処理を実行する（Ｓ２）。次に、プログラム実行制御部９は、当該命令コードの実行後、デバッグ定義テーブル１２を参照し、実行した命令コードのアドレスがデバッグの範囲に含まれるか否かを確認する（Ｓ３）。実行した命令コードのアドレスがデバッグの範囲に含まれる場合、プログラム実行制御部９は、その命令コードの実行結果である実行値を記憶領域１３に退避させる（Ｓ４）。そして、プログラムが終了するまで、この動作を繰り返す（Ｓ１）。
【００２７】
次に、具体例として図３のシーケンス内の実行値を参照する場合の動作を、図４を参照して説明する。プログラム実行制御部９は、まず、命令コード１８を実行し「信号Ａ」の値を取得する。プログラム実行制御部９は、当該命令コードのアドレス１４（具体的には、「００１０」）がデバッグ定義テーブル１２に設定された範囲に含まれるため、命令コード１８の実行結果である「信号Ａ」の値を記憶領域１３に退避させる。
【００２８】
次に、プログラム実行制御部９は、命令コード１９を実行し「信号Ｂ」の値を取得する。プログラム実行制御部９は、当該命令コードのアドレス１５（具体的には、「００１１」）もデバッグ定義テーブル１２に設定された範囲に含まれるため、命令コード１８の実行結果である「信号Ｂ」の値を記憶領域１３に退避させる。
【００２９】
次に、プログラム実行制御部９は、命令コード２０を実行し命令コード１８及び命令コード１９の実行結果の論理積を行う。プログラム実行制御部９は、当該命令コード２０のアドレス１６（具体的には、「００１２」）もデバッグ定義テーブル１２に設定された範囲に含まれるため、論理積の実行結果を記憶領域１３に退避させる。
【００３０】
次に、プログラム実行制御部９は、命令コード２１を実行し、命令コード２０の実行結果を「信号Ｃ」に出力する。この場合、プログラム実行制御部９は、命令コード２１のアドレス１７（具体的には、「００１２」）がデバッグ定義テーブル１２に設定された範囲に含まれないため、命令コード２１の実行結果である「信号Ｃ」の値を記憶領域１３へ退避させない。
【００３１】
なお、デバッグの際に「信号Ａ」や「信号Ｂ」の値が所望の値となっているか否かを確認する場合などは、記憶領域１３に退避又は保存されたそれらの値を確認すればよい。記憶領域１３の内容は、例えばＰＣ１にて参照可能である。
【００３２】
以上のように、本実施の形態においては、デバッグ定義テーブル１２に設定されたデバッグ範囲に従い、デバッグ対象としたシーケンス内の命令コードの実行値を記憶領域１３に退避させる。これにより、プログラムを再構成することなく、シーケンス内の任意の箇所における命令コードの実行値を参照することができ、作業効率が向上する。特に、デバッグ範囲を変更するにはデバッグ定義テーブル１２を書き換えればよいので、プログラムの最適化後にデバッグのためにプログラムを再編集・再生成する必要がなく、したがって処理時間の増加を最小限に抑えつつデバッグに必要な値を参照することができる。
【００３３】
実施の形態２．
実施の形態１では、デバッグ範囲を指定するために、デバッグ定義テーブルを設けるようにしたが、この実施の形態２では、デバッグ定義テーブルの代わりに各命令コードに対してデバッグ有効フラグを設け、デバッグ要否を指定できるようにしたものである。
【００３４】
すなわち、本実施の形態では、図１のデバッグ条件設定部５１により、プログラムの各命令コードに対して、例えばその上位１ビットをデバッグ有効フラグの設定領域として割り当て、その領域にデバッグが有効か又は否かを設定する。ただし、デバッグ有効フラグの設定領域は、各命令コード本体とは別の領域である。つまり、プログラム内の命令コードとして書き込むのではなく、デバッグ有効フラグを命令コード外に付加する。そのため、デバッグ有効フラグを変更したとしてもプログラムのコード構成を変更する必要はなく、また、プログラムを最適化した後に、プログラムを再編集・再生成することなく、デバッグ範囲を任意に変更可能である。なお、本実施の形態のその他の構成は実施の形態１の図１と同様である。
【００３５】
次に、本実施の形態の動作について、図５、図６を参照して具体的に説明する。図５は、本実施の形態におけるプログラム実行制御部の動作を示すフローチャートである。また、図６は、本実施の形態におけるプログラム実行制御部の処理対象の構成を示す図であり、デバッグ有効フラグの設定が可能なプログラム１１と、シーケンス内部の値を保存可能な記憶領域１３と、から構成されている。記憶領域１３は、実行値記憶部５２自体又はその内部領域を具体的に示したもので、実質的にはそれと同一のものである。
【００３６】
図５では、まず、コードが終了しているか否かを判定し（Ｓ１）、コードが終了していれば動作を終了し、コードが終了していない場合にはＳ２に進む。コードが終了していない場合、プログラム実行制御部９はプログラム１１からコードを読み込み、その命令に従って処理を実行する（Ｓ２）。次に、プログラム実行制御部９は、当該命令コードの実行後、デバッグ有効フラグが有効か否かの確認を行う（Ｓ１３）。その結果、有効の場合、プログラム実行制御部９は命令コードの実行結果をメモリに退避させる（Ｓ４）。そして、プログラムが終了するまで、この動作を繰り返す（Ｓ１）。
【００３７】
次に、図６について説明する。図６は、図３のシーケンスを例に動作の具体例を示したものである。プログラム実行制御部９は、まず、プログラム１１における命令コード１８を実行し「信号Ａ」の実行値を取得する。続いて、プログラム実行制御部９は、当該命令コードのデバッグ有効フラグ３１を参照し、それが有効であるため、実行結果である「信号Ａ」の値を記憶領域１３に退避させる。プログラム実行制御部９は、次の命令コード１９を実行し「信号Ｂ」の値を取得する。続いて、プログラム実行制御部９は、デバッグ有効フラグ３２を参照し、それが有効であるため、実行結果である「信号Ｂ」の値を記憶領域１３に退避させる。プログラム実行制御部９は、次の命令コード２０を実行し論理積の演算を行う。続いて、プログラム実行制御部９は、デバッグ有効フラグ３３を参照し、それが有効であるため、論理積の実行結果を記憶領域１３に退避させる。プログラム実行制御部９は、次の命令コード２１を実行し、論理積の実行結果を「信号Ｃ」に出力する。続いて、プログラム実行制御部９は、デバッグ有効フラグ３４を参照し、それが無効であるため、実行結果を記憶領域１３へ退避させない。
【００３８】
なお、図６では、デバッグ有効フラグを命令コード１８〜２１に対してのみ示しており、説明の対象ではない他の命令コードに対しては表示を省略しているが、デバッグ有効フラグを付与するための領域はすべての命令コードに対して与えられている。
【００３９】
本実施の形態では、デバッグ範囲を示すデバッグ定義テーブルを付加する代わりに、各命令コードごとに命令コード外にデバッグ有効フラグを付加することにより、デバッグ範囲の指定が可能であり、デバッグ範囲の複雑な設定も容易に対応することができる。
【００４０】
また、本実施の形態によれば、デバッグ定義テーブルが不要となり、メモリの削減・処理時間短縮という効果がある。なお、本実施の形態のその他の効果は実施の形態１と同様である。
【００４１】
実施の形態３．
本実施の形態は、実施の形態１の構成に加えて、プログラムの各命令コードと対応させてデバッグの種類を設定したデバッグ種類指定テーブルとしてのデバッグ番号テーブルを設け、デバッグの種類を指定できるようにしたものである。このようにすれば、様々なデバッグ処理に対応できるという効果がある。
【００４２】
図８は、本実施の形態におけるプログラム実行制御部の処理対象の構成を示す図であり、プログラム１１と、デバッグ定義テーブル１２と、記憶領域１３と、デバッグ番号テーブル４０と、から構成される。ここで、プログラム１１、デバッグ定義テーブル１２、記憶領域１３については実施の形態１と同様であるので、デバッグ番号テーブル４０について説明する。
【００４３】
デバッグ番号テーブル４０は、図１のデバッグ条件設定部５１が有するテーブルであり、デバッグ定義テーブル１２とともにデバッグ条件を構成するものである。デバッグ番号テーブル４０は、プログラム１１の各命令コードに対応して各命令コードごとに、デバッグの種類を表す番号をテーブル化したものである。図示例では、デバッグ番号テーブル４０には、「＃１」、「＃２」の２種類のデバッグ番号が設定されている。デバッグ対象の命令コードがデバッグ番号「＃１」に対応する場合、当該命令コードの実行結果を記憶領域１３へ退避させる処理を指示する。デバッグ対象の命令コードがデバッグ番号「＃２」に対応する場合、当該命令コードの実行結果を強制設定する値に設定することを指示する。この強制設定する値は、デバッグ時に作業者により設定されたものであり、ＰＣ１にて設定された値が送受信部７，８を介して保護制御装置２へ送信された後、保護制御装置２内の記憶領域、例えば記憶領域１３に記憶されている。実施の形態１では、デバッグ定義テーブル１２に設定されたデバッグ範囲内の命令コードに対してその実行結果を一律に実行値記憶部５２に退避させるようにしていたが、本実施の形態ではデバッグ番号テーブル４０の参照内容に従った処理を優先して行う。
【００４４】
次に、本実施の形態の動作について、図７、図８を参照して具体的に説明する。図７は、本実施の形態におけるプログラム実行制御部の動作を示すフローチャートである。
【００４５】
図７では、まず、コードが終了しているか否かを判定し（Ｓ１）、コードが終了していれば動作を終了し、コードが終了していない場合にはＳ２に進む。コードが終了していない場合、プログラム実行制御部９はプログラム１１からコードを読み込み、その命令に従って処理を実行する（Ｓ２）。次に、プログラム実行制御部９は、当該命令コードの実行後、デバッグ定義テーブル１２を参照し、実行した命令コードのアドレスがデバッグ範囲であるか否かの確認を行う（Ｓ３）。実行した命令コードのアドレスがデバッグ範囲である場合には、プログラム実行制御部９は、デバッグ番号テーブル４０から当該命令コードのデバッグ番号を参照し、その番号からデバッグの種類を確認する（Ｓ２４）。すなわち、デバッグ番号が「＃１」の場合、当該命令コードの実行結果を記憶領域１３に退避させ（Ｓ４）、デバッグ番号が「＃２」の場合、当該命令コードの実行結果を強制的に設定する処理を行う（Ｓ２５）。そして、プログラムが終了するまで、この動作を繰り返す（Ｓ１）。
【００４６】
次に、図８について説明する。図８は、図３のシーケンス図を例に動作の具体例を示したものである。プログラム実行制御部９は、まず、プログラム１１における命令コード１８を実行し「信号Ａ」の値を取得する。続いて、プログラム実行制御部９は、当該命令コードのアドレス１４がデバッグ定義テーブル１２に設定されたデバッグ範囲に含まれるため、デバッグ番号テーブル４０を参照し、当該命令コードに対応するデバッグ番号４１を参照する。このときデバッグ番号は「＃１」のため、プログラム実行制御部９は、当該命令コードの実行結果である「信号Ａ」の値を記憶領域１３に退避させる（図７のＳ４参照）。
【００４７】
次に、プログラム実行制御部９は、命令コード１９を実行し「信号Ｂ」の値を取得する。続いて、プログラム実行制御部９は、当該命令コードのアドレス１５がデバッグ定義テーブル１２に設定されたデバッグ範囲に含まれるため、デバッグ番号テーブル４０を参照し、当該命令コードに対応するデバッグ番号４２を参照する。このときデバッグ番号は「＃２」のため、プログラム実行制御部９は、当該命令コードの実行結果を記憶領域１３に保存された値に強制設定する（図７のＳ２５参照）。すなわち、「信号Ｂ」の値を、当該命令コードの実行値ではなく、デバッグのために用意された強制設定値とする。
【００４８】
さらに、プログラム実行制御部９は、次の命令コード２０を実行し、命令コード１８の実行結果と命令コード１９の実行結果として強制設定された値の論理積を行う。続いて、プログラム実行制御部９は、当該命令コードのアドレス１６がデバッグ定義テーブル１２に設定されたデバッグ範囲に含まれるため、デバッグ番号テーブル４０を参照し、当該命令コードに対応するデバッグ番号テーブル４３を参照する。このときデバッグ番号は「＃１」のため、プログラム実行制御部９は、当該命令コードの実行結果である論理積の値を記憶領域１３に退避させる（図７のＳ２５参照）。
【００４９】
さらに、プログラム実行制御部９は、次の命令コード２１を実行し、論理積の結果を「信号Ｃ」に出力する。このとき、命令コード２１はデバッグ範囲でないため、プログラム実行制御部９は、デバッグ処理を行わず、したがって、デバッグ番号テーブル４０も参照することなく、次の命令コードを実行する。
【００５０】
なお、図８では、実施の形態１と同様に、デバッグ範囲の指定をデバッグ定義テーブル１２に基づいて行うようにしたが、実施の形態２のようにデバッグ有効フラグを付加することで行ってもよい。
【００５１】
本実施の形態によれば、デバッグ条件としてデバッグ番号テーブル４０を追加することにより、様々なデバッグ機能に対応することができるという効果がある。なお、本実施の形態のその他の効果は、実施の形態１及び２と同様である。
【００５２】
なお、デバッグ番号テーブルに設定されたデバッグ種類の例としては、上記の２種類に限定されず、種々のデバッグを設定することが可能である。例えば、ブレークポイントを設定する指示は、プログラムにバグが存在する場合など、シーケンスを一時止めてその原因を遡って調べる場合などに役立てることができる。
【産業上の利用可能性】
【００５３】
本発明は、プログラマブルロジック機能を有する電力系統の保護制御装置に好適に適用することができる。
【図面の簡単な説明】
【００５４】
【図１】実施の形態１に係る保護制御装置を含む装置構成を示す図である。
【図２】実施の形態１におけるプログラム実行制御部の動作を示すフローチャートである。
【図３】シーケンス図の一例を示す図である。
【図４】実施の形態１におけるプログラム実行制御部の処理対象の構成を示す図である。
【図５】実施の形態２におけるプログラム実行制御部の動作を示すフローチャートである。
【図６】実施の形態２におけるプログラム実行制御部の処理対象の構成を示す図である。
【図７】実施の形態３におけるプログラム実行制御部の動作を示すフローチャートである。
【図８】実施の形態３におけるプログラム実行制御部の処理対象の構成を示す図である。
【符号の説明】
【００５５】
１  ＰＣ
２  保護制御装置
３  シーケンスロジック編集部
４  シーケンスロジック記憶部
５  プログラム生成部
６，５０  プログラム記憶部
７，８  送受信部
９  プログラム実行制御部  
１１  プログラム
１２  デバッグ定義テーブル
１３  記憶領域
１４〜１７  アドレス
１８〜２１  命令コード
３１〜３４  デバッグ有効フラグ
４０〜４３  デバッグ番号テーブル
５１  デバッグ条件設定部
５２  実行値記憶部
【図１】
2010020494.tif 000003
【図２】
2010020494.tif 000004
【図３】
2010020494.tif 000005
【図４】
2010020494.tif 000006
【図５】
2010020494.tif 000007
【図６】
2010020494.tif 000008
【図７】
2010020494.tif 000009
【図８】
2010020494.tif 000010