(57)【要約】【課題】リアルタイム処理用ＣＰＵからの情報を通信処理用ＣＰＵに伝達する際、通信処理用ＣＰＵの処理が正確かつ高速で伝達するディジタル型保護制御装置を提供する。【解決手段】リアルタイム処理用ＣＰＵと、通信処理用ＣＰＵとを設け、それらの間に共有メモリを配置してデータの受け渡しをするディジタル型保護制御装置において、共有メモリが、情報通知待ちを制御しながら情報の受け渡しを行うイベント処理機構を備える。【選択図】      図１
2004282320.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル型保護制御装置に入力される電流、電圧などのデータを演算し、系統の事故などが発生したとき系統保護リレーの動作指令などを出すリアルタイム処理用ＣＰＵと、前記リアルタイム処理用ＣＰＵの情報をネットワークを介して接続されたホスト計算機に送信したり、不揮発性のメモリに一旦保存して前記ホスト計算機からの要求に応じてデータを送信する通信処理用ＣＰＵとを設け、それらの間に共有メモリを配置して前記リアルタイム処理用ＣＰＵから前記通信処理用ＣＰＵへデータの受け渡しをするディジタル型保護制御装置において、
前記共有メモリが、情報を受け取るための情報通知待ち機能と、前記情報通知待ち機能を実行する際に、指定した情報を受け取るために参照するメモリまたはＩ／Ｏポートのアドレスを定期的に監視して、メモリまたはＩ／Ｏポートのデータが所定の値に変化したとき、情報通知待ちをしていたプログラムの待ちを解除して、情報要求元へ情報の受け渡しを行うイベント処理機構を備えることを特徴とするディジタル型保護制御装置。
【請求項２】
前記リアルタイム処理用ＣＰＵから前記通信処理用ＣＰＵへデータの受け渡しをする際に、前記リアルタイム処理用ＣＰＵを省略して、入力信号を直接前記イベント処理機構に入力することを特徴とする請求項１に記載のディジタル型保護制御装置。
【請求項３】
前記イベント処理機構が、逆に、前記通信処理ＣＰＵから前記リアルタイム処理ＣＰＵへ情報を伝達する処理機能を持つことを特徴とする請求項１に記載のディジタル型保護制御装置。
【請求項４】
前記イベント処理機構が、前記通信処理ＣＰＵから前記リアルタイム処理ＣＰＵへ、かつ前記リアルタイム処理ＣＰＵから前記通信処理ＣＰＵへ双方向に情報を伝達する処理機能を持つことを特徴とする請求項１に記載のディジタル型保護制御装置。
【請求項５】
前記イベント処理機構が、前記通信処理ＣＰＵ内で動作する複数のプログラム同志の間で情報を伝達する処理機能を、さらに有することを特徴とする請求項１に記載のディジタル型保護制御装置。
【請求項６】
前記イベント処理機構は、前記通信処理ＣＰＵ内で動作する複数のプログラムが、プログラム同志で情報を伝達するときに、情報取得要求と情報取得待ちを同時に実行する処理機能を、さらに有することを特徴とする請求項５に記載のディジタル型保護制御装置。
【請求項７】
前記イベント処理機構は、前記通信処理ＣＰＵ内で動作する複数のプログラムが、同じ情報提供元に対して情報取得待ちをする処理機能を、さらに有することを特徴とする請求項１に記載のディジタル型保護制御装置。
【請求項８】
前記イベント処理機構は、プログラムが情報取得待ちをする際、待ち条件が一定時間内に成立しない場合に、処理が停滞することがないようにタイムアウト機能を、さらに有することを特徴とする請求項１に記載のディジタル型保護制御装置。
【請求項９】
前記イベント処理機構は、諸量を記録するログ機能を、さらに有することを特徴とする請求項１に記載のディジタル型保護制御装置。
【請求項１０】
前記イベント処理機構は、情報要求プログラムが、プログラムの異常を検知するとプログラムを停止するか、あるいはプログラムの制御権を他のプログラムに渡す機能を、さらに有することを特徴とする請求項１に記載のディジタル型保護制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｊａｖａ（登録商標）言語のオブジェクト指向言語で記述されたディジタル型保護制御装置の情報通信機能やヒューマンマシンインタフェース（以下、ＨＭＩと呼ぶ）機能が、高速で確実な処理機能を持つディジタル型保護制御装置に関する。
【０００２】
【従来の技術】
従来、ディジタル型保護制御装置用ソフトウェアは、汎用オペレーティングシステムもしくはリアルタイムオペレーティングシステムの上でＣ言語やアセンブリ言語などの従来の言語を使用して、情報通信機能やＨＭＩを作成していた。
【０００３】
ディジタル型保護制御装置用ソフトウェアは、高速な応答性や高い信頼性を求められているので、Ｊａｖａ（登録商標）言語などのオブジェクト指向言語は、インタプリタ言語であるため、リアルタイムシステム上で使用するには不適当であると見られていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、Ｊａｖａ（登録商標）言語などのオブジェクト指向言語は、インターネットとの接続性やＨＭＩ用のソフトウェア作成には適している。また、最近のディジタル型保護制御装置用ソフトウェアは、高速な応答性や高い信頼性だけでなく、インターネットとの接続やメンテナンスをする人とのインタフェースのため、柔軟な情報通信機能やＨＭＩ機能を持つことが求められるようになってきた。そのため、Ｊａｖａ（登録商標）言語などのオブジェクト指向言語を使用してディジタル型保護制御装置用ソフトウェアを開発することが見直されている。
【０００５】
従来のディジタル型保護制御装置においては、高速な応答性を求められる処理は、リアルタイム処理用ＣＰＵで行い、情報通信機能やＨＭＩ機能の処理は、通信処理用ＣＰＵで行うシステムが用いられているが、リアルタイム処理用ＣＰＵからの情報を通信処理用ＣＰＵに伝達する時に、通信処理用ＣＰＵの処理が追いつかず、システム全体の処理が滞ることがあった。特に系統事故などの情報は、大量のデータがリアルタイム処理用ＣＰＵから通信処理用ＣＰＵに渡されるため、確実にかつ高速にデータの受け渡しをする必要がある。そのために、従来は、大容量の共有メモリを用いていた。
【０００６】
また、逆に、通信処理用ＣＰＵからリアルタイム処理用ＣＰＵへ情報を伝達する時に、適切なタイミングで伝えることができずに、システム全体の処理が滞ることがあった。
【０００７】
そこで、本発明は、リアルタイム処理用ＣＰＵからの情報を通信処理用ＣＰＵに伝達する際、通信処理用ＣＰＵの処理が高速で追随できるとともに、逆に、通信処理用ＣＰＵからリアルタイム処理用ＣＰＵへ情報を伝達する時にも、適切なタイミングで伝えることができるディジタル型保護制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、上記の目的を達成するために次のような手段を講じている。
【０００９】
請求項１に記載のディジタル型保護制御装置は、ディジタル型保護制御装置に入力される電流、電圧などのデータを演算し、系統の事故などが発生したとき系統保護リレーの動作指令などを出すリアルタイム処理用ＣＰＵと、リアルタイム処理用ＣＰＵの情報をネットワークを介して接続されたホスト計算機に送信したり、不揮発性のメモリに一旦保存してホスト計算機からの要求に応じてデータを送信する通信処理用ＣＰＵとを設け、それらの間に共有メモリを配置してリアルタイム処理用ＣＰＵから前記通信処理用ＣＰＵへデータの受け渡しをするディジタル型保護制御装置において、共有メモリが、情報を受け取るための情報通知待ち機能と、情報通知待ち機能を実行する際に、指定した情報を受け取るために参照するメモリまたはＩ／Ｏポートのアドレスを定期的に監視して、メモリまたはＩ／Ｏポートのデータが所定の値に変化したとき、情報通知待ちをしていたプログラムの待ちを解除して、情報要求元へ情報の受け渡しを行うイベント処理機構を備えることを特徴とする。
これにより、リアルタイム処理用ＣＰＵから通信処理用ＣＰＵに向けたデータを共有メモリなどに設定した後、このようなイベント処理機構を用いて情報通知（この場合は、データの設定完了通知）をすることにより、高速にかつ確実にデータを受け渡しすることができる。
【００１０】
請求項２に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、リアルタイム処理用ＣＰＵから通信処理用ＣＰＵへデータの受け渡しをする際に、リアルタイム処理用ＣＰＵを省略して、入力信号を直接前記イベント処理機構に入力することを特徴とする。
これにより、通信処理用ＣＰＵ１２の情報要求プログラム１２１が、予めイベント番号を使用して入力信号を受取ることによって、入力信号を直接、通信処理用ＣＰＵへ確実かつ高速に入力することができる。
【００１１】
請求項３に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、イベント処理機構が、逆に、通信処理ＣＰＵからリアルタイム処理ＣＰＵへ情報を伝達する処理機能を持つことを特徴とする。
これにより、リアルタイム処理用ＣＰＵの情報要求プログラムが、予めイベント番号を使用して、通信処理用ＣＰＵの情報通知元プログラムから、共有メモリを介してデータを受け取ることとすることによって、通信処理用ＣＰＵからリアルタイム処理用ＣＰＵへデータを確実かつ高速に渡すことができる。
【００１２】
請求項４に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、イベント処理機構が、通信処理ＣＰＵからリアルタイム処理ＣＰＵへ、かつリアルタイム処理ＣＰＵから通信処理ＣＰＵへ双方向に情報を伝達する処理機能を持つことを特徴とする。
これにより、通信処理用ＣＰＵの情報要求プログラムは、予めイベント番号を使用してリアルタイム処理用ＣＰＵの情報通知元プログラムから共有メモリ１３を介してデータを受け取り、一方、リアルタイム処理用ＣＰＵの情報要求プログラムは、予め他のイベント番号を使用して、通信処理用ＣＰＵの情報通知元プログラムから共有メモリを介してデータを受け取ることによって、リアルタイム処理用ＣＰＵと通信処理用ＣＰＵの間で双方向にデータを確実かつ高速に渡すことができる。
【００１３】
請求項５に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、イベント処理機構が、通信処理ＣＰＵ内で動作する複数のプログラム同志の間で情報を伝達する処理機能を、さらに有することを特徴とする。
これにより、通信処理用ＣＰＵの情報要求プログラムが、イベント処理機構中の予め定めたイベント番号を使用して、通信処理用ＣＰＵの情報通知元プログラムからデータを受け取ることによって、通信処理ＣＰＵ内部の一方のプログラムから別のプログラムにデータを確実かつ高速に渡すことができる。
【００１４】
請求項６に記載のディジタル型保護制御装置は、請求項５に記載のディジタル型保護制御装置において、イベント処理機構は、通信処理ＣＰＵ内で動作する複数のプログラムが、プログラム同志で情報を伝達するときに、情報取得要求と情報取得待ちを同時に実行する処理機能を、さらに有することを特徴とする。
これにより、通信処理用ＣＰＵの情報要求プログラムが、予めイベント番号を使用して通信処理用ＣＰＵの情報通知元プログラムからデータを受け取ることによって、これまで実行していた、イベント領域のイベント番号の０クリアが必要なくなり、通信処理ＣＰＵの一方のプログラムから他方のプログラムにデータを渡すときに、同時に受けとり要求を出すことによって、確実かつ高速に渡すことができる。
【００１５】
請求項７に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、イベント処理機構は、通信処理ＣＰＵ内で動作する複数のプログラムが、同じ情報提供元に対して情報取得待ちをする処理機能を、さらに有することを特徴とする。
これにより、複数のプログラムが同じ情報提供元に対して情報取得待ちして、同時に待ちが解除され、確実かつ高速な処理を行うことができる。
【００１６】
請求項８に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、イベント処理機構は、プログラムが情報取得待ちをする際、待ち条件が一定時間内に成立しない場合に、処理が停滞することがないようにタイムアウト機能を、さらに有することを特徴とする。
これにより、待ち時間の制限をチェックする処理を追加することにより、プログラムが情報取得待ちをするとき、待ち条件が一定時間内に成立しない場合に、処理が停滞することを防止して、データを確実かつ高速に渡すことができる。
【００１７】
請求項９に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、イベント処理機構は、諸量を記録するログ機能を、さらに有することを特徴とする。
これにより、どのプログラムがいつ情報取得待ちを実行したか、取得した情報の値、どのプログラムがいつ情報を通知したか、通知した値などを記録することにより、異常が発生した時の事象解析やより高速なデータの受け渡しをするためのデータを提供することができる。
【００１８】
請求項１０に記載のディジタル型保護制御装置は、請求項１に記載のディジタル型保護制御装置において、イベント処理機構は、情報要求プログラムが、プログラムの異常を検知するとプログラムを停止するか、あるいはプログラムの制御権を他のプログラムに渡す機能を、さらに有することを特徴とする。
これにより、情報通知を受け取ったプログラムが異常状態を検出したときに、異常を回避したり、異常を処理するためにＣＰＵの負荷が高くなることを避けることができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００２０】
（第１の実施の形態：請求項１に対応）
図１は、本発明の第１の実施の形態に係るディジタル型保護制御装置の概略構成図である。すなわち、イベント機構により、高速にかつ確実にデータを受け渡しすることが可能なディジタル型保護制御装置を構成している。
【００２１】
本実施の形態に係るディジタル型保護制御装置１は、リアルタイム処理用ＣＰＵ１１と、通信処理用ＣＰＵ１２と、両ＣＰＵ１１，１２の間のデータ交換をするためのイベント機構を備えた共有メモリ１３とで構成される。
【００２２】
ディジタル型保護制御装置１は、ネットワーク３を介してホスト計算機２と通信ができるので、系統事故が発生した時やホスト計算機２からの要求があった時に、電力系統の電流や電圧などのデータを、ホスト計算機２へ送信したり、ホスト計算機２からのデータやプログラムなどをネットワーク３を介して受け取ることが可能である。
【００２３】
ディジタル型保護制御装置１では、リアルタイム処理用ＣＰＵ１１が、ディジタル型保護制御装置１に入力される電流、電圧などのデータを演算し、電力系統の事故などが発生した時に、系統保護リレーの動作指令などを出す。通信処理用ＣＰＵ１２は、リアルタイム処理用ＣＰＵ１１が保持している電流、電圧や系統事故などの情報をネットワーク３を介して接続されたホスト計算機１に送信したり、通信処理用ＣＰＵ１２が持つ不揮発性メモリ１５に一旦、保存してホスト計算機２からの要求に応じてデータを送信する。特に、系統事故などの情報は、大量のデータとなるので、リアルタイム処理用ＣＰＵ１１から通信処理用ＣＰＵ１２に確実にかつ高速にデータの受け渡しをする必要がある。このデータ受け渡しをするためにイベント機構を使用する。
【００２４】
図２から図８を参照して、データの受け渡しをするためのイベント処理機構について説明する。
図２の通信処理用ＣＰＵ１２中の情報要求プログラム１２１は、リアルタイム処理用ＣＰＵ１１からのデータが必要になると、イベント処理機構１４中のイベント番号１領域を介して、リアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１からの情報通知を受け取る。すなわち、イベント番号１領域を指定してイベント処理機構１４にイベント待ち要求をする。
【００２５】
リアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１は、通信処理用ＣＰＵ１２の情報要求プログラム１２１に対して渡すべきデータが揃った時点で、共有メモリ１３にデータを書き込む。その後、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に１または、予め情報通知のために決めていた値を書き込み、情報通知処理を終える。
【００２６】
イベント処理機構１４は、秒単位あるいはミリ秒単位で定期的にイベント領域１４１をチェックし、各イベント番号の値が変化をして、特定の値になったことを確認すると、そのイベント番号に対して待ち合わせをしている通信処理用ＣＰＵ１２のプログラム（ここでは情報要求プログラム１２１）の情報通知待ち要求を解除する。これに続いて、情報要求プログラム１２１は、情報通知元プログラム１１１が設定したデータを共有メモリであるイベント処理機構１４から取り出すとともに、イベント領域１４１のイベント番号１領域を０クリアする。
【００２７】
図３は、イベント処理機構１４を使用しなかった場合の情報要求プログラム１２１の処理フローを示す。一方、図４は、イベント処理機構１４を使用した場合の情報要求プログラム１２１の処理フローを示す。
【００２８】
図３に示す従来の方法では、スリープ中にリアルタイム処理用ＣＰＵ１１から情報通知があったとしても、スリープが解除されるまでは情報要求プログラム１２１は実行されないため、情報通知されてからデータを処理するまでに遅れが生じるため、高速にデータ処理することができない。これに対して、イベント処理機構１４を使用した図４では、リアルタイム処理用ＣＰＵ１１からのデータを、単純な処理で受け取ることができ、かつ、情報通知がなかった時のスリープ処理が不要となるため、通信処理用ＣＰＵ１２のＣＰＵ負荷を低減することが可能である。
【００２９】
図５は、イベント処理機構１４を使用した場合の情報通知元プログラム１１１の処理フローを示す。情報通知元プログラム１１１は、イベント処理機構１４を通して情報要求プログラム１２２から情報通知要求があることを確認し、かつ、情報要求プログラム１２１に対するデータが用意されるまでは、情報通知元プログラム１１１独自の処理を行う。情報要求プログラム１２１に対するデータが用意できた時点で、共有メモリ１３にデータを書込み、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に１もしくは情報要求プログラム１２１との間で予め決めておいた情報通知を確認する値を書き込みする。
【００３０】
図６は、イベント処理機構１４が、情報要求プログラム１２１からの要求を受け取るために使用するデータ構造表である。情報要求プログラム１２１から情報要求を受け付けると、データを管理するためのフラグ領域（Ａ１〜Ａｎ）を使用中の状態に設定し、情報要求プログラム１２２のプログラム番号や名前などの情報を、プログラムの情報待ちを管理する領域（Ｂ１〜Ｂｎ）に設定する。さらに、情報通知元プログラム１１１が情報要求プログラム１２１に情報を通知するために使用するメモリのアドレス（ここではイベント領域１４１のイベント番号１領域のアドレス）を、情報を受け取る時に参照するメモリまたはＩ／Ｏポートのアドレス（Ｃ１〜Ｃｎ）として設定する。
【００３１】
図７は、イベント処理機構１４が情報通知をするときの処理フローを示す。図６に示したデータ構造表を管理するためのフラグ領域をチェックし、使用中の状態になっている行を探す。使用中の状態であり、情報を受け取る時に参照するメモリまたはＩ／Ｏポートのアドレスに指定されたアドレスのデータが、０以外もしくは、プログラムの情報待ちを管理する領域に保存された、情報要求プログラム１２１との間で予め決めておいた情報通知を確認する値に変化していれば、情報通知があったと判断し、プログラムの情報待ちを管理する領域に保存されていたプログラムの情報通知待ちを解除する。イベント領域１４１の全ての行をチェックし終えた時点で、スリープをして次の情報通知を検出するタイミングまで別のプログラムの実行を行う。
【００３２】
図７において、リアルタイム処理用ＣＰＵ１１から情報通知した後、イベント処理機構１４に対して割り込みで情報通知完了を伝えることにより、応答性の改善が可能となる。図７では、イベント処理機構１４の検出処理がスリープしている間は状態通知の変化を検出できないため応答性が悪くなるが、割り込みを使用することによって応答性を高めることができる。
【００３３】
第１の実施の形態により、イベント処理機構１４により、高速にかつ確実にデータを受け渡しすることが可能なディジタル型保護制御装置を提供することができる。
【００３４】
（第２の実施の形態：請求項２に対応）
本実施の形態は、入力信号を直接、通信処理用ＣＰＵ１２へ確実かつ高速に入力するためのものである。図８は、本実施の形態に係るディジタル型保護制御装置の概略構成図である。通信処理用ＣＰＵ１２の情報要求プログラム１２１が、予めイベント番号１を使用して入力信号を受取ることが特徴である。
【００３５】
図８の通信処理用ＣＰＵ１２の情報要求プログラム１２１は、入力信号が必要になるとイベント機構１４に対してイベント番号１領域を使用して、情報通知を受け取る。そのときは、イベント番号１領域を指定してイベント処理機構１４にイベント待ち要求をする。情報の元となるセンサーなどは，データ入力があると、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に入力データを設定する。イベント処理機構１４は、定期的にイベント領域１４１をチェックし、各イベント番号の値が変化して特定の値になったことを確認すると、そのイベント番号に対して待ち合わせをしている通信処理用ＣＰＵ１２のプログラム（ここでは情報要求プログラム１２１）の情報通知待ちを解除する。これに続いて情報要求プログラム１２１は、入力されたデータを取り出す。
【００３６】
第２の実施の形態により、通信処理用ＣＰＵ１２の情報要求プログラム１２１が、予めイベント番号１を使用して入力信号を受取ることによって、入力信号を直接、通信処理用ＣＰＵ１２へ確実かつ高速に入力することができる。
【００３７】
第３の実施の形態：請求項３に対応）
本実施の形態は、通信処理用ＣＰＵ１２からリアルタイム処理用ＣＰＵ１１へデータを確実かつ高速に渡すためのものである。
【００３８】
図９は、本実施の形態に係るディジタル型保護制御装置の概略構成図である。リアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３が、予めイベント番号１を使用して通信処理用ＣＰＵ１２の情報通知元プログラム１２４から共有メモリ１３を介してデータを受け取ることが特徴である。
【００３９】
図９のリアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３は、予めイベント番号１を使用して通信処理用ＣＰＵ１２の情報通知元プログラム１２４から共有メモリ１３中のイベント機構１４を介してデータを受け取ることとする。
【００４０】
図９のＣＰＵ１１の情報要求プログラム１１３は、ＣＰＵ１２からのデータが必要になるとイベント機構１４に対してイベント番号１領域を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４からの情報通知を受け取る。そのとき、イベント番号１領域を指定してイベント処理機構１４にイベント待ち要求をする。
【００４１】
通信処理用ＣＰＵ１２の情報通知元プログラム１２４は、リアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３に対して渡すべきデータが揃った時点で、共有メモリ１３中のイベント処理機構１４にデータを書き込む。その後、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に１または、予め情報通知のために決めていた値を書き込み、情報通知処理を終える。
【００４２】
イベント処理機構１４は、定期的にイベント領域１４１をチェックし、各イベント番号の値が変化をして特定の値になったことを確認すると、そのイベント番号に対して待ち合わせをしているリアルタイム処理用ＣＰＵ１１のプログラム（ここでは情報要求プログラム１１３）の情報通知待ちを解除する。その後、情報要求プログラム１１３は、情報通知元プログラム１２４が設定したデータを共有メモリ１３中のイベント処理機構１４から取り出す。それに続いて、イベント領域１４１のイベント番号１領域を０クリアする。
【００４３】
第３の実施の形態により、リアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３が、予めイベント番号１を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４から、共有メモリ１３を介してデータを受け取ることとすることによって、通信処理用ＣＰＵ１２からリアルタイム処理用ＣＰＵ１１へデータを確実かつ高速に渡すことができる。
【００４４】
（第４の実施の形態：請求項４に対応）
本実施の形態は、リアルタイム処理用ＣＰＵと通信処理用ＣＰＵの間で双方向にデータを確実かつ高速に渡すためのものである。
【００４５】
図１０は、本実施形態に係るディジタル型保護制御装置の概略構成を示す図である。通信処理用ＣＰＵ１２の情報要求プログラム１２１は、予めイベント番号１を使用してリアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１から共有メモリ１３を介してデータを受け取り、一方、リアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３は、予めイベント番号２を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４から共有メモリ１３を介してデータを受け取ることを特徴とする。
【００４６】
図１０の通信処理用ＣＰＵ１２の情報要求プログラム１１１は、リアルタイム処理用ＣＰＵ１１からのデータが必要になると、共有メモリ中のイベント機構１４に対してイベント番号１領域を使用して、リアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１からの情報通知を受け取る。そのとき、イベント番号１領域を指定してイベント処理機構１４にイベント待ちを要求する。リアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１は、通信処理用ＣＰＵ１２の情報要求プログラム１２１に対して渡すべきデータが揃った時点で、共有メモリ１３にデータを書き込む。その後、イベント処理機構１４が、管理するイベント領域１４１のイベント番号１領域に１または、予め情報通知のために決めていた値を書き込み、情報通知処理を終える。
【００４７】
一方、図１０のリアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３は、通信処理用ＣＰＵ１２からのデータが必要になると、イベント処理機構１４に対してイベント番号２領域を使用して、ＣＰＵ１２の情報通知元プログラム１２４からの情報通知を受け取る。そのとき、イベント番号１領域を指定してイベント処理機構１４にイベント待ち要求をする。通信処理用ＣＰＵ１２の情報通知元プログラム１２４は、リアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３に対して渡すべきデータが揃った時点で、共有メモリ１３にデータを書き込む。その後、イベント処理機構１４が、管理するイベント領域１４１のイベント番号１領域に１または、予め情報通知のために決めていた値を書き込み、情報通知処理を終える。
【００４８】
イベント処理機構１４は、定期的にイベント領域１４１をチェックし、各イベント番号の値が変化して特定の値になったことを確認すると、そのイベント番号に対して待ち合わせをしているプログラム（ここでは情報要求プログラム１２１および情報要求プログラム１１３）の情報通知待ちを解除する。その後、情報通知待ちが解除されたプログラム（ここでは情報要求プログラム１２１および情報要求プログラム１１３）は、情報通知元プログラム（ここでは１１１および１２４）が設定したデータを共有メモリ１３から取り出す。それに続いて、イベント領域１４１のイベント番号１領域またはイベント番号２領域を０クリアする。
【００４９】
第４の実施の形態によれば、通信処理用ＣＰＵ１２の情報要求プログラム１２１は、予めイベント番号１を使用してリアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１から共有メモリ１３を介してデータを受け取り、一方、リアルタイム処理用ＣＰＵ１１の情報要求プログラム１１３は、予めイベント番号２を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４から共有メモリ１３を介してデータを受け取ることによって、リアルタイム処理用ＣＰＵと通信処理用ＣＰＵの間で双方向にデータを確実かつ高速に渡すことができる。
【００５０】
（第５の実施の形態：請求項５に対応）
本実施の形態は、通信処理ＣＰＵの一方のプログラムから別のプログラムにデータを確実かつ高速に渡すためのものである。
【００５１】
図１１は、本実施形態に係るディジタル型保護制御装置の概略構成図である。
通信処理用ＣＰＵ１２の情報要求プログラム１２１が、イベント機構１４中の予め定めたイベント番号１を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４からデータを受け取ることを特徴とする。
【００５２】
図１１の通信処理用ＣＰＵ１２の情報要求プログラム１２１は、通信処理用ＣＰＵ１２からのデータが必要になると、イベント処理機構１４に対してイベント番号１領域を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４からの情報通知を受け取る。そのとき、イベント番号１領域を指定してイベント処理機構１４にイベント待ち要求をする。通信処理用ＣＰＵ１２の情報通知元プログラム１２４は、通信処理用ＣＰＵ１２の情報要求プログラム１２１に対して渡すべきデータが揃った時点で、共通メモリ１３にデータを書き込む。その後、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に１または、予め情報通知のために決めていた値を書き込み、情報通知処理を終える。
【００５３】
イベント処理機構１４は、定期的にイベント領域１４１をチェックし、各イベント番号の値が変化して特定の値になったこと確認すると、そのイベント番号に対して待ち合わせをしている通信処理用ＣＰＵ１２のプログラム（ここでは情報要求プログラム１２１）の情報通知待ちを解除する。その後、情報要求プログラム１２１は、情報通知元プログラム１２４が設定したデータを共有メモリ１３から取り出す。それに続いて、イベント領域１４１のイベント番号１領域を０クリアする。
【００５４】
第５の実施の形態により、通信処理用ＣＰＵ１２の情報要求プログラム１２１が、イベント機構１４中の予め定めたイベント番号１を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４からデータを受け取ることによって、通信処理ＣＰＵの一方のプログラムから別のプログラムにデータを確実かつ高速に渡すことができる。
【００５５】
（第６の実施の形態：請求項６に対応）
本実施の形態は、通信処理ＣＰＵの一方のプログラムから他方のプログラムにデータを受取る時、同時に受けとり要求を出すことによって、確実かつ高速に渡すためのものである。
【００５６】
図１２は、本実施形態に係るディジタル型保護制御装置の概略構成図である。
【００５７】
第５の実施の形態と同様に、通信処理用ＣＰＵ１２の情報要求プログラム１２１が、予めイベント番号１を使用して通信処理用ＣＰＵ１２の情報通知元プログラム１２４からデータを受け取ることが特徴である。
【００５８】
図１３は、第６の実施形態に係る情報要求プログラムの処理を示すフローチャートを示す。図１４は，第６の実施形態に係る情報通知元プログラムの処理を示すフローチャートを示す。
【００５９】
図１２の通信処理用ＣＰＵ１２の情報要求プログラム１２１は、通信処理用ＣＰＵ１２からのデータが必要になると、イベント処理機構１４に対してイベント番号１領域を使用して、通信処理用ＣＰＵ１２の情報通知元プログラム１２４からの情報通知を受け取る。そのとき、イベント番号１領域を指定してイベント処理機構１４に，イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域を０クリアしてイベント待ちを要求する。通信処理用ＣＰＵ１２の情報通知元プログラム１２４は、通信処理用ＣＰＵ１２の情報要求プログラム１２１に対して渡すべきデータが揃った時点で、共有メモリ１３にデータを書き込む。その後、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に１または、予め情報通知のために決めていた値を書き込み、情報通知処理を終える。
【００６０】
イベント処理機構１４は、定期的にイベント領域１４１をチェックし、各イベント番号の値が変化をして特定の値になったことを確認すると、そのイベント番号に対して待ち合わせをしている通信処理用ＣＰＵ１２のプログラム（ここでは情報要求プログラム１２１）の情報通知待ちを解除する。その後、情報要求プログラム１２１は、情報通知元プログラム１２４が設定したデータを共有メモリ１３から取り出す。
【００６１】
図１３は、イベント処理機構１４を使用した場合の情報要求プログラム１２１の処理フローを示す。本実施の形態によると、これまで実行していた、イベント領域１４１のイベント番号１の０クリアが必要なくなる。
【００６２】
図１４は、イベント処理機構１４を使用した場合の情報通知元プログラム１２４の処理フローを示す。情報通知元プログラム１２４は、イベント処理機構１４を通して情報要求プログラム１２１から情報通知要求があることを確認し、かつ情報要求プログラム１２１に対するデータが用意されるまでは、情報通知元プログラム１２４独自の処理を行う。情報要求プログラム１２１に対するデータが用意できた時点で、共有メモリ１３にデータをコピーし、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に１もしくは情報要求プログラム１２１との間で予め決めておいた情報通知を確認する値を書き込む。
【００６３】
第６の実施の形態によれば、通信処理用ＣＰＵ１２の情報要求プログラム１２１が、予めイベント番号１を使用して通信処理用ＣＰＵ１２の情報通知元プログラム１２４からデータを受け取ることによって、これまで実行していた、イベント領域１４１のイベント番号１領域の０クリアが必要なくなり、通信処理ＣＰＵの一方のプログラムから他方のプログラムがデータを受けとる時、同時に受けとり要求を出すことによって、確実かつ高速に渡すことができる。
【００６４】
（第７の実施の形態：請求項７に対応）
本実施の形態は、プログラムが情報取得待ちをするとき、ひとつの情報通知元に対して複数のプログラムが情報の受け取りを可能とするようにしたものである。
【００６５】
図１５は、本実施形態に係るディジタル型保護制御装置の概略構成図である。複数のプログラムが同じ情報提供元に対して情報取得待ちして，同時に待ちが解除されることが特徴である。
【００６６】
図１６は，本実施の形態に係るイベント処理機構１４の処理フローを示す。複数のプログラムが同じ情報提供元に対して情報取得待ちして、同時に待ちが解除されるようになっている。
【００６７】
図１７は、本実施の形態に係るディジタル型保護制御装置の概略構成図である。複数のプログラムが情報通知待ちを解除される時に優先度に従って順番に待ちが解除される。
【００６８】
図１８は、本実施の形態に係るイベント処理機構の処理を示すフローチャートを示す。複数のプログラムが待ち解除される時に優先度に従って順番に待ちが解除される。
【００６９】
図１５の通信処理用ＣＰＵ１２の情報要求プログラム１２１および情報要求プログラム１２２は、イベント番号１を使用してＣＰＵ１１の情報通知元プログラム１１１からデータを受け取ることとしている。
【００７０】
図１５の通信処理用ＣＰＵ１２の情報要求プログラム１２１および情報要求プログラム１２２は、リアルタイム処理用ＣＰＵ１１からのデータが必要になると、イベント処理機構１４のイベント番号１領域を使用して、リアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１からの情報通知を受け取る。そのとき、イベント処理機構１４に、イベント番号１領域を指定して、イベント待ち要求をする。リアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１は、通信処理用ＣＰＵ１２の情報要求プログラム１２１および情報要求プログラム１２２に対して渡すべきデータが揃った時点で、共有メモリ１３にデータを書き込む。その後、イベント処理機構１４が管理するイベント領域１４１のイベント番号１領域に１または、予め情報通知のために決めていた値を書き込み、情報通知処理を終える。
【００７１】
イベント処理機構１４は、定期的にイベント領域１４１をチェックし、各イベント番号の値が変化して特定の値になったことを確認すると、そのイベント番号に対して待ち合わせをしているＣＰＵ１２のプログラム（ここでは情報要求プログラム１２１および情報要求プログラム１２２）の情報通知待ちを解除する。その後、情報要求プログラム１２１と情報要求プログラム１２２は、情報通知元プログラム１１１が設定したデータを共有メモリ１３から取り出す。
【００７２】
図１６は、図７に対して、ひとつのイベント番号に対して複数の待ちプログラムがあった時に、その全てのプログラムの待ちを解除する処理を加えたものである。
【００７３】
図１７の通信処理用ＣＰＵ１２の情報要求プログラム１２１および情報要求プログラム１２２は、イベント番号１を使用してリアルタイム処理用ＣＰＵ１１の情報通知元プログラム１１１からデータを受け取ることになっている。図１５との違いは、同時に情報要求を出していても、優先度の高い情報要求プログラム（ここでは１２１とする）の情報通知待ちを解除し、優先度の低い情報要求プログラム（ここでは１２２とする）の情報通知待ちを解除せずに、次に情報通知元プログラム１１１から情報通知があったときに情報通知待ちが解除される。
【００７４】
これにより、優先度の高いプログラムが優先してデータを取得することができ、システムの性能を向上させることができる。
【００７５】
図１８は、図７に対して、ひとつのイベント番号に対して複数の待ちプログラムがあった時に、そのプログラムのうち最も優先度の高いプログラムの待ちを解除する処理を加えたものである。
【００７６】
第７の実施の形態によれば、複数のプログラムが同じ情報提供元に対して情報取得待ちして、同時に待ちが解除され、さらに、複数のプログラムが待ち解除される時に優先度に従って順番に待ちが解除される。
【００７７】
（第８の実施の形態：請求項８に対応）
本実施の形態は、プログラムが情報取得待ちをするとき、待ち条件が一定時間内に成立しない場合に、処理が停滞することがないようにタイムアウト機能を持たせるものである。
【００７８】
図１９は、本実施形態に係るイベント処理機構１４の処理フローを示す。図２０は、イベント処理機構１４を使用した場合の、情報要求プログラム１２１の処理フローを示す。
【００７９】
図１９は、図７に対して、待ち時間の制限をチェックする処理を追加したものであり、待ち時間を超えているプログラムがあった場合は、そのプログラムの待ちを解除する。
【００８０】
図２０は、図１３に対して、待ち時間の制限を越えていたためにデータが正しく取得できなかった時の処理を加えたものである。
【００８１】
なお、本実施例を実現するために、図６のプログラムの情報通知待ちを管理する領域に、待ち時間の制限値を追加するものとする。
【００８２】
第８の実施の形態によれば、待ち時間の制限をチェックする処理を追加することにより、通信処理ＣＰＵの一方のプログラムから別のプログラムにデータを確実かつ高速に渡すことができる。
【００８３】
（第９の実施の形態：請求項９に対応）
本実施の形態は、イベント処理機構に動作記録のログ機能を持たせたものである。
【００８４】
図２１は、本実施形態に係るイベント処理機構のデータ構造を示す。同図の各行には、情報待ち、情報通知、情報取得などをした時刻（Ｄ１〜Ｄｎ）、情報待ち、情報通知したプログラム名やプログラム番号（Ｅ１〜Ｅｎ）、情報を受け取る時に参照するメモリまたはＩ／Ｏポートのアドレス（Ｆ１〜Ｆｎ）および情報通知、情報取得した時のメモリまたはＩ／Ｏポートの値（Ｇ１〜Ｇｎ）などを格納する。
【００８５】
情報取得する時には、情報待ち、情報通知、情報取得などをした時に、要求を出した時刻を設定し、情報待ち、情報通知したプログラム名やプログラム番号には、情報要求プログラム（例えば１２１など）を設定し、情報を受け取る時に参照するメモリまたはＩ／Ｏポートのアドレスには、情報を受け取るアドレス（例えばイベント領域１４１のイベント番号１の領域のアドレス）などを設定する。
【００８６】
一方、情報通知する時には、同様に、情報待ち、情報通知、情報取得などをした時に、情報を書き込んだ時の時刻を設定し、情報待ち、情報通知したプログラム名やプログラム番号には情報通知元プログラム（例えば１１１など）を設定し、
情報を受け取る時に参照するメモリまたはＩ／Ｏポートのアドレスには、情報を書き込むアドレス（例えばイベント領域１４１のイベント番号１の領域のアドレス）を設定し、情報通知、情報取得した時のメモリまたはＩ／Ｏポートの値にはその時設定した値などを設定する。
【００８７】
また、イベント処理機構１４が情報通知をする時には、情報待ち、情報通知、情報取得などをした時に、待ちプログラムの待ちを解除した時刻を設定し、情報を受け取る時に参照するメモリまたはＩ／Ｏポートのアドレスには、情報を参照した時のアドレス（例えばイベント領域１４１のイベント番号１の領域のアドレス）を設定し、情報通知、情報取得した時のメモリまたはＩ／Ｏポートの値には、その時のメモリの値などを設定する。
【００８８】
図２１におけるデータ構造の全ての行にデータを書き込んだ場合には、その次のログは、一番古いログに上書きすることによって最新のデータを保持する。
【００８９】
第９の実施の形態によれば、イベント処理機構に動作記録のログ機能を持たせることにより、通信処理ＣＰＵの一方のプログラムから別のプログラムにデータを確実かつ高速に渡すことができる。
【００９０】
（第１０の実施の形態：請求項１０に対応）
本実施の形態は、イベント処理機構を用いた場合に、情報通知を受けとった情報要求プログラムが異常状態を回避したり、ＣＰＵの負荷を調整するために、プログラムを停止したり、実行権を別のプログラムに渡すためのものである。
【００９１】
図２２は、本実施の形態に係る情報要求プログラムの処理フローの一例を示す。その特徴は、異常を検出するとプログラムを停止することである。同図は、図１３に対して、受け取った情報通知データが、異常を示す時にプログラムの処理を終了してしまう処理を追加したものである。これにより、異常状態が継続することが無くなる。
【００９２】
図２３は、本実施の形態に係る情報要求プログラムの処理フローの他の例を示す。その特徴は、情報通知待ちを解除されたプログラムが、ＣＰＵの負荷を軽減するためにプログラムの制御権を他のプログラムに渡すことである。同図は、図１３に対して、受け取った情報通知データが、異常を示す時に他のプログラムへ制御を渡すようにする処理を追加したものである。これにより、異常状態によってＣＰＵの負荷が高くなった場合に、ＣＰＵ負荷を低減するようにすることができる。
【００９３】
第１０の実施の形態によれば、第１から第９までの実施の形態を利用し、情報通知を受け取ったプログラムが異常状態を検出したときに、異常を回避したり、異常を処理するためにＣＰＵの負荷が高くなることを避けることができる。
【００９４】
【発明の効果】
以上に述べたように、本発明のディジタル型保護制御装置によれば、ディジタル形保護制御装置のソフトウェア用のプログラムの間で情報を伝達するときに、高速で確実にデータの受け渡しができるようになり、ハードウェアの容量コストの削減や処理の異常を低減させることができる。
【００９５】
これによって、Ｊａｖａ（登録商標）言語などのオブジェクト指向のインタプリタ言語を用いてインターネットとの接続性やＨＭＩ機能を向上させつつ、確実でかつ高速な処理を行うことも可能となる。
【図面の簡単な説明】
【図１】第１の実施の形態に係る情報通信システムの概略構成図。
【図２】第１の実施の形態に係るイベント機構の概略構成図。
【図３】従来方法における情報要求プログラムの処理を示すフローチャート。
【図４】第１の実施の形態に係る情報要求プログラムの処理を示すフローチャート。
【図５】第１の実施の形態に係る情報通知元プログラムの処理を示すフローチャート。
【図６】第１の実施の形態に係るイベント処理機構のデータ構造を示す図。
【図７】第１の実施の形態に係るイベント処理機構の処理を示すフローチャート。
【図８】第２の実施の形態に係る情報通信システムの概略構成図。
【図９】第３の実施の形態に係る情報通信システムの概略構成図。
【図１０】第４の実施の形態に係る情報通信システムの概略構成図。
【図１１】第５の実施の形態に係る情報通信システムの概略構成図。
【図１２】第６の実施の形態に係る情報通信システムの概略構成図。
【図１３】第６の実施の形態に係る情報要求プログラムの処理を示すフローチャート。
【図１４】第６の実施の形態に係る情報通知元プログラムの処理を示すフローチャート。
【図１５】第７の実施の形態に係る情報通信システムの概略構成図。
【図１６】第７の実施の形態に係るイベント処理機構の処理を示すフローチャート。
【図１７】第７の実施形態に係る情報通信システムの概略構成図。
【図１８】第７の実施形態に係るイベント処理機構の処理を示すフローチャート。
【図１９】第８の実施形態に係る情報要求プログラムの処理を示すフローチャート。
【図２０】第８の実施形態に係るイベント処理機構の処理を示すフローチャート。
【図２１】第９の実施形態に係るイベント処理機構のデータ構造を示す図。
【図２２】第１０の実施形態に係る情報要求プログラムの処理を示すフローチャート。
【図２３】第１０の実施形態に係る情報要求プログラムの処理を示すフローチャート。
【符合の説明】
１・・・ディジタル型保護制御装置、２・・・ホスト計算機、３・・・ネットワーク、１１・・・リアルタイム処理用ＣＰＵ、１２・・・通信処理用ＣＰＵ、１３・・・共有メモリ、１４・・・イベント機構、１６・・・書き換え可能な不揮発性メモリ、１５・・・情報の元となる入力信号、１１１・・・情報通知元プログラム１、１１２・・・情報通知元プログラム２、１１３・・・情報要求プログラム３、１１４・・・情報要求プログラム４、１２１・・・情報要求プログラム１、１２２・・・情報要求プログラム２、１２３・・・情報要求プログラムｎ、１２４・・・情報通知元プログラム３、１２５・・・情報通知元プログラム４、１４１・・・イベント番号領域
【図１】
2004282320.tif 000003
【図２】
2004282320.tif 000004
【図３】
2004282320.tif 000005
【図４】
2004282320.tif 000006
【図５】
2004282320.tif 000007
【図６】
2004282320.tif 000008
【図７】
2004282320.tif 000009
【図８】
2004282320.tif 000010
【図９】
2004282320.tif 000011
【図１０】
2004282320.tif 000012
【図１１】
2004282320.tif 000013
【図１２】
2004282320.tif 000014
【図１３】
2004282320.tif 000015
【図１４】
2004282320.tif 000016
【図１５】
2004282320.tif 000017
【図１６】
2004282320.tif 000018
【図１７】
2004282320.tif 000019
【図１８】
2004282320.tif 000020
【図１９】
2004282320.tif 000021
【図２０】
2004282320.tif 000022
【図２１】
2004282320.tif 000023
【図２２】
2004282320.tif 000024
【図２３】
2004282320.tif 000025