JP2016100846A - コントロールシステム、そのコントローラ、表示装置 - Google Patents

コントロールシステム、そのコントローラ、表示装置 Download PDF

Info

Publication number
JP2016100846A
JP2016100846A JP2014238206A JP2014238206A JP2016100846A JP 2016100846 A JP2016100846 A JP 2016100846A JP 2014238206 A JP2014238206 A JP 2014238206A JP 2014238206 A JP2014238206 A JP 2014238206A JP 2016100846 A JP2016100846 A JP 2016100846A
Authority
JP
Japan
Prior art keywords
screen
process data
memory
controller
stored
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.)
Pending
Application number
JP2014238206A
Other languages
English (en)
Inventor
佑樹 平井
Yuki Hirai
佑樹 平井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2014238206A priority Critical patent/JP2016100846A/ja
Publication of JP2016100846A publication Critical patent/JP2016100846A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Programmable Controllers (AREA)
  • Selective Calling Equipment (AREA)

Abstract

【課題】各表示装置へのプロセスデータ転送に係わるコントローラの処理負荷や通信負荷を軽減する。【解決手段】各HCI装置10とコントローラ20は、ブロードキャストメモリ11、23と、制御LAN通信機能部14、21を備え、これらによって既存のコモンメモリ方式のデータ交換が実現される。コントローラ40は、ユーザメモリ22に格納される各プロセスデータを、ブロードキャストメモリ23に転送する。これより、上記コモンメモリ方式によって各HCI装置10のブロードキャストメモリ11に上記各プロセスデータが格納された状態となり、そこからそのHCI装置10で表示中の画面に対応するプロセスデータが取得されて画面表示に用いられる。【選択図】図1

Description

