以下に、本発明の実施の形態にかかる監視画面データ生成装置、監視画面データ生成方法、および監視画面データ生成プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかる監視画面データ生成装置の構成例を示す図である。図1に示す監視画面データ生成装置1は、通信部10と、制御部20と、記憶部30とを備える。かかる監視画面データ生成装置1は、設備または設備といったプラントに設けられた複数の機器の監視を行うための監視画面のデータである監視画面データを生成する。監視対象のプラントは、例えば、浄水場、発電所、または工場である。
監視画面データ生成装置1は、複数の画像オブジェクトを含む監視画面のデータである監視画面データを生成する。監視画面を構成する複数の画像オブジェクトには、監視対象の機器を表すシンボル部品、および監視対象の機器間を結びつける線部品が含まれる。以下、シンボル部品をシンボルと記載する場合がある。
監視画面データは、プラントに設けられた複数の機器の監視および制御を行う監視制御システムにおいて、各機器の監視および制御を行うために不図示の表示装置へ表示される画面を生成するための情報である。かかる監視画面データには、後述するように、各オブジェクトのデータに加え、画像オブジェクトに割り付けられた状態遷移を定義するデータが含まれる。
ここで、上記状態遷移には、監視対象の機器から受信される信号への画像オブジェクトの振る舞い、および画像オブジェクトへ操作があった場合の振る舞いの少なくとも一方が含まれる。また、振る舞いには、画像オブジェクトの様態の変化、および機器操作画面の表示の少なくとも一つが含まれる。
画像オブジェクトの様態の変化には、画像オブジェクトの色、形状、および模様の少なくとも一つの変化が含まれる。また、画像オブジェクトの様態の変化には、画像オブジェクト内に表示される数値の変化も含まれる。機器操作画面は、画像オブジェクトに割り当てられた信号の入力または出力を行う機器を操作するための画面である。
通信部10は、ネットワーク2を介して不図示の他の装置との間で情報の送受信を行う。ネットワーク2は、イントラネットであるが、イントラネット以外のネットワークであってもよい。
制御部20は、通信部10を介して取得される画像データと記憶部30に記憶されたデータとに基づいて、画像オブジェクトに状態遷移を定義するデータが割り付けられた監視画面データを生成する。
制御部20は、画像データ取得部21と、オブジェクトデータ生成部22と、画面データ生成部23と、割付処理部24と、データ出力部25とを備える。記憶部30は、テンプレートデータ31と、オブジェクトデータ32と、監視画面データ33と、定義データ34と、割付済監視画面データ35とを記憶することができる。
図2は、制御部20による処理の一例を示す図であり、以下、図2を参照しつつ、図1に示す制御部20の処理について説明する。なお、図2に示す例では、説明の便宜上、画像データ取得部21によって取得される画像データ3の画像の一部のみを表示している。なお、画像データ3の画像とは、画像データ3のデータ化前の画像であり、画像データ3を再生して得られる画像である。
オブジェクトデータ生成部22は、画像データ取得部21によって取得された画像データ3の画像に含まれる複数のオブジェクト60a〜60dを識別し、複数のオブジェクト60a〜60dの情報を含むオブジェクトデータ32を生成する。
オブジェクト60aは、シンボル部品であり、画像オブジェクトである。オブジェクト60bは、文字列であり、文字オブジェクトである。オブジェクト60c,60dは、線部品であり、画像オブジェクトである。以下においては、説明の便宜上、オブジェクト60a,60bへの処理について主に説明する。また、オブジェクト60aを画像オブジェクト60aと記載し、オブジェクト60bを文字オブジェクト60bと記載する場合がある。
オブジェクトデータ32には、画像オブジェクトデータ41と、文字オブジェクトデータ42と、機器データ43とが含まれる。画像オブジェクトデータ41は、画像オブジェクト60aの情報を含む。また、文字オブジェクトデータ42は、文字オブジェクト60bの情報を含む。
オブジェクトデータ生成部22は、記憶部30に記憶されたテンプレートデータ31を用いた画像認識処理によって、画像データ3から、画像オブジェクト60aのオブジェクト名称、および座標を識別し、画像オブジェクトデータ41を生成する。
図2に示す例では、画像オブジェクトデータ41に含まれる画像オブジェクト60aの情報として、オブジェクト名称「電磁弁」、および座標「x1,y2」を含む。なお、以下において、画像オブジェクト60aのオブジェクト名称は、シンボル種別と記載する場合がある。
また、オブジェクトデータ生成部22は、文字認識処理によって、画像データ3から、文字オブジェクト60bの文字列、および座標を識別し、文字オブジェクトデータ42を生成する。図2に示す例では、文字オブジェクトデータ42に含まれる文字オブジェクト60bの情報として、文字列「送水管弁」、および座標「x1,y1」を含む。
さらに、オブジェクトデータ生成部22は、画像オブジェクトデータ41と文字オブジェクトデータ42とに基づいて、機器データ43を生成する。具体的には、オブジェクトデータ生成部22は、画像オブジェクト60aの座標と文字オブジェクト60bの座標との間の距離が設定範囲内にあるか否かを判定する。
オブジェクトデータ生成部22は、画像オブジェクト60aの座標と文字オブジェクト60bとの座標間の距離が設定範囲内にある場合、画像オブジェクト60aのオブジェクト名称と座標と文字オブジェクト60bの文字列とが関連付けられた機器データ43を生成する。
図2に示す機器データ43では、オブジェクト種別「電磁弁」、文字列「送水管弁」、および座標「x1,y2」を含む。なお、機器データ43に含まれる座標は、文字オブジェクト60bの座標ではなく、画像オブジェクト60aの座標である。
画面データ生成部23は、文字オブジェクトデータ42と、機器データ43と、定義データ34とに基づいて、複数のオブジェクト61a〜61dを含む監視画面のデータである監視画面データ33を生成する。
定義データ34には、オブジェクト名称「電磁弁」、および電磁弁のシンボル画像を含む不図示の部品定義データが含まれる。画面データ生成部23は、部品定義データから電磁弁のシンボル画像を抽出し、かかる電磁弁のシンボル画像をオブジェクトデータ32に含まれる座標「x1,y2」を割り付け、文字オブジェクトデータ42に含まれる文字列「送水管弁」を座標「x1,y1」に割り付けて監視画面データ33を生成する。
上述した定義データ34は、後述する入力装置を介して記憶部30に記憶される。なお、制御部20は、外部装置で生成された定義データ34がネットワーク2を介して通信部10で受信される場合、通信部10で受信された定義データ34を記憶部30に記憶することができる。
図2に示す監視画面データ33におけるオブジェクト61a,61c,61dは、オブジェクト60a,60c,60dとオブジェクト名称および座標位置が一致する画像オブジェクトであり、オブジェクト61bは、オブジェクト60bと文字列および座標位置が一致する文字オブジェクトである。なお、画面データ生成部23は、機器データ43に代えて、画像オブジェクトデータ41を用いて、監視画面データ33を生成することもできる。
割付処理部24は、監視画面に含まれる画像オブジェクト60aに状態遷移を定義するデータを割り付けたデータである割付データ36を生成する。図2に示す例では、割付データ36は、オブジェクト名称「電磁弁」、および状態遷移「状態遷移1」を含むデータである。状態遷移「状態遷移1」は、信号の状態に応じた振る舞いを示す。割付処理部24は、割付データ36と監視画面データ33とを含む割付済監視画面データ35を生成する。
データ出力部25は、割付処理部24によって状態遷移を示す情報が割り付けられた画像オブジェクト61aを含む割付済監視画面データ35を出力する。また、割付済監視画面データ35は、後述する表示装置に表示することもできる。
このように、監視画面データ生成装置1は、画像データ3から、監視対象物を示す画像オブジェクト61aに状態遷移を定義するデータを割り付けた割付済監視画面データ35を自動的に生成することができる。したがって、画像オブジェクトに状態遷移を定義するデータを手作業で割り付ける場合に比べ、画像オブジェクト61aに状態遷移を定義するデータを割り付けた割付済監視画面データ35を容易に生成することができる。
以下、監視画面データ生成装置1の構成および動作についてさらに詳細に説明する。図3は、監視画面データ生成装置1の具体的構成例を示す図である。
図3に示す監視画面データ生成装置1の制御部20は、上述した画像データ取得部21、オブジェクトデータ生成部22、画面データ生成部23、割付処理部24、およびデータ出力部25に加え、さらに、表示制御部26と、入力処理部27とを備える。
画像データ取得部21は、外部からネットワーク2を介して監視画面データ生成装置1へ入力される画像データ3を通信部10から取得する。画像データ3は、コンピュータ画面のスクリーンショットによって得られる画像データ、または手書きによって描画され撮像手段によって撮像された画像データである。なお、画像データ3は、コンピュータ画面を撮像手段によって撮像して得られる画像データであってもよい。撮像手段には、カメラの他、スキャナが含まれる。
図4は、画像データ3の画像の一例を示す図である。図4に示す画像データ3の画像には、シンボル部品である画像オブジェクト70a〜70fと、線部品である画像オブジェクト71a〜71eと、文字列である文字オブジェクト72a〜72fとが含まれる。以下、画像オブジェクト70a〜70fを画像オブジェクト70と記載し、画像オブジェクト71a〜71eを画像オブジェクト71と記載し、文字オブジェクト72a〜72fを文字オブジェクト72と記載する場合がある。
図3に示すオブジェクトデータ生成部22は、テンプレートマッチング処理部51と、文字識別処理部52と、機器データ生成部53とを備える。テンプレートマッチング処理部51は、第1の識別部の一例であり、文字識別処理部52は、第2の識別部の一例である。
テンプレートマッチング処理部51は、記憶部30に記憶されたテンプレートデータ31に基づいて、画像データ3の画像に含まれる画像オブジェクト70,71を識別する。テンプレートデータ31には、シンボル部品の基準画像とシンボル種別とがシンボル種別毎に関連付けられた情報、および線部品の基準画像と線種別とが線種別毎に関連付けられた情報が含まれている。
テンプレートマッチング処理部51は、各画像オブジェクト70とシンボル部品の基準画像とを比較することで、各画像オブジェクト70のシンボル種別、座標、およびサイズを判定する。また、テンプレートマッチング処理部51は、各画像オブジェクト71と線部品の基準画像とを比較することで、各画像オブジェクト71の線名称、座標、およびサイズを判定する。
テンプレートマッチング処理部51は、画像オブジェクト70a〜70f,71a〜71eの名称、座標、およびサイズを含む画像オブジェクトデータ41を生成し、記憶部30に記憶する。図5は、画像オブジェクトデータ41の一例を示す図である。
図5に示すように、画像オブジェクトデータ41には、各画像オブジェクト70の種別と、座標と、サイズとが互いに関連付けられたデータを含む。シンボル種別は、シンボル部品である画像オブジェクト70の種別を示し、座標は、画像オブジェクト70の中心座標または端部の座標を示し、サイズは、画像オブジェクト70の横×縦のサイズを示す。なお、画像オブジェクト70の種別は、同一種別の画像オブジェクトであっても、区別が付くように、図5に示す例では、シンボル種別には数字が付されている。
図5に示す例では、画像オブジェクトデータ41は、画像オブジェクト70aのデータとして、シンボル種別「電磁弁1」、座標「50,25」、およびサイズ「10×10」が関連付けられたデータを含む。また、画像オブジェクト70bのデータとして、シンボル種別「電磁弁2」、座標「240,25」、およびサイズ「10×10」が関連付けられたデータを含む。画像オブジェクトデータ41は、画像オブジェクト70a,70bのデータと同様に、画像オブジェクト70c〜70fのデータを含む。
また、図5に示す例では、画像オブジェクト71a〜71eの情報は図示されていないが、画像オブジェクトデータ41には、各画像オブジェクト71の線名称、座標、およびサイズを示すデータが含まれる。座標は、画像オブジェクト71の始点、終点、および分岐点の座標であり、サイズは、画像オブジェクト71の線幅である。
図3に戻って、オブジェクトデータ生成部22の説明を続ける。オブジェクトデータ生成部22の文字識別処理部52は、文字認識処理によって、画像データ3の画像に含まれる文字オブジェクト72a〜72fの文字列、座標、およびサイズを識別し、文字オブジェクトデータ42を生成する。図6は、文字オブジェクトデータ42の一例を示す図である。
図6に示す文字オブジェクトデータ42は、各文字オブジェクト72の文字列、座標、およびサイズが互いに関連付けられたデータを含む。座標は、文字オブジェクト72の先頭文字の座標または中心座標を示し、サイズは、文字オブジェクト72のフォントサイズである。
図6に示す例では、文字オブジェクトデータ42は、文字オブジェクト72aのデータとして、文字列「第1浄水場」と、座標「5,5」と、サイズ「18」とが関連付けられたデータを含む。また、文字オブジェクト72bのデータとして、文字列「第1送水管弁」と、座標「50,15」と、サイズ「12」とが関連付けられたデータを含む。文字オブジェクトデータ42は、文字オブジェクト72a,72bのデータと同様に、文字オブジェクト72c〜72fのデータを含む。
図3に戻って、オブジェクトデータ生成部22の説明を続ける。オブジェクトデータ生成部22の機器データ生成部53は、画像オブジェクトデータ41と文字オブジェクトデータ42とに基づいて、機器データ43を生成する。
具体的には、機器データ生成部53は、画像オブジェクト70の座標と文字オブジェクト72の座標とを比較し、互いの座標間の距離が設定範囲内にある画像オブジェクト70と文字オブジェクト72とを互いに関連するオブジェクトとして判定する。そして、画像オブジェクト70のシンボル種別、座標、およびサイズと、画像オブジェクト70に関連する文字オブジェクト72の文字列とが関連付けられた機器データ43を生成する。
なお、上述した設定範囲は、画像オブジェクト70の座標と文字オブジェクト72の座標との位置関係で範囲を異ならせてもよい。この場合、画像オブジェクト70の座標と文字オブジェクト72の座標とが座標上で上下関係である場合の距離の設定範囲ythを、画像オブジェクト70の座標と文字オブジェクト72の座標とが座標上で左右関係である場合の距離の設定範囲xthよりも大きくしてもよい。これにより、座標上で画像オブジェクトと上下関係にある文字オブジェクトを優先して関連付けることができる。
また、機器データ生成部53は、画像オブジェクトの座標から設定範囲内に文字オブジェクトが複数存在する場合、座標上で上限関係にある文字オブジェクトを優先して画像オブジェクトと関連付けることができる。
また、機器データ生成部53は、画像オブジェクトと文字オブジェクトと間の上下方向の距離yと左右方向の距離xとをそれぞれ異なる重み付けをして、画像オブジェクトと文字オブジェクトと間の距離dを求め、かかる距離dが最小の文字オブジェクトを画像オブジェクトと関連付けることができる。
ここで、画像オブジェクトの座標を「x1,x1」とし、文字オブジェクトの座標を「x2,y2」とする。この場合、機器データ生成部53は、画像オブジェクトの座標から設定範囲内に存在する複数の文字オブジェクトのうち、下記式(1)で導かれる距離dが最小の文字オブジェクトを画像オブジェクトと関連付けることができる。なお、下記式(1)において、k1<k2とすることで、上下方向の重み付けを大きくできる。
d=√{(k1×x1−k1×x2)2+(k2×y1−k2×y2)2} ・・(1)
なお、機器データ生成部53は、画像オブジェクトの座標から設定範囲内に複数の文字オブジェクトが存在する場合、複数の文字オブジェクトを画像オブジェクトに関連付けることもできる。
図7は、機器データ43の一例を示す図である。図7に示すように、機器データ43には、シンボル種別、機器名称、座標、およびサイズが互いに関連付けられたデータが含まれる。
図7に示す例では、シンボル種別「電磁弁1」には、機器名称「第1送水管弁」、座標「50,25」と、サイズ「10×10」とが関連付けられる。また、シンボル種別「電磁弁2」には、機器名称「第2送水管弁」、座標「240,25」と、サイズ「10×10」とが関連付けられている。同様に、シンボル種別「右口ポンプ1」、「数値ボタン1」、「右口ポンプ2」、および「数値ボタン2」にも、機器名称、座標、およびサイズが関連付けられる。
オブジェクトデータ生成部22は、上述のように生成した画像オブジェクトデータ41、文字オブジェクトデータ42、および機器データ43を含むオブジェクトデータ32を記憶部30に記憶する。
図3に戻って、制御部20の説明を続ける。制御部20の画面データ生成部23は、文字オブジェクトデータ42、機器データ43、および部品定義データ44に基づいて、監視画面データ33を生成する。部品定義データ44は、定義データ34に含まれるデータであり、シンボル種別とシンボル画像とが関連付けられたデータである。
図8は、部品定義データ44の一例を示す図である。図8に示すように、シンボル種別「電磁弁」は、電磁弁のシンボル画像に関連付けられており、シンボル種別「右口ポンプ」は、右口ポンプのシンボル画像に関連付けられている。
図9は、監視画面データ33の画面の一例を示す図である。図9に示す例では、シンボル部品である画像オブジェクト80a〜80fと、線部品である画像オブジェクト81a〜81eと、文字列である文字オブジェクト82a〜82fとが含まれる。
画面データ生成部23は、画像オブジェクトデータ41に含まれる画像オブジェクト70a〜70fのシンボル種別、座標、およびサイズに基づき、図9に示す画像オブジェクト80a〜80fを監視画面に割り付ける。
具体的には、画面データ生成部23は、画像オブジェクト70aのシンボル種別に関連付けられたシンボル画像を部品定義データ44から抽出する。画面データ生成部23は、抽出したシンボル画像を画像オブジェクト70aのサイズで画像オブジェクト70aの座標位置に画像オブジェクト80aとして割り付ける。
すなわち、画面データ生成部23は、シンボル種別「電磁弁」の画像を、サイズ「10×10」で座標「50,25」の位置に画像オブジェクト80aとして割り付ける。画面データ生成部23は、画像オブジェクト80b〜80fについても、画像オブジェクト80aと同様の処理を行う。
また、画面データ生成部23は、画像オブジェクトデータ41に含まれる画像オブジェクト71a〜71eの線種別、座標、およびサイズに基づき、図9に示す画像オブジェクト81a〜81eを監視画面に割り付ける。
具体的には、画面データ生成部23は、画像オブジェクト81aの線種別に関連付けられた線画像を部品定義データ44から抽出する。画面データ生成部23は、抽出した線画像を画像オブジェクト71aのサイズで画像オブジェクト71aの座標位置に画像オブジェクト81aとして割り付ける。画面データ生成部23は、画像オブジェクト81b〜81eについても、画像オブジェクト81aと同様の処理を行う。
また、画面データ生成部23は、文字オブジェクトデータ42に含まれる文字オブジェクト72a〜72fの文字列、座標、およびサイズに基づき、図9に示す文字オブジェクト82a〜82fを監視画面に割り付ける。
具体的には、画面データ生成部23は、文字オブジェクト72aの文字列を文字オブジェクト72aのサイズで文字オブジェクト72aの座標位置に文字オブジェクト82aとして割り付ける。すなわち、画面データ生成部23は、文字列「第1浄水場」を、サイズ「18」で座標「5,5」の位置に文字オブジェクト82aとして割り付ける。画面データ生成部23は、文字オブジェクト82b〜82fについても、文字オブジェクト82aと同様の処理を行う。
画面データ生成部23によって生成される監視画面データ33は、各画像オブジェクト80a〜80f,81a〜81eの画像、オブジェクト名称、および座標を含み、各文字オブジェクト82a〜82fの文字列、および座標を含む。なお、監視画面データ33は、各画像オブジェクト80a〜80f,81a〜81eが状態遷移可能に表示されることができればよく、データ構成は上述した例に限定されない。
図3に戻って、制御部20の説明を続ける。制御部20の割付処理部24は、項目定義データ45とオブジェクトデータ32とに基づいて、監視画面に含まれる画像オブジェクト80a〜80fに状態遷移を定義するデータを割り付けた割付済監視画面データ35を生成する。項目定義データ45は、定義データ34に含まれるデータであり、状態遷移を定義するデータである。
図10は、項目定義データ45の一例を示す図である。項目定義データ45は、状態遷移を定義するデータであり、図10に示すように、機器名称、振る舞い、信号名称、および信号コードが関連付けられたデータである。なお、図10に示す例では、状態遷移同士の区別が付くように、状態遷移には数字が付されている。
「機器名称」は、プラントに設けられた監視対象の機器名称である。「振る舞い」は、画像オブジェクト80であるシンボルの振る舞いを示す情報である。かかる「振る舞い」は、例えば、信号の状態によって画像オブジェクト80をどのように変化させるかを示す情報、画像オブジェクト80への操作に基づいて監視対象の機器の操作画面を表示させる情報である。
「信号名称」は、監視対象の機器から受信される信号の名称であり、「入」は、機器が動作しているか停止しているかを示す信号を意味し、「故障」は、故障の発生を示す信号を意味し、「流量」は、ポンプによって流れる水量を意味する。「信号コード」は、プラントの監視および制御を行う監視制御システムに含まれる機器の信号の識別コードであり、機器の信号は、例えば、計装信号、制御信号、またはセンサ信号である。
図10に示す例では、項目定義データ45において、機器名称「第1送水管弁」には、振る舞い「振る舞い1」、信号名称「入」、信号コード「D11」が関連付けられている。「振る舞い1」は、信号の状態と画像オブジェクト80の色、形状、および模様の少なくとも一つの変化態様とが関連付けられた情報である。したがって、信号コード「D11」の信号の状態に基づいて画像オブジェクト80の態様が変化する。
また、項目定義データ45の機器名称「第1送水管弁」には、振る舞い「振る舞い2」、信号名称「故障」、信号コード「D12」が関連付けられている。「振る舞い2」は、信号の状態と画像オブジェクト80の色、形状、および模様の少なくとも一つの変化態様とが関連付けられた情報である。したがって、信号コード「D12」の信号の状態に基づいて画像オブジェクト80の態様が変化する。
項目定義データ45では、項目定義データ45の機器名称「第2送水管弁」、「第1送水ポンプ」、および「第2送水ポンプ」についても機器名称「第1送水管弁」の場合と同様に、振る舞い、信号名称、および信号コードが関連付けられている。例えば、機器名称「第1送水ポンプ」には、振る舞い「振る舞い6」、信号名称「流量」、信号コード「D16」が関連付けられている。「振る舞い6」は、信号の状態を表示することを示す情報である。したがって、信号コード「D16」の信号の状態である流量が画像オブジェクト80に表示される。
割付処理部24は、項目定義データ45とオブジェクトデータ32とに基づいて、割付データ36を生成する。具体的には、割付処理部24は、項目定義データ45に含まれる機器名称と機器データ43に含まれる機器名称とを比較する。そして、割付処理部24は、機器データ43に含まれる機器名称と一致する機器名称を含む項目定義データ45に含まれる振る舞いおよび信号を機器データ43に含まれるシンボル種別と関連付けて割付データ36を生成する。
図11は、割付データ36の一例を示す図である。図11に示すように、割付データ36は、シンボル種別、振る舞い、および信号コードが関連付けられたデータである。図11に示す割付データ36では、シンボル種別「電磁弁1」のシンボルである画像オブジェクト80aに対して、振る舞い「振る舞い1」および信号コード「D11」が関連付けられている。
また、シンボル種別「電磁弁1」のシンボルである画像オブジェクト80aに対して、振る舞い「振る舞い2」および信号コード「D12」が関連付けられている。画像オブジェクト80b〜80fであるシンボルに対しても、同様に振る舞いと信号コードが割り付けられている。
なお、割付データ36は、シンボルである画像オブジェクト80a〜80fに振る舞いと信号とを割り付けられることができればよく、図11に示す例に限定されない。例えば、画像オブジェクト80a〜80fのシンボル種別ではなく、画像オブジェクト80a〜80fの識別子に対して、振る舞いと信号コードが割り付けられていてもよい。
また、割付データ36には、画像オブジェクト80a〜80fの識別子またはシンボル種別に代えて、画像オブジェクト80a〜80fの座標を示す情報を含めていてもよい。すなわち、割付データ36は、画像オブジェクト80a〜80fを特定できる情報に振る舞いと信号コードが割り付けられたデータであればよい。
また、割付済監視画面データ35において画像オブジェクト80a〜80fに振る舞いと信号とを割り付けることができればよく、上述した割付データ36以外の割付データによって、画像オブジェクト80a〜80fに振る舞いと信号とを割り付けてもよい。すなわち、結果的に、プラントの監視および制御を行う監視制御システムにおいて、監視対象の機器を示す画像オブジェクト80に振る舞いと信号とが割り付けられ、信号の状態によって振る舞いが実行されるように割付済監視画面データ35が生成されていればよい。
図3に戻って、制御部20の説明を続ける。制御部20の表示制御部26は、記憶部30に記憶されたデータを表示装置4に表示することができる。具体的には、表示制御部26は、オブジェクトデータ32、監視画面データ33、定義データ34、および割付済監視画面データ35の少なくとも一つを選択的に表示装置4に表示することができる。
制御部20の入力処理部27は、入力装置5への入力に基づいて、オブジェクトデータ32、監視画面データ33、定義データ34、および割付済監視画面データ35の少なくとも一つを変更することができる。
制御部20の処理を、フローチャートを用いて説明する。図12は、実施の形態1にかかる制御部20の処理の一例を示すフローチャートである。
図12に示すように、制御部20の画像データ取得部21は、外部から画像データ3を取得する(ステップS10)。次に、制御部20のオブジェクトデータ生成部22は、画像データ3の画像に含まれる複数のオブジェクトを抽出し、オブジェクトデータ32を生成する(ステップS11)。ステップS11の処理は、後述する図13におけるステップS20〜S31の処理であり、後で詳述する。
次に、制御部20の画面データ生成部23は、ステップS11で生成されたオブジェクトデータ32および部品定義データ44に基づいて、監視画面のデータである監視画面データ33を生成する(ステップS12)。制御部20は、割付データ36と監視画面データ33とを含む割付済監視画面データ35を生成する(ステップS13)。ステップS13の処理は、図14に示すステップS40〜S44の処理であり、後で詳述する。
図13は、図12に示すステップS11の処理を示すフローチャートである。図13に示すように、オブジェクトデータ生成部22は、記憶部30からテンプレートデータ31を読み出す(ステップS20)。次に、オブジェクトデータ生成部22は、テンプレートデータ31を用いて、画像データ3に含まれる画像オブジェクトの識別処理を行う(ステップS21)。
オブジェクトデータ生成部22は、識別した画像オブジェクトがシンボル部品か否かを判定し(ステップS22)、画像オブジェクトがシンボル部品であると判定した場合(ステップS22:Yes)、シンボル部品のデータを生成する(ステップS23)。オブジェクトデータ生成部22は、画像オブジェクトがシンボル部品でないと判定した場合(ステップS22:No)、線部品のデータを生成する(ステップS24)。
オブジェクトデータ生成部22は、ステップS23またはステップS24の処理が終了した場合、画像データ3に含まれるすべての画像オブジェクトの識別処理を終了したか否かを判定する(ステップS25)。オブジェクトデータ生成部22は、すべての画像オブジェクトの識別処理を終了していないと判定した場合(ステップS25:No)、処理をステップS21へ移行する。
オブジェクトデータ生成部22は、すべての画像オブジェクトの識別処理を終了したと判定した場合(ステップS25:Yes)、ステップS23で生成したシンボル部品のデータとステップS24で生成した線部品のデータを含む画像オブジェクトデータ41を生成する(ステップS26)。
次に、オブジェクトデータ生成部22は、画像データ3に含まれる文字オブジェクトの識別処理を行い(ステップS27)、識別した文字オブジェクトのデータを生成する(ステップS28)。オブジェクトデータ生成部22は、画像データ3に含まれるすべての文字オブジェクトの識別処理を終了したか否かを判定する(ステップS29)。
オブジェクトデータ生成部22はすべての文字オブジェクトの識別処理を終了していないと判定した場合(ステップS29:No)、処理をステップS27へ移行する。オブジェクトデータ生成部22は、すべての文字オブジェクトの識別処理を終了したと判定した場合(ステップS29:Yes)、ステップS28で生成したすべての文字オブジェクトのデータを含む文字オブジェクトデータ42を生成する(ステップS30)。
次に、オブジェクトデータ生成部22は、ステップS26で生成した画像オブジェクトデータ41とステップS30で生成した文字オブジェクトデータ42とに基づいて、機器データ43を生成し(ステップS31)、図13に示す処理を終了する。
図14は、図12に示すステップS13の処理を示すフローチャートである。図14に示すように、制御部20の割付処理部24は、ステップS11において機器データ43が生成されたか否かを判定する(ステップS40)。
割付処理部24は、機器データ43が生成されたと判定した場合(ステップS40:Yes)、記憶部30から項目定義データ45を読み出す(ステップS41)。そして、割付処理部24は、項目定義データ45とオブジェクトデータ32とに基づいて、割付データ36の生成処理を行う(ステップS42)。
次に、割付処理部24は、割付データ36が生成されたか否かを判定する(ステップS43)。項目定義データ45に含まれる少なくとも一つの「機器名称」の文字列が、機器データ43に含まれる機器名称の文字列と一致する場合に、割付データ36は生成される。一方、項目定義データ45に含まれるいずれの「機器名称」の文字列も、機器データ43に含まれる機器名称の文字列と一致しない場合には、割付データ36は生成されない。
割付処理部24は、割付データ36が生成されたと判定した場合(ステップS43:Yes)、割付データ36と監視画面データ33とを含む割付済監視画面データ35を生成する(ステップS44)。
ステップS40において、機器データが生成されていないと判定された場合(ステップS40:No)、ステップS43において、割付データ36が生成されていないと判定された場合(ステップS43:No)、またはステップS44の処理を終了した場合、制御部20は、図14に示す処理を終了する。
図15は、実施の形態1にかかる監視画面データ生成装置1のハードウェア構成の一例を示す図である。図15に示すように、監視画面データ生成装置1は、プロセッサ101と、メモリ102と、HDD103と、インタフェース回路104とを備えるコンピュータである。プロセッサ101、メモリ102、HDD103、およびインタフェース回路104は、バス105によって互いにデータの送受信が可能である。通信部10は、インタフェース回路104によって実現される。記憶部30は、メモリ102およびHDD103によって実現される。
プロセッサ101は、HDD103に記憶されたOSおよび処理プログラムを読み出して実行することによって、画像データ取得部21、オブジェクトデータ生成部22、画面データ生成部23、割付処理部24、データ出力部25、表示制御部26、および入力処理部27の機能を実行する。なお、プロセッサ101は、磁気ディスク、USB(Universal Serial Bus)メモリ、光ディスク、コンパクトディスク、およびDVD(Digital
Versatile Disc)のうち一つ以上の記憶媒体から不図示のインタフェースを介してOSおよび処理プログラムを読み出しHDD103に記憶して実行することもできる。
プロセッサ101は、処理回路の一例であり、CPU、DSP(Digital Signal Processer)、およびシステムLSI(Large Scale Integration)のうち一つ以上を含む。メモリ102は、プロセッサ101の作業領域として用いられる記憶領域であり、RAM(Random Access Memory)に代表される不揮発性または揮発性の半導体メモリである。
以上のように、実施の形態1にかかる監視画面データ生成装置1は、画像データ取得部21と、オブジェクトデータ生成部22と、画面データ生成部23と、割付処理部24とを備える。画像データ取得部21は、画像のデータである画像データ3を取得する。オブジェクトデータ生成部22は、画像データ取得部21によって取得された画像データ3の画像に含まれる複数のオブジェクト70,71,72を識別し、識別した複数のオブジェクト70,71,72の情報を含むオブジェクトデータ32を生成する。画面データ生成部23は、オブジェクトデータ生成部22によって生成されたオブジェクトデータ32に基づいて、画像オブジェクト70,71および文字オブジェクト72を含む監視画面のデータである監視画面データ33を生成する。割付処理部24は、状態遷移を定義する定義データ34とオブジェクトデータ32とに基づいて、監視画面データ33の監視画面に含まれる画像オブジェクト70に状態遷移を定義するデータの一例である割付データ36が割り付けられる。
したがって、画像オブジェクト70に割付データ36を手作業で割り付ける場合に比べ、画像オブジェクト61aに割付データ36を割り付けた割付済監視画面データ35を容易に生成することができる。また、スクリーンショットによる画像データまたはスキャナで取り込んだ画像データから監視画面データ33が生成できることから、データ互換性のない他社の監視画面画像データを元に監視画面データ33を生成することができる。
また、オブジェクトデータ生成部22は、第1の識別部の一例であるテンプレートマッチング処理部51と、第2の識別部の一例である文字識別処理部52と、機器データ生成部53とを備える。テンプレートマッチング処理部51は、複数のオブジェクト70,71,72のうちの画像オブジェクト70,71を識別し、識別した画像オブジェクト70,71の座標を含む画像オブジェクトデータ41を生成する。文字識別処理部52は、複数のオブジェクト70,71,72のうちの文字のオブジェクトである文字オブジェクト72を識別し、識別した文字オブジェクト72の座標を含む文字オブジェクトデータ42を生成する。機器データ生成部53は、画像オブジェクト70の座標と文字オブジェクト72の座標とに基づいて、画像オブジェクト70と文字オブジェクト72とが関連付けられた機器データ43を生成する。割付処理部24は、定義データ34に含まれる機器名称と機器データ43に含まれる文字オブジェクト72との比較結果に基づき、監視画面に含まれる画像オブジェクト70に状態遷移を定義するデータである割付データ36を割り付ける。このように、画像オブジェクト70と文字オブジェクト72とを関連付けた機器データ43を生成することで、状態遷移を定義するデータを容易に画像オブジェクト70に割り付けることができる。
実施の形態2.
実施の形態2では、画像データ3の画像オブジェクトと異なるサイズでオブジェクトを監視画面データ33に含ませる拡縮処理が追加される点で、実施の形態1と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1の監視画面データ生成装置1と異なる点を中心に説明する。図16は、実施の形態2にかかる監視画面データ生成装置1Aの構成例を示す図である。
図16に示すように、実施の形態2にかかる監視画面データ生成装置1Aの制御部20Aは、制御部20の構成に加え、さらに、拡縮処理部28を備える。また、監視画面データ生成装置1Aの記憶部30Aは、記憶部30において記憶されるデータに加え、修正オブジェクトデータ37を記憶することができる。
拡縮処理部28は、記憶部30からオブジェクトデータ32を読み出し、かかるオブジェクトデータ32に基づいて、拡縮率設定画面データを生成し、表示制御部26へ出力する。表示制御部26は、拡縮率設定画面データに基づいて、拡縮率設定画面を表示装置4に表示する。
図17は、表示装置4に表示される拡縮率設定画面62の一例を示す図である。図17に示す拡縮率設定画面62には、画像オブジェクトであるシンボル部品毎に入力枠63a〜63fが配置され、画像オブジェクトである線部品毎に入力枠64a〜64eが配置され、文字オブジェクトである文字列毎に入力枠65a〜65fが配置されている。
入力枠63a〜63f,64a〜64e,65a〜65fに設定されている倍率は、画像データ3の画像に含まれるオブジェクトの拡縮率である。各入力枠63a〜63f,64a〜64e,65a〜65fに設定されている倍率は、入力装置5への操作で変更することができる。
入力装置5への操作で拡縮率設定画面62に設けられた設定ボタン67が操作されると、拡縮処理部28は、入力枠63a〜63f,64a〜64e,65a〜65fの倍率のうち、入力装置5への操作によって変更された倍率をオブジェクトデータ32のオブジェクトのサイズに掛けて求めた修正オブジェクトデータ37を生成する。拡縮処理部28は、生成した修正オブジェクトデータ37を記憶部30Aに記憶する。
ここで、シンボル種別「電磁弁1」である画像オブジェクト80aのサイズが図7に示すように「10×10」である場合、拡縮処理部28は、入力枠63aの倍率が「80%」に変更されると、画像オブジェクト80aのサイズを「8×8」にする。
また、入力装置5への操作で拡縮率設定画面62に設けられた取消ボタン68が操作されると、拡縮処理部28は、記憶部30Aに記憶された修正オブジェクトデータ37を削除する。
また、図17に示す拡縮率設定画面62には、すべてのオブジェクトの倍率を一括して設定するための入力枠66が配置される。入力枠66に設定されている倍率は、入力枠63a〜63f,64a〜64e,65a〜65fに設定される倍率と同様に、入力装置5への操作で変更することができる。
入力装置5への操作で拡縮率設定画面62に設けられた設定ボタン67が操作されると、拡縮処理部28は、オブジェクトデータ32に含まれるすべてのオブジェクトに入力枠66に設定されている倍率を掛けて求めた修正オブジェクトデータ37を生成する。拡縮処理部28は、生成した修正オブジェクトデータ37を記憶部30Aに記憶する。
なお、上述した例では、入力枠63a〜63f,64a〜64e,65a〜65f,66において「倍率」を指定する例を説明したが、入力枠63a〜63f,64a〜64e,65a〜65f,66において「サイズ」を指定する構成であってもよい。
制御部20Aの処理を、フローチャートを用いて説明する。図18は、実施の形態2にかかる制御部20Aの処理の一例を示すフローチャートである。
図18に示すように、制御部20Aの画像データ取得部21は、外部から画像データ3を取得する(ステップS50)。次に、制御部20Aのオブジェクトデータ生成部22は、画像データ3の画像に含まれる複数のオブジェクトを抽出し、オブジェクトデータ32を生成する(ステップS51)。ステップS51の処理は、上述した図13におけるステップS20〜S30の処理であり、図13におけるステップS31の処理は、後述するステップS56の処理で行われる。
次に、制御部20Aの拡縮処理部28は、オブジェクトデータ32に基づいて、拡縮率設定画面データを生成し、表示制御部26は、拡縮率設定画面データに基づいて、拡縮率設定画面62を表示装置4に表示する(ステップS52)。
次に、拡縮処理部28は、拡縮設定の要求があるか否かを判定する(ステップS53)。拡縮処理部28は、上述した設定ボタン67が操作された場合に、拡縮設定の要求があると判定する。拡縮処理部28は、拡縮設定の要求があると判定した場合(ステップS53:Yes)、拡縮率設定画面62の入力枠に設定された倍率をオブジェクトデータ32のオブジェクトのサイズに掛けて求めた修正オブジェクトデータ37を生成する(ステップS54)。
次に、制御部20Aの画面データ生成部23は、ステップS54で生成された修正オブジェクトデータ37および部品定義データ44に基づいて、監視画面のデータである監視画面データ33を生成する(ステップS55)。制御部20Aは、ステップS31と同様の処理により、修正オブジェクトデータ37に基づいて、機器データ43を生成する(ステップS56)。制御部20Aは、ステップS13と同様の処理により、割付データ36と監視画面データ33とを含む割付済監視画面データ35を生成する(ステップS57)。
また、割付処理部24は、画像オブジェクトのサイズによって、画像オブジェクトに割り付ける振る舞いの種類および数を変更することもできる。この場合、項目定義データ45は、機器名称、振る舞い、信号名称、および信号コードがサイズ種別毎に関連付けられたデータである。サイズ種別は、複数段階のサイズ範囲を示す。サイズ範囲は、例えば、「6×6」以上「8×8」未満といった範囲である。このように、画像オブジェクトのサイズ毎に割り付ける振る舞いの種類および数を変更することで、サイズが小さくなって画像オブジェクトの振る舞いを視認し難くなる場合であっても、視認しやすい振る舞いを割り付けることができる。
また、上述した例では、拡縮処理部28は、画面データ生成部23が監視画面データ33を生成する前に、修正オブジェクトデータ37を生成するが、画面データ生成部23が監視画面データ33を生成した後に、修正オブジェクトデータ37を生成することもできる。この場合、拡縮処理部28は、オブジェクトデータ32に基づいて生成された監視画面データ33のオブジェクトへの操作に基づいてオブジェクトの拡縮を変更し修正オブジェクトデータ37を生成することができる。
なお、実施の形態2にかかる監視画面データ生成装置1Aのハードウェア構成例は、図15に示す監視画面データ生成装置1と同じである。プロセッサ101は、記憶部30Aとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した制御部20の機能に加え、拡縮処理部28の機能を実行することができる。
以上のように、実施の形態2にかかる監視画面データ生成装置1Aは、サイズ変更部の一例である拡縮処理部28を備える。拡縮処理部28は、オブジェクトデータ32に含まれるオブジェクト70a〜70f,71a〜71e,72a〜72f(図4参照)の一部または全部のサイズを変更する。画面データ生成部23は、拡縮処理部28によってサイズが変更されたオブジェクト70a〜70f,71a〜71e,72a〜72fのデータを含む修正オブジェクトデータ37に基づいて、監視画面データ33を生成する。これにより、オブジェクト70a〜70f,71a〜71e,72a〜72fのうち一部のオブジェクトのサイズを変更することで一部のオブジェクトを強調することができる。また、複数の画像データ3から得られるオブジェクトデータを組み合わせてオブジェクト70a〜70f,71a〜71e,72a〜72fが重ならないように一つの監視画面を生成することができる。したがって、より柔軟に視認性の高い監視画面データ33を生成することができる。
実施の形態3.
実施の形態1,2では、項目定義データ45に基づいて割付データ36を作成したが、実施の形態3では、項目テンプレートデータに基づいて割付データを作成する点で、実施の形態1,2と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1の監視画面データ生成装置1と異なる点を中心に説明するが、実施の形態2の監視画面データ生成装置1Aへ適用することもできる。
図19は、実施の形態3にかかる監視画面データ生成装置1Bの構成例を示す図である。図19に示すように、実施の形態3にかかる監視画面データ生成装置1Bの制御部20Bは、割付処理部24に代えて、割付処理部24Bを備える。また、監視画面データ生成装置1Bの記憶部30Bは、記憶部30に記憶されるデータに加え、さらに、項目テンプレートデータ38と、信号定義データ46とを記憶する。
項目テンプレートデータ38は、シンボル種別と信号名称と振る舞いとが関連付けられたデータである。図20は、項目テンプレートデータ38の一例を示す図である。図20に示す項目テンプレートデータ38では、シンボル種別「電磁弁」に対して信号名称「入」と「振る舞い1」とが関連付けられており、シンボル種別「電磁弁」に対して信号名称「故障」と「振る舞い2」とが関連付けられている。
また、項目テンプレートデータ38において、シンボル種別「ポンプ」に対して信号名称「入」と「振る舞い3」とが関連付けられており、シンボル種別「ポンプ」に対して信号名称「流量」と「振る舞い4」とが関連付けられている。
信号名称「入」は、機器が動作しているか停止しているかを示す信号を示し、信号名称「入」に関連付けられている「振る舞い1」および「振る舞い3」は、信号の状態に応じたシンボルの振る舞いを示すデータである。また、信号名称「故障」は、機器の故障を示す信号を示し、信号名称「故障」に関連付けられている「振る舞い2」は、機器が故障した場合のシンボルの振る舞いを示すデータである。
信号定義データ46は、機器名称、信号名称、および信号コードが互いに関連付けられたデータである。かかる信号定義データ46は、入力装置5を介して記憶部30Bに記憶される。なお、制御部20Bは、外部装置で生成された信号定義データ46がネットワーク2を介して通信部10で受信される場合、通信部10で受信された信号定義データ46を記憶部30Bに記憶することができる。
図21は、信号定義データ46の一例を示す図である。図21に示す信号定義データ46では、機器名称「第1送水管弁」に対して信号名称「入」と信号コード「D11」とが関連付けられており、機器名称「第1送水管弁」に対して信号名称「故障」と信号コード「D12」とが関連付けられている。同様に、機器名称「第2送水管弁」、「第1送水ポンプ」、および「第2送水ポンプ」に対しても、信号名称と信号コードとが関連付けられている。
割付処理部24Bは、項目テンプレートデータ38と、信号定義データ46と、オブジェクトデータ32に基づいて、監視画面に含まれる画像オブジェクトに状態遷移を定義するデータである割付データ36Bを生成する。具体的には、割付処理部24Bは、機器データ43と、信号定義データ46とに基づいて、機器データ43に含まれる各機器名称に対して信号名称、および信号コードを設定した仮割付データを生成する。
具体的には、割付処理部24Bは、信号定義データ46に含まれるシンボル種別と機器データ43に含まれるシンボル種別とを比較する。そして、割付処理部24Bは、機器データ43において、信号定義データ46のシンボル種別と一致するシンボル種別に関連付けられた機器名称を判定する。例えば、図20に示す信号定義データ46に含まれるシンボル種別「電磁弁」は、図7に示す機器データ43に含まれるシンボル種別「電磁弁1」,「電磁弁2」とシンボル種別が一致し、シンボル種別「電磁弁1」,「電磁弁2」は、機器名称「第1送水弁管」,「第2送水弁管」に関連付けられている。
割付処理部24Bは、シンボル種別が一致すると判定した機器名称に対し、信号定義データ46から機器名称と一致するシンボル種別に関連付けられた信号名称、および信号コードを抽出し、抽出した信号名称および信号コードを機器名称に関連付けて仮割付データを生成する。仮割付データは、例えば、「第1送水管弁」に信号名称「入」および信号コード「D11」が関連付けられたデータを含み、「第1送水管弁」に信号名称「故障」および信号コード「D12」が関連付けられたデータを含む。
さらに、割付処理部24Bは、項目テンプレートデータ38に基づいて、仮割付データに含まれる機器名称および信号種別の組み合わせに対応する振る舞いを仮割付データに設定して割付データ36Bを生成する。
図22は、割付データ36Bの一例を示す図である。図22に示すように、割付データ36Bでは、「電磁弁」である「第1送水管弁」および「第2送水管弁」において、信号名称「入」には、振る舞い「振る舞い1」が設定され、信号名称「故障」には、振る舞い「振る舞い2」が設定される。また、「ポンプ」である「第1送水ポンプ」および「第2送水ポンプ」において、信号名称「入」には、振る舞い「振る舞い3」が設定され、信号名称「流量」には、振る舞い「振る舞い4」が設定される。
なお、上述した項目テンプレートデータ38は、シンボル名称、信号名称、および振る舞いが互いに関連付けられたデータであるが、シンボル名称を関連付けていないデータであってもよい。図23は、項目テンプレートデータ38の他の例を示す図である。図23に示す項目テンプレートデータ38では、信号名称「入」に対して、振る舞い「振る舞い1」が設定され、信号名称「故障」に対して、振る舞い「振る舞い2」が設定されている。
割付処理部24Bは、図23に示す項目テンプレートデータ38を用いる場合、シンボル名称にかかわらず、信号名称のみで振る舞いを割り付ける。したがって、割付データ36Bでは、「第1送水ポンプ」および「第2送水ポンプ」において、信号名称「入」には、振る舞い「振る舞い1」が設定され、信号名称「故障」には、振る舞い「振る舞い2」が設定される。なお、図23に示す項目テンプレートデータ38において、信号名称「故障」に振る舞い「振る舞い2」が設定されていなくてもよく、また、信号名称「流量」に振る舞い「振る舞い3」が設定されていてもよい。
制御部20Bの処理を、フローチャートを用いて説明する。図24は、実施の形態3にかかる制御部20Bの処理の一例を示すフローチャートであり、図12に示すステップS13に対応する処理である。
図24に示すように、制御部20Bの割付処理部24Bは、ステップS40の処理と同様に、機器データ43が生成されたか否かを判定する(ステップS60)。割付処理部24Bは、機器データ43が生成されたと判定した場合(ステップS60:Yes)、記憶部30Bから項目テンプレートデータ38と信号定義データ46を読み出す(ステップS61,S62)。
割付処理部24Bは、項目テンプレートデータ38、信号定義データ46、およびオブジェクトデータ32に基づいて、割付データ36Bの生成処理を行う(ステップS63)。割付処理部24Bは、割付データ36Bと監視画面データ33とを含む割付済監視画面データ35を生成する(ステップS64)。
なお、実施の形態3にかかる監視画面データ生成装置1Bのハードウェア構成例は、図15に示す監視画面データ生成装置1と同じである。プロセッサ101は、記憶部30Bとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、割付処理部24に代えて割付処理部24Bの機能を実行することができる。
以上のように、実施の形態3にかかる監視画面データ生成装置1Bのオブジェクトデータ生成部22は、画像オブジェクト70を識別し、識別した画像オブジェクト70の種別を含む画像オブジェクトデータ41を生成する。割付処理部24Bは、信号定義データ46に含まれる画像オブジェクト70の種別と画像オブジェクトデータ41に含まれる画像オブジェクト70の種別との比較結果に基づき、監視画面に含まれる画像オブジェクト70に状態遷移を定義するデータである割付データ36Bを割り付ける。
これにより、機器名称と振る舞いとを関連付けた項目定義データ45がない場合であっても、項目定義データ45よりも簡単な定義付けの項目テンプレートデータ38を用いて監視画面に含まれる画像オブジェクト70に状態遷移を定義するデータを割り付けることができる。したがって、監視画面毎に画像オブジェクトの振る舞いの定義を作り直す手間を省くことができ、割付済監視画面データ35を容易に生成することができる。また、図23に示す項目テンプレートデータ38を用いる場合、シンボル名称にかかわらず、信号名称のみで振る舞いを割り付けることができ、割付済監視画面データ35をさらに容易に生成することができる。
また、割付処理部24Bは、項目定義データ45に基づいて振る舞いおよび信号コードを割り付けることができない画像オブジェクトに対して、項目テンプレートデータ38を用いて振る舞いおよび信号コードを割り当てることもできる。これにより、項目定義データ45に漏れがあった場合でも、画像オブジェクトに状態遷移データを割り付けることができる。
実施の形態4.
実施の形態1〜3では、画像データ3の画像に含まれるオブジェクトを選別せずに監視画面データ33を生成するが、実施の形態4では、オブジェクトの一部をマスクして監視画面データ33を生成する点で、実施の形態1〜3と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1の監視画面データ生成装置1と異なる点を中心に説明するが、実施の形態2,3の監視画面データ生成装置1A,1Bへ適用することもできる。
図25に示すように、実施の形態4にかかる監視画面データ生成装置1Cの制御部20Cは、制御部20の構成に加え、さらに、マスク設定部29を備える。また、監視画面データ生成装置1Cの記憶部30Cは、記憶部30において記憶されるデータに加え、マスク後オブジェクトデータ39を記憶することができる。
マスク設定部29は、記憶部30Cからオブジェクトデータ32を読み出し、かかるオブジェクトデータ32に基づいて、マスク設定画面データを生成し、表示制御部26へ出力する。表示制御部26は、マスク設定画面データに基づいて、マスク設定画面を表示装置4に表示する。
図26は、表示装置4に表示されるマスク設定画面の一例を示す図である。図26に示すマスク設定画面69には、画像オブジェクトであるシンボル部品毎にチェックボックス73a〜73fが配置され、画像オブジェクトである線部品毎にチェックボックス74a〜74eが配置される。また、マスク設定画面69には、文字オブジェクトである文字列毎にチェックボックス75a〜75fが配置されている。
入力装置5への操作でマスク設定画面69に設けられた設定ボタン76が操作されると、マスク設定部29は、チェックボックス73a〜73f,74a〜74e,75a〜75fのうち、入力装置5によるチェック操作が行われたチェックボックスに設定されたオブジェクトを除外したマスク後オブジェクトデータ39を生成する。マスク設定部29は、生成したマスク後オブジェクトデータ39を記憶部30Cに記憶する。
図26に示すように、チェックボックス73e,73fにチェック操作が行われた後に設定ボタン76が操作された場合、マスク設定部29は、シンボル種別「右口ポンプ2」、および「数値ボタン2」に対応する画像オブジェクトにマスク設定を行う。これにより、シンボル種別「右口ポンプ2」、「数値ボタン2」に対応する画像オブジェクトをオブジェクトデータ32から除外されたマスク後オブジェクトデータ39が生成される。
また、入力装置5への操作でマスク設定画面69に設けられた取消ボタン77が操作されると、マスク設定部29は、記憶部30Cに記憶されたマスク後オブジェクトデータ39を削除する。
制御部20Cの処理を、フローチャートを用いて説明する。図27は、実施の形態4にかかる制御部20Cの処理の一例を示すフローチャートである。なお、図27に示すステップS70,S71,S76,S77の処理は、図18に示すステップS50,S51,S56,S57の処理と同様の処理であり、以下においては説明を省略する。
図27に示すように、ステップS72において、制御部20Cのマスク設定部29は、オブジェクトデータ32に基づいて、マスク設定画面データを生成し、表示制御部26は、マスク設定画面データに基づいて、マスク設定画面を表示装置4に表示する。
次に、マスク設定部29は、マスク設定の要求があるか否かを判定する(ステップS73)。マスク設定部29は、上述した設定ボタン76が操作された場合に、マスク設定の要求があると判定する。マスク設定部29は、マスク設定の要求があると判定した場合(ステップS73:Yes)、マスク設定されたオブジェクトを除外したマスク後オブジェクトデータ39を生成する(ステップS74)。
次に、制御部20Cの画面データ生成部23は、ステップS74で生成されたマスク後オブジェクトデータ39および部品定義データ44に基づいて、監視画面のデータである監視画面データ33を生成する(ステップS75)。制御部20Cは、ステップS31と同様の処理により、マスク後オブジェクトデータ39に基づいて、機器データ43を生成する(ステップS76)。
上述した例では、除外するオブジェクトを選択する例を説明したが、マスク設定部29は、選択したオブジェクト以外のオブジェクトを除外したマスク後オブジェクトデータ39を生成することもできる。また、上述した例では、チェックボックスへの操作に基づいて一部のオブジェクトを除外したマスク後オブジェクトデータ39を生成するが、チェックボックス以外で一部のオブジェクトを除外することもできる。マスク設定部29は、監視画面データ33を生成した後に、監視画面データ33の画像のうち選択されたオブジェクトを除外したマスク後オブジェクトデータ39を生成することもできる。
なお、実施の形態4にかかる監視画面データ生成装置1Cのハードウェア構成例は、図15に示す監視画面データ生成装置1と同じである。プロセッサ101は、記憶部30Cとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した制御部20の機能に加え、マスク設定部29の機能を実行することができる。
以上のように、実施の形態4にかかる監視画面データ生成装置1Cは、データ変更部の一例であるマスク設定部29を備える。マスク設定部29は、オブジェクトデータ32から複数のオブジェクト70a〜70f,71a〜71e,72a〜72f(図4参照)のうち一部のオブジェクトを除外したマスク後オブジェクトデータ39を生成する。画面データ生成部23は、マスク設定部29によって生成されたマスク後オブジェクトデータ39に基づいて、一部のオブジェクトを除外した監視画面データ33を生成する。これにより、不要なオブジェクトを除外した監視画面データ33を容易に生成することができる。
実施の形態5.
実施の形態5では、複数の画像データ3の画像に含まれるオブジェクトを一つの監視画面に配置した監視画面データ33として生成する機能が追加される点で、実施の形態1〜4と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1の監視画面データ生成装置1と異なる点を中心に説明するが、実施の形態2〜4の監視画面データ生成装置1A〜1Cへ適用することもできる。
図28は、実施の形態5にかかる監視画面データ生成装置1Dの構成例を示す図である。図28に示すように、実施の形態5にかかる監視画面データ生成装置1Dの制御部20Dは、制御部20の構成に加え、オブジェクトデータ合成部40を備える。また、監視画面データ生成装置1Dの記憶部30Dは、記憶部30に記憶されるデータに加え、さらに、合成オブジェクトデータ47を記憶することができる。
ここで、制御部20Dの画像データ取得部21が、図29に示す画像を有する第1の画像データ3aと、図30に示す画像を有する第2の画像データ3bとを取得したとする。図29および図30は、画像データ取得部21によって取得される画像データの例を示す図である。また、図29に示す第1の画像データ3aは、図4に示す画像データ3と同じである。
図30に示す第2の画像データ3bの画像には、シンボル部品である画像オブジェクト70g〜70iと、線部品である画像オブジェクト71f〜71hと、文字列である文字オブジェクト72g〜72kとが含まれる。
オブジェクトデータ生成部22は、第1の画像データ3aのオブジェクトデータと、第2の画像データ3bのオブジェクトデータとを含むオブジェクトデータ32を生成する。以下においては、第1の画像データ3aのオブジェクトデータをオブジェクトデータ32aと記載し、第2の画像データ3bのオブジェクトデータをオブジェクトデータ32bと記載する。
オブジェクトデータ32aは、画像オブジェクトデータ41aと、文字オブジェクトデータ42aと、機器データ43aとを含む。画像オブジェクトデータ41aは、上述した画像オブジェクトデータ41と同じデータであり、文字オブジェクトデータ42aは、上述した文字オブジェクトデータ42と同じデータであり、機器データ43aは、上述した機器データ43と同じデータである。
また、オブジェクトデータ32bは、画像オブジェクトデータ41bと、文字オブジェクトデータ42bと、機器データ43bとを含む。画像オブジェクトデータ41bは、画像オブジェクト70g〜70i毎のレコードデータと、画像オブジェクト71f〜71h毎のレコードデータを含む。画像オブジェクト70g〜70i毎のレコードデータには、シンボル種別、座標、およびサイズを示すデータが含まれ、画像オブジェクト71f〜71h毎のレコードデータには、線種別、座標、およびサイズ示すデータが含まれる。
また、文字オブジェクトデータ42bは、文字オブジェクト72g〜72k毎のレコードデータを含む。機器データ43bは、画像オブジェクト70g〜70i毎のレコードデータを含む。
オブジェクトデータ合成部40は、2つの画像データ3a,3bから生成されたオブジェクトデータ32aとオブジェクトデータ32bとの合成処理を行って合成オブジェクトデータ47を生成し、生成した合成オブジェクトデータ47を記憶部30Dに記憶する。
図31および図32は、オブジェクトデータ32aとオブジェクトデータ32bの合成についての説明図である。オブジェクトデータ合成部40は、合成処理において、図31に示すように、文字オブジェクトデータ42aと文字オブジェクトデータ42bとを一つの文字オブジェクトデータ42cとして生成する。
オブジェクトデータ合成部40は、文字オブジェクトデータ42aと文字オブジェクトデータ42bとで一致する文字列を検索し、検索して得られる文字列を基準として、一部の座標を相対的に変更して合成処理を行う。なお、オブジェクトデータ合成部40は、文字オブジェクトデータ42aと文字オブジェクトデータ42bとで一致する文字列が複数ある場合、複数の文字列のうち機器データ43aと機器データ43bとで共通する機器名称と一致する文字列を基準として合成処理を行う。
図31に示す例では、文字オブジェクトデータ42aと文字オブジェクトデータ42bとは、機器名称「第1送水管弁」が互いに共通する。オブジェクトデータ合成部40は、文字オブジェクトデータ42aの文字列「第1送水管弁」の座標を基準として、文字オブジェクトデータ42bの文字列の座標を変更する。
具体的には、オブジェクトデータ合成部40は、文字オブジェクトデータ42bの文字列「第1送水管弁」の座標を文字オブジェクトデータ42aの文字列「第1送水管弁」の座標にシフトする。また、オブジェクトデータ合成部40は、文字オブジェクトデータ42bの文字列「第1送水管弁」以外の文字列の座標も文字列「第1送水管弁」の座標と同じシフト量でシフトして文字オブジェクトデータ42bに含まれる各レコードデータの座標を変更する。図31に示す例では、シフト量は、「−190,0」である。
そして、オブジェクトデータ合成部40は、座標を変更した文字オブジェクトデータ42bの文字列のうち文字オブジェクトデータ42aの文字列と重複する文字列を有するレコードデータを削除して、文字オブジェクトデータ42aと文字オブジェクトデータ42bとを合成する。これにより、図31に示す文字オブジェクトデータ42cが生成される。
図32に示すように、オブジェクトデータ合成部40は、機器データ43aと機器データ43bとを一つの機器データ43cとして生成する合成処理を行う。かかる合成処理において、オブジェクトデータ合成部40は、機器データ43aと機器データ43bとで一致する機器名称を検索し、検索して得られる機器名称を基準として、合成処理を行う。なお機器データ43aと機器データ43bとで一致する機器名称が複数ある場合、一つの機器名称を基準として合成処理を行う。
図32に示す例では、機器データ43aと機器データ43bとは、機器名称「第1送水管弁」が互いに共通する。オブジェクトデータ合成部40は、機器データ43aの機器名称「第1送水管弁」の座標を基準として、機器データ43bに含まれる各レコードデータの座標を変更する。
具体的には、オブジェクトデータ合成部40は、機器データ43bの文字列「第1送水管弁」の座標を機器データ43aの機器名称「第1送水管弁」の座標にシフトする。また、オブジェクトデータ合成部40は、機器データ43bの機器名称「第1送水管弁」以外の文字列の座標も機器名称「第1送水管弁」の座標と同じシフト量でシフトして、機器データ43bに含まれる各レコードデータの座標を変更する。図32に示す例では、シフト量は、「−190,0」である。
そして、オブジェクトデータ合成部40は、座標を変更した機器データ43bのレコードデータのうち機器データ43aの文字列と重複する文字列を有するレコードデータを削除して、機器データ43aと機器データ43bとを合成する。これにより、図32に示す機器データ43cが生成される。
なお、上述した例では、オブジェクトデータ合成部40は、機器データ43a,43b間で一致する機器名称を基準として、合成処理を行うが、機器データ43a,43b間で一致する機器名称とシンボル種別の組み合わせを基準として、合成処理を行うこともできる。
次に、オブジェクトデータ合成部40は、文字オブジェクトデータ42cおよび機器データ43cで規定されるオブジェクト70a〜70i,71a〜71h,72a〜72kを一つの監視画面に表示できるように、各オブジェクトの座標およびサイズの補正処理を行って、合成オブジェクトデータ47を生成する。補正処理は、オブジェクト70a〜70i,71a〜71h,72a〜72kの座標の領域を縮小およびシフトすることで行うことができる。オブジェクトデータ合成部40は、生成した合成オブジェクトデータ47を記憶部30Dに記憶する。合成オブジェクトデータ47には、文字オブジェクトデータ92と機器データ93とを含む。
図33は、合成オブジェクトデータ47に含まれる文字オブジェクトデータ92の一例を示す図であり、図34は、合成オブジェクトデータ47に含まれる機器データ93の一例を示す図である。
図33に示すように、文字オブジェクトデータ92における各文字オブジェクトの座標が一つの監視画面に表示できるように、文字オブジェクトデータ42cにおける各文字オブジェクトの座標から変更されている。図33に示す例では、各文字オブジェクトサイズは変更されていないが、オブジェクトデータ合成部40は、各文字オブジェクトのサイズを変更することもできる。
具体的には、合成オブジェクトデータ47は、文字オブジェクトサイズを画像オブジェクトと同じ縮小率で変更することができる。これにより、画像データ3a,3bと同じバランスで各オブジェクトを縮小することができる。また、合成オブジェクトデータ47は、文字オブジェクトのサイズの縮小率を画像オブジェクトよりも小さくすることもできる。これにより、文字オブジェクトが小さくなりすぎないようにすることができる。また、合成オブジェクトデータ47は、文字オブジェクトのサイズが下限値よりも小さくならないように制限することもできる。
また、図34に示すように、機器データ93における各シンボル種別の座標およびサイズが一つの監視画面に表示できるように、機器データ43cにおける各シンボル種別の座標およびサイズが変更されている。
画面データ生成部23は、合成オブジェクトデータ47に基づいて、監視画面データ33を生成する。図35は、画面データ生成部23が合成オブジェクトデータ47に基づいて生成した監視画面データ33によって表示装置4に表示される監視画面7の一例を示す図である。図35に示すように、監視画面7は、図29に示す画像と図30に示す画像とを合成した画像を一つの画面として含む。
また、割付処理部24は、状態遷移を定義する定義データ34と合成オブジェクトデータ47の機器データ93とに基づいて、割付済監視画面データ35を生成する。割付済監視画面データ35は、監視画面に含まれる画像オブジェクトに状態遷移を定義するデータである割付データ36と監視画面データ33とを含むデータである。
制御部20Dの処理を、フローチャートを用いて説明する。図36は、実施の形態5にかかる制御部20Dの処理の一例を示すフローチャートであり、図12のステップS11とステップS12との間、図18のステップS51とステップSS52との間、または図27のステップS71とステップS72との間に行われる処理を示す。
図36に示すように、ステップS81において、制御部20Dのオブジェクトデータ合成部40は、異なる複数の画像データから生成されたオブジェクトデータがあるか否かを判定する(ステップS81)。ステップS81において、オブジェクトデータ合成部40は、記憶部30Dに記憶されたオブジェクトデータ32に異なる複数の画像データから生成されたオブジェクトデータが含まれる場合に、異なる複数の画像データから生成されたオブジェクトデータがあると判定する。なお、異なる複数の画像データから生成されたオブジェクトデータか否かは、オブジェクトデータの一致度から判定される。
オブジェクトデータ合成部40は、異なる複数の画像データから生成されたオブジェクトデータがあると判定された場合(ステップS81:Yes)、異なるオブジェクトデータ間で文字列または機器名称が一致するレコードデータがあるか否かを判定する(ステップS82)。ステップS82の処理において、オブジェクトデータ合成部40は、異なる画像データから得られる文字オブジェクトデータ間で一致する文字列があるか否かを判定する。また、オブジェクトデータ合成部40は、異なる画像データから得られる機器データ間で一致する機器名称があるか否かを判定する。
異なるオブジェクトデータ間で文字列または機器名称が一致するレコードデータがあると判定した場合(ステップS82:Yes)、オブジェクトデータ合成部40は、文字列または機器名称が一致するレコードデータの一方の座標を基準として、他方のレコードデータを含むオブジェクトデータの座標を相対的に変更して、複数のオブジェクトデータを合成する(ステップS83)。
ステップS83の処理において、オブジェクトデータ合成部40は、例えば、図31に示すように、複数の文字オブジェクトデータ42a,42bを合成して文字オブジェクトデータ42cを生成し、図32に示すように、複数の機器データ43a,43bを合成して機器データ43cを生成する。
次に、オブジェクトデータ合成部40は、画面外の座標を有するレコードデータがあるか否かを判定する(ステップS84)。オブジェクトデータ合成部40は、画面外の座標を有するレコードデータがあると判定した場合(ステップS84:Yes)、全レコードデータの座標が一つの画面内に収まるようにレコードデータの座標およびサイズを補正する(ステップS85)。
ステップS85の処理において、オブジェクトデータ合成部40は、例えば、図31に示す文字オブジェクトデータ42cを補正して図33に示す文字オブジェクトデータ92を生成し、図32に示す機器データ43cを補正して図34に示す機器データ93を生成することができる。
ステップS85の処理が終了した場合、異なる複数の画像データから生成されたオブジェクトデータがないと判定された場合(ステップS81:No)、一致するレコードデータがないと判定された場合(ステップS82:No)、または、画面外の座標を有するレコードデータがないと判定された場合(ステップS84:No)、オブジェクトデータ合成部40は、図36に示す処理を終了する。
なお、割付処理部24は、割付処理部24Bと同様に、画像オブジェクトのサイズによって割り付ける振る舞いを変更することもできる。これにより、サイズが小さくなって画像オブジェクトの振る舞いを視認し難くなる場合であっても、視認しやすい振る舞いを割り付けることができる。
また、オブジェクトデータ合成部40は、オブジェクトのサイズが閾値以下にならない範囲で、合成オブジェクトデータ47を生成することができる。これにより、オブジェクトが小さすぎる監視画面データ33が生成されることを抑制することができる。
また、実施の形態5にかかる監視画面データ生成装置1Dのハードウェア構成例は、図15に示す監視画面データ生成装置1と同じである。プロセッサ101は、記憶部30Dとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した制御部20の機能に加え、オブジェクトデータ合成部40の機能を実行することができる。
以上のように、実施の形態5にかかる監視画面データ生成装置1Dは、オブジェクトデータ合成部40を備える。オブジェクトデータ合成部40は、画像データ取得部21によって取得された複数の画像データから生成されたオブジェクトデータ32a,32bを合成する。画面データ生成部23は、オブジェクトデータ合成部40によって合成された合成オブジェクトデータ47に基づいて、一つの監視画面のデータである監視画面データ33を生成する。これにより、複数の画像データから容易に一つの監視画面のデータである監視画面データ33を生成することができる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。