(57)【要約】【課題】表示データ提供装置において、通信負荷を軽減することが望まれている。【解決手段】表示データ提供装置は、表示データを生成するアプリケーションサーバと、表示装置からのリクエストに応答して、アプリケーションサーバで生成された表示データを表示装置に提供するＷＥＢサーバであって、表示装置と双方向通信を行う双方向通信ＷＥＢサーバとを備え、アプリケーションサーバは、表示データを更新する必要があるか否かを判断するデータ更新管理部と、データ更新管理部によって表示データを更新する必要があると判断された場合に、表示データを生成するデータ生成部とを備え、双方向通信ＷＥＢサーバは、データ更新管理部によって表示データを更新する必要があると判断された場合に、表示装置からのリクエストによらずに、データ生成部によって生成された表示データを表示装置に提供する。【選択図】図１
2020119129.tif 000002
【特許請求の範囲】
【請求項１】
ＷＥＢブラウザを有する表示装置と接続し、機械の制御装置に関する表示データを前記表示装置に提供する表示データ提供装置であって、
前記表示データを生成するアプリケーションサーバと、
前記表示装置からのリクエストに応答して、前記アプリケーションサーバで生成された前記表示データを前記表示装置に提供するＷＥＢサーバであって、前記表示装置と双方向通信を行う双方向通信ＷＥＢサーバと、
を備え、
前記アプリケーションサーバは、
前記表示データを更新する必要があるか否かを判断するデータ更新管理部と、
前記データ更新管理部によって前記表示データを更新する必要があると判断された場合に、前記表示データを生成するデータ生成部と、
を備え、
前記双方向通信ＷＥＢサーバは、前記データ更新管理部によって前記表示データを更新する必要があると判断された場合に、前記表示装置からのリクエストによらずに、前記データ生成部によって生成された前記表示データを前記表示装置に提供する、
表示データ提供装置。
【請求項２】
前記双方向通信ＷＥＢサーバは、ｗｅｂｓｏｃｋｅｔに準拠する、請求項１に記載の表示データ提供装置。
【請求項３】
前記データ更新管理部は、前記表示データが変更された場合に、前記表示データを更新する必要があると判断する、請求項１又は２に記載の表示データ提供装置。
【請求項４】
前記表示データは、前記機械の制御装置の運転に関する情報を含む、請求項１〜３のいずれか１項に記載の表示データ提供装置。
【請求項５】
前記アプリケーションサーバは、前記表示装置から取得した前記表示装置に関する情報に基づいて、前記表示装置を判別するクライアント判別部を更に備え、
前記データ生成部は、前記クライアント判別部によって判別された前記表示装置の種類に適した前記表示データを、前記表示装置ごとに生成する、
請求項１〜４のいずれか１項に記載の表示データ提供装置。
【請求項６】
前記機械の制御装置に、又は前記機械の制御装置の上位サーバ装置に設けられる、請求項１〜５のいずれか１項に記載の表示データ提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示データ提供装置に関する。
【背景技術】
【０００２】
例えば、工作機械又はロボット等の機械を制御する数値制御装置に関する情報を、工作機械から離れた場所でも確認できるように、ＰＣ、タブレット又はスマートフォン等の表示装置がネットワークを介して数値制御装置に接続されることがある。
【０００３】
例えば、このような数値制御装置には、数値制御装置に関する表示データを表示装置に提供する表示データ提供装置が設けられる。このような表示データ提供装置として、ｈｔｔｐ（Hypertext Transfer Protocol）に準拠したＷＥＢサーバを備え、ｈｔｍｌ（HyperText Markup Language）のｓｃｒｉｐｔ及び表示データ等を含むｈｔｍｌファイルを表示装置に提供する装置が知られている。これにより、表示装置は、汎用のＷＥＢブラウザを用いて表示データを表示できる（例えば、特許文献１参照）（図４参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２４７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ｈｔｔｐでは、表示装置（クライアント）は、ＷＥＢブラウザを用いてＷＥＢサーバにリクエストを送信することにより、ＷＥＢサーバから表示データを取得し、表示データをＷＥＢブラウザに表示する。表示装置（クライアント）は、ＷＥＢサーバから表示データを取得し、ＷＥＢブラウザに表示する表示データを更新するためには、リクエストを定期的に送信する必要がある。この場合、表示データが更新されていない場合でも、表示装置はリクエストを送信し続ける必要があるため、表示装置と表示データ提供装置との通信処理に無駄が多い。
【０００６】
そこで、表示データ提供装置において、通信負荷を軽減することが望まれている。
【課題を解決するための手段】
【０００７】
本開示に係る表示データ提供装置の一態様は、ＷＥＢブラウザを有する表示装置と接続し、機械の制御装置に関する表示データを前記表示装置に提供する表示データ提供装置であって、前記表示データを生成するアプリケーションサーバと、前記表示装置からのリクエストに応答して、前記アプリケーションサーバで生成された前記表示データを前記表示装置に提供するＷＥＢサーバであって、前記表示装置と双方向通信を行う双方向通信ＷＥＢサーバとを備え、前記アプリケーションサーバは、前記表示データを更新する必要があるか否かを判断するデータ更新管理部と、前記データ更新管理部によって前記表示データを更新する必要があると判断された場合に、前記表示データを生成するデータ生成部とを備え、前記双方向通信ＷＥＢサーバは、前記データ更新管理部によって前記表示データを更新する必要があると判断された場合に、前記表示装置からのリクエストによらずに、前記データ生成部によって生成された前記表示データを前記表示装置に提供する。
【発明の効果】
【０００８】
一態様によれば、表示データ提供装置において、通信負荷を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る表示データ提供装置を備える表示データ提供システムの構成を示す図である。
【図２】本実施形態に係る表示データ提供装置を備える表示データ提供システムの動作を示す図である。
【図３】本実施形態の変形例に係る表示データ提供装置を備える表示データ提供システムの構成を示す図である。
【図４】従来の表示データ提供装置（ＷＥＢサーバ）を備える表示データ提供システムの構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００１１】
（表示データ提供システム）
図１は、本実施形態に係る表示データ提供装置を備える表示データ提供システムの構成を示す図である。図１に示す表示データ提供システム１は、表示データ提供装置１００と、数値制御装置２００と、３つの表示装置３００とを備える。本実施形態では、表示データ提供装置１００は数値制御装置２００に設けられている。表示データ提供装置１００と表示装置３００とは、有線又は無線のネットワークを介して接続される。
【００１２】
数値制御装置２００は、工作機械又はロボット等の機械を制御する装置であり、数値制御部２０１とＩ／Ｏ制御部２０２とを備える。数値制御部２０１は、機械におけるモータ制御部２１１を制御することによって、機械におけるサーボモータ又はスピンドルモータ等のモータ２１２の制御を行う。Ｉ／Ｏ制御部２０２は、ＰＭＣ（Programmable Machine Controller）のＩ／Ｏ情報をＩ／Ｏ装置２２１と送受信する。
【００１３】
数値制御装置２００は、数値制御部２０１における数値制御データ及びＩ／Ｏ制御部２０２におけるＩ／Ｏデータを表示する表示部を備えていてもよい。
【００１４】
表示装置３００は、ＰＣ、タブレット、スマートフォン等の異なる種類の情報端末であり、ＷＥＢブラウザを実装したクライアント端末である。表示装置３００は、ＷＥＢブラウザを用いて表示データ提供装置１００に、表示データの読み取り要求を行う。また、表示装置３００は、表示データ提供装置１００から表示データを取得し、表示データをＷＥＢブラウザに表示する。
【００１５】
表示データ提供装置１００は、数値制御装置２００に関する表示データを表示装置３００に提供する。以下、表示データ提供装置１００について説明する。
【００１６】
（表示データ提供装置）
表示データ提供装置１００は、アプリケーションサーバ１０と双方向通信ＷＥＢサーバ２０とを備える。
【００１７】
アプリケーションサーバ１０は、数値制御装置２００に関する表示データを生成及び管理する。アプリケーションサーバ１０は、データ更新管理部１２と、データ記憶部（第２データ記憶部）１４と、クライアント判別部１６と、データ生成部１８とを有する。
【００１８】
データ更新管理部１２は、数値制御装置２００に関する表示データ、具体的には数値制御部２０１の数値制御データ及びＩ／Ｏ制御部２０２のＩ／Ｏデータを周期的に取得及び管理する。
【００１９】
数値制御データ（表示データ）は、数値制御装置２００の運転に関する情報、より具体的には、数値制御部２０１の制御パラメータ（例えば、軸数、各軸名称、各軸の加減速の設定等）、数値制御部２０１から機械のモータ２１２（例えば、サーボモータ又はスピンドルモータ）への分配パルス、機械のモータ２１２から数値制御部２０１へのフィードバックパルス、及び、数値制御部２０１の異常通知のためのアラーム等のうちの少なくとも一つを含む。Ｉ／Ｏデータ（表示データ）は、数値制御装置２００の運転に関する情報、より具体的には、Ｉ／Ｏ制御部２０２におけるＰＭＣ（Programmable Machine Controller）の入出力信号等を含む。
【００２０】
データ更新管理部１２は、取得した表示データ、具体的には数値制御データ及びＩ／Ｏデータを更新する必要があるか否かを判断する。例えば、データ更新管理部１２は、表示装置３００に前回送信した表示データと最新の表示データとを比較して、表示データが変更された場合に、表示データを更新する必要があると判断する。
【００２１】
データ記憶部１４は、ｓｃｒｉｐｔファイルを記憶する。ｓｃｒｉｐｔファイルは、ｈｔｍｌファイルを含む。
【００２２】
クライアント判別部１６は、表示装置３００から取得した表示装置に関する情報、例えばＯＳの種類、表示サイズ、ＭＡＣ Ａｄｄｒｅｓｓ等のクライアント判別用データに基づいて、表示装置３００を判別する。
【００２３】
データ生成部１８は、データ更新管理部１２によって取得された表示データ、具体的には数値制御データ及びＩ／Ｏデータ、及びデータ記憶部１４に記憶されたｓｃｒｉｐｔファイルに基づいて、クライアント判別部１６によって判別された表示装置の種類に適した表示データを表示装置３００ごとに生成する。
データ生成部２６は、表示装置３００からリクエストがある場合に、表示データを生成する。また、データ生成部２６は、データ更新管理部１２によって表示データ、具体的には数値制御データ及びＩ／Ｏデータを更新する必要があると判断された場合に、表示用データを生成する。
【００２４】
双方向通信ＷＥＢサーバ２０は、公知のｈｔｔｐ等に準拠した一方向通信、又はｗｅｂｓｏｃｋｅｔ等に準拠した双方向通信を行うＷＥＢサーバである。双方向通信ＷＥＢサーバ２０は、表示装置３００からのリクエストに応答して、アプリケーションサーバ１０のデータ生成部１８によって生成された表示データを表示装置３００に提供する。また、双方向通信ＷＥＢサーバ２０は、アプリケーションサーバ１０のデータ更新管理部１２によって表示データを更新する必要があると判断された場合に、表示装置３００からのリクエストによらずに、データ生成部１８によって生成された表示データを表示装置３００に提供する。
【００２５】
双方向通信ＷＥＢサーバ２０は、データ記憶部（第１データ記憶部）２２を有する。データ記憶部２２は、ｓｃｒｉｐｔ及び表示データを含むｈｔｍｌファイルを記憶する。ｈｔｍｌファイルには、ｗｅｂｓｏｃｋｅｔ（双方向通信）のｓｃｒｉｐｔ、及び表示装置３００の情報を取得するためのｓｃｒｉｐｔなどが記述されている。また、ｈｔｍｌファイルは、簡単な画面の表示データなどを含む。
双方向通信ＷＥＢサーバ２０は、表示装置からのリクエストに応じて、データ記憶部２２に記憶されたｈｔｍｌファイルを表示装置３００に送信する。
【００２６】
表示データ提供装置１００及び数値制御装置２００（記憶部を除く）は、例えば、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field‐Programmable Gate Array）等の演算プロセッサで構成される。表示データ提供装置１００及び数値制御装置２００の各種機能は、例えば記憶部に格納された所定のソフトウェア（プログラム、アプリケーション）を実行することで実現される。表示データ提供装置１００及び数値制御装置２００の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよい。
【００２７】
データ記憶部１４及びデータ記憶部２２は、例えばＥＥＰＲＯＭ等の書き換え可能なメモリ、又は例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）等の書き換え可能なディスクである。
【００２８】
次に、図２を参照して、本実施形態に係る表示データ提供装置を備える表示データ提供システムの動作について説明する。図２は、本実施形態に係る表示データ提供装置を備える表示データ提供システムの動作を示す図である。なお、図２では、説明の便宜上、図１における３つの表示装置３００のうちの１つのみを示す。
（双方向通信の確立）
【００２９】
（１）まず、表示装置３００が、ＷＥＢブラウザに入力されたＵＲＬ（Uniform Resource Locator）によって双方向通信ＷＥＢサーバ２０にアクセスする。
（２）双方向通信ＷＥＢサーバ２０は、データ記憶部２２に格納されているｓｃｒｉｐｔ及び表示データを含むｈｔｍｌファイルを参照し、
（３）要求されたＵＲＬに対応するｈｔｍｌファイルを表示装置３００に送信する。上述したように、ｈｔｍｌファイルには、ｗｅｂｓｏｃｋｅｔ（双方向通信）のｓｃｒｉｐｔ、及び表示装置３００の情報を取得するためのｓｃｒｉｐｔなどが記述されている。また、ｈｔｍｌファイルは、簡単な画面の表示データなどを含む。
【００３０】
これにより、表示装置３００は、受信したｈｔｍｌファイルに記述されたｗｅｂｓｏｃｋｅｔのｓｃｒｉｐｔを解析し、ｗｅｂｓｏｃｋｅｔ（双方向通信）を認識し、表示装置３００と双方向通信ＷＥＢサーバ２０とのコネクションが確立される（すなわち、ｈｔｔｐに準拠した一方向通信からｗｅｂｓｏｃｋｅｔに準拠した双方向通信に切り換わる。）。
また、表示装置３００は、受信したｈｔｍｌファイルに含まれる画面の表示データをＷＥＢブラウザに表示する。
【００３１】
（４）次に、表示装置３００は、受信したｈｔｍｌファイルに記述されたｓｃｒｉｐｔ（表示装置の情報を取得するためのｓｃｒｉｐｔ）を解析し、クライアント判別用データ（ＯＳの種類、表示サイズ、ＭＡＣ Ａｄｄｒｅｓｓ等）を双方向通信ＷＥＢサーバ２０に送信する。
（５）双方向通信ＷＥＢサーバ２０は、受信したクライアント判別用データをアプリケーションサーバ１０に渡す。
【００３２】
（６）アプリケーションサーバ１０のクライアント判別部１６は、クライアント判別用データに基づいて、表示装置３００の種類を判別し、判別結果をデータ生成部１８に渡す。
（７）データ生成部１８は、数値制御装置２００に関する表示データ、具体的には数値制御部２０１の数値制御データ及びＩ／Ｏ制御部２０２のＩ／Ｏデータ、及びデータ記憶部１４に記憶されたｓｃｒｉｐｔファイルに基づいて、クライアント判別部１６によって判別された表示装置３００の種類に適した表示データを生成する。
（８）アプリケーションサーバ１０は、生成した表示データを双方向通信ＷＥＢサーバ２０に渡す。
【００３３】
（９）双方向通信ＷＥＢサーバ２０は、生成した表示データを表示装置３００に送信する。これにより、表示装置３００は、受信した表示データをＷＥＢブラウザに表示する。
（ＷＥＢサーバから表示装置へ）
【００３４】
（１０）アプリケーションサーバ１０のデータ更新管理部１２は、数値制御装置２００に関する表示データ、具体的には数値制御部２０１の数値制御データ及びＩ／Ｏ制御部２０２のＩ／Ｏデータを周期的に取得する。上述したように、数値制御データ（表示データ）は、数値制御装置２００の運転に関する情報、より具体的には、数値制御部２０１の制御パラメータ（例えば、軸数、各軸名称、各軸の加減速の設定等）、数値制御部２０１から機械のモータ２１２への分配パルス、機械のモータ２１２から数値制御部２０１へのフィードバックパルス、及び、数値制御部２０１の異常通知のためのアラーム等のうちの少なくとも一つを含む。Ｉ／Ｏデータ（表示データ）は、数値制御装置２００の運転に関する情報、より具体的には、Ｉ／Ｏ制御部２０２におけるＰＭＣの入出力信号等を含む。
【００３５】
データ更新管理部１２は、表示装置３００とのコネクションごとに、取得した表示データ、具体的には数値制御データ及びＩ／Ｏデータを更新する必要があるか否かを判断する。表示データを更新する必要があると判断された場合、例えば表示装置３００に前回送信した表示データと最新の表示データとを比較して、表示データが変更された場合、データ更新管理部１２は、データ生成部１８に表示データ（数値制御データ及びＩ／Ｏデータ）を渡す。
【００３６】
（１１）データ生成部１８は、受信した表示データ、具体的には数値制御データ及びＩ／Ｏデータを加工して、表示データを生成する。このとき、データ生成部１８は、データ記憶部１４に格納されているｓｃｒｉｐｔファイルに基づいて表示データを加工してもよいし、クライアント判別部１６によって判別された表示装置の種類に適するように表示データを加工してもよい。アプリケーションサーバ１０は、生成した表示データを双方向通信ＷＥＢサーバ２０に送信する。
【００３７】
（１２）双方向通信ＷＥＢサーバ２０は、受信した表示用データを表示装置３００に送信する。このように、双方向通信ＷＥＢサーバ２０は、データ更新管理部１２によって表示データを更新する必要があると判断された場合に、表示装置３００からのリクエストによらずに、データ生成部１８によって生成及び更新された表示データを表示装置３００に提供する。
（表示装置からWebサーバへ）
【００３８】
（１３）表示装置３００が、ＷＥＢブラウザの画面のキー操作、入力値、表示装置３００のｓｃｒｉｐｔによって取得できるデータ、又はリクエストを送信する。
双方向通信ＷＥＢサーバ２０は、リクエストに応じて即座に、データ記憶部２２に格納されている表示データを表示装置３００に応答してもよい。
【００３９】
（１４）或いは、双方向通信ＷＥＢサーバ２０は、キー操作、入力値、表示装置のｓｃｒｉｐｔによって取得できるデータ、又はリクエストをアプリケーションサーバ１０に送信し、アプリケーションサーバ２０のデータ生成部１８は、それぞれに応じた処理を実行してもよい。
（１５）例えば、データ生成部１８は、双方向通信ＷＥＢサーバ２０からのデータを、数値制御装置２００のデータ、例えば数値制御部２０１又はＩ／Ｏ制御部２０２で使用できるような数値制御データ又はＩ／Ｏデータに加工し、データ更新管理部１２に渡したり、データ記憶部１４に格納したり、双方向通信ＷＥＢサーバ２０に渡してもよい。
【００４０】
ここで、ｈｔｔｐでは、１つのコネクションで１つのリクエストしか送れず、応答を受け取ったらコネクションを切断するため、高速で周期的に実行するような処理には向いていなかった。また、リクエストはブラウザ側からしか送れなかった。
これに対して、ｗｅｂｓｏｃｋｅｔは、一度コネクションを確立したあとは、サーバとブラウザどちらからもリクエストを送れるようになる（双方向通信）。
【００４１】
以上説明したように、本実施形態の表示データ提供装置１００によれば、アプリケーションサーバ１０のデータ更新管理部１２が、表示データを更新する必要があるか否かを判断し、データ更新管理部１２によって表示データを更新する必要があると判断された場合に、アプリケーションサーバ１０のデータ生成部１８が、表示データを生成し、双方向通信ＷＥＢサーバ２０が、表示装置３００と双方向通信を行い、表示装置３００からのリクエストによらずに、データ生成部１８によって生成された表示データを表示装置３００に提供する。
【００４２】
これにより、数値制御装置２００に関する表示データに更新がある場合のみ、双方向通信ＷＥＢサーバ２０から表示装置３００へ表示データの送信を可能にすることができ、表示装置３００のＷＥＢブラウザの表示内容（画面）の更新を可能にすることができる。そのため、表示データ提供装置１００において、不必要なデータ送信を抑制することができ、通信負荷を軽減することができる。換言すれば、ネットワークへの負荷を軽減することができる。その結果、より高速に表示装置のＷＥＢブラウザ上に数値制御装置の表示データの反映を行なうことができる。
【００４３】
（変形例）
本実施形態では、表示データ提供装置１００が数値制御装置２００（機械の制御装置）に設けられた形態を例示したが、図３に示すように、数値制御装置２００と表示装置３００との間に上位サーバ装置４００が設けられる場合、表示データ提供装置１００は数値制御装置２００の外部の上位サーバ装置４００に設けられてもよい。この場合、数値制御装置２００及び上位サーバ装置４００がそれぞれデータ送受信部２０３及びデータ送受信部４０３を備え、データ送受信を行えばよい。
【００４４】
これによれば、対象の数値制御装置の情報を確認したい表示装置が複数存在する場合でも、数値制御装置に必要なコネクションはひとつになり、数値制御装置の通信負荷を軽減することができる。
【００４５】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、種々の変更及び変形が可能である。例えば、上述した実施形態では、機械の制御装置に関する表示データを３つの表示装置に提供する表示データ提供装置を例示したが、上述した実施形態は、機械の制御装置に関する表示データを１又は複数の表示装置に提供する表示データ提供装置に適用可能である。
【００４６】
また、上述した実施形態では、工作機械又はロボット等の機械の制御を行う数値制御装置に関する表示データを表示装置に提供する表示データ提供装置を例示した。しかし、本実施形態はこれに限定されず、種々の機械の制御を行う種々の制御装置に関する表示データを表示装置に提供する表示データ提供装置に適用可能である。
【符号の説明】
【００４７】
１  表示データ提供システム
１０  アプリケーションサーバ
１２  データ更新管理部
１４  データ記憶部
１６  クライアント判別部
１８  データ生成部
２０  双方向通信ＷＥＢサーバ
２２  データ記憶部
１００  表示データ提供装置
２００  数値制御装置
２０１  数値制御部
２０２  Ｉ／Ｏ制御部
２１１  モータ制御部
２１２  モータ
２２１  Ｉ／Ｏ装置
２０３  データ送受信部
３００  表示装置
４００  上位サーバ装置
４０３  データ送受信部
【図１】
2020119129.tif 000003
【図２】
2020119129.tif 000004
【図３】
2020119129.tif 000005
【図４】
2020119129.tif 000006