本発明は、表示装置とコントローラがネットワークに接続されて成るコントロールシステムに関する。
従来、例えばプログラマブル表示器等であるHCI装置と、コントローラが、ネットワークに接続されて成るプログラマブルコントローラシステムが、存在する。
HCI装置は、一例としてはプログラマブル表示器等としてよく知られている機能を有する。すなわち、基本的にはコントローラ(コントローラによる制御対象機器)の監視や制御等の為のHCI(ヒューマン=コンピューター・インタラクション)機能を、HCI装置は備えている。
その為に、HCI装置は、例えば一定周期でコントローラから所定のデータを取得して、当該取得データを用いて画面表示する。HCI装置の画面上には、例えばメーターやグラフ等や、スイッチ、ボタン等の各種アイテムが配置されており、例えば、上記取得データの数値を、メーターやグラフ等の形式で表示する。取得データは、例えば一例としてはコントローラによる制御対象機器の各所の温度等であり、これら各温度がメーターやグラフ等の形式で表示される。あるいは、オペレータが所望のスイッチ、ボタン等を操作すると、当該操作されたスイッチ等に応じたコマンド等が、コントローラに送信されることで、コントローラを制御する。
尚、上記表示装置が画面表示の為にコントローラから取得する必要があるデータを、プロセスデータと呼ぶものとする。
上記HCI装置が上記コントローラからプロセスデータを取得する方法は、従来ではメッセージ通信を用いていた。つまり、コントローラは、上記温度等のプロセスデータをメッセージによりネットワークを介してHCI装置に送信していた。
また、例えば特許文献1に記載の従来技術が知られている。
特許文献1の発明は、コモンメモリ方式により他装置とデータの授受を行うデータ伝送装置に関する発明である。各データ伝送装置は、各々、各プログラマブルコントローラに接続されている。コモンメモリ方式では、各データ伝送装置がそれぞれコモンメモリを有しており、全てのコモンメモリに同じデータが格納されるように制御される。
特開2002−297210号公報
ここで、HCI装置は、複数種類の画面を表示可能であり、基本的には、各画面毎に必要となるプロセスデータが異なる。また、複数種類の画面を、ユーザ操作等に応じて切り替えて表示する装置がある。この装置では、一度に1つの画面のみを選択的に表示させることになる。一方、一度に複数の画面を表示させることができるHCI装置も知られている。すなわち、マルチウィンドウ表示を行えるHCI装置も知られている。この場合、例えば予め10種類の画面が用意されており、ユーザの操作に応じてそのなかの2、3種類のみを選択的に表示させる等することになる。
ここで、近年、上記プログラマブルコントローラシステムは、規模が大きくなる場合があり、複数のHCI装置が設けられている場合がある。この場合、コントローラは、これら各HCI装置に対して、それぞれ、メッセージ通信を行う必要があり、処理負荷が非常に大きかった。特に、上記のように各HCI装置が複数の画面を表示するものである場合、コントローラの処理負荷は増大していた。
本発明の課題は、HCI装置とコントローラがネットワークに接続されるコントロールシステムにおいて、各HCI装置へのプロセスデータ転送に係わるコントローラの処理負荷や通信負荷を軽減することができるコントロールシステム等を提供することである。
本発明のコントロールシステムは、各プロセスデータを記憶する第1メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムであって、下記の特徴を有する。
・前記コントローラと各表示装置は、それぞれ、第2メモリを備えると共に、任意の第2メモリの格納データを他の第2メモリに格納させる通信手段を備える。
・前記コントローラは、前記第1メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の前記第2メモリにおける該当領域へ転送・格納する転送手段を有する。
・前記各通信手段によって、少なくともコントローラが備える前記第2メモリの前記各プロセスデータが、各表示装置が備える前記第2メモリに格納される。
本発明のコントロールシステム等によれば、表示装置とコントローラがネットワークに接続されるコントロールシステムにおいて、各表示装置へのプロセスデータ転送に係わるコントローラの処理負荷や通信負荷を軽減することができる。あるいは、更に、その都度、そのときに表示装置側で必要とするプロセスデータのみを転送することができ、無駄なデータ転送が行われなくなり、データ転送量を削減できる。また、転送の為のメモリ容量すなわちブロードキャストメモリ容量が、足りない場合でも、複数回に分けて転送できるようにすることで対応できる。
実施例1のプログラマブルコントローラシステムのシステム構成図である。 実施例2のプログラマブルコントローラシステムのシステム構成図である。 要求時の処理フローチャート図である。 キャンセル時の処理フローチャート図である。 ブロードキャスト送受信処理のフローチャート図である。 HCI装置の画面表示例である。 画面データ要求コマンドの具体例である。 要求DBの具体例である。 マップ情報の具体例である。 ブロードキャストメモリのデータ格納例である。 画面キャッシュ展開領域のデータ格納例である。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、実施例1のプログラマブルコントローラシステムのシステム構成図である。
図示のプログラマブルコントローラシステムは、コントローラ20と、複数台のHCI装置10(HCI装置10a、HCI装置10b)が、ネットワーク1に接続されている。各HCI装置10は、例えば上記マルチウィンドウ表示を行えるHCI装置であり、複数の画面(画面群)を表示するが、この例に限らない。また、HCI装置10は、上述したように、例えばプログラマブル表示器等であるが、この例に限らない。
また、上述したことから、HCI装置は、プログラマブルコントローラに係わる表示装置の一種であると見做しても構わない。
そして、上記従来のHCI装置と同様に、各HCI装置10は、自己の画面表示の為にコントローラ20からデータを取得する必要がある。上記の通り、ここでは、この様なデータをプロセスデータと呼ぶものとする。そして、上記のように、各HCI装置10において表示可能な各画面毎に、その画面表示の為にその画面に応じたプロセスデータが必要となる。
プロセスデータは、コントローラ20において生成/収集等されて図示のユーザメモリ22に格納される。ユーザメモリ22には、コントローラ20が制御する不図示の制御対象機器の現在の状態等を示すデータ等が格納される。コントローラ20は、このユーザメモリ22の格納データ(プロセスデータ等)を、随時更新している。
そして、従来では、コントローラ20は、例えば任意のHCI装置10からの要求に応じて、ユーザメモリ22の格納データを上記の通りメッセージ通信により要求元のHCI装置10へ送信していた。
各HCI装置10とコントローラ20は、それぞれ、上記コモンメモリに相当するメモリを備えている。すなわち、各HCI装置10はブロードキャストメモリ11を備えている。コントローラ20は、ブロードキャストメモリ23を備えている。また、各HCI装置10は制御LAN通信機能部14を有し、コントローラ20は制御LAN通信機能部21を有する。これらブロードキャストメモリ11、23、制御LAN通信機能部14、21によって、例えば上記特許文献1等に記載のような、既存のコモンメモリ方式のデータ交換が実現される。
このコモンメモリ方式の機能については、特に詳細には説明しないが、簡単に説明するならば、制御LAN通信機能部21は、例えば定周期で、自己のブロードキャストメモリ23の格納データを、ブロードキャストでネットワーク1上に送信する。これより、各HCI装置10の制御LAN通信機能部14は、当該ブロードキャスト送信されたデータを受信すると、この受信データによって自己のブロードキャストメモリ11の該当記憶領域の格納内容を更新する。すなわち、受信データを自己のブロードキャストメモリ11の該当記憶領域に上書き格納する。
各HCI装置10は、画面作成機能部12と画面データ取得機能部13を有する。画面作成機能部12は、既存の機能であり、任意の画面をディスプレイ上に表示する機能を有する。ここで、図示のユーザメモリ22やブロードキャストメモリ11、23に示す“プロセスデータ1”、“プロセスデータ2”等は、各画面毎に対応するデータである。
例えば、仮に、画面A、画面B、画面C、画面D、画面Eの5種類の画面があるものとした場合、例えば“プロセスデータ1”は画面Aに係わるデータであり、“プロセスデータ2”は画面Bに係わるデータであるものとする。これより、画面Aを表示中のHCI装置10は、例えば定期的に少なくとも“プロセスデータ1”(その最新データ)をコントローラ20から取得する必要がある。そして、この例の場合、このHCI装置10においては、画面作成機能部12は画面データ取得機能部13に対して画面Aに係わるデータを要求し、これに応じて画面データ取得機能部13はブロードキャストメモリ11から“プロセスデータ1”を取得して画面作成機能部12に渡す。画面作成機能部12は、この“プロセスデータ1”を用いて画面Aを表示することになる。尚、“プロセスデータ1”は、例えば一例としては上記温度のデータであり、画面作成機能部12はこの温度を例えばメーターやグラフ等の形で、画面A上に表示することになる。
また、上記のHCI装置10が画面Aだけでなく更に画面データBも表示する場合には、画面作成機能部12は、更に“プロセスデータ2”もブロードキャストメモリ11から取得して、これを用いて画面Bを表示する処理も行うことになる。
尚、上記各画面表示に必要なデータである各プロセスデータは、支援ツール2のブロードキャストメモリマップ機能2aによりブロードキャストメモリ11,23上にマッピングされている(任意のアドレスが割当てられている)。このマッピングデータは、予め各HCI装置10、コントローラ20に記憶されている。これより、コントローラ20は、このマッピングデータを基にプロセスデータをユーザメモリ22からブロードキャストメモリへ転送する。また、各HCI装置10の画面データ取得機能部13は、このマッピングデータを基にブロードキャストメモリ11上のプロセスデータを取得する。
尚、各画面に対応する各プロセスデータのユーザメモリ22上の格納位置(アドレス)は、予め決められてコントローラ20側で管理されている。
ここで、例えば、ブロードキャストメモリ11,23のメモリ容量が、ユーザメモリ22のメモリ容量よりも小さい場合、ユーザメモリ22に格納されるプロセスデータ全てを、ブロードキャストメモリ23に格納することはできない。その為、例えば図示のように、“プロセスデータ5”はブロードキャストメモリ23に格納できない等という事態が生じ得る。この様な場合、“プロセスデータ5”に関してのみ、従来と同様に、メッセージ通信によって各HCI装置10に送信するという方法が考えられる。また、更新頻度が比較的低い“プロセスデータ”を、この様にメッセージ通信の対象とすることも考えられる。しかしながら、この場合、逐一、各HCI装置10に対してメッセージ通信によりプロセスデータを送信する為、コントローラ20の処理負荷が大きい。これは、特にHCI装置10の台数が多い場合に、コントローラ20の処理負荷が非常に大きくなる。
また、上記図1に示す実施例1の手法では、ブロードキャストメモリ11,23には、HCI装置10で必要としていないプロセスデータも格納される場合が少なくないと考えられる。極端な話、全てのHCI装置10が上記画面Eのみを表示している状態のときには、ブロードキャストメモリ11、23の格納データは、全て無駄なものとなる。
これより、以下に説明する実施例2を提案する。
実施例2では、基本的に、各画面に対応するプロセスデータの中で現在各HCI装置で表示中の画面に対応するプロセスデータのみが、ブロードキャストメモリに格納されるように構成する。更に、コントローラは、各HCI装置で表示中の画面に対応するプロセスデータ全てを、一度にブロードキャストメモリに格納することができない場合には、複数回に分けて格納する。この様にすることで、ブロードキャストメモリを有効利用でき、ブロードキャストメモリのメモリ容量が少ない場合にも対応できる。
図2は、実施例2のプログラマブルコントローラシステムのシステム構成図である。
図示のプログラマブルコントローラシステムは、コントローラ40と、複数台のHCI装置30(HCI装置30a、HCI装置30b)が、ネットワーク3に接続されている。HCI装置30は、例えば上記HCI装置10と同様、マルチウィンドウ表示を行えるHCI装置であるが、この例に限らない。
各HCI装置30は、画面キャッシュ展開領域(キャッシュメモリ等)31、画面作成機能部32、画面データ取得機能部33、制御LAN通信機能部34、ブロードキャストメモリ35等を有する。これらの構成のうち、画面作成機能部32、制御LAN通信機能部34は、上記実施例1の画面作成機能部12、制御LAN通信機能部14と同じであってよく、ここでは説明を省略するものとする。
尚、画面キャッシュ展開領域31や後述するキャッシュ展開機能部33bは、必ずしも必要ない。つまり、ブロードキャストメモリ35に格納されたデータ(プロセスデータ等)を、別の記憶領域に展開する処理は、必ずしも必要ない。この処理は、コントローラ側において転送対象のプロセスデータを複数回に分けてブロードキャストメモリ43に格納する場合に対応する処理である為である。画面キャッシュ展開領域31や後述するキャッシュ展開機能部33bが無い構成の場合には、画面データ取得機能部33は、ブロードキャストメモリ35からプロセスデータ等を取得することになる。
また、ブロードキャストメモリ35、43は、上記ブロードキャストメモリ11、23と同様、上記コモンメモリに相当するメモリである。但し、実施例2の場合、その都度、そのときに各HCI装置30で必要とするプロセスデータすなわち各HCI装置30で表示中の画面に対応するプロセスデータのみが、ブロードキャストメモリ35、43に格納されるように制御される。これは、例えば「“HCI装置30aで表示中の画面に対応するプロセスデータ”+“HCI装置30bで表示中の画面に対応するプロセスデータ”」が、ブロードキャストメモリ35、43に格納される。詳しくは後述する。
また、一例としては、ブロードキャストメモリ35の格納データは、画面データ取得機能部33(そのキャッシュ展開機能部33b)によって、画面キャッシュ展開領域31上に展開される。また、画面データ取得機能部33(そのキャッシュ管理機能部33a)は、画面キャッシュ展開領域31上に展開されたデータの中から、画面作成機能部32の要求に応じた必要なデータを取得して、これを画面作成機能部32に渡す。詳しくは後述する。
また、各HCI装置30は、コントローラ40に対してネットワーク3を介して、図示の画面データキャンセルコマンド46や画面データ要求コマンド47等を送信する場合がある。これについても、詳しくは後述する。尚、これらコマンド46,47は、メッセージ通信によりコントローラ40へ送信してもよいし、ブロードキャストメモリを介してコントローラ40へ渡してもよい。
コントローラ40は、制御LAN通信機能部41、ユーザメモリ42、ブロードキャストメモリ43、画面データキャッシュ機能部50等を有している。また、コントローラ40は、マップ情報44、要求DB(データベース)45等の各種データを保持する。
上記制御LAN通信機能部41、ユーザメモリ42は、実施例1の制御LAN通信機能部21、ユーザメモリ22と同じであってよく、ここでは説明を省略するものとする。また、ブロードキャストメモリ43は、上記ブロードキャストメモリ23と同様、上記コモンメモリに相当するメモリである。但し、図示のように、格納されるデータは、実施例1の場合とは異なる。詳しくは後述する。
画面データキャッシュ機能部50は、画面キャッシュ転送機能部51、画面キャッシュマッピング機能部52、要求DB管理機能部53等の各種機能部を有する。これらについても後述する。
上記ブロードキャストメモリ35、43、制御LAN通信機能部34、41によって、上記特許文献1等に記載の従来のコモンメモリ方式のデータ交換が実現される。この点自体は、上記実施例1と同様と見做して構わない。
ここで、以下、上記HCI装置30、コントローラ40の各種機能部について説明する。まず、コントローラ40について、以下、説明する。コントローラ40は、上記の通り、画面キャッシュ転送機能部51、画面キャッシュマッピング機能部52、要求DB管理機能部53等の各種機能部を有する。
(1)要求DB管理機能部53;
・HCI装置30からの画面データ要求コマンド47を受信すると、このコマンド47に含まれる画面番号と読み出し対象のアドレス群を、要求DB45に追加格納する。
・HCI装置30からの画面データキャンセルコマンド46を受信すると、このコマンド46に含まれる画面番号に基づいて、要求DB45に格納されているデータ(アドレス群等)の中でこの画面番号に対応するデータ(アドレス群等)をクリア(消去)する。
尚、上記アドレス群は、上記画面番号の画面に係わるプロセスデータの上記ユーザメモリ42上の格納領域を示すアドレス群である。
(2)画面キャッシュマッピング機能52;
・マップ情報44を作成する処理を実行する。マップ情報44の具体例は図9に示し、詳しくは後に説明するが、マップ情報44は基本的にブロードキャストメモリ43に格納すべきプロセスデータに係わる画面番号等から成る。つまり、ユーザメモリ42には、様々な画面に係わる各種プロセスデータが格納されるが、その中でブロードキャストメモリ43に転送・格納すべき画面の画面番号が、マップ情報44には含まれる。詳しくは後述する。
・転送するデータ量が、ブロードキャストメモリ43の容量(その画面キャッシュ領域の容量)よりも大きい場合は、複数回に分けてユーザメモリ42からブロードキャストメモリ43にデータ転送・格納されるようにするマップ情報44を作成する。これによって、複数回のブロードキャスト転送によって全ての必要なプロセスデータが、全てのHCI装置30に送信される。
・このマップ情報44の作成処理は、例えば上記画面データキャンセルコマンド46の受信時や、上記画面データ要求コマンド47の受信時であって、上記要求DB45の更新処理後に実行する。
(3)画面キャッシュ転送機能53;
・上記作成されたマップ情報44に従って、ユーザメモリ42からブロードキャストメモリ43(その画面キャッシュ領域)にプロセスデータを転送する処理を実行する。これは、基本的には、ユーザメモリ42の格納データの中の一部を、ブロードキャストメモリ43に転送することになる。また、その際、後述するヘッダ情報を生成してブロードキャストメモリ43に格納する処理も行う。
続いて、HCI装置30の各種機能部について、以下、説明する
HCI装置30は、上記の通り、キャッシュ管理機能部33a、キャッシュ展開機能部33b等を有する。
(4)キャッシュ展開機能部33b;
・ブロードキャスト受信する毎に、当該ブロードキャストによって自己のブロードキャストメモリ35に新たに格納されたプロセスデータ等を、自己の画面キャッシュ展開領域31上に展開する。その際、特に複数回に分けてブロードキャスト送信されてくる場合には、複数回展開することで、自己の画面キャッシュ展開領域31上に、転送対象の全プロセスデータが記憶された状態となるようにする。これについて詳しくは後述する。
(5)キャッシュ管理機能部33a;
・上記自己の画面キャッシュ展開領域31上に展開されたプロセスデータ群のなかから、画面作成機能部32から要求された画面に係わるプロセスデータを取得して、これを画面作成機能部32に渡す。
但し、もし、要求された画面に係わるプロセスデータが、画面キャッシュ展開領域31上に無い場合には、コントローラ40に対して、この画面に係わるプロセスデータを要求する画面データ要求コマンド47を送信する。これは、例えばユーザ操作によって任意の新たな画面が追加表示された場合に、この新たな画面に対応するプロセスデータは無いはずであるので、コントローラ40に要求することになる。
但し、この例に限らない。例えば、自装置が表示中の画面と同じ画面を、他のHCI装置30でも表示している状態から、他のHCI装置30においてこの画面を閉じる操作が行われて後述する画面データキャンセルコマンド46が出された場合にも、この画面に係わるプロセスデータが画面キャッシュ展開領域31上に無い状態となる。
詳しくは後述する。
・画面作成機能部32からキャンセル要求があった場合には、コントローラ40に対して画面データキャンセルコマンド46を送信する。画面作成機能部32は、例えば表示中の画面のうちの任意の画面を閉じるユーザ操作が行われた場合に、この画面のキャンセル要求を出す。
コントローラ40は、上記画面データ要求コマンド47または画面データキャンセルコマンド46を受信すると、これに応じて要求DB45やマップ情報44を更新/再作成する。これらの処理の具体例について、図3、図4に示すフローチャート図を参照して以下に説明する。
図3は、上記画面データ要求コマンド47に係わる処理フローチャート図である。
まず、HCI装置30上には、随時、ユーザ操作に応じて任意の1以上の画面が表示されている。この画面表示の一例を図6に示す。
図6に示す例では、HCI装置30a上には画面A、画面C、画面Dの3つの画面が表示されており、HCI装置30b上には画面B、画面Dの2つの画面が表示されている。尚、これは実施例2に限るわけではなく、実施例1においてもHCI装置10a、10b上にそれぞれ任意の1以上の画面が表示されることになる。
また、尚、この例の場合、HCI装置30a、30bの各画面キャッシュ展開領域31には、画面A、画面B、画面C、画面Dの4つの画面のプロセスデータが、展開されることになる。そして、HCI装置30aの場合には、この中からキャッシュ管理機能部33aによって画面A、画面C、画面Dのプロセスデータが、取得されて画面作成機能部32に渡されることになる。同様に、HCI装置30bの場合には、この中からキャッシュ管理機能部33aによって画面B、画面Dのプロセスデータが、取得されて画面作成機能部32に渡されることになる。
また、図6の表示状態からユーザ操作に応じて他の表示状態へと変化し得る。例えば、HCI装置30aにおいてユーザ操作によって上記3つの画面のうち画面Aが消去された場合、HCI装置30aはこれに応じた画面データキャンセルコマンド46をコントローラ40に通知する。例えば、画面Aの識別ID(画面番号)を含む画面データキャンセルコマンド46をコントローラ40に通知する。
このコマンド46に応じてコントローラ40は、例えば図4の図上右側に示す処理を実行する。あるいは、HCI装置30bにおいてユーザ操作によって新たな画面(画面Eとする)が追加表示された場合、HCI装置30bはこれに応じた画面データ要求コマンド47をコントローラ40に通知する。
この例では、コマンド47には、例えば画面Eの画面番号と、画面Eに係わるプロセスデータのユーザメモリ42上の格納領域を示すアドレス群等が、含まれるが、この例に限らない。例えば、コマンド47には例えば画面Eの画面番号のみが含まれるように構成してもよい。尚、この場合には、コントローラ40側で画面Eに対応する上記アドレス群が分かるように構成する必要がある(予め各画面に対応するアドレス群を記憶している等)。何れにしても、各画面に対応する上記アドレス群は、予め決められており、コントローラ40または各HCI装置30に予め記憶させておけばよい。
上記コマンド47に応じてコントローラ40は、例えば図3の図上右側に示す処理を実行する。
図3の説明に戻る。
HCI装置30において、画面作成機能部32は、随時または定周期で、現在表示中の画面に係わるプロセスデータの取得要求を、画面データ取得機能部33(そのキャッシュ管理機能部33a)に対して発行する(ステップS11)。例えば図6の例の場合、例えばHCI装置30bにおいては、画面Bと画面Dのプロセスデータの取得要求が、発行されることになる。また、この取得要求には、現在表示中の画面の識別ID(画面番号)が含まれている。上記の例では、画面Bの画面番号と画面Dの画面番号とが含まれていることになる。
上記取得要求を受けた画面データ取得機能部33(そのキャッシュ管理機能部33a)は、画面キャッシュ展開領域31上に上記取得要求に含まれる画面番号が存在するか否かをチェックする(ステップS12)。そして、要求された画面の画面番号が存在する場合には(ステップS13、YES)、キャッシュ管理機能部33aは、上記要求された画面のプロセスデータを画面キャッシュ展開領域31上から取得して、画面作成機能部32に渡す(ステップS14)。尚、画面キャッシュ展開領域31上のデータ格納例は、図11に示し、後に説明するものとする。
一方、要求された画面の画面番号が存在しない場合には(ステップS13、NO)、キャッシュ管理機能部33aは、この画面のプロセスデータを要求する為の画面データ要求コマンド47を作成する(ステップS15)。そして、例えば制御LAN通信機能部34が、この画面データ要求コマンド47をコントローラ40へ送信する(ステップS16)。
尚、上記HCI装置30bの例において、仮に、画面キャッシュ展開領域31上に、画面Bの画面番号は存在するが画面Dの画面番号は存在しない場合には、ステップS14によって画面Bのプロセスデータを取得すると共に、ステップS15,S16によって画面Dのプロセスデータをコントローラ40へ要求することになる。
ここで、図7に、画面データ要求コマンド47の具体例を示す。
図7に示す例では、画面データ要求コマンド47には、上記プロセスデータを要求する画面の画面番号と、この画面に係わる各種データのユーザメモリ42上の格納アドレス群(図示のリードアドレス1−1、リードアドレス1−2、・・・、リードアドレス1−670)と、このアドレスの数である要素数(図示の例では670)とが、含まれる。
コントローラ40は、制御LAN通信機能部41によって上記画面データ要求コマンド47を受信すると(ステップS21)、要求DB管理機能部53が、このコマンド47に含まれる上記画面番号が、要求DB45に存在するか否かをチェックする(ステップS22)。そして、コマンド47の画面番号と同一の画面番号が、既に要求DB45に存在する場合には(ステップS22,YES)、そのまま本処理を終了する。
一方、コマンド47の画面番号と同一の画面番号が、要求DB45に存在しない場合には(ステップS22,NO)、受信したコマンド47を要求DB45に追加登録する(ステップS23)。そして、これによって要求DB45の格納内容が変化することから、上記のように画面キャッシュマッピング機能部52によってマップ情報44を再作成する。すなわち、図示のステップS24,S25の処理を実行する。
ここで、図8に要求DB45のデータ格納例を示し、図9にマップ情報44の具体例を示す。以下のステップS24、S25の処理の説明には、これら図8、図9に示す具体例を用いるものとする。
画面キャッシュマッピング機能部52は、まず、上記更新後の要求DB45を参照して、必要なフレーム数(図9に示す総フレーム数)を判断する(ステップS24)。この処理について、図10に示す画面キャッシュ領域の具体例も用いて説明する。
本例では、ブロードキャストメモリ43の画面キャッシュ領域は、図10のヘッダ領域とデータ領域とに分けられている。そして、このデータ領域の記憶容量に応じたプロセスデータ数(要素数)の上限値が、予め登録されている。ここでは仮に、この上限値が‘1600’であるものとする。
一方、要求DB45には、例えば、図8に示す例のように、現在要求されている画面の画面数と、これら各画面毎に、その画面番号と要素数とプロセスデータの格納アドレス群(リードアドレス群)が格納される。これは、例えば上記受信した画面データ要求コマンド47の内容が、そのまま格納されるものであるが、この例に限らない。
これより、上記ステップS24の処理では、例えばまず最初に、全ての要素数の総和が、上記上限値を越えるか否かを判断する。そして、要素数の総和が上限値以下である場合には、総フレーム数=1と判定する。図8の例の場合、4つの画面の要素数の総和=670+502+102+1500=2774であり、上限値(=1600)を越えている。この場合、画面を1つ減らした場合、すなわち3つの画面の要素数の総和=670+502+102=1274を算出して、上限値(=1600)を越えるか否かを判断する。この場合は、上限値未満であるので、これら3つの画面のプロセスデータを1つのフレームに格納するものとする。更に、上記1つ減らした画面のプロセスデータを、別のフレームに格納するものとする。これより、総フレーム数=2と判定する。一方、もし上限値を越えた場合には、更に画面を1つ減らした場合の要素数の総和が、上限値を越えるか否かを判定する。これを、総和が上限値未満となるまで繰り返す。そして、減らした画面の数が複数である場合には、これら減らした画面の要素数の総和が、上限値未満であれば総フレーム数=2とし、上限値を越える場合には総フレーム数は3以上となることになる。
そして、上記ステップS24の処理結果に基づいて、マップ情報44を再作成する(ステップS25)。上記の一例では、上記の通り総フレーム数=2となり、フレーム1とフレーム2とし、フレーム1に対応して上記3つの画面の画面番号(1,3,10)を登録し、フレーム2に対応して上記1つ減らした画面の画面番号(21)を登録する。これによって、図8に示す要求DB45の例の場合には、図9に示すマップ情報44が作成されることになる。
図4は、上記画面データキャンセルコマンド46に係わる処理フローチャート図である。
まず、HCI装置30において、ユーザが、表示中の画面のうち任意の画面を閉じる操作を行うと、画面作成機能部32が、この閉じられた画面の画面番号を含むキャンセル要求を、画面データ取得機能部33へ発行する(ステップS31)。
これより、画面データ取得機能部33のキャッシュ管理機能部33aが、上記画面データキャンセルコマンド46を生成する(ステップS32)。このコマンド46には、上記閉じられた画面の画面番号が含まれる。そして、制御LAN通信機能部34が、このコマンド46をコントローラ40へ送信する(ステップS33)。
コントローラ40は、制御LAN通信機能部41によって上記コマンド46を受信すると(ステップS41)、要求DB管理機能部53が、このコマンド46に含まれる画面番号すなわち上記“閉じられた画面の画面番号”が、要求DB45に登録されているか否かを判定する(ステップS42)。もし、登録されていないならば(ステップS42,NO)、そのまま本処理を終了する。
一方、コマンド46の画面番号と同一の画面番号が要求DB45に存在するならば(ステップS42,YES)、要求DB管理機能部53は、要求DB45からこの画面番号に係わるデータ(画面番号、要素数、リードアドレス群)を消去する(ステップS43)。そして、これによって要求DB45の格納内容が変化することから、画面キャッシュマッピング機能部52によってマップ情報44を再作成する(ステップS44,S45)。
ここで、これらステップS44、S45の処理は、上記ステップS24、S25と同じであってよいので、ここでの説明は省略する。但し、具体例を用いて説明するならば、仮に要求DB45が図8の状態において画面番号=‘10’を含む上記コマンド46を受信した場合には、図8に示す画面番号=‘10’、要素数=‘102’、リードアドレス3−1〜リードアドレス3-102が、削除されることになる。更に、この場合、画面が1つ減っても残りの3つの画面のプロセスデータ全てが1つのフレーム内に格納出来ないので、再作成されるマップ情報44の総フレーム数は‘2’であり、フレーム1画面数は‘2’となり、図9の状態から画面番号=‘3’が消えることになる。
そして、コントローラ40の画面キャッシュ転送機能部51は、制御LANの転送サイクルで、図5に示すステップS61、S62の処理を実行する
画面キャッシュ転送機能部51は、まず、今回の処理対象のフレームNo.を判定する(ステップS61)。これは例えば前回の処理対象のフレームNo.を保持しておき、これを+1インクリメントする。つまり、前回がフレーム1であった場合、今回はフレーム2である。但し、前回のフレームNo.がマップ情報44の総フレーム数と同一であった場合には、今回の処理対象をフレーム1とする(最初のフレームに戻る)。
そして、マップ情報44から、今回の処理対象のフレームNo.に係わる画面番号を全て取得する。図9の例の場合であって処理対象がフレーム1の場合であれば、画面番号‘1’と画面番号‘3’と画面番号‘10’が、取得されることになる。そして、要求DB45を参照して、上記取得した画面番号の画面に係わるプロセスデータを、ユーザメモリ42からブロードキャストメモリ43(その画面キャッシュ領域)へ転送する(ステップS62)。
上記ステップS62の処理は、上記フレーム1が処理対象である場合には、要求DB45において、まず画面番号‘1’に係わるプロセスデータのユーザメモリ42における格納アドレス(リードアドレス1−1〜リードアドレス1−670)を取得する。そして、ユーザメモリ42から当該格納アドレスの格納データ(プロセスデータ群)を取得して、このプロセスデータ群をブロードキャストメモリ43の該当領域に転送・格納する。これは、現在のオフセット値に従って該当領域を判断する。オフセット値は初期値=‘0’が設定されているものとする。このオフセット値=‘0’は、図10に示すデータ領域の先頭(0x1000)を意味するものとする。これより、上記画面番号‘1’に係わるプロセスデータ群を、図10に示すデータ領域の先頭(0x1000)から順に格納していく。これより、図10に示す「画面データ1プロセスデータ」が、格納された状態となる。
更に、ヘッダ情報を生成して図示のヘッダ領域に格納する。上記の例では、上記画面番号‘1’とその要素数(サイズ=670)とオフセット値‘0’を、ブロードキャストメモリ43のヘッダ領域に格納する。そして、オフセット値を更新する。上記の例では、現在のオフセット値‘0’に、上記サイズ(=670)を加算した値(=670)を、あらたなオフセット値とすることでオフセット値を更新する。
続いて、画面番号‘3’に関しても、上記画面番号‘1’の場合と同様にして、図8に示す格納アドレス(リードアドレス2−1〜リードアドレス2−502)を取得して、ユーザメモリ42から当該格納アドレスの格納データ(プロセスデータ群)を取得して、このプロセスデータ群をブロードキャストメモリ43の該当領域に転送・格納する。これも上記オフセット値を用いる。つまり、現在のオフセット値=‘670’が示すアドレスから順に上記プロセスデータ群を格納していく。これより、図10に示す「画面データ3プロセスデータ」が、格納された状態となる。更に、上記画面番号‘3’とその要素数(サイズ=502)とオフセット値‘670’を、ブロードキャストメモリ43のヘッダ領域に格納する。そして、オフセット値は、上記現在値‘670’に、上記サイズ(=502)を加算することで‘1172’更新する。
画面番号‘10’に関しても、上記と同様にして、図10に示す「画面データ10プロセスデータ」が、格納された状態となると共に、画面番号‘10’とその要素数(サイズ=102)とオフセット値‘1172’を、ブロードキャストメモリ43のヘッダ領域に格納する。つまり、ヘッダ情報を生成・格納する。
尚。図10に示すヘッダ領域における総分割数には、マップ情報44の総フレーム数が格納され、よって本例では‘2’が格納されることになる。同様に、図10に示すヘッダ領域における今回フレームNo.と今回転送画面数には、マップ情報44の“フレーム1画面数:3”に基づいて、それぞれ、‘1’と‘3’が格納されることになる。
以上で、ブロードキャストメモリ43に図10の左側に示すフレーム1のデータが格納されることになり、既存のコモンメモリ方式の機能によりこのフレーム1のデータをブロードキャスト送信する(ステップS63)。これによって、全てのHCI装置30のブロードキャストメモリ35にフレーム1のデータが格納されることになる(ステップS51)。つまり、図10で左側に示すブロードキャストメモリ43におけるフレーム1の格納状態は、そのまま、各ブロードキャストメモリ35におけるデータ格納状態を示すものと見做して構わない。
そして、各HCI装置30において、そのキャッシュ展開機能部33bが、自己のブロードキャストメモリ35の格納データを、自己の画面キャッシュ展開領域31に展開する処理を行う(ステップS52)。
ここで、図11に、フレーム2を展開後の画面キャッシュ展開領域31の状態を示す。
画面キャッシュ展開領域31も、ヘッダ領域とデータ領域とが予め定められており、上記ステップS52の処理は、基本的には、各フレームのヘッダ領域のデータを画面キャッシュ展開領域31のヘッダ領域にコピーし、各フレームのデータ領域のデータを画面キャッシュ展開領域31のデータ領域にコピーする処理となる。
より詳しい一例を説明するならば、キャッシュ展開機能部33bは、ブロードキャストメモリ35に格納されているフレームのヘッダ領域(ヘッダ情報)における“今回フレームNo.”が、‘1’である場合には、画面キャッシュ展開領域31のヘッダ領域とデータ領域の全データを消去(クリア)したうえで、このフレーム1のヘッダ領域とデータ領域のデータを、それぞれ、画面キャッシュ展開領域31のヘッダ領域とデータ領域にコピーする。但し、フレームのヘッダ領域における総分割数と今回フレームNo.はコピーしない。
また、フレームのヘッダ領域における“今回転送画面数”は、画面キャッシュ展開領域31のヘッダ領域における“画面数”の現在値(クリア直後は‘0’になっている)に加算することで、“画面数”の値を更新する。尚、フレーム1を展開するときには“画面数”=3となっているが、後にフレーム2を展開することで‘1’が加算されるので、図11に示すように“画面数”=4となる。
また、フレーム1以外のフレームを展開する際には、画面キャッシュ展開領域31をクリアすることなく、画面キャッシュ展開領域31に対象フレームのデータを追加する形で、対象フレームのデータをコピ−する。つまり、対象フレームのヘッダ領域とデータ領域のデータを、それぞれ、画面キャッシュ展開領域31のヘッダ領域とデータ領域の既存データに追加する形で、これら各領域にコピーする。
但し、その際、対象フレームのヘッダ領域における“オフセット”の値は、変更したうえで、この変更値を画面キャッシュ展開領域31のヘッダ領域にコピーする。これは、画面キャッシュ展開領域31のヘッダ領域に格納済みの既存データの最後のデータに基づいて、現在のオフセット値の基準値を求めて、この基準値に対して対象フレームのヘッダ領域における“オフセット”値を加算することで、上記変更値を算出する。
図10、図11の例では、フレーム2を展開処理対象としているときには、画面キャッシュ展開領域31のヘッダ領域にはフレーム1のヘッダ領域のデータが格納済みの状態となっている。よって、このときの“展開領域31のヘッダ領域に格納済みの既存データの最後のデータ”は、画面番号‘10’に係わるデータであり、よってオフセット=‘1172’、サイズ=‘102’である。これより、これらを加算することで上記基準値を算出する(基準値=1172+102=1274)。そして、フレーム2のオフセット値は‘0’であるので、これを基準値に加算することで、上記変更値は1274となる。
これより、図11に示すように、画面番号‘21’に係わるオフセットは‘1274’となっている。このオフセット値‘1274’は、画面番号‘21’に係わるプロセスデータの画面キャッシュ展開領域31における格納領域の先頭を示すことになる。
例えば上述したようにして、フレーム1の展開処理とフレーム2の展開処理とが完了した時点では、画面キャッシュ展開領域31は、図11に示す状態となる。つまり、ブロードキャストメモリの容量の問題等により、要求される全ての画面のプロセスデータをブロードキャストメモリに一度に格納できない場合でも、複数回に分けて転送・展開を行うことで、最終的には画面キャッシュ展開領域31には要求される全ての画面のプロセスデータが格納された状態となる。
そして、キャッシュ管理機能部33aは、画面作成機能部32から要求された画面のプロセスデータを、画面キャッシュ展開領域31から取得して画面作成機能部32に渡す。これは、例えば、画面作成機能部32から渡された画面番号を用いて、画面キャッシュ展開領域31のヘッダ領域を検索して、該当データのオフセットとサイズを取得する。そして、取得したオフセットとサイズを用いて、画面キャッシュ展開領域31のデータ領域から該当するプロセスデータを取得する。仮に、画面作成機能部32から画面番号3と画面番号21の画面の要求があった場合には、図11の例ではヘッダ領域からオフセット=‘670’及びサイズ=‘502’(W)と、オフセット=‘1274’及びサイズ=‘1500’(W)が、取得されることになる。これより、データ領域における先頭(0x1000)から‘670’の位置から502ワード分のデータを取得することで、図示の「画面番号3プロセスデータ」を取得できる。同様に、データ領域における先頭(0x1000)から‘1274’の位置から1500ワード分のデータを取得することで、図示の「画面番号21プロセスデータ」を取得できる。
上述したように、実施例2では、要求される全ての画面のプロセスデータをブロードキャストメモリに一度に格納できない場合でも、メッセージ通信等を行う必要はなく、要求される全ての画面のプロセスデータをコモンメモリ方式により全てのHCI装置30に渡すことができる。更に、その都度、そのときの各HCI装置30の画面表示状態に応じた必要なプロセスデータのみを、ブロードキャストメモリに格納させることができる。つまり、各HCI装置30の画面表示状態の変化に動的に対応して、その都度、そのときに必要なプロセスデータのみを、ブロードキャストメモリを介して各HCI装置30に渡すことができる。尚、ここでは「必要なプロセスデータのみ」とは、全てのHCI装置30全体について「必要なプロセスデータのみ」という意味である。つまり、図6の例の場合であれば、「必要なプロセスデータのみ」とは、画面Aのプロセスデータと画面Bのプロセスデータと画面Cのプロセスデータと画面Dのプロセスデータとを意味することになる。
尚、上記のことを実現する為に、上述した実施例では、画面データキャンセルコマンド46や画面データ要求コマンド47等を用いて、その都度、上記要求DB45やマップ情報44の内容を更新しているが、これは一例であり、この例に限らない。
尚、画面データ要求コマンド47には、必ずしもリードアドレス群が含まれなくてもよい。つまり、要求する画面の画面番号のみが含まれているものであってもよい。各画面に対応するリードアドレス群(ユーザメモリ42におけるプロセスデータ格納領域)は、予め決まっている場合が多いので、予めコントローラ40側で全ての画面について各画面に対応するリードアドレス群や要素数を、各画面番号に対応付けて所定の記憶領域に保持しておけばよい。また、これより、要求DB45にも、必ずしもリードアドレス群や要素数を保持する必要は無い。要求DB45には、各HCI装置30で現在表示中の画面の画面番号が保持されるようにし、これら各画面に対応するリードアドレス群や要素数は、上記所定の記憶領域から取得すればよい。
以上説明した実施例1のプログラマブルコントローラシステムは、例えば不図示の下記の構成を有するものと見做しても構わない。
まず、実施例1のプログラマブルコントローラシステムは、各プロセスデータを記憶する第1メモリ(ユーザメモリ22等)を有するコントローラ20と、画面表示に用いるプロセスデータをコントローラ20から取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置(HCI装置10)とが、ネットワークに接続されてなるプログラマブルコントローラシステムである。そして、上記表示装置(HCI装置10)、コントローラ20は、例えば下記の各構成を有する。尚、以下の説明では、上記表示装置を表示装置10と記すものとする。
コントローラ20と各表示装置10は、それぞれ、第2メモリ(ブロードキャストメモリ(11,23)等)を備えると共に、任意の第2メモリの格納データを他の第2メモリに格納させる通信機能部を備える。この通信機能部は、例えば上記制御LAN通信機能部(14,21)である。つまり、上記各第2メモリと各通信機能部とによって、上述した既存のコモンメモリ方式のデータ交換が、実現されるものである。つまり、基本的には、全ての第2メモリに同一のデータが格納された状態となるように、各通信機能部によって制御されるものである。
そして、コントローラ20は、第1メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の第2メモリにおける該当領域へ転送・格納する転送部(不図示)を有する。上記各通信機能部によって、少なくともコントローラ20が備える第2メモリに格納される各プロセスデータが、各表示装置10が備える第2メモリに格納される。例えば、コントローラ20は、第1メモリ(ユーザメモリ22等)から自装置の第2メモリ(ブロードキャストメモリ23等)に転送・格納したデータ(プロセスデータ等)を、ブロードキャスト送信することで、全ての表示装置10に渡して、これらの各第2メモリ(ブロードキャストメモリ11)に格納させる。
また、各表示装置10は、例えば、予め登録される上記マッピング情報に従って、表示中の画面に対応するプロセスデータを自装置の第2メモリから取得して、該取得したプロセスデータを用いて該画面の表示を行う表示制御部(不図示)を更に有する。
尚、上記マッピング情報は、例えば、予め任意に設定される、第1メモリに格納される各プロセスデータの第2メモリにおける割当領域である。尚、各プロセスデータは、表示装置10において表示可能な各画面毎に対応するデータである。
また、上述した実施例2のプログラマブルコントローラシステムは、例えば不図示の下記の構成を有するものと見做しても構わない。
まず、実施例2のプログラマブルコントローラシステムも、各プロセスデータを記憶する第1メモリ(ユーザメモリ42等)を有するコントローラ40と、画面表示に用いるプロセスデータをコントローラ40から取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置(HCI装置30)とが、ネットワークに接続されてなるプログラマブルコントローラシステムである。そして、上記表示装置(HCI装置30)、コントローラ40は、例えば下記の各構成を有する。尚、以下の説明では、上記表示装置を表示装置30と記すものとする。
コントローラ40と各表示装置30は、それぞれ、第2メモリ(ブロードキャストメモリ(35,43)等)を備えると共に、任意の第2メモリの格納データを他の第2メモリに格納させる通信機能部を備える。この通信機能部は、例えば上記制御LAN通信機能部(34,41)である。つまり、上記各第2メモリと各通信機能部とによって、上述した既存のコモンメモリ方式のデータ交換が、実現されるものである。つまり、基本的には、全ての第2メモリに同一のデータが格納された状態となるように、各通信機能部によって制御されるものである。
そして、上記コントローラ40は、各表示装置30で表示中の各画面の識別情報を含むマップ情報を作成するマップ情報作成部(不図示)と、上記マップ情報に基づいて、上記第1メモリに格納される各プロセスデータの中で各表示装置30で表示中の各画面に対応するプロセスデータを、自己の第2メモリへ転送・格納する転送部(不図示)を有する。
上記各通信機能部によって、少なくともコントローラ40が備える第2メモリに格納されているデータ(各プロセスデータ等)が、各表示装置30が備える第2メモリに格納される。これは、上記実施例1の場合と同様、既存のコモンメモリ方式によるものであり、ここでの説明は省略する。
尚、上記マップ情報は、上述したマップ情報44を意味するものであってもよいし、「マップ情報44+要求DB45」を意味するものであってもよい。上記マップ情報は、例えば、コントローラ40において、各表示装置30から通知される所定のコマンドに基づいて、随時、作成・更新される。
また、表示装置30は、第2メモリを介して取得できるプロセスデータの中に自装置で表示中の画面に対応するプロセスデータが無い場合、あるいは自装置で表示中の画面のうちの任意の画面が閉じられた場合に、これらの画面の識別情報を含む所定のコマンドをコントローラ40へ通知する。このコマンドの一例が上記画面データキャンセルコマンド46、画面データ要求コマンド47等であるが、これらの例に限らない。
また、コントローラ40における上記マップ情報作成部(不図示)は、例えば、各表示装置30で表示中の各画面に対応する各プロセスデータそれぞれのサイズ(上記要素数など)に基づいて、各表示装置30で表示中の各画面に対応する複数のプロセスデータ全てを第2メモリに一度に格納出来るか否かを判定し、該判定結果に基づいて上記マップ情報を作成する。
更に、マップ情報作成部(不図示)は、プロセスデータ全てを第2メモリに一度に格納出来ないと判定した場合、該複数のプロセスデータを複数回に分けて第2メモリに格納するものと判定し、該判定結果に基づいて上記マップ情報を作成する。そして、上記転送部は、該マップ情報に従って、第1メモリに格納される各プロセスデータのなかで表示中の各画面に対応する複数のプロセスデータを、複数回に分けて、自己の第2メモリにおける該当領域へ転送・格納する。
上記表示装置30は、自己の第2メモリに格納される各プロセスデータを、所定の記憶領域上に展開する展開部(不図示)と、自装置で表示中の画面に対応するプロセスデータを上記所定の記憶領域上から取得して、該取得したプロセスデータを用いて該画面の表示を行う第2表示制御部(不図示)とを有する。尚、上記展開部(不図示)の一例が上述したキャッシュ展開機能部33bであり、上記第2表示制御部(不図示)の一例が「画面作成機能部32+キャッシュ管理機能部33a」であると見做しても構わない。上記所定の記憶領域の一例が、上記画面キャッシュ展開領域31であると見做しても構わない。
表示装置30の上記展開部(不図示)は、自己の第2メモリに格納される各プロセスデータを、複数回掛けて上記所定の記憶領域上に展開することで、該記憶領域上に各表示装置30で表示中の各画面に対応するプロセスデータ全てが格納された状態にする。
以上説明したように、実施例1では、ブロードキャストメモリを用いてコモンメモリ方式によりコントローラ20から各HCI装置10へプロセスデータを転送することができる。つまり、基本的には従来のようなメッセージ通信を用いる必要なく、各HCI装置10は、コモンメモリ方式によりプロセスデータを取得することができ、該取得したプロセスデータを用いて画面表示を行うことができる。特にシステムの規模が比較的大きくHCI装置10の台数が多い場合、コモンメモリ方式ではブロードキャストにより全HCI装置10にプロセスデータを送信できる。よって、メッセージ通信を用いる場合に比べて、処理負荷が軽減できる。
また、実施例2によれば、その都度、各HCI装置30で必要とするプロセスデータのみをブロードキャストメモリに格納することができ、以って当該必要なプロセスデータのみを各HCI装置30へ送信することができる。必要なプロセスデータとは、各HCI装置30が現在表示中の画面に係わるプロセスデータである。尚、HCI装置30は、一度に複数の画面を表示することも可能である。
任意のHCI装置30上で任意のユーザ操作によって画面表示に変更がある毎に(表示中の画面のキャンセル、あるいは新たな画面の追加など)、現状に応じた必要なプロセスデータのみを動的にブロードキャストメモリにマッピングして格納させることができる。
・各HCI装置30では、画面表示している間、自メモリ内を検索し、表示中の画面に対応するプロセスデータが存在する場合、必要なプロセスデータを読み込み、これを用いて画面表示を行う。表示中の画面に対応するプロセスデータが自メモリ内に存在しない場合、この画面の識別ID(画面番号)等を含む要求コマンドとしてコントローラ40に送信する。あるいは、各HCI装置30では、ユーザ操作によって、表示中の1以上の画面のうち任意の画面が閉じられた場合、この画面の画面番号等を含むキャンセルコマンドを、コントローラ40に送信する。
・コントローラ40は、上記要求コマンドを受信すると、要求された画面番号等を要求DB45に追加格納すると共に、マップ情報44を再作成する。その後は、再作成されたマップ情報44に従ってプロセスデータをブロードキャストメモリに格納することで、現在必要なプロセスデータのみをブロードキャストメモリに格納することができる。特に、不足していたプロセスデータもブロードキャストメモリに格納することができる。
・コントローラ40は、上記キャンセルコマンドを受信すると、キャンセルされた画面の画面番号等を要求DB45から削除すると共に、マップ情報44を再作成する。その後は、再作成されたマップ情報44に従ってプロセスデータをブロードキャストメモリに格納することで、HCI装置30側の表示の変化(任意の画面のキャンセル)に応じた現在必要なプロセスデータのみを、ブロードキャストメモリに格納することができる。
・コントローラ40は、必要なプロセスデータ全てをブロードキャストメモリに一度で書き込めない場合、複数回に分けてブロードキャストメモリに格納する。上記マップ情報44には、その為の情報(各フレーム毎の画面番号)も含まれる。
・ブロードキャストメモリ上のプロセスデータは、制御LAN通信機能により所定の転送サイクルで全HCI装置30に転送される。各HCI装置30は、自己のブロードキャストメモリに転送されてきたプロセスデータを、自メモリ上に展開する。上記必要なプロセスデータ群が、複数回に分けて転送されてくる場合には、複数回受信することで自メモリ上に上記必要なプロセスデータ群全てが格納された状態にする。
なお、以上の説明ではコントロールシステムの中核機能(コントローラ)を実現するものとしてプログラマブルコントローラ(PLC)を例に説明したが、それに限ることはなく、例えばDCS(Distributed Control System:分散型制御システム或いは分散型制御装置)で実現してもよい。一般的なFA(Factory Automation)システムではPLCが用いられることが多く、さらに高信頼性を要求されるプラント設備ではDCSが用いられることが多い。本発明のコントローラはPLCであってもよく、DCSであってもよい。
本発明は、コントロールシステムに係わるものであり、上述したプログラマブルコントローラシステムは、その一例であり、この例に限らない。
1 ネットワーク
2 支援装置
2a ブロードキャストメモリマップ機能部
10 HCI装置
11 ブロードキャストメモリ
12 画面作成機能部
13 画面データ取得機能部
14 制御LAN通信機能部
20 コントローラ
21 制御LAN通信機能部
22 ユーザメモリ
23 ブロードキャストメモリ
30 HCI装置
31 画面キャッシュ展開領域
32 画面作成機能部
33 画面データ取得機能部
33a キャッシュ管理機能部
33b キャッシュ展開機能部
34 制御LAN通信機能部
35 ブロードキャストメモリ
40 コントローラ
41 制御LAN通信機能部
42 ユーザメモリ
43 ブロードキャストメモリ
44 マップ情報
45 要求DB
46 画面データキャンセルコマンド
47 画面データ要求コマンド
50 画面データキャッシュ機能部
51 画面キャッシュ転送機能部
52 画面キャッシュマッピング機能部
53 要求DB管理機能部

