(57)【要約】【課題】各表示装置へのプロセスデータ転送に係わるコントローラの処理負荷や通信負荷を軽減する。【解決手段】各ＨＣＩ装置１０とコントローラ２０は、ブロードキャストメモリ１１、２３と、制御ＬＡＮ通信機能部１４、２１を備え、これらによって既存のコモンメモリ方式のデータ交換が実現される。コントローラ４０は、ユーザメモリ２２に格納される各プロセスデータを、ブロードキャストメモリ２３に転送する。これより、上記コモンメモリ方式によって各ＨＣＩ装置１０のブロードキャストメモリ１１に上記各プロセスデータが格納された状態となり、そこからそのＨＣＩ装置１０で表示中の画面に対応するプロセスデータが取得されて画面表示に用いられる。【選択図】図１
2016100846.tif 000002
【特許請求の範囲】
【請求項１】
各プロセスデータを記憶する第１メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムであって、
前記コントローラと各表示装置は、それぞれ、第２メモリを備えると共に、任意の第２メモリの格納データを他の第２メモリに格納させる通信手段を備え、
前記コントローラは、前記第１メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の前記第２メモリにおける該当領域へ転送・格納する転送手段を有し、
前記各通信手段によって、少なくともコントローラが備える前記第２メモリの前記各プロセスデータが、各表示装置が備える前記第２メモリに格納されることを特徴とするコントロールシステム。
【請求項２】
前記表示装置は、予め登録される前記マッピング情報に従って、表示中の画面に対応するプロセスデータを自装置の前記第２メモリから取得して、該取得したプロセスデータを用いて該画面の表示を行う表示制御手段を更に有することを特徴とする請求項１記載のコントロールシステム。
【請求項３】
前記マッピング情報は、予め任意に設定される、前記第１メモリに格納される各プロセスデータの前記第２メモリにおける割当領域であることを特徴とする請求項１または２記載のコントロールシステム。
【請求項４】
前記コントローラの前記通信手段は、自装置の前記第２メモリに格納される前記プロセスデータを、全ての前記表示装置に対してブロードキャスト送信することで、該プロセスデータを該全ての表示装置の前記第２メモリに格納させることを特徴とする請求項１または２記載のコントロールシステム。
【請求項５】
前記各プロセスデータは、前記表示装置において表示可能な各画面毎に対応するデータであり、
前記表示装置は、自装置の前記第２メモリに格納されたプロセスデータのなかで自装置が表示中の画面に対応するプロセスデータを取得して、該取得したプロセスデータを用いて画面表示を行う画面表示制御手段を有することを特徴とする請求項１または２記載のコントロールシステム。
【請求項６】
各プロセスデータを記憶する第１メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムであって、
前記コントローラと各表示装置は、それぞれ、第２メモリを備えると共に、任意の第２メモリの格納データを他の第２メモリに格納させる通信手段を備え、
前記コントローラは、
前記各表示装置で表示中の各画面の識別情報を含むマップ情報を作成するマップ情報作成手段と、
上記マップ情報に基づいて、前記第１メモリに格納される各プロセスデータの中で前記各表示装置で表示中の各画面に対応するプロセスデータを、前記自己の第２メモリへ転送・格納する転送手段を有し、
前記各通信手段によって、少なくともコントローラが備える前記第２メモリの前記各プロセスデータが、各表示装置が備える前記第２メモリに格納されることを特徴とするコントロールシステム。
【請求項７】
前記マップ情報は、前記コントローラにおいて、各表示装置から通知される所定のコマンドに基づいて、随時、作成・更新されることを特徴とする請求項６記載のコントロールシステム。
【請求項８】
前記表示装置は、前記第２メモリを介して取得できるプロセスデータの中に自装置で表示中の画面に対応するプロセスデータが無い場合、あるいは自装置で表示中の画面のうちの任意の画面が閉じられた場合に、これらの画面の識別情報を含む前記所定のコマンドを前記コントローラへ通知することを特徴とする請求項７記載のコントロールシステム。
【請求項９】
前記コントローラにおける前記マップ情報作成手段は、前記各表示装置で表示中の各画面に対応する各プロセスデータそれぞれのサイズに基づいて、前記各表示装置で表示中の各画面に対応する複数のプロセスデータ全てを前記第２メモリに格納出来るか否かを判定し、該判定結果に基づいて前記マップ情報を作成することを特徴とする請求項６記載のコントロールシステム。
【請求項１０】
前記マップ情報作成手段は、前記プロセスデータ全てを前記第２メモリに格納出来ないと判定した場合、該複数のプロセスデータを複数回に分けて前記第２メモリに格納するものと判定し、該判定結果に基づいて前記マップ情報を作成し、
前記転送手段は、該マップ情報に従って、前記第１メモリに格納される各プロセスデータのなかで前記表示中の各画面に対応する複数のプロセスデータを、複数回に分けて、前記自己の第２メモリにおける該当領域へ転送・格納することを特徴とする請求項９記載のコントロールシステム。
【請求項１１】
前記表示装置は、
前記自己の第２メモリに格納される各プロセスデータを、所定の記憶領域上に展開する展開手段と、
表示中の画面に対応するプロセスデータを前記所定の記憶領域上から取得して、該取得したプロセスデータを用いて該画面の表示を行う第２表示制御手段と、
を有することを特徴とする請求項６または請求項１０に記載のコントロールシステム。
【請求項１２】
前記表示装置の前記展開手段は、前記自己の第２メモリに格納される各プロセスデータを、複数回掛けて前記所定の記憶領域上に展開することで、該記憶領域上に前記各表示装置で表示中の各画面に対応するプロセスデータ全てが格納された状態にすることを特徴とする請求項１１記載のコントロールシステム。
【請求項１３】
各プロセスデータを記憶する第１メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける前記コントローラであって、
第２メモリと、
該第２メモリの格納データを各表示装置が備える第２メモリに格納させる通信手段と、
前記第１メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の前記第２メモリにおける該当領域へ転送・格納する転送手段とを有し、
前記通信手段によって、少なくともコントローラが備える前記第２メモリの前記各プロセスデータが、各表示装置が備える前記第２メモリに格納されることを特徴とするコントロールシステムのコントローラ。
【請求項１４】
各プロセスデータを記憶する第１メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける該表示装置であって、
第２メモリと、
前記コントローラが備える第２メモリに格納された前記プロセスデータを、該自装置の第２メモリに格納させる通信手段と、
予め登録されるマッピング情報に従って、表示中の画面に対応するプロセスデータを自装置の前記第２メモリから取得して、該取得したプロセスデータを用いて該画面の表示を行う表示制御手段と、
を有することを特徴とするコントロールシステムの表示装置。
【請求項１５】
各プロセスデータを記憶する第１メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける該コントローラであって、
第２メモリと、
該第２メモリの格納データを各表示装置が備える第２メモリに格納させる通信手段と、
前記各表示装置で表示中の各画面の識別情報を含むマップ情報を作成するマップ情報作成手段と、
上記マップ情報に基づいて、前記第１メモリに格納される各プロセスデータの中で前記各表示装置で表示中の各画面に対応するプロセスデータを、前記自装置の第２メモリへ転送・格納する転送手段と、
を有することを特徴とするコントロールシステムのコントローラ。
【請求項１６】
各プロセスデータを記憶する第１メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける該表示装置であって、
第２メモリと、
前記コントローラが備える第２メモリに格納された前記プロセスデータを、該自装置の第２メモリに格納させる通信手段とを有し、
該第２メモリに格納された各プロセスデータの中で自装置で表示中の画面に対応するプロセスデータを取得して、該取得したプロセスデータを用いて画面表示を行う表示制御手段と、
を有することを特徴とするコントロールシステムの表示装置。
【請求項１７】
前記表示装置は、
前記自装置の第２メモリに格納される各プロセスデータを、所定の記憶領域上に展開する展開手段を更に有し、
前記表示制御手段は、表示中の画面に対応するプロセスデータを前記所定の記憶領域上から取得して、該取得したプロセスデータを用いて前記画面表示を行うことを特徴とする請求項１６記載のコントロールシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置とコントローラがネットワークに接続されて成るコントロールシステムに関する。
【背景技術】
【０００２】
従来、例えばプログラマブル表示器等であるＨＣＩ装置と、コントローラが、ネットワークに接続されて成るプログラマブルコントローラシステムが、存在する。
ＨＣＩ装置は、一例としてはプログラマブル表示器等としてよく知られている機能を有する。すなわち、基本的にはコントローラ（コントローラによる制御対象機器）の監視や制御等の為のＨＣＩ（ヒューマン=コンピューター・インタラクション）機能を、ＨＣＩ装置は備えている。
【０００３】
その為に、ＨＣＩ装置は、例えば一定周期でコントローラから所定のデータを取得して、当該取得データを用いて画面表示する。ＨＣＩ装置の画面上には、例えばメーターやグラフ等や、スイッチ、ボタン等の各種アイテムが配置されており、例えば、上記取得データの数値を、メーターやグラフ等の形式で表示する。取得データは、例えば一例としてはコントローラによる制御対象機器の各所の温度等であり、これら各温度がメーターやグラフ等の形式で表示される。あるいは、オペレータが所望のスイッチ、ボタン等を操作すると、当該操作されたスイッチ等に応じたコマンド等が、コントローラに送信されることで、コントローラを制御する。
【０００４】
尚、上記表示装置が画面表示の為にコントローラから取得する必要があるデータを、プロセスデータと呼ぶものとする。
上記ＨＣＩ装置が上記コントローラからプロセスデータを取得する方法は、従来ではメッセージ通信を用いていた。つまり、コントローラは、上記温度等のプロセスデータをメッセージによりネットワークを介してＨＣＩ装置に送信していた。
【０００５】
また、例えば特許文献１に記載の従来技術が知られている。
特許文献１の発明は、コモンメモリ方式により他装置とデータの授受を行うデータ伝送装置に関する発明である。各データ伝送装置は、各々、各プログラマブルコントローラに接続されている。コモンメモリ方式では、各データ伝送装置がそれぞれコモンメモリを有しており、全てのコモンメモリに同じデータが格納されるように制御される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２９７２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、ＨＣＩ装置は、複数種類の画面を表示可能であり、基本的には、各画面毎に必要となるプロセスデータが異なる。また、複数種類の画面を、ユーザ操作等に応じて切り替えて表示する装置がある。この装置では、一度に１つの画面のみを選択的に表示させることになる。一方、一度に複数の画面を表示させることができるＨＣＩ装置も知られている。すなわち、マルチウィンドウ表示を行えるＨＣＩ装置も知られている。この場合、例えば予め１０種類の画面が用意されており、ユーザの操作に応じてそのなかの２、３種類のみを選択的に表示させる等することになる。
【０００８】
ここで、近年、上記プログラマブルコントローラシステムは、規模が大きくなる場合があり、複数のＨＣＩ装置が設けられている場合がある。この場合、コントローラは、これら各ＨＣＩ装置に対して、それぞれ、メッセージ通信を行う必要があり、処理負荷が非常に大きかった。特に、上記のように各ＨＣＩ装置が複数の画面を表示するものである場合、コントローラの処理負荷は増大していた。
【０００９】
本発明の課題は、ＨＣＩ装置とコントローラがネットワークに接続されるコントロールシステムにおいて、各ＨＣＩ装置へのプロセスデータ転送に係わるコントローラの処理負荷や通信負荷を軽減することができるコントロールシステム等を提供することである。
【課題を解決するための手段】
【００１０】
本発明のコントロールシステムは、各プロセスデータを記憶する第１メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムであって、下記の特徴を有する。
・前記コントローラと各表示装置は、それぞれ、第２メモリを備えると共に、任意の第２メモリの格納データを他の第２メモリに格納させる通信手段を備える。
・前記コントローラは、前記第１メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の前記第２メモリにおける該当領域へ転送・格納する転送手段を有する。
・前記各通信手段によって、少なくともコントローラが備える前記第２メモリの前記各プロセスデータが、各表示装置が備える前記第２メモリに格納される。
【発明の効果】
【００１１】
本発明のコントロールシステム等によれば、表示装置とコントローラがネットワークに接続されるコントロールシステムにおいて、各表示装置へのプロセスデータ転送に係わるコントローラの処理負荷や通信負荷を軽減することができる。あるいは、更に、その都度、そのときに表示装置側で必要とするプロセスデータのみを転送することができ、無駄なデータ転送が行われなくなり、データ転送量を削減できる。また、転送の為のメモリ容量すなわちブロードキャストメモリ容量が、足りない場合でも、複数回に分けて転送できるようにすることで対応できる。
【図面の簡単な説明】
【００１２】
【図１】実施例１のプログラマブルコントローラシステムのシステム構成図である。
【図２】実施例２のプログラマブルコントローラシステムのシステム構成図である。
【図３】要求時の処理フローチャート図である。
【図４】キャンセル時の処理フローチャート図である。
【図５】ブロードキャスト送受信処理のフローチャート図である。
【図６】ＨＣＩ装置の画面表示例である。
【図７】画面データ要求コマンドの具体例である。
【図８】要求ＤＢの具体例である。
【図９】マップ情報の具体例である。
【図１０】ブロードキャストメモリのデータ格納例である。
【図１１】画面キャッシュ展開領域のデータ格納例である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施の形態について説明する。
図１は、実施例１のプログラマブルコントローラシステムのシステム構成図である。
図示のプログラマブルコントローラシステムは、コントローラ２０と、複数台のＨＣＩ装置１０（ＨＣＩ装置１０ａ、ＨＣＩ装置１０ｂ）が、ネットワーク１に接続されている。各ＨＣＩ装置１０は、例えば上記マルチウィンドウ表示を行えるＨＣＩ装置であり、複数の画面（画面群）を表示するが、この例に限らない。また、ＨＣＩ装置１０は、上述したように、例えばプログラマブル表示器等であるが、この例に限らない。
【００１４】
また、上述したことから、ＨＣＩ装置は、プログラマブルコントローラに係わる表示装置の一種であると見做しても構わない。
そして、上記従来のＨＣＩ装置と同様に、各ＨＣＩ装置１０は、自己の画面表示の為にコントローラ２０からデータを取得する必要がある。上記の通り、ここでは、この様なデータをプロセスデータと呼ぶものとする。そして、上記のように、各ＨＣＩ装置１０において表示可能な各画面毎に、その画面表示の為にその画面に応じたプロセスデータが必要となる。
【００１５】
プロセスデータは、コントローラ２０において生成／収集等されて図示のユーザメモリ２２に格納される。ユーザメモリ２２には、コントローラ２０が制御する不図示の制御対象機器の現在の状態等を示すデータ等が格納される。コントローラ２０は、このユーザメモリ２２の格納データ（プロセスデータ等）を、随時更新している。
【００１６】
そして、従来では、コントローラ２０は、例えば任意のＨＣＩ装置１０からの要求に応じて、ユーザメモリ２２の格納データを上記の通りメッセージ通信により要求元のＨＣＩ装置１０へ送信していた。
【００１７】
各ＨＣＩ装置１０とコントローラ２０は、それぞれ、上記コモンメモリに相当するメモリを備えている。すなわち、各ＨＣＩ装置１０はブロードキャストメモリ１１を備えている。コントローラ２０は、ブロードキャストメモリ２３を備えている。また、各ＨＣＩ装置１０は制御ＬＡＮ通信機能部１４を有し、コントローラ２０は制御ＬＡＮ通信機能部２１を有する。これらブロードキャストメモリ１１、２３、制御ＬＡＮ通信機能部１４、２１によって、例えば上記特許文献１等に記載のような、既存のコモンメモリ方式のデータ交換が実現される。
【００１８】
このコモンメモリ方式の機能については、特に詳細には説明しないが、簡単に説明するならば、制御ＬＡＮ通信機能部２１は、例えば定周期で、自己のブロードキャストメモリ２３の格納データを、ブロードキャストでネットワーク１上に送信する。これより、各ＨＣＩ装置１０の制御ＬＡＮ通信機能部１４は、当該ブロードキャスト送信されたデータを受信すると、この受信データによって自己のブロードキャストメモリ１１の該当記憶領域の格納内容を更新する。すなわち、受信データを自己のブロードキャストメモリ１１の該当記憶領域に上書き格納する。
【００１９】
各ＨＣＩ装置１０は、画面作成機能部１２と画面データ取得機能部１３を有する。画面作成機能部１２は、既存の機能であり、任意の画面をディスプレイ上に表示する機能を有する。ここで、図示のユーザメモリ２２やブロードキャストメモリ１１、２３に示す“プロセスデータ１”、“プロセスデータ２”等は、各画面毎に対応するデータである。
【００２０】
例えば、仮に、画面Ａ、画面Ｂ、画面Ｃ、画面Ｄ、画面Ｅの５種類の画面があるものとした場合、例えば“プロセスデータ１”は画面Ａに係わるデータであり、“プロセスデータ２”は画面Ｂに係わるデータであるものとする。これより、画面Ａを表示中のＨＣＩ装置１０は、例えば定期的に少なくとも“プロセスデータ１”（その最新データ）をコントローラ２０から取得する必要がある。そして、この例の場合、このＨＣＩ装置１０においては、画面作成機能部１２は画面データ取得機能部１３に対して画面Ａに係わるデータを要求し、これに応じて画面データ取得機能部１３はブロードキャストメモリ１１から“プロセスデータ１”を取得して画面作成機能部１２に渡す。画面作成機能部１２は、この“プロセスデータ１”を用いて画面Ａを表示することになる。尚、“プロセスデータ１”は、例えば一例としては上記温度のデータであり、画面作成機能部１２はこの温度を例えばメーターやグラフ等の形で、画面Ａ上に表示することになる。
【００２１】
また、上記のＨＣＩ装置１０が画面Ａだけでなく更に画面データＢも表示する場合には、画面作成機能部１２は、更に“プロセスデータ２”もブロードキャストメモリ１１から取得して、これを用いて画面Ｂを表示する処理も行うことになる。
【００２２】
尚、上記各画面表示に必要なデータである各プロセスデータは、支援ツール２のブロードキャストメモリマップ機能２ａによりブロードキャストメモリ１１，２３上にマッピングされている（任意のアドレスが割当てられている）。このマッピングデータは、予め各ＨＣＩ装置１０、コントローラ２０に記憶されている。これより、コントローラ２０は、このマッピングデータを基にプロセスデータをユーザメモリ２２からブロードキャストメモリへ転送する。また、各ＨＣＩ装置１０の画面データ取得機能部１３は、このマッピングデータを基にブロードキャストメモリ１１上のプロセスデータを取得する。
【００２３】
尚、各画面に対応する各プロセスデータのユーザメモリ２２上の格納位置(アドレス)は、予め決められてコントローラ２０側で管理されている。
ここで、例えば、ブロードキャストメモリ１１，２３のメモリ容量が、ユーザメモリ２２のメモリ容量よりも小さい場合、ユーザメモリ２２に格納されるプロセスデータ全てを、ブロードキャストメモリ２３に格納することはできない。その為、例えば図示のように、“プロセスデータ５”はブロードキャストメモリ２３に格納できない等という事態が生じ得る。この様な場合、“プロセスデータ５”に関してのみ、従来と同様に、メッセージ通信によって各ＨＣＩ装置１０に送信するという方法が考えられる。また、更新頻度が比較的低い“プロセスデータ”を、この様にメッセージ通信の対象とすることも考えられる。しかしながら、この場合、逐一、各ＨＣＩ装置１０に対してメッセージ通信によりプロセスデータを送信する為、コントローラ２０の処理負荷が大きい。これは、特にＨＣＩ装置１０の台数が多い場合に、コントローラ２０の処理負荷が非常に大きくなる。
【００２４】
また、上記図１に示す実施例１の手法では、ブロードキャストメモリ１１，２３には、ＨＣＩ装置１０で必要としていないプロセスデータも格納される場合が少なくないと考えられる。極端な話、全てのＨＣＩ装置１０が上記画面Ｅのみを表示している状態のときには、ブロードキャストメモリ１１、２３の格納データは、全て無駄なものとなる。
【００２５】
これより、以下に説明する実施例２を提案する。
実施例２では、基本的に、各画面に対応するプロセスデータの中で現在各ＨＣＩ装置で表示中の画面に対応するプロセスデータのみが、ブロードキャストメモリに格納されるように構成する。更に、コントローラは、各ＨＣＩ装置で表示中の画面に対応するプロセスデータ全てを、一度にブロードキャストメモリに格納することができない場合には、複数回に分けて格納する。この様にすることで、ブロードキャストメモリを有効利用でき、ブロードキャストメモリのメモリ容量が少ない場合にも対応できる。
【００２６】
図２は、実施例２のプログラマブルコントローラシステムのシステム構成図である。
図示のプログラマブルコントローラシステムは、コントローラ４０と、複数台のＨＣＩ装置３０（ＨＣＩ装置３０ａ、ＨＣＩ装置３０ｂ）が、ネットワーク３に接続されている。ＨＣＩ装置３０は、例えば上記ＨＣＩ装置１０と同様、マルチウィンドウ表示を行えるＨＣＩ装置であるが、この例に限らない。
【００２７】
各ＨＣＩ装置３０は、画面キャッシュ展開領域（キャッシュメモリ等）３１、画面作成機能部３２、画面データ取得機能部３３、制御ＬＡＮ通信機能部３４、ブロードキャストメモリ３５等を有する。これらの構成のうち、画面作成機能部３２、制御ＬＡＮ通信機能部３４は、上記実施例１の画面作成機能部１２、制御ＬＡＮ通信機能部１４と同じであってよく、ここでは説明を省略するものとする。
【００２８】
尚、画面キャッシュ展開領域３１や後述するキャッシュ展開機能部３３ｂは、必ずしも必要ない。つまり、ブロードキャストメモリ３５に格納されたデータ（プロセスデータ等）を、別の記憶領域に展開する処理は、必ずしも必要ない。この処理は、コントローラ側において転送対象のプロセスデータを複数回に分けてブロードキャストメモリ４３に格納する場合に対応する処理である為である。画面キャッシュ展開領域３１や後述するキャッシュ展開機能部３３ｂが無い構成の場合には、画面データ取得機能部３３は、ブロードキャストメモリ３５からプロセスデータ等を取得することになる。
【００２９】
また、ブロードキャストメモリ３５、４３は、上記ブロードキャストメモリ１１、２３と同様、上記コモンメモリに相当するメモリである。但し、実施例２の場合、その都度、そのときに各ＨＣＩ装置３０で必要とするプロセスデータすなわち各ＨＣＩ装置３０で表示中の画面に対応するプロセスデータのみが、ブロードキャストメモリ３５、４３に格納されるように制御される。これは、例えば「“ＨＣＩ装置３０ａで表示中の画面に対応するプロセスデータ”＋“ＨＣＩ装置３０ｂで表示中の画面に対応するプロセスデータ”」が、ブロードキャストメモリ３５、４３に格納される。詳しくは後述する。
【００３０】
また、一例としては、ブロードキャストメモリ３５の格納データは、画面データ取得機能部３３（そのキャッシュ展開機能部３３ｂ）によって、画面キャッシュ展開領域３１上に展開される。また、画面データ取得機能部３３（そのキャッシュ管理機能部３３ａ）は、画面キャッシュ展開領域３１上に展開されたデータの中から、画面作成機能部３２の要求に応じた必要なデータを取得して、これを画面作成機能部３２に渡す。詳しくは後述する。
【００３１】
また、各ＨＣＩ装置３０は、コントローラ４０に対してネットワーク３を介して、図示の画面データキャンセルコマンド４６や画面データ要求コマンド４７等を送信する場合がある。これについても、詳しくは後述する。尚、これらコマンド４６，４７は、メッセージ通信によりコントローラ４０へ送信してもよいし、ブロードキャストメモリを介してコントローラ４０へ渡してもよい。
【００３２】
コントローラ４０は、制御ＬＡＮ通信機能部４１、ユーザメモリ４２、ブロードキャストメモリ４３、画面データキャッシュ機能部５０等を有している。また、コントローラ４０は、マップ情報４４、要求ＤＢ（データベース）４５等の各種データを保持する。
【００３３】
上記制御ＬＡＮ通信機能部４１、ユーザメモリ４２は、実施例１の制御ＬＡＮ通信機能部２１、ユーザメモリ２２と同じであってよく、ここでは説明を省略するものとする。また、ブロードキャストメモリ４３は、上記ブロードキャストメモリ２３と同様、上記コモンメモリに相当するメモリである。但し、図示のように、格納されるデータは、実施例１の場合とは異なる。詳しくは後述する。
【００３４】
画面データキャッシュ機能部５０は、画面キャッシュ転送機能部５１、画面キャッシュマッピング機能部５２、要求ＤＢ管理機能部５３等の各種機能部を有する。これらについても後述する。
【００３５】
上記ブロードキャストメモリ３５、４３、制御ＬＡＮ通信機能部３４、４１によって、上記特許文献１等に記載の従来のコモンメモリ方式のデータ交換が実現される。この点自体は、上記実施例１と同様と見做して構わない。
【００３６】
ここで、以下、上記ＨＣＩ装置３０、コントローラ４０の各種機能部について説明する。まず、コントローラ４０について、以下、説明する。コントローラ４０は、上記の通り、画面キャッシュ転送機能部５１、画面キャッシュマッピング機能部５２、要求ＤＢ管理機能部５３等の各種機能部を有する。
（１）要求ＤＢ管理機能部５３；
・ＨＣＩ装置３０からの画面データ要求コマンド４７を受信すると、このコマンド４７に含まれる画面番号と読み出し対象のアドレス群を、要求ＤＢ４５に追加格納する。
・ＨＣＩ装置３０からの画面データキャンセルコマンド４６を受信すると、このコマンド４６に含まれる画面番号に基づいて、要求ＤＢ４５に格納されているデータ（アドレス群等）の中でこの画面番号に対応するデータ（アドレス群等）をクリア（消去）する。
【００３７】
尚、上記アドレス群は、上記画面番号の画面に係わるプロセスデータの上記ユーザメモリ４２上の格納領域を示すアドレス群である。
【００３８】
（２）画面キャッシュマッピング機能５２；
・マップ情報４４を作成する処理を実行する。マップ情報４４の具体例は図９に示し、詳しくは後に説明するが、マップ情報４４は基本的にブロードキャストメモリ４３に格納すべきプロセスデータに係わる画面番号等から成る。つまり、ユーザメモリ４２には、様々な画面に係わる各種プロセスデータが格納されるが、その中でブロードキャストメモリ４３に転送・格納すべき画面の画面番号が、マップ情報４４には含まれる。詳しくは後述する。
【００３９】
・転送するデータ量が、ブロードキャストメモリ４３の容量（その画面キャッシュ領域の容量）よりも大きい場合は、複数回に分けてユーザメモリ４２からブロードキャストメモリ４３にデータ転送・格納されるようにするマップ情報４４を作成する。これによって、複数回のブロードキャスト転送によって全ての必要なプロセスデータが、全てのＨＣＩ装置３０に送信される。
【００４０】
・このマップ情報４４の作成処理は、例えば上記画面データキャンセルコマンド４６の受信時や、上記画面データ要求コマンド４７の受信時であって、上記要求ＤＢ４５の更新処理後に実行する。
【００４１】
（３）画面キャッシュ転送機能５３；
・上記作成されたマップ情報４４に従って、ユーザメモリ４２からブロードキャストメモリ４３（その画面キャッシュ領域）にプロセスデータを転送する処理を実行する。これは、基本的には、ユーザメモリ４２の格納データの中の一部を、ブロードキャストメモリ４３に転送することになる。また、その際、後述するヘッダ情報を生成してブロードキャストメモリ４３に格納する処理も行う。
【００４２】
続いて、ＨＣＩ装置３０の各種機能部について、以下、説明する
ＨＣＩ装置３０は、上記の通り、キャッシュ管理機能部３３ａ、キャッシュ展開機能部３３ｂ等を有する。
【００４３】
（４）キャッシュ展開機能部３３ｂ；
・ブロードキャスト受信する毎に、当該ブロードキャストによって自己のブロードキャストメモリ３５に新たに格納されたプロセスデータ等を、自己の画面キャッシュ展開領域３１上に展開する。その際、特に複数回に分けてブロードキャスト送信されてくる場合には、複数回展開することで、自己の画面キャッシュ展開領域３１上に、転送対象の全プロセスデータが記憶された状態となるようにする。これについて詳しくは後述する。
【００４４】
（５）キャッシュ管理機能部３３ａ；
・上記自己の画面キャッシュ展開領域３１上に展開されたプロセスデータ群のなかから、画面作成機能部３２から要求された画面に係わるプロセスデータを取得して、これを画面作成機能部３２に渡す。
【００４５】
但し、もし、要求された画面に係わるプロセスデータが、画面キャッシュ展開領域３１上に無い場合には、コントローラ４０に対して、この画面に係わるプロセスデータを要求する画面データ要求コマンド４７を送信する。これは、例えばユーザ操作によって任意の新たな画面が追加表示された場合に、この新たな画面に対応するプロセスデータは無いはずであるので、コントローラ４０に要求することになる。
【００４６】
但し、この例に限らない。例えば、自装置が表示中の画面と同じ画面を、他のＨＣＩ装置３０でも表示している状態から、他のＨＣＩ装置３０においてこの画面を閉じる操作が行われて後述する画面データキャンセルコマンド４６が出された場合にも、この画面に係わるプロセスデータが画面キャッシュ展開領域３１上に無い状態となる。
【００４７】
詳しくは後述する。
・画面作成機能部３２からキャンセル要求があった場合には、コントローラ４０に対して画面データキャンセルコマンド４６を送信する。画面作成機能部３２は、例えば表示中の画面のうちの任意の画面を閉じるユーザ操作が行われた場合に、この画面のキャンセル要求を出す。
【００４８】
コントローラ４０は、上記画面データ要求コマンド４７または画面データキャンセルコマンド４６を受信すると、これに応じて要求ＤＢ４５やマップ情報４４を更新／再作成する。これらの処理の具体例について、図３、図４に示すフローチャート図を参照して以下に説明する。
【００４９】
図３は、上記画面データ要求コマンド４７に係わる処理フローチャート図である。
まず、ＨＣＩ装置３０上には、随時、ユーザ操作に応じて任意の１以上の画面が表示されている。この画面表示の一例を図６に示す。
【００５０】
図６に示す例では、ＨＣＩ装置３０ａ上には画面Ａ、画面Ｃ、画面Ｄの３つの画面が表示されており、ＨＣＩ装置３０ｂ上には画面Ｂ、画面Ｄの２つの画面が表示されている。尚、これは実施例２に限るわけではなく、実施例１においてもＨＣＩ装置１０ａ、１０ｂ上にそれぞれ任意の１以上の画面が表示されることになる。
【００５１】
また、尚、この例の場合、ＨＣＩ装置３０ａ、３０ｂの各画面キャッシュ展開領域３１には、画面Ａ、画面Ｂ、画面Ｃ、画面Ｄの４つの画面のプロセスデータが、展開されることになる。そして、ＨＣＩ装置３０ａの場合には、この中からキャッシュ管理機能部３３ａによって画面Ａ、画面Ｃ、画面Ｄのプロセスデータが、取得されて画面作成機能部３２に渡されることになる。同様に、ＨＣＩ装置３０ｂの場合には、この中からキャッシュ管理機能部３３ａによって画面Ｂ、画面Ｄのプロセスデータが、取得されて画面作成機能部３２に渡されることになる。
【００５２】
また、図６の表示状態からユーザ操作に応じて他の表示状態へと変化し得る。例えば、ＨＣＩ装置３０ａにおいてユーザ操作によって上記３つの画面のうち画面Ａが消去された場合、ＨＣＩ装置３０ａはこれに応じた画面データキャンセルコマンド４６をコントローラ４０に通知する。例えば、画面Ａの識別ＩＤ（画面番号）を含む画面データキャンセルコマンド４６をコントローラ４０に通知する。
【００５３】
このコマンド４６に応じてコントローラ４０は、例えば図４の図上右側に示す処理を実行する。あるいは、ＨＣＩ装置３０ｂにおいてユーザ操作によって新たな画面（画面Ｅとする）が追加表示された場合、ＨＣＩ装置３０ｂはこれに応じた画面データ要求コマンド４７をコントローラ４０に通知する。
【００５４】
この例では、コマンド４７には、例えば画面Ｅの画面番号と、画面Ｅに係わるプロセスデータのユーザメモリ４２上の格納領域を示すアドレス群等が、含まれるが、この例に限らない。例えば、コマンド４７には例えば画面Ｅの画面番号のみが含まれるように構成してもよい。尚、この場合には、コントローラ４０側で画面Ｅに対応する上記アドレス群が分かるように構成する必要がある（予め各画面に対応するアドレス群を記憶している等）。何れにしても、各画面に対応する上記アドレス群は、予め決められており、コントローラ４０または各ＨＣＩ装置３０に予め記憶させておけばよい。
【００５５】
上記コマンド４７に応じてコントローラ４０は、例えば図３の図上右側に示す処理を実行する。
図３の説明に戻る。
【００５６】
ＨＣＩ装置３０において、画面作成機能部３２は、随時または定周期で、現在表示中の画面に係わるプロセスデータの取得要求を、画面データ取得機能部３３（そのキャッシュ管理機能部３３ａ）に対して発行する（ステップＳ１１）。例えば図６の例の場合、例えばＨＣＩ装置３０ｂにおいては、画面Ｂと画面Ｄのプロセスデータの取得要求が、発行されることになる。また、この取得要求には、現在表示中の画面の識別ＩＤ（画面番号）が含まれている。上記の例では、画面Ｂの画面番号と画面Ｄの画面番号とが含まれていることになる。
【００５７】
上記取得要求を受けた画面データ取得機能部３３（そのキャッシュ管理機能部３３ａ）は、画面キャッシュ展開領域３１上に上記取得要求に含まれる画面番号が存在するか否かをチェックする（ステップＳ１２）。そして、要求された画面の画面番号が存在する場合には（ステップＳ１３、ＹＥＳ）、キャッシュ管理機能部３３ａは、上記要求された画面のプロセスデータを画面キャッシュ展開領域３１上から取得して、画面作成機能部３２に渡す（ステップＳ１４）。尚、画面キャッシュ展開領域３１上のデータ格納例は、図１１に示し、後に説明するものとする。
【００５８】
一方、要求された画面の画面番号が存在しない場合には（ステップＳ１３、ＮＯ）、キャッシュ管理機能部３３ａは、この画面のプロセスデータを要求する為の画面データ要求コマンド４７を作成する（ステップＳ１５）。そして、例えば制御ＬＡＮ通信機能部３４が、この画面データ要求コマンド４７をコントローラ４０へ送信する（ステップＳ１６）。
【００５９】
尚、上記ＨＣＩ装置３０ｂの例において、仮に、画面キャッシュ展開領域３１上に、画面Ｂの画面番号は存在するが画面Ｄの画面番号は存在しない場合には、ステップＳ１４によって画面Ｂのプロセスデータを取得すると共に、ステップＳ１５，Ｓ１６によって画面Ｄのプロセスデータをコントローラ４０へ要求することになる。
【００６０】
ここで、図７に、画面データ要求コマンド４７の具体例を示す。
図７に示す例では、画面データ要求コマンド４７には、上記プロセスデータを要求する画面の画面番号と、この画面に係わる各種データのユーザメモリ４２上の格納アドレス群（図示のリードアドレス１−１、リードアドレス１−２、・・・、リードアドレス１−６７０）と、このアドレスの数である要素数（図示の例では６７０）とが、含まれる。
【００６１】
コントローラ４０は、制御ＬＡＮ通信機能部４１によって上記画面データ要求コマンド４７を受信すると（ステップＳ２１）、要求ＤＢ管理機能部５３が、このコマンド４７に含まれる上記画面番号が、要求ＤＢ４５に存在するか否かをチェックする（ステップＳ２２）。そして、コマンド４７の画面番号と同一の画面番号が、既に要求ＤＢ４５に存在する場合には（ステップＳ２２，ＹＥＳ）、そのまま本処理を終了する。
【００６２】
一方、コマンド４７の画面番号と同一の画面番号が、要求ＤＢ４５に存在しない場合には（ステップＳ２２，ＮＯ）、受信したコマンド４７を要求ＤＢ４５に追加登録する（ステップＳ２３）。そして、これによって要求ＤＢ４５の格納内容が変化することから、上記のように画面キャッシュマッピング機能部５２によってマップ情報４４を再作成する。すなわち、図示のステップＳ２４，Ｓ２５の処理を実行する。
【００６３】
ここで、図８に要求ＤＢ４５のデータ格納例を示し、図９にマップ情報４４の具体例を示す。以下のステップＳ２４、Ｓ２５の処理の説明には、これら図８、図９に示す具体例を用いるものとする。
【００６４】
画面キャッシュマッピング機能部５２は、まず、上記更新後の要求ＤＢ４５を参照して、必要なフレーム数（図９に示す総フレーム数）を判断する（ステップＳ２４）。この処理について、図１０に示す画面キャッシュ領域の具体例も用いて説明する。
【００６５】
本例では、ブロードキャストメモリ４３の画面キャッシュ領域は、図１０のヘッダ領域とデータ領域とに分けられている。そして、このデータ領域の記憶容量に応じたプロセスデータ数（要素数）の上限値が、予め登録されている。ここでは仮に、この上限値が‘１６００’であるものとする。
【００６６】
一方、要求ＤＢ４５には、例えば、図８に示す例のように、現在要求されている画面の画面数と、これら各画面毎に、その画面番号と要素数とプロセスデータの格納アドレス群（リードアドレス群）が格納される。これは、例えば上記受信した画面データ要求コマンド４７の内容が、そのまま格納されるものであるが、この例に限らない。
【００６７】
これより、上記ステップＳ２４の処理では、例えばまず最初に、全ての要素数の総和が、上記上限値を越えるか否かを判断する。そして、要素数の総和が上限値以下である場合には、総フレーム数＝１と判定する。図８の例の場合、４つの画面の要素数の総和＝６７０＋５０２＋１０２＋１５００＝２７７４であり、上限値（＝1600）を越えている。この場合、画面を１つ減らした場合、すなわち３つの画面の要素数の総和＝６７０＋５０２＋１０２＝１２７４を算出して、上限値（＝1600）を越えるか否かを判断する。この場合は、上限値未満であるので、これら３つの画面のプロセスデータを１つのフレームに格納するものとする。更に、上記１つ減らした画面のプロセスデータを、別のフレームに格納するものとする。これより、総フレーム数＝２と判定する。一方、もし上限値を越えた場合には、更に画面を１つ減らした場合の要素数の総和が、上限値を越えるか否かを判定する。これを、総和が上限値未満となるまで繰り返す。そして、減らした画面の数が複数である場合には、これら減らした画面の要素数の総和が、上限値未満であれば総フレーム数＝２とし、上限値を越える場合には総フレーム数は３以上となることになる。
【００６８】
そして、上記ステップＳ２４の処理結果に基づいて、マップ情報４４を再作成する（ステップＳ２５）。上記の一例では、上記の通り総フレーム数＝２となり、フレーム１とフレーム２とし、フレーム１に対応して上記３つの画面の画面番号（１，３，１０）を登録し、フレーム２に対応して上記１つ減らした画面の画面番号（２１）を登録する。これによって、図８に示す要求ＤＢ４５の例の場合には、図９に示すマップ情報４４が作成されることになる。
【００６９】
図４は、上記画面データキャンセルコマンド４６に係わる処理フローチャート図である。
まず、ＨＣＩ装置３０において、ユーザが、表示中の画面のうち任意の画面を閉じる操作を行うと、画面作成機能部３２が、この閉じられた画面の画面番号を含むキャンセル要求を、画面データ取得機能部３３へ発行する（ステップＳ３１）。
【００７０】
これより、画面データ取得機能部３３のキャッシュ管理機能部３３ａが、上記画面データキャンセルコマンド４６を生成する（ステップＳ３２）。このコマンド４６には、上記閉じられた画面の画面番号が含まれる。そして、制御ＬＡＮ通信機能部３４が、このコマンド４６をコントローラ４０へ送信する（ステップＳ３３）。
【００７１】
コントローラ４０は、制御ＬＡＮ通信機能部４１によって上記コマンド４６を受信すると（ステップＳ４１）、要求ＤＢ管理機能部５３が、このコマンド４６に含まれる画面番号すなわち上記“閉じられた画面の画面番号”が、要求ＤＢ４５に登録されているか否かを判定する（ステップＳ４２）。もし、登録されていないならば（ステップＳ４２，ＮＯ）、そのまま本処理を終了する。
【００７２】
一方、コマンド４６の画面番号と同一の画面番号が要求ＤＢ４５に存在するならば（ステップＳ４２，ＹＥＳ）、要求ＤＢ管理機能部５３は、要求ＤＢ４５からこの画面番号に係わるデータ（画面番号、要素数、リードアドレス群）を消去する（ステップＳ４３）。そして、これによって要求ＤＢ４５の格納内容が変化することから、画面キャッシュマッピング機能部５２によってマップ情報４４を再作成する（ステップＳ４４，Ｓ４５）。
【００７３】
ここで、これらステップＳ４４、Ｓ４５の処理は、上記ステップＳ２４、Ｓ２５と同じであってよいので、ここでの説明は省略する。但し、具体例を用いて説明するならば、仮に要求ＤＢ４５が図８の状態において画面番号＝‘１０’を含む上記コマンド４６を受信した場合には、図８に示す画面番号＝‘１０’、要素数＝‘１０２’、リードアドレス３−１〜リードアドレス3-102が、削除されることになる。更に、この場合、画面が１つ減っても残りの３つの画面のプロセスデータ全てが1つのフレーム内に格納出来ないので、再作成されるマップ情報４４の総フレーム数は‘２’であり、フレーム１画面数は‘２’となり、図９の状態から画面番号＝‘３’が消えることになる。
【００７４】
そして、コントローラ４０の画面キャッシュ転送機能部５１は、制御ＬＡＮの転送サイクルで、図５に示すステップＳ６１、Ｓ６２の処理を実行する
画面キャッシュ転送機能部５１は、まず、今回の処理対象のフレームＮｏ．を判定する（ステップＳ６１）。これは例えば前回の処理対象のフレームＮｏ．を保持しておき、これを＋１インクリメントする。つまり、前回がフレーム１であった場合、今回はフレーム２である。但し、前回のフレームＮｏ．がマップ情報４４の総フレーム数と同一であった場合には、今回の処理対象をフレーム１とする（最初のフレームに戻る）。
【００７５】
そして、マップ情報４４から、今回の処理対象のフレームＮｏ．に係わる画面番号を全て取得する。図９の例の場合であって処理対象がフレーム１の場合であれば、画面番号‘１’と画面番号‘３’と画面番号‘１０’が、取得されることになる。そして、要求ＤＢ４５を参照して、上記取得した画面番号の画面に係わるプロセスデータを、ユーザメモリ４２からブロードキャストメモリ４３（その画面キャッシュ領域）へ転送する（ステップＳ６２）。
【００７６】
上記ステップＳ６２の処理は、上記フレーム１が処理対象である場合には、要求ＤＢ４５において、まず画面番号‘１’に係わるプロセスデータのユーザメモリ４２における格納アドレス（リードアドレス１−１〜リードアドレス１−６７０）を取得する。そして、ユーザメモリ４２から当該格納アドレスの格納データ（プロセスデータ群）を取得して、このプロセスデータ群をブロードキャストメモリ４３の該当領域に転送・格納する。これは、現在のオフセット値に従って該当領域を判断する。オフセット値は初期値＝‘０’が設定されているものとする。このオフセット値＝‘０’は、図１０に示すデータ領域の先頭（０ｘ１０００）を意味するものとする。これより、上記画面番号‘１’に係わるプロセスデータ群を、図１０に示すデータ領域の先頭（０ｘ１０００）から順に格納していく。これより、図１０に示す「画面データ１プロセスデータ」が、格納された状態となる。
【００７７】
更に、ヘッダ情報を生成して図示のヘッダ領域に格納する。上記の例では、上記画面番号‘１’とその要素数（サイズ＝６７０）とオフセット値‘０’を、ブロードキャストメモリ４３のヘッダ領域に格納する。そして、オフセット値を更新する。上記の例では、現在のオフセット値‘０’に、上記サイズ（＝６７０）を加算した値(＝６７０)を、あらたなオフセット値とすることでオフセット値を更新する。
【００７８】
続いて、画面番号‘３’に関しても、上記画面番号‘１’の場合と同様にして、図８に示す格納アドレス（リードアドレス２−１〜リードアドレス２−５０２）を取得して、ユーザメモリ４２から当該格納アドレスの格納データ（プロセスデータ群）を取得して、このプロセスデータ群をブロードキャストメモリ４３の該当領域に転送・格納する。これも上記オフセット値を用いる。つまり、現在のオフセット値＝‘６７０’が示すアドレスから順に上記プロセスデータ群を格納していく。これより、図１０に示す「画面データ３プロセスデータ」が、格納された状態となる。更に、上記画面番号‘３’とその要素数（サイズ＝５０２）とオフセット値‘６７０’を、ブロードキャストメモリ４３のヘッダ領域に格納する。そして、オフセット値は、上記現在値‘６７０’に、上記サイズ（＝５０２）を加算することで‘１１７２’更新する。
【００７９】
画面番号‘１０’に関しても、上記と同様にして、図１０に示す「画面データ１０プロセスデータ」が、格納された状態となると共に、画面番号‘１０’とその要素数（サイズ＝１０２）とオフセット値‘１１７２’を、ブロードキャストメモリ４３のヘッダ領域に格納する。つまり、ヘッダ情報を生成・格納する。
【００８０】
尚。図１０に示すヘッダ領域における総分割数には、マップ情報４４の総フレーム数が格納され、よって本例では‘２’が格納されることになる。同様に、図１０に示すヘッダ領域における今回フレームＮｏ．と今回転送画面数には、マップ情報４４の“フレーム１画面数：３”に基づいて、それぞれ、‘１’と‘３’が格納されることになる。
【００８１】
以上で、ブロードキャストメモリ４３に図１０の左側に示すフレーム１のデータが格納されることになり、既存のコモンメモリ方式の機能によりこのフレーム１のデータをブロードキャスト送信する（ステップＳ６３）。これによって、全てのＨＣＩ装置３０のブロードキャストメモリ３５にフレーム１のデータが格納されることになる（ステップＳ５１）。つまり、図１０で左側に示すブロードキャストメモリ４３におけるフレーム１の格納状態は、そのまま、各ブロードキャストメモリ３５におけるデータ格納状態を示すものと見做して構わない。
【００８２】
そして、各ＨＣＩ装置３０において、そのキャッシュ展開機能部３３ｂが、自己のブロードキャストメモリ３５の格納データを、自己の画面キャッシュ展開領域３１に展開する処理を行う（ステップＳ５２）。
【００８３】
ここで、図１１に、フレーム２を展開後の画面キャッシュ展開領域３１の状態を示す。
画面キャッシュ展開領域３１も、ヘッダ領域とデータ領域とが予め定められており、上記ステップＳ５２の処理は、基本的には、各フレームのヘッダ領域のデータを画面キャッシュ展開領域３１のヘッダ領域にコピーし、各フレームのデータ領域のデータを画面キャッシュ展開領域３１のデータ領域にコピーする処理となる。
【００８４】
より詳しい一例を説明するならば、キャッシュ展開機能部３３ｂは、ブロードキャストメモリ３５に格納されているフレームのヘッダ領域（ヘッダ情報）における“今回フレームＮｏ．”が、‘１’である場合には、画面キャッシュ展開領域３１のヘッダ領域とデータ領域の全データを消去（クリア）したうえで、このフレーム１のヘッダ領域とデータ領域のデータを、それぞれ、画面キャッシュ展開領域３１のヘッダ領域とデータ領域にコピーする。但し、フレームのヘッダ領域における総分割数と今回フレームＮｏ．はコピーしない。
【００８５】
また、フレームのヘッダ領域における“今回転送画面数”は、画面キャッシュ展開領域３１のヘッダ領域における“画面数”の現在値（クリア直後は‘０’になっている）に加算することで、“画面数”の値を更新する。尚、フレーム１を展開するときには“画面数”＝３となっているが、後にフレーム２を展開することで‘１’が加算されるので、図１１に示すように“画面数”＝４となる。
【００８６】
また、フレーム１以外のフレームを展開する際には、画面キャッシュ展開領域３１をクリアすることなく、画面キャッシュ展開領域３１に対象フレームのデータを追加する形で、対象フレームのデータをコピ−する。つまり、対象フレームのヘッダ領域とデータ領域のデータを、それぞれ、画面キャッシュ展開領域３１のヘッダ領域とデータ領域の既存データに追加する形で、これら各領域にコピーする。
【００８７】
但し、その際、対象フレームのヘッダ領域における“オフセット”の値は、変更したうえで、この変更値を画面キャッシュ展開領域３１のヘッダ領域にコピーする。これは、画面キャッシュ展開領域３１のヘッダ領域に格納済みの既存データの最後のデータに基づいて、現在のオフセット値の基準値を求めて、この基準値に対して対象フレームのヘッダ領域における“オフセット”値を加算することで、上記変更値を算出する。
【００８８】
図１０、図１１の例では、フレーム２を展開処理対象としているときには、画面キャッシュ展開領域３１のヘッダ領域にはフレーム１のヘッダ領域のデータが格納済みの状態となっている。よって、このときの“展開領域３１のヘッダ領域に格納済みの既存データの最後のデータ”は、画面番号‘１０’に係わるデータであり、よってオフセット＝‘１１７２’、サイズ＝‘１０２’である。これより、これらを加算することで上記基準値を算出する（基準値＝１１７２＋１０２＝１２７４）。そして、フレーム２のオフセット値は‘０’であるので、これを基準値に加算することで、上記変更値は１２７４となる。
【００８９】
これより、図１１に示すように、画面番号‘２１’に係わるオフセットは‘１２７４’となっている。このオフセット値‘１２７４’は、画面番号‘２１’に係わるプロセスデータの画面キャッシュ展開領域３１における格納領域の先頭を示すことになる。
【００９０】
例えば上述したようにして、フレーム１の展開処理とフレーム２の展開処理とが完了した時点では、画面キャッシュ展開領域３１は、図１１に示す状態となる。つまり、ブロードキャストメモリの容量の問題等により、要求される全ての画面のプロセスデータをブロードキャストメモリに一度に格納できない場合でも、複数回に分けて転送・展開を行うことで、最終的には画面キャッシュ展開領域３１には要求される全ての画面のプロセスデータが格納された状態となる。
【００９１】
そして、キャッシュ管理機能部３３ａは、画面作成機能部３２から要求された画面のプロセスデータを、画面キャッシュ展開領域３１から取得して画面作成機能部３２に渡す。これは、例えば、画面作成機能部３２から渡された画面番号を用いて、画面キャッシュ展開領域３１のヘッダ領域を検索して、該当データのオフセットとサイズを取得する。そして、取得したオフセットとサイズを用いて、画面キャッシュ展開領域３１のデータ領域から該当するプロセスデータを取得する。仮に、画面作成機能部３２から画面番号３と画面番号２１の画面の要求があった場合には、図１１の例ではヘッダ領域からオフセット＝‘６７０’及びサイズ＝‘５０２’（Ｗ）と、オフセット＝‘１２７４’及びサイズ＝‘１５００’（Ｗ）が、取得されることになる。これより、データ領域における先頭（０ｘ１０００）から‘６７０’の位置から５０２ワード分のデータを取得することで、図示の「画面番号３プロセスデータ」を取得できる。同様に、データ領域における先頭（０ｘ１０００）から‘１２７４’の位置から１５００ワード分のデータを取得することで、図示の「画面番号２１プロセスデータ」を取得できる。
【００９２】
上述したように、実施例２では、要求される全ての画面のプロセスデータをブロードキャストメモリに一度に格納できない場合でも、メッセージ通信等を行う必要はなく、要求される全ての画面のプロセスデータをコモンメモリ方式により全てのＨＣＩ装置３０に渡すことができる。更に、その都度、そのときの各ＨＣＩ装置３０の画面表示状態に応じた必要なプロセスデータのみを、ブロードキャストメモリに格納させることができる。つまり、各ＨＣＩ装置３０の画面表示状態の変化に動的に対応して、その都度、そのときに必要なプロセスデータのみを、ブロードキャストメモリを介して各ＨＣＩ装置３０に渡すことができる。尚、ここでは「必要なプロセスデータのみ」とは、全てのＨＣＩ装置３０全体について「必要なプロセスデータのみ」という意味である。つまり、図６の例の場合であれば、「必要なプロセスデータのみ」とは、画面Ａのプロセスデータと画面Ｂのプロセスデータと画面Ｃのプロセスデータと画面Ｄのプロセスデータとを意味することになる。
【００９３】
尚、上記のことを実現する為に、上述した実施例では、画面データキャンセルコマンド４６や画面データ要求コマンド４７等を用いて、その都度、上記要求ＤＢ４５やマップ情報４４の内容を更新しているが、これは一例であり、この例に限らない。
【００９４】
尚、画面データ要求コマンド４７には、必ずしもリードアドレス群が含まれなくてもよい。つまり、要求する画面の画面番号のみが含まれているものであってもよい。各画面に対応するリードアドレス群（ユーザメモリ４２におけるプロセスデータ格納領域）は、予め決まっている場合が多いので、予めコントローラ４０側で全ての画面について各画面に対応するリードアドレス群や要素数を、各画面番号に対応付けて所定の記憶領域に保持しておけばよい。また、これより、要求ＤＢ４５にも、必ずしもリードアドレス群や要素数を保持する必要は無い。要求ＤＢ４５には、各ＨＣＩ装置３０で現在表示中の画面の画面番号が保持されるようにし、これら各画面に対応するリードアドレス群や要素数は、上記所定の記憶領域から取得すればよい。
【００９５】
以上説明した実施例１のプログラマブルコントローラシステムは、例えば不図示の下記の構成を有するものと見做しても構わない。
まず、実施例１のプログラマブルコントローラシステムは、各プロセスデータを記憶する第１メモリ（ユーザメモリ２２等）を有するコントローラ２０と、画面表示に用いるプロセスデータをコントローラ２０から取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置（ＨＣＩ装置１０）とが、ネットワークに接続されてなるプログラマブルコントローラシステムである。そして、上記表示装置（ＨＣＩ装置１０）、コントローラ２０は、例えば下記の各構成を有する。尚、以下の説明では、上記表示装置を表示装置１０と記すものとする。
【００９６】
コントローラ２０と各表示装置１０は、それぞれ、第２メモリ（ブロードキャストメモリ（１１，２３）等）を備えると共に、任意の第２メモリの格納データを他の第２メモリに格納させる通信機能部を備える。この通信機能部は、例えば上記制御ＬＡＮ通信機能部（１４，２１）である。つまり、上記各第２メモリと各通信機能部とによって、上述した既存のコモンメモリ方式のデータ交換が、実現されるものである。つまり、基本的には、全ての第２メモリに同一のデータが格納された状態となるように、各通信機能部によって制御されるものである。
【００９７】
そして、コントローラ２０は、第１メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の第２メモリにおける該当領域へ転送・格納する転送部(不図示)を有する。上記各通信機能部によって、少なくともコントローラ２０が備える第２メモリに格納される各プロセスデータが、各表示装置１０が備える第２メモリに格納される。例えば、コントローラ２０は、第１メモリ（ユーザメモリ２２等）から自装置の第２メモリ（ブロードキャストメモリ２３等）に転送・格納したデータ（プロセスデータ等）を、ブロードキャスト送信することで、全ての表示装置１０に渡して、これらの各第２メモリ（ブロードキャストメモリ１１）に格納させる。
【００９８】
また、各表示装置１０は、例えば、予め登録される上記マッピング情報に従って、表示中の画面に対応するプロセスデータを自装置の第２メモリから取得して、該取得したプロセスデータを用いて該画面の表示を行う表示制御部（不図示）を更に有する。
【００９９】
尚、上記マッピング情報は、例えば、予め任意に設定される、第１メモリに格納される各プロセスデータの第２メモリにおける割当領域である。尚、各プロセスデータは、表示装置１０において表示可能な各画面毎に対応するデータである。
【０１００】
また、上述した実施例２のプログラマブルコントローラシステムは、例えば不図示の下記の構成を有するものと見做しても構わない。
まず、実施例２のプログラマブルコントローラシステムも、各プロセスデータを記憶する第１メモリ（ユーザメモリ４２等）を有するコントローラ４０と、画面表示に用いるプロセスデータをコントローラ４０から取得して、該取得したプロセスデータを用いて画面の表示を行う１台以上の表示装置（ＨＣＩ装置３０）とが、ネットワークに接続されてなるプログラマブルコントローラシステムである。そして、上記表示装置（ＨＣＩ装置３０）、コントローラ４０は、例えば下記の各構成を有する。尚、以下の説明では、上記表示装置を表示装置３０と記すものとする。
【０１０１】
コントローラ４０と各表示装置３０は、それぞれ、第２メモリ（ブロードキャストメモリ（３５，４３）等）を備えると共に、任意の第２メモリの格納データを他の第２メモリに格納させる通信機能部を備える。この通信機能部は、例えば上記制御ＬＡＮ通信機能部（３４，４１）である。つまり、上記各第２メモリと各通信機能部とによって、上述した既存のコモンメモリ方式のデータ交換が、実現されるものである。つまり、基本的には、全ての第２メモリに同一のデータが格納された状態となるように、各通信機能部によって制御されるものである。
【０１０２】
そして、上記コントローラ４０は、各表示装置３０で表示中の各画面の識別情報を含むマップ情報を作成するマップ情報作成部（不図示）と、上記マップ情報に基づいて、上記第１メモリに格納される各プロセスデータの中で各表示装置３０で表示中の各画面に対応するプロセスデータを、自己の第２メモリへ転送・格納する転送部（不図示）を有する。
【０１０３】
上記各通信機能部によって、少なくともコントローラ４０が備える第２メモリに格納されているデータ（各プロセスデータ等）が、各表示装置３０が備える第２メモリに格納される。これは、上記実施例１の場合と同様、既存のコモンメモリ方式によるものであり、ここでの説明は省略する。
【０１０４】
尚、上記マップ情報は、上述したマップ情報４４を意味するものであってもよいし、「マップ情報４４＋要求ＤＢ４５」を意味するものであってもよい。上記マップ情報は、例えば、コントローラ４０において、各表示装置３０から通知される所定のコマンドに基づいて、随時、作成・更新される。
【０１０５】
また、表示装置３０は、第２メモリを介して取得できるプロセスデータの中に自装置で表示中の画面に対応するプロセスデータが無い場合、あるいは自装置で表示中の画面のうちの任意の画面が閉じられた場合に、これらの画面の識別情報を含む所定のコマンドをコントローラ４０へ通知する。このコマンドの一例が上記画面データキャンセルコマンド４６、画面データ要求コマンド４７等であるが、これらの例に限らない。
【０１０６】
また、コントローラ４０における上記マップ情報作成部（不図示）は、例えば、各表示装置３０で表示中の各画面に対応する各プロセスデータそれぞれのサイズ（上記要素数など）に基づいて、各表示装置３０で表示中の各画面に対応する複数のプロセスデータ全てを第２メモリに一度に格納出来るか否かを判定し、該判定結果に基づいて上記マップ情報を作成する。
【０１０７】
更に、マップ情報作成部（不図示）は、プロセスデータ全てを第２メモリに一度に格納出来ないと判定した場合、該複数のプロセスデータを複数回に分けて第２メモリに格納するものと判定し、該判定結果に基づいて上記マップ情報を作成する。そして、上記転送部は、該マップ情報に従って、第１メモリに格納される各プロセスデータのなかで表示中の各画面に対応する複数のプロセスデータを、複数回に分けて、自己の第２メモリにおける該当領域へ転送・格納する。
【０１０８】
上記表示装置３０は、自己の第２メモリに格納される各プロセスデータを、所定の記憶領域上に展開する展開部（不図示）と、自装置で表示中の画面に対応するプロセスデータを上記所定の記憶領域上から取得して、該取得したプロセスデータを用いて該画面の表示を行う第２表示制御部（不図示）とを有する。尚、上記展開部（不図示）の一例が上述したキャッシュ展開機能部３３ｂであり、上記第２表示制御部（不図示）の一例が「画面作成機能部３２＋キャッシュ管理機能部３３ａ」であると見做しても構わない。上記所定の記憶領域の一例が、上記画面キャッシュ展開領域３１であると見做しても構わない。
【０１０９】
表示装置３０の上記展開部（不図示）は、自己の第２メモリに格納される各プロセスデータを、複数回掛けて上記所定の記憶領域上に展開することで、該記憶領域上に各表示装置３０で表示中の各画面に対応するプロセスデータ全てが格納された状態にする。
【０１１０】
以上説明したように、実施例１では、ブロードキャストメモリを用いてコモンメモリ方式によりコントローラ２０から各ＨＣＩ装置１０へプロセスデータを転送することができる。つまり、基本的には従来のようなメッセージ通信を用いる必要なく、各ＨＣＩ装置１０は、コモンメモリ方式によりプロセスデータを取得することができ、該取得したプロセスデータを用いて画面表示を行うことができる。特にシステムの規模が比較的大きくＨＣＩ装置１０の台数が多い場合、コモンメモリ方式ではブロードキャストにより全ＨＣＩ装置１０にプロセスデータを送信できる。よって、メッセージ通信を用いる場合に比べて、処理負荷が軽減できる。
【０１１１】
また、実施例２によれば、その都度、各ＨＣＩ装置３０で必要とするプロセスデータのみをブロードキャストメモリに格納することができ、以って当該必要なプロセスデータのみを各ＨＣＩ装置３０へ送信することができる。必要なプロセスデータとは、各ＨＣＩ装置３０が現在表示中の画面に係わるプロセスデータである。尚、ＨＣＩ装置３０は、一度に複数の画面を表示することも可能である。
【０１１２】
任意のＨＣＩ装置３０上で任意のユーザ操作によって画面表示に変更がある毎に（表示中の画面のキャンセル、あるいは新たな画面の追加など）、現状に応じた必要なプロセスデータのみを動的にブロードキャストメモリにマッピングして格納させることができる。
【０１１３】
・各ＨＣＩ装置３０では、画面表示している間、自メモリ内を検索し、表示中の画面に対応するプロセスデータが存在する場合、必要なプロセスデータを読み込み、これを用いて画面表示を行う。表示中の画面に対応するプロセスデータが自メモリ内に存在しない場合、この画面の識別ＩＤ（画面番号）等を含む要求コマンドとしてコントローラ４０に送信する。あるいは、各ＨＣＩ装置３０では、ユーザ操作によって、表示中の１以上の画面のうち任意の画面が閉じられた場合、この画面の画面番号等を含むキャンセルコマンドを、コントローラ４０に送信する。
【０１１４】
・コントローラ４０は、上記要求コマンドを受信すると、要求された画面番号等を要求ＤＢ４５に追加格納すると共に、マップ情報４４を再作成する。その後は、再作成されたマップ情報４４に従ってプロセスデータをブロードキャストメモリに格納することで、現在必要なプロセスデータのみをブロードキャストメモリに格納することができる。特に、不足していたプロセスデータもブロードキャストメモリに格納することができる。
【０１１５】
・コントローラ４０は、上記キャンセルコマンドを受信すると、キャンセルされた画面の画面番号等を要求ＤＢ４５から削除すると共に、マップ情報４４を再作成する。その後は、再作成されたマップ情報４４に従ってプロセスデータをブロードキャストメモリに格納することで、ＨＣＩ装置３０側の表示の変化（任意の画面のキャンセル）に応じた現在必要なプロセスデータのみを、ブロードキャストメモリに格納することができる。
【０１１６】
・コントローラ４０は、必要なプロセスデータ全てをブロードキャストメモリに一度で書き込めない場合、複数回に分けてブロードキャストメモリに格納する。上記マップ情報４４には、その為の情報（各フレーム毎の画面番号）も含まれる。
【０１１７】
・ブロードキャストメモリ上のプロセスデータは、制御ＬＡＮ通信機能により所定の転送サイクルで全ＨＣＩ装置３０に転送される。各ＨＣＩ装置３０は、自己のブロードキャストメモリに転送されてきたプロセスデータを、自メモリ上に展開する。上記必要なプロセスデータ群が、複数回に分けて転送されてくる場合には、複数回受信することで自メモリ上に上記必要なプロセスデータ群全てが格納された状態にする。
【０１１８】
なお、以上の説明ではコントロールシステムの中核機能（コントローラ）を実現するものとしてプログラマブルコントローラ（ＰＬＣ）を例に説明したが、それに限ることはなく、例えばＤＣＳ（Distributed Control System：分散型制御システム或いは分散型制御装置）で実現してもよい。一般的なＦＡ（Factory Automation）システムではＰＬＣが用いられることが多く、さらに高信頼性を要求されるプラント設備ではＤＣＳが用いられることが多い。本発明のコントローラはＰＬＣであってもよく、ＤＣＳであってもよい。
【０１１９】
本発明は、コントロールシステムに係わるものであり、上述したプログラマブルコントローラシステムは、その一例であり、この例に限らない。
【符号の説明】
【０１２０】
１  ネットワーク
２  支援装置
２ａ  ブロードキャストメモリマップ機能部
１０  ＨＣＩ装置
１１  ブロードキャストメモリ
１２  画面作成機能部
１３  画面データ取得機能部
１４  制御ＬＡＮ通信機能部
２０  コントローラ
２１  制御ＬＡＮ通信機能部
２２  ユーザメモリ
２３  ブロードキャストメモリ
３０  ＨＣＩ装置
３１  画面キャッシュ展開領域
３２  画面作成機能部
３３  画面データ取得機能部
３３ａ  キャッシュ管理機能部
３３ｂ  キャッシュ展開機能部
３４  制御ＬＡＮ通信機能部
３５  ブロードキャストメモリ
４０  コントローラ
４１  制御ＬＡＮ通信機能部
４２  ユーザメモリ
４３  ブロードキャストメモリ
４４  マップ情報
４５  要求ＤＢ
４６  画面データキャンセルコマンド
４７  画面データ要求コマンド
５０  画面データキャッシュ機能部
５１  画面キャッシュ転送機能部
５２  画面キャッシュマッピング機能部
５３  要求ＤＢ管理機能部
【図７】
2016100846.tif 000003
【図８】
2016100846.tif 000004
【図９】
2016100846.tif 000005
【図１０】
2016100846.tif 000006
【図１１】
2016100846.tif 000007
【図１】
2016100846.tif 000008
【図２】
2016100846.tif 000009
【図３】
2016100846.tif 000010
【図４】
2016100846.tif 000011
【図５】
2016100846.tif 000012
【図６】
2016100846.tif 000013