(57)【要約】      （修正有）【課題】コントローラに対するデータ読み出しに係るネットワークおよびコントローラの負荷を低減する。【解決手段】アドレス情報共通管理部は、データが保存される共有メモリ領域のアドレス情報を保持する第１キャッシュ７−１に、要求されたアドレス情報を保持している場合、そのアドレス情報を返信し、そうでない場合、第１の装置２から該当アドレス情報を取得し、第１キャッシュに保存するとともに、取得したアドレス情報を返信する。データアクセス部は、データが保存される共有メモリ領域３のアドレス情報を保持する第２キャッシュ７−２に、プロセスが取得しようとするデータのアドレス情報を保持している場合、保持しているアドレス情報を基に共有メモリ領域から該当データを取得し返信し、そうでない場合、アドレス情報共通管理部から該当するアドレス情報を取得し、取得したアドレス情報を基に共有メモリ領域から該当データを取得し返信する。【選択図】図１
2015049668.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置により、所定のアドレスに該第１の装置のデータが保存される共有メモリ領域と、
前記データが保存される共有メモリ領域のアドレス情報を保持する第１キャッシュを有し、該第１キャッシュに、要求されたアドレス情報を保持している場合、保持しているアドレス情報を返信し、そうでない場合、前記第１の装置から該当する前記アドレス情報を取得し、前記第１キャッシュに保存するとともに、取得したアドレス情報を返信するアドレス情報共通管理部と、
前記データを取得するプロセス毎に設けられ、前記データが保存される共有メモリ領域のアドレス情報を保持する第２キャッシュを有し、該第２キャッシュに、前記プロセスが取得しようとする前記データのアドレス情報を保持している場合、保持しているアドレス情報を基に前記共有メモリ領域から該当データを取得し返信し、そうでない場合、前記アドレス情報共通管理部から該当するアドレス情報を取得し、取得したアドレス情報を前記第２キャッシュに保存するとともに、取得したアドレス情報を基に前記共有メモリ領域から該当データを取得し返信するデータアクセス部と、
を備える、監視制御装置。
【請求項２】
請求項１に記載の第１の装置と、請求項１に記載の監視制御装置とを備え、
前記第１の装置は、
第２の装置により前記アドレス情報が登録されるアドレス登録情報と、
前記アドレス情報共通管理部から要求された共有メモリのアドレス情報が前記アドレス登録情報に登録されていない場合に、前記共有メモリ領域の内、前記第２の装置により登録されたアドレス情報を格納するために割り当てられる割付けエリア以外の動的割り付けエリアのアドレスを割り当て、割り当てたアドレスの情報を前記アドレス情報共通管理部に応答する登録情報更新部と、
を備える監視制御システム。
【請求項３】
前記共有メモリ領域の全体を前記動的割付けエリアとした請求項２に記載の監視制御システム。
【請求項４】
前記データアクセス部は、一定時間アクセスのない共有メモリ領域上のアドレスについて、前記登録情報更新部に、割り当ての解除をさせる、請求項２または請求項３に記載の監視制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、監視制御装置および監視制御システムに関する。
【背景技術】
【０００２】
近年、上下水道処理設備、焼却設備、海水淡水化設備、水処理設備など、各種設備、プラントの監視制御を行う複数のＰＬＣ（プログラマブルロジックコントローラ、シーケンスコントローラ）、およびその上位装置である監視制御装置等の装置間のデータ伝送を、ネットワークを介して行うようになってきている。
【０００３】
このようなシステムにおいて、監視制御装置がＰＬＣ等のコントローラからタグデータを取得する際には、指定されたタグを有するコントローラを検索し、コントローラ内のタグ管理番号（タグ番号）を得て、このタグ管理番号を基にコントローラからデータを読み出すシステムがある。なお、タグは、タグ管理番号を基に管理され、コントローラ上のデータをアナログデータ、ディジタルデータとして１つの意味のあるデータとして割り付けたものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２２７５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のような監視制御装置のデータアクセス方式では、監視制御装置の各クライアントプロセスが所望のタグを有するコントローラを検索し、データを読み出すために全てのコントローラに向けて要求を送信するため、ネットワークおよび全てのコントローラの負荷となっていた。
【０００６】
本発明が解決しようとする課題は、監視制御装置のコントローラに対するデータ読み出しに係るネットワークおよびコントローラの負荷を低減することができる監視制御装置および監視制御システムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の監視制御装置は、共有メモリ領域と、アドレス情報共通管理部と、データアクセス部とを備える。共有メモリ領域には、第１の装置により、所定のアドレスに該第１の装置のデータが保存される。アドレス情報共通管理部は、データが保存される共有メモリ領域のアドレス情報を保持する第１キャッシュを有し、該第１キャッシュに、要求されたアドレス情報を保持している場合、保持しているアドレス情報を返信し、そうでない場合、第１の装置から該当するアドレス情報を取得し、第１キャッシュに保存するとともに、取得したアドレス情報を返信する。データアクセス部は、データを取得するプロセス毎に設けられ、データが保存される共有メモリ領域のアドレス情報を保持する第２キャッシュを有し、該第２キャッシュに、プロセスが取得しようとするデータのアドレス情報を保持している場合、保持しているアドレス情報を基に共有メモリ領域から該当データを取得し返信し、そうでない場合、アドレス情報共通管理部から該当するアドレス情報を取得し、取得したアドレス情報を第２キャッシュに保存するとともに、取得したアドレス情報を基に共有メモリ領域から該当データを取得し返信する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態にかかる監視制御システムの構成と信号・データの流れを示すブロック図である。
【図２】図２は、タグ登録情報の一例を示す図である。
【図３】図３は、第２の実施形態にかかる監視制御システムの構成と信号・データの流れを示すブロック図である。
【図４】図４は、タグ登録情報更新プロセスの動作を説明するフローチャートである。
【図５】図５は、タグアクセス管理情報の一例を示す図である。
【図６】図６は、ＨＭＩのタグアクセスライブラリの割付解除要求に係る動作を説明するフローチャートである。
【図７】図７は、第３の実施形態にかかる監視制御システムの構成と信号・データの流れを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、監視制御装置を含む監視制御システムの諸実施形態について、図面を参照して説明する。
【００１０】
（第１の実施形態）
図１は、第１の実施形態にかかる監視制御システムの構成と信号・データの流れを示すブロック図である。図１に示すように、本実施形態の監視制御システムは、エンジニアリングツール１と、コントローラ２と、ネットワーク共有メモリ３を有するＨＭＩ（ヒューマンマシンインタフェース）４とを備える。エンジニアリングツール１と、コントローラ２と、ＨＭＩ４は、イーサネット（登録商標）によるネットワークで接続されている。なお、同図では、各装置をそれぞれ１つ例示しているが、その数は任意である。
【００１１】
監視制御装置としてのＨＭＩ４は、コントローラ２の上位装置となる情報処理装置である。このＨＭＩ４は、図１に示すように、ネットワーク共有メモリ３と、ＨＭＩ４に備わるＣＰＵ、メモリ、および制御プログラム等（いずれも図示せず）が協働することにより実現される処理機能として、タグバインドプロセス８と、同図の例では２つのクライアントプロセス５（図中クライアントプロセス１・５−１，クライアントプロセス２・５−２）および対応するタグアクセスライブラリ６（６−１，６−２）とを備えている（なお、クライアントプロセス５および対応するタグアクセスライブラリ６の数は任意である）。また、タグバインドプロセス８、タグアクセスライブラリ６−１、およびタグアクセスライブラリ６−２はそれぞれ、タグデータが格納されるネットワーク共有メモリ３上のアドレスをキャッシュする機能として、バインドキャッシュ９、バインドキャッシュ７−１、およびバインドキャッシュ７−２を有する。
【００１２】
コントローラ２としては、ここでは、ＰＬＣ等を想定している。このコントローラ２は、タグ登録情報２１およびタグに係るデータ（以下、タグデータ）２２を記憶している。図２に、タグ登録情報２１の一例を示す。同図の例では、タグ登録情報２１で管理するインデックスに、タグ番号と、タグデータが格納されるネットワーク共有メモリ３のアドレスとが対応付けられて登録されている。なお、コントローラ２のタグデータは、タグに対応するインデックスと関連付けられて記憶されており、コントローラ２から定期的に、タグ登録情報２１に設定されているタグデータ用のアドレスで指定されたネットワーク共有メモリ３上の位置に格納される。
【００１３】
エンジニアリングツール１は、コントローラ２にタグ登録情報２１等の各種設定をするツールとして機能するソフトウェアおよび情報処理装置である。
【００１４】
このような構成において、エンジニアリングツール１からコントローラ２のタグ登録情報２１に、タグデータが格納されるネットワーク共有メモリ３のアドレスが設定される。
【００１５】
コントローラ２は、ＨＭＩ４からタグ番号“ＴＡＧ１．ＰＶ”に対するタグバインド要求（１−１，１−２，１−３）を受けると、該当のタグデータが格納されるネットワーク共有メモリ３上のアドレスを含むアドレス応答を返す（１−４）。なお、ここでタグバインド要求とは、指定したタグ（タグ番号）のタグデータが格納されるネットワーク共有メモリ３上のアドレスを要求するものであり、要求側は、コントローラ２からの応答で上記アドレスを取得することにより、指定したタグと、当該タグのタグデータが格納されるネットワーク共有メモリ３上のアドレスを結びつけることができるようになる。
【００１６】
ＨＭＩ４のバインドキャッシュ７−１は、コントローラ２から受信したアドレス（ＢＬＫ１．ＷＯＲＤ０）を記憶し（１−５）、このアドレスをネットワーク共有メモリ３からのデータ読み出しに使用する（１−６，１−７）。
【００１７】
図１の例において、ＨＭＩ４上のクライアントプロセス１・５−１が、タグ番号が”ＴＡＧ１．ＰＶ”のデータを読み出す場合（１−１）、クライアントプロセス１・５−１起動後同タグの初回読み出しでは、同プロセスがリンクしているタグアクセスライブラリ６−１のバインドキャッシュ７−１には、”ＴＡＧ１．ＰＶ”用のネットワーク共有メモリ３のアドレスが記憶されていない。このため、タグアクセスライブラリ６−１は、ＨＭＩ４のタグバインドプロセス８のバインドキャッシュ９からアドレスを読み出す（１−２）。このときタグバインドプロセス８が要求されたタグのアドレスをバインドキャッシュ９に記憶していない場合には、タグバインドプロセス８は、コントローラ２へタグバインド要求を発行し（１−３）、コントローラ２から同タグのアドレス応答を受け（１−４）、そのアドレスをタグ番号に関連付けてバインドキャッシュ９に記憶し、要求元のタグアクセスライブラリ６−１にこのアドレスを応答する（１−５）。タグアクセスライブラリ６−１は、タグバインドプロセス８から受けたアドレスを、タグ番号に関連付けて自身のバインドキャッシュ７−１に記憶する。
【００１８】
そして、タグアクセスライブラリ６−１は、ネットワーク共有メモリ３から、取得したアドレスで指定されるデータを読み出し（１−６，１−７）、クライアントプロセス１・５−１にそのデータを返す（１−８）。
【００１９】
一方、ＨＭＩ４上のクライアントプロセス２・５−２がクライアントプロセス１・５−１により既にタグバインド済みの”ＴＡＧ１．ＰＶ”のデータを読み出す場合（２−１）、クライアントプロセス２・５−２起動後同タグの初回読み出しでは、同プロセスがリンクしているタグアクセスライブラリ６−２のバインドキャッシュ７−２にはアドレスが記憶されていないため、ＨＭＩ４のタグバインドプロセス８のバインドキャッシュ９からアドレスを読み出す（２−２）。
【００２０】
タグバインドプロセス８は、要求されたタグ（タグ番号“ＴＡＧ１．ＰＶ”）のアドレスをバインドキャッシュ９に記憶しているので、要求元にそのアドレス（ＢＬＫ１．ＷＯＲＤ０）を応答する（２−３）。
【００２１】
タグアクセスライブラリ６−２はネットワーク共有メモリ３から、取得したアドレスで指定されるデータを読み出し（２−４，２−５）、クライアントプロセス２・５−２にそのデータを返す（２−６）。
【００２２】
クライアントプロセス２・５−２が”ＴＡＧ１．ＰＶ”のデータをさらに読み出す場合（３−１）、クライアントプロセス２・５−２起動後同タグの２回目以降の読み出しでは、同プロセスがリンクしているタグアクセスライブラリ６−２のバインドキャッシュ７−２にアドレスが記憶されているため、タグアクセスライブラリ６−２はネットワーク共有メモリ３から、バインドキャッシュ７−２に記憶されているアドレス（ＢＬＫ１．ＷＯＲＤ０）で指定されるデータを読み出し（３−２，３−３）、クライアントプロセス２・５−２にデータを返す（３−４）。
【００２３】
以上のように、いずれかのクライアントプロセス５による、あるタグ（タグ番号）に対する一番最初のアドレス要求であるタグバインド要求を除いて、各クライアントプロセス５からのコントローラ２に向けてのタグバインド要求の送信およびアドレス応答がなくなり、ネットワークおよび全てのコントローラ２の負荷軽減対策となる。
【００２４】
なお、本実施形態では、１つのタグバインド要求で１つのタグに対するネットワーク共有メモリ３のアドレス情報を取得しているが、ネットワーク共有メモリ３のアドレス情報を一括で読み出すようにしてもよい。
【００２５】
（第２の実施形態）
続いて、第２の実施形態について、図３〜図６を用いて説明する。図３は、第２の実施形態にかかる監視制御システムの構成と信号・データの流れを示すブロック図であり、図４は、タグ登録情報更新プロセス１０の動作を説明するフローチャートである。また、図５は、タグアクセス管理情報６１の一例であり、図６は、ＨＭＩ４のタグアクセスライブラリ６の割付解除要求に係る動作を説明するフローチャートである。
【００２６】
本実施形態では、コントローラ２にタグ登録情報更新プロセス１０をさらに備える構成としている。タグ登録情報更新プロセス１０は、コントローラ２に備わるＣＰＵ、メモリ、および制御プログラム等（いずれも図示せず）が協働することにより実現される処理機能の１つである。なお、コントローラ２のタグデータは、第１の実施形態の場合と同様に、コントローラ２から定期的に、タグ登録情報２１に設定されているアドレスで指定されたネットワーク共有メモリ３の位置に格納される。
【００２７】
ここで、本実施形態の各部の動作を説明する。エンジニアリングツール１でタグ登録情報２１にネットワーク共有メモリ３のアドレスが登録されている場合の各部の動作は、上述の第１の実施形態と同様である。本実施形態では、タグ登録情報更新プロセス１０が、エンジニアリングツール１によってタグ登録情報２１にネットワーク共有メモリ３のアドレスが登録されていないタグ（例えば、タグ番号“ＴＡＧ３．ＰＶ”）について、ＨＭＩ４から同タグのタグバインド要求があった場合に（図３：４−１、図４：ステップＳ１０１でＹｅｓ）、タグ登録情報２１に該当データがあるか判断し、該当データがなければ（ステップＳ１０２でＮｏ）、ネットワーク共有メモリ３の動的割り付けエリア（図３のネットワーク共有メモリ３の斜線部）上のアドレスを同タグに対して割り当て、タグ登録情報２１を更新（割り当てたアドレスを追加）する（図３：４−２、図４：ステップＳ１０３）。そして、ＨＭＩ４へ、ここで割り当てたアドレス（ＢＬＫ３．ＷＯＲＤ０）を含む更新通知を送信する（図３：４−３、図４：ステップＳ１０４）。
【００２８】
ＨＭＩ４は、ネットワーク共有メモリ３に新たにアドレスが割り当てられタグ登録情報２１が変更されたことを示す上記更新通知を受信し、タグバインドプロセス８のバインドキャッシュ９を更新する（新たに割り当てられたアドレスを格納する）。
【００２９】
ＨＭＩ４のタグアクセスライブラリ６は、クライアントプロセス５からのデータ読み出し要求（４−４）を、最終アクセス時間を含むアクセスしたタグに係る情報を記録したタグアクセス管理情報（図５参照）で管理し、例えば一定時間アクセスがないと判断されると（図６：ステップＳ２０１でＹｅｓ）、不要になったネットワーク共有メモリ３のアドレスの割付解除要求をコントローラ２のタグ登録情報更新プロセス１０へ通知する（図３：４−５、図６：ステップＳ２０２）。コントローラ２は、ＨＭＩ４からタグバインド要求ではなく（図４：ステップＳ１０１でＮｏ）割付解除要求があった場合（ステップＳ１０５でＹｅｓ）、タグ登録情報２１を更新する（該当する登録情報を削除する）（図３：４−２、図４：ステップＳ１０６）。なお、ＨＭＩ４からの要求が、タグバインド要求でも割付解除要求でもない場合（図４：ステップＳ１０１でＮｏかつステップＳ１０５でＮｏ）、タグ登録情報更新プロセス１０は何もせず処理を終了する。
【００３０】
以上のように、本実施の形態では、クライアントプロセス５は、エンジニアリングツール１を用いて登録されたタグ以外のタグについても自動的にネットワーク共有メモリ３のアドレスが割り当てられることにより、ネットワーク共有メモリ３から所望のタグデータを読み出すことができ、高速アクセスが可能となる。
【００３１】
（第３の実施形態）
続いて、第３の実施形態について、図７を用いて説明する。図７は、第３の実施形態にかかる監視制御システムの構成と信号・データの流れを示すブロック図である。
【００３２】
本実施形態が前述の第２の実施形態と異なる点は、図７に示すように、ネットワーク共有メモリ３全体を動的割り付けエリア（斜線部）とし、ネットワーク共有メモリ３上のタグデータ用のアドレスの割り当てをすべてコントローラ２が自動的に実施するようにした点である。その他の点については、上述の第２の実施形態と同様である。
【００３３】
ネットワーク共有メモリ３上のタグデータ用のアドレスの割り当てをすべてコントローラ２のタグ登録情報更新プロセス１０が自動的に実施することで、エンジニアリングツール１でのタグ登録情報２１の登録が不要となり、タグ登録情報２１の誤登録を防止することができる。さらに、ＨＭＩ４のクライアントプロセス５は、コントローラ２による動的割付け後、自動的にネットワーク共有メモリ３のアドレスが割り当てられることにより、ネットワーク共有エリアから所望のタグデータを読み出すことができ、高速アクセスが可能となる。
【００３４】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３５】
１  エンジニアリングツール（第２の装置）
２  コントローラ（第１の装置）
３  ネットワーク共有メモリ
４  ＨＭＩ
５  クライアントプロセス
６  タグアクセスライブラリ（データアクセス部）
７  （タグアクセスライブラリの）バインドキャッシュ
８  タグバインドプロセス（アドレス情報共通管理部）
９  （タグバインドプロセスの）バインドキャッシュ
１０  タグ登録情報更新プロセス
２１  タグ登録情報
【図１】
2015049668.tif 000003
【図２】
2015049668.tif 000004
【図３】
2015049668.tif 000005
【図４】
2015049668.tif 000006
【図５】
2015049668.tif 000007
【図６】
2015049668.tif 000008
【図７】
2015049668.tif 000009