(57)【特許請求の範囲】
【請求項１】
第１の外部機器である他のプログラマブル表示器が収集した第１の収集データの中から前記第１の収集データの特定部分である取得データを取得する取得部を備え、
前記取得部は、
前記第１の収集データの中の最新のデータから遡った複数件分のデータが収集された時刻の情報を第１の識別情報として取得し、前記取得データが収集された時刻の情報と、前記第１の識別情報とに基づいて、前記取得データの前記第１の収集データの中での位置を求め、
前記位置に対応する前記取得データを前記他のプログラマブル表示器に要求して取得する、
ことを特徴とするプログラマブル表示器。
【請求項２】
前記取得部は、
求めた前記位置に対応するデータが収集された時刻の情報または求めた前記位置に対応するデータが何点目のデータであるかを示す順番の情報を示す第２の識別情報を前記他のプログラマブル表示器に要求して取得し、
前記第２の識別情報が、取得を要求するデータの識別情報である場合に、前記第２の識別情報に対応する前記取得データを前記他のプログラマブル表示器に要求して取得する、
ことを特徴とする請求項１に記載のプログラマブル表示器。
【請求項３】
一定の周期で前記取得データを取得するためのイベントを発生させる定周期イベント生成部をさらに備え、
前記取得部は、
前記イベントが発生すると、前記他のプログラマブル表示器に前記取得データを要求して取得する、
ことを特徴とする請求項１または２に記載のプログラマブル表示器。
【請求項４】
前記取得部は、
前記他のプログラマブル表示器の負荷の状況を示す第１の負荷情報に基づいて、前記第１の負荷情報が第１の閾値よりも低い場合に、前記他のプログラマブル表示器に前記取得データを要求する、
ことを特徴とする請求項１から３のいずれか１つに記載のプログラマブル表示器。
【請求項５】
前記取得部は、
前記取得データを周期的に送信させることを要求する周期的送信要求を前記他のプログラマブル表示器に送信し、前記周期的送信要求の送信後は、前記他のプログラマブル表示器に前記取得データの要求を送ることなく前記他のプログラマブル表示器から前記取得データを受信する、
ことを特徴とする請求項１に記載のプログラマブル表示器。
【請求項６】
前記取得部は、
ＩＰアドレスを用いて前記他のプログラマブル表示器を指定し、指定した前記他のプログラマブル表示器に前記取得データを要求する、
ことを特徴とする請求項１から５のいずれか１つに記載のプログラマブル表示器。
【請求項７】
第２の外部機器であるプログラマブルロジックコントローラから第２の収集データを収集する収集部と、
第３の外部機器からの要求に従って、前記第２の収集データ内の一部のデータを前記第３の外部機器に提供する提供部と、
をさらに備え、
前記提供部は、前記一部のデータが収集された際の状況を示す第３の識別情報が前記第３の外部機器から送られてくると、前記第３の識別情報に基づいて前記一部のデータを前記第２の収集データから抽出して前記第３の外部機器に提供する、
ことを特徴とする請求項１から６のいずれか１つに記載のプログラマブル表示器。
【請求項８】
前記提供部は、前記第３の外部機器の負荷の状況を示す第２の負荷情報に基づいて、前記第２の負荷情報が第２の閾値よりも低い場合に、前記第３の外部機器に前記一部のデータを提供する、
ことを特徴とする請求項７に記載のプログラマブル表示器。
【請求項９】
第１のプログラマブル表示器が収集データを収集する収集ステップと、
第２のプログラマブル表示器が前記収集データの中から前記収集データの特定部分である取得データを取得する取得ステップと、
を含み、
前記取得ステップは、
前記第２のプログラマブル表示器が、前記収集データの中の最新のデータから遡った複数件分のデータが収集された時刻の情報を第１の識別情報として取得し、前記取得データが収集された時刻の情報と、前記第１の識別情報とに基づいて、前記取得データの前記収集データの中での位置を求める算出ステップと、
前記第２のプログラマブル表示器が、前記位置に対応する前記取得データを前記第１のプログラマブル表示器に要求して取得する要求取得ステップと、
を有することを特徴とするデータ取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器が収集したデータを取得するプログラマブル表示器およびデータ取得方法に関する。
【背景技術】
【０００２】
工場の生産工程の自動化を図るＦＡ（Factory  Automation）の分野で用いられるプログラマブル表示器は、プログラマブルロジックコントローラ（ＰＬＣ：Programmable  Logic  Controller）といった制御機器に接続されて、制御機器の内部メモリの値を表示する。これにより、プログラマブル表示器は、制御機器によってコントロールされている制御対象装置の状態を表示している。【０００３】
このようなプログラマブル表示器が工場の生産ラインに適用される場合、生産ラインは、複数の制御対象装置と、複数の制御対象装置を制御するための複数の制御機器と、複数の制御機器が有する情報を表示するための複数のプログラマブル表示器とを備える。そして、生産ラインでは、複数の制御機器および複数のプログラマブル表示器が、通信ラインなどを用いて同一のネットワークに接続される。【０００４】
このようなネットワークでは、プログラマブル表示器が、外部機器である他のプログラマブル表示器によって収集されたデータを他のプログラマブル表示器から取得して表示させることができる。特許文献１に記載のプログラマブル表示器システムは、代行プログラマブル表示器が、他のプログラマブル表示器の画面を表示させるための画面情報を用いて、他のプログラマブル表示器の画面を代行で表示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−４９０００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術である特許文献１では、代行プログラマブル表示器が、画面上の全てのピクセルのデータを取得する必要があるので、通信量が増大するとともに、多くのメモリ容量が必要になるといった問題があった。【０００７】
本発明は、上記に鑑みてなされたものであって、外部機器である他のプログラマブル表示器が収集したデータを効率良く取得することができるプログラマブル表示器を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、プログラマブル表示器において、第１の外部機器である他のプログラマブル表示器が収集した第１の収集データの中から第１の収集データの特定部分である取得データを取得する取得部を備えている。取得部は、第１の収集データの中の最新のデータから遡った複数件分のデータが収集された時刻の情報を第１の識別情報として取得し、取得データが収集された時刻の情報と、第１の識別情報とに基づいて、取得データの第１の収集データの中での位置を求め、位置に対応する取得データを他のプログラマブル表示器に要求して取得する。
【発明の効果】
【０００９】
本発明にかかるプログラマブル表示器は、外部機器である他のプログラマブル表示器が収集したデータを効率良く取得することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかるプログラマブル表示器を備える表示システムの構成を示す図
【図２】実施の形態にかかるプログラマブル表示器の構成を示す図
【図３】実施の形態にかかるプログラマブル表示器が行うデータの送受信処理を説明するための図
【図４】実施の形態にかかるプログラマブル表示器が新着順で一定件数の取得データを取得する場合の処理手順を示すフローチャート
【図５】実施の形態にかかるプログラマブル表示器が特定の取得データを取得する場合の処理手順を示すフローチャート
【図６】実施の形態にかかる送受信の継続判定処理の処理手順を示すフローチャート
【図７】実施の形態にかかる周期的なデータ取得処理の処理手順を示すフローチャート
【図８】実施の形態にかかる画面データの設定処理を説明するための図
【図９】実施の形態にかかるプログラマブル表示器のハードウェア構成例を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかるプログラマブル表示器およびデータ取得方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態
図１は、実施の形態にかかるプログラマブル表示器を備える表示システムの構成を示す図である。表示システム１００は、第１のプログラマブル表示器であるプログラマブル表示器１Ａと、第２のプログラマブル表示器であるプログラマブル表示器１Ｂとを備えている。実施の形態では、プログラマブル表示器１Ｂがプログラマブル表示器１Ａからデータを取得する機器であり、プログラマブル表示器１Ｂが、プログラマブル表示器１Ａから見て第１の外部機器である他のプログラマブル表示器である。
【００１３】
プログラマブル表示器１Ａ，１Ｂは、ファクトリーオートメーションまたは工場自動化と呼ばれるＦＡの分野で用いられる制御装置である。プログラマブル表示器１Ａ，１Ｂは、イーサネット（登録商標）を用いたデータ通信を行なう通信ライン２で接続されている。プログラマブル表示器１Ａ，１Ｂは、工場の生産ラインに適用される場合、離れた位置に設置される。
【００１４】
プログラマブル表示器１Ａは、通信ライン３Ａを介してＰＬＣ４Ａに接続されている。ＰＬＣ４Ａは、機械制御に特化したラダー言語によって種々の被制御機器を制御するＦＡ用コントローラである。したがって、ＰＬＣ４Ａは、センサまたはロボットといった図示しない被制御機器に接続されており、被制御機器を制御するとともに被制御機器から種々の情報を収集する。また、ＰＬＣ４Ａは、被制御機器から収集した種々の情報に基づいて、被制御機器の動作状況または被制御機器の周辺環境状況を判断し、判断結果を示す情報を生成する。この判断結果を示す情報の例は、被制御機器の動作状況へのアラームまたは被制御機器の周辺環境状況へのアラームである。
【００１５】
プログラマブル表示器１Ａは、情報を表示するディスプレイ２０Ａを備えており、プログラマブル表示器１Ｂは、情報を表示するディスプレイ２０Ｂを備えている。プログラマブル表示器１Ａは、ＰＬＣ４Ａが被制御機器から収集したアラームといった情報を示す後述の収集データ１５Ａを、ＰＬＣ４Ａから収集し、ディスプレイ２０Ａに表示する。
【００１６】
また、プログラマブル表示器１Ｂは、後述のＰＬＣ４Ｂが被制御機器から収集したアラームといった情報を示す後述の収集データ１５Ｂを、プログラマブル表示器１Ｂに接続されたＰＬＣ４Ｂから取得し、ディスプレイ２０Ｂに表示する。ディスプレイ２０Ａ，２０Ｂが表示するアラームの情報は、エラー内容およびエラーの発生時刻を含んでいる。
【００１７】
また、実施の形態のプログラマブル表示器１Ｂは、アラームの情報を示す後述の取得データ１６Ｂを、通信ライン２を介してプログラマブル表示器１Ａから取得し、ディスプレイ２０Ｂに表示させる。取得データ１６Ｂは、第１の収集データである収集データ１５Ａの第１の部分であり、プログラマブル表示器１Ｂによって取得されるデータである。これにより、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａが収集した収集データ１５Ａの中から取得データ１６Ｂを取得する。この結果、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａとの間で取得データ１６Ｂを共有しているかのように取得データ１６Ｂを扱うことができる。
【００１８】
なお、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａ以外のプログラマブル表示器から取得データ１６Ｂを取得してもよい。この場合、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａ以外のプログラマブル表示器に接続される。また、プログラマブル表示器１Ａ，１Ｂは、イーサネット（登録商標）以外の規格でプログラマブル表示器１Ａ，１Ｂ間のデータ通信を実行してもよい。
【００１９】
図２は、実施の形態にかかるプログラマブル表示器の構成を示す図である。実施の形態のプログラマブル表示器１Ａおよび実施の形態のプログラマブル表示器１Ｂは、通信ライン２を介して接続されている。また、プログラマブル表示器１Ａは、通信ライン３Ａを介してＰＬＣ４Ａに接続され、プログラマブル表示器１Ｂは、通信ライン３Ｂを介してＰＬＣ４Ｂに接続されている。
【００２０】
プログラマブル表示器１Ａは、通信ライン２を介してプログラマブル表示器１Ｂとの間でデータ通信を行なう通信部６Ａと、ＰＬＣ４Ａが生成したアラームのデータおよびログデータを収集するデータ収集部５Ａとを備えている。ＰＬＣ４Ａが生成したアラームのデータおよびログデータのうち、データ収集部５Ａによって収集されたデータが、収集データ１５Ａである。
【００２１】
また、プログラマブル表示器１Ａは、データ収集部５ＡがＰＬＣ４Ａから収集した収集データ１５Ａを、一定の周期毎にプログラマブル表示器１Ｂに送信する指示を後述の取得連携部９Ａに送る定周期イベント生成部１１Ａを備えている。
【００２２】
また、プログラマブル表示器１Ａは、データ収集部５ＡがＰＬＣ４Ａから収集した収集データ１５Ａを、プログラマブル表示器１Ｂと連携することによって、プログラマブル表示器１Ｂに送信する取得連携部９Ａを備えている。
【００２３】
また、プログラマブル表示器１Ａは、データ収集部５Ａが収集した収集データ１５Ａを一時的に格納しておく内部メモリ７Ａを備えている。また、プログラマブル表示器１Ａは、内部メモリ７Ａに格納された収集データ１５Ａであって、データ量が一定量よりも大きくなったものを記憶しておくストレージである記憶部８Ａを備えている。また、プログラマブル表示器１Ａは、データ収集部５Ａが収集した収集データ１５Ａを表示する表示部１０Ａを備えている。
【００２４】
通信部６Ａは、データ収集部５Ａに接続されており、データ収集部５Ａからの指示に従ってＰＬＣ４Ａから収集データ１５Ａを読み出す。また、通信部６Ａは、取得連携部９Ａに接続されており、取得連携部９Ａからの指示に従ってプログラマブル表示器１Ｂに取得データ１６Ｂを送信する。収集データ１５Ａのうちプログラマブル表示器１Ｂによって取得されるデータが取得データ１６Ｂである。したがって、取得データ１６Ｂは、収集データ１５Ａのうちの一部である。通信部６Ａは、専用回路を用いて通信処理を実行してもよいし、ソフトウェアである通信プログラムを用いて通信処理を実行してもよい。
【００２５】
データ収集部５ＡがＰＬＣ４Ａから収集する収集データ１５Ａは、ＰＬＣ４Ａの内部メモリの値である。データ収集部５Ａは、収集データ１５Ａを、通信部６Ａを介してＰＬＣ４Ａから収集する。データ収集部５Ａは、ＰＬＣ４Ａから収集した収集データ１５Ａを、内部メモリ７Ａに記憶させる。データ収集部５Ａは、専用回路を用いて収集データ１５Ａの収集を実行してもよいし、ソフトウェアであるデータ収集プログラムを用いて収集データ１５Ａの収集を実行してもよい。
【００２６】
内部メモリ７Ａは、データ収集部５Ａ、取得連携部９Ａ、記憶部８Ａおよび表示部１０Ａに接続されている。プログラマブル表示器１Ａは、内部メモリ７Ａに格納された収集データ１５Ａのデータ量が一定量よりも大きくなると、収集データ１５Ａをファイル化して記憶部８Ａに記憶させる。記憶部８Ａは、不揮発性のメモリまたはＨＤＤ（Hard  Disk  Drive）といったドライブである。
【００２７】
表示部１０Ａは、ディスプレイ２０Ａを制御することによって、ディスプレイ２０Ａに収集データ１５Ａを表示させる。表示部１０Ａは、記憶部８Ａまたは内部メモリ７Ａ内に格納されている収集データ１５Ａをディスプレイ２０Ａに表示させる。表示部１０Ａは、専用回路を用いて収集データ１５Ａの表示を実行してもよいし、ソフトウェアである表示用プログラムを用いて収集データ１５Ａの表示を実行してもよい。
【００２８】
定周期イベント生成部１１Ａは、一定の周期で第１の定周期イベントを発生させる。第１の定周期イベントは、収集データ１５Ａから取得データ１６Ｂを抽出して、プログラマブル表示器１Ｂに送信するためのイベントである。
【００２９】
定周期イベント生成部１１Ａは、発生させる第１の定周期イベントに、取得データ１６Ｂの種類を識別する種類情報を含めておく。取得を要求する取得データ１６Ｂの種類と、第１の定周期イベントを発生させる周期との対応関係は、ユーザによって予め定周期イベント生成部１１Ａに設定される。なお、取得を要求する取得データ１６Ｂの種類と、第１の定周期イベントを発生させる周期との対応関係は、プログラマブル表示器１Ｂからの指示に基づいて定周期イベント生成部１１Ａに設定されてもよい。
【００３０】
定周期イベント生成部１１Ａは、ユーザによって設定された取得データ１６Ｂの種類毎の第１の定周期イベントを、ユーザによって設定された周期で発生させる。定周期イベント生成部１１Ａは、第１の定周期イベントを発生させると、発生させた第１の定周期イベントを取得連携部９Ａに送り、取得データ１６Ｂのプログラマブル表示器１Ｂへの送信を取得連携部９Ａに行わせる。なお、定周期イベント生成部１１Ａは、ユーザによって設定された不定期なタイミングで第１の定周期イベントを発生させてもよい。
【００３１】
取得連携部９Ａは、プログラマブル表示器１Ｂが備える取得連携部９Ｂと連携することによって、プログラマブル表示器１Ｂから指定された取得データ１６Ｂをプログラマブル表示器１Ｂに送る。このとき、取得連携部９Ａは、取得データ１６Ｂを、取得連携部９Ｂを介してプログラマブル表示器１Ｂに送る。取得連携部９Ａは、専用回路を用いて取得連携部９Ｂとの連携処理および取得データ１６Ｂの送信処理を制御してもよいし、ソフトウェアである収集連携プログラムを用いて取得連携部９Ｂとの連携処理および取得データ１６Ｂの送信処理を制御してもよい。
【００３２】
プログラマブル表示器１Ｂは、プログラマブル表示器１Ａと同様の機能を有している。すなわち、プログラマブル表示器１Ｂは、通信部６Ａと同様の機能を有した通信部６Ｂと、データ収集部５Ａと同様の機能を有したデータ収集部５Ｂと、取得連携部９Ａと同様の機能を有した取得連携部９Ｂと、定周期イベント生成部１１Ａと同様の機能を有した定周期イベント生成部１１Ｂとを備えている。ＰＬＣ４Ｂが生成したアラームのデータおよびログデータのうち、データ収集部５Ｂによって収集されたデータが、第２の収集データである収集データ１５Ｂである。
【００３３】
また、プログラマブル表示器１Ｂは、内部メモリ７Ａと同様の機能を有した内部メモリ７Ｂと、表示部１０Ａと同様の機能を有した表示部１０Ｂと、記憶部８Ａと同様の機能を有した記憶部８Ｂとを備えている。
【００３４】
なお、プログラマブル表示器１Ｂは、データ収集部５Ｂを備えていなくてもよい。また、プログラマブル表示器１Ｂは、ＰＬＣ４Ｂに接続されていなくてもよい。ここでは、プログラマブル表示器１Ｂがデータ収集部５Ｂを備え、プログラマブル表示器１ＢがＰＬＣ４Ｂに接続されている場合について説明する。
【００３５】
通信部６Ｂは、通信ライン２を介してプログラマブル表示器１Ａとの間でデータ通信を行なう。通信部６Ｂは、データ収集部５Ｂに接続されており、データ収集部５Ｂからの指示に従って、プログラマブル表示器１Ｂに接続されたＰＬＣ４Ｂから収集データ１５Ｂを読み出す。
【００３６】
また、通信部６Ｂは、取得連携部９Ｂに接続されており、取得連携部９Ｂからの指示に従ってプログラマブル表示器１Ａに取得データ１６Ｂの要求を送信する。通信部６Ｂは、専用回路を用いて通信処理を制御してもよいし、ソフトウェアである通信プログラムを用いて通信処理を制御してもよい。
【００３７】
データ収集部５Ｂは、第２の外部機器であるＰＬＣ４Ｂが生成したアラームのデータおよびログデータを収集する。データ収集部５ＢがＰＬＣ４Ｂから収集する収集データ１５Ｂは、ＰＬＣ４Ｂの内部メモリの値である。データ収集部５Ｂは、収集データ１５Ｂを、通信部６Ｂを介してＰＬＣ４Ｂから収集する。そして、データ収集部５Ｂは、ＰＬＣ４Ｂから収集した収集データ１５Ｂを、内部メモリ７Ｂに記憶させる。データ収集部５Ｂは、専用回路を用いて収集データ１５Ｂの収集を実行してもよいし、ソフトウェアであるデータ収集プログラムを用いて収集データ１５Ｂの収集を実行してもよい。
【００３８】
内部メモリ７Ｂは、取得連携部９Ｂが取得連携部９Ａから取得した取得データ１６Ｂを一時的に格納しておく。内部メモリ７Ｂは、データ収集部５Ｂ、取得連携部９Ｂ、記憶部８Ｂおよび表示部１０Ｂに接続されている。プログラマブル表示器１Ｂは、内部メモリ７Ｂに格納された取得データ１６Ｂのデータ量が一定量よりも大きくなると、取得データ１６Ｂをファイル化して記憶部８Ｂに記憶させる。また、プログラマブル表示器１Ｂは、内部メモリ７Ｂに格納された収集データ１５Ｂのデータ量が一定量よりも大きくなると、収集データ１５Ｂをファイル化して記憶部８Ｂに記憶させる。
【００３９】
記憶部８Ｂは、内部メモリ７Ｂに格納された取得データ１６Ｂまたは収集データ１５Ｂであって、データ量が一定量よりも大きくなったものを記憶しておく。記憶部８Ｂは、不揮発性のメモリまたはＨＤＤといったドライブである。
【００４０】
記憶部８Ｂは、種々の情報を表示するための表示部品のデータである画面データ１７Ｂを記憶しておく。画面データ１７Ｂは、プログラマブル表示器１Ｂの画面の情報および動作の情報を設定するための専用プログラムを用いて作成される設定データである。画面データ１７Ｂは、プログラマブル表示器１Ｂに接続された制御機器であるＰＬＣ４Ｂの内部メモリの何れの部分の値を、画面にどのように表示するかといった情報を含んでいる。画面データ１７Ｂは、図示しないＰＣ（Personal  Computer）で作成または変更されて、プログラマブル表示器１Ｂに送られる。なお、画面データ１７Ｂは、プログラマブル表示器１Ｂで作成または変更されてもよい。
【００４１】
表示部１０Ｂは、ディスプレイ２０Ｂを制御することによって、ディスプレイ２０Ｂに取得データ１６Ｂを表示させる。表示部１０Ｂは、記憶部８Ｂまたは内部メモリ７Ｂ内に格納されている取得データ１６Ｂをディスプレイ２０Ｂに表示させる。表示部１０Ｂは、専用回路を用いて取得データ１６Ｂの表示を実行してもよいし、ソフトウェアである表示用プログラムを用いて取得データ１６Ｂの表示を実行してもよい。また、表示部１０Ｂは、データ収集部５Ｂが収集した収集データ１５Ｂをディスプレイ２０Ｂに表示してもよい。
【００４２】
定周期イベント生成部１１Ｂは、一定の周期で第２の定周期イベントを発生させる。第２の定周期イベントは、データ収集部５ＡがＰＬＣ４Ａから収集した収集データ１５Ａを、一定の周期毎にプログラマブル表示器１Ａに要求するためのイベントである。
【００４３】
定周期イベント生成部１１Ｂは、発生させる第２の定周期イベントに、取得データ１６Ｂの種類を識別する種類情報を含めておく。取得を要求する取得データ１６Ｂの種類と、第２の定周期イベントを発生させる周期との対応関係は、ユーザによって予め定周期イベント生成部１１Ｂに設定される。なお、取得を要求する取得データ１６Ｂの種類と、第２の定周期イベントを発生させる周期との対応関係は、プログラマブル表示器１Ａからの指示に基づいて定周期イベント生成部１１Ｂに設定されてもよい。
【００４４】
定周期イベント生成部１１Ｂは、ユーザによって設定された取得データ１６Ｂの種類毎の第２の定周期イベントを、ユーザによって設定された周期で発生させる。定周期イベント生成部１１Ｂは、第２の定周期イベントを発生させると、発生させた第２の定周期イベントを取得連携部９Ｂに送り、取得データ１６Ｂのプログラマブル表示器１Ａへの要求を取得連携部９Ｂに行わせる。なお、定周期イベント生成部１１Ｂは、ユーザによって設定された不定期なタイミングで第２の定周期イベントを発生させてもよい。
【００４５】
また、定周期イベント生成部１１Ｂは、一定の周期で第３の定周期イベントを発生させてもよい。第３の定周期イベントは、プログラマブル表示器１Ａまたはその他の表示器といった第３の外部機器へ送る取得データを収集データ１５Ｂから抽出して、他のプログラマブル表示器に送信するためのイベントである。すなわち、第３の定周期イベントは、第１の定周期イベントと同様に、取得データを他のプログラマブル表示器に送信するためのイベントである。第３の外部機器へ送る取得データは、第３の外部機器がプログラマブル表示器１Ｂから取得するデータであり、収集データ１５Ｂ内の一部のデータである。
【００４６】
定周期イベント生成部１１Ｂが、第３の定周期イベントを発生させると、取得連携部９Ｂは、収集データ１５Ｂから抽出した取得データを、プログラマブル表示器１Ａまたはその他の表示器といった第３の外部機器に送信する。この場合において、定周期イベント生成部１１Ｂは、ユーザによって設定された周期で第３の定周期イベントを発生させる。なお、定周期イベント生成部１１Ｂは、ユーザによって設定された不定期なタイミングで第３の定周期イベントを発生させてもよい。
【００４７】
取得連携部９Ｂは、収集データ１５Ａの一部である取得データ１６Ｂの取得要求を取得連携部９Ａに送る。取得連携部９Ｂが取得連携部９Ａに送る取得要求は、取得データ１６Ｂの種類を識別する種類情報を含んでいる。取得連携部９Ｂは、ユーザによって設定されたタイミングで取得連携部９Ａに取得要求を送ってもよいし、定周期イベント生成部１１Ｂからの指示に従って取得連携部９Ａに取得要求を送ってもよい。
【００４８】
取得連携部９Ｂは、取得連携部９Ａと連携することによって、取得データ１６Ｂを、プログラマブル表示器１Ａから受信する。このように、取得連携部９Ｂは、プログラマブル表示器１Ａから取得データ１６Ｂを取得する取得部の機能を有している。同様に、取得連携部９Ａは、プログラマブル表示器１Ｂから取得データを取得する取得部の機能を有している。また、取得連携部９Ｂは、プログラマブル表示器１Ａといった外部機器に収集データ１５Ｂを提供する提供部の機能を有している。同様に、取得連携部９Ａは、プログラマブル表示器１Ｂといった外部機器に収集データ１５Ａを提供する提供部の機能を有している。
【００４９】
取得連携部９Ｂは、専用回路を用いて取得連携部９Ａとの連携処理および取得データ１６Ｂの受信処理を実行してもよいし、ソフトウェアである収集連携プログラムを用いて取得連携部９Ａとの連携処理および取得データ１６Ｂの受信処理を実行してもよい。
【００５０】
このように、実施の形態のプログラマブル表示器１Ｂは、ＰＬＣ４Ａの内部メモリではなく、プログラマブル表示器１Ａによって収集済みのデータである収集データ１５Ａを取得対象にしている。このため、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａの画面データに依存しない収集データ１５Ａの中から、取得データ１６Ｂを取得することができる。
【００５１】
つぎに、プログラマブル表示器１Ａ，１Ｂで行われるデータの送受信処理について説明する。図３は、実施の形態にかかるプログラマブル表示器が行うデータの送受信処理を説明するための図である。なお、図３では、ＰＬＣ４Ｂ，データ収集部５Ｂおよび収集データ１５Ｂの図示を省略している。
【００５２】
＜処理Ｐ１＞
プログラマブル表示器１Ａのデータ収集部５Ａは、収集データ１５Ａを、通信部６Ａを介してＰＬＣ４Ａから収集する。そして、データ収集部５Ａは、ＰＬＣ４Ａから収集した収集データ１５Ａを、内部メモリ７Ａに記憶させる。
【００５３】
＜処理Ｐ２＞
プログラマブル表示器１Ａは、内部メモリ７Ａに格納された収集データ１５Ａのデータ量が一定量よりも大きくなると、収集データ１５Ａをファイル化して記憶部８Ａに記憶させる。
【００５４】
＜処理Ｐ３＞
プログラマブル表示器１Ｂの取得連携部９Ｂは、取得連携部９Ａに取得データ１６Ｂの取得要求を送る。これにより、取得連携部９Ａは、取得要求で指定された取得データ１６Ｂを収集データ１５Ａから抽出する。
【００５５】
＜処理Ｐ４＞
この場合において、取得要求で指定された取得データ１６Ｂが記憶部８Ａ内に格納されているときは、取得連携部９Ａは、記憶部８Ａから取得データ１６Ｂを抽出し、内部メモリ７Ａに格納する。
【００５６】
＜処理Ｐ５＞
そして、取得連携部９Ａは、取得要求で指定された取得データ１６Ｂを、内部メモリ７Ａの収集データ１５Ａの中から選択して読み出す。さらに、取得連携部９Ａは、読み出した取得データ１６Ｂを、通信部６Ａを介してプログラマブル表示器１Ｂに送信する。これにより、プログラマブル表示器１Ｂの通信部６Ｂは、取得データ１６Ｂを受信し、受信した取得データ１６Ｂを取得連携部９Ｂに送る。そして、取得連携部９Ｂは、取得データ１６Ｂを内部メモリ７Ｂに格納する。
【００５７】
＜処理Ｐ６＞
この後、プログラマブル表示器１Ｂは、内部メモリ７Ｂに格納された取得データ１６Ｂのデータ量が一定量よりも大きくなると、取得データ１６Ｂをファイル化して記憶部８Ｂに記憶させる。
【００５８】
＜処理Ｐ７，Ｐ８＞
表示部１０Ｂは、記憶部８Ｂまたは内部メモリ７Ｂから取得データ１６Ｂを読み出すとともに、記憶部８Ｂから画面データ１７Ｂを読み出す。そして、表示部１０Ｂは、取得データ１６Ｂを、画面データ１７Ｂを用いてディスプレイ２０Ｂに表示する。
【００５９】
画面データ１７Ｂに含まれる表示部品の例は、画面の表示に用いられる、一覧表およびタイトル表示欄である。なお、画面データ１７Ｂに含まれる表示部品は、スイッチ、ランプ、グラフまたはメータといった画面部品のグラフィカル表示を含んでいてもよい。プログラマブル表示器１Ｂは、収集データ１５Ｂに基づいてアラームの情報を表示する場合、エラー内容に対応するアラームの種類、エラーの発生時刻、現在の状態を表示するための表示部品を画面データ１７Ｂに設定しておく。これにより、表示部１０Ｂは、画面データ１７Ｂの表示部品に対応する画像をディスプレイ２０Ｂに表示させることができる。
【００６０】
＜処理Ｐ１０＞
また、定周期イベント生成部１１Ｂは、一定の周期で第２の定周期イベントを発生させてもよい。この場合、定周期イベント生成部１１Ｂが、第２の定周期イベントを発生させると、取得連携部９Ｂは、取得データ１６Ｂの取得要求を取得連携部９Ａに送る。これにより、取得連携部９Ｂは、取得連携部９Ａと連携して、プログラマブル表示器１Ａから取得データ１６Ｂを取得する。
【００６１】
＜処理Ｐ２０＞
また、定周期イベント生成部１１Ａは、一定の周期で第１の定周期イベントを発生させてもよい。この場合、定周期イベント生成部１１Ａは、一定の周期で第１の定周期イベントを発生させると、取得連携部９Ａは、収集データ１５Ａから取得データ１６Ｂを抽出して取得連携部９Ｂに送る。この場合において、取得連携部９Ａは、取得連携部９Ｂと連携して取得連携部９Ｂに取得データ１６Ｂを送る。
【００６２】
なお、取得連携部９Ａは、定周期イベント生成部１１Ａが第１の定周期イベントを発生させた場合に限らず、内部メモリ７Ａ内の特定の値の変化に基づいて、収集データ１５Ａから取得データ１６Ｂを抽出して取得連携部９Ｂに送ってもよい。ここでの内部メモリ７Ａ内の値の変化がある場合とは、ユーザがプログラマブル表示器１Ａに特定の操作を実行した場合、またはプログラマブル表示器１ＡがＰＬＣ４Ａから特定の情報を収集した場合である。
【００６３】
なお、プログラマブル表示器１Ｂは、取得データ１６Ｂに変更を加えたうえで、取得データ１６Ｂをプログラマブル表示器１Ａに送信してもよい。この場合、プログラマブル表示器１Ａは、変更された取得データ１６Ｂに基づいて、収集データ１５Ａを修正し、これにより取得データ１６Ｂの変更を収集データ１５Ａに反映する。これにより、プログラマブル表示器１Ａ，１Ｂは、プログラマブル表示器１Ａが収集した収集データ１５Ａを、あたかも複数のプログラマブル表示器１Ａ，１Ｂで共有しているかのように操作することができる。
【００６４】
つぎに、プログラマブル表示器１Ｂが、プログラマブル表示器１Ａから取得データ１６Ｂを取得する処理の処理順について説明する。まず、プログラマブル表示器１Ｂが、プログラマブル表示器１Ａから最新の一定件数の取得データ１６Ｂを取得する場合について説明する。
【００６５】
図４は、実施の形態にかかるプログラマブル表示器が新着順で一定件数の取得データを取得する場合の処理手順を示すフローチャートである。ユーザによって取得データ１６Ｂの取得指示がプログラマブル表示器１Ｂに入力された場合、または定周期イベント生成部１１Ｂが一定の周期で第２の定周期イベントを発生させると、ステップＳ１０において、プログラマブル表示器１Ｂ内でデータ取得トリガが発生する。なお、以下では、定周期イベント生成部１１Ｂが、第２の定周期イベントを発生させる場合について説明する。
【００６６】
取得連携部９Ｂは、第２の定周期イベント内から取得データ１６Ｂの種類を識別する種類情報を抽出する。そして、ステップＳ２０において、取得連携部９Ｂは、データの取得要求を、通信部６Ｂおよび通信部６Ａを介して取得連携部９Ａに送信する。取得連携部９Ｂが送信するデータの取得要求は、取得データ１６Ｂの取得要求であり、取得したい取得データ１６Ｂの種類情報を含んでいる。
【００６７】
取得連携部９Ａは、取得データ１６Ｂの種類情報に基づいて、取得データ１６Ｂの種類と、この取得データ１６Ｂのデータ形式とを特定する。そして、ステップＳ３０において、取得連携部９Ａは、特定したデータ形式をプログラマブル表示器１Ｂに送信する。データ形式は、要求のあった取得データ１６Ｂがどのような種類の値の組み合わせで構成されているかを表したものである。要求のあった取得データ１６Ｂが、ＰＬＣ４Ａによってロギングされたログデータである場合、データの１点分の収集値は、整数、実数または文字列の値の組み合わせである。このため、プログラマブル表示器１Ａは、予めユーザからの指示に従って、収集するログデータのデータ形式を設定しておく。このように、ＰＬＣ４Ａが収集するログデータのデータ形式は、設定によって可変である。換言すると、ＰＬＣ４Ａが収集するログデータの収集値は、設定毎に整数、実数または文字列の値の組み合わせが異なる。
【００６８】
このため、実施の形態では、プログラマブル表示器１Ａが、取得データ１６Ｂのデータ形式をプログラマブル表示器１Ｂに送信し、これにより、取得データ１６Ｂを示す値のデータ形式をプログラマブル表示器１Ｂに通知する。
【００６９】
そして、プログラマブル表示器１Ｂの取得連携部９Ｂが、取得データ１６Ｂのデータ形式を受信する。取得連携部９Ｂは、取得データ１６Ｂを格納するために必要なメモリ領域の大きさを、プログラマブル表示器１Ａから受信したデータ形式に基づいて算出する。そして、ステップＳ４０において、取得連携部９Ｂは、算出したメモリ領域の大きさに基づいて、取得データ１６Ｂを格納するためのメモリ領域を確保する。具体的には、取得連携部９Ｂは、取得データ１６Ｂを格納するのに必要な大きさのメモリ領域を内部メモリ７Ｂ内で確保する。この場合、取得連携部９Ｂは、予め確保しておいたメモリ領域に一定領域以上の空き領域があることを確認することによって、メモリ領域を内部メモリ７Ｂ内で確保する。また、取得連携部９Ｂは、内部メモリ７Ｂ内にメモリ領域を確保する方法に限らず、記憶部８Ｂにメモリ領域を確保してもよい。この場合、取得連携部９Ｂは、取得データ１６Ｂを記憶部８Ｂにファイル化して保存することができるか否かを確認する。
【００７０】
プログラマブル表示器１Ｂは、メモリ領域を確保したことによって、取得データ１６Ｂを受け取る準備が完了する。続いて、ステップＳ５０において、プログラマブル表示器１Ｂの取得連携部９Ｂは、Ｌを自然数とした場合に、直近である最新のデータから数えてＬ件分のデータをプログラマブル表示器１Ａに要求する。具体的には、取得連携部９Ｂは、新着順でＬ件のデータを収集するための収集要求を、プログラマブル表示器１Ａに送信する。
【００７１】
ここで、取得連携部９Ｂが要求する取得データ１６Ｂの件数は、プログラマブル表示器１Ｂが、取得した取得データ１６Ｂをディスプレイ２０Ｂに表示する際に用いる表示部品に設定された表示件数より多い件数であってもよい。これにより、取得連携部９Ｂは、通信回数を減らすことができる。この場合、取得連携部９Ｂおよび表示部１０Ｂは、取得データ１６Ｂをスクロールして表示させる処理の準備を実行しておく。
【００７２】
プログラマブル表示器１Ａの取得連携部９Ａは、取得連携部９Ｂから収集要求を受信すると、収集データ１５Ａ内の最新のデータから遡り、要求されたＬ件のデータを抽出する。そして、取得連携部９Ａは、抽出したＬ件のデータを取得データ１６Ｂに設定する。さらに、ステップＳ６０において、取得連携部９Ａは、取得データ１６Ｂを取得連携部９Ｂに送信することにより、要求されたＬ件分のデータをプログラマブル表示器１Ｂに送信する。
【００７３】
これにより、ステップＳ７０において、プログラマブル表示器１Ｂの取得連携部９Ｂは、取得連携部９Ａから送信されたＬ件分のデータである取得データ１６Ｂを受信する。そして、取得連携部９Ｂは、ステップＳ４０の処理で確保した内部メモリ７Ｂ内のメモリ領域に、取得データ１６Ｂを格納する。さらに、表示部１０Ｂは、プログラマブル表示器１Ａから取得した取得データ１６Ｂをディスプレイ２０Ｂに表示させる。これにより、プログラマブル表示器１Ａが収集したデータと同様のデータの一部を、プログラマブル表示器１Ｂのユーザに表示することが可能となる。
【００７４】
このように、プログラマブル表示器１Ａ，１Ｂが、図４で説明した処理を実行する場合、プログラマブル表示器１Ｂは、最新のＬ件分のデータである取得データ１６Ｂをプログラマブル表示器１Ａから取得できる。したがって、プログラマブル表示器１Ｂは、少ない通信量で取得データ１６Ｂをプログラマブル表示器１Ａから取得することが可能となる。また、プログラマブル表示器１Ｂは、取得データ１６Ｂをプログラマブル表示器１Ａから取得する際の、メモリ領域の使用量を抑制することが可能となる。
【００７５】
つぎに、プログラマブル表示器１Ｂが、プログラマブル表示器１Ａから特定の取得データ１６Ｂを取得する場合について説明する。図５は、実施の形態にかかるプログラマブル表示器が特定の取得データを取得する場合の処理手順を示すフローチャートである。なお、図５で説明する処理のうち、図４で説明した処理と同様の処理については、その説明を省略する。
【００７６】
プログラマブル表示器１Ｂは、プログラマブル表示器１Ａの収集データ１５Ａ内から任意の取得データ１６Ｂを取得する場合、ステップＳ１０からＳ４０と同様の処理であるステップＳ１１０からＳ１４０の処理を実行する。
【００７７】
すなわち、ステップＳ１１０において、プログラマブル表示器１Ｂ内でデータ取得トリガが発生すると、ステップＳ１２０において、取得連携部９Ｂは、データの取得要求を取得連携部９Ａに送信する。これにより、ステップＳ１３０において、取得連携部９Ａは、データの取得要求に対応するデータ形式をプログラマブル表示器１Ｂに送信する。そして、取得連携部９Ｂは、取得データ１６Ｂを格納するために必要なメモリ領域の大きさを、データ形式に基づいて算出する。さらに、ステップＳ１４０において、取得連携部９Ｂは、算出したメモリ領域の大きさに基づいて、取得データ１６Ｂを格納するためのメモリ領域を確保する。
【００７８】
これにより、プログラマブル表示器１Ｂは、取得データ１６Ｂを受け取る準備が完了すると、ステップＳ１５０において、取得連携部９Ｂが、Ｍを自然数とした場合に、最新のデータから遡ってＭ件のデータの識別情報をプログラマブル表示器１Ａに要求する。具体的には、取得連携部９Ｂは、収集データ１５Ａの最新のデータから遡ってＭ件のデータを収集するための収集要求を、取得連携部９Ａに送信する。Ｍ件のデータは、収集データ１５Ａに含まれる第２の部分であり、Ｍ件のデータの識別情報は、Ｍ個からなる第１の識別情報である。
【００７９】
ここで、取得連携部９Ｂは、収集要求で求めるデータの件数を任意に設定してよいが、収集要求で求めるデータの件数は、この後の処理で行う推測処理である算出処理を行うのに足りる件数とする。第１の識別情報は、データの各点を取得した際の状況を示す情報である。したがって、ここでの第１の識別情報は、ＰＬＣ４ＡがＭ個のデータに対応するデータを取得した際の状況を示す情報である。第１の識別情報の一例は、データが収集された時刻を識別することができる情報である。また、識別情報は、データが全体のデータのうちの何点目のデータであるかを示す順番の情報であってもよいし、データの名称であってもよい。
【００８０】
プログラマブル表示器１Ａの取得連携部９Ａは、識別情報を要求する収集要求を、取得連携部９Ｂから受信すると、収集データ１５Ａ内の最新のデータから遡り、要求されたＭ件のデータのＭ個の識別情報を抽出する。そして、取得連携部９Ａは、ステップＳ１６０において、要求されたデータの識別情報をプログラマブル表示器１Ｂに送信する。すなわち、取得連携部９Ａは、抽出したＭ個の識別情報をプログラマブル表示器１Ｂに送信する。
【００８１】
これにより、プログラマブル表示器１Ｂの取得連携部９Ｂは、取得連携部９ＡからＭ個の識別情報を受信する。そして、取得連携部９Ｂは、ステップＳ４０と同様の処理であるステップＳ１４０の処理で確保したメモリ領域に、Ｍ個の識別情報を格納する。続いて、ステップＳ１７０において、取得連携部９Ｂは、Ｍ個の識別情報に基づいて、取得したいデータの全体のデータの中での位置を求める。換言すると、取得連携部９Ｂは、取得したＭ個の識別情報に基づいて、取得したいデータを要求するためには、最新のデータからどれだけ遡った位置のデータを要求すればよいかを推測する。
【００８２】
ここで、識別情報の一例がデータの取得時刻を識別することができる情報である場合に取得連携部９Ｂが推測するデータの位置について説明する。取得連携部９Ｂは、時系列に沿ったデータの識別情報を１０件取得した場合、１０件のデータを取得した際の取得時刻の間隔の平均時間を算出する。そして、取得連携部９Ｂは、算出した平均時間に基づいて、本来取得したいデータの取得時刻に到達するためには、さらに何件分のデータを遡ればよいかを計算する。
【００８３】
この後、ステップＳ１８０において、取得連携部９Ｂは、推測した位置のデータの識別情報をプログラマブル表示器１Ａに要求する。具体的には、取得連携部９Ｂは、推測した位置のデータの識別情報を収集するための収集要求を、プログラマブル表示器１Ａに送信する。取得連携部９Ｂが推測した位置のデータは、収集データ１５Ａに含まれる第３の部分のデータであり、取得連携部９Ｂが推測した位置のデータの識別情報は、第２の識別情報である。ここでの第２の識別情報は、ＰＬＣ４Ａが取得データに対応するデータを取得した際の状況を示す情報である。
【００８４】
なお、取得連携部９Ｂは、複数件分の識別情報を要求するための収集要求を、プログラマブル表示器１Ａに送信してもよい。この複数件分の収集要求は、推測した位置のデータを識別する識別情報と、推測した位置の前後のデータの識別情報とを要求するものである。
【００８５】
プログラマブル表示器１Ａの取得連携部９Ａは、識別情報を要求する収集要求を、取得連携部９Ｂから受信すると、収集データ１５Ａ内の最新のデータから遡り、収集要求で指定された位置から複数のデータを特定する。そして、取得連携部９Ａは、特定したデータに対応する識別情報を抽出する。さらに、取得連携部９Ａは、ステップＳ１９０において、要求されたデータの識別情報をプログラマブル表示器１Ｂに送信する。すなわち取得連携部９Ａは、抽出した識別情報をプログラマブル表示器１Ｂに送信する。
【００８６】
これにより、プログラマブル表示器１Ｂの取得連携部９Ｂは、取得連携部９Ａから識別情報を受信する。そして、取得連携部９Ｂは、ステップＳ１４０の処理で確保したメモリ領域に、識別情報を格納する。続いて、ステップＳ２００において、取得連携部９Ｂは、取得した識別情報に基づいて、受信した識別情報が取得を要求するデータの識別情報であるか否かを判定する。このとき、取得連携部９Ｂは、受信した識別情報に、本来取得したいデータの識別情報が含まれるか否かを判定する。具体的には、取得連携部９Ｂは、受信した識別情報が示すデータ取得時刻に、取得したいデータの取得時刻が含まれているか否かを判定する。受信した識別情報が示すデータ取得時刻に、取得したいデータの取得時刻が含まれていれば、取得した識別情報に対応するデータが、取得したいデータである。
【００８７】
受信した識別情報が取得を要求するデータの識別情報でない場合、すなわち、ステップＳ２００においてＮｏの場合、取得連携部９Ａ，９Ｂは、ステップＳ１７０の処理に戻って、ステップＳ１７０からＳ２００までの処理を実行する。そして、取得連携部９Ａ，９Ｂは、受信した識別情報が取得を要求するデータの識別情報となるまで、ステップＳ１７０からＳ２００までの処理を繰り返す。この場合において、取得連携部９Ｂは、受信した識別情報の値に基づいて、要求するデータの格納位置が所望の位置に近付くと推測できる方向に識別情報の値をずらしたうえで、再び識別情報を要求する。
【００８８】
なお、受信した識別情報が取得を要求するデータの識別情報でない場合、すなわち、ステップＳ２００においてＮｏの場合、取得連携部９Ａ，９Ｂは、ステップＳ１７０の処理に戻って、ステップＳ１７０からＳ２００までの処理を実行してもよい。
【００８９】
一方、受信した識別情報が取得を要求するデータの識別情報である場合、すなわち、ステップＳ２００においてＹｅｓの場合、ステップＳ２１０において、取得連携部９Ｂは、受信した識別情報に対応するデータをプログラマブル表示器１Ａに要求する。ここでの取得連携部９Ｂは、識別情報で示されるデータの位置から、ディスプレイ２０Ｂ上に表示する際に用いられる表示部品に設定された表示件数分までのデータをプログラマブル表示器１Ａに要求する。取得連携部９Ｂがプログラマブル表示器１Ａに要求するデータは、識別情報に加えて、プログラマブル表示器１Ａが収集したデータ本体も含まれる。
【００９０】
取得連携部９Ａは、取得連携部９Ｂから収集要求を受信すると、収集データ１５Ａ内の最新のデータから遡り、収集要求で指定された位置から要求された件数のデータを特定する。そして、取得連携部９Ａは、特定したデータを抽出し、ステップＳ２２０において、要求されたデータをプログラマブル表示器１Ｂに送信する。すなわち、取得連携部９Ａは、抽出したデータをプログラマブル表示器１Ｂに送信する。
【００９１】
これにより、ステップＳ２３０において、プログラマブル表示器１Ｂの取得連携部９Ｂは、取得連携部９Ａから送信されたデータである取得データ１６Ｂを受信する。そして、取得連携部９Ｂは、ステップＳ１４０の処理で確保した内部メモリ７Ｂ内のメモリ領域に、取得データ１６Ｂを格納する。さらに、表示部１０Ｂは、プログラマブル表示器１Ａから取得した取得データ１６Ｂをディスプレイ２０Ｂに表示させる。これにより、プログラマブル表示器１Ａが収集したデータと同様のデータの一部を、プログラマブル表示器１Ｂのユーザに表示することが可能となる。
【００９２】
なお、識別情報は、収集データ１５Ａの種別であるアラームデータまたはログデータに特有の固定情報であるので、プログラマブル表示器１Ｂは、画面データ１７Ｂの設定によらず取得データ１６Ｂを取得することができる。
【００９３】
また、取得連携部９Ｂが、ステップＳ１５０の処理において取得連携部９Ａに要求するＭ個の識別情報は最新のＭ件のデータの識別情報に限らない。この場合、取得連携部９Ｂは、ステップＳ１５０の処理において取得連携部９Ａに、何れかのＭ件のデータに対応するＭ個の識別情報を要求すればよい。
【００９４】
このように、プログラマブル表示器１Ａ，１Ｂが、図５で説明した処理を実行する場合、プログラマブル表示器１Ｂは、データの識別情報に基づいて、所望の取得データ１６Ｂをプログラマブル表示器１Ａに要求することができる。これにより、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａによって収集された収集データ１５Ａの全体を取得することなく、特定のデータである取得データ１６Ｂを取得することができる。したがって、プログラマブル表示器１Ｂは、少ない通信量で取得データ１６Ｂをプログラマブル表示器１Ａから取得することが可能となる。また、プログラマブル表示器１Ｂは、取得データ１６Ｂをプログラマブル表示器１Ａから取得する際の、メモリ領域の使用量を抑制することが可能となる。
【００９５】
なお、プログラマブル表示器１Ｂは、図４および図５で説明した通信処理をプログラマブル表示器１Ａとの間で実行する際に、プログラマブル表示器１Ａが通信を続行する余裕があるか否かを判断してもよい。
【００９６】
また、プログラマブル表示器１Ｂが、プログラマブル表示器１Ａといった第３の外部機器に収集データ１５Ｂの一部である取得データを送る場合、取得連携部９Ｂは、第３の外部機器から第３の識別情報を受信する。この第３の識別情報は、第１の識別情報と同様に、データの各点を取得した際の状況を示す情報である。ここでの第３の識別情報は、ＰＬＣ４Ｂが取得データに対応するデータを取得した際の状況を示す情報である。
【００９７】
図６は、実施の形態にかかる送受信の継続判定処理の処理手順を示すフローチャートである。図６では、プログラマブル表示器１Ｂが、プログラマブル表示器１Ａに取得データ１６Ｂの送信を継続させることができるか否かを判断する送信判断処理を実行する場合について説明する。すなわち、ここでの送信判断処理は、プログラマブル表示器１Ｂが実行するものである。
【００９８】
以下の説明では、プログラマブル表示器１Ｂが、図５のステップＳ１５０からＳ１７０の処理が行なわれる間に送信判断処理を実行する場合について説明する。なお、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａとの間でデータ通信を行なう際の何れのタイミングで送信判断処理を実行してもよい。具体的には、プログラマブル表示器１Ｂは、図４または図５で説明した処理のうちの何れのタイミングで送信判断処理を実行してもよい。
【００９９】
プログラマブル表示器１Ｂは、取得データ１６Ｂを受け取る準備が完了すると、ステップＳ３５０において、取得連携部９Ｂが、最新のデータから遡ってＭ件のデータの識別情報をプログラマブル表示器１Ａに要求する。ここでのステップＳ３５０の処理は、図５のステップＳ１５０の処理と同様の処理である。
【０１００】
プログラマブル表示器１Ａの取得連携部９Ａは、識別情報を要求する収集要求を、取得連携部９Ｂから受信すると、収集データ１５Ａ内のデータから新着順で、要求されたＭ個の識別情報を抽出する。この抽出処理は、図５のステップＳ１６０を行う際の識別情報の抽出処理と同様の処理である。ここでのプログラマブル表示器１Ａは、送信判断処理を実行するので、取得連携部９Ａが、要求されたＭ個の識別情報に加えて、プログラマブル表示器１Ａの負荷の状況を示す後述の負荷情報を算出する。なお、取得連携部９Ａ以外の他の構成要素が、負荷情報を算出してもよい。
【０１０１】
取得連携部９Ａは、プログラマブル表示器１Ａの負荷の状況を示す負荷情報を算出した後、ステップＳ３６０において、要求されたデータの識別情報であるＭ個の識別情報と、負荷情報とをプログラマブル表示器１Ｂに送信する。ここで、プログラマブル表示器１Ａがプログラマブル表示器１Ｂに送信する負荷情報は、第１の負荷情報である。プログラマブル表示器１Ａがプログラマブル表示器１Ｂに送信する負荷情報は、通信が可能であるか通信が不可能であるかを示す情報であってもよいし、現在の通信によって発生する処理のＣＰＵ（Central  Processing  Unit）占有率を示す情報であってもよい。また、負荷情報は、現在の通信の通信量を示す情報であってもよい。
【０１０２】
プログラマブル表示器１Ｂの取得連携部９Ｂは、プログラマブル表示器１Ａが送信した識別情報および負荷情報を受信し、内部メモリ７Ｂに格納する。続いて、ステップＳ３７０において、取得連携部９Ｂは、取得連携部９Ａから取得した負荷情報に基づいて、プログラマブル表示器１Ａが通信を続行できるか否かを判定する。
【０１０３】
取得連携部９Ｂは、取得連携部９Ａから通信が可能であるか不可能であるかを示す情報を受信した場合には、受信した情報に従ってプログラマブル表示器１Ａが通信を続行できるか否かを判定する。
【０１０４】
また、取得連携部９Ｂは、取得連携部９ＡからＣＰＵ占有率または通信量を示す第１の負荷情報を受信した場合、第１の負荷情報が第１の閾値を超えているか否かでプログラマブル表示器１Ａが通信を続行できるか否かを判定する。具体的には、取得連携部９Ｂは、取得連携部９ＡからＣＰＵ占有率を示す情報を受信した場合、ＣＰＵ占有率がＣＰＵ占有率の閾値を超えているか否かでプログラマブル表示器１Ａが通信を続行できるか否かを判定する。また、取得連携部９Ｂは、取得連携部９Ａから通信量を示す情報を受信した場合、通信量が通信量の閾値を超えているか否かでプログラマブル表示器１Ａが通信を続行できるか否かを判定する。
【０１０５】
通信を続行できない場合、すなわちステップＳ３８０においてＮｏの場合、取得連携部９Ｂは、一定時間の間待機する。この後、取得連携部９Ａ，９Ｂは、ステップＳ３５０の処理に戻って、ステップＳ３５０からＳ３８０までの処理を実行する。そして、取得連携部９Ａ，９Ｂは、通信を続行できると判断するまで、ステップＳ３５０からＳ３８０までの処理を繰り返す。
【０１０６】
一方、通信を続行できる場合、すなわちステップＳ３８０においてＹｅｓの場合、ステップＳ３９０において、取得連携部９Ｂは、データの取得処理を続行する。この場合、取得連携部９Ｂは、引き続き、取得データ１６Ｂをプログラマブル表示器１Ａから取得する処理を継続する。
【０１０７】
なお、最新のＭ件分のデータの識別情報を要求する処理が続き、待機時間の合計が、ユーザによって設定された第１の規定時間を超えた場合、取得連携部９Ｂは、通信タイムアウトであると判断してデータの取得処理を中断する。なお、ユーザによって設定される第１の規定時間は、ユーザによって画面データ１７Ｂにデータの取得処理の設定が行なわれる際に、同時に設定される。
【０１０８】
このように、プログラマブル表示器１Ａ，１Ｂが、図６で説明した処理を実行する場合、プログラマブル表示器１Ｂは、データの取得準備の段階でプログラマブル表示器１Ａの負荷情報に基づいて、プログラマブル表示器１Ａとの間の通信を続行するかを判断できる。したがって、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａの負荷が少ないタイミングで取得データ１６Ｂをプログラマブル表示器１Ａから取得することが可能となる。
【０１０９】
図７は、実施の形態にかかる周期的なデータ取得処理の処理手順を示すフローチャートである。図７では、プログラマブル表示器１Ａが、プログラマブル表示器１Ｂから指定された周期的なタイミングで取得データ１６Ｂをプログラマブル表示器１Ｂに送信する送信処理を実行する場合について説明する。
【０１１０】
ステップＳ４２０において、プログラマブル表示器１Ｂの取得連携部９Ｂは、プログラマブル表示器１Ａの取得連携部９Ａに、周期的なデータ送信を要求する。具体的には、取得連携部９Ｂは、周期的に取得データ１６Ｂを送信させる要求である送信要求を、取得連携部９Ａに送る。なお、以下の説明では、周期的なデータ送信の要求を、周期的送信要求という。
【０１１１】
周期的送信要求は、取得データ１６Ｂに含まれる、データの種類、データの位置、データの数およびデータの送信周期を指定する情報を含んでいる。取得連携部９Ｂは、周期的送信要求を何れのタイミングで取得連携部９Ａに送信してもよい。ここでは、取得連携部９Ｂが、図５のステップＳ１２０と同じタイミングでステップＳ４２０の処理を実行する場合について説明する。すなわち、ここでの取得連携部９Ｂは、データの取得要求と同時に、周期的送信要求をプログラマブル表示器１Ａに送信する。
【０１１２】
これにより、プログラマブル表示器１Ａの取得連携部９Ａは、周期的送信要求を取得連携部９Ｂから受信する。この後、取得連携部９Ａは、取得連携部９Ｂからのデータ取得要求を待たずに、周期的送信要求で設定されている送信周期毎に取得データ１６Ｂを取得連携部９Ｂに送る。
【０１１３】
プログラマブル表示器１Ａが送信周期毎に取得データ１６Ｂを送信する際には、ステップＳ４３０において、プログラマブル表示器１Ａの取得連携部９Ａがデータの送信予告をプログラマブル表示器１Ｂの取得連携部９Ｂに送信する。
【０１１４】
これにより、取得連携部９Ｂは、データの送信予告を受信する。そして、取得連携部９Ｂは、ステップＳ４４０において、プログラマブル表示器１Ｂの負荷情報を、取得連携部９Ａに送信する。ここで、プログラマブル表示器１Ｂがプログラマブル表示器１Ａに送信する負荷情報は、通信が可能であるか不可能であるかを示す情報であってもよいし、現在の通信によって発生する処理のＣＰＵ占有率を示す情報であってもよい。また、負荷情報は、現在の通信の通信量を示す情報であってもよい。
【０１１５】
これにより、取得連携部９Ａは、プログラマブル表示器１Ｂの負荷情報である第２の負荷情報を受信する。そして、ステップＳ４５０において、取得連携部９Ａは、受信した負荷情報に基づいて、プログラマブル表示器１Ｂとの間でデータ通信を続行できるか否かを判定する。取得連携部９Ａは、取得連携部９Ｂから通信が可能であるか不可能であるかを示す情報を受信した場合には、受信した情報に従ってプログラマブル表示器１Ｂが通信を続行できるか否かを判定する。
【０１１６】
また、取得連携部９Ａは、取得連携部９ＢからＣＰＵ占有率または通信量を示す第２の負荷情報を受信した場合、第２の負荷情報が第２の閾値を超えているか否かでプログラマブル表示器１Ｂが通信を続行できるか否かを判定する。具体的には、取得連携部９Ａは、取得連携部９ＢからＣＰＵ占有率を示す情報を受信した場合、ＣＰＵ占有率がＣＰＵ占有率の閾値を超えているか否かでプログラマブル表示器１Ｂが通信を続行できるか否かを判定する。また、取得連携部９Ａは、取得連携部９Ｂから通信量を示す情報を受信した場合、通信量が通信量の閾値を超えているか否かでプログラマブル表示器１Ｂが通信を続行できるか否かを判定する。
【０１１７】
通信を続行できない場合、すなわちステップＳ４６０においてＮｏの場合、取得連携部９Ａは、一定時間の間待機する。この後、取得連携部９Ａ，９Ｂは、ステップＳ４３０の処理に戻って、ステップＳ４３０からＳ４６０までの処理を実行する。そして、取得連携部９Ａ，９Ｂは、通信を続行できると判断するまで、ステップＳ４３０からＳ４６０までの処理を繰り返す。
【０１１８】
一方、通信を続行できる場合、すなわちステップＳ４６０においてＹｅｓの場合、ステップＳ４７０において、取得連携部９Ａはデータを送信し、ステップＳ４８０において、取得連携部９Ｂは、データを取得する。この場合、取得連携部９Ａは、取得データ１６Ｂをプログラマブル表示器１Ｂに送信する。ここでの取得連携部９Ａは、ステップＳ４２０の処理で取得連携部９Ｂから送信された周期的送信要求の中で指定された情報を取得連携部９Ｂに送信する。具体的には、取得連携部９Ａは、周期的送信要求で指定された種類、位置または数の取得データ１６Ｂを取得連携部９Ｂに送る。なお、取得連携部９Ａは、ステップＳ４２０で送信されてきたデータの取得要求で指定された条件のデータを取得連携部９Ｂに送ってもよい。取得連携部９Ａが取得連携部９Ｂに送る取得データ１６Ｂは、識別情報とＰＬＣ４Ｂから収集したデータとが含まれている。
【０１１９】
なお、ステップＳ４７０において、取得連携部９Ａは、定周期イベント生成部１１Ａが第２の定周期イベントを発生させた場合にデータを送信してもよい。換言すると、プログラマブル表示器１Ａ内でデータ取得トリガが発生したタイミングで、取得連携部９Ａは、取得連携部９Ｂに取得データ１６Ｂを送信してもよい。
【０１２０】
なお、ステップＳ４３０の処理が繰り返される場合、すなわち、取得連携部９Ａが取得連携部９Ｂにデータの送信予告を再送信する処理を繰り返す場合がある。この場合、データの送信予告の再送信が続き、待機時間の合計がユーザによって設定された第２の規定時間を超えると、取得連携部９Ａは、通信タイムアウトであると判断してデータの取得処理を中断する。なお、ユーザによって設定される第２の規定時間は、ユーザによって画面データ１７Ｂにデータの取得処理の設定が行なわれる際に、同時に設定される。
【０１２１】
なお、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａへの負荷情報の送信を省略してもよい。この場合、プログラマブル表示器１Ａは、負荷情報に関係なく、周期的送信要求に基づいて、取得データ１６Ｂをプログラマブル表示器１Ｂに送信する。
【０１２２】
また、プログラマブル表示器１Ｂは、収集データ１５Ｂの一部である取得データを、プログラマブル表示器１Ａまたはその他の表示器といった第３の外部機器から要求される場合がある。この場合、取得連携部９Ｂは、第３の外部機器から受信した第３の外部機器の第２の負荷情報に基づいて、第３の外部機器との間の通信を続行できるか否かを判定する。取得連携部９Ｂは、第３の外部機器からＣＰＵ占有率または通信量を示す第２の負荷情報を受信した場合、第２の負荷情報が第２の閾値を超えているか否かで第３の外部機器が通信を続行できるか否かを判定する。具体的には、取得連携部９Ｂは、第３の外部機器からＣＰＵ占有率を示す情報を受信した場合、ＣＰＵ占有率がＣＰＵ占有率の閾値を超えているか否かで第３の外部機器が通信を続行できるか否かを判定する。また、取得連携部９Ｂは、第３の外部機器から通信量を示す情報を受信した場合、通信量が通信量の閾値を超えているか否かで第３の外部機器が通信を続行できるか否かを判定する。
【０１２３】
このように、プログラマブル表示器１Ａ，１Ｂが、図７で説明した処理を実行する場合、プログラマブル表示器１Ｂは、データ取得の度にデータの送信要求を送信する必要がなくなる。そして、プログラマブル表示器１Ａは、プログラマブル表示器１Ｂの負荷情報に基づいて、プログラマブル表示器１Ｂとの間の通信を続行するかを判断できる。したがって、プログラマブル表示器１Ｂは、プログラマブル表示器１Ｂの負荷が少ないタイミングで取得データ１６Ｂをプログラマブル表示器１Ａから取得することが可能となる。
【０１２４】
図８は、実施の形態にかかる画面データの設定処理を説明するための図である。図８では、プログラマブル表示器１Ｂが実行する処理に必要な設定値を画面データ１７Ｂに設定する際に、表示部１０Ｂが表示する設定画面５０の例を表している。表示部１０Ｂは、画面データ作成プログラムを用いて設定画面５０を表示する。画面データ作成プログラムは、取得連携部９Ｂと連携しており、画面データ作成プログラムが設定した情報は、取得連携部９Ｂに設定される。これにより、取得連携部９Ｂは、画面データ作成プログラムが設定した情報に基づいて、取得データ１６Ｂを取得する。
【０１２５】
プログラマブル表示器１Ｂは、設定画面５０に、接続先の表示器の情報を設定するための第１の設定エリア５１と、取得するデータの内容を設定するための第２の設定エリア５２とを表示する。
【０１２６】
第１の設定エリア５１で設定される接続先の表示器は、プログラマブル表示器１Ｂに接続したい表示器であり、取得データ１６Ｂを送信させたい表示器である。ここでは、接続先の表示器が、プログラマブル表示器１Ａである。
【０１２７】
第１の設定エリア５１は、接続先の表示器を固定値で指定することができる欄と、接続先の表示器を、デバイスを選択することによって指定することができる欄とを有している。
【０１２８】
画面データ作成プログラムは、第１の設定エリア５１に「固定値」、「デバイス」、「直接入力」、「対応表からＩＤで選択」および「サーバから対応表を取得」のラベルを表示する。
【０１２９】
第１の設定エリア５１に表示される「固定値」のラベルは、固定値を指定するためのラベルであり、「デバイス」のラベルは、デバイスを指定するためのラベルである。「直接入力」のラベルは、ユーザがＩＰ（Internet  Protocol）アドレスを直接入力するためのラベルである。
【０１３０】
ユーザによって「固定値」が選択された場合には、画面データ作成プログラムは、「直接入力」を選択し、接続先の表示器が有する固定値をユーザから受け付ける。固定値は、表示器に固有の情報である。ユーザによって入力される固定値の一例は、ＩＰアドレスである。画面データ作成プログラムは、ユーザから受け付けた固定値に対応する表示器を、接続先の表示器に設定する。
【０１３１】
ユーザによって「デバイス」が選択された場合には、画面データ作成プログラムは、ＩＰアドレスを、プログラマブル表示器１Ｂの内部メモリ７Ｂの値、またはプログラマブル表示器１Ｂに接続された機器の内部メモリの値から読み出す。以下では、ユーザによって「デバイス」が選択された場合、画面データ作成プログラムが内部メモリ７Ｂの値からＩＰアドレスを読み出す場合について説明する。
【０１３２】
ユーザによって「デバイス」および「直接入力」が選択された場合、画面データ作成プログラムは、接続したい表示器の固定値をユーザから受け付けて内部メモリ７Ｂに設定する。そして、画面データ作成プログラムは、内部メモリ７Ｂを参照し、デバイスに設定された固定値に対応する表示器を、接続先の表示器に設定する。
【０１３３】
また、ユーザによって「デバイス」および「対応表からＩＤで選択」が選択された場合、画面データ作成プログラムは、ＩＰアドレスとＩＤとを対応付けした対応表を作成して設定画面５０に表示し、ユーザによって指定されるＩＤを受付ける。そして、画面データ作成プログラムは、ユーザによって指定されたＩＤに対応するＩＰアドレスの表示器を、接続先の表示器に設定する。
【０１３４】
また、ユーザによって「デバイス」および「サーバから対応表を取得」が選択された場合、画面データ作成プログラムは、プログラマブル表示器１Ｂに接続されたサーバから対応表をダウンロードして設定画面５０に表示し、ユーザによって指定されるＩＤを受付ける。そして、画面データ作成プログラムは、ユーザによって指定されたＩＤに対応するＩＰアドレスの表示器を、接続先の表示器に設定する。
【０１３５】
このように、プログラマブル表示器１Ｂは、接続先の表示器を表示器に固有のＩＰアドレスで指定するので、接続先の表示器を、画面データ１７Ｂを変更することなく変更することができる。
【０１３６】
画面データ作成プログラムは、第２の設定エリア５２に「ＩＤ」、「表示点数」、「表示開始位置」および「通信タイムアウト」のラベルを表示する。「ＩＤ」のラベルは、取得したいデータのＩＤを指定するためのラベルであり、「表示点数」のラベルは、取得したデータを表示させる際のデータ数を指定するためのラベルである。「表示開始位置」のラベルは、先頭に表示するデータの情報を指定するためのラベルである。先頭に表示するデータの情報は、先頭に表示するデータが、データ全体の何番目であるかを示す情報であってもよいし、何れの時間に収集されたデータであるかを示す情報であってもよい。「通信タイムアウト」のラベルは、取得連携部９Ｂが、通信タイムアウトと判定するか否かの基準となる前述の第１の規定時間を指定するためのラベルである。
【０１３７】
「ＩＤ」のラベルの箇所で、ユーザによって「固定値」が選択された場合、画面データ作成プログラムは、取得したいデータの識別情報であるＩＤをユーザから受け付ける。そして、画面データ作成プログラムは、ユーザによって指定されたＩＤに対応するデータを取得対象のデータである取得データ１６Ｂに設定する。
【０１３８】
また、「ＩＤ」のラベルの箇所で、ユーザによって「デバイス」が選択された場合、画面データ作成プログラムは、ＩＤをプログラマブル表示器１Ｂの内部メモリ７Ｂの値、またはプログラマブル表示器１Ｂに接続された機器の内部メモリの値から読み出す。以下では、ユーザによって「デバイス」が選択された場合、画面データ作成プログラムが内部メモリ７Ｂの値からＩＤを読み出す場合について説明する。
【０１３９】
「表示点数」のラベルの箇所で、ユーザによって数値が入力された場合、画面データ作成プログラムは、入力された数値を受け付ける。そして、画面データ作成プログラムは、ユーザによって入力された数値をデータの表示点数に設定する。
【０１４０】
「表示開始位置」のラベルの箇所で、ユーザによって「固定値」が選択された場合、画面データ作成プログラムは、データの表示開始位置をユーザから受け付ける。そして、画面データ作成プログラムは、ユーザによって指定された表示開始位置に対応するデータを、表示の先頭のデータに設定する。
【０１４１】
また「表示開始位置」のラベルの箇所で、ユーザによって「デバイス」が選択された場合、画面データ作成プログラムは、表示開始位置を、プログラマブル表示器１Ｂの内部メモリ７Ｂの値、またはプログラマブル表示器１Ｂに接続された機器の内部メモリの値から読み出す。以下では、ユーザによって「デバイス」が選択された場合、画面データ作成プログラムが内部メモリ７Ｂの値から表示開始位置を読み出す場合について説明する。
【０１４２】
「通信タイムアウト」のラベルの箇所で、ユーザによって数値が入力された場合、画面データ作成プログラムは、入力された数値を受け付ける。そして、画面データ作成プログラムは、ユーザによって入力された数値を通信タイムアウトの第１の規定時間に設定する。なお、アラームまたはログデータといった取得するデータの種類は、画面部品が選択されることで自動的に決まるので、ユーザが明示的に設定する必要はない。
【０１４３】
ここで、プログラマブル表示器１Ａ，１Ｂのハードウェア構成について説明する。なお、プログラマブル表示器１Ａ，１Ｂは、同様のハードウェア構成を有しているので、ここではプログラマブル表示器１Ａのハードウェア構成について説明する。
【０１４４】
図９は、実施の形態にかかるプログラマブル表示器のハードウェア構成例を示す図である。プログラマブル表示器１Ａは、図１０に示した制御回路３００、すなわちプロセッサ３０１およびメモリ３０２により実現することができる。プロセッサ３０１は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰともいう）、システムＬＳＩ（Large  Scale  Integration）などである。メモリ３０２は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）といった、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはＤＶＤ（Digital  Versatile  Disc）である。
【０１４５】
プログラマブル表示器１Ａは、プロセッサ３０１が、メモリ３０２で記憶されている、プログラマブル表示器１Ａとして動作するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、プログラマブル表示器１Ａの手順または方法をコンピュータに実行させるものであるともいえる。メモリ３０２は、プロセッサ３０１が各種処理を実行する際の一時メモリにも使用される。
【０１４６】
このように、プロセッサ３０１が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な（non-transitory）記録媒体を有するコンピュータプログラムプロダクトである。プロセッサ３０１が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
【０１４７】
なお、プログラマブル表示器１Ａのうち、取得連携部９Ａ、定周期イベント生成部１１Ａ、データ収集部５Ａまたは表示部１０Ａの機能を、制御回路３００で実現してもよい。また、プログラマブル表示器１Ａを専用のハードウェアで実現してもよい。また、プログラマブル表示器１Ａの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【０１４８】
なお、プログラマブル表示器１Ａ，１Ｂは、種々の機能を備えていてもよい。具体的には、プログラマブル表示器１Ａ，１Ｂは、ＰＬＣ４Ａ，４Ｂが制御する装置に異常が発生した際に、プログラマブル表示器１Ａ，１Ｂが、ＰＬＣ４Ａ，４Ｂ内の内部メモリの値を参照し、アラーム表示するといった機能を備えていてもよい。また、プログラマブル表示器１Ａ，１Ｂは、アラームの履歴をファイルに保存するといった機能を備えていてもよい。また、プログラマブル表示器１Ａ，１Ｂは、ＰＬＣ４Ａ，４Ｂの内部メモリの値を、任意に設定されたトリガの立ち上がりまたは立下りに合わせて収集する機能を備えていてもよい。また、プログラマブル表示器１Ａ，１Ｂは、収集したデータを画面にグラフで表示する機能、あるいは収集したデータをファイルに保存する機能を備えていてもよい。
【０１４９】
プログラマブル表示器１Ｂは、上述した機能を、画面データ１７Ｂが作成される際にユーザからの指示に従って設定する。この場合、プログラマブル表示器１Ｂは、ユーザからの指示に従って、収集した値を表示するための画面上の部品を画面データ１７Ｂに設定する。画面上の部品の例は、アラームを表示するための表示部品またはグラフである。
【０１５０】
ところで、プログラマブル表示器１Ａ，１Ｂの接続されている生産ラインで異常が発生した場合、ＰＬＣ４Ａ，４Ｂは、ＰＬＣ４Ａ，４Ｂの内部メモリに、アラームの発生を示す値を格納する。そして、ＰＬＣ４Ａ，４Ｂを監視するプログラマブル表示器１Ａ，１Ｂは、画面にアラームの発生状況を表示する。このような生産ラインでは、特定の装置が異常を発生させると特定の装置が停止し、異常が他の装置に波及すると他の装置が影響を受ける。実施の形態の表示システム１００は、離れた位置から異常の発生状況を確認するために、プログラマブル表示器１Ａ，１Ｂが設けられている。そして、生産ラインで異常が発生した場合には、異常の発生した装置に取り付けられたプログラマブル表示器１Ａに限らず、同一のネットワーク上に配置され、離れた場所に設置されたプログラマブル表示器１Ｂが、異常が発生した装置のアラーム信号をプログラマブル表示器１Ａから取得して表示している。
【０１５１】
なお、同一ネットワーク上のプログラマブル表示器１Ａが収集したデータを離れた位置から取得する手段は、異常の発生時以外でも有用であるので、有用な一例について説明する。表示システム１００において、ＰＬＣ４Ａが、ラインの後段側の行程を行う装置に接続され、ＰＬＣ４Ｂが、ラインの前段側の行程を行う装置に接続される場合がある。そして、プログラマブル表示器１Ａが、生産数の推移を、ロギング機能を用いて収集し、グラフに表示する場合がある。この場合において、プログラマブル表示器１Ｂは、生産数の推移のデータを後段側のプログラマブル表示器１Ａから収集して表示する。これにより、表示システム１００は、後段側の行程の生産状況に合わせて、前段側の行程の作業順を調整することができる。
【０１５２】
複数の表示器を備えたシステムには、第１の表示器が、第２の表示器の有するファイルを取得するものがある。このようなシステムでは、第１の表示器が、ファイルに保存された一連の収集データを全て取得する必要がある。ところが、アラームデータまたはログデータを保存したファイルのデータサイズは、アラーム表示といった画面上の部品を用いて画面に表示するデータのサイズと比べて数十倍または数百倍になる場合がある。このため、第１の表示器は、要求するデータよりも大きなデータサイズのデータを取得する必要があり、余計な通信が必要になるとともに、過剰なメモリ容量が必要になる。
【０１５３】
また、複数の表示器を備えたシステムには、第３の表示器が、第４の表示器で表示されている画面のコピーを取得して表示するものがある。このようなシステムでは、第３の表示器が画面の全てのピクセルのデータを取得する必要があるので、余計な通信が必要になるとともに、過剰なメモリ容量が必要になる。また、第３の表示器は、第４の表示器が表示する画面をコピーして表示するので、取得したデータに基づいて、第３の表示器の動作を変更することはできない。
【０１５４】
また、複数の表示器を備えたシステムには、第５の表示器が、第６の表示器の内部メモリの値を取得して表示するものがある。このようなシステムでは、第５の表示器が参照する内部メモリの位置が、第６の表示器の画面データによって異なる位置となる。このため、第６の表示器に接続される制御機器が変更になった場合、第６の表示器の画面データに変更が発生する場合がある。この場合、第５の表示器は、第６の表示器の画面データに合わせて、第５の表示器の画面データを書き換える必要がある。この書き換え作業は、第５の表示器を停止させたうえで実行される必要があるとともに、生産システムの現場にＰＣを持ち込む必要があるので、作業の手間が大きくなる。
【０１５５】
また、複数の表示器を備えたシステムには、第７の表示器が、データの収集を行っている第８の表示器と同様の設定を行い、第７の表示器と第８の表示器とで、個別にデータ収集を行うものがある。このようなシステムでは、第８の表示器で設定の変更があった場合に、第７の表示器でも同様の変更を適用する必要がある。このため、第７の表示器および第８の表示器は、設定を二重管理することになり、設定変更の間違いが起こりやすい。
【０１５６】
なお、実施の形態では、他の機器から取得データ１６Ｂを取得するデータ取得装置がプログラマブル表示器１Ｂである場合について説明したが、データ取得装置は、ＰＣまたはデータベースであってもよい。
【０１５７】
このように、実施の形態によれば、プログラマブル表示器１Ｂは、収集データ１５Ａに含まれるＭ件のデータの識別情報に基づいて、取得データ１６Ｂの収集データ１５Ａ内での位置を求め、求めた位置に対応する取得データ１６Ｂをプログラマブル表示器１Ａから取得している。これにより、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａが収集した収集データ１５Ａの一部のデータである取得データ１６Ｂを取得することができるので、少ない通信量と少ないメモリ容量でデータを取得することができる。したがって、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａが収集したデータを効率良く取得することが可能になる。
【０１５８】
また、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａが収集した収集データ１５Ａの全体のデータサイズが大きい場合であっても、通信量と使用するメモリ量を低く抑えたうえで取得データ１６Ｂを取得することができる。また、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａ，１Ｂの処理に余裕があるタイミングで取得データ１６Ｂの取得処理を行うので、プログラマブル表示器１Ａ，１Ｂが実行中の処理の阻害を抑制しつつ、取得データ１６Ｂを取得することができる。
【０１５９】
また、プログラマブル表示器１Ｂは、プログラマブル表示器１Ａがどのような制御機器に接続されているかに関わらず、プログラマブル表示器１Ａが収集した収集データ１５Ａを収集対象にしている。このため、プログラマブル表示器１Ａの構成または画面データが変更された場合であっても、プログラマブル表示器１Ｂは、プログラマブル表示器１Ｂの画面データ１７Ｂを変更することなく取得データ１６Ｂを取得できる。したがって、プログラマブル表示器１Ａに接続される制御機器が変更された場合であっても、ＰＣを生産ラインの現場に持ち込んで画面データ１７Ｂを変更するといった処理を省くことができるので、作業効率を向上させることができる。
【０１６０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１６１】
１Ａ，１Ｂ  プログラマブル表示器、５Ａ，５Ｂ  データ収集部、７Ａ，７Ｂ  内部メモリ、９Ａ，９Ｂ  取得連携部、１１Ａ，１１Ｂ  定周期イベント生成部、１５Ａ，１５Ｂ  収集データ、１６Ｂ  取得データ、１７Ｂ  画面データ、１００  表示システム。
【要約】
プログラマブル表示器（１Ｂ）において、プログラマブル表示器（１Ａ）が収集した収集データ（１５Ａ）の中から収集データ（１５Ａ）の第１の部分である取得データ（１６Ｂ）を取得する取得連携部（９Ｂ）を備え、取得連携部（９Ｂ）は、収集データ（１５Ａ）に含まれる第２の部分が収集された際の状況を示す第１の識別情報に基づいて、取得データ（１６Ｂ）の収集データ（１５Ａ）の中での位置を求め、位置に対応する取得データ（１６Ｂ）をプログラマブル表示器（１Ａ）に要求して取得する。【図１】
0006400232.tif 000002
【図２】
0006400232.tif 000003
【図３】
0006400232.tif 000004
【図４】
0006400232.tif 000005
【図５】
0006400232.tif 000006
【図６】
0006400232.tif 000007
【図７】
0006400232.tif 000008
【図８】
0006400232.tif 000009
【図９】
0006400232.tif 000010