Claims (17)

  1. 各プロセスデータを記憶する第1メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムであって、
    前記コントローラと各表示装置は、それぞれ、第2メモリを備えると共に、任意の第2メモリの格納データを他の第2メモリに格納させる通信手段を備え、
    前記コントローラは、前記第1メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の前記第2メモリにおける該当領域へ転送・格納する転送手段を有し、
    前記各通信手段によって、少なくともコントローラが備える前記第2メモリの前記各プロセスデータが、各表示装置が備える前記第2メモリに格納されることを特徴とするコントロールシステム。
  2. 前記表示装置は、予め登録される前記マッピング情報に従って、表示中の画面に対応するプロセスデータを自装置の前記第2メモリから取得して、該取得したプロセスデータを用いて該画面の表示を行う表示制御手段を更に有することを特徴とする請求項1記載のコントロールシステム。
  3. 前記マッピング情報は、予め任意に設定される、前記第1メモリに格納される各プロセスデータの前記第2メモリにおける割当領域であることを特徴とする請求項1または2記載のコントロールシステム。
  4. 前記コントローラの前記通信手段は、自装置の前記第2メモリに格納される前記プロセスデータを、全ての前記表示装置に対してブロードキャスト送信することで、該プロセスデータを該全ての表示装置の前記第2メモリに格納させることを特徴とする請求項1または2記載のコントロールシステム。
  5. 前記各プロセスデータは、前記表示装置において表示可能な各画面毎に対応するデータであり、
    前記表示装置は、自装置の前記第2メモリに格納されたプロセスデータのなかで自装置が表示中の画面に対応するプロセスデータを取得して、該取得したプロセスデータを用いて画面表示を行う画面表示制御手段を有することを特徴とする請求項1または2記載のコントロールシステム。
  6. 各プロセスデータを記憶する第1メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムであって、
    前記コントローラと各表示装置は、それぞれ、第2メモリを備えると共に、任意の第2メモリの格納データを他の第2メモリに格納させる通信手段を備え、
    前記コントローラは、
    前記各表示装置で表示中の各画面の識別情報を含むマップ情報を作成するマップ情報作成手段と、
    上記マップ情報に基づいて、前記第1メモリに格納される各プロセスデータの中で前記各表示装置で表示中の各画面に対応するプロセスデータを、前記自己の第2メモリへ転送・格納する転送手段を有し、
    前記各通信手段によって、少なくともコントローラが備える前記第2メモリの前記各プロセスデータが、各表示装置が備える前記第2メモリに格納されることを特徴とするコントロールシステム。
  7. 前記マップ情報は、前記コントローラにおいて、各表示装置から通知される所定のコマンドに基づいて、随時、作成・更新されることを特徴とする請求項6記載のコントロールシステム。
  8. 前記表示装置は、前記第2メモリを介して取得できるプロセスデータの中に自装置で表示中の画面に対応するプロセスデータが無い場合、あるいは自装置で表示中の画面のうちの任意の画面が閉じられた場合に、これらの画面の識別情報を含む前記所定のコマンドを前記コントローラへ通知することを特徴とする請求項7記載のコントロールシステム。
  9. 前記コントローラにおける前記マップ情報作成手段は、前記各表示装置で表示中の各画面に対応する各プロセスデータそれぞれのサイズに基づいて、前記各表示装置で表示中の各画面に対応する複数のプロセスデータ全てを前記第2メモリに格納出来るか否かを判定し、該判定結果に基づいて前記マップ情報を作成することを特徴とする請求項6記載のコントロールシステム。
  10. 前記マップ情報作成手段は、前記プロセスデータ全てを前記第2メモリに格納出来ないと判定した場合、該複数のプロセスデータを複数回に分けて前記第2メモリに格納するものと判定し、該判定結果に基づいて前記マップ情報を作成し、
    前記転送手段は、該マップ情報に従って、前記第1メモリに格納される各プロセスデータのなかで前記表示中の各画面に対応する複数のプロセスデータを、複数回に分けて、前記自己の第2メモリにおける該当領域へ転送・格納することを特徴とする請求項9記載のコントロールシステム。
  11. 前記表示装置は、
    前記自己の第2メモリに格納される各プロセスデータを、所定の記憶領域上に展開する展開手段と、
    表示中の画面に対応するプロセスデータを前記所定の記憶領域上から取得して、該取得したプロセスデータを用いて該画面の表示を行う第2表示制御手段と、
    を有することを特徴とする請求項6または請求項10に記載のコントロールシステム。
  12. 前記表示装置の前記展開手段は、前記自己の第2メモリに格納される各プロセスデータを、複数回掛けて前記所定の記憶領域上に展開することで、該記憶領域上に前記各表示装置で表示中の各画面に対応するプロセスデータ全てが格納された状態にすることを特徴とする請求項11記載のコントロールシステム。
  13. 各プロセスデータを記憶する第1メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける前記コントローラであって、
    第2メモリと、
    該第2メモリの格納データを各表示装置が備える第2メモリに格納させる通信手段と、
    前記第1メモリに格納される各プロセスデータを、予め登録されるマッピング情報に従って自装置の前記第2メモリにおける該当領域へ転送・格納する転送手段とを有し、
    前記通信手段によって、少なくともコントローラが備える前記第2メモリの前記各プロセスデータが、各表示装置が備える前記第2メモリに格納されることを特徴とするコントロールシステムのコントローラ。
  14. 各プロセスデータを記憶する第1メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける該表示装置であって、
    第2メモリと、
    前記コントローラが備える第2メモリに格納された前記プロセスデータを、該自装置の第2メモリに格納させる通信手段と、
    予め登録されるマッピング情報に従って、表示中の画面に対応するプロセスデータを自装置の前記第2メモリから取得して、該取得したプロセスデータを用いて該画面の表示を行う表示制御手段と、
    を有することを特徴とするコントロールシステムの表示装置。
  15. 各プロセスデータを記憶する第1メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける該コントローラであって、
    第2メモリと、
    該第2メモリの格納データを各表示装置が備える第2メモリに格納させる通信手段と、
    前記各表示装置で表示中の各画面の識別情報を含むマップ情報を作成するマップ情報作成手段と、
    上記マップ情報に基づいて、前記第1メモリに格納される各プロセスデータの中で前記各表示装置で表示中の各画面に対応するプロセスデータを、前記自装置の第2メモリへ転送・格納する転送手段と、
    を有することを特徴とするコントロールシステムのコントローラ。
  16. 各プロセスデータを記憶する第1メモリを有するコントローラと、画面表示に用いる前記プロセスデータを前記コントローラから取得して、該取得したプロセスデータを用いて画面の表示を行う1台以上の表示装置とが、ネットワークに接続されてなるコントロールシステムにおける該表示装置であって、
    第2メモリと、
    前記コントローラが備える第2メモリに格納された前記プロセスデータを、該自装置の第2メモリに格納させる通信手段とを有し、
    該第2メモリに格納された各プロセスデータの中で自装置で表示中の画面に対応するプロセスデータを取得して、該取得したプロセスデータを用いて画面表示を行う表示制御手段と、
    を有することを特徴とするコントロールシステムの表示装置。
  17. 前記表示装置は、
    前記自装置の第2メモリに格納される各プロセスデータを、所定の記憶領域上に展開する展開手段を更に有し、
    前記表示制御手段は、表示中の画面に対応するプロセスデータを前記所定の記憶領域上から取得して、該取得したプロセスデータを用いて前記画面表示を行うことを特徴とする請求項16記載のコントロールシステム。
