以下に、実施の形態にかかる監視画面作成支援装置、監視画面作成支援方法、および監視画面作成支援プログラムを図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1にかかる監視制御装置を含む情報処理システムの構成の一例を示す図である。図1に示すように、実施の形態1にかかる情報処理システム100は、監視制御システム1と、端末装置21,22,・・・,2nと、監視画面作成支援装置3とを備える。nは、例えば、3以上の整数である。
端末装置21,22,・・・,2nと、監視画面作成支援装置3とは、ネットワーク4を介して互いに通信可能に接続される。ネットワーク7は、例えば、LAN(Local Area Network)またはWAN(Wide Area Network)である。ネットワーク4は、例えば、インターネットといったWANである。
監視制御システム1は、監視制御対象の状態の監視および制御を行う。監視制御対象は、例えば、受配電プラントまたは電力プラントなどのプラント、変電所、発電所、水処理施設、または鉄道設備などである。
監視制御システム1は、機器51〜5mと、監視制御装置6とを備える。mは、2以上の整数である。各機器51〜5mは、監視制御対象を構成する機器である。各機器51〜5mは、監視制御対象が水処理施設の場合、例えば、ポンプ、電磁弁、またはブロアである。また、各機器51〜5mは、監視制御対象が変電所である場合、例えば、遮断器または断路器などである。
機器51〜5mには、監視目的に合わせた種類の状態計測装置が設けられ、機器51〜5mからは、状態計測装置で計測された値を示すデータが監視制御対象の状態を示す監視データとして出力される。監視制御対象が水処理施設の場合、状態計測装置は、例えば、流量センサ、水位センサ、または特性検出センサなどである。
特性検出センサは、監視制御対象が下水処理場である場合、NH3の濃度を検出するセンサ、NH4+の濃度を検出するセンサ、またはアンモニア性窒素濃度を検出するセンサなどである。また、状態計測装置は、監視制御対象が変電所である場合、例えば、電圧センサ、電流センサ、または温度センサなどである。
監視制御装置6は、ネットワーク7を介して機器51〜5mと通信可能に接続される。ネットワーク7は、例えば、LANまたはWANである。ネットワーク7は、例えば、インターネットといったWANである。
監視制御装置6は、不図示の表示部および不図示の操作部を備える。監視制御装置6は、監視制御対象の状態を示す監視データを機器51〜5mからネットワーク7を介して取得し、取得した監視データに基づいて、監視制御対象の状態を示す監視画面を不図示の表示部に表示する。これにより、司令員は、監視制御対象の状態を把握することができる。
また、監視制御装置6は、不図示の操作部への司令員の操作に基づいて、機器51〜5mを制御するための制御内容を示す制御データを機器51〜5mへネットワーク7を介して送信する。これにより、かかる制御データによって機器51〜5mが制御される。以下、機器51〜5mの各々を個別に区別せずに示す場合、機器5と記載する場合がある。
監視制御装置6は、クラウド環境に構築される。クラウド環境は、クラウドサービスプラットフォームにおいて提供されるコンピュータ資源を含む。クラウドサービスプラットフォームは、クラウドサービスプロバイダによって提供され、例えば、PaaS(Platform as a Service)などを含む。監視制御装置6は、クラウド環境に構築されるため、クラウドサーバとも呼ばれることがある。
端末装置21,22,・・・,2nは、ユーザU1,U2,・・・,Unによって操作される。具体的には、端末装置21は、ユーザU1に操作され、端末装置22は、ユーザU2に操作され、端末装置2nは、ユーザUnに操作される。以下、端末装置21,22,・・・,2nの各々を個別に区別せずに示す場合、端末装置2と記載する場合があり、ユーザU1,U2,・・・,Unの各々を個別に区別せずに示す場合、ユーザUと記載する場合がある。
監視画面作成支援装置3は、各端末装置2のユーザUによる監視制御装置6の監視画面の作成を支援する。かかる監視画面の作成には、監視画面の変更も含まれる。かかる監視画面作成支援装置3は、監視制御装置6と同様に、クラウド環境に構築され、クラウドサーバとも呼ばれることがある。
端末装置2には、監視制御システム1の監視画面を作成することができるように、例えば、ウェブブラウザ、または専用のエディタなどのアプリケーションプログラムがインストールされている。ユーザUは、ウェブブラウザまたは専用のエディタを操作することで、端末装置2に送信要求を監視画面作成支援装置3へ送信させる。
監視画面作成支援装置3は、端末装置2からの送信要求に基づいて、監視制御システム1の監視画面を編集可能に端末装置2に表示させる。例えば、監視画面作成支援装置3は、画面データを端末装置2へ送信し、端末装置2のブラウザは、画面データに基づく監視画面を端末装置2に編集可能に表示する。
画面データは、例えば、HTML(HyperText Markup Language)データ、シンボルデータ、文字データ、画像データ、音声データ、およびスクリプトなどを含む画面描画用のデータである。なお、端末装置2がブラウザに代えて専用のエディタで監視画面を編集可能に表示する場合、画面データは、例えば、シンボルデータ、文字データ、画像データ、音声データ、およびレイアウトデータなどを含む画面描画用のデータである。以下、監視画面の編集を可能とするウェブブラウザおよび専用のエディタの各々を監視画面エディタと記載する場合がある。
ユーザUは、監視画面エディタを操作することで、端末装置2から監視画面作成支援装置3に更新要求を送信させる。監視画面作成支援装置3は、端末装置2からの更新要求に基づいて、画面データの更新を行う。更新要求には画面データを更新するための更新データが含まれており、監視画面作成支援装置3は、更新要求に含まれるデータに基づいて画面データを更新する。更新データは、画面データのうちユーザUによって編集された部分のデータ、またはユーザUによる編集後の画面データである。
監視画面作成支援装置3は、複数の端末装置2からの更新要求を受け付けた場合に、画面データのうち複数の端末装置2からの更新要求間で更新対象が競合するデータである競合データを検出する。監視画面作成支援装置3は、競合データが検出された場合、更新対象の競合状態を示す情報を複数の端末装置2のうちの少なくとも1つの端末装置2に表示させ、少なくとも1つの端末装置2のユーザUに更新要求に基づく画面データの更新を確定するか否かを選択させる。
これにより、監視画面作成支援装置3は、あるユーザUの監視画面の作成操作が他のユーザUが操作中の監視画面に強制的に反映されることを回避しつつ、複数のユーザUによる監視画面の作成作業を支援することができる。
図2は、実施の形態1にかかる監視画面の一例を示す図である。図2に示す監視画面90は、複数のシンボル911,912,913,914,915,916,917,918,919,9110,9111,9112,9113,9114,9115,9116,9117,9118,9119,9120,9121,9122,9123が配置される。
シンボル911,912,913,914は、ポンプの図形を示すシンボルであり、シンボル915,916,917は、電磁弁の図形を示すシンボルであり、シンボル918,919,9110は、タンクの図形を示すシンボルである。また、シンボル9111は、ブロワの図形を示すシンボルである。シンボル9112は、処理槽の図形を示すシンボルであり、シンボル9113は、気泡排出器の図形を示すシンボルである。
また、シンボル9114,9115,9116,9117,9118,9119,9120,9121,9122,9123は、配管の図形を示すシンボルである。以下、シンボル911〜9123の各々を個別に区別せずに示す場合、シンボル91と記載する場合がある。
以下、監視画面作成支援装置3の構成および動作について具体的に説明する。図3は、実施の形態1にかかる監視画面作成支援装置の構成の一例を示す図である。図3に示すように、実施の形態1にかかる監視画面作成支援装置3は、通信部10と、記憶部11と、処理部12とを備える。通信部10は、ネットワーク4に通信可能に接続され、ネットワーク4を介して複数の端末装置2の各々との間で情報の送受信を行う。
記憶部11は、履歴データ記憶部20と、シンボルデータ記憶部21と、振る舞いデータ記憶部22と、タグデータ記憶部23と、レイアウトデータ記憶部24とを備える。シンボルデータ記憶部21、振る舞いデータ記憶部22、タグデータ記憶部23、およびレイアウトデータ記憶部24によって、監視画面90の画面データが記憶される。
履歴データ記憶部20は、各端末装置2から監視画面作成支援装置3に過去に送信された処理要求に関するデータである履歴データを含む履歴データテーブルを記憶する。図4は、実施の形態1にかかる履歴データ記憶部に記憶される履歴データテーブルの一例を示す図である。図4に示すように、履歴データ記憶部20に記憶される履歴データテーブルは、「ユーザID(Identifier)」、「要求種別」、および「時間情報」を含み、これらの情報が互いに関連付けられている。
「ユーザID」は、各ユーザUに固有の識別情報である。「要求種別」は、端末装置2から送信され監視画面作成支援装置3で過去に処理された処理要求の種別を示すデータである。処理要求の種別には、送信要求と更新要求とがある。送信要求は、監視画面90を形成するための画面データの送信要求であり、更新要求は、監視画面90を形成するための画面データの更新要求である。
「時間情報」は、端末装置2から送信された処理要求に対する処理が監視画面作成支援装置3で実行された日時を示す情報である。処理要求に対する処理は、処理要求が送信要求である場合、画面データの送信処理であり、処理要求が更新要求である場合、画面データの更新処理である。
図4に示す履歴データテーブルには、「U001」と「更新要求」と「2020/12/21 10:55」とを含む履歴データと、「U002」と「送信要求」と「2020/12/21 10:35」とを含む履歴データと、「U001」と「送信要求」と「2020/12/21 10:00」とを含む履歴データとが含まれる。
シンボルデータ記憶部21は、各シンボル91のデータであるシンボルデータを含むシンボルデータテーブルを記憶する。図5は、実施の形態1にかかるシンボルデータ記憶部に記憶されるシンボルデータテーブルの一例を示す図である。図5に示すように、シンボルデータ記憶部21に記憶されるシンボルデータテーブルは、「シンボルID」、「部品ID」、「サイズ」、「配色」、「影」、「透明度」、「回転」、および「時間情報」などのシンボル91の属性を示す属性情報を含み、これらの情報が互いに関連付けられている。
「シンボルID」は、監視画面90に配置される各シンボル91に固有の識別情報である。「部品ID」は、各部品に固有の識別情報である。部品は、予め用意されているシンボル91用の部品であり、例えば、ポンプの部品、電磁弁の部品、ブロワの部品、処理槽の部品、または配管の部品などである。なお、部品は、円、矩形、直線、曲線、図形、ボタン、または3次元オブジェクトなどであってもよく、この場合、シンボル91は、1以上の部品によって作成される。
「サイズ」は、シンボル91のサイズの情報であり、「配色」は、シンボル91の色の情報であり、「影」は、シンボル91に設ける影の情報であり、「透明度」は、シンボル91の透明度である。また、「回転」は、シンボル91の回転角度の情報であり、「時間情報」は、シンボル91が作成または変更された時間の情報である。
図5に示すシンボルデータテーブルには、例えば、「S001」、「P01」、「10px」、「赤」、「有」、「10%」、「0deg」、および「2020/12/20 11:24」を含むシンボルデータと、「S002」、「P01」、「10px」、「赤」、「無」、「10%」、「0deg」、および「2020/12/20 11:35」を含むシンボルデータとが含まれる。また、図5に示すシンボルデータテーブルには、「S003」、「P03」、「10px」、「青」、「有」、「40%」、「90deg」、および「2020/12/21 19:55」を含むシンボルデータが含まれる。
振る舞いデータ記憶部22は、各シンボル91の振る舞いを定義するデータである振る舞いデータを含む振る舞いデータテーブルを記憶する。図6は、実施の形態1にかかる振る舞いデータ記憶部に記憶される振る舞いデータテーブルの一例を示す図である。図6に示すように、振る舞いデータ記憶部22に記憶される振る舞いデータテーブルは、「シンボルID」、「振る舞い定義」、および「時間情報」などを含み、これらの情報が互いに関連付けられている。
「シンボルID」は、図5に示す「シンボルID」と同じである。「振る舞い定義」は、タグデータによって特定される機器5から送信される監視データに従ってシンボル91の振る舞いをどのようにするかを定義する情報である。シンボル91の振る舞いは、例えば、シンボル91の色の変更、シンボル91の点滅の有無、またはシンボル91の絵柄または図形の切り替えなどである。「時間情報」は、シンボル91の振る舞いが作成または変更された時間の情報である。
図6に示す振る舞いデータテーブルには、「S001」、「If・・・」、および「2020/12/20 15:24」を含む振る舞いデータと、「S002」、「If・・・」、および「2020/12/21 7:12」を含む振る舞いデータと、「S003」、「If・・・」、および「2020/12/21 11:25」を含む振る舞いデータとが含まれる。なお、「If・・・」における「・・・」には、シンボル91の振る舞いを定義する情報が含まれる。
タグデータ記憶部23は、機器5を特定するタグデータとシンボルデータとがどのように割り付けられているかを定義したデータを含むタグデータテーブルを記憶する。図7は、実施の形態1にかかるタグデータ記憶部に記憶されるタグデータテーブルの一例を示す図である。図7に示すように、タグデータ記憶部23に記憶されるタグデータテーブルは、「タグデータ」、「シンボルID」、および「時間情報」などを含み、これらの情報が互いに関連付けられている。
「タグデータ」は、機器5を特定するデータであるタグデータである。「シンボルID」は、図5に示す「シンボルID」と同じである。「時間情報」は、シンボルデータとタグデータとの割り付けが設定または更新された時間の情報である。
図7に示すタグデータテーブルには、「T00001」、「S001」、および「2020/12/20 15:54」を含むデータと、「T00002」、「S012」、および「2020/12/21 9:13」を含むデータと、「T00003」、「S002」、および「2020/12/21 11:43」を含むデータとが含まれる。
レイアウトデータ記憶部24は、監視画面90上に配置される複数のシンボル91の位置を示す位置データを含むレイアウトデータテーブルを記憶する。図8は、実施の形態1にかかるレイアウトデータ記憶部に記憶されるレイアウトデータテーブルの一例を示す図である。図8に示すように、レイアウトデータ記憶部24に記憶されるレイアウトデータテーブルは、「シンボルID」、「left」、「top」、および「時間情報」などを含み、これらの情報が互いに関連付けられている。
「シンボルID」は、図5に示す「シンボルID」と同じである。「left」は、監視画面90の左端からの距離を表す情報である。「top」は、監視画面90の上端からの距離を表す情報である。「時間情報」は、シンボル91が監視画面90に設定または更新された時間の情報である。
図8に示すレイアウトデータテーブルには、「S001」、「40px」、「0px」、および「2020/12/20 17:54」を含むレイアウトデータと、「S002」、「30px」、「50px」、および「2020/12/21 12:13」を含むレイアウトデータと、「S003」、「80px」、「70px」、および「2020/12/21 14:16」を含むレイアウトデータとが含まれる。
なお、図5〜図8に示す各テーブルには、削除されたシンボル91に関する情報も含まれている。削除されたシンボル91に関する情報には、削除されたことを示す削除フラグが1に設定され、削除されていないシンボル91に関する情報には、削除フラグが0に設定される。端末装置2からの送信要求に対応して送信される画面データには、削除フラグが1に設定されたシンボル91に関する情報は含まれない。
次に、図3に示す監視画面作成支援装置3の処理部12について説明する。処理部12は、認証処理部30と、要求受付部31と、画面表示処理部32と、競合データ検出部33と、同期処理部34とを備える。
認証処理部30は、監視画面作成支援装置3にアクセスした端末装置2のユーザUの認証を行う。認証処理部30は、ユーザIDおよびパスワードをユーザU毎に管理しており、端末装置2から送信されるユーザUのユーザIDとパスワードに基づいて、ユーザUの認証を行う。
要求受付部31は、認証処理部30で認証されたユーザUの端末装置2から送信され通信部10で受信された処理要求を受け付ける。要求受付部31は、処理要求を受け付けた場合、受け付けた処理要求の履歴を示す履歴データを履歴データ記憶部20の履歴データテーブルに追加する。
画面表示処理部32は、要求受付部31によって受け付けられた処理要求が送信要求である場合、上述したシンボルデータ、振る舞いデータ、タグデータ、およびレイアウトデータを含む画面データを記憶部11から読み出す。画面表示処理部32は、読み出した画面データを送信要求の送信元の端末装置2へ通信部10に送信させ、画面データに基づく監視画面90を編集可能に端末装置2に表示させる。
端末装置2のユーザUは、端末装置2を操作して、画面データに基づく監視画面90を編集することができる。図9は、実施の形態1にかかる端末装置において監視画面エディタによって表示される監視画面においてシンボルが配置される様子を示す図である。
図9に示すように、ユーザUは、端末装置2に監視画面エディタによって監視画面エディタの画面であるエディタ画面80内に監視画面90が表示されている状態において、端末装置2を操作することによって、複数種類のシンボル候補を含むシンボル候補一覧92からシンボル候補を選択し、選択したシンボル候補をシンボル91として監視画面90に配置することができる。
また、端末装置2は、監視画面エディタによって、部品は、円、矩形、直線、曲線、図形、ボタン、または3次元オブジェクトなどの部品の一覧である部品一覧を表示させることができる。ユーザUは、端末装置2を操作することによって、部品一覧から1以上の部品を選択してシンボル91を作成し、作成したシンボル91を監視画面90に配置することもできる。
図10は、実施の形態1にかかる端末装置において監視画面エディタによってエディタ画面内に表示される監視画面に配置されたシンボルに対するデザイン設定が行われる様子を示す図である。図10に示すように、ユーザUは、端末装置2を操作することによって、シンボル91のデザインとして、サイズ、配色、影、透明度、および回転などを設定することができる。
図11は、実施の形態1にかかる端末装置において監視画面エディタによってエディタ画面内に表示される監視画面に配置されたシンボルに対する振る舞い定義の設定が行われる様子を示す図である。図11に示すように、ユーザUは、端末装置2を操作することによって、シンボル91に振る舞い定義を設定することができる。
図11に示す例では、タグデータ1が1である場合に、シンボル91が赤色で点滅し、タグデータ1が1ではない場合に、シンボル91が白色で点滅しないという定義が振る舞い定義としてシンボル91に設定されている。
図12は、実施の形態1にかかる端末装置において監視画面エディタによってエディタ画面内に表示される監視画面に配置されたシンボルに対するタグデータの設定が行われる様子を示す図である。図12に示すように、ユーザUは、端末装置2を操作することによって、シンボル91にタグデータを設定することができる。
図12に示す例では、ユーザUの操作によって、タグデータ1とタグデータ2とが、タグデータ一覧93の中から選択される様子が示される。図12に示すタグデータ一覧93には、タグデータとして、T00001、T00002、およびT00003などが含まれている。
このように、ユーザUは、端末装置2を操作することによって、監視画面エディタによってエディタ画面80内に表示される監視画面90を編集することができる。エディタ画面80には、更新ボタン81が配置されており、ユーザUは、端末装置2への操作によって更新ボタン81をクリックすることで、端末装置2から更新要求がネットワーク4を介して監視画面作成支援装置3へ送信される。
競合データ検出部33は、同一の画面データに基づく監視画面90が編集可能に表示された複数の端末装置2からの更新要求が要求受付部31によって受け付けられた場合に、画面データのうち複数の端末装置2からの更新要求間で更新対象が競合するデータである競合データを検出する。
例えば、競合データ検出部33は、同一の画面データに基づく監視画面90が表示された2つの端末装置2のうちの一方の端末装置2からの更新要求に基づいて画面データの更新が同期処理部34で行われた後、他方の端末装置2からの更新要求が要求受付部31で受け付けられた場合に、競合データを検出する処理を開始する。
また、競合データ検出部33は、画面データに基づく監視画面90が表示された複数の端末装置2からの更新要求が同時に要求受付部31によって受け付けられた場合、競合データを検出する処理を開始する。また、競合データ検出部33は、画面データに基づく監視画面90が表示された複数の端末装置2から順次送信される更新要求に対する更新処理が同期処理部34で行われていない場合、競合データを検出する処理を開始することもできる。
ここで、要求受付部31で更新要求が受け付けられる複数の端末装置2が端末装置21,22であり、履歴データテーブルが図4に示す状態であるとする。図4に示す例では、ユーザU1の端末装置21からの送信要求に対する処理が2020年12月21日の10時00分に実行され、ユーザU2の端末装置22からの送信要求に対する処理が2020年12月21日の10時35分に実行されている。
2020年12月21日の10時35分よりも前には、各ユーザUの端末装置2からの更新要求に対する処理が実行されておらず、端末装置21へ送信される画面データと端末装置22へ送信される画面データとは同一である。そのため、端末装置21,22に編集可能に表示される監視画面90は同一である。
また、図4に示す例では、端末装置21からの更新要求に対する処理が2020年12月21日の10時55分に実行されている。この場合、端末装置21からの更新要求に含まれる更新データに基づいて画面データが更新されており、端末装置22からの更新要求に含まれる更新データに基づいて画面データを更新されると、ユーザU1による編集結果がユーザU2による編集結果によって上書きされてしまう。
そこで、競合データ検出部33は、同一の画面データに基づく監視画面90が編集可能に表示された複数の端末装置21,22からの更新要求が要求受付部31によって受け付けられた場合に、競合データを検出する処理を行う。そして、同期処理部34は、競合データに基づいて監視画面90のうち更新対象の競合状態を示す情報を端末装置22に表示させ、端末装置22のユーザU2に更新要求に基づく画面データの更新を確定するか否かを選択させる。同期処理部34は、端末装置22のユーザU2が更新の確定を選択した場合に、端末装置22の更新要求に基づく画面データの更新を実行する。
これにより、ユーザU2は、ユーザU1による更新内容とユーザU2による更新内容とが競合する箇所を把握することができ、ユーザU2による更新内容で更新を行うか否かを判断することができる。そのため、複数のユーザUによる監視画面90の作成作業を適切に支援することができる。
また、同期処理部34は、さらに、監視画面90のうち更新対象の競合状態を示す情報を端末装置21に表示させ、端末装置21のユーザU1に端末装置22からの更新要求に基づく画面データの更新が実行されることを許可するか否かを選択させることもできる。この場合、同期処理部34は、端末装置21のユーザU1が許可を選択し、端末装置22のユーザU2が更新の確定を選択した場合に、端末装置22の更新要求に基づく画面データの更新を実行する。
同期処理部34は、表示処理部41と、更新処理部42とを備える。表示処理部41は、更新対象の競合状態を示す情報と、更新要求に基づく画面データの更新を確定するか否かを選択させるため複数のボタンの情報とを含む確認用画面を端末装置2に表示させる。表示処理部41は、例えば、画面データと同様に、確認用画面のデータを端末装置2に送信することで、端末装置2に確認用画面を表示させることができる。
図13は、実施の形態1にかかる端末装置において監視画面エディタによってエディタ画面内に表示される確認用画面の一例を示す図である。なお、以下において、ユーザUが編集中の監視画面90を監視画面90Aと記載し、同期処理部34で最後に更新された最新の監視画面90を監視画面90Bと記載する場合がある。
図13に示すエディタ画面80内には、ユーザUが編集中の監視画面90Aと最後に更新された最新の監視画面90Bとを含む確認用画面70が表示される。最新の監視画面90Bは、監視画面作成支援装置3に記憶された最新の画面データに基づく監視画面90であり、更新対象の競合状態を示す情報の一例である。
図13に示す確認用画面70では、ユーザUが編集中の監視画面90Aと最新の監視画面90Bとが並べて配置されており、ユーザUは、編集中の監視画面90Aと最新の監視画面90Bとを比較することで、編集中の監視画面90Aと最新の監視画面90Bとで更新が競合する箇所を把握することができる。
図13に示す確認用画面70では、ユーザUが編集中の監視画面90Aと最新の監視画面90Bとが並べて配置されるが、ユーザUが編集中の監視画面90Aと最新の監視画面90Bとは互いに異なるレイヤに配置して重ねて配置して重ねた画面を確認用画面70とすることもできる。この場合、例えば、編集中の監視画面90A上に最新の監視画面90Bの透過度を上げて重ねた画面を確認用画面70とすることもできる。また、最新の監視画面90B上に編集中の監視画面90Aの透過度を上げて重ねた画面を確認用画面70とすることもできる。また、編集中の監視画面90Aおよび最新の監視画面90Bのうち一方の画面の透過度を上げて他方の画面上に重畳配置する確認用画面において、一方の画面と他方の画面とを位置を少しずらして重ねた確認用画面を確認用画面70とすることもできる。
また、確認用画面70は、編集中の監視画面90Aを表示させるタブと最新の監視画面90Bを表示させるタブとを有し、ユーザUは、端末装置2への操作によって、これらのタブを交互に選択することで、編集中の監視画面90Aと最新の監視画面90Bとを交互に切り替えることができる。この場合、競合している箇所以外の領域は、編集中の監視画面90Aと最新の監視画面90Bとを交互に切り替えても変化がなく、競合している箇所は、編集中の監視画面90Aと最新の監視画面90Bとを交互に切り替えると変化する。そのため、ユーザUは、監視画面90における更新対象の競合状態を容易に把握することができる。
図13に示す確認用画面70では、編集継続ボタン73、更新確定ボタン74、および切替ボタン75が配置されている。編集継続ボタン73は、編集を続けるためのGUI(Graphical User Interface)ボタンである。更新確定ボタン74は、更新要求を確定させるためのGUIボタンである。切替ボタン75は、編集中の監視画面90Aを最新の監視画面90Bに切り替えるためのGUIボタンである。
端末装置2は、ユーザUによって編集継続ボタン73が操作された場合、更新取消要求を監視画面作成支援装置3へ送信する。監視画面作成支援装置3の同期処理部34は、更新取消要求が端末装置2から送信された場合、更新要求に基づく画面データの更新を行わない。
また、端末装置2は、ユーザUによって更新確定ボタン74が操作された場合、更新確定要求を監視画面作成支援装置3へ送信する。監視画面作成支援装置3の同期処理部34は、更新確定要求が端末装置2から送信された場合、更新要求に基づいて画面データを更新する。
また、端末装置2は、ユーザUによって切替ボタン75が操作された場合、送信要求を監視画面作成支援装置3へ送信する。これにより、監視画面作成支援装置3の画面表示処理部32は、送信要求が端末装置2から送信された場合、記憶部11に記憶された画面データを端末装置2へ送信する。端末装置2は、監視画面作成支援装置3から送信された画面データに基づいて最新の監視画面90Bを表示する。
図14は、実施の形態1にかかる端末装置において監視画面エディタによって表示される確認用画面の他の例を示す図である。図14に示す確認用画面70Aは、編集中の監視画面90において更新対象の競合箇所を強調する情報を更新対象の競合状態を示す情報として含み、且つ図13に示す確認用画面70と同様に、編集継続ボタン73、更新確定ボタン74、および切替ボタン75が配置されている。
図14に示す例では、最新の監視画面90Bとの間で更新が競合する更新対象としてシンボル912,915,918が枠線で囲まれて強調表示されている。また、シンボル912は、配色が赤から青に変更されていることが強調表示されている。また、シンボル915は、「S001」のシンボルから「S011」のシンボルに変更されたことが強調表示されている。また、シンボル918は、最新の監視画面90Bで追加されているが編集中の監視画面90Aでは削除されたシンボルであり、破線で強調表示されている。
なお、強調表示の方法は、上述した例に限定されず、同期処理部34は、シンボル91に付加される文字を太文字にしたり、シンボル91の大きさを大きくしたり、シンボル91を点滅させたりすることができる。シンボル91の振る舞いデータが競合する場合、確認用画面70,70Aにおいて、編集中の監視画面90Aの振る舞いと最新の監視画面90Bでの振る舞いとを交互に実行させることもできる。この場合、編集中の監視画面90Aの振る舞いと最新の監視画面90Bでの振る舞いかを示す文字がシンボル91に関連付けて表示される。
また、同期処理部34は、編集中の監視画面90Aと最新の監視画面90Bとでシンボル91の属性情報が競合する場合、競合する属性情報の内容を文字列で示す強調表示を行うことができる。また、同期処理部34は、編集中の監視画面90Aと最新の監視画面90Bとでシンボル91のタグデータが競合する場合、競合するタグデータの内容を文字列で示す強調表示を行うことができる。
図3に戻って、同期処理部34の説明を続ける。更新処理部42は、要求受付部31によって更新要求が受け付けられ且つ競合データ検出部33で競合データが検出されない場合、または、確認用画面70,70Aが送信された端末装置2から送信された更新確定要求が受け付けられた場合に、更新処理を実行する。更新処理は、要求受付部31によって受け付けられた更新要求に含まれる更新データに基づいて、記憶部11に記憶された画面データを更新する処理である。
更新処理は、画面データのうちユーザUによって追加、変更、または削除された更新対象のデータを更新することによって行われる。更新対象は、シンボルデータ、振る舞いデータ、シンボルへのタグデータの割り付け、またはレイアウトデータである。例えば、更新処理部42は、シンボル91の配置が変更された場合、レイアウトデータのうち配置が変更されたシンボル91の位置データと時間情報とを変更する。また、更新処理部42は、シンボル91が追加された場合、追加されたシンボル91の位置データと時間情報とをレイアウトデータに追加する。
また、更新処理部42は、シンボル91に振る舞い定義が割り付けられた場合、シンボル91と振る舞い定義とを対応付けたデータと時間情報とを振る舞いデータテーブルに追加する。また、更新処理部42は、シンボル91に割り付けられた振る舞い定義が変更された場合、振る舞いデータテーブルのうち振る舞い定義が変更されたシンボル91に割り付ける振る舞い定義を変更する。
また、更新処理部42は、シンボル91にタグデータが割り付けられた場合、シンボル91とタグデータとを対応付けたデータと時間情報とをタグデータテーブルに追加する。また、更新処理部42は、シンボル91に割り付けられたタグデータが変更された場合、タグデータテーブルのうちタグデータが変更されたシンボル91に割り付けるタグデータを変更する。
つづいて、フローチャートを用いて監視画面作成支援装置3の処理部12による処理を説明する。図15は、実施の形態1にかかる監視画面作成支援装置の処理部による処理の一例を示すフローチャートである。
図15に示すように、監視画面作成支援装置3の処理部12は、端末装置2からのアクセスがあった場合、ユーザUが認証済みであるか否かを判定する(ステップS10)。処理部12は、ユーザUが認証済みではないと判定した場合(ステップS10:No)、ユーザUの端末装置2に対して認証要求を送信する(ステップS11)。
処理部12は、ステップS11で送信した認証要求に対して端末装置2からの認証情報に基づいてユーザUの認証ができたか否かを判定する(ステップS12)。処理部12は、ユーザUの認証ができたと判定した場合(ステップS12:Yes)、または認証済みであると判定した場合(ステップS10:Yes)、端末装置2からの送信要求が通信部10で受信されたか否かを判定する(ステップS13)。
処理部12は、送信要求が通信部10で受信されたと判定した場合(ステップS13:Yes)、送信要求を受け付け、記憶部11に記憶された画像データに基づく監視画面90を、送信要求を送信した端末装置2に表示させる(ステップS14)。そして、処理部12は、履歴データ記憶部20に記憶された履歴データテーブルに送信要求に関する履歴データを追加して履歴データテーブルを更新する(ステップS15)。
処理部12は、ステップS15の処理が終了した場合、または送信要求が通信部10で受信されていないと判定した場合(ステップS13:No)、端末装置2からの更新要求が通信部10で受信されたか否かを判定する(ステップS16)。処理部12は、更新要求が通信部10で受信されたと判定した場合(ステップS16:Yes)、更新要求を受け付け、比較処理を行う(ステップS17)。ステップS17の処理は、図16に示すステップS30〜S36の処理であり、後で詳述する。
次に、処理部12は、画面データの競合フラグが1であるか否かを判定する(ステップS18)。処理部12は、画面データの競合フラグが1であると判定した場合(ステップS18:Yes)、競合時処理を実行する(ステップS19)。ステップS19の処理は、図21に示すステップS80〜S86の処理であり、後で詳述する。
処理部12は、競合フラグが1ではないと判定した場合(ステップS18:No)、更新要求に含まれる更新データに基づいて記憶部11に記憶された画面データを更新する(ステップS20)。そして、処理部12は、履歴データ記憶部20に記憶された履歴データテーブルに更新要求に関する履歴データを追加して履歴データテーブルを更新する(ステップS21)。
処理部12は、ステップS19の処理が終了した場合、ステップS21の処理が終了した場合、ユーザUの認証ができていないと判定した場合(ステップS12:No)、更新要求が通信部10で受信されていないと判定した場合(ステップS16:No)、図15に示す処理を終了する。
図16は、実施の形態1にかかる監視画面作成支援装置の処理部による比較処理の一例を示すフローチャートである。図16に示すように、処理部12は、画面データの競合フラグを初期化して、画面データの競合フラグを0にする(ステップS30)。
次に、処理部12は、シンボルデータについて画面データと更新データとを比較するシンボルデータ比較処理を行う(ステップS31)。ステップS31の処理は、図17に示すステップS40〜S43の処理であり、後で詳述する。
次に、処理部12は、振る舞いデータについて画面データと更新データとを比較する振る舞いデータ比較処理を行う(ステップS32)。ステップS32の処理は、図18に示すステップS50〜S53の処理であり、後で詳述する。
次に、処理部12は、シンボル91に割り付けられたタグデータについて画面データと更新データとを比較するタグデータ比較処理を行う(ステップS33)。ステップS33の処理は、図19に示すステップS60〜S63の処理であり、後で詳述する。
次に、処理部12は、レイアウトデータについて画面データと更新データとを比較するレイアウトデータ比較処理を行う(ステップS34)。ステップS34の処理は、図20に示すステップS70〜S73の処理であり、後で詳述する。
次に、処理部12は、競合データがあるか否かを判定する(ステップS35)。ステップS35において、処理部12は、シンボルデータの競合フラグ、振る舞いデータの競合フラグ、タグデータの競合フラグ、およびレイアウトデータの競合フラグのいずれか1つ以上の競合フラグが1である場合に、競合データがあると判定する。
処理部12は、競合データがあると判定した場合(ステップS35:Yes)、画面データの競合フラグを1に設定する(ステップS36)。処理部12は、ステップS36の処理が終了した場合、または競合データがないと判定した場合(ステップS35:No)、図16に示す処理を終了する。
図17は、実施の形態1にかかる監視画面作成支援装置の処理部によるシンボルデータ比較処理の一例を示すフローチャートである。図17に示すように、処理部12は、シンボルデータの競合フラグを初期化して、シンボルデータの競合フラグを0にする(ステップS40)。
次に、処理部12は、更新要求を送信した端末装置2からの最新の送信要求に対する画面データの送信処理の日時である送信処理日時を示す時間情報を記憶部11に記憶された履歴データテーブルの中から取得する(ステップS41)。例えば、更新要求を送信した端末装置2がユーザU2の端末装置22であり、履歴データテーブルが図4に示す状態の場合、処理部12は、時間情報として、「2020/12/21 10:35」の情報を取得する。
次に、処理部12は、ステップS41で取得した時間情報で特定される送信処理日時よりも後にシンボルデータの更新があるか否かを判定する(ステップS42)。例えば、シンボルデータテーブルが図5に示す状態であり、ステップS41で、「2020/12/21 10:35」の情報が時間情報として取得された場合、「S003」のシンボルIDを含むシンボルデータが、送信処理日時よりも後に更新されたと判定する。
処理部12は、送信処理日時よりも後にシンボルデータの更新があると判定した場合(ステップS42:Yes)、シンボルデータの競合フラグを1に設定する(ステップS43)。処理部12は、ステップS43の処理が終了した場合、または送信処理日時よりも後にシンボルデータの更新がないと判定した場合(ステップS42:No)、図17に示す処理を終了する。
図18は、実施の形態1にかかる監視画面作成支援装置の処理部による振る舞いデータ比較処理の一例を示すフローチャートである。図18に示すように、処理部12は、振る舞いデータの競合フラグを初期化して、振る舞いデータの競合フラグを0にする(ステップS50)。
次に、処理部12は、ステップS41の処理と同様に、更新要求を送信した端末装置2からの最新の送信要求に対する画面データの送信処理の日時である送信処理日時を示す時間情報を記憶部11に記憶された履歴データテーブルの中から取得する(ステップS51)。
次に、処理部12は、ステップS51で取得した時間情報で特定される送信処理日時よりも後に振る舞いデータの更新があるか否かを判定する(ステップS52)。例えば、振る舞いデータテーブルが図6に示す状態であり、ステップS51で、「2020/12/21 10:35」の情報が時間情報として取得された場合、「S003」のシンボルIDを含む振る舞いデータが、送信処理日時よりも後に更新されたと判定する。
処理部12は、送信処理日時よりも後に振る舞いデータの更新があると判定した場合(ステップS52:Yes)、振る舞いデータの競合フラグを1に設定する(ステップS53)。処理部12は、ステップS53の処理が終了した場合、または送信処理日時よりも後に振る舞いデータの更新がないと判定した場合(ステップS52:No)、図18に示す処理を終了する。
図19は、実施の形態1にかかる監視画面作成支援装置の処理部によるタグデータ比較処理の一例を示すフローチャートである。図19に示すように、処理部12は、タグデータの競合フラグを初期化して、タグデータの競合フラグを0にする(ステップS60)。
次に、処理部12は、ステップS41の処理と同様に、更新要求を送信した端末装置2からの最新の送信要求に対する画面データの送信処理の日時である送信処理日時を示す時間情報を記憶部11に記憶された履歴データテーブルの中から取得する(ステップS61)。
次に、処理部12は、ステップS61で取得した時間情報で特定される送信処理日時よりも後にタグデータの更新があるか否かを判定する(ステップS62)。例えば、タグデータテーブルが図7に示す状態であり、ステップS61で、「2020/12/21 10:35」の情報が時間情報として取得された場合、「T00003」のタグデータが、送信処理日時よりも後に更新されたと判定する。
処理部12は、送信処理日時よりも後にタグデータの更新があると判定した場合(ステップS62:Yes)、タグデータの競合フラグを1に設定する(ステップS63)。処理部12は、ステップS63の処理が終了した場合、または送信処理日時よりも後にタグデータの更新がないと判定した場合(ステップS62:No)、図19に示す処理を終了する。
図20は、実施の形態1にかかる監視画面作成支援装置の処理部によるレイアウトデータ比較処理の一例を示すフローチャートである。図20に示すように、処理部12は、レイアウトデータの競合フラグを初期化して、レイアウトデータの競合フラグを0にする(ステップS70)。
次に、処理部12は、ステップS41の処理と同様に、更新要求を送信した端末装置2からの最新の送信要求に対する画面データの送信処理の日時である送信処理日時を示す時間情報を記憶部11に記憶された履歴データテーブルの中から取得する(ステップS71)。
次に、処理部12は、ステップS71で取得した時間情報で特定される送信処理日時よりも後にレイアウトデータの更新があるか否かを判定する(ステップS72)。例えば、レイアウトデータテーブルが図8に示す状態であり、ステップS71で、「2020/12/21 10:35」の情報が時間情報として取得された場合、「S002」のデータと、「S003」のデータとが、送信処理日時よりも後に更新されたと判定する。
処理部12は、送信処理日時よりも後にレイアウトデータの更新があると判定した場合(ステップS72:Yes)、レイアウトデータの競合フラグを1に設定する(ステップS73)。処理部12は、ステップS73の処理が終了した場合、または送信処理日時よりも後にレイアウトデータの更新がないと判定した場合(ステップS72:No)、図20に示す処理を終了する。
図21は、実施の形態1にかかる監視画面作成支援装置の処理部による競合時処理の一例を示すフローチャートである。図21に示すように、処理部12は、競合状態を示す情報を含む確認用画面を、送信要求を送信した端末装置2に表示させる(ステップS80)。
その後、処理部12は、送信要求を送信した端末装置2からの更新確定要求が通信部10で受信されたか否かを判定する(ステップS81)。処理部12は、更新確定要求が受信されたと判定した場合(ステップS81:Yes)、更新確定要求を受け付け、更新要求に含まれる更新データに基づいて画面データを更新する(ステップS82)。そして、処理部12は、履歴データ記憶部20に記憶された履歴データテーブルに更新要求に関する履歴データを追加して履歴データテーブルを更新する(ステップS83)。
また、処理部12は、更新確定要求が受信されていないと判定した場合(ステップS81:No)、送信要求を送信した端末装置2からの送信要求が通信部10で受信されたか否かを判定する(ステップS84)。処理部12は、送信要求が受信されたと判定した場合(ステップS84:Yes)、送信要求を受け付け、記憶部11から最新の画面データを取得し、取得した画面データを、送信要求を送信した端末装置2へ送信する(ステップS85)。
また、処理部12は、送信要求が受信されていないと判定した場合(ステップS84:No)、送信要求を送信した端末装置2からの更新取消要求が通信部10で受信されたか否かを判定する(ステップS86)。処理部12は、更新取消要求が受信されていないと判定した場合(ステップS86:No)、処理をステップS81に移行する。
処理部12は、ステップS83の処理が終了した場合、ステップS85の処理が終了した場合、または更新取消要求が受信されたと判定した場合(ステップS86:Yes)、図21に示す処理を終了する。
図22は、実施の形態1にかかる監視画面作成支援装置のハードウェア構成の一例を示す図である。図22に示すように、監視画面作成支援装置3は、プロセッサ101と、メモリ102と、通信装置103とを備えるコンピュータを含む。プロセッサ101、メモリ102、および通信装置103は、例えば、バス104によって互いに情報の送受信が可能である。
記憶部11は、メモリ102によって実現される。通信部10は、通信装置103で実現される。プロセッサ101は、メモリ102に記憶されたプログラムを読み出して実行することによって、処理部12の機能を実行する。プロセッサ101は、例えば、処理回路の一例であり、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、およびシステムLSI(Large Scale Integration)のうち一つ以上を含む。
メモリ102は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、およびEEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)のうち一つ以上を含む。また、メモリ102は、コンピュータが読み取り可能なプログラムが記録された記録媒体を含む。かかる記録媒体は、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルメモリ、光ディスク、コンパクトディスク、およびDVD(Digital Versatile Disc)のうち一つ以上を含む。なお、監視画面作成支援装置3は、ASIC(Application Specific Integrated Circuit)およびFPGA(Field Programmable Gate Array)などの集積回路を含んでいてもよい。
監視画面作成支援装置3は、2以上の装置を有する構成であってもよい。監視画面作成支援装置3は、2以上のサーバ装置で構成されてもよい。例えば、監視画面作成支援装置3は、処理サーバと、データサーバとで構成されてもよい。監視画面作成支援装置3が2以上の装置で構成される場合、2以上の装置の各々は、例えば、図22に示すハードウェア構成を有する。なお、2以上の装置間の通信は、通信装置103を介して行われる。
なお、ユーザUは、複数の競合箇所がある場合、端末装置2への操作によって、更新する競合箇所を選択することができる。同期処理部34は、複数の競合箇所のうちユーザUが選択した競合箇所のみを追加、変更、または削除を行うことができる。この場合、端末装置2は、複数の競合箇所のうちユーザUが選択した競合箇所の情報を含む更新確定要求が端末装置2から監視画面作成支援装置3へ送信される。
また、ユーザUは、編集した画面データのうち一部のデータの変更ができないようにロックをかけることができる。例えば、ユーザUは、端末装置2を操作してロックをかけるデータを指定する。この場合、端末装置2は、指定されたデータの情報を含む更新要求を監視画面作成支援装置3へ送信する。同期処理部34は、指定されたデータが編集できないことを示すフラグとロックをかけたユーザUのユーザIDとを記憶部11に記憶されたデータテーブルに追加する。この場合、同期処理部34の表示処理部41は、エディタ画面80内に表示される確認用画面70,70Aに、ロックをかけたユーザUのユーザIDとともに編集できないデータの情報を含めることができる。同期処理部34の更新処理部42は、ロックをかけたユーザU以外のユーザUの端末装置2から更新を行わない。
以上のように、実施の形態1にかかる監視画面作成支援装置3は、記憶部11と、画面表示処理部32と、要求受付部31と、競合データ検出部33と、同期処理部34とを備える。記憶部11は、監視制御システム1で用いられる監視画面90のデータである画面データを記憶する。画面表示処理部32は、互いに異なるユーザUが操作する複数の端末装置2に画面データに基づく監視画面90を編集可能に表示させる。要求受付部31は、画面表示処理部32によって監視画面90が編集可能に表示された複数の端末装置2から監視画面90の更新要求を受け付ける。競合データ検出部33は、要求受付部31によって複数の端末装置2から更新要求が受け付けられた場合に、画面データのうち複数の端末装置2からの更新要求間で更新対象が競合するデータである競合データを検出する。同期処理部34は、競合データ検出部33によって競合データが検出された場合に、更新対象の競合状態を示す情報を複数の端末装置2のうちの少なくとも1つの端末装置2に表示させ、少なくとも1つの端末装置2のユーザUに更新要求に基づく画面データの更新を確定するか否かを選択させる。これにより、監視画面作成支援装置3は、あるユーザUの監視画面90の作成操作が他のユーザUが操作中の監視画面90に強制的に反映されることを回避しつつ、複数のユーザUによる監視画面90の作成作業を支援することができる。
また、競合データ検出部33は、複数の端末装置2のうち少なくとも1つの端末装置2以外の端末装置2からの更新要求に基づいて画面データの更新が行われた後、少なくとも1つの端末装置2からの更新要求が要求受付部31で受け付けられた場合に、競合データを検出する処理を開始する。これにより、監視画面作成支援装置3は、更新対象が競合する複数の更新要求のうち1つの更新要求に基づいて、画面データが更新された場合において、画面データの更新を確定するか否かを選択させることができる。そのため、監視画面作成支援装置3は、複数のユーザUによる監視画面90の作成作業を支援することができる。
また、同期処理部34は、少なくとも1つの端末装置2のユーザUによる画面データの更新を確定する選択に基づいて画面データを更新する際に、画面データのうち更新要求によって変更、追加、または削除したデータに時間情報を付加する。時間情報は、更新時間の情報の一例である。競合データ検出部33は、同期処理部34に付加された時間情報に基づいて、競合データを検出する。これにより、監視画面作成支援装置3は、更新対象が競合するか否かを適切に判定することができる。
また、画面データは、監視画面90に配置されるシンボル91を示すシンボルデータ、シンボル91の振る舞いを規定する振る舞いデータ、シンボル91に対応付けられる機器5を示すタグデータ、およびシンボル91のレイアウトを示すレイアウトデータのうち少なくとも1つのデータを含む。競合データ検出は、少なくとも1つのデータから競合データを検出する。これにより、監視画面作成支援装置3は、更新対象が競合するか否かを適切に判定することができる。
また、同期処理部34は、少なくとも1つの端末装置2で編集中の監視画面90Aと、記憶部11に記憶された画面データに基づく最新の監視画面90Bとを、更新対象の競合状態を示す情報として含む画面を確認用画面70として少なくとも1つの端末装置2に表示させる。これにより、ユーザUは、編集中の監視画面90Aと最新の監視画面90Bとを比較することで、編集中の監視画面90Aと最新の監視画面90Bとで更新が競合する箇所を把握することができる。
また、同期処理部34は、編集中の監視画面90Aと画面データに基づく最新の監視画面90Bとを互いに異なるレイヤに配置して重ねた画面を確認用画面70,70Aとして少なくとも1つの端末装置2に表示させる。これにより、ユーザUは、編集中の監視画面90Aと最新の監視画面90Bとを比較することで、編集中の監視画面90Aと最新の監視画面90Bとで更新が競合する箇所を把握することができる。
また、同期処理部34は、少なくとも1つの端末装置2で編集中の監視画面90Aにおいて競合データを強調する情報を更新対象の競合状態を示す情報として含む確認用画面70Aを少なくとも1つの端末装置2に表示させる。これにより、ユーザUは、競合データを強調する情報によって、編集中の監視画面90Aと最新の監視画面90Bとで更新が競合する箇所を把握することができる。
また、同期処理部34は、編集を続けるための編集継続ボタン73、更新要求を確定させるための更新確定ボタン74、および最新の監視画面90Bを表示させるための切替ボタン75を含む画面を確認用画面70,70Aとして少なくとも1つの端末装置2に表示させる。これにより、ユーザUは、編集継続ボタン73、更新確定ボタン74、および切替ボタン75のうち必要に応じたボタンを選択することができる。そのため、監視画面作成支援装置3は、複数のユーザUによる監視画面90の作成作業をより効果的に支援することができる。
実施の形態2.
実施の形態2にかかる監視画面作成支援装置は、各データテーブルの各カラムにさらにユーザIDが追加され、ユーザ独自の画面データを監視画面作成支援装置に記憶することができる点で、実施の形態1にかかる監視画面作成支援装置3と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1の監視画面作成支援装置3と異なる点を中心に説明する。
図23は、実施の形態2にかかる監視画面作成支援装置の構成の一例を示す図である。図23に示すように、実施の形態2にかかる監視画面作成支援装置3Aは、記憶部11および処理部12に代えて、記憶部11Aおよび処理部12Aを備える点で、監視画面作成支援装置3と異なる。
記憶部11Aは、シンボルデータ記憶部21、振る舞いデータ記憶部22、タグデータ記憶部23、およびレイアウトデータ記憶部24に代えて、シンボルデータ記憶部21A、振る舞いデータ記憶部22A、タグデータ記憶部23A、およびレイアウトデータ記憶部24Aを備える点で、記憶部11と異なる。
シンボルデータ記憶部21Aに記憶されるシンボルデータテーブルの各カラムには、「ユーザID」が追加される。同様に振る舞いデータ記憶部22Aに記憶される振る舞いデータテーブルの各カラムには、「ユーザID」が追加され、タグデータ記憶部23Aに記憶されるタグデータテーブルの各カラムには、「ユーザID」が追加される。また、レイアウトデータ記憶部24Aに記憶されるレイアウトデータテーブルの各カラムには、「ユーザID」が追加される。
ここで、監視制御システム1の監視画面90の画面データとして用いられる画面データを共有画面データとし、ユーザU独自の画面データをユーザ画面データとする。シンボルデータテーブル、振る舞いデータテーブル、タグデータテーブル、およびレイアウトデータテーブルにおいて、共有画面データに含まれるデータでは、「ユーザID」にユーザIDが追加されず、ユーザ画面データに含まれるデータでは、「ユーザID」にユーザIDが追加される。
処理部12Aは、画面表示処理部32および同期処理部34に代えて、画面表示処理部32Aおよび同期処理部34Aを備える点で、処理部12と異なる。画面表示処理部32Aは、要求受付部31によって受け付けられた送信要求が共有画面データの送信要求である場合、共有画面データの送信要求を送信した端末装置2に共有画面データに基づく監視画面90を編集可能に表示させる。また、画面表示処理部32Aは、要求受付部31によって受け付けられた送信要求がユーザ画面データの送信要求である場合、ユーザ画面データの送信要求を送信した端末装置2にユーザ画面データに基づく監視画面90を編集可能に表示させる。
同期処理部34Aは、表示処理部41および更新処理部42に代えて、表示処理部41Aおよび更新処理部42Aを備える点で、同期処理部34と異なる。表示処理部41Aは、更新対象の競合状態を示す情報と、更新要求に基づく画面データの更新に対する処理内容に応じた複数のボタンの情報とを含む確認用画面70を端末装置2に表示させる。かかる確認用画面70に配置される複数のボタンには、ユーザ画面データの更新要求を送信するためのボタンが含まれる。
図24は、実施の形態2にかかる端末装置において監視画面エディタによってエディタ画面内に表示される確認用画面の一例を示す図である。図24に示す確認用画面70には、図13に示す確認用画面70にさらにユーザ保存ボタン76が配置される。ユーザ保存ボタン76は、ユーザ画面データを監視画面作成支援装置3Aに記憶させるGUIボタンである。
端末装置2は、ユーザUによってユーザ保存ボタン76が操作された場合、ユーザ画面データの更新要求を監視画面作成支援装置3Aへ送信する。同期処理部34Aの更新処理部42Aは、ユーザ画面データの更新要求が端末装置2から送信された場合、ユーザ画面データの更新要求に基づいてユーザ画面データを更新する。
また、端末装置2は、ユーザUによって更新確定ボタン74が操作された場合、共有画面データの更新要求を監視画面作成支援装置3Aへ送信する。同期処理部34Aの更新処理部42Aは、共有画面データの更新要求が端末装置2から送信された場合、共有画面データの更新要求に基づいて共有画面データを更新する。
このように、監視画面作成支援装置3Aは、共有管理する前に画面データであるユーザ画面データを一時的に登録することができるため、作成途中で中断したシンボル91を含む監視画面90の画面データ、または全体共有する必要のない試作段階のシンボル91を含む監視画面90の画面データなどを管理することができる。なお、表示処理部41Aによって表示される確認用画面は、表示処理部41の場合と同様に、図24に示す確認用画面70に限定されない。
実施の形態2にかかる監視画面作成支援装置3Aの処理部12Aのハードウェア構成例は、図22に示す監視画面作成支援装置3の処理部12のハードウェア構成と同じである。プロセッサ101は、メモリ102に記憶されたプログラムを読み出して実行することによって、処理部12Aの機能を実行することができる。
以上のように、実施の形態2にかかる監視画面作成支援装置3Aにおいて、同期処理部34Aは、複数のユーザUで共有される画面データである共有画面データに加え、複数の端末装置2から送信される要求に基づいて、ユーザU毎に個別に編集可能な監視画面90のデータであるユーザ画面データを生成または更新する。これにより、監視画面作成支援装置3Aは、共有管理する前に画面データであるユーザ画面データを一時的に登録することができるため、作成途中で中断したシンボル91を含む監視画面90の画面データ、全体共有する必要のない試作段階のシンボル91を含む監視画面90の画面データを管理することができる。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。