(57)【要約】【課題】制御装置が制御する対象を遠隔監視するための画面を表示する端末装置の表示画面の更新性能を適切に保つ。【解決手段】対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器は、制御装置を遠隔監視する画面を表示可能なディスプレイを有した端末装置（１００）と通信する。画面は、１つ以上の部品を含む。画面を表示するための画面データは、各部品が有する表示に関する属性と、その属性値を決定するためにプログラマブル表示器で実行されるロジックを含む。プログラマブル表示器は、端末装置が画面を表示する場合、画面データのうち各部品の属性および属性値を端末装置に送信する。【選択図】図４
2019061299.tif 000002
【特許請求の範囲】
【請求項１】
対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器であって、
前記制御装置を遠隔監視する画面を表示可能なディスプレイを有した端末装置と通信するための通信部と、
前記情報機器を制御するための情報機器の制御部と、を備え、
前記画面は、当該画面に配置される１つ以上の部品を含み、
前記画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために前記制御部が実行するロジックを含み、
前記制御部は、
前記端末装置が前記ディスプレイに画面を表示する場合、前記画面データのうち当該画面に配置される各部品の前記属性および前記属性値を、前記通信部を介し前記端末装置に送信する、情報機器。
【請求項２】
前記制御部は、前記制御装置からの前記対象の制御に関する情報に基づき、前記ロジックを実行することにより前記属性値を取得する、請求項１に記載の情報機器。
【請求項３】
前記制御部は、
前記部品の前記属性値を送信する場合、当該部品の前記ロジックの実行による属性値と、前記端末装置の前記ディスプレイに表示中の当該部品の属性値とに基づき、当該ロジックに実行による属性値を前記端末装置に送信するか否かを判断する、請求項２に記載の情報機器。
【請求項４】
前記端末装置が前記ディスプレイに画面を表示する場合は、前記ディスプレイの画面を切換える場合を含む、請求項１から３のいずれか１項に記載の情報機器。
【請求項５】
前記端末装置が前記ディスプレイに画面を表示する場合は、前記ディスプレイの画面の部品に対するユーザの操作を受付けた場合を含む、請求項１から４のいずれか１項に記載の情報機器。
【請求項６】
前記端末装置が前記ディスプレイに画面を表示する場合は、前記制御装置または前記情報機器から得た情報に基づき前記ディスプレイの画面の部品の属性値を変化させる場合を含む、請求項１から５のいずれか１項に記載の情報機器。
【請求項７】
前記ロジックは、部品、および、当該部品に対するユーザの操作の種類毎に異なり、
前記端末装置のディスプレイに表示されている部品にユーザの操作がなされた場合、前記制御部は、当該部品の当該操作の種類に対応する前記ロジックを実行する、請求項６に記載の情報機器。
【請求項８】
前記端末装置は、Ｗｅｂアプリケーションを備え、
前記情報機器は、前記ディスプレイに画面を表示する場合、前記Ｗｅｂアプリケーションにより前記端末装置と通信する、請求項１から７のいずれか１項に記載の情報機器。
【請求項９】
前記ファクトリオートメーション用の情報機器は、プログラマブル表示器、産業用のコンピュータおよび計算機の少なくとも１つを含む、請求項１から８のいずれか１項に記載の情報機器。
【請求項１０】
対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器と通信する端末装置であって、
前記制御装置を遠隔監視する画面を表示可能なディスプレイと、
前記端末装置を制御するための端末装置の制御部と、を備え、
前記画面は、当該画面に配置される１つ以上の部品を含み、
前記画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために前記情報機器が実行するロジックを含み、
前記制御部は、
前記ディスプレイに画面を表示する場合、前記画面データのうち当該画面に配置される各部品の前記属性および前記属性値を、前記情報機器から受信する、端末装置。
【請求項１１】
前記ディスプレイに画面を表示する場合は、前記情報機器から画面の更新通知を受信したときを含む、請求項１０に記載の端末装置。
【請求項１２】
前記制御部は、
前記ディスプレイの画面の部品に対するユーザの操作を受付けた場合、操作内容の通知を前記情報機器に送信し、
当該操作内容の通知に対し、前記情報機器から前記更新通知を受信する、請求項１１に記載の端末装置。
【請求項１３】
前記ファクトリオートメーション用の情報機器は、プログラマブル表示器、産業用のコンピュータおよび計算機の少なくとも１つを含む、請求項１０から１２のいずれか１項に記載の端末装置。
【請求項１４】
対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器を制御する制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
前記制御装置を遠隔監視する画面を表示可能なディスプレイを有した端末装置と通信するステップと、
前記情報機器を制御するステップと、を備え、
前記画面は、当該画面に配置される１つ以上の部品を含み、
前記画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために前記制御部が実行するロジックを含み、
前記制御するステップは、
前記端末装置が前記ディスプレイに画面を表示する場合、前記画面データのうち当該画面に配置される各部品の前記属性および前記属性値を、前記通信するステップにおいて前記端末装置に送信する、プログラム。
【請求項１５】
対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器と通信する端末装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記端末装置は、前記制御装置を遠隔監視する画面を表示可能なディスプレイを備え、
前記画面は、当該画面に配置される１つ以上の部品を含み、
前記画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために前記情報機器が実行するロジックを含み、
前記制御方法は、
前記ディスプレイに画面を表示するステップと、
前記画面を表示するステップにおいて画面を表示する場合、前記画面データのうち当該画面に配置される各部品の前記属性および前記属性値を、前記情報機器から受信するステップと、を備える、プログラム。
【請求項１６】
前記ファクトリオートメーション用の情報機器は、プログラマブル表示器、産業用のコンピュータおよび計算機の少なくとも１つを含む、請求項１４または１５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、ファクトリオートメーション用の情報機器、端末装置およびプログラムに関し、特に、端末装置と通信するファクトリオートメーション用の情報機器、その端末装置およびプログラムに関する。
【背景技術】
【０００２】
ファクトリオートメーションの分野に適用されるＨＭＩ（Human  Machine  Interface)等のプログラマブルターミナルにより、ファクトリオートメーションを遠隔監視する機能が提供される。監視機能としては、ＰＬＣ（Programmable  Logic  Controller）等から得られるファクトリオートメーション機器に関する情報をプログラマブルターミナルに表示する。また、生産管理者のオペレータ等は、タッチなどの操作により、ＨＭＩの画面を介してファクトリオートメーション機器を制御するためのデータ入力を実施することができる。
【０００３】
一般的な製造現場では、製造現場における省力化の要請や、ＩＣＴ（Information  and  Communication  Technology）の進歩などによって、ネットワーク技術を用いて遠隔から閲覧や操作を行なう技術が開発されている。
【０００４】
例えば、特開２００８−３３５７３号公報（特許文献１）は、遠隔地から、プログラマブル表示器で表示された画面を表示させるとともに、表示された画面上でプログラマブル表示器と同様に操作することができる構成を開示する。より具体的には、特許文献１に記載のプログラマブル表示器は、ＶＮＣ（Virtual  Network  Computing）のサーバ機能を用いて、表示されている画面のイメージ（画像データ）を複数のクライアントコンピュータへ送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３３５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１に記載のプログラマブル表示器は、表示されている画面のイメージ（画像データ）をそのまま複数のクライアントコンピュータへ送信するため、プログラマブル表示器と複数のクライアントコンピュータとの間の通信量が多くなり通信負荷が高くなる。通信負荷が高い場合は、各クライアントコンピュータでは、プログラマブル表示器からのデータに基づき画面を更新するのに時間がかかることとなり、上記の遠隔監視機能の性能が損なわれるおそれがある。
【０００７】
そのため、制御装置が制御する対象を遠隔監視するための画面を表示する端末装置の表示画面の更新性能を適切に保つための構成が要望されている。
【課題を解決するための手段】
【０００８】
この開示のある局面に係る、対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器は、制御装置を遠隔監視する画面を表示可能なディスプレイを有した端末装置と通信するための通信部と、情報機器を制御するための制御部と、を備える。
【０００９】
画面は、当該画面に配置される１つ以上の部品を含み、画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために制御部が実行するロジックを含む。
【００１０】
制御部は、端末装置がディスプレイに画面を表示する場合、画面データのうち当該画面に配置される各部品の属性および属性値を、通信部を介し端末装置に送信する。
【００１１】
好ましくは、制御部は、制御装置からの対象の制御に関する情報に基づき、ロジックを実行することにより属性値を取得する。
【００１２】
好ましくは、制御部は、部品の属性値を送信する場合、当該部品のロジックの実行による属性値と、端末装置のディスプレイに表示中の当該部品の属性値とに基づき、当該ロジックに実行による属性値を端末装置に送信するか否かを判断する。
【００１３】
好ましくは、端末装置がディスプレイに画面を表示する場合は、ディスプレイの画面を切換える場合を含む。
【００１４】
好ましくは、端末装置がディスプレイに画面を表示する場合は、ディスプレイの画面の部品に対するユーザの操作を受付けた場合を含む。
【００１５】
好ましくは、端末装置がディスプレイに画面を表示する場合は、制御装置または情報機器から得た情報に基づきディスプレイの画面の部品の属性値を変化させる場合を含む。
【００１６】
好ましくは、ロジックは、部品、および、当該部品に対するユーザの操作の種類毎に異なり、端末装置のディスプレイに表示されている部品にユーザの操作がなされた場合、制御部は、当該部品の当該操作の種類に対応するロジックを実行する。
【００１７】
好ましくは、端末装置は、Ｗｅｂアプリケーションを備え、情報機器は、ディスプレイに画面を表示する場合、Ｗｅｂアプリケーションにより端末装置と通信する。
【００１８】
この開示の他の局面に従うと、対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器と通信する端末装置は、制御装置を遠隔監視する画面を表示可能なディスプレイと、端末装置を制御するための制御部と、を備える。
【００１９】
画面は、当該画面に配置される１つ以上の部品を含み、画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために、情報機器が実行するロジックを含む。
【００２０】
制御部は、ディスプレイに画面を表示する場合、画面データのうち当該画面に配置される各部品の属性および属性値を、情報機器から受信する。
【００２１】
好ましくは、ディスプレイに画面を表示する場合は、情報機器から画面の更新通知を受信したときを含む。
【００２２】
好ましくは、制御部は、ディスプレイの画面の部品に対するユーザの操作を受付けた場合、操作内容の通知を情報機器に送信し、当該操作内容の通知に対し、情報機器から更新通知を受信する。
【００２３】
この開示のさらに他の局面に従うと、対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器の制御方法をコンピュータに実行させるためのプログラムが提供される。
【００２４】
制御方法は、制御装置を遠隔監視する画面を表示可能なディスプレイを有した端末装置と通信するステップと、情報機器を制御するステップと、を備える。画面は、当該画面に配置される１つ以上の部品を含み、画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために制御部が実行するロジックを含む。
【００２５】
制御するステップは、端末装置がディスプレイに画面を表示する場合、画面データのうち当該画面に配置される各部品の属性および属性値を、通信するステップにおいて端末装置に送信する。
【００２６】
この開示のさらに他の局面に従うと、対象を制御する制御装置に接続される、ファクトリオートメーション用の情報機器と通信する端末装置の制御方法をコンピュータに実行させるためのプログラムが提供される。
【００２７】
端末装置は、制御装置を遠隔監視する画面を表示可能なディスプレイを備え、画面は、当該画面に配置される１つ以上の部品を含み、画面を表示するための画面データは、各部品が有する表示に関する属性と、当該属性の値である属性値を決定するために情報機器が実行するロジックを含む。
【００２８】
制御方法は、ディスプレイに画面を表示するステップと、画面を表示するステップにおいて画面を表示する場合、画面データのうち当該画面に配置される各部品の属性および属性値を、情報機器から受信するステップと、を備える。
【００２９】
上記のファクトリオートメーション用の情報機器は、プログラマブル表示器、産業用のコンピュータおよび計算機の少なくとも１つを含む。
【発明の効果】
【００３０】
この開示によれば、制御装置からの情報を遠隔監視する端末装置に画面を表示する場合、ファクトリオートメーション用の情報機器は、画面データの一部である各部品の属性および属性値を、通信部を介し端末装置に送信する。これにより、画面データの全てを送信する場合に比べて、端末装置への通信量を少なくできて、通信負荷により端末装置の画面の更新性能の低下を防止し得て、適切な更新性能を保つことができる。
【図面の簡単な説明】
【００３１】
【図１】実施の形態１にかかるシステムの構成を概略的に示す図である。
【図２】実施の形態１にかかるＰＣ１００の構成を概略的に示す図である。
【図３】実施の形態１にかかるプログラマブル表示器４の構成を概略的に示す図である。
【図４】実施の形態１にかかるプログラマブル表示器４と端末装置１００の機能構成を模式的に示す図である。
【図５】実施の形態１にかかる画面データ６１の一例を示す図である。
【図６】実施の形態１にかかるプログラマブル表示器４から端末装置１００に送信される画面データ６２の一例を示す図である。
【図７】実施の形態１にかかる端末装置１００からプログラマブル表示器４へ送信されるデータ６３の一例を示す図である。
【図８】実施の形態１にかかるプログラマブル表示器４から端末装置１００へ送信されるデータ６４の一例を示す図である。
【図９】実施の形態１にかかる端末装置１００の起動時の通信シーケンスの一例を示す図である。
【図１０】（Ａ）〜（Ｅ）は、図９の通信シーケンスで示されるデータを例示する図である。
【図１１】実施の形態１にかかる部品テーブル３０の一例を示す図である。
【図１２】実施の形態１にかかる画面切換時の通信シーケンスの一例を示す図である。
【図１３】実施の形態１にかかる端末装置１００の表示画面の切換処理の通信シーケンスの他の例を示す図である。
【図１４】実施の形態１にかかる変数への書込処理の通信シーケンスの一例を示す図である。
【図１５】（Ａ）と（Ｂ）は、図１４の通信シーケンスで送信されるデータの一例を示す図である。
【図１６】実施の形態１にかかるモニタ処理の通信シーケンスの一例を示す図である。
【図１７】（Ａ）と（Ｂ）は、図１６の通信シーケンスで送信されるデータの一例を示す図である。
【図１８】実施の形態１にかかるグラフ表示処理のための通信シーケンスの一例を示す図である。
【図１９】実施の形態１にかかる部品（グラフ）の点列データ３６の一例を示す図である。
【図２０】端末装置１００のディスプレイ１０２における表示画面の一例を示す図である。
【図２１】実施の形態１の変形例を示す図である。
【図２２】実施の形態１の変形例を示す図である。
【発明を実施するための形態】
【００３２】
以下に、図面を参照しつつ、実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。本実施の形態においては、ファクトリオートメーション用の情報機器の一例としてのプログラマブル表示器および制御装置としてのコントローラを含む制御システムについて説明する。
【００３３】
［用語と機能の説明］
「ＨＭＩプログラム」は、プログラマブルターミナルに表示させる画面に対応する１または複数のページを記載するアプリケーションプログラムである。ＨＭＩプログラムの各ページのプログラムが実行されると画面が表示される。
【００３４】
「ＨＭＩランタイム」は、ＨＭＩプログラムを実行するための各種のソフトウェアプログラム、データまたはライブラリを含む。
【００３５】
「部品」は、画面に配置されるオブジェクト（ボタン、エディットボックス、画像、図形、テキスト等）を示す。
【００３６】
「部品の属性」は部品の表示状態を規定する属性または部品が有する機能（データ入出力機能、操作受付機能等）を規定する属性、またはその両方の属性を示す。
【００３７】
「属性値」は属性に与えられる値であり、定数または変数または式によって与えられる。
【００３８】
「画面データ」は画面に配置される部品に関連付けて、１または複数の属性と、各属性の属性値を決定するために実行されるコマンドを含む。画面には、１つ以上の部品が配置される。
【００３９】
[実施の形態１]
（概要）
実施の形態１では、ファクトリオートメーション機器を含む対象を制御する制御装置（ＰＬＣ）に接続されるプログラマブル表示器は、対象を遠隔監視する端末装置と通信し、端末装置のディスプレイに画面を表示させる。端末装置が画面を表示する場合、プログラマブル表示器は、画面データの一部、すなわち画面に配置される部品の属性と、その属性値を、端末装置に送信する。
【００４０】
したがって、端末装置が画面を表示する場合、プログラマブル表示器と端末装置との間の通信量を、特許文献１のように全ての画面データを送信する場合に比較して少なくすることができて、プログラマブル表示器からの受信情報に基づく、端末装置における表示画面の更新性能を適切に保つことが可能となる。
【００４１】
（システム構成）
図１は、実施の形態１にかかるシステムの構成を概略的に示す図である。図１を参照して、システムは、ファクトリオートメーションに適用される１つ以上のコントローラ１、プログラマブル表示器４、および１つ以上のＰＣ（Personal  Computer）１００を備える。コントローラ１は、フィールド機器等の対象を制御する「制御装置」の一実施例であり、例えばＰＬＣである。プログラマブル表示器４は、通信路１１５を介して１台または複数のコントローラ１と接続される。１または複数のＰＣ１００は、有線または無線の通信路１１１を介してプログラマブル表示器４に接続され得る。通信路１１５および１１１は、例えばEthernet（登録商標）を含むが、これに限定されない。
【００４２】
ＰＣ１００は、「端末装置」の一実施例である。ＰＣ１００は、ユーザがフィールド機器等の対象を遠隔監視するための機能を備える。実施の形態１では、「端末装置」はＰＣ１００を示したが、ＰＣ１００に限定されない。例えば、スマートフォン、タブレット端末等であってもよい。
【００４３】
各コントローラ１は同様の構成を有する。コントローラ１は、典型的には、プログラムを実行する主体であるＣＰＵ（Central  Processing  Unit）を有したＣＰＵユニット１０、ＣＰＵユニット１０などへ電力を供給する電源ユニット１２、フィールド機器と信号をやり取りするＩＯ（Input  Output）ユニット１４とを含む。ＩＯユニット１４は、ＣＰＵユニット１０とシステムバス１１を介して接続されている。典型的には、ＩＯユニット１４は、フィールド機器である検出センサ１５からの信号を取得し、またはＣＰＵユニット１０でのプログラムの実行結果に応じてフィールド機器であるリレー１６を駆動する。なお、コントローラ１の制御の対象には、フィールド機器が含まれ、フィールド機器はファクトリオートメーションに関連した機器の一実施例であり、例えば検出センサ１５およびリレー１６を含むが、これらの機器に限定されない。
【００４４】
（ＰＣ１００の構成）
図２は、実施の形態１にかかるＰＣ１００の構成を概略的に示す図である。各ＰＣ１００は同様の構成を有する。図２を参照して、ＰＣ１００は、ＣＰＵ１１０、記憶部としてのメモリ１１２およびハードディスク１１４、タイマ１１３、入力インタフェース１１８、表示コントローラ１２０、通信インタフェース１２４、データリーダ／ライタ１２６を含む。これらの各部は、バス１２８を介して互いにデータ通信が可能なように接続されている。
【００４５】
ＣＰＵ１１０は、ハードディスク１１４に格納されたプログラム（コード）を実行することで、各種の演算を実施する。メモリ１１２は、典型的には、ＤＲＡＭ（Dynamic  Random  Access  Memory）などの揮発性の記憶装置である、メモリ１１２は、ハードディスク１１４から読出されたプログラム・データに加えて、データリーダ／ライタ１２６から受信されたデータ、およびワークデータなどが格納される。
【００４６】
入力インタフェース１１８は、ＣＰＵ１１０とタッチパッド１０４、マウス（図示せず）、キーボード（図示せず）などの入力装置との間のデータ伝送を仲介する。表示コントローラ１２０は、表示装置の典型例であるディスプレイ１０２と接続されて、表示データに従いディスプレイ１０２を駆動する信号を生成し、生成した信号によりディスプレイ１０２を駆動する。なお、タッチパッド１０４とディスプレイ１０２は一体的に構成されたタッチスクリーン１０１として提供されてもよい。
【００４７】
通信インタフェース１２４は、通信路１１１を介してプログラマブル表示器４との間のデータ伝送を仲介する、Ethernet、Ｗｉ−Ｆｉ等の回路を含む。データリーダ／ライタ１２６は、ＣＰＵ１１０と外部の記憶媒体であるメモリカード１０６との間のデータ伝送を仲介する。また、ＰＣ１００には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【００４８】
なお、メモリカード１０６は、ＰＣ１００で実行されるプログラムなどが格納された状態で流通し、データリーダ／ライタ１２６は、このメモリカード１０６からプログラムを読出す。なお、メモリカード１０６は、ＣＦ（Compact  Flash）、ＳＤ（Secure  Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible  Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）などの光学記憶媒体などからなる。
【００４９】
（プログラマブル表示器４の構成）
図３は、実施の形態１にかかるプログラマブル表示器４の構成を概略的に示す図である。プログラマブル表示器４は、対象を制御する制御装置（コントローラ１に相当）に接続される、ファクトリオートメーション用の情報機器の一実施例である。プログラマブル表示器４は、ＨＭＩプログラムの各ページを実行して画面を表示するとき、通信路１１５を介して、各コントローラ１の変数の値、もしくは、メモリに格納されている値を、各コントローラ１から取得し、取得した情報を画面の部品に表示する。上記の変数または、上記のメモリに格納されている値は、各コントローラ１がワークメモリとして使用している場合のほか、フィールド機器の情報（検出センサ１５の測定データ、センシングデータ、リレー１６の状態データ等）と関連付けられている場合がある。これにより、ユーザに対して、各コントローラ１の内部状態またはフィールド機器の情報を報知することができる。
【００５０】
図３を参照して、プログラマブル表示器４は、各種の演算を行なうＣＰＵ４１１、ＲＯＭ（Read  Only  Memory）４１２、ＲＡＭ（Random  Access  Memory）４１３、各種のプログラムおよびデータを不揮発的に格納するためのフラッシュＲＯＭ４１４、時計４１５、ユーザの操作を受付けるための操作キー４１６、データリーダ/ライタ４１７、タッチスクリーン４１８および通信インタフェース４１９を備える。なお、これらの各部は、内部バスを介して互いに接続される。
【００５１】
タッチスクリーン４１８は、画面を表示するディスプレイ４８１、ユーザのプログラマブル表示器４に対する操作（より特定的には画面の部品に対する操作）を受付けるためのタッチパネル４８２を含む。タッチパネル４８２は、ディスプレイ４８１を覆うように設置される。ディスプレイ４８１は、プログラマブル表示器４からの情報を用いた画面を表示する「表示部」の一実施例である。通信インタフェース４１９は、ＰＣ１００および各コントローラ１の機器と通信するモデム等の回路を含んで構成される。プログラマブル表示器４には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【００５２】
データリーダ／ライタ４１７は、ＣＰＵ４１１と外部の記憶媒体であるメモリカード４２０との間のデータ伝送を仲介する。メモリカード４２０は、プログラマブル表示器４で実行されるプログラムなどが格納された状態で流通し得る。データリーダ／ライタ４１７は、メモリカード４２０からプログラムを読出す。なお、メモリカード４２０は、ＣＦ（Compact  Flash）、ＳＤ（Secure  Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible  Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）などの光学記憶媒体などからなる。
【００５３】
（プログラマブル表示器４と端末装置１００の機能構成）
図４は、実施の形態１にかかるプログラマブル表示器４と端末装置１００の機能構成を模式的に示す図である。図４を参照して、コントローラ１はフィールド機器のためのＩ／Ｏ（入出力）デバイスから情報を取得する、または演算によりフィールド機器を制御する情報を算出するラダーロジックを実行するためのラダーロジック走査部２を備える。ラダーロジック走査部２は、ＣＰＵユニット１０の制御の元にラダーロジックを実行する。
【００５４】
また、コントローラ１は、Ｉ／Ｏデバイスから収集したフィールド機器の制御に関する情報を、例えば各フィールド機器の出力値およびＩ／Ｏデバイスを介して各フィールド機器に入力する入力値を格納する変数ファイル２Ａを有する。
【００５５】
変数ファイル２Ａの各変数に設定されている入力値または出力値を、「フィールド値」という。入力値は、フィールド機器を制御するために設定される値を含む。出力値は、入力値に基づくフィールド機器の制御結果を示す値を含む。変数ファイル２Ａでは、出力値および入力値のそれぞれは、対応の変数に設定される。
【００５６】
プログラマブル表示器４は、コントローラ１と通信するように通信インタフェース４１９を制御するコントローラ側通信部３、端末装置１００と通信するように通信インタフェース４１９を制御する端末装置側通信部７、およびＨＭＩプログラムを実行するためのＨＭＩランタイム５を備える。ＨＭＩランタイム５はＨＭＩプログラムの実行をする場合に、格納部６を検索する。
【００５７】
格納部６は、端末装置１００に表示される各画面に対応した画面データ６１、端末装置１００で表示中の画面の部品に関する情報を示す部品テーブル３０およびフィールド値をロギングするためのログファイル４０を格納する。格納部６は、プログラマブル表示器４の記憶部（例えばＲＯＭ４１２、ＲＡＭ４１３等）に相当する。格納部６は、「画面格納部」の一実施例でもある。コントローラ側通信部３および端末装置側通信部７は、Ethernetに従う送信用のフレームを生成する、または受信したフレームを解析（フレームからのデータ抽出等）する機能を備える。
【００５８】
コントローラ側通信部３、端末装置側通信部７およびＨＭＩランタイム５は、ＣＰＵ４１１が実行するプログラムとして実現されるが、プログラムと回路（ＡＳＩＣ:application  specific  integrated  circuit、ＦＰＧＡ：field-programmable  gate  array等）の組合せにより実現されてもよい。
【００５９】
端末装置１００は、通信処理部１２１、操作受付部１２２および表示制御部１２３を備える遠隔監視アプリケーション１２５を有する。また、端末装置１００は、画面データを表示するプレースフォルダとファクトリオートメーション用の情報機器と各種の情報を交換するためのプログラムを含む、ベース画面データ５１を、記憶部（例えばハードディスク１１４等）に格納する。
【００６０】
遠隔監視アプリケーション１２５により用いられる通信処理部１２１は、通信インタフェース１２４を介して送信するフレームを生成する、または受信したフレームを解析（フレームからのデータ抽出等）する機能を備える。操作受付部１２２は、入力インタフェース１１８からのユーザ操作内容に基づくデータを受付けて、ユーザ操作内容から操作の種類および操作位置を検出する。実施の形態では、ディスプレイ１０２の表示画面を２次元座標の平面とみなす。操作受付部１２２はディスプレイ１０２（より特定的には画面）上の操作位置を座標位置に変換することで、操作位置を取得する。表示制御部１２３は、画面データから表示データを生成し、表示コントローラ１２０に出力する。
【００６１】
端末装置１００の通信処理部１２１、操作受付部１２２および表示制御部１２３は、端末装置１００のＣＰＵ１１０が実行する遠隔監視アプリケーション１２５により実現される機能として示しているが、これら機能はプログラムと回路（ＡＳＩＣ、ＦＰＧＡ等）の組合せにより実現されてもよい。
【００６２】
（データの構成）
図５〜図８を参照して、実施の形態１にかかる各種データを説明する。図５は、実施の形態１にかかる画面データ６１の一例を示す図である。図６は、実施の形態１にかかるプログラマブル表示器４から端末装置１００に送信される画面データ６２の一例を示す図である。図７は、実施の形態１にかかる端末装置１００からプログラマブル表示器４へ送信されるデータ６３の一例を示す図である。図８は、実施の形態１にかかるプログラマブル表示器４から端末装置１００へ送信されるデータ６４の一例を示す図である。
【００６３】
図５を参照して格納部６に格納される各画面に対応の画面データ６１は、当該画面の識別子である画面ＩＤ６０９を含む。さらに、当該画面に配置される部品のそれぞれに関連付けて、部品を識別するための部品ＩＤ６１０、部品の属性を示す属性６１１、イベントを識別するイベントＩＤ６１２および各イベントＩＤに対応のビジネスロジック６１９を含む。属性６１１は、複数種類の属性のそれぞれに対応の属性ＩＤを含む。属性ＩＤは、部品の種類６１３、表示時の背景色６１４、表示時の文字色６１５、画面における表示位置６１６、表示のサイズ６１７およびテキスト６１８を含む。部品によっては特定の属性または属性値を持たない場合があり、例えば、部品IDがLamp1である部品においては文字色とテキストの属性値を持っていないことを示している。さらに画面データ６１は部品の各属性ＩＤに関連付けて属性値を格納している。
【００６４】
画面データ６１のうち、テキスト６１８およびビジネスロジック６１９は、端末装置１００で画面を表示する場合、プログラマブル表示器４から端末装置１００へ送信されない種類のデータを示す。なお、属性６１１の種類は、これらに限定されない。
【００６５】
イベントＩＤ６１２は、例えば、部品に対して受付け可能な１つ以上のユーザ操作の種類を示す。操作の種類は、例えばクリック（Click）、リリース（Release）、押す（Press）等を含むが、これらに限定されない。
【００６６】
画面データ６１は、部品（部品ＩＤ６１０）、および、当該部品に対する操作の種類（イベントＩＤ６１２）毎にビジネスロジック６１９を含む。あるイベントＩＤ６１２が検出されるときに、ＣＰＵ４１１（より特定的には、ＨＭＩランタイム５）は当該イベントＩＤ６１２に対応のビジネスロジック６１９を実行する。ビジネスロジック６１９は、制御装置と情報を授受するロジック（例えばプログラムコード）、前記情報を利用した演算ロジック（例えばプログラムコード）、対応する部品の表示を制御するロジック（例えばプログラムコード）または当該部品に対しなされた操作の種類に応じた、当該部品の表示を制御するロジック（例えばプログラムコード）を含む。
【００６７】
図６を参照して、画面データ６２は、図５の画面データ６１のうち、端末装置１００に送信しない属性（テキスト６１８）およびビジネスロジック６１９を除いた部分データからなる。
【００６８】
図７を参照して、データ６３は、端末装置１００の画面上の部品が操作された場合、端末装置１００からプログラマブル表示器４に送信される。データ６３は、操作がなされた部品の画面の画面ＩＤ６０９と、当該部品の部品ＩＤ６１０と、なされた操作の種類を示すイベントＩＤ６１２を含む。
【００６９】
図８を参照して、データ６４は、プログラマブル表示器４のＨＭＩランタイム５が、画面の部品ＩＤ６１０に関連付けられたビジネスロジック６１９を実行する場合、その画面の画面ＩＤ６０９、部品ＩＤ６１０、実行により得られた属性ＩＤ６１Ａおよびその属性値６１Ｂを含む。
【００７０】
（画面表示のための通信シーケンスと各種データ）
端末装置１００の起動時に実施される画面表示処理、表示画面の切換処理、変数の書込む処理、モニタ処理、およびログ情報（ロギングされた情報）に基づくグラフ表示処理を、端末装置１００、プログラマブル表示器４およびコントローラ１の間の通信シーケンスに従い説明する。
【００７１】
なお、これら通信シーケンスが実行される場合、プログラマブル表示器４は、ディスプレイ４８１にフィールド機器を遠隔監視するための画面の表示処理を実施する。この表示処理は、従来から提案されたものと同様の処理を適用できるので、ここでは、説明を繰返さない。
【００７２】
＜起動時の通信シーケンス＞
図９は、実施の形態１にかかる端末装置１００の起動時の通信シーケンスの一例を示す図である。図９を参照して、まず、端末装置１００において遠隔監視アプリケーション１２５が起動されると、遠隔監視アプリケーション１２５は、初期処理を実施する（ステップＳ１）。初期処理では、遠隔監視アプリケーション１２５は、ベース画面データ５１をメモリ１１２にロードする（ステップＳ１）。
【００７３】
端末装置１００を起動する場合、遠隔監視アプリケーション１２５の通信処理部１２１は、接続要求をプログラマブル表示器４に送信し、プログラマブル表示器４の端末装置側通信部７は応答（接続の成功（Success）または失敗（Error））を端末装置１００に送信する（ステップＳ２）。このような接続は、例えば、ＨＴＴＰ（Hypertext  Transfer  Protocol）に従う通信によりなされる。ここでは、接続に成功したとする。
【００７４】
プログラマブル表示器４では、端末装置側通信部７は接続要求を受信すると、ＨＭＩランタイム５に起動指令を出力する（ステップＳ３）。ＨＭＩランタイム５が起動されると、ＨＭＩランタイム５は、プロジェクトデータをロードするとともに、格納部６から端末装置１００の起動時の画面ＩＤ６０９に対応の画面データ６１を検索しロードする（ステップＳ４）。ＨＭＩランタイム５は、ロードされた画面データ６１のうちから、端末装置１００に送信すべき部分データである画面データ６２を抽出する。画面データ６２は、画面ＩＤ６０９とベース画面に配置するべき１つ以上の部品のデータを含む。
【００７５】
端末装置側通信部７は画面データ６２をページ切換通知とともに端末装置１００に送信する（ステップＳ５、Ｓ６）。なお、ステップＳ６以降では、プログラマブル表示器４と端末装置１００とは、例えばWebSocketプロトコルに従い通信する。
【００７６】
端末装置１００の遠隔監視アプリケーション１２５は、ページ切換通知を受信すると、ベース画面データ５１とプログラマブル表示器４からの画面データ６２（各部品の属性の種類および属性値）に従い、ベース画面に部品を配置した画面を表示するための表示データを生成し、表示コントローラ１２０に出力する。表示コントローラ１２０は、ディスプレイ１０２を表示データに従い駆動する。これにより、ディスプレイ１０２には起動時の画面が描画される（ステップＳ７）。
【００７７】
また、遠隔監視アプリケーション１２５は、ディスプレイ１０２に表示中の画面の画面データ６２を保持するように、プログラマブル表示器４からの画面データ６２をメモリ１１２等に格納する。
【００７８】
また、プログラマブル表示器４では、ＨＭＩランタイム５は、コントローラ１に対し各種の変数の値を取得する要求を送信する（ステップＳ８）。コントローラ１のラダーランタイム１２９は、変数ファイル２Ａから要求された変数の値を読出し、プログラマブル表示器４に送信する。ＨＭＩランタイム５は、コントローラ１から受信した変数の値に基づき、プログラマブル表示器４で表示中の画面（この場合、起動時の画面）の画面データ６１の各部品のビジネスロジック６１９を実行する（ステップＳ９）。
【００７９】
ＨＭＩランタイム５は、ビジネスロジック実行により得られた起動時の画面の各部品の属性値に基づき、プログラマブル表示器４で表示中の画面の部品のうち、その属性値を更新するべき部品を判定する（ステップＳ９ｃ）。この判定を「変更判定処理」という。変更判定処理の詳細は、後述する。
【００８０】
ＨＭＩランタイム５は、データ６３を生成し、更新通知とともに端末装置１００に送信する（ステップＳ９ａ、Ｓ９ｂ）。データ６３は、変更判定処理で判定された各部品の部品ＩＤ、属性ＩＤおよびステップＳ９で取得された属性値を含む。
【００８１】
端末装置１００の遠隔監視アプリケーション１２５は、プログラマブル表示器４から受信した更新通知に従い、ディスプレイ１０２の起動時画面の部品の属性値を更新する（ステップＳ１０）。この画面の更新時に、遠隔監視アプリケーション１２５は、ベース画面データ５１と、更新通知とともに受信したデータ６３（部品ＩＤ、属性ＩＤおよび属性値）に基づき、起動時画面上の該当する部品の属性値（表示状態等）を変更する表示データを生成し表示コントローラ１２０に出力する。これにより、ディスプレイ１０２の起動時画面の各部品は、最新のフィールド値に従う表示状態を示すことが可能となる。
【００８２】
上記に述べた端末装置１００の起動時の通信シーケンスでは、端末装置１００が起動時画面を表示する場合、プログラマブル表示器４は、起動時画面の画面データ６１の全てではなく、その一部分である画面データ６２を送信する（ステップＳ６）。したがって、プログラマブル表示器４と端末装置１００との間の通信量を、画面データ６１を全て送信する場合に比較して低減することが可能となる。
【００８３】
図１０（Ａ）〜（Ｅ）は、図９の通信シーケンスで示されるデータを例示する図である。図１０（Ａ）は、図９の接続要求（ステップＳ２）に含まれるＨＴＴＰリクエストを示す。図１０（Ｂ）は、図９の処理（ステップＳ１）でロードされるベース画面データ５１を示す。ベース画面データ５１は、接続要求（ステップＳ２）のコマンドと、各部品を部品ＩＤ、属性ＩＤおよび属性値に従い、ベース画面に配置するためのスクリプトコマンド等を有する。
【００８４】
図９のステップＳ７では、遠隔監視アプリケーション１２５が、ベース画面データ５１のスクリプトコマンドを、プログラマブル表示器４からのデータ（各部品の部品ＩＤ、属性ＩＤおよび属性値）に従い実行する。これにより、ベース画面には、各部品が、その属性値が示す表示状態に従い表示される。
【００８５】
図１０（Ｃ）は、図９の処理（ステップＳ４）でロードされる画面データ６１の一例を示す。画面データ６１は、コマンドおよびプログラムは含まずに、図５で示した内容がＨＴＭＬに従って記載されている。
【００８６】
図１０（Ｄ）は、図９の処理（ステップＳ８）において、変数の値の取得の要求と応答の通信コマンドを示す。取得要求のコマンド（Read）は、変数の種類（例えば、myVar１、myVar2、myVar3）を含む。変数の取得要求に対するコントローラ１からの応答は、要求のあった変数（myVar１〜3）のそれぞれに対するフィールド値を示す。
【００８７】
図１０（Ｅ）は、更新通知（ステップＳ９ｂ）とともに送信されるデータ６３の一例を示す。データ６３は、属性値に変更が必要な部品について、例えば、変更コマンド（Change）、変更対象部品の部品ＩＤ（rect、button1、text1）、各部品に対応の変更すべき属性ＩＤ（height、background、text）および変更後の属性値（456、Black、“hoge”）からなる。
【００８８】
図９のステップＳ９では、遠隔監視アプリケーション１２５は、ベース画面データ５１のスクリプトコマンドを、プログラマブル表示器４からのデータ６３に従い実行する。これにより、プログラマブル表示器４の表示画面では、各部品が、フィールド値に従う属性値が示す表示状態に従い表示される。
【００８９】
（変更判定処理）
上記の変更判定処理（ステップＳ９ｃ）が実施されることにより、プログラマブル表示器４と端末装置１００の間の通信量を低減することが可能となる。
【００９０】
変更判定処理では、部品テーブル３０が検索される。図１１は、実施の形態１にかかる部品テーブル３０の一例を示す図である。ＨＭＩランタイム５は、端末装置１００で表示中の画面の部品の属性値を、部品テーブル３０で管理する。図１１を参照して、部品テーブル３０は、端末装置１００で表示中の画面の各部品に関連付けて、部品ＩＤ３１、属性ＩＤ３２およびその属性値３３（表示中の値）を格納する。ＨＭＩランタイム５は、端末装置１００で表示中の画面の各部品の属性値を示すように、部品テーブル３０を管理（更新）する。
【００９１】
変更判定処理では、ＨＭＩランタイム５は、コントローラ１から取得される変数のフィールド値に基づくビジネスロジック６１９の実行により得られた各部品の属性値と、部品テーブル３０の該当する部品の属性値３３とを比較する。ＨＭＩランタイム５は、比較の結果に基づき、両属性値は異なると判断したときに、端末装置側通信部７を介して、更新通知を送信する（ステップＳ９ｂ）。一方、ＨＭＩランタイム５は、比較の結果、両属性値は同じであると判断したときに、ステップＳ９ｂにおける更新通知の送信をしない。
【００９２】
したがって、フィールド値に基づき部品の属性値に変化が検出された場合にのみ、プログラマブル表示器４から端末装置１００に、属性値の変化があった部品のデータ６３が送信される。これにより、プログラマブル表示器４と端末装置１００との間の通信量は更に低減され得る。
【００９３】
＜画面切換時の通信シーケンス＞
図１２は、実施の形態１にかかる画面切換時の通信シーケンスの一例を示す図である。図１２では、プログラマブル表示器４と端末装置１００とは、例えばWebSocketプロトコルに従い通信する。図１２を参照して、ユーザが端末装置１００の画面切換えボタン（部品）を操作すると（ステップＳ１１）、シーケンスが開始される。なお、操作の種類はタッチ操作に限定されない。
【００９４】
遠隔監視アプリケーション１２５は、操作内容に基づき画面データ６２を検索し、検索に基づき、タッチイベント（例えば、‘button1、click’）を生成して送信する（ステップＳ１２）。具体的には、遠隔監視アプリケーション１２５は、画面データ６２の検索に基づき、操作された部品に関連付けられたイベントＩＤが、受付けた操作の種類を示すと判定したとき、タッチイベントを生成し送信する。
【００９５】
プログラマブル表示器４の端末装置側通信部７は、端末装置１００からタッチイベントを受信し、受信したタッチイベントをＨＭＩランタイム５に送信する（ステップＳ１３）。
【００９６】
ＨＭＩランタイム５は、タッチイベントに基づき画面データ６１を検索し、検索に基づき、当該タッチイベントに関連付けられたビジネスロジック６１９を実行する（ステップＳ１４）。ここでは、新たな画面に切換えるためのビジネスロジック６１９が実行される。図１２の以降の処理（ステップＳ４〜Ｓ１０）は、図９のステップＳ４〜Ｓ１０の処理と同様であるから説明は繰返さない。
【００９７】
したがって、上記に述べた端末装置１００の画面切換時は、プログラマブル表示器４は、画面データ６１の全てではなく、その一部分である画面データ６２を送信する（ステップＳ６）。また、変更判定処理（ステップＳ９ｃ）も同様に実施される。したがって、画面切換時の通信シーケンスでも、起動時の画面表示の場合と同様に、プログラマブル表示器４と端末装置１００との間の通信量を低減することが可能となる。
【００９８】
＜画面データの要否判断を含む表示画面の切換処理＞
図１３は、実施の形態１にかかる端末装置１００の表示画面の切換処理の通信シーケンスの他の例を示す図である。図１３では、プログラマブル表示器４と端末装置１００とは、例えばWebSocketプロトコルに従い通信する。図１３の通信シーケンスは、図１２の通信シーケンスに、画面データ６２の送信要否に関する処理（ステップＳ４ａ〜Ｓ４ｅおよびＳ５ａ）を追加している。図１３の他の処理は、図１２と同様であるので、説明は繰返さない。
【００９９】
追加の処理（ステップＳ４ａ〜Ｓ４ｅおよびＳ５ａ）では、プログラマブル表示器４のＨＭＩランタイム５は、端末装置１００が、切換後の画面の画面データ６２を保持していると判断した場合、当該画面データ６２の端末装置１００への送信を行なわない。
【０１００】
図１３を参照して、プログラマブル表示器４のＨＭＩランタイム５は、画面データ６１がロードされると（ステップＳ４）、送信要否確認を端末装置側通信部７に送信する（ステップＳ４ａ）。送信要否確認は、ロードされた画面データ６１の一部分である画面データ６２を、端末装置１００に送信する必要があるか否かの問合せを含む。要否確認は、切換先の画面の画面ＩＤ６０９を含む。
【０１０１】
端末装置側通信部７は、ＨＭＩランタイム５からの要否確認に従い、切換通知とともに要否確認を端末装置１００に送信する（ステップＳ４ｂ）。
【０１０２】
端末装置１００の遠隔監視アプリケーション１２５は、要否確認に従い、要否確認が示す画面ＩＤ６０９に基づき記憶部（メモリ１１２等）を検索し、検索結果から、切換先の画面の画面データ６２が格納されているか否かを判断する（ステップＳ４ｃ）。
【０１０３】
遠隔監視アプリケーション１２５は、ステップＳ４ｃの判断結果を示す応答を、プログラマブル表示器４に送信する（ステップＳ４ｄ）。プログラマブル表示器４のＨＭＩランタイム５は、端末装置側通信部７を介して応答を受信し、応答が示す判断結果に基づき、切換先の画面の画面データ６２の送信の要否を判断する（ステップＳ４ｅ）。
【０１０４】
ＨＭＩランタイム５は、送信が必要と判断したときは、端末装置側通信部７を介し画面データ６２を端末装置１００へ送信するが（ステップＳ５、Ｓ５ａ）、必要ないと判断したときは、端末装置側通信部７を介した、画面データ６２の端末装置１００への送信を行わない。
【０１０５】
端末装置１００の遠隔監視アプリケーション１２５は、ステップＳ４ｃで、切換先の画面の画面データ６２を検索できたときは、記憶部から読出した画面データ６２に基づき、ディスプレイ１０２に切換え先の画面を描画する。一方、切換先の画面の画面データ６２が検索できなかった（すなわち、記憶部に当該画面データ６２が格納されていない）ときは、遠隔監視アプリケーション１２５は、プログラマブル表示器４から画面データ６２を受信し、受信した画面データ６２を用いて切換え先の画面をディスプレイ１０２に描画する。
【０１０６】
図１３の通信シーケンスによれば、プログラマブル表示器４は、端末装置１００の表示画面の切換え時に、端末装置１００が切換え先の画面の画面データ６２を有している場合、端末装置１００への画面データ６２の送信を行わない。また、変更判定処理（ステップＳ９ｃ）も前述と同様に実施される。したがって、プログラマブル表示器４と端末装置１００との間の通信量を少なくすることができる。
【０１０７】
＜書込み処理＞
図１４は、実施の形態１にかかる変数への書込処理の通信シーケンスの一例を示す図である。図１４では、プログラマブル表示器４と端末装置１００とは、例えばWebSocketプロトコルに従い通信する。図１５（Ａ）と（Ｂ）は、図１４の通信シーケンスで送信されるデータの一例を示す図である。
【０１０８】
まず、端末装置１００のユーザが画面のボタンを操作すると（ステップＳ３１）、遠隔監視アプリケーション１２５は、対応のイベントＩＤを示すデータ６３をプログラマブル表示器４に送信する（ステップＳ３２）。
【０１０９】
プログラマブル表示器４の端末装置側通信部７は、端末装置１００からのデータ６３を受信し、ＨＭＩランタイム５に送信する（ステップＳ３３）。ＨＭＩランタイム５は、データ６３に基づき、端末装置１００で表示中の画面の画面データ６１を特定し、特定した画面データ６１の対応のビジネスロジック６１９を実行する（ステップＳ３４）。実行により、ＨＭＩランタイム５は、変数ファイル２Ａの１つ以上の変数に値を書込む処理を実施する（ステップＳ３４）。
【０１１０】
ステップＳ３４では、ＨＭＩランタイム５は、ビジネスロジック６１９の実行により図１５（Ａ）の書込コマンド（例えば、‘Write myVar1=987’）を生成し、コントローラ１に送信する。コントローラ１は、書込コマンドを実行し、応答を返信する。これにより、変数ファイル２Ａの変数myVar1のフィールド値は987に書換えられる。
【０１１１】
ＨＭＩランタイム５は、書込みがなされた変数myVar1のフィールド値に基づき、上記のビジネスロジック６１９を実行する（ステップＳ３６）。その後、ＨＭＩランタイム５は変更判定処理（ステップ９ｃ）を実施する。部品の属性値が変化した場合、ＨＭＩランタイム５は、端末装置の表示を更新するためのデータ６４を生成し、更新通知とともに端末装置側通信部７を介して端末装置１００に送信する（ステップＳ３６、Ｓ３７）。図１５（Ｂ）は、ステップＳ３８で送信されるデータ６４の具体例を示す。
【０１１２】
端末装置１００の遠隔監視アプリケーション１２５は、プログラマブル表示器４からの更新通知とデータ６４に従い、ディスプレイ１０２の画面を更新する（ステップＳ３９）。
【０１１３】
上記に述べた変数ファイル２Ａの変数に値を書込むための通信シーケンスでは、プログラマブル表示器４は、端末装置１００に画面を表示させるために、画面データ６１（または画面データ６２）の全てではなく、ビジネスロジック６１９の実行によって、または他の原因によって変化した部品の属性値のみを、端末装置１００に送信する（ステップＳ３７）。したがって、プログラマブル表示器４と端末装置１００との間の通信量を、画面データ６１（または画面データ６２）を全て送信する場合に比較して低減することが可能となる。
【０１１４】
また、ステップＳ３７では、上記に説明した変更判定処理（ステップ９ｃ）を実施して、部品の属性値の変更が必要と判定された場合、プログラマブル表示器４はデータ６４を端末装置１００に送信する。これにより、さらに上記の通信量を低減することが可能となる。
【０１１５】
＜モニタ処理＞
図１６は、実施の形態１にかかるモニタ処理の通信シーケンスの一例を示す図である。図１６では、プログラマブル表示器４と端末装置１００とは、例えばWebSocketプロトコルに従い通信する。図１７（Ａ）と（Ｂ）は、図１６の通信シーケンスで送信されるデータの一例を示す図である。モニタ処理は、端末装置１００で表示中の画面の部品の属性値が、最新のフィールド値に基づく値を表すことが可能なように、繰返し実施される。なお、繰返し間隔は、一定時間毎、可変時間毎など限定されない。モニタ処理は、ＨＭＩランタイム５が予めコントローラ１に対して変数の一覧を送信しておき、コントローラ１が、変数の一覧に記載された変数の値が変化したときに、当該変化をＨＭＩランタイム５に送信する、としてもよい。
【０１１６】
まず、端末装置１００のディスプレイ１０２に或る画面を表示中であるとする。通信シーケンスが開始されると、ＨＭＩランタイム５は、変数ファイル２Ａを検索し、複数の変数のフィールド値を取得する（ステップＳ４１）。具体的には、ＨＭＩランタイム５は、図１７（Ａ）の通信コマンドをコントローラ１に送信し、応答を受信する。応答は、ラダーランタイム１２９が、変数ファイル２Ａから、通信コマンドに基づき読出した変数のフィールド値を含む。
【０１１７】
ＨＭＩランタイム５は、取得した変数のフィールド値に基づき、端末装置１００で表示中の画面の画面データ６１のビジネスロジック６１９を実行する（ステップＳ４２）。ＨＭＩランタイム５は、実行によりデータ６４を生成し、更新通知とともに、端末装置側通信部７を介して、端末装置１００に送信する（ステップＳ４３、Ｓ４４）。
【０１１８】
ステップ４３では、ＨＭＩランタイム５は、上記の変更判定処理（ステップＳ９ｃ）を実施する。したがって、プログラマブル表示器４は、変更が必要と判定された部品の属性値を示すデータ６４のみを、端末装置１００に送信する。
【０１１９】
端末装置１００の遠隔監視アプリケーション１２５は、更新通知に従い、データ６４に基づきディスプレイ１０２で表示中の画面を更新するよう描画する（ステップＳ４５）。これにより、画面の部品の属性値は、変数に値の書込がなされた後に取得される属性値を示すよう更新される。
【０１２０】
上記に述べたモニタ処理の通信シーケンスでは、プログラマブル表示器４は、端末装置１００に画面の画面データ６１の全てではなく、部品の属性値を含むデータ６４のみを、端末装置１００に送信する。したがって、プログラマブル表示器４と端末装置１００との間の通信量を、画面データ６１を全て送信する場合に比較して低減することが可能となる。
【０１２１】
また、ステップＳ４３では、プログラマブル表示器４は、変更判定処理（ステップ９ｃ）を実施して、部品の属性値のうち、変更が必要と判定された部品の属性値のみをデータ６４として端末装置１００に送信する。これにより、さらに上記の通信量を低減することが可能となる。
【０１２２】
＜グラフ表示処理の通信シーケンス＞
図１８は、実施の形態１にかかるグラフ表示処理のための通信シーケンスの一例を示す図である。図１８では、プログラマブル表示器４と端末装置１００とは、例えばWebSocketプロトコルに従い通信する。実施の形態１では、画面データ６１の部品はグラフを含み得る。ＨＭＩランタイム５は、グラフの時系列データ（以下、ログデータという）を取得するために、ラダーランタイム１２９から１または複数の変数のフィールド値を取得する（ステップＳ５１）。
【０１２３】
ログデータは、ＨＭＩランタイム５が一定周期、またはイベント毎に、ラダーランタイム１２９を介して変数ファイル２Ａからフィールド値を読出し、読出し順に従う時系列にログファイル４０に格納（蓄積）することにより生成される（ステップＳ５２）。なお、イベントは、予め定められた条件式が満たされるとき、または端末装置１００からユーザ操作によるイベントが受信されたとき等を含み得る。実施の形態１では、この一定周期または条件式は、可変に設定され得る。設定された周期および条件式の情報は、ＨＭＩランタイム５の起動時に、プログラマブル表示器４の記憶部（ＲＡＭ４１３等）にロードされる。
【０１２４】
その後、画面切換処理が実施される。この処理は、上述した画面切換のための通信シーケンス（図１２または図１３）と同じであるので、詳細な説明は繰返さない。
【０１２５】
画面切換処理がなされる場合、ＨＭＩランタイム５は、ログファイル４０から、切換後の画面に含まれる部品（グラフ）のためのログデータを読出す。ＨＭＩランタイム５は、読出されたログデータと、画面データ６１のグラフの部品の属性６１１とに基づき、ビジネスロジック６１９を実行し、実行により、ログデータを座標系の点列データ３６に変換する（ステップＳ５４）。このビジネスロジック６１９を実行することにより、点列データ３６は、端末装置１００の画面のグラフの部品の表示に必要な長さの時系列のデータのみを含む。
【０１２６】
ＨＭＩランタイム５は、端末装置側通信部７を介して、更新通知とともにグラフ部品の属性値（グラフの点列データ３６）を、端末装置１００に送信する（ステップＳ５５、Ｓ５６）。
【０１２７】
端末装置１００の遠隔監視アプリケーション１２５は、プログラマブル表示器４からの点列データ３６に基づき、グラフの値を更新するように画面を表示する（ステップＳ５７）。
【０１２８】
これにより、画面の切換え時に、切換後の画面のグラフは、ログファイル４０にロギング（蓄積）されている最新のフィールド値の時系列に従う変化を表示する。
【０１２９】
次に、ユーザが、画面のグラフ（部品）を操作した場合の通信シーケンスを説明する。操作として、例えば、クリック操作がなされる。
【０１３０】
遠隔監視アプリケーション１２５は、画面データ６２から、操作内容に基づきイベントＩＤ６１２を読出し、イベントＩＤ６１２を含むクリックイベント通知をプログラマブル表示器４に送信する（ステップＳ５８、Ｓ５９）。
【０１３１】
端末装置側通信部７は、端末装置１００からのクリックイベント通知を、ＨＭＩランタイム５に送信する（ステップＳ６０）。ＨＭＩランタイム５は、端末装置１００からのクリックイベント通知のイベントＩＤ６１２に関連付けられた画面データ６１のビジネスロジック６１９を実行する（ステップＳ６１）。これにより、ログファイル４０からログデータを取得し、取得されたログデータを点列データ３６に変換する（ステップＳ６１、Ｓ６２）。
【０１３２】
ＨＭＩランタイム５は、端末装置側通信部７を介して、部品の属性値（グラフの点列データ３６）を更新通知とともに端末装置１００に送信する（ステップＳ６３、Ｓ６４）。
【０１３３】
端末装置１００の遠隔監視アプリケーション１２５は、受信した更新通知に従い、部品の属性値（グラフの点列データ３６）に基づき、画面のグラフを更新する（ステップＳ６５）。このように、画面のグラフがクリック操作される毎に、グラフは最新のログデータに従い更新される。
【０１３４】
図１９は、実施の形態１にかかる部品（グラフ）の点列データ３６の一例を示す図である。図１９の点列データ３６は、例えば系列１のグラフと系列２のグラフの点列データ３６を含む。
【０１３５】
なお、画面のグラフ（部品）に対する受付可能な操作内容（イベントＩＤ６１２）の種類は、グラフの時系列データを更新するクリック操作に限定されない。例えば、グラフに対するピンチ操作またはスワイプ操作等であってもよい。ピンチ操作の場合は、ピンチインであればグラフを縮小するためのビジネスロジック６１９が実行され（ステップＳ６１）、またピンチアウトであればグラフを拡大するためのビジネスロジック６１９が実行され（ステップＳ６１）、またスクロール操作であればグラフをスクロールするためのビジネスロジック６１９が実行される（ステップＳ６１）。
【０１３６】
（画面の表示例）
図２０は、端末装置１００のディスプレイ１０２における表示画面の一例を示す図である。図２０（Ａ）は、画面の部品として、時系列のグラフＧ１（Ｇ２）、ランプ（Lamp）Ｌ１、棒グラフＲＴ、ボタン（Button）ＢＴ１、ならびに文字列ＣＨを含む。ランプＬ１はフィールド値として、例えば弁（バルブ）の開閉状態を表す。グラフＲＴは、フィールド値として、例えば温度センサの測定値を表す。文字列ＣＨは、グラフＲＴの属性値（温度）の名称（ＴＥＭＰ）を示す。ボタンＢＴ１は、画面を切換えるためにユーザが操作するアイコンに相当する。
【０１３７】
図２０（Ａ）の画面を表示中に、上記のモニタ処理が実施されて画面が切換えられると、図２０（Ｂ）の切換後の画面では、例えばランプＬ１は、更新後の属性値（弁の閉状態）を表し、グラフＲＴは、更新後の属性値（上昇した温度）を表す。また、図２０（Ａ）のグラフＧ１とＧ２にピンチイン操作がなされた場合、グラフＧ１とＧ２は図２０（Ｂ）のように縮小される。なお、図２０の画面の部品の個数、各部品の種類および属性値は一例であり、これらに限定されない。
【０１３８】
（実施の形態１の変形例）
上記に述べた実施の形態１の変形例を示す。図２１と図２２は、実施の形態１の変形例を示す図である。実施の形態１では、図４に示すように、コントローラ１とプログラマブル表示器４は別体として備える構成を説明したが、構成はこれに限定されない。例えば、図２１に示すように、コントローラ１Ａとプログラマブル表示器４Ａは、これら機能を一体的に内蔵するＩＰＣ（Industrial  Personal  Computer、所謂産業用のコンピュータ）２として提供されてもよい。
【０１３９】
また、図２２に示すように、端末装置１００の専用の遠隔監視アプリケーション１２５に代えて、Ｗｅｂ（World  Wide  Web）ブラウザ１２５ａを適用してもよい。Ｗｅｂブラウザ１２５ａとしては、一般的な端末装置１００に搭載されている汎用のＷｅｂブラウザを利用することができる。
【０１４０】
上記の実施の形態では、コントローラ１に接続されるファクトリオートメーション用の情報機器としてプログラマブル表示器４またはＩＰＣ（産業用のコンピュータ）を示したが、その他に、ディスプレイを備えない計算機であってもよい。
【０１４１】
また、上記の実施の形態では、端末装置１００がディスプレイ１０２に画面を表示する場合は、コントローラ１から得たフィールド値を含む情報またはプログラマブル表示器４から得た情報に基づき、ディスプレイ１０２の部品の属性値を変化させることができる。この部品は、時計を表す部品を含む。また、端末装置１００がプログラマブル表示器４から得る情報は、時計４１５が計測する時間の情報を含む。これにより、端末装置１００は、プログラマブル表示器４の時計４１５が計測する時間の変化によって、ディスプレイ１０２における時計の表示を変化させることができる。
【０１４２】
（実施の形態１の利点）
実施の形態１によれば、端末装置１００にフィールド機器を遠隔監視するための画面が表示されるとき、プログラマブル表示器４は、画面データ６１の一部を端末装置１００に送信する。したがって、プログラマブル表示器４から端末装置１００への通信量を少なくできて、通信負荷に起因して端末装置１００における画面の切換性能が損なわれるのを防止することができる。この利点は、プログラマブル表示器４に複数台の端末装置１００が接続される場合であっても、各端末装置１００について同様に奏される。
【０１４３】
[実施の形態２]
実施の形態２では、上述の「プログラマブル表示器４」の機能をＣＰＵ４１１に実行させるためのプログラムが提供される。また、上述の「端末装置１００」の機能をＣＰＵ１１０に実行させるためのプログラムが提供される。このようなプログラムは、プログラマブル表示器４または端末装置１００に付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカード４２０，１０６などのコンピュータ読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、ハードディスク１１４などの記録媒体にて記録させて、プログラムを提供することもできる。また、図示しないネットワークから通信インタフェース１２４，４１９を介したダウンロードによって、プログラムを提供することもできる。
【０１４４】
なお、プログラムは、プログラマブル表示器４または端末装置１００のＯＳ（オペレーティングシステム）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、実施の形態２のプログラムに含まれ得る。
【０１４５】
また、実施の形態２にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、実施の形態３にかかるプログラムに含まれ得る。
【０１４６】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１４７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４８】
１，１Ａ  コントローラ、２  ラダーロジック走査部、２Ａ  変数ファイル、３  コントローラ側通信部、４，４Ａ  プログラマブル表示器、５  ＨＭＩランタイム、７  端末装置側通信部、３０  部品テーブル、３３，６１Ｂ  属性値、３６  点列データ、４０  ログファイル、５１  ベース画面データ、６１，６２  画面データ、１００  端末装置、１０１，４１８  タッチスクリーン、１０２，４８１  ディスプレイ、１０４  タッチパッド、１０６，４２０  メモリカード、１１１，１１５  通信路、１１２  メモリ、１１３  タイマ、１１４  ハードディスク、１１８  入力インタフェース、１２０  表示コントローラ、１２１  通信処理部、１２２  操作受付部、１２３  表示制御部、１２４，４１９  通信インタフェース、１２５  遠隔監視アプリケーション、１２５ａ  ブラウザ、１２９  ラダーランタイム、６０９  画面ＩＤ、６１０  部品ＩＤ、６１２  イベントＩＤ、６１３  部品の種類、６１４  背景色、６１５  文字色、６１６  表示位置、６１７  サイズ、６１８  テキスト、６１９  ビジネスロジック。
【図１】
2019061299.tif 000003
【図２】
2019061299.tif 000004
【図３】
2019061299.tif 000005
【図４】
2019061299.tif 000006
【図５】
2019061299.tif 000007
【図６】
2019061299.tif 000008
【図７】
2019061299.tif 000009
【図８】
2019061299.tif 000010
【図９】
2019061299.tif 000011
【図１０】
2019061299.tif 000012
【図１１】
2019061299.tif 000013
【図１２】
2019061299.tif 000014
【図１３】
2019061299.tif 000015
【図１４】
2019061299.tif 000016
【図１５】
2019061299.tif 000017
【図１６】
2019061299.tif 000018
【図１７】
2019061299.tif 000019
【図１８】
2019061299.tif 000020
【図１９】
2019061299.tif 000021
【図２０】
2019061299.tif 000022
【図２１】
2019061299.tif 000023
【図２２】
2019061299.tif 000024