JP2014238206A 2014-11-25 2014-11-25 コントロールシステム、そのコントローラ、表示装置 Pending JP2016100846A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014238206A JP2016100846A (ja) 2014-11-25 2014-11-25 コントロールシステム、そのコントローラ、表示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014238206A JP2016100846A (ja) 2014-11-25 2014-11-25 コントロールシステム、そのコントローラ、表示装置

Publications (1)

Publication Number Publication Date
JP2016100846A true JP2016100846A (ja) 2016-05-30

Family

ID=56078187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014238206A Pending JP2016100846A (ja) 2014-11-25 2014-11-25 コントロールシステム、そのコントローラ、表示装置

Country Status (1)

Country Link
JP (1) JP2016100846A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149459A (ja) * 2019-03-14 2020-09-17 オムロン株式会社 制御システム、サポート装置、およびサポートプログラム
JP2020149630A (ja) * 2019-03-15 2020-09-17 オムロン株式会社 制御システム、設定装置、および設定プログラム
JP6758550B1 (ja) * 2020-01-17 2020-09-23 三菱電機株式会社 メンテナンスシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149459A (ja) * 2019-03-14 2020-09-17 オムロン株式会社 制御システム、サポート装置、およびサポートプログラム
CN113508345A (zh) * 2019-03-14 2021-10-15 欧姆龙株式会社 控制系统、支持装置以及支持程序
JP7040484B2 (ja) 2019-03-14 2022-03-23 オムロン株式会社 制御システム、サポート装置、およびサポートプログラム
JP2020149630A (ja) * 2019-03-15 2020-09-17 オムロン株式会社 制御システム、設定装置、および設定プログラム
WO2020189086A1 (ja) * 2019-03-15 2020-09-24 オムロン株式会社 制御システム、設定装置、および設定プログラム
JP7063292B2 (ja) 2019-03-15 2022-05-09 オムロン株式会社 制御システム、設定装置、および設定プログラム
US11886170B2 (en) 2019-03-15 2024-01-30 Omron Corporation Control system, setting device and setting program
JP6758550B1 (ja) * 2020-01-17 2020-09-23 三菱電機株式会社 メンテナンスシステム
WO2021144986A1 (ja) * 2020-01-17 2021-07-22 三菱電機株式会社 メンテナンスシステム

Similar Documents

Publication Publication Date Title
JP5954342B2 (ja) 機器設定装置、機器設定プログラム、記憶媒体及び複数の機器設定装置間の情報共有化方法
US20170351723A1 (en) Managing data format of data received from devices in an internet of things network
JP6029793B2 (ja) 空調管理システム
KR102486704B1 (ko) 감시제어데이터수집시스템에서의 클라이언트 및 서버
US20220263796A1 (en) Method and Device for IP Address Allocation and Topology Management in DAS System, and Storage Medium
JP2016100846A (ja) コントロールシステム、そのコントローラ、表示装置
JP6820134B2 (ja) 更新管理装置、更新管理システム及び更新管理方法
CN113544601B (zh) 控制系统、设定装置以及记录介质
US20180227136A1 (en) Data transmission system, management device, non-transitory recording medium recording data transmission program, and data transmission method
WO2016067849A1 (ja) 地図更新システム、ナビゲーション装置、サーバ装置、地図更新方法、ナビゲーション方法、サーバ装置の制御方法、コンピュータプログラム、コンピュータプログラムを記録した記録媒体
KR101886609B1 (ko) 프로그래머블 표시기 및 제어 시스템
JP5908175B2 (ja) 制御システム、マスタ局、およびリモート局
JP2019012463A (ja) 可視化管理装置、データ管理装置、データ可視化システム、可視化管理方法、及びプログラム
JP5333138B2 (ja) 表示装置
CN111971630B (zh) 管理装置及管理系统
JP2011221934A (ja) レジスタコンフィギュレータおよびレジスタコンフィギュレーション方法
CN104954503A (zh) 分配装置和分配方法
JP6529680B1 (ja) データ管理システム、データ管理方法およびデータ管理プログラム
JP5390424B2 (ja) プラント監視装置
JP6576852B2 (ja) デバイス情報管理システム
JP2020149631A (ja) 制御システム、中継装置、および中継プログラム
JP6776191B2 (ja) ゲートウェイ装置、ゲートウェイ装置により実行されるデータアクセス方法、コントローラ、及びコントローラにより実行されるデータアクセス方法
US10860568B2 (en) External data source linking to queries in memory
JP5230364B2 (ja) 設備管理装置及び設備管理装置の表示制御方法
JP5414916B2 (ja) エンジニアリングツール、及びプログラマブルコントローラ