JP2010165152A - Terminal device, screen transmission system, terminal program, and screen transmission method - Google Patents
Terminal device, screen transmission system, terminal program, and screen transmission method Download PDFInfo
- Publication number
- JP2010165152A JP2010165152A JP2009006522A JP2009006522A JP2010165152A JP 2010165152 A JP2010165152 A JP 2010165152A JP 2009006522 A JP2009006522 A JP 2009006522A JP 2009006522 A JP2009006522 A JP 2009006522A JP 2010165152 A JP2010165152 A JP 2010165152A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- update data
- update
- area
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
本発明は、端末装置及び画面伝送システム及び端末プログラム及び画面伝送方法に関するものである。本発明は、特に、HMI(Human・Machine・Interface)画面を持つ機器と、そのHMI画面を遠隔地からリアルタイムにモニタ、操作するための遠隔端末、及びそれらの2者間のシステムに関するものである。また、本発明は、特に、遠隔端末への変更領域画面伝送方法及び表示方法に関するものである。 The present invention relates to a terminal device, a screen transmission system, a terminal program, and a screen transmission method. The present invention particularly relates to a device having an HMI (Human / Machine / Interface) screen, a remote terminal for monitoring and operating the HMI screen in real time from a remote location, and a system between the two. . In particular, the present invention relates to a change area screen transmission method and display method to a remote terminal.
FA(Factory・Automation)やPA(Process・Automation)で使用される機器は一般的に設定項目が多く、エンドユーザが製品を導入した直後から当該製品の機能を使いこなせることは少ない。このためメーカ側のサポートの一貫として、海外等の遠隔地のエンドユーザに使用方法をレクチャーすることが多い。また保守サービスとして、遠隔地の端末からエンドユーザの機器の状態を診断したり障害発生状況を確認したりするケースも多い。このため、機器のHMI画面を遠隔端末からモニタ、操作したいといった要求がある。 Devices used in FA (Factory Automation) and PA (Process Automation) generally have many setting items, and it is rare that end users can use the functions of the product immediately after installing the product. For this reason, as part of support for manufacturers, lectures on usage are often given to end users in remote locations such as overseas. Also, as a maintenance service, there are many cases in which the status of an end user's device is diagnosed or a failure occurrence status is confirmed from a remote terminal. For this reason, there is a demand for monitoring and operating the HMI screen of the device from a remote terminal.
遠隔端末から機器のHMI画面をモニタ、操作する方法として、従来では遠隔端末であるPC(パーソナルコンピュータ)等に、遠隔モニタ、操作を行うための専用アプリケーションをインストールする必要があり、機器開発メーカ側としては、この専用アプリケーションの開発コストが高くつき、ユーザ側としては無料又は有料で専用アプリケーションのインストールを実施する等の手間がかかっている。さらに伝送データ削減のための新方式やセキュリティ向上等のため、メーカ側の都合により、機器と遠隔端末間のHMI画面の伝送方式を変更したい場合は、全ての専用アプリケーションのバージョンアップをユーザに強いる必要があり、不便であった。 As a method for monitoring and operating the HMI screen of a device from a remote terminal, it has been necessary to install a dedicated application for remote monitoring and operation on a PC (personal computer), which has been a remote terminal. As a result, the development cost of this dedicated application is high, and it takes time and effort for the user to install the dedicated application for free or for a fee. In addition, if the manufacturer wants to change the transmission method of the HMI screen between the device and the remote terminal due to the manufacturer's reasons, for example, a new method for transmission data reduction or security improvement, the user is forced to upgrade all dedicated applications. It was necessary and inconvenient.
しかし、現在は様々なプラットフォーム上で動作する汎用表示ツールとして、Webブラウザが普及している。Webブラウザ上での表示処理は、Webサーバが動作する機器に格納されたJavaScript(登録商標)やHTML(HyperText・Markup・Language)文書のみによって実現されるため、機器開発メーカ側の都合で、HTTP(HyperText・Transfer・Protocol)で規定された範囲内において、HMI画面の伝送方式の変更が自由であるという利点もある。 However, at present, Web browsers are widely used as general-purpose display tools that operate on various platforms. The display processing on the Web browser is realized only by a JavaScript (registered trademark) or HTML (HyperText, Markup, Language) document stored in a device on which the Web server operates. There is also an advantage that the transmission method of the HMI screen can be freely changed within a range defined by (HyperText / Transfer / Protocol).
また画像データはデータ量が膨大なものとなるため、サイズを低減し、送受信にかかる時間を減らして、トラフィックに影響を与えないようにする方法が考案されている。特にWebブラウザを用いてHTTPでの遠隔診断を実施する場合には、Webサーバが動作する機器から送信される画像データのデータ量を削減することによる「伝送路トラフィックの低減」と、Webブラウザからのリクエストタイミングを最適化することによる「伝送路の効率的な使用」の2つの施策によって、Webブラウザ上での表示性能が向上する。 In addition, since the amount of image data is enormous, a method has been devised in which the size is reduced, the time required for transmission and reception is reduced, and traffic is not affected. In particular, when performing remote diagnosis by HTTP using a Web browser, “reducing transmission line traffic” by reducing the amount of image data transmitted from a device on which the Web server operates, The display performance on the Web browser is improved by two measures of “efficient use of the transmission path” by optimizing the request timing.
「伝送路トラフィックの低減」に関しては、送信画像データを低減させて、HMI画面情報を遠隔端末へ送信する方法として、例えば特許文献1に開示されている方法がある。特許文献1では、第一電子装置がフルスクリーンフレームを第二電子装置へ送信し、後には、フルスクリーンフレームに変更が生じた領域を示す変更矩形を含む少なくとも1つの矩形データを第二電子装置に送信することで、伝送するスクリーンフレームのデータ量を効率的に低減させるとしている。
Regarding “reduction of transmission path traffic”, there is a method disclosed in
Webブラウザ上で複数の画像を合成して表示させる方法としては、例えば、特許文献2に開示されている方法がある。特許文献2では、Webブラウザ上にて異なる周期で更新される複数の情報を、1つの表示領域に表示する情報合成手段が提示されている。 As a method of combining and displaying a plurality of images on a Web browser, for example, there is a method disclosed in Patent Document 2. Japanese Patent Laid-Open No. 2004-228561 presents information combining means for displaying a plurality of information updated at different periods on a Web browser in one display area.
WWW(World・Wide・Web)において使用されるHTTPは、Webブラウザが要求を送信してWebサーバが応答を返す、リクエスト−レスポンス形式の仕組みで動作している。この場合、Webブラウザから送信されるリクエストの時間間隔が、伝送するスクリーンフレームのデータ量と対応していないとあまり意味がない。つまり、特許文献1で開示されている技術では、データ量を低減しても伝送路のトラフィックを低減させて、他の通信に対する影響を削減させるだけであり、対象システム自体の性能を向上させるわけではない。また、遠隔端末のWebブラウザで、Webサーバが動作する機器のHMI画面と同じ内容を表示するためには、送信された変更部分の領域画像データを連続的に重ね合わせて表示させていく必要がある。
HTTP used in WWW (World Wide Web) operates by a request-response format mechanism in which a Web browser transmits a request and a Web server returns a response. In this case, it does not make much sense if the time interval of requests transmitted from the Web browser does not correspond to the amount of screen frame data to be transmitted. That is, with the technique disclosed in
特許文献2は、WebサーバからHTMLもしくはXML(eXtensible・Markup・Language)ドキュメントとして送信された情報に対して、Webブラウザ内でActiveX(登録商標)等を利用して情報を加工して、Webブラウザ上に表示すべき画像データを作成し、1つの表示領域に表示する方法であり、本発明の実施の形態として後述するような、Webサーバから送信された画像データそのものを連続して重畳表示する方法としては適さない。また、Webブラウザへ送信される画像データの表示位置と大きさが毎回異なり、なおかつ過去に要求し応答として送信された画像データの手前に半永久的に重畳表示させていく方法については開示されていない。 Japanese Patent Laid-Open No. 2004-259561 discloses a technique for processing information transmitted from a Web server as an HTML or XML (extensible Markup Language) document using ActiveX (registered trademark) or the like in the Web browser. In this method, image data to be displayed is created and displayed in one display area, and the image data itself transmitted from the Web server is continuously superimposed and displayed as will be described later as an embodiment of the present invention. Not suitable as a method. In addition, there is no disclosure of a method of displaying the image data transmitted to the Web browser differently each time and displaying the image data semi-permanently in front of the image data requested in the past and transmitted as a response. .
本発明は、例えば、端末装置にて表示する画面を更新する際に送信又は受信されるデータを削減するとともに、削減されたデータを補うために必要となる処理を効率化することを目的とする。 An object of the present invention is, for example, to reduce data transmitted or received when updating a screen to be displayed on a terminal device, and to improve the efficiency of processing necessary to supplement the reduced data. .
本発明の一の態様に係る端末装置は、
画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置において、
前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データを受信する更新データ受信部と、
前記更新データ受信部により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを1つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新部とを備えることを特徴とする。
A terminal device according to one aspect of the present invention includes:
In a terminal device that outputs a terminal screen configured to superimpose a plurality of layers capable of displaying an image and hide an area where an image displayed on a front layer overlaps with a back layer,
An update data receiving unit for receiving update data indicating display contents after update of an area to be updated in the terminal screen;
Each time update data is received by the update data receiving unit, one layer is selected from the plurality of layers in an arbitrary order, and the display content indicated by the update data is an area in the selected layer, The updated data is displayed in an area corresponding to the area indicating the display content, and the terminal screen is updated by superimposing the plurality of layers so that the selected layer is in front of the previously selected layer, and the updated terminal And a terminal screen update unit that outputs the screen to a display device.
本発明の一の態様によれば、複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置において、端末画面更新部が、前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを1つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新することにより、前記端末画面を更新する際に送信又は受信されるデータを削減するとともに、削減されたデータを補うために必要となる処理(更新前のデータと更新後のデータとを合成する処理)を効率化することが可能となる。 According to one aspect of the present invention, in a terminal device that outputs a terminal screen configured to superimpose a plurality of layers and hide an area in which an image displayed on the front layer overlaps the back layer, the terminal The screen update unit selects one layer from the plurality of layers in any order and receives the update data each time update data indicating the display content after updating the region to be updated in the terminal screen is received. The display content indicated by the data is displayed in an area in the selected layer corresponding to the area in which the update data indicates the display content, and the selected layer is placed in front of the previously selected layer. By updating the terminal screen by superimposing a plurality of layers, it is necessary to reduce data transmitted or received when updating the terminal screen and to supplement the reduced data. It is possible to improve the efficiency of the become processing (processing for combining the post-updated data before updating data).
以下、本発明の実施の形態について、図を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本実施の形態に係る画面伝送システム100の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a
図1において、画面伝送システム100は、遠隔監視の対象となるHMI画面を持つ機器110と、機器110のHMI画面を監視する遠隔端末130(端末装置の一例)とを備える。
In FIG. 1, a
機器110は、画像を表示可能なサーバ画面(HMI画面)を更新するサーバ装置の一例であり、サーバ画面更新部121と更新データ送信部122とを備える。
The
機器110のサーバ画面更新部121は、機器110本体の主制御部114と、機器110に付属するキーやタッチパネル等の入力装置からの入力情報を処理する入力コマンド処理部113と、そのコマンドを待ち行列として保持しておく入力コマンドイベントキュー111と、機器110のHMI表示を行うHMI画面描画部115と、機器110が具備するVRAM(Video・Random・Access・Memory)に格納されるHMI画面データ116とを有している。また、機器110のサーバ画面更新部121は、HMI画面描画部115により描画が行われた領域を記録しておく描画領域履歴データ112を持っている。
The server screen update unit 121 of the
機器110のサーバ画面更新部121は、上記の各部を利用して、HMI画面を更新する。
The server screen update unit 121 of the
機器110の更新データ送信部122は、HMI画面をキャプチャするための画面キャプチャ処理部118を有している。また、機器110の更新データ送信部122には通信機能として、HTTPサーバ機能部119が搭載されており、遠隔端末130であるHTTPクライアントからのリクエストを処理するCGI(Common・Gateway・Interface)プログラム117が動作している。HTTPサーバ機能部119やCGIプログラム117は、具体的には機器110で動作するWebサーバに実装されるものである。また、機器110の更新データ送信部122は、クライアントからアクセスされたタイミングで遠隔端末130のWebブラウザへ送信されるHTMLドキュメントや遠隔表示処理のためのJavaScriptであって、機器110が具備する記憶装置に格納されるHTML/JavaScriptドキュメント120を有している。
The update
機器110の更新データ送信部122は、上記の各部を利用して、更新データを生成し、遠隔端末130へ、生成した更新データを送信する。ここで、更新データとは、HMI画面内でサーバ画面更新部121により更新された領域の表示内容を示すデータであり、例えば、HMI画面内における当該領域の位置を示す座標データや当該領域内の画素データ群を含むものである。
The update
一方、遠隔端末130は、画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面(ブラウザ画面)を出力する端末装置の一例であり、更新データ受信部136と端末画面更新部137とを備える。
On the other hand, the
遠隔端末130の更新データ受信部136には、HTTPクライアント機能部131が搭載されている。HTTPクライアント機能部131は、具体的には遠隔端末130で動作するWebブラウザに実装されるものである。
The update data receiving unit 136 of the
遠隔端末130の更新データ受信部136は、上記のHTTPクライアント機能部131を利用して、機器110から、更新データ送信部122により送信された更新データを受信する。
The update data reception unit 136 of the
遠隔端末130の端末画面更新部137は、Webサーバから取得したHTML/JavaScriptドキュメント120を一時的に格納しておくHTMLキャッシュ134と、HTML/JavaScriptドキュメント120を解析・処理するHTML/JavaScript解析部132と、複数の描画レイヤオブジェクト135(複数のレイヤの一例)を使用してブラウザ上に画像オブジェクト等を表示するブラウザ表示処理部133を有している。HTML/JavaScript解析部132やブラウザ表示処理部133も、遠隔端末130で動作するWebブラウザに実装されるものである。
The terminal screen update unit 137 of the
遠隔端末130の端末画面更新部137は、更新データ受信部136により更新データが受信される度に、まず、複数の描画レイヤオブジェクト135から任意の順番で描画レイヤオブジェクト135を1つ選択する。次に、端末画面更新部137は、選択した描画レイヤオブジェクト135内で、更新データ受信部136により受信された更新データが表示内容を示す領域に対応する領域を特定する。例えば、端末画面更新部137は、更新データに含まれる座標データを参照して、選択した描画レイヤオブジェクト135内で同じ位置にある領域を特定する。次に、端末画面更新部137は、更新データ受信部136により受信された更新データが示す表示内容を、特定した描画レイヤオブジェクト135内の領域に表示させる。例えば、端末画面更新部137は、更新データに含まれる全ての画素データを、特定した領域に表示させる。次に、端末画面更新部137は、選択した描画レイヤオブジェクト135が前回選択された描画レイヤオブジェクト135より前面にくるように上記複数の描画レイヤオブジェクト135を重ね合わせてブラウザ画面を更新する。このとき、端末画面更新部137は、後述するように、選択した描画レイヤオブジェクト135を単に最前面に移動することにしてもよい。最後に、端末画面更新部137は、更新したブラウザ画面を表示装置に出力する。
The terminal screen update unit 137 of the
遠隔端末130のHTTPクライアント機能部131から機器110のHTTPサーバ機能部119に対してはHTTPリクエスト141が送信され、それに対する応答としてHTTPレスポンス142が返信される。
An
遠隔端末130の更新データ受信部136は、機器110へ、更新データの送信を要求する要求データをHTTPリクエスト141の1つとして送信する。機器110の更新データ送信部122は、遠隔端末130から、更新データ受信部136により送信された要求データを受信し、この要求データに応じて、遠隔端末130へ更新データをHTTPレスポンス142として送信する。更新データ送信部122は、要求データを受信する度に、遠隔端末130へ更新データを送信する。
The update data receiving unit 136 of the
本実施の形態では、機器110の更新データ送信部122は、更新データを複数回送信するうちの少なくとも1回、更新データとして全画面データを送信する。そのため、遠隔端末130の更新データ受信部136は、機器110から更新データを複数回受信するうちの少なくとも1回、更新データとして全画面データを受信することになる。ここで、全画面データとは、HMI画面全体の表示内容を示すデータであり、例えば、HMI画面内の全画素データ群を含むものである。
In the present embodiment, the update
遠隔端末130の更新データ受信部136は、描画レイヤオブジェクト135の数と等しい回数更新データを受信するうちの少なくとも1回、更新データとして全画面データを受信することが望ましい。つまり、更新データ受信部136は、端末画面更新部137による描画レイヤオブジェクト135の選択が一巡する前に少なくとも1回、更新データとして全画面データを受信することが望ましい。例えば、更新データ受信部136は、最初に全画面データを受信し、その後、端末画面更新部137による描画レイヤオブジェクト135の選択が一巡したら、再度全画面データを受信するようにすればよい。
It is desirable that the update data receiving unit 136 of the
また、本実施の形態では、機器110の更新データ送信部122は、さらに、サーバ画面更新部121によりHMI画面が更新される度に、HMI画面内で更新された領域の大きさに基づいて、当該領域の表示内容を示す更新データの送信にかかる時間を送信所要時間として計算する。後述するように、更新データ送信部122は、計算した送信所要時間に基づいて、遠隔端末130に対し、当該更新データを受信した後で次の要求データを送信するタイミングを指示してもよい。この場合、更新データ送信部122は、更新データを含むHTTPレスポンス142を送信する際に、そのHTTPレスポンス142に次の要求データを送信すべき時刻等を遠隔端末130に指示するデータを付加する。
または機器110からは更新データサイズのみを送信し、遠隔端末130側で更新データサイズから次の更新データ要求タイミングを計算してもよい。
Further, in the present embodiment, the update
Alternatively, only the update data size may be transmitted from the
また、本実施の形態では、機器110の更新データ送信部122は、後述する所定の条件に基づいて、遠隔端末130へ、更新データの代わりに、HMI画面内でサーバ画面更新部121により更新された領域の表示内容に対し所定のサンプリングを行ったサンプリングデータを送信してもよい。
In the present embodiment, the update
なお、本実施の形態は、遠隔端末130の更新データ受信部136が機器110以外から更新データを受信する場合にも適用可能である。
Note that this embodiment is also applicable when the update data receiving unit 136 of the
図2は、遠隔端末130のハードウェア構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the
図2において、遠隔端末130は、それぞれコンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
In FIG. 2, each of the
遠隔端末130は、それぞれプログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。
The
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。
The
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワークの一例である。
The
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記憶媒体に記憶される。RAM914やHDD920等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
The
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
The arrows in the block diagrams and flowcharts used in the description of this embodiment mainly indicate input / output of data and signals. Data and signals are recorded in memory such as
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
In the description of the present embodiment, what is described as “to part” may be “to circuit”, “to device”, “to device”, and “to step”, “to process”, “to”. ~ Procedure "," ~ process ". That is, what is described as “˜unit” may be realized by firmware stored in the
図3は、「伝送路トラフィックの低減」のために、送信画像データを低減させてHMI画面情報を遠隔端末130へ送信する方法を表した図である。
FIG. 3 is a diagram illustrating a method of transmitting the HMI screen information to the
図3では、遠隔端末130上のWebブラウザ210と、HMI画面240を持つ機器110側の各処理である、キャプチャ処理220(画面キャプチャ処理部118によって実行される)と、描画処理230(HMI画面描画部115によって実行される)と、それによって描画されるHMI画面240の様子を時系列で示している。Webブラウザ210からキャプチャ処理220に対して画面キャプチャ要求A211、A212、A213、A214(いずれもHTTPリクエスト141)が送信されている。一方描画処理230ではこれと非同期に、HMI画面240に対して描画コマンドC231、C232、C233、C234が実施されている。図3の例では、C231は矩形描画、C232は円描画、C233は三角形描画、C234は矩形消去である。HMI画面240は、初期状態はD241であり、以後描画コマンドC231、C232、C233、C234によってそれぞれD242、D243、D244、D245の画面に変更されている。
In FIG. 3, a capture process 220 (executed by the screen capture processing unit 118) and a rendering process 230 (HMI screen), which are processes on the side of the
図3において、A211、A212、A213、A214は、要求データの例である。B221は、全画面データによって示される、HMI画面240全体の表示内容の例である。B222、B223、B224は、更新データによって示される、HMI画面240内でサーバ画面更新部121により更新された領域の表示内容の例である。
In FIG. 3, A211, A212, A213, and A214 are examples of request data. B221 is an example of display contents of the
以下に画面キャプチャ要求から、画像データ送信までのフローについて説明する。ここでは、画面キャプチャ要求A213が送信される場合について説明する。 A flow from a screen capture request to image data transmission will be described below. Here, a case where the screen capture request A213 is transmitted will be described.
まず、Webブラウザ210より画面キャプチャ要求A213が機器110のキャプチャ処理220にHTTPリクエスト141として送信される。キャプチャ処理220は、前回の画面キャプチャ処理要求A212の受信から今回の要求A213受信時点までの期間にわたり、描画処理230によってHMI画面240に描かれた描画領域を取得する。この例の場合では、この期間中に描画コマンドC232の円の描画によってHMI画面240がD243の状態になり、引き続いて描画コマンドC233の三角形の描画によってHMI画面240がD244の状態となっている。
First, the screen capture request A 213 is transmitted from the
次にキャプチャ処理220は、これらC232とC233の2つの描画コマンドによって描画された描画領域を含む最小の矩形領域B223を座標計算によって決定し、この領域を対象にHMI画面240のキャプチャを行う。キャプチャ結果の画像データはHTTPレスポンス142としてWebブラウザ210へ送信される。なお、このとき、C232とC233の2つの描画コマンドによって描画された領域を別々にキャプチャしてWebブラウザ210へ送信してもよい。この場合は、画像キャプチャ要求とは別に、予めWebブラウザ210から画面変更領域取得リクエストを送信し、これへのレスポンスとして複数の領域に対してキャプチャを行うようにキャプチャ処理220へ促す。
Next, the
キャプチャ処理220はHMI画面240の全てのピクセル(画素)をキャプチャする通常の方法のほかに、対象となる領域のピクセル数が予め設定された閾値以上の場合(所定の条件の一例)、又は機器110と遠隔端末130との通信状態と画面キャプチャ要求を行ったWebブラウザ210の表示性能を鑑みて、これらの性能(例えば通信速度や表示速度)が予め設定された閾値以下の場合(所定の条件の一例)には、HMI画面240の縦Mピクセル(Mは2以上の整数)、横Nピクセル(Nは2以上の整数)の領域で1ピクセルの割合で、間引いてキャプチャを行う(例えば、2×2ピクセルにつき対角線上の2ピクセルしかキャプチャしない)方法もある。
In addition to the normal method of capturing all pixels (pixels) on the
なお、遠隔端末130上のWebブラウザ210で正しい位置への表示を行うためには、送信した画像データのHMI画面240内での表示位置(XY座標)もWebブラウザ210へ送信する必要があるが、これは、画面キャプチャ要求とは別に、予めWebブラウザ210から画面変更領域取得リクエストを送信し、これへのレスポンス(座標データの一例)としてWebブラウザ210へ通知しておいてもよいし、画像データ送信時のHTTPヘッダ内にCookie情報等として座標情報(座標データの他の一例)を入れて画像データ送信と同時に通知してもよい。ここで前者を2リクエスト方式、後者を1リクエスト方式と呼ぶ。
In order to display the correct position on the
また、前回の画面キャプチャ要求受信から今回の画面キャプチャ要求受信までの期間に描画が行われていない場合は、HMI画面240に更新がないため、空のHTTPレスポンス142がWebブラウザ210へ返される。
In addition, when drawing is not performed during the period from the previous screen capture request reception to the current screen capture request reception, the
また図3において定期的に、Webブラウザ210より全画面キャプチャ要求A211が機器110のキャプチャ処理220にHTTPリクエスト141として送信される。この場合は、前回キャプチャ要求からの描画処理如何に関わらず、全画面キャプチャ要求受信時点のHMI画面240の全画面キャプチャを行い、結果の画像データB221をWebブラウザ210へ送信する。
In FIG. 3, the full screen capture request A211 is periodically transmitted from the
次に、遠隔端末130にて、送信された領域画像データを表示する方法について説明する。
Next, a method for displaying the transmitted area image data on the
図4は、Webブラウザ210上で複数の画像を重ね合わせて表示させる方法を表した図である。
FIG. 4 is a diagram showing a method for displaying a plurality of images superimposed on the
Webブラウザ210では有限数(図4では説明のため4枚としている)の描画レイヤオブジェクト135を重ね合わせて表示させることができる。図4では最背面に描画レイヤオブジェクト135であるE201が全画面で表示され、その前面のE202で白い矩形、E203で白い円と三角形、E204で矩形の消去(背景と同じ色の矩形を描画することに相当する)の順で描画レイヤオブジェクト135が重畳表示されている。この結果、図4の時点ではWebブラウザ210上には色付きの背景に白い円と三角形が描画されているように見える。これは図3におけるHMI画面240のD245と同じ状態である。
The
以下にWebブラウザ210での画像データの重畳表示方法について説明する。
Hereinafter, a method for superimposing and displaying image data in the
図3で示したようにWebブラウザ210からの画面キャプチャ要求A211、A212、A213、A214に対して、キャプチャ処理220から画像データB221、B222、B223、B224を順に受信しているケースを考える。
Consider a case where image data B221, B222, B223, and B224 are sequentially received from the
まず、キャプチャ処理220からの最初の画像データB221の受信が完了すると、この画像データがWebブラウザ210の最背面に表示されている描画レイヤオブジェクト135であるE201に読み込まれ、最前面へ移動されると同時に表示される(F211)。同様に、次の画像データB222の受信が完了すると、描画レイヤオブジェクト135であるE202に読み込まれて、最前面へ移動、表示される(F212)。このようにして、送信された画像データは毎回最背面にある描画レイヤオブジェクト135に割り当てられ、画像データの受信が完了したタイミングで、最前面に移動して表示されていくことで、受信した画像データが常に最前面に表示されて、かつ受信した画像データに含まれていない(遠隔地の機器110のHMI画面240で更新されていない)領域は過去の画像データが見えたままになっているため、Webブラウザ210(ブラウザ画面)を見るユーザに対して、常に最新のHMI画面240を遠隔表示できることになる。
First, when reception of the first image data B221 from the
図4の例では描画レイヤオブジェクト135が4枚しかないため、E204の描画レイヤオブジェクト135が最前面に移動、表示された後は、最背面にある描画レイヤオブジェクト135であるE201を再使用する必要が生じる。この際、E204の移動・表示と同様に、機器110のHMI画面240側で変更があった領域のみを画像データとして受信し、描画レイヤオブジェクト135であるE201に割り当てて移動・表示を行うと(F215)、過去表示されていた全画面の背景の情報が消え、近々の4回分の更新領域のみが表示され、残りは空白の重畳表示になってしまう。
In the example of FIG. 4, since there are only four drawing layer objects 135, it is necessary to reuse E201 which is the
このため、前述したように、描画レイヤオブジェクト数に1度は、必ず全画面の画像データを受信する必要がある。この方法としては、上記の例に示したように、描画レイヤオブジェクト数ごとに必ず1度の全画面更新要求をWebブラウザ210からリクエストする方法や、毎回の画面キャプチャ要求に対するレスポンスで返ってくる画像データの大きさをWebブラウザ210側で確認しておき、最後の全画面データが送られてから、描画レイヤオブジェクト数ごとに全画面キャプチャ要求を送出する方法をとる。
For this reason, as described above, it is necessary to receive the image data of the entire screen every time the number of drawing layer objects is reached. As this method, as shown in the above example, a method of always requesting a full screen update request from the
次に「伝送路の効率的な使用」のための画面更新リクエスト間隔時間の決定方法とその効果について、1リクエスト方式と2リクエスト方式それぞれに分けて述べる。 Next, the method for determining the screen update request interval time for “efficient use of the transmission path” and its effect will be described separately for each of the 1-request method and the 2-request method.
図5は、1リクエスト方式における、Webブラウザ310からの画面更新リクエスト送信(A311、A312、A313、A314、A315)とWebサーバ320からの画像データ送信(B321、B322、B323、B324、B325)の例を時系列に表した図である。この図ではWebブラウザ310からのリクエストは等時間間隔で送信されている。
FIG. 5 shows screen update request transmission from the Web browser 310 (A311, A312, A313, A314, A315) and image data transmission from the Web server 320 (B321, B322, B323, B324, B325) in one request method. It is the figure which represented the example in time series. In this figure, requests from the
図5は、まずA311のリクエストにより画面全体の画像(B321)が送信され、以後のA312、A313、A314、A315のリクエストに対しては、画面内の一部のみの更新であるため、送信データ量(B322、B323、B324、B325)が少なくなっていることを表現している。この例では、B322、B323、B324、B325の各レスポンスの間はWebブラウザ310とWebサーバ320間の伝送路上の送信データ量が少なく効率が悪い。これはWebブラウザ310からの画面更新リクエストが定期的に送信されているためである。
In FIG. 5, first, the image (B321) of the entire screen is transmitted in response to the request of A311. Since the subsequent requests of A312, A313, A314, and A315 are only part of the update in the screen, the transmission data It represents that the amount (B322, B323, B324, B325) is decreasing. In this example, between the responses of B322, B323, B324, and B325, the amount of transmission data on the transmission path between the
図6は図5と同一条件の下で、Webブラウザ410からの画面更新要求タイミングを動的に決定、変更している場合の例を示した図である。
FIG. 6 is a diagram showing an example in which the screen update request timing from the
Webサーバ420からのレスポンスB421、B422、B423、B424の一点破線部分においてWebサーバ420では、送信すべき画像データのサイズが判明している。このため、このデータサイズから、Webブラウザ410による次のリクエスト送信までの時間間隔を計算し、Webブラウザ410側へ指定することで、Webブラウザ410での画面更新間隔を短くし、伝送路の使用効率も向上できる。
The size of the image data to be transmitted is known by the
図7は、2リクエスト方式における、Webブラウザ510からの画面更新リクエスト送信(A511、A512、A513、A514、A515)とWebサーバ520からの画像データ送信(B521、B522、B523、B524、B525)の例を時系列に表した図である。この図ではWebブラウザ510からのリクエストは等時間間隔で送信されている。
FIG. 7 shows screen update request transmission (A511, A512, A513, A514, A515) from the
図7では、まずA511の画面更新領域要求(HTTPリクエスト141)により、Webサーバ520にて更新されている領域の位置と大きさが算出されて、その領域の座標と大きさがレスポンスC526(HTTPレスポンス142)によってWebブラウザ510に返される。Webブラウザ510ではこれを基に画像データ要求D527(HTTPリクエスト141)を送信する。Webサーバ520ではD527(HTTPリクエスト141)で指定された領域の範囲をキャプチャしてレスポンスB521(HTTPレスポンス142)にて画像データを送信する。A512、A513、A514、A515も同様である。この例の場合も図5の例と同じく、Webブラウザ510とWebサーバ520間の伝送路上の負荷が低く効率が悪い。
In FIG. 7, first, the position and size of the area updated in the
図8は、図7と同一条件の下で、Webブラウザ610からの画面更新要求タイミングを動的に決定、変更している場合の例を示した図である。
FIG. 8 is a diagram illustrating an example in which the screen update request timing from the
2リクエスト方式の最初の画面更新領域要求に対するWebサーバ620からのレスポンスC626、その後のレスポンスC627、C628、C629、C630(一点破線部分)においてWebサーバ620では、B621、B622、B623、B624、B625で送信すべき画像データのサイズが判明している。このため、このデータサイズから、Webブラウザ610による次のリクエスト送信までの時間間隔を計算し、Webブラウザ610側へ指定することで、Webブラウザ610での画面更新間隔を短くし、伝送路の使用効率も向上できる。
The response C626 from the
以降に、図1に示した画面伝送システム100の動作について順を追って説明する。
Hereinafter, the operation of the
まず遠隔端末130の利用者が、Webブラウザから遠隔診断対象となる機器110で動作しているHTTPサーバ機能部119のアドレスにアクセスする。そうするとサーバ内のHTML/JavaScriptドキュメント120が遠隔端末130のHTMLキャッシュ134へ格納される。次にこのHTML/JavaScriptドキュメント120はHTML/JavaScript解析部132で解析されてスクリプトが実行される。
First, the user of the
JavaScriptには、Ajax(Asynchronous・JavaScript・and・XML)技術を使用して、サーバ側の処理とは非同期に、ある時間間隔Tをおいてサーバに対して画面更新リクエストを発生させている。このときのTの値は、後述する図9あるいは図10に示されているように、サーバから遠隔端末130へ送信されるデータ量によって動的に変更させることができる。また画面更新リクエストには全画面更新と描画領域のみの更新であるかを、リクエストのパラメータとして指定できる。
In JavaScript, Ajax (Asynchronous, JavaScript, and XML) technology is used to generate a screen update request to the server at a certain time interval T asynchronously with the processing on the server side. The value of T at this time can be dynamically changed according to the amount of data transmitted from the server to the
一方、機器110では通常(特に機器110が制御する駆動系システムのモニタ時等)は、主制御部114からの指令により、HMI画面描画部115は常にHMI画面データ116に対して描画を行っている。この描画コマンドとその描画対象領域の情報は逐次描画領域履歴データ112に格納されている。
On the other hand, in the device 110 (especially when monitoring a drive system controlled by the device 110), the HMI
以降、1リクエスト方式の場合と2リクエスト方式の場合について分けて記載する。 Hereinafter, the case of the 1 request method and the case of the 2 request method will be described separately.
1リクエスト方式の場合、遠隔端末130のWebブラウザからの画面データ要求を受け付けた、機器110のHTTPサーバ機能部119は、リクエストハンドラであるCGIプログラム117をコールする。対応するCGIプログラム117は、その画面データ要求が全画面対象であるか、描画領域のみの対象であるかをCGIコールのパラメータで判断する。全画面であれば、画面キャプチャ処理部118に対してキャプチャを依頼する。
In the case of the one request method, the HTTP
描画領域のみが対象である場合は、画面キャプチャ処理部118はHMI画面描画部115が保持する描画領域履歴データ112を参照し、前回のリクエスト時からの累積された描画領域を含む、最小の領域の座標を算出する。次に算出された領域部分のキャプチャを行う。
When only the drawing area is targeted, the screen
なお、このキャプチャ領域の矩形情報から、後の送信画像データ量が分かり、データ量から、Webブラウザから送信する次回のキャプチャタイミングを計算できる。 Note that the amount of image data to be transmitted later can be known from the rectangular information of the capture area, and the next capture timing transmitted from the Web browser can be calculated from the data amount.
図9は、「伝送路の効率的な使用」のための、1リクエスト方式の場合における、画面データ要求間隔時間の決定方法を示した図である。 FIG. 9 is a diagram showing a method for determining the screen data request interval time in the case of the one request method for “efficient use of the transmission path”.
前述したように、Webブラウザ710は遠隔端末130で動作し、Webサーバ720は機器110で動作するものである。A711とA712を画面データ要求、B721とB725を画面更新領域確定処理、C722とC726を画面キャプチャ処理、D723とD727を次回リクエストまでの時間間隔指定レスポンス、E724とE728を画面データ送信処理とする。
As described above, the
この図の例におけるWebブラウザ710とWebサーバ720間の伝送遅延時間をαとする。また画面更新領域確定処理B721及びB725にかかる時間をΔaとする。また画面キャプチャ処理C722及びC726にかかる時間をそれぞれΔb1、Δb2とする。さらに画面データ送信E724にかかる時間をdとする。
The transmission delay time between the
図9での1回目の画面データ要求A711と2回目の画面データ要求A712との間隔は、画面データ送信E724の完了直後に次の画面データ送信E728が開始されるように指定されることで、伝送路の効率が最大となる。以下でこのときのWebブラウザ710でのレスポンスD723受信とリクエストA712送信の間隔の定式化を行う。
The interval between the first screen data request A711 and the second screen data request A712 in FIG. 9 is specified so that the next screen data transmission E728 is started immediately after the completion of the screen data transmission E724. The efficiency of the transmission line is maximized. Hereinafter, the interval between the response D723 reception and the request A712 transmission in the
画面データ要求の時間間隔は、Webサーバ720からのレスポンスであるD723によってWebブラウザ710へ指定される。このとき指定される値は、レスポンスD723がWebブラウザ710によって解釈されるタイミングからの時間である必要があるため、図9のF729の範囲の時間が分かればよいことになる。
The time interval between screen data requests is designated to the
以上の条件から次の式(1)が成り立つ。
式(1):F729+A712+B725+C726=E724−D723
From the above conditions, the following equation (1) is established.
Formula (1): F729 + A712 + B725 + C726 = E724-D723
F729の時間をxと置いて変数を割り当てると、次の式(2)となる。
式(2):x+α+Δa+Δb2=d−α
When a variable is assigned after setting the time of F729 as x, the following equation (2) is obtained.
Formula (2): x + α + Δa + Δb2 = d−α
よって、次の式(3)となる。
式(3):x=d−2α−Δa−Δb2
Therefore, the following expression (3) is obtained.
Formula (3): x = d−2α−Δa−Δb2
ここで、この計算式を処理するWebサーバ720はB721の時点ではΔb2の値は予測不可能であるため、Δb2=Δb1と考え、さらに、画面更新領域確定処理(B721とB725)は無視できる程の時間で完了するため、Δa=0と考えると、次の式(4)となる。
式(4):x=d−2α−Δb1
Here, since the value of Δb2 is unpredictable at the time of B721, the
Formula (4): x = d−2α−Δb1
また、画面データ送信時間dの値(送信所要時間の一例)は送信データ量に比例し、送信データ量は原則的に画面更新領域確定処理(B721とB725)で判明する更新領域の面積に比例するため、予め過去の送信状況からこの比例係数を求めておくことができる。 Further, the value of the screen data transmission time d (an example of the required transmission time) is proportional to the amount of transmission data, and the amount of transmission data is proportional to the area of the update area determined in principle by the screen update area determination process (B721 and B725). Therefore, the proportionality coefficient can be obtained in advance from the past transmission situation.
したがって、Webサーバ720では、B721の処理中にd−2α−Δb1の値を計算してレスポンスD723にてWebブラウザ710へ送信し、このレスポンスがWebブラウザ710で解釈されてからd−2α−Δb1後に次の画面データ要求A712が送信されることで、伝送路を効率的に使用した画面データの送受信が可能となる。
Therefore, the
図1の画面キャプチャ処理部118では、以上の方法で計算された次の画面データ要求までの時間間隔情報と、キャプチャ結果による画像データがWebブラウザ側へレスポンスとして返される。この際、前者の時間間隔情報は画像データのHTTPヘッダあるいはCookieとして渡される。
The screen
遠隔端末130のWebブラウザでは、HTMLキャッシュ134内のHTML/JavaScriptドキュメント120が解析されて実行されることで、ブラウザ表示処理部133は、渡された画像データを描画レイヤオブジェクト135の最背面のオブジェクトに割り当て、最前面に移動してから表示する。さらにHTTPヘッダ等で渡された時間間隔を基に、次の画像データ要求の送信タイミングをHTMLキャッシュ134内のHTMLドキュメントを変更することで動的に変更している。
In the Web browser of the
以上のフローによって、機器110と遠隔端末130間で画像データの送受信と表示が実現できる。
Through the above flow, transmission / reception and display of image data between the
一方2リクエスト方式の場合、遠隔端末130のWebブラウザからの画面更新リクエストを受け付けた、機器110のHTTPサーバ機能部119は、リクエストハンドラであるCGIプログラム117をコールする。対応するCGIプログラム117は、その画面更新リクエストが全画面更新であるか、描画領域のみの更新であるかをCGIコールのパラメータで判断する。全画面更新であれば、キャプチャすべき範囲は全画面固定であるため、領域計算は行わない。描画領域のみが対象である場合は、画面キャプチャ処理部118はHMI画面描画部115が保持する描画領域履歴データ112を参照し、前回のリクエスト時からの累積された描画領域を含む、最小の領域の座標を算出する。
On the other hand, in the case of the two-request method, the HTTP
なお、この領域の矩形情報から、後の送信画像データ量が分かり、データ量から、Webブラウザから送信する次回のキャプチャタイミングを計算できる。 Note that the amount of image data to be transmitted later can be known from the rectangular information in this area, and the next capture timing to be transmitted from the Web browser can be calculated from the amount of data.
図10は、「伝送路の効率的な使用」のための、2リクエスト方式の場合における、画面更新リクエスト間隔時間の決定方法を示した図である。 FIG. 10 is a diagram illustrating a method for determining the screen update request interval time in the case of the two-request method for “efficient use of the transmission path”.
前述したように、Webブラウザ810は遠隔端末130で動作し、Webサーバ820は機器110で動作するものである。また、A811とA813を画面更新領域要求、B821とB825を画面更新領域確定処理、C822とC826を画面更新領域通知及び次回リクエストまでの時間間隔指定、D812とD814を画面データ要求、E823とE827を画面キャプチャ処理、F824とF828を画面データ送信処理とする。
As described above, the
今、この図の例におけるWebブラウザ810とWebサーバ820間の伝送遅延時間をαとする。また画面更新領域確定処理B821及びB825にかかる時間をΔaとする。また画面キャプチャ処理E823及びE827にかかる時間をそれぞれΔb1、Δb2とする。さらに画面データ送信F824にかかる時間をdとする。
Now, let α be the transmission delay time between the
図10での1回目の画面更新領域要求A811と2回目の画面更新領域要求A813との間隔は、画面データ送信F824の完了直後に次の画面データ送信F828が開始されるように指定されることで、伝送路の効率が最大となる。以下でこのときのWebブラウザ810でのレスポンスC822受信とリクエストA813送信の間隔の定式化を行う。
The interval between the first screen update area request A 811 and the second screen update area request A 813 in FIG. 10 is specified so that the next screen data transmission F 828 starts immediately after completion of the screen data transmission F 824. Thus, the efficiency of the transmission line is maximized. The following formulates the interval between the response C822 reception and the request A813 transmission in the
画面更新領域要求の時間間隔は、Webサーバ820からの最初のレスポンスであるC822によってWebブラウザ810へ指定される。このとき指定される値は、レスポンスC822がWebブラウザ810によって解釈されるタイミングからの時間である必要があるため、図10のG829の範囲の時間が分かればよいことになる。
The time interval between screen update area requests is designated to the
以上の条件から次の式(1)が成り立つ。
式(1):G829+A813+B825+C826+D814+E827=D812+E823+F824
From the above conditions, the following equation (1) is established.
Formula (1): G829 + A813 + B825 + C826 + D814 + E827 = D812 + E823 + F824
G829の時間をxと置いて変数を割り当てると、次の式(2)となる。
式(2):x+α+Δa+α+α+Δb2=α+Δb1+d
When a variable is assigned with the time of G829 as x, the following equation (2) is obtained.
Formula (2): x + α + Δa + α + α + Δb2 = α + Δb1 + d
よって、次の式(3)となる。
式(3):x=d−2α−Δa+Δb1−Δb2
Therefore, the following expression (3) is obtained.
Formula (3): x = d−2α−Δa + Δb1−Δb2
ここで、この計算式を処理するWebサーバ820は、B821の時点ではΔb2の値は予測不可能であるため、仮にΔb2=Δb1と考え、さらに、画面更新領域確定処理(B821とB825)は無視できる程の時間で完了するため、Δa=0と考えると、次の式(4)となる。
式(4):x=d−2α
Here, since the value of Δb2 is unpredictable at the time of B821, the
Formula (4): x = d-2α
また、画面データ送信時間dの値(送信所要時間の一例)は送信データ量に比例し、送信データ量は原則的に画面更新領域確定処理(B821とB825)で判明する更新領域の面積に比例するため、過去の送信状況からこの比例係数を求めることができる。 Further, the value of the screen data transmission time d (an example of the required transmission time) is proportional to the amount of transmission data, and the amount of transmission data is proportional to the area of the update area determined in principle by the screen update area determination process (B821 and B825). Therefore, this proportionality coefficient can be obtained from the past transmission situation.
したがって、Webサーバ820では、B821の処理中にd−2αの値を計算してレスポンスC822にてWebブラウザ810へ送信し、このレスポンスがWebブラウザ810で解釈されてからd−2α後に次の画面更新要求A813が送信されることで、伝送路を効率的に使用した画面データの送受信が可能となる。
Therefore, the
図1の画面キャプチャ処理部118及びCGIプログラム117では、次に遠隔端末130のHTMLキャッシュ134内のスクリプトを動的に変更するためのJavaScriptを、画面更新リクエストに対するレスポンスとして返す。
The screen
レスポンスとしてWebブラウザに返されるJavaScriptテキストでは、画面キャプチャ要求を送信させ、また次回の画面更新要求送信までの時間間隔値の書換えを行っている。 In the JavaScript text returned to the Web browser as a response, the screen capture request is transmitted, and the time interval value until the next screen update request transmission is rewritten.
この結果、直後にWebブラウザから画面キャプチャ要求が送信されるため、CGIプログラム117は画面キャプチャ処理部118に対して対象領域を指定してキャプチャを依頼する。キャプチャ結果による画像データがWebブラウザ側へのレスポンスとして返される。
As a result, a screen capture request is transmitted from the Web browser immediately after this, so the
遠隔端末130のWebブラウザでは、HTMLキャッシュ134内のHTML/JavaScriptドキュメント120が解析されて実行することで、ブラウザ表示処理部133は、渡された画像データを描画レイヤオブジェクト135の最背面のオブジェクトに割り当て、最前面に移動してから表示する。また先に変更されている、画面更新要求の送信タイミングに従って次の画面更新要求が送信される。
In the Web browser of the
以上のフローによって、機器110と遠隔端末130間で画像データの送受信と表示が実現できる。
Through the above flow, transmission / reception and display of image data between the
以上説明したように、本実施の形態に係る遠隔端末130への変更領域画面伝送方法及び表示方法は、HMI画面を持つ機器110がキャプチャ要求を受け付けた際に、送信データ量を低減させながら、高速に画面キャプチャ処理を実施して、画像データを遠隔端末130へ送信することを特徴とする。さらに、画像データ送信サイズを監視して、画像データ送信時の最大の伝送効率を持つように、次回の遠隔端末130からのキャプチャ要求時刻を得ることを可能とすることを特徴とする。また、このようにして機器110から送信された画像データを、遠隔端末130にてWebブラウザのみを使用して表示することを特徴とする。
As described above, the change area screen transmission method and display method to the
以上、次の(1)〜(5)の方法を採用した、HMI画面を持つ機器110と遠隔端末130間の遠隔モニタ方法について説明した。
(1)機器110側でHMI画面に対する描画処理を記録しておき、遠隔端末130からのキャプチャ要求受信時に、前回のキャプチャ要求から行われてきた描画処理について、描画対象となった領域を抽出して、これらの領域をすべて含む最小の1つの領域を決定するキャプチャ対象領域決定方法と、指定領域のみをキャプチャするキャプチャ方法
(2)機器110側から遠隔端末130側へ送信される更新領域の大きさから、画像データ送信にかかる所要時間を計算し、次回の遠隔端末130からのキャプチャ要求までの時間を決定するキャプチャ要求時間間隔決定方法
(3)指定領域のキャプチャ方法として、キャプチャ対象領域サイズが閾値以上である場合に、画素ごとのフルキャプチャを行わずに複数画素に1度のサンプリングキャプチャを行うキャプチャ方法
(4)指定領域のキャプチャ方法として、遠隔端末130側との通信性能及びブラウザ表示速度性能が予め設定された閾値以下である場合に、画素ごとのフルキャプチャを行わずに複数画素に1画素のサンプリングキャプチャを行うキャプチャ方法
(5)画面の一部領域の画像データがクライアント側に送信された際、クライアント側ブラウザにて、複数の描画オブジェクトを用意し、このうち最背面にあり、隠れてユーザには見えない描画オブジェクトに受信したキャプチャ画像を貼り付け、最前面に移動することを繰返して、連続して重畳表示させるブラウザでの連続画像表示方法
The remote monitoring method between the
(1) The drawing process for the HMI screen is recorded on the
100 画面伝送システム、110 機器、111 入力コマンドイベントキュー、112 描画領域履歴データ、113 入力コマンド処理部、114 主制御部、115 HMI画面描画部、116 HMI画面データ、117 CGIプログラム、118 画面キャプチャ処理部、119 HTTPサーバ機能部、120 HTML/JavaScriptドキュメント、121 サーバ画面更新部、122 更新データ送信部、130 遠隔端末、131 HTTPクライアント機能部、132 HTML/JavaScript解析部、133 ブラウザ表示処理部、134 HTMLキャッシュ、135 描画レイヤオブジェクト、136 更新データ受信部、137 端末画面更新部、141 HTTPリクエスト、142 HTTPレスポンス、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。
100 screen transmission system, 110 device, 111 input command event queue, 112 drawing area history data, 113 input command processing unit, 114 main control unit, 115 HMI screen drawing unit, 116 HMI screen data, 117 CGI program, 118 screen capture processing Part, 119 HTTP server function part, 120 HTML / Java Script document, 121 server screen update part, 122 update data transmission part, 130 remote terminal, 131 HTTP client function part, 132 HTML / Java Script analysis part, 133 browser display processing part, 134 HTML cache, 135 drawing layer object, 136 update data reception unit, 137 terminal screen update unit, 141 HTTP request, 142
Claims (8)
前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データを受信する更新データ受信部と、
前記更新データ受信部により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを1つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新部とを備えることを特徴とする端末装置。 In a terminal device that outputs a terminal screen configured to superimpose a plurality of layers capable of displaying an image and hide an area where an image displayed on a front layer overlaps with a back layer,
An update data receiving unit for receiving update data indicating display contents after update of an area to be updated in the terminal screen;
Each time update data is received by the update data receiving unit, one layer is selected from the plurality of layers in an arbitrary order, and the display content indicated by the update data is an area in the selected layer, The updated data is displayed in an area corresponding to the area indicating the display content, and the terminal screen is updated by superimposing the plurality of layers so that the selected layer is in front of the previously selected layer, and the updated terminal A terminal device, comprising: a terminal screen update unit that outputs a screen to a display device.
前記サーバ装置は、
前記サーバ画面を更新するサーバ画面更新部と、
前記サーバ画面内で前記サーバ画面更新部により更新された領域の表示内容を示す更新データを生成し、前記端末装置へ、生成した更新データを送信する更新データ送信部とを備え、
前記端末装置は、
前記サーバ装置から、前記更新データ送信部により送信された更新データを受信する更新データ受信部と、
前記更新データ受信部により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを1つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新部とを備えることを特徴とする画面伝送システム。 A terminal device that outputs a terminal screen configured to superimpose a plurality of layers that can display an image and hide an area in which the image displayed on the front layer overlaps the back layer, and a server that can display the image In a screen transmission system comprising a server device for updating a screen,
The server device
A server screen update unit for updating the server screen;
An update data transmission unit for generating update data indicating display contents of the area updated by the server screen update unit in the server screen, and transmitting the generated update data to the terminal device;
The terminal device
An update data receiving unit that receives update data transmitted by the update data transmitting unit from the server device;
Each time update data is received by the update data receiving unit, one layer is selected from the plurality of layers in an arbitrary order, and the display content indicated by the update data is an area in the selected layer, The updated data is displayed in an area corresponding to the area indicating the display content, and the terminal screen is updated by superimposing the plurality of layers so that the selected layer is in front of the previously selected layer, and the updated terminal A screen transmission system comprising: a terminal screen update unit that outputs a screen to a display device.
前記更新データ送信部は、前記端末装置から、前記更新データ受信部により送信された要求データを受信し、要求データを受信する度に、前記端末装置へ更新データを送信し、
前記更新データ送信部は、さらに、前記サーバ画面更新部により前記サーバ画面が更新される度に、前記サーバ画面内で更新された領域の大きさに基づいて、当該領域の表示内容を示す更新データの送信にかかる時間を送信所要時間として計算し、計算した送信所要時間に基づいて、前記端末装置に対し、当該更新データを受信した後で次の要求データを送信するタイミングを指示することを特徴とする請求項4に記載の画面伝送システム。 The update data receiving unit transmits request data for requesting transmission of update data to the server device,
The update data transmission unit receives the request data transmitted from the terminal device by the update data reception unit, and transmits the update data to the terminal device every time the request data is received.
The update data transmission unit further updates the display data of the area based on the size of the area updated in the server screen each time the server screen is updated by the server screen update unit. The transmission time is calculated as the required transmission time, and based on the calculated transmission required time, the terminal device is instructed to transmit the next request data after receiving the update data. The screen transmission system according to claim 4.
前記端末画面内で更新対象とする領域の更新後の表示内容を示す更新データを受信する更新データ受信処理と、
前記更新データ受信処理により更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを1つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力する端末画面更新処理とをコンピュータに実行させることを特徴とする端末プログラム。 In a terminal program that outputs a terminal screen configured to superimpose a plurality of layers capable of displaying an image and hide an area where an image displayed on the front layer overlaps on the back layer,
Update data reception processing for receiving update data indicating display contents after update of the area to be updated in the terminal screen;
Each time update data is received by the update data reception process, one layer is selected from the plurality of layers in an arbitrary order, and the display content indicated by the update data is an area in the selected layer, The updated data is displayed in an area corresponding to the area indicating the display content, and the terminal screen is updated by superimposing the plurality of layers so that the selected layer is in front of the previously selected layer, and the updated terminal A terminal program that causes a computer to execute terminal screen update processing for outputting a screen to a display device.
画像を表示可能な複数のレイヤを重ね合わせて、前面のレイヤに表示された画像が背面のレイヤにて重なる領域を隠すように構成した端末画面を出力する端末装置が、前記サーバ装置から、送信された更新データを受信し、
前記端末装置が、更新データが受信される度に、前記複数のレイヤから任意の順番でレイヤを1つ選択し、当該更新データが示す表示内容を、選択したレイヤ内の領域であって、当該更新データが表示内容を示す領域に対応する領域に表示させ、選択したレイヤが前回選択されたレイヤより前面にくるように前記複数のレイヤを重ね合わせて前記端末画面を更新し、更新した端末画面を表示装置に出力することを特徴とする画面伝送方法。 A server device that updates a server screen capable of displaying an image transmits update data indicating display contents of an area updated in the server screen,
A terminal device that outputs a terminal screen configured to superimpose a plurality of layers capable of displaying an image and hide an area in which the image displayed on the front layer overlaps on the back layer is transmitted from the server device Received update data,
Each time update data is received, the terminal device selects one layer from the plurality of layers in an arbitrary order, and the display content indicated by the update data is an area in the selected layer, and The updated terminal screen is displayed by updating the terminal screen by superimposing the plurality of layers so that the update data is displayed in an area corresponding to the area indicating the display content, and the selected layer is in front of the previously selected layer. Is output to a display device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009006522A JP5147742B2 (en) | 2009-01-15 | 2009-01-15 | Screen transmission system and screen transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009006522A JP5147742B2 (en) | 2009-01-15 | 2009-01-15 | Screen transmission system and screen transmission method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010165152A true JP2010165152A (en) | 2010-07-29 |
JP5147742B2 JP5147742B2 (en) | 2013-02-20 |
Family
ID=42581264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009006522A Expired - Fee Related JP5147742B2 (en) | 2009-01-15 | 2009-01-15 | Screen transmission system and screen transmission method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5147742B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014229147A (en) * | 2013-05-23 | 2014-12-08 | 株式会社オプティム | Operator terminal, user terminal, required time notification method, and program for operator terminal |
JP2015069616A (en) * | 2013-10-01 | 2015-04-13 | コニカミノルタ株式会社 | Preview image generation method and preview image generation program, and preview image generation device |
JP2015135544A (en) * | 2014-01-16 | 2015-07-27 | セイコーエプソン株式会社 | Display device, display system, and display method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04129487A (en) * | 1990-09-20 | 1992-04-30 | Matsushita Electric Ind Co Ltd | Picture reproducing device |
JPH06102859A (en) * | 1992-09-22 | 1994-04-15 | Komatsu Ltd | Picture display control device |
JP2004029538A (en) * | 2002-06-27 | 2004-01-29 | Sony Corp | Active matrix display device and picture signal processor |
JP2005208881A (en) * | 2004-01-22 | 2005-08-04 | Nec Corp | Document data distribution system, document data display method, and document data display program |
US20060012612A1 (en) * | 2004-06-24 | 2006-01-19 | International Business Machines Corporation | Systems and methods for sharing application data in a networked computing environment |
JP2007219626A (en) * | 2006-02-14 | 2007-08-30 | Casio Comput Co Ltd | Server device for computer system, server control program and its client device |
JP2007265209A (en) * | 2006-03-29 | 2007-10-11 | Casio Comput Co Ltd | Server device for computer system |
-
2009
- 2009-01-15 JP JP2009006522A patent/JP5147742B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04129487A (en) * | 1990-09-20 | 1992-04-30 | Matsushita Electric Ind Co Ltd | Picture reproducing device |
JPH06102859A (en) * | 1992-09-22 | 1994-04-15 | Komatsu Ltd | Picture display control device |
JP2004029538A (en) * | 2002-06-27 | 2004-01-29 | Sony Corp | Active matrix display device and picture signal processor |
JP2005208881A (en) * | 2004-01-22 | 2005-08-04 | Nec Corp | Document data distribution system, document data display method, and document data display program |
US20060012612A1 (en) * | 2004-06-24 | 2006-01-19 | International Business Machines Corporation | Systems and methods for sharing application data in a networked computing environment |
JP2007219626A (en) * | 2006-02-14 | 2007-08-30 | Casio Comput Co Ltd | Server device for computer system, server control program and its client device |
JP2007265209A (en) * | 2006-03-29 | 2007-10-11 | Casio Comput Co Ltd | Server device for computer system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014229147A (en) * | 2013-05-23 | 2014-12-08 | 株式会社オプティム | Operator terminal, user terminal, required time notification method, and program for operator terminal |
JP2015069616A (en) * | 2013-10-01 | 2015-04-13 | コニカミノルタ株式会社 | Preview image generation method and preview image generation program, and preview image generation device |
JP2015135544A (en) * | 2014-01-16 | 2015-07-27 | セイコーエプソン株式会社 | Display device, display system, and display method |
US9939943B2 (en) | 2014-01-16 | 2018-04-10 | Seiko Epson Corporation | Display apparatus, display system, and display method |
Also Published As
Publication number | Publication date |
---|---|
JP5147742B2 (en) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210286858A1 (en) | Systems and methods for improved web-based document retrieval and object manipulation | |
KR100772861B1 (en) | Apparatus and method for providing remote user interface | |
CN102577327B (en) | Method, apparatus and system for realizing web browsing in remote desk environment | |
US10860279B2 (en) | Method and system for browser-based screen sharing | |
US7649506B2 (en) | Method and apparatus for controlling image-display devices collectively | |
US11240403B2 (en) | Compensation for delay in PTZ camera system | |
JP2012043140A (en) | Web page browsing system and relay server | |
WO2015017672A1 (en) | Screen sharing using scripting computer language code | |
US9705936B2 (en) | System and method for interactive and real-time visualization of distributed media | |
JP5759955B2 (en) | Web page browsing server, Web page browsing system, Web page browsing method and program | |
CN116909505A (en) | Display method, device, system and medium of self-adaptive visual area | |
JP5147742B2 (en) | Screen transmission system and screen transmission method | |
JP5303534B2 (en) | Appearance information processing apparatus and method | |
US20130125054A1 (en) | Image processing apparatus that displays icon, method of controlling the same, image processing system, and storage medium | |
CN108399058B (en) | Signal display control method and device | |
JP4815501B2 (en) | Terminal device and program | |
JP5632733B2 (en) | Display device, screen image transfer method, and program | |
JP2010092103A (en) | Web page display method, server unit, and program | |
US20150271431A1 (en) | Information Transmission Method and Wireless Display System | |
CN118466807B (en) | Control method and device based on jQuery full-screen carousel map | |
CN113938756B (en) | Display interface sharing processing method and system | |
US20240160830A1 (en) | Information processing apparatus, image generating apparatus, methods for controlling information processing apparatus and image generating apparatus, information processing system, and storage medium | |
JP7563480B2 (en) | User interface extension system, user interface extension method, and user interface extension program | |
JP6568171B2 (en) | Program and information distribution apparatus | |
JP4463282B2 (en) | Information management apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120710 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120803 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121127 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |