以下に、本発明の実施の形態にかかるエンジニアリング支援装置、エンジニアリング支援方法、およびエンジニアリング支援プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかるエンジニアリング支援装置を含むエンジニアリングシステムの構成例を示す図である。図1に示すように、エンジニアリングシステム100は、エンジニアリング支援装置1と、端末装置21,22,8と、監視制御システム31,32とを含む。
監視制御システム31,32は、開発中の監視制御システムであり、互いに異なる用途に用いられる。用途が異なるとは、一部または全部の機能、および適用先のうち少なくとも一つが異なることを意味する。適用先とは、監視制御システムの設置先を意味する。
監視制御システム31,32は、共通に適用されるソフトウェアモジュールである共通ソフトウェアモジュールを搭載しており、かかる共通ソフトウェアモジュールによる処理によって施設または設備の状態を監視および制御する。以下、共通ソフトウェアモジュールを共通SWモジュールと記載する場合がある。共通SWモジュールは、OS(Operating System)およびミドルウェアのうち少なくとも一つのソフトウェアを含む。
監視制御システム31は、企業Aで開発中のシステムであり、施設または設備の監視および制御を行う監視制御システムである。監視制御システム32は、企業Bで開発中のシステムであり、施設または設備の監視および制御を行う監視制御システムである。なお、監視制御システム31,32は、施設または設備の監視および施設または設備の制御のいずれか一方のみを行うシステムであってもよい。
端末装置21と監視制御システム31とは、イントラネット41を介して互いに接続されており、端末装置21は、ルータ51およびネットワーク6を介して、エンジニアリング支援装置1と通信可能である。同様に、端末装置22と監視制御システム32とは、イントラネット42を介して互いに接続されており、端末装置22は、ルータ52およびネットワーク6を介して、エンジニアリング支援装置1と通信可能である。
端末装置8は、共通SWモジュールを開発する企業Cの端末装置であり、エンジニアリング支援装置1に共通SWモジュールの変換規則情報をアップロードすることができる。エンジニアリング支援装置1は、端末装置8から送信される変換規則情報を記憶し、かかる変換規則情報に基づいて設定ファイルを作成する。
エンジニアリング支援装置1は、企業A,Bにおける監視制御システム31,32のエンジニアリングを支援する装置であり、共通SWモジュールの設定ファイルの作成および管理を含む機能を有する。エンジニアリング支援装置1は、クラウドサーバであり、ネットワーク6を介して、端末装置21,22,8と通信可能に接続される。かかるエンジニアリング支援装置1は、端末装置21,22から要求があった場合に、監視制御システム31,32の設定ファイルを作成する。
企業Aの従業員は、端末装置21を操作することで、端末装置21からエンジニアリング支援装置1にアクセスし、設定ファイルの作成を要求する。エンジニアリング支援装置1は、端末装置21から要求があった場合に、監視制御システム31の設定ファイルを作成し、作成した監視制御システム31の設定ファイルを端末装置21へ送信する。企業Aの従業員は、端末装置21によって設定ファイルを取得し、監視制御システム31に設定することができる。
同様に、企業Bの従業員は、端末装置22を操作することで、エンジニアリング支援装置1によって作成された設定ファイルを端末装置22によって取得し、監視制御システム32に設定することができる。
エンジニアリング支援装置1は、作成した監視制御システム31,32の設定ファイルを記憶して管理することができる。したがって、企業A,Bは、監視制御システム31,32の設定ファイルの管理にかかる時間を削減することができる。
また、共通SWモジュールは、複数の企業A,Bで用いられることから、一つのエンジニアリング支援装置1によって、効率的に監視制御システムの設定ファイルの管理にかかる時間を削減することができる。なお、以下において、監視制御システム31,32を総称して、監視制御システム3と記載する場合があり、端末装置21,22を総称して、端末装置2と記載する場合がある。
図1に示すように、エンジニアリング支援装置1は、通信部10と、記憶部20と、処理部30とを備える。通信部10は、ネットワーク6に接続され、ネットワーク6を介して端末装置2および端末装置8との間で情報の送受信を行う。記憶部20は、変換規則記憶部21と、設定ファイル記憶部22とを備える。処理部30は、システム情報入力部31と、設定ファイル作成部32と、設定ファイル出力部33とを備える。
変換規則記憶部21は、システム情報を監視制御システム3の設定ファイルへ変換する変換規則情報を記憶する。システム情報は、監視制御システム3の構成を定義する情報であり、各種の情報を含む。例えば、システム情報には、監視制御システム3を構成する機器の情報、2重系の情報、センサ使用の有無を示す情報、および時刻基準であるか否かの情報といった情報が含まれる。
設定ファイル記憶部22は、処理部30によって作成された設定ファイルを記憶する。設定ファイルは、上述したシステム情報が監視制御システム3で使用可能なデータに変換されて生成されたファイルである。かかる設定ファイルは、テキストデータであるが、テキストデータ以外であってもよい。
システム情報入力部31は、システム情報を外部装置である端末装置2からネットワーク6を介して取得する。かかるシステム情報は、データの各項目をカンマで区切ったCSV(Character-Separated Values)形式のデータであるが、データの各項目をスペースまたはタブで区切った形式のデータであってもよく、また、システム情報は、表計算ソフト形式のデータであってもよい。システム情報は、監視制御システム3で使用される形式のデータであればよい。
設定ファイル作成部32は、システム情報入力部31によって取得されたシステム情報に基づいて、設定ファイルを作成する。設定ファイル作成部32は、変換規則記憶部21に記憶された変換規則情報によってシステム情報を設定ファイルへ変換することで、システム情報から設定ファイルを生成する。設定ファイル作成部32は、生成した設定ファイルを設定ファイル記憶部22に記憶する。
設定ファイル出力部33は、設定ファイル記憶部22に記憶された設定ファイルを、システム情報を入力した端末装置2へネットワーク6を介して出力する。また、設定ファイル出力部33は、設定ファイルが設定ファイル記憶部22に記憶された後、端末装置2から要求があった場合に、要求元の端末装置2へ設定ファイルを出力することができる。したがって、監視制御システムの開発を行う企業の従業員は、監視制御システム3の設定ファイルをクラウドサーバであるエンジニアリング支援装置1で管理させることができ、設定ファイルの管理にかかる時間を削減することができる。
以下、エンジニアリング支援装置1の構成および処理についてさらに具体的に説明する。なお、監視制御システム3の開発を行う企業A,Bの従業員を総称してユーザUと記載する場合があり、共通SWモジュールの開発を行う企業Cの従業員を提供者Pと記載する場合がある。また、企業Aの従業員をユーザU1と記載し、企業Bの従業員をユーザU2と記載する場合がある。
図2は、実施の形態1にかかるエンジニアリング支援装置1の構成の一例を示す図である。図2に示すエンジニアリング支援装置1は、通信部10と、記憶部20と、処理部30とを備える。通信部10は、上述したように、ネットワーク6に接続され、ネットワーク6を介して端末装置2および端末装置8との間で情報の送受信を行う。
記憶部20は、上述した変換規則記憶部21および設定ファイル記憶部22に加え、さらに、システム情報履歴記憶部23と、共通ソフトウェアモジュール記憶部24と、アプリケーションモジュール記憶部25と、パッケージ情報記憶部26とを備える。なお、以下において、共通ソフトウェアモジュール記憶部24を共通SWモジュール記憶部24と記載する場合がある。
変換規則記憶部21は、変換規則情報テーブルを記憶する。図3は、変換規則記憶部21に記憶される変換規則情報テーブル51の一例を示す図である。図3に示す変換規則情報テーブル51は、モジュールIDと、バージョンと、変換規則情報とが関連付けられた情報を含む。
「モジュールID」は、共通SWモジュールの種別を示す識別情報であり、「バージョン」は、共通SWモジュールのバージョンを示す情報であり、「変換規則情報」は、変換規則情報のデータ自体または格納場所を示すデータである。変換規則情報の格納場所は、変換規則記憶部21の記憶領域である。
図3に示す例では、モジュールID「CM101」に、バーション「Ver.1」と、変換規則情報「CONV-CM101-1.data」とが関連付けられている。また、モジュールID「CM101」に、バーション「Ver.2」と、変換規則情報「CONV-CM101-2.data」とが関連付けられ、バーション「Ver.3」と、変換規則情報「CONV-CM101-3.data」とが関連付けられている。
また、モジュールID「CM102」に、バーション「Ver.1」と、変換規則情報「CONV-CM102-1.data」とが関連付けられ、バーション「Ver.2」と、変換規則情報「CONV-CM102-2.data」とが関連付けられている。
このように、変換規則記憶部21は、変換規則情報がモジュールID毎およびバージョン毎に記憶されている。なお、図3に示す変換規則情報テーブル51は一例であって、変換規則情報がモジュールIDおよびバージョンの組み合わせ毎に記憶されていればよい。
設定ファイル記憶部22は、設定ファイルテーブルを記憶する。図4は、設定ファイル記憶部22に記憶される設定ファイルテーブル52の一例を示す図である。図4に示す設定ファイルテーブル52は、ユーザIDと、モジュールIDと、バージョンと、設定ファイルとが関連付けられた情報を含む。
「ユーザID」は、ユーザUの識別情報であり、図4に示す例では、企業Aの従業員のユーザIDは「U101」であり、企業Bの従業員のユーザIDは「U102」である。図4の「モジュールID」および「バージョン」は、図3の「モジュールID」および「バージョン」と同じである。
「設定ファイル」は、設定ファイルのデータ自体または格納場所を示すデータである。設定ファイルの格納場所は、設定ファイル記憶部22の記憶領域である。なお、図4に示す例では、設定ファイルのデータは、テキストデータであるが、テキストデータ以外のデータであってもよい。
図4に示す例では、ユーザID「U101」およびモジュールID「CM101」の組み合わせに、バーション「Ver.1」と、設定ファイル「U101-CM101-1.txt」とが関連付けられ、バーション「Ver.2」と、設定ファイル「U101-CM101-2.txt」とが関連付けられている。同様に、ユーザID「U102」およびモジュールID「CM101」の組み合わせに、バーションと、設定ファイルとが関連付けられている。
このように、設定ファイル記憶部22は、設定ファイルが共通SWモジュールの種別とバージョンとに関連付けられて記憶されている。なお、図4に示す設定ファイルテーブル52は一例であって、設定ファイルがモジュールIDとバージョンとに関連付けられていればよい。また、設定ファイルテーブル52は、各設定ファイルが作成された日付を含むが、図4に示す例では省略している。
システム情報履歴記憶部23は、システム情報入力部31によって取得されたシステム情報の履歴であるシステム情報入力履歴を記憶する。図5は、システム情報履歴記憶部23に記憶されるシステム情報入力履歴53の一例を示す図である。図5に示すシステム情報入力履歴53は、ユーザIDと、モジュールIDと、バージョンと、システム情報と、日付とが関連付けられた情報を含む。
図5の「ユーザID」、「モジュールID」および「バージョン」は、図4の「ユーザID」、「モジュールID」および「バージョン」と同じである。「システム情報」は、システム情報のデータ自体または格納場所を示すデータである。システム情報の格納場所は、システム情報履歴記憶部23の記憶領域である。かかるシステム情報のデータは、図5に示す例では、CSV形式のデータであるが、システム情報のデータは、上述したように、CSV形式以外のデータであってもよい。「日付」は、システム情報がエンジニアリング支援装置1に入力された日付を示すデータである。
図5に示す例では、ユーザID「U101」およびモジュールID「CM101」の組み合わせに、バーション「Ver.1」と、システム情報「U101-CM101-1.csv」と、日付「2017/5/13」とが関連付けられ、バーション「Ver.2」と、システム情報「U101-CM101-2.csv」と、日付「2017/6/28」とが関連付けられている。同様に、ユーザID「U102」およびモジュールID「CM101」の組み合わせに、バーションと、システム情報とが関連付けられている。
このように、システム情報履歴記憶部23は、過去に入力されたシステム情報が共通SWモジュールの種別とバージョンとに関連付けられて記憶されている。なお、図5に示すシステム情報入力履歴53は一例であって、システム情報がモジュールIDとバージョンとに関連付けられていればよい。
図5に示す例では、共通SWモジュールの種別とバージョンとの組み合わせに対して、一つのシステム情報が関連付けられているが、かかる例に限定されない。共通SWモジュールの一つのバージョンに対して異なるシステム情報が入力される場合があり、この場合、システム情報入力履歴53において、共通SWモジュールの種別とバージョンとの組み合わせに対して、複数のシステム情報が関連付けられる。
共通SWモジュール記憶部24は、端末装置8から後述する登録処理部35によって取得された共通SWモジュールを記憶する。図6は、共通SWモジュール記憶部24に記憶される共通SWモジュールテーブル54の一例を示す図である。図5に示す共通SWモジュールテーブル54はモジュールIDと、バージョンと、モジュールデータと、日付とが関連付けられた情報を含む。
図6の「モジュールID」および「バージョン」は、図5の「モジュールID」および「バージョン」と同じである。「モジュールデータ」は、共通SWモジュールのデータ自体または格納場所を示すデータである。共通SWモジュールの格納場所は、共通SWモジュール記憶部24の記憶領域である。「日付」は、エンジニアリング支援装置1に共通SWモジュールが登録された日付である。
図6に示す例では、モジュールID「CM101」に、バーション「Ver.1」と、共通SWモジュール「CM101-1.data」とが関連付けられる。また、モジュールID「CM101」の組み合わせに、バーション「Ver.2」と、共通SWモジュール「CM101-2.data」とが関連付けられ、バーション「Ver.3」と、共通SWモジュール「CM101-3.data」とが関連付けられている。
このように、共通SWモジュール記憶部24は、共通SWモジュールがモジュールIDとバージョンとに関連付けられて記憶されている。なお、図6に示す共通SWモジュールテーブル54は一例であって、共通SWモジュールがモジュールIDとバージョンとに関連付けられていればよい。
アプリケーションモジュール記憶部25は、アプリケーションモジュールテーブルを記憶する。図7は、アプリケーションモジュール記憶部25に記憶されるアプリケーションモジュールテーブル55の一例を示す図である。図7に示すアプリケーションモジュールテーブル55は、ユーザIDと、モジュールIDと、バーションと、アプリケーションモジュールと、日付とが関連付けられた情報を含む。
図7の「ユーザID」は、図4の「ユーザID」と同じである。「モジュールID」は、ユーザUが開発するアプリケーションモジュールの識別情報であり、「バージョン」は、アプリケーションモジュールのバージョンである。「アプリケーションモジュール」は、アプリケーションモジュールのデータ自体または格納場所を示すデータである。アプリケーションモジュールの格納場所は、アプリケーションモジュール記憶部25の記憶領域である。「日付」は、エンジニアリング支援装置1にアプリケーションモジュールが登録された日付である。
図7に示す例では、ユーザID「U101」およびモジュールID「AM101」の組み合わせに、バーション「Ver.1」と、アプリケーションモジュール「AM101-1.data」と、日付「2017/5/8」とが関連付けられ、バーション「Ver.2」と、アプリケーションモジュール「AM101-2.data」と、日付「2017/5/28」とが関連付けられている。また、ユーザID「U102」およびモジュールID「AM102」の組み合わせも、同様に、バーション、アプリケーションモジュールおよび日付が関連付けられている。
このように、アプリケーションモジュール記憶部25は、アプリケーションモジュールがモジュールIDとバージョンと日付とに関連付けられて記憶されている。なお、図7に示すアプリケーションモジュールテーブル55は一例であって、アプリケーションモジュールがモジュールIDとバージョンとに関連付けられていればよい。
パッケージ情報記憶部26は、パッケージ情報テーブルを記憶する。図8は、パッケージ情報記憶部26に記憶されるパッケージ情報テーブル56の一例を示す図である。図8に示すパッケージ情報テーブル56は、ユーザIDと、パッケージIDと、パッケージとが関連付けられた情報を含む。
図8の「ユーザID」は、図4の「ユーザID」と同じである。「パッケージID」は、ユーザUが設定したパッケージの識別情報である。「パッケージ」は、パッケージのデータ自体、または格納場所を示すデータである。パッケージの格納場所は、パッケージ情報記憶部26の記憶領域である。
パッケージのデータは、共通SWモジュール、設定ファイル、およびアプリケーションモジュールを含むデータである。パッケージのデータは、共通SWモジュール、設定ファイル、およびアプリケーションモジュールを含むデータを圧縮化した圧縮ファイルデータであり、zipファイルデータ、またはLZHファイルデータである。なお、パッケージのデータは、一つのファイルデータとして統合されていればよく、圧縮されていなくてもよい。
図8に示す例では、ユーザID「U101」およびパッケージID「P101」の組み合わせに、パッケージのデータとして、共通SWモジュール「CM101-1.data」、設定ファイル「U101-CM101-1.txt」、およびアプリケーションモジュール「AM101-1.data」のデータが含まれる。他のユーザIDおよびパッケージIDの組み合わせも、同様に、パッケージが関連付けられている。
このように、パッケージ情報記憶部26には、パッケージがユーザIDとパッケージIDとに関連付けられて記憶されている。なお、図8に示すパッケージ情報テーブル56は一例であって、パッケージがユーザIDとパッケージIDとに関連付けられていればよい。また、パッケージ情報テーブル56は、各パッケージが作成された日付を含むが、図8に示す例では省略している。
次に、図2に戻って、エンジニアリング支援装置1における処理部30の構成について説明する。処理部30は、システム情報入力部31、設定ファイル作成部32、および設定ファイル出力部33に加え、入力補助部34と、登録処理部35と、出力処理部36と、認証処理部37とを備える。
処理部30の認証処理部37は、端末装置2からアクセスがあった場合、端末装置2に対してユーザIDおよびパスワードを要求し、端末装置2から送信されるユーザIDおよびパスワードに基づいて認証処理を行う。なお、エンジニアリング支援装置1においてユーザU毎に別々の専用通信インタフェースを設けることで、ユーザIDおよびパスワードの入力を省略する構成であってもよい。
ユーザIDおよびパスワードは、記憶部20に記憶されており、本実施の形態1では、企業Aと企業Bとで異なるユーザIDおよびパスワードが記憶部20に記憶されている。認証処理部37は、端末装置2から送信されるユーザIDおよびパスワードと記憶部20に記憶されているユーザIDおよびパスワードとの比較に基づいて、認証処理を行う。
認証処理部37は、認証処理の結果、企業Aおよび企業Bのいずれかからの正規のアクセスであると判定すると、TOP画面のデータを端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信されるTOP画面のデータに基づいて、不図示の表示部にTOP画面を表示する。
図9は、TOP画面の一例を示す図である。図9に示すTOP画面61には、設定入力ボタン70aと、アプリケーションモジュール登録ボタン70bと、パッケージ登録ボタン70cと、設定ファイル取得ボタン70dと、共通SWモジュール取得ボタン70eと、アプリケーションモジュール取得ボタン70fと、パッケージ取得ボタン70gとが含まれる。これらのボタン70a〜70gは、GUI(Graphical User Interface)のボタンであり、以下に説明する他の画面もGUIを有する。
設定入力ボタン70aは、システム情報を入力する際にユーザUが操作するボタンであり、アプリケーションモジュール登録ボタン70bは、アプリケーションモジュールを登録する際にユーザUが操作するボタンである。パッケージ登録ボタン70cは、パッケージを登録する際にユーザUが操作するボタンであり、設定ファイル取得ボタン70dは、設定ファイルを取得する際にユーザUが操作するボタンである。
共通SWモジュール取得ボタン70eは、上述した共通SWモジュールを取得する際にユーザUが操作するボタンであり、アプリケーションモジュール取得ボタン70fは、上述したアプリケーションモジュールを取得する際にユーザUが操作するボタンである。パッケージ取得ボタン70gは、上述したパッケージを取得する際にユーザUが操作するボタンである。
システム情報入力部31は、ユーザUが設定入力ボタン70aを操作した場合、共通SWモジュールテーブル54から共通SWモジュールの種別を示す情報およびバージョンを示す情報を抽出し、共通SWモジュールの種別を示す情報およびバージョンを示す情報に基づいて、設定対象選択画面のデータを生成する。
システム情報入力部31は、生成した設定対象選択画面のデータを、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信される設定対象選択画面のデータに基づいて、不図示の表示部に設定対象選択画面を表示する。
図10は、設定対象選択画面の一例を示す図である。図10に示す設定対象選択画面62には、共通SWモジュール選択ボックス71aと、バージョン選択ボックス71bと、決定ボタン71cと、戻るボタン71dとが含まれる。戻るボタン71dは、TOP画面61に戻るためのボタンであり、後述する戻るボタン72c,73h,74e,75g,76e,77e,78c,79fも戻るボタン71dと同様である。
共通SWモジュール選択ボックス71aは、共通SWモジュールを選択するための選択ボックスであり、ユーザUは、端末装置2の不図示の入力部への操作によって、共通SWモジュールの種別を選択することができる。図10に示す例では、共通SWモジュール選択ボックス71aには、共通SWモジュールの種別を示す識別情報が表示されているが、共通SWモジュールの識別情報に代えて、共通SWモジュールの種別または名称であってもよい。
バージョン選択ボックス71bは、共通SWモジュールのバージョンを選択するための選択ボックスであり、ユーザUは、端末装置2の不図示の入力部への操作によって、共通SWモジュールのバージョンを選択することができる。
なお、システム情報入力部31は、ユーザUが最後にエンジニアリング支援装置1から取得した共通SWモジュールのモジュールIDおよびバージョンを初期値とした共通SWモジュール選択ボックス71aおよびバージョン選択ボックス71bを設定対象選択画面62に表示することができる。これにより、ユーザUは、共通SWモジュール選択ボックス71aおよびバージョン選択ボックス71bの操作を省くことができる。なお、初期値とは、共通SWモジュール選択ボックス71aおよびバージョン選択ボックス71bに最初に表示される共通SWモジュールの種別およびバージョンを意味する。
また、システム情報入力部31は、ユーザUのユーザIDに関連付けられたモジュールIDおよびバージョンのうち、最新の日付のモジュールIDおよびバージョンをシステム情報履歴記憶部23に記憶されたシステム情報入力履歴53から読み出すことができる。システム情報入力部31は、システム情報入力履歴53のうちユーザUのユーザIDに関連付けられた最新の日付のモジュールIDおよびバージョンを初期値とした共通SWモジュール選択ボックス71aおよびバージョン選択ボックス71bを設定対象選択画面62に表示することができる。これにより、ユーザUは、過去に設定した設定ファイルのうち最新の設定ファイルを設定対象選択画面62によって確認することができる。
ユーザUは、共通SWモジュール選択ボックス71aおよびバージョン選択ボックス71bへの選択を行った後、端末装置2の不図示の入力部への操作によって、決定ボタン71cを操作すると、選択情報が端末装置2からエンジニアリング支援装置1へ送信される。選択情報は、ユーザUによって選択された共通SWモジュールの種別およびバージョンの情報を含む。
システム情報入力部31は、端末装置2から選択情報を受信すると、選択情報に基づいて、設定入力画面のデータを生成し、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信される設定入力画面のデータに基づいて、不図示の表示部に設定入力画面を表示する。
図11は、設定入力画面の一例を示す図である。図11に示す設定入力画面63には、システム情報入力領域72aと、設定ボタン72bと、戻るボタン72cとが含まれる。システム情報入力領域72aには、システム情報を入力するための複数の枠が設けられている。
図11に示すシステム情報入力領域72aでは、監視制御システム3を構成する機器毎に、機器名、2重系、対象、センサ使用、および時刻基準を入力するための複数の入力枠が設けられる。以下、監視制御システム3を構成する機器を構成機器と記載する。
「機器名」は、構成機器の名称または構成機器の識別情報であり、「2重系」は、構成機器が2重系であるか否かを示す情報であり、「対象」は、構成機器が2重系である場合に、2重系において対になる相手方の構成機器を示す情報である。
「センサ使用」は、センサが使用されるか否かを示す情報であり、「時刻基準」は、監視制御システム3で用いられる時刻を計時する構成機器であるか否かを示す情報である。なお、図11に示す入力枠は、一部であって、システム情報として、設定入力画面63には、監視制御システム3の稼動に必要な情報を入力する入力枠が設けられる。
ユーザUは、端末装置2の不図示の入力部への操作によってシステム情報入力領域72aにシステム情報を入力した後、端末装置2の不図示の入力部への操作によって、設定ボタン72bを操作すると、システム情報を含む入力情報が端末装置2からエンジニアリング支援装置1へ送信される。
システム情報は、システム情報入力領域72aの入力枠にユーザUによって入力された情報を含む。入力情報には、システム情報の他、設定対象選択画面62でユーザUによって設定された選択された共通SWモジュールのモジュールIDおよびバージョンの情報を含む。
システム情報入力部31は、端末装置2からシステム情報を受信すると、かかる入力情報を認証処理部37で認証されたユーザIDと共に、図2に示す設定ファイル作成部32へ通知する。設定ファイル作成部32は、システム情報入力部31から通知された入力情報と、変換規則記憶部21に記憶された変換規則情報とに基づいて、設定ファイルを作成する。設定ファイル作成部32は、作成した設定ファイルを設定ファイル記憶部22に記憶する。
具体的には、設定ファイル作成部32は、システム情報入力部31から通知された入力情報に含まれる共通SWモジュールのモジュールIDおよびバージョンと一致するモジュールIDおよびバージョンに関連付けられた変換規則情報を変換規則記憶部21から読み出す。設定ファイル作成部32は、システム情報入力部31から通知された入力情報に含まれるシステム情報を、変換規則記憶部21から読み出した変換規則情報に基づいて、設定ファイルへ変換することで、設定ファイルを生成する。
そして、設定ファイル作成部32は、生成した設定ファイルを、システム情報入力部31から通知された入力情報に含まれるユーザID、モジュールID、およびバージョンに関連付けて設定ファイル記憶部22に記憶された設定ファイルテーブル52に追加する。さらに、設定ファイル出力部33は、設定ファイルテーブル52に追加された設定ファイルを端末装置2へネットワーク6を介して出力することができる。
なお、設定ファイル作成部32は、生成した設定ファイルと同一の設定ファイルが設定ファイルテーブル52に含まれるか否かを判定することができる。設定ファイル作成部32は、生成した設定ファイルと同一の設定ファイルが設定ファイルテーブル52に含まれると判定した場合、設定ファイルテーブル52を更新することなく、端末装置2へ同一の設定ファイルがある旨を通知することができる。これにより、誤って同一のシステム情報を入力して同一の設定ファイルが作成されることを抑制することができる。
また、設定ファイル作成部32は、ユーザUによって設定ファイルが作成されているバージョンよりも新しいバージョンの共通SWモジュールがユーザUに取得されたときに、設定ファイルを自動的に更新することができる。すなわち、設定ファイル作成部32は、新しいバージョンの共通SWモジュールがユーザUに取得されたとき、新しいバージョンの共通SWモジュールの変換規則情報に基づいて、設定ファイルを自動的に生成し、設定ファイル記憶部22に記憶された設定ファイルテーブル52に追加することができる。これにより、ユーザUによる監視制御システム3の設定ファイルの作成および管理を容易に行うことができる。
図9に示すTOP画面61において、ユーザUが設定ファイル取得ボタン70dを操作した場合、設定ファイル出力部33は、設定ファイル記憶部22およびシステム情報履歴記憶部23に記憶されたユーザUのデータに基づいて、設定ファイル取得画面のデータを生成する。設定ファイル出力部33は、生成した設定ファイル取得画面のデータを、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信される設定ファイル取得画面のデータに基づいて、不図示の表示部に設定ファイル取得画面を表示する。
図12は、実施の形態1にかかる設定ファイル取得画面の一例を示す図である。図12に示す設定ファイル取得画面64には、共通SWモジュール選択ボックス73aと、内容確認ボタン73b〜73dと、取得ボタン73e〜73gと、戻るボタン73hとが含まれる。
共通SWモジュール選択ボックス73aは、共通SWモジュールの種別を選択するための選択ボタンであり、ユーザUは、端末装置2の不図示の入力部への操作によって設定ファイルの対象である共通SWモジュールの種別を選択することができる。
設定ファイル出力部33は、共通SWモジュール選択ボックス73aによって選択された共通SWモジュールのモジュールIDに関連付けられた設定ファイルについての内容確認ボタン73b〜73dおよび取得ボタン73e〜73gを設定ファイル取得画面64に含める。内容確認ボタン73b〜73dは、システム情報の内容を確認するためのボタンである。取得ボタン73e〜73gは、設定ファイルを取得するためのボタンである。
ユーザUが、端末装置2の不図示の入力部への操作によって、内容確認ボタン73b〜73dのいずれかを選択すると、確認ボタン操作情報が端末装置2からエンジニアリング支援装置1へ送信される。設定ファイル出力部33は、選択された確認ボタンに割り当てられたシステム情報の内容データをシステム情報履歴記憶部23から取得し、取得したデータを端末装置2へ送信する。
これにより、端末装置2にシステム情報の内容が表示される。システム情報の内容は、図11に示すシステム情報入力領域72aの入力枠に入力された情報を含む。したがって、ユーザUは、設定ファイルに変換前のシステム情報を確認することができ、ユーザUが誤った設定ファイルを選択することを抑制することができる。
ユーザUが、端末装置2の不図示の入力部への操作によって、取得ボタン73e〜73gのいずれかを選択すると、取得ボタン操作情報が端末装置2からエンジニアリング支援装置1へ送信される。設定ファイル出力部33は、選択された取得ボタンに割り当てられた設定ファイルを端末装置2へ送信する。これにより、ユーザUは、設定ファイルを取得することができる。
なお、自動で作成された設定ファイルには、設定ファイル取得画面64において、ユーザUがシステム情報を入力して生成された設定ファイルと区別が付くように「自動生成」といった文字を付して表示することができる。
ここで、共通SWモジュール、設定ファイル、およびアプリケーションモジュールの関係について説明する。図13は、共通SWモジュール、設定ファイル、およびアプリケーションモジュールの関係を示す図である。図13に示す例では、監視制御システム31,32には、共通SWアプリケーションとして、OSとミドルウェアとがインストールされている。
そして、監視制御システム31は、設定ファイルAに従ってOSおよびミドルウェアが動作し、OSおよびミドルウェア上でアプリケーションモジュールAが動作する。同様に、監視制御システム32は、設定ファイルBに従ってOSとミドルウェアが動作し、OSおよびミドルウェア上でアプリケーションモジュールBが動作する。
共通SWモジュール、設定ファイル、およびアプリケーションモジュールは、各監視制御システム3を構成する複数の装置に配置される場合もある。図14は、監視制御システム31の構成例を示す図である。図14に示す監視制御システム31は、複数の装置11〜13を備える。各装置11〜13には同一の共通SWモジュールがインストールされており、さらに、設定ファイルAが設定されている。
また、装置11には、アプリケーションモジュールAがインストールされており、装置12には、アプリケーションモジュールBがインストールされており、装置13には、アプリケーションCがインストールされている。
複数の装置11〜13は、共通SWモジュールが設定ファイルAに従って、監視制御システム3を構成する装置として動作する。図15は、設定ファイルAの構成例を示す図である。図15に示す設定ファイルAは、text1〜text4のテキストデータを含む。
「text1」は、複数の装置11〜13の機能を定義するデータである。具体的には、装置11への「機能A」の割り付け、装置12への「機能B」の割り付け、装置13への「機能C」の割り付けを定義するデータである。
「text2」は、共通SWモジュールにおいて「機能A」を実現するための設定データであり、「text3」は、共通SWモジュールにおいて「機能B」を実現するための設定データである。また、「text4」は、共通SWモジュールにおいて「機能C」を実現するための設定データである。
装置11は、「text1」に基づき、「機能A」を実行する装置として、装置11の共通SWモジュールが「text2」に基づいて動作する。また、装置12は、「text1」に基づき、「機能B」を実行する装置として、装置12の共通SWモジュールが「text3」に基づいて動作する。装置13は、「text1」に基づき、「機能C」を実行する装置として、装置13の共通SWモジュールが「text4」に基づいて動作する。このように、共通SWモジュールは、監視制御システム31内において、異なる用途に用いられる装置11〜13に適用することができる。
図2に戻って説明を続ける。処理部30における入力補助部34は、システム情報履歴記憶部23に記憶されたシステム情報の履歴であるシステム情報入力履歴53に基づいて入力候補を決定する。システム情報入力部31は、入力補助部34によって決定された選択候補を含む設定入力画面63を生成し、生成した設定入力画面63のデータを端末装置2へ送信することができる。これにより、ユーザUによるシステム情報入力領域72aへの入力操作の負荷を軽減して入力時間を短縮することができる。
ここで、図5に示すシステム情報入力履歴53がシステム情報履歴記憶部23に記憶されており、ユーザUが図10に示す設定対象選択画面62において、共通SWモジュール「CM101」およびバージョン「Ver.1」を選択したとする。この場合、入力補助部34は、システム情報入力履歴53からシステム情報「U101-CM101-1.csv」を読み出し、かかるシステム情報「U101-CM101-1.csv」を入力候補としてシステム情報入力領域72aに入力した設定対象選択画面62を生成し、端末装置2へ送信することができる。
このように、設定対象選択画面62においてユーザUによって選択された共通SWモジュールの種別およびバージョンのシステム情報がシステム情報入力履歴53に記憶されている場合、かかるシステム情報を用いて設定対象選択画面62が生成される。したがって、ユーザUは同一バージョンの共通SWモジュールについて前回入力したシステム情報の一部を変更する場合、システム情報のすべてを入力する場合に比べ、入力作業の手間を大幅に低減することができる。
また、ユーザUが図10に示す設定対象選択画面62において、共通SWモジュール「CM101」およびバージョン「Ver.3」を選択したとする。そして、バージョン「Ver.3」の共通SWモジュール「CM101」についてのシステム情報がシステム情報入力履歴53に記憶されていないとする。この場合、入力補助部34は、システム情報入力履歴53からシステム情報「U101-CM101-2.csv」を読み出し、かかるシステム情報「U101-CM101-2.csv」を入力候補としてシステム情報入力領域72aに入力した設定対象選択画面62を生成し、端末装置2へ送信することができる。
したがって、ユーザUは、新たなバージョンの共通SWモジュールを用いる場合であっても、新たなバージョンの共通SWモジュールについてシステム情報がない場合であっても、一つ前のバージョンの共通SWモジュールについて入力したシステム情報を用いることができ、システム情報のすべてを入力する場合に比べ、入力作業の手間を大幅に低減することができる。
また、入力補助部34は、ユーザUが設定対象選択画面62において選択した共通SWモジュールのいずれのバージョンについてもユーザUのシステム情報がシステム情報入力履歴53に含まれていない場合、他の1以上のユーザUのシステム情報を用いて入力候補を決定することができる。
ここで、ユーザID「U101」のユーザU1が設定対象選択画面62において選択した共通SWモジュールのいずれのバージョンについても、図5に示すシステム情報入力履歴53において、システム情報がユーザU1のユーザIDに関連付けられていないと仮定する。入力補助部34は、図5に示すシステム情報入力履歴53において、ユーザID「U102」のユーザU2のシステム情報を読み出し、読み出したシステム情報を入力候補としてシステム情報入力領域72aに入力した設定対象選択画面62のデータを生成することができる。
この場合、入力補助部34は、ユーザU1が設定対象選択画面62において選択した共通SWモジュールのバージョンに関連付けられたシステム情報を読み出して設定対象選択画面62のデータを生成する。また、入力補助部34は、ユーザU1が設定対象選択画面62において選択した共通SWモジュールのバージョンに関連付けられたシステム情報がない場合、選択されたバージョンよりも前のバージョンに関連付けられたシステム情報を読み出して設定対象選択画面62のデータを生成する。
なお、入力補助部34は、入力候補になるシステム情報を切り替える切り替えボタンを設定対象選択画面62に配置し、切り替えボタンの操作に基づき、システム情報入力履歴53から異なるシステム情報を読み出して入力候補として設定対象選択画面62のデータを生成することもできる。これにより、過去に入力されたシステム情報のうちユーザUに適したシステム情報を含むシステム情報入力領域72aを得ることができる。
図2に戻って説明を続ける。図2に示すように、処理部30の登録処理部35は、アプリケーションモジュール登録部41と、パッケージ登録部42と、共通ソフトウェアモジュール登録部43とを備える。以下、アプリケーションアプリの登録処理、およびパッケージの登録処理について、順次具体的に説明する。なお、共通SWモジュールの登録処理、および変換規則情報の登録処理については、出力処理部36の説明の後に説明する。また、以下においては、共通ソフトウェアモジュール登録部43を共通SWモジュール登録部43と記載する。
図9に示すTOP画面61において、ユーザUがアプリケーションモジュール登録ボタン70bを操作した場合、アプリケーションモジュール登録部41は、アプリケーションモジュール登録画面のデータを生成し、生成したアプリケーションモジュール登録画面のデータを、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信されるアプリケーションモジュール登録画面のデータに基づいて、不図示の表示部にアプリケーションモジュール登録画面を表示する。
図16は、アプリケーションモジュール登録画面の一例を示す図である。図16に示すアプリケーションモジュール登録画面65には、アプリケーション名入力枠74aと、バージョン入力枠74bと、ファイル選択ボタン74cと、登録ボタン74dと、戻るボタン74eとが含まれる。
アプリケーション名入力枠74aは、登録対象のアプリケーションモジュールの種別を入力するための入力枠であり、バージョン入力枠74bは、登録対象のアプリケーションモジュールのバージョンを入力するための入力枠である。ファイル選択ボタン74cは、登録対象のアプリケーションモジュールのファイルを選択するためのボタンである。
ユーザUは、端末装置2の不図示の入力部への操作によってアプリケーション名入力枠74aおよびバージョン入力枠74bに登録対象のアプリケーションモジュールの種別およびバージョンを入力し、ファイル選択ボタン74cを用いて登録対象のアプリケーションモジュールのファイルを選択する。そして、ユーザUは、端末装置2の不図示の入力部への操作によって、登録ボタン74dを操作する。
これにより、アプリ情報を含む入力情報が端末装置2からエンジニアリング支援装置1へ送信される。アプリ情報は、アプリケーション名入力枠74aおよびバージョン入力枠74bにユーザUによって入力された情報と、ファイル選択ボタン74cで選択されたアプリケーションモジュールのファイルとを含む。
図2に示すアプリケーションモジュール登録部41は、端末装置2からアプリ情報を受信すると、かかるアプリ情報を認証処理部37で認証されたユーザIDに関連付けてアプリケーションモジュール記憶部25のアプリケーションモジュールテーブル55に追加する。
このように、ユーザUは、アプリケーションモジュールを端末装置2からエンジニアリング支援装置1にアップロードすることができ、アプリケーションモジュールをクラウドサーバであるエンジニアリング支援装置1で管理することができる。
図2に戻って説明を続ける。パッケージ登録部42は、図9に示すTOP画面61において、ユーザUがパッケージ登録ボタン70cを操作した場合、パッケージ登録画面のデータを生成し、生成したパッケージ登録画面のデータを、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信されるパッケージ登録画面のデータに基づいて、不図示の表示部にパッケージ登録画面を表示する。
図17は、パッケージ登録画面の一例を示す図である。図17に示すパッケージ登録画面66には、ユーザUがパッケージを登録するための選択ボックス75a〜75eと、登録ボタン75fと、戻るボタン75gとが含まれる。
選択ボックス75a,75bは、共通SWモジュールの種別およびバージョンを選択するための選択ボックスであり、選択ボックス75cは、設定ファイルの種別を選択するための選択ボックスである。また、選択ボックス75d,75eは、アプリケーションモジュールの種別およびバージョンを選択するための選択ボックスである。
ユーザUは、端末装置2の不図示の入力部への操作によって選択ボックス75a〜75eを用いて登録対象のパッケージを選択する。パッケージは、共通SWモジュール、設定ファイル、およびアプリケーションモジュールを含み、共通SWモジュールの種別およびバージョン、設定ファイルの情報、およびアプリケーションモジュールの種別およびバージョンによって特定される。なお、共通SWモジュールおよびアプリケーションモジュールの種別は、モジュールIDまたはモジュールIDに関連付けられた情報である。
ユーザUは、登録対象のパッケージを選択した後、端末装置2の不図示の入力部への操作によって、登録ボタン75fを操作する。これにより、パッケージ設定情報を含む入力情報が端末装置2からエンジニアリング支援装置1へ送信される。パッケージ設定情報は、選択ボックス75a〜75eで選択された情報を含む。
パッケージ登録部42は、端末装置2からパッケージ設定情報を受信すると、かかるパッケージ設定情報に基づいて、パッケージ設定情報で指定された設定ファイル、共通SWモジュール、およびアプリケーションモジュールを記憶部20から読み出す。
具体的には、パッケージ登録部42は、パッケージ設定情報で指定された設定ファイルを設定ファイル記憶部22から読み出し、パッケージ設定情報で指定された共通SWモジュールを共通SWモジュール記憶部24から読み出す。また、パッケージ登録部42は、パッケージ設定情報で指定されたアプリケーションモジュールをアプリケーションモジュール記憶部25から読み出す。
パッケージ登録部42は、記憶部20から読み出した設定ファイル、共通SWモジュール、およびアプリケーションモジュールを含むパッケージ情報を作成し、認証処理部37で認証されたユーザIDに関連付けてパッケージ情報テーブル56に追加する。
ここで、ユーザU1が共通SWモジュール「CM101」のバージョン「Ver.2」、設定ファイル「U101-CM101-2.txt」、およびアプリケーションモジュール「AM101」のバージョン「Ver.1」が含まれるパッケージの登録を要求したとする。この場合、パッケージ登録部42は、パッケージID「P102」を付加し、図8に示すようにパッケージ情報をパッケージ情報テーブル56に追加することができる。
なお、パッケージ登録部42は、設定ファイルが作成されているバージョンよりも新しいバージョンの共通SWモジュールを選択できないように、パッケージ登録画面66の選択ボックス75a,75bを設定することができる。これにより、設定ファイルと共通SWモジュールのバージョンとの不一致を避けることができる。
また、パッケージ登録部42は、同一バージョンの共通SWモジュールに複数の設定ファイルが設定されている場合、これら複数の設定ファイルを区別可能にパッケージ登録画面66に表示させることができる。例えば、パッケージ登録部42は、同一バージョンの共通SWモジュールの設定ファイルには日付、および作成したユーザUを関連付けてパッケージ登録画面66に表示させることができる。
図2に戻って説明を続ける。図2に示す出力処理部36は、共通ソフトウェアモジュール出力部45と、アプリケーションモジュール出力部46と、パッケージ出力部47とを備える。以下、共通ソフトウェアモジュール出力部45を共通SWモジュール出力部45と記載する。また、共通SWモジュール出力部45が実行する共通SWモジュールの出力処理、アプリケーションモジュール出力部46が実行するアプリケーションモジュールの出力処理、およびパッケージ出力部47が実行するパッケージの出力処理について順次具体的に説明する。
共通SWモジュール出力部45は、共通SWモジュール記憶部24に記憶された共通SWモジュールのうち端末装置2のユーザUによって指定された種別およびバージョンの共通SWモジュールを共通SWモジュール記憶部24から読み出して端末装置2へ送信する。
図9に示すTOP画面61において、ユーザUが共通SWモジュール取得ボタン70eを操作した場合、共通SWモジュール出力部45は、共通SWモジュール記憶部24に記憶された共通SWモジュールの種別およびバージョンを読み出して共通SWモジュール取得画面のデータを生成する。共通SWモジュール出力部45は、生成した共通SWモジュール取得画面のデータを、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信される共通SWモジュール取得画面のデータに基づいて、不図示の表示部に共通SWモジュール取得画面を表示する。
図18は、共通SWモジュール取得画面の一例を示す図である。図18に示す共通SWモジュール取得画面67には、共通SWモジュール選択ボックス76aと、取得ボタン76b〜76dと、戻るボタン76eとが含まれる。また、共通SWモジュール取得画面67には、共通SWモジュールの各バージョンのエンジニアリング支援装置1への登録日であるリリース日の情報、および共通SWモジュールの各バージョンのユーザUによるエンジニアリング支援装置1からの取得日であるダウンロード日が含まれる。
共通SWモジュール選択ボックス76aは、共通SWモジュールを選択するための選択ボックスであり、取得ボタン76b〜76dは、ユーザUが共通SWモジュール選択ボックス76aで選択した共通SWモジュールのバージョン「Ver.1」〜「Ver.3」を選択して共通SWモジュールを取得するためのボタンである。
ユーザUが、端末装置2の不図示の入力部への操作によって、取得ボタン76b〜76dのいずれかを選択すると、選択された結果を示す共通SWモジュール選択情報が端末装置2からエンジニアリング支援装置1へ送信される。かかる共通SWモジュール選択情報には、選択された共通SWモジュールの種別を示すモジュールIDおよびバージョンが含まれる。
共通SWモジュール出力部45は、端末装置2から共通SWモジュール選択情報を受信すると、共通SWモジュール選択情報に含まれる種別およびバージョンの共通SWモジュールのデータを共通SWモジュール記憶部24から読み出す。共通SWモジュール出力部45は、読み出した共通SWモジュールのデータを端末装置2へネットワーク6を介して出力する。端末装置2は、ネットワーク6を介してエンジニアリング支援装置1から送信される共通SWモジュールのデータを取得する。
アプリケーションモジュール出力部46は、アプリケーションモジュール記憶部25に記憶された共通アプリケーションモジュールのうち端末装置2のユーザUによって指定された種別およびバージョンのアプリケーションモジュールをアプリケーションモジュール記憶部25から読み出して端末装置2へ送信する。
具体的には、アプリケーションモジュール出力部46は、図9に示すTOP画面61において、ユーザUがアプリケーションモジュール取得ボタン70fを操作した場合、アプリケーションモジュール記憶部25に記憶されたアプリケーションモジュールテーブル55と認証処理部37で認証されたユーザIDとに基づいて、アプリケーションモジュール取得画面のデータを生成する。アプリケーションモジュール出力部46は、アプリケーションモジュールテーブル55に含まれるモジュールIDおよびバージョンのうち、認証処理部37で認証されたユーザIDに関連付けられたモジュールIDおよびバージョンに基づいて、アプリケーションモジュール取得画面のデータを生成することができる。
アプリケーションモジュール出力部46は、生成したアプリケーションモジュール取得画面のデータを、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信されるアプリケーションモジュール取得画面のデータに基づいて、不図示の表示部にアプリケーションモジュール取得画面を表示する。
図19は、アプリケーションモジュール取得画面の一例を示す図である。図19に示すアプリケーションモジュール取得画面68には、アプリケーションモジュール選択ボックス77aと、取得ボタン77b〜77dと、戻るボタン77eとが含まれる。また、アプリケーションモジュール取得画面68には、アプリケーションモジュールの各バージョンのエンジニアリング支援装置1への登録日の情報、およびアプリケーションモジュールの各バージョンのユーザUによるエンジニアリング支援装置1からの取得日が含まれる。
アプリケーションモジュール選択ボックス77aは、ユーザUが取得するアプリケーションモジュールを選択するための選択ボックスであり、取得ボタン77b〜77dは、ユーザUがアプリケーションモジュール選択ボックス77aで選択したアプリケーションモジュールのうちバージョン「Ver.1」〜「Ver.3」のアプリケーションモジュールを選択して取得するためのボタンである。
ユーザUが、端末装置2の不図示の入力部への操作によって、取得ボタン77b〜77dのいずれかを選択すると、選択された結果を示すアプリケーションモジュール選択情報が端末装置2からエンジニアリング支援装置1へ送信される。かかるアプリケーションモジュール選択情報には、選択されたアプリケーションモジュールの種別を示すモジュールIDおよびバージョンが含まれる。
アプリケーションモジュール出力部46は、端末装置2からアプリケーションモジュール選択情報を受信すると、アプリケーションモジュール選択情報に含まれる種別およびバージョンのアプリケーションモジュールのデータをアプリケーションモジュール記憶部25から読み出す。アプリケーションモジュール出力部46は、読み出したアプリケーションモジュールのデータを端末装置2へネットワーク6を介して出力する。端末装置2は、ネットワーク6を介してエンジニアリング支援装置1から送信されるアプリケーションモジュールのデータを取得する。
パッケージ出力部47は、パッケージ情報記憶部26に記憶されたパッケージ情報のうち端末装置2のユーザUによって指定されたパッケージ情報をパッケージ情報記憶部26から読み出して端末装置2へ送信する。
具体的には、パッケージ出力部47は、図9に示すTOP画面61において、ユーザUがパッケージ取得ボタン70gを操作した場合、パッケージ情報記憶部26に記憶されたパッケージ情報のうち認証処理部37で認証されたユーザIDに関連付けられたパッケージ情報に基づいて、パッケージ取得画面のデータを生成する。パッケージ出力部47は、生成したパッケージ取得画面のデータを、端末装置2へ送信する。端末装置2は、エンジニアリング支援装置1から送信されるパッケージ取得画面のデータに基づいて、不図示の表示部にパッケージ取得画面を表示する。
図20は、パッケージ取得画面の一例を示す図である。図20に示すパッケージ取得画面69には、パッケージ選択ボックス78aと、取得ボタン78bと、戻るボタン78cとが含まれる。また、パッケージ取得画面69には、パッケージ毎に、共通SWモジュール、設定ファイル、およびアプリケーションモジュールの情報が表示される。なお、パッケージ取得画面69には、パッケージの登録日および取得日を含めてもよい。
パッケージ選択ボックス78aは、ユーザUが取得するパッケージを選択するための選択ボックスであり、取得ボタン78bは、ユーザUがパッケージ選択ボックス78aで選択したパッケージを取得するためのボタンである。
ユーザUが、端末装置2の不図示の入力部への操作によって、取得ボタン78bを選択すると、選択された結果を示すパッケージ選択情報が端末装置2からエンジニアリング支援装置1へ送信される。かかるパッケージ選択情報には、選択されたパッケージの種別を示すパッケージIDが含まれる。
パッケージ出力部47は、端末装置2からパッケージ選択情報を受信すると、パッケージ選択情報に含まれる種別のパッケージのデータをパッケージ情報記憶部26から読み出す。パッケージ出力部47は、読み出したパッケージのデータを端末装置2へネットワーク6を介して出力する。端末装置2は、ネットワーク6を介してエンジニアリング支援装置1から送信されるパッケージのデータを取得する。
次に、共通SWモジュールの登録処理について説明する。共通SWモジュール登録部43は、提供者Pから要求があった場合に、新たな共通SWモジュールのファイルを共通SWモジュールテーブル54に追加することができる。
共通SWモジュール登録部43は、提供者Pの端末装置8からアクセスがあった場合、共通SWモジュール登録画面のデータを生成し、生成した共通SWモジュール登録画面のデータを、端末装置8へ送信する。端末装置8は、エンジニアリング支援装置1から送信される共通SWモジュール登録画面のデータに基づいて、不図示の表示部に共通SWモジュール登録画面を表示する。
図21は、共通SWモジュール登録画面の一例を示す図である。図21に示す共通SWモジュール登録画面81には、共通SWモジュール名入力枠79aと、バージョン入力枠79bと、ファイル選択ボタン79c,79dと、登録ボタン79eと、戻るボタン79fとが含まれる。
共通SWモジュール名入力枠79aは、共通SWモジュールの種別を入力するための入力枠であり、ファイル選択ボタン79c,79dは、共通SWモジュールのファイルおよび変換規則情報のファイルを選択するための選択ボックスである。
提供者Pは、端末装置8の不図示の入力部への操作によって共通SWモジュール名入力枠79aおよびバージョン入力枠79bに登録対象の共通SWモジュールの種別およびバージョンを入力し、ファイル選択ボタン79c,79dを用いて登録対象の共通SWモジュールのファイルおよび変換規則情報のファイルの少なくとも一つを選択する。そして、提供者Pは、端末装置8の不図示の入力部への操作によって、登録ボタン79eを操作する。
これにより、共通SW情報が端末装置8からエンジニアリング支援装置1へ送信される。共通SW情報は、共通SWモジュール名入力枠79aおよびバージョン入力枠79bに提供者Pによって入力された情報と、ファイル選択ボタン79c,79dで選択された共通SWモジュールのファイルおよび変換規則情報の少なくとも一つのファイルとを含む。
なお、図21に示す共通SWモジュール登録画面81では、共通SWモジュールのファイルおよび変換規則情報のファイルのいずれも選択可能であるが、共通SWモジュールのファイルを選択する画面と、変換規則情報のファイルを選択する画面とを別々にすることもできる。
図2に示す共通SWモジュール登録部43は、端末装置8から共通SW情報を受信すると、かかる共通SW情報に含まれる共通SWモジュールの種別、バージョン、およびファイルを関連付けて共通SWモジュールテーブル54に追加する。また、共通SWモジュール登録部43は、共通SW情報に含まれる共通SWモジュールの種別およびバージョンと変換規則情報とを関連付けて変換規則情報テーブル51に追加する。
このように、提供者Pは、共通SWモジュールおよび変換規則情報を端末装置8からエンジニアリング支援装置1にアップロードすることができ、アプリケーションモジュールをクラウドサーバであるエンジニアリング支援装置1で管理することができる。
次に、上述した処理部30の処理を、フローチャートを用いて説明する。図22は、実施の形態1にかかる処理部30の処理の一例を示すフローチャートであり、かかる処理は処理部30によって繰り返し実行される。
図22に示すように、処理部30は、提供者Pの端末装置8からアクセスがあったか否かを判定する(ステップS10)。処理部30は、提供者Pの端末装置8からアクセスがあったと判定した場合(ステップS10:Yes)、提供者要求処理を行う(ステップS11)。かかる提供者要求処理は、図23におけるステップS20〜S24の処理であり、後で詳述する。
処理部30は、ステップS11の処理が終了した場合、または、提供者Pの端末装置8からアクセスがないと判定した場合(ステップS10:No)、ユーザUの端末装置2からアクセスがあったか否かを判定する(ステップS12)。処理部30は、ユーザUの端末装置2からアクセスがあったと判定した場合(ステップS12:Yes)、ユーザ要求処理を行う(ステップS13)。かかるユーザ要求処理は、図24におけるステップS30〜S43の処理であり、後で詳述する。
処理部30は、ステップS13の処理が終了した場合、または、ユーザUの端末装置2からアクセスがないと判定した場合(ステップS12:No)、図22に示す処理を終了する。
図23は、図22における提供者要求処理を示すフローチャートである。図23に示すように、共通SWモジュール登録部43は、共通SWモジュール登録画面81のデータを、端末装置8へ送信する(ステップS20)。
共通SWモジュール登録部43は、ステップS20の後、共通SWモジュールのデータがあるか否かを判定する(ステップS21)。共通SWモジュール登録部43は、ステップS21の処理において、端末装置8から送信される共通SW情報に共通SWモジュールのデータが含まれている場合に、共通SWモジュールのデータがあると判定する。
共通SWモジュール登録部43は、共通SWモジュールのデータがあると判定した場合(ステップS21:Yes)、端末装置8から受信した共通SWモジュールのデータを共通SWモジュール記憶部24に記憶する(ステップS22)。
共通SWモジュール登録部43は、ステップS22の処理が終了した場合、または、共通SWモジュールのデータがないと判定した場合(ステップS21:No)、変換規則情報のデータがあるか否かを判定する(ステップS23)。共通SWモジュール登録部43は、ステップS23の処理において、端末装置8から送信される共通SW情報に、変換規則情報のデータが含まれている場合に、変換規則情報のデータがあると判定する。
共通SWモジュール登録部43は、変換規則情報のデータがあると判定した場合(ステップS23:Yes)、端末装置8から受信した変換規則情報のデータを変換規則記憶部21に記憶する(ステップS24)。
ステップS24の処理が終了した場合、または、変換規則情報のデータがないと判定した場合(ステップS23:No)、処理部30は、図22に示す処理を終了する。
図24は、図22におけるユーザ要求処理を示すフローチャートである。図24に示すように、処理部30の認証処理部37は、端末装置2からアクセスがあった場合、端末装置2に対してユーザIDおよびパスワードを要求し、端末装置2から送信されるユーザIDおよびパスワードに基づいて認証処理を行う(ステップS30)。認証処理部37は、認証処理が終了すると、TOP画面61のデータを端末装置2へ送信する(ステップS31)。
次に、処理部30のシステム情報入力部31は、設定入力要求があったか否かを判定する(ステップS32)。ステップS32において、システム情報入力部31は、端末装置2から設定入力ボタン70aが操作された旨を示す情報を受信した場合に、端末装置2から設定入力要求があったと判定する。
システム情報入力部31は、設定入力要求があったと判定した場合(ステップS32:Yes)、設定入力処理を行う(ステップS33)。かかる設定入力処理は、図25におけるステップS50〜S58の処理であり、後で詳述する。
処理部30のアプリケーションモジュール登録部41は、ステップS33の処理が終了した場合、または、設定入力要求がないと判定された場合(ステップS32:No)、アプリケーションモジュール登録要求があったか否かを判定する(ステップS34)。ステップS34において、アプリケーションモジュール登録部41は、端末装置2からアプリケーションモジュール登録ボタン70bが操作された旨を示す情報を受信した場合に、端末装置2からアプリケーションモジュール登録要求があったと判定する。
アプリケーションモジュール登録部41は、アプリケーションモジュール登録要求があったと判定した場合(ステップS34:Yes)、アプリケーションモジュール登録処理を行う(ステップS35)。かかるアプリケーションモジュール登録処理において、アプリケーションモジュール登録部41は、アプリケーションモジュール登録画面65のデータを端末装置2へ送信し、端末装置2からアプリ情報を受信した場合に、アプリ情報に基づいてアプリケーションモジュールテーブル55を更新する。
処理部30のパッケージ登録部42は、ステップS35の処理が終了した場合、または、アプリケーションモジュール登録要求がないと判定された場合(ステップS34:No)、パッケージ登録要求があったか否かを判定する(ステップS36)。ステップS36において、パッケージ登録部42は、端末装置2からパッケージ登録ボタン70cが操作された旨を示す情報を受信した場合に、端末装置2からパッケージ登録要求があったと判定する。
パッケージ登録部42は、パッケージ登録要求があったと判定した場合(ステップS36:Yes)、パッケージ登録処理を行う(ステップS37)。かかるパッケージ登録処理において、パッケージ登録部42は、パッケージ登録画面66のデータを端末装置2へ送信し、端末装置2からパッケージ情報を受信した場合に、パッケージ情報に基づいてパッケージ情報テーブル56を更新する。
処理部30の共通SWモジュール出力部45は、ステップS37の処理が終了した場合、または、パッケージ登録要求がないと判定された場合(ステップS36:No)、共通SWモジュール取得要求があったか否かを判定する(ステップS38)。ステップS38において、共通SWモジュール出力部45は、端末装置2から共通SWモジュール取得ボタン70eが操作された旨を示す情報を受信した場合に、端末装置2から共通SWモジュール取得要求があったと判定する。
共通SWモジュール出力部45は、共通SWモジュール取得要求があったと判定した場合(ステップS38:Yes)、共通SWモジュール出力処理を行う(ステップS39)。かかる共通SWモジュール出力処理において、共通SWモジュール出力部45は、共通SWモジュール取得画面67のデータを端末装置2へ送信し、端末装置2から共通SWモジュール選択情報を受信した場合に、共通SWモジュール選択情報に基づいて共通SWモジュールのデータを端末装置2へ送信する。
処理部30のアプリケーションモジュール出力部46は、ステップS39の処理が終了した場合、または、共通SWモジュール取得要求がないと判定された場合(ステップS38:No)、アプリケーションモジュール取得要求があったか否かを判定する(ステップS40)。ステップS40において、アプリケーションモジュール出力部46は、端末装置2からアプリケーションモジュール取得ボタン70fが操作された旨を示す情報を受信した場合に、端末装置2からアプリケーションモジュール取得要求があったと判定する。
アプリケーションモジュール出力部46は、アプリケーションモジュール取得要求があったと判定した場合(ステップS40:Yes)、アプリケーションモジュール出力処理を行う(ステップS41)。かかるアプリケーションモジュール出力処理において、アプリケーションモジュール出力部46は、アプリケーションモジュール取得画面68のデータを端末装置2へ送信し、端末装置2からアプリケーションモジュール選択情報を受信した場合に、アプリケーションモジュール選択情報に基づいてアプリケーションモジュールのデータを端末装置2へ送信する。
処理部30のパッケージ出力部47は、ステップS41の処理が終了した場合、または、アプリケーションモジュール取得要求がないと判定された場合(ステップS40:No)、パッケージ取得要求があったか否かを判定する(ステップS42)。ステップS42において、パッケージ出力部47は、端末装置2からパッケージ取得ボタン70gが操作された旨を示す情報を受信した場合に、端末装置2からパッケージ取得要求があったと判定する。
パッケージ出力部47は、パッケージ取得要求があったと判定した場合(ステップS42:Yes)、パッケージ出力処理を行う(ステップS43)。かかるパッケージ出力処理において、パッケージ出力部47は、パッケージ取得画面69のデータを端末装置2へ送信し、端末装置2からパッケージ選択情報を受信した場合にパッケージ選択情報に基づいてパッケージのデータを端末装置2へ送信する。
ステップS43の処理が終了した場合、または、パッケージ取得要求がないと判定した場合(ステップS42:No)、処理部30は、図24に示す処理を終了する。
図25は、図24における設定入力処理を示すフローチャートである。図25に示すように、システム情報入力部31は、設定対象選択画面62のデータを端末装置2へ送信する(ステップS50)。
次に、システム情報入力部31は、共通SWモジュールの選択が行われたか否かを判定する(ステップS51)。ステップS51において、システム情報入力部31は、端末装置2から選択情報を受信した場合に、共通SWモジュールの選択が行われたと判定する。また、システム情報入力部31は、端末装置2から戻るボタン71dを示す情報を受信した場合に、共通SWモジュールの選択が行われていないと判定する。
システム情報入力部31は、共通SWモジュールの選択が行われたと判定した場合(ステップS51:Yes)、システム情報履歴記憶部23に記憶されたシステム情報入力履歴53を取得する(ステップS52)。システム情報入力部31は、取得したシステム情報入力履歴53に基づいて、入力候補を決定する(ステップS53)。システム情報入力部31は、ステップS53で決定した入力候補を含む設定入力画面63のデータを生成し、端末装置2へ送信する(ステップS54)。
次に、システム情報入力部31は、端末装置2からシステム情報を含む入力情報を取得したか否かを判定する(ステップS55)。なお、システム情報入力部31は、端末装置2から戻るボタン72cを示す情報を受信した場合、入力情報を取得していないと判定する。
システム情報入力部31は、入力情報を取得したと判定した場合(ステップS55:Yes)、ステップS51において選択が行われたと判定した共通SWモジュールの種別およびバージョンの変換規則情報を変換規則記憶部21から読み出して取得する(ステップS56)。
次に、システム情報入力部31は、ステップS55によって取得したと判定した入力情報に含まれるシステム情報を、ステップS56によって取得した変換規則情報を用いて変換することによって、設定ファイルを作成する(ステップS57)。システム情報入力部31は、作成した設定ファイルを設定ファイル記憶部22に記憶し(ステップS58)、図25に示す処理を終了する。また、システム情報入力部31は、共通SWモジュールの選択が行われていないと判定した場合(ステップS51:No)、または、入力情報を取得していないと判定した場合(ステップS55:No)も、図25に示す処理を終了する。
図26は、実施の形態1にかかるエンジニアリング支援装置1のハードウェア構成の一例を示す図である。図26に示すように、エンジニアリング支援装置1は、プロセッサ101と、メモリ102と、HDD103と、インタフェース回路104とを備えるコンピュータである。プロセッサ101、メモリ102、HDD103、およびインタフェース回路104は、バス105によって互いにデータの送受信が可能である。通信部10は、インタフェース回路104によって実現される。記憶部20は、メモリ102およびHDD103によって実現される。
プロセッサ101は、HDD103に記憶されたOSおよび処理プログラムを読み出して実行することによって、システム情報入力部31、設定ファイル作成部32、設定ファイル出力部33、入力補助部34、登録処理部35、出力処理部36、および認証処理部37の機能を実行する。なお、プロセッサ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は、システム情報入力部31と、変換規則記憶部21と、設定ファイル作成部32と、設定ファイル記憶部22と、設定ファイル出力部33とを備える。システム情報入力部31は、1以上の監視制御システム3で複数の用途に共通に使用される共通SWモジュールを有するシステムの構成を定義する情報を含むシステム情報を外部装置である端末装置2からネットワーク6を介して取得する。変換規則記憶部21は、システム情報を監視制御システム3の設定ファイルへ変換する変換規則情報を記憶する。設定ファイル作成部32は、変換規則記憶部21に記憶された変換規則情報に基づいて、システム情報入力部31によって取得されたシステム情報から設定ファイルを作成する。設定ファイル記憶部22は設定ファイル作成部32によって作成された設定ファイルを記憶する。設定ファイル出力部33は、設定ファイル記憶部22に記憶された設定ファイルを端末装置2へネットワーク6を介して出力する。
したがって、監視制御システム3の設定ファイルをクラウドサーバであるエンジニアリング支援装置1で管理することができ、ユーザUは、監視制御システム3の設定ファイルを管理する手間を削減することができる。なお、監視制御システム3は、施設または設備の監視および制御を行うが、施設または設備の監視および施設または設備の制御のうち少なくとも一方を行うシステムであってもよい。
また、エンジニアリング支援装置1は、システム情報履歴記憶部23と、入力補助部34とを備える。システム情報履歴記憶部23は、システム情報入力部31によって取得されたシステム情報の履歴を記憶する。入力補助部34は、システム情報履歴記憶部23に記憶されたシステム情報の履歴に基づいて入力候補を決定する。システム情報入力部31は、入力補助部34によって決定された入力候補を含む入力画面の一例である設定入力画面63の情報を端末装置2へネットワーク6を介して送信する。
これにより、ユーザUによるシステム情報の入力負荷を軽減することができ、また、ユーザUによるシステム情報の入力時間を短縮することができる。
また、エンジニアリング支援装置1は、共通ソフトウェアモジュール取得部の一例である共通SWモジュール登録部43と、共通SWモジュール記憶部24と、共通SWモジュール出力部45とを備える。共通SWモジュール登録部43は、ネットワーク6を介して、共通SWモジュールおよび変換規則情報を取得する。共通SWモジュール記憶部24は、共通SWモジュール登録部43によって取得された共通SWモジュールを記憶する。変換規則記憶部21は、共通SWモジュール登録部43によって取得された変換規則情報を記憶する。共通SWモジュール出力部45は、端末装置2からの要求に基づき、共通SWモジュール記憶部24に記憶された共通SWモジュールを端末装置2へネットワーク6を介して出力する。
したがって、共通SWモジュールの開発を行う企業Cがバージョンアップした共通SWモジュールをユーザUがエンジニアリング支援装置1から直接ダウンロードすることができる。したがって、ユーザUは、共通SWモジュールのバージョンの確認をエンジニアリング支援装置1から提供される情報に基づいて行うことができるため、ユーザUの企業Aまたは企業Bで共通SWモジュールのバージョンを管理する場合に比べ、管理の手間を省くことができ、バージョン管理にかかる時間を短縮することができる。また、同様に、提供者Pも企業Aまたは企業Bへ提供する共通SWモジュールのバージョンを管理する管理の手間を省くことができ、バージョン管理にかかる時間を短縮することができる。
また、エンジニアリング支援装置1は、変換規則情報取得部の一例である共通SWモジュール登録部43を備える。共通SWモジュール登録部43は、ネットワーク6を介して、端末装置8から変換規則情報を取得する。変換規則記憶部21は、共通SWモジュール登録部43によって取得された変換規則情報を記憶する。
したがって、ユーザUの企業Aまたは企業Bで変換規則情報のバージョンを管理する場合に比べ、管理の手間を省くことができ、バージョン管理にかかる時間を短縮することができる。また、同様に、提供者Pは、企業Aまたは企業Bへ提供した変換規則情報のバージョンを管理する場合に比べ、変換規則情報のバージョンを管理する管理の手間を省くことができ、バージョン管理にかかる時間を短縮することができる。
また、エンジニアリング支援装置1は、アプリケーションモジュール取得部の一例であるアプリケーションモジュール登録部41と、アプリケーションモジュール記憶部25と、アプリケーションモジュール出力部46とを備える。アプリケーションモジュール登録部41は、共通ソフトウェアモジュール上で動作するアプリケーションモジュールを端末装置2からネットワーク6を介して取得する。アプリケーションモジュール記憶部25は、アプリケーションモジュール登録部41によって取得された共通SWモジュールを記憶する。アプリケーションモジュール出力部46は、端末装置2からの要求に基づき、アプリケーションモジュール記憶部25に記憶されたアプリケーションモジュールを端末装置2へネットワーク6を介して出力する。
これにより、ユーザUは、ユーザUが属する企業である企業Aまたは企業Bで開発したアプリケーションモジュールをエンジニアリング支援装置1に記憶させ、エンジニアリング支援装置1からダウンロードできる。したがって、ユーザUが属する企業でアプリケーションモジュールのバージョン管理をする場合に比べ、管理の手間を省くことができ、バージョン管理にかかる時間を短縮することができる。
また、エンジニアリング支援装置1は、パッケージ要求処理部の一例であるパッケージ登録部42と、パッケージ情報記憶部26と、パッケージ出力部47とを備える。パッケージ登録部42は、端末装置2からパッケージ要求の一例である入力情報を取得し、入力情報で指定された設定ファイル、共通SWモジュール、およびアプリケーションモジュールをパッケージとして関連付け、パッケージ情報記憶部26に記憶する。パッケージ出力部47は、端末装置2からの要求に基づき、パッケージを端末装置2へネットワーク6を介して出力する。これにより、設定ファイル、共通SWモジュール、およびアプリケーションモジュールを含むシステムデータをエンジニアリング支援装置1に記憶させ、エンジニアリング支援装置1からダウンロードできる。
これにより、ユーザUが属する企業でシステムデータの管理をする場合に比べ、管理の手間を省くことができ、システムデータの管理にかかる時間を短縮することができる。なお、システムデータの管理は、システムデータの履歴の管理が含まれる。また、パッケージのデータを一つのファイルデータとすることで、システムデータの設定作業の効率化を図ることができ、メンテナンスコストを削減することができる。
実施の形態2.
実施の形態2では、設定ファイル、共通SWモジュール、およびアプリケーションデータが処理部で暗号化されて暗号化データとして記憶部20に記憶され、記憶部20に記憶された暗号化データが処理部で復号化される点で、実施の形態1と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1のエンジニアリング支援装置1と異なる点を中心に説明する。図27は、実施の形態2にかかるエンジニアリング支援装置1Aの構成を示す図である。
図27に示すエンジニアリング支援装置1Aの記憶部20Aは、上述したエンジニアリング支援装置1の記憶部20の構成に加え、鍵データ記憶部27と、公開設定情報記憶部28とを備える。また、エンジニアリング支援装置1Aの処理部30Aは、上述したエンジニアリング支援装置1の処理部30の構成に加え、さらに、暗号化処理部91,93と、復号化処理部92,94と、公開設定入力部95とを備える。
鍵データ記憶部27は、ユーザUおよび提供者Pの鍵データを記憶する。鍵データ記憶部27には、ユーザUおよび提供者Pの各々で異なる鍵データが記憶される。鍵データには、暗号鍵データおよび復号鍵データが含まれる。なお、暗号鍵データおよび復号鍵データが共通鍵である場合、暗号鍵データと復号鍵データとは同じである。
暗号化処理部91,93は、鍵データ記憶部27に記憶された暗号鍵データを用いて、暗号化処理を行い、復号化処理部92,94は、鍵データ記憶部27に記憶された復号化データを用いて、データの復号化処理を行う。以下、これらの処理について具体的に説明する。
暗号化処理部91は、ユーザU毎の異なる暗号鍵データを用いて設定ファイル作成部32によって作成された設定ファイルを暗号化して設定ファイル記憶部22に記憶する。具体的には、暗号化処理部91は、ユーザU1の端末装置21からのシステム情報に基づいて作成される設定ファイルをユーザU1の暗号鍵データを用いて暗号化し、暗号化した設定ファイルを設定ファイル記憶部22に記憶する。
また、暗号化処理部91は、ユーザU2の端末装置22からのシステム情報に基づいて作成される設定ファイルをユーザU2の暗号鍵データを用いて暗号化し、暗号化した設定ファイルを設定ファイル記憶部22に記憶する。以下、暗号化された設定ファイルを暗号化設定ファイルと記載する場合がある。
復号化処理部92は、設定ファイル記憶部22に記憶された暗号化設定ファイルを読み出し、読み出した暗号化設定ファイルをユーザU毎の異なる復号鍵データを用いて設定ファイルに復号化する。
具体的には、暗号化処理部91は、ユーザU1の暗号化設定ファイルを設定ファイル記憶部22から読み出し、読み出したユーザU1の暗号化設定ファイルをユーザU1の復号鍵データを用いて復号化し、復号化した設定ファイルを設定ファイル出力部33へ出力する。
また、暗号化処理部91は、ユーザU2の暗号化設定ファイルを設定ファイル記憶部22から読み出し、読み出したユーザU2の暗号化設定ファイルをユーザU2の復号鍵データを用いて復号化し、復号化した設定ファイルを設定ファイル出力部33へ出力する。
このように、設定ファイルは、ユーザU毎の暗号鍵データによって暗号化されて設定ファイル記憶部22に記憶される。したがって、外部装置からネットワーク6を介した不正アクセスによって設定ファイル記憶部22に記憶された設定ファイルが読み出された場合であっても、設定ファイルは暗号化されているため、設定ファイルの内容が流出することを防止することができる。
また、設定ファイルは、ユーザU毎の復号鍵データで復号化されるため、異なるユーザUの復号鍵データで復号化されない。したがって、ユーザU間で設定ファイルが意図せずして流出してしまうことを防止することができる。
暗号化処理部93は、提供者PおよびユーザU毎の異なる暗号鍵データを用いて記憶部20Aに記憶されたデータを暗号化して登録処理部35に出力する。具体的には、暗号化処理部93は、提供者Pの端末装置8から共通SWモジュールを提供者Pの暗号化キーを用いて暗号化し、暗号化した共通SWモジュールを共通SWモジュール記憶部24に記憶する。
暗号化処理部93は、ユーザU1の端末装置21から入力されたアプリケーションモジュールをユーザU1の暗号化キーを用いて暗号化し、暗号化したアプリケーションモジュールをアプリケーションモジュール記憶部25に記憶する。また、暗号化処理部93は、ユーザU2の端末装置22から入力されたアプリケーションモジュールをユーザU2の暗号化キーを用いて暗号化し、暗号化したアプリケーションモジュールをアプリケーションモジュール記憶部25に記憶する。
復号化処理部94は、記憶部20Aに記憶されたデータを読み出し、読み出したデータを提供者PおよびユーザU毎の異なる復号鍵データを用いて復号化する。具体的には、復号化処理部94は、共通SWモジュール記憶部24に記憶された暗号化後の共通SWモジュールを読み出し、読み出した暗号化後の共通SWモジュールを提供者Pの復号鍵データで復号化し、復号化した共通SWモジュールを出力処理部36へ出力する。出力処理部36は、復号化されたアプリケーションモジュールを端末装置2に出力する。
また、復号化処理部94は、ユーザU1の暗号化後のアプリケーションモジュールをアプリケーションモジュール記憶部25から読み出す。復号化処理部94は、読み出した暗号化後のアプリケーションモジュールをユーザU1の復号鍵データを用いて復号化し、復号化したアプリケーションモジュールを出力処理部36へ出力する。出力処理部36は、復号化されたアプリケーションモジュールを端末装置2に出力する。
また、復号化処理部94は、ユーザU2の暗号化後のアプリケーションモジュールをアプリケーションモジュール記憶部25から読み出す。復号化処理部94は、読み出した暗号化後のアプリケーションモジュールをユーザU2の復号鍵データを用いて復号化し、復号化したアプリケーションモジュールを出力処理部36へ出力する。出力処理部36は、復号化されたアプリケーションモジュールを端末装置2に出力する。
このように、共通SWモジュールおよびアプリケーションモジュールは、暗号化されて記憶部20Aに記憶される。したがって、外部装置からネットワーク6を介した不正アクセスによって記憶部20Aに記憶された共通SWモジュールまたはアプリケーションモジュールが読み出された場合であっても、各モジュールは暗号化されているため、各モジュールの内容が流出することを防止することができる。
また、アプリケーションモジュールは、ユーザU毎の復号鍵データで復号化されるため、異なるユーザUの復号鍵データで復号化されない。したがって、ユーザU間でアプリケーションモジュールが意図せずして流出してしまうことを防止することができる。
公開設定入力部95は、ユーザUの端末装置2から送信される公開設定情報に基づいて、設定ファイルおよびアプリケーションモジュールの少なくとも一つの公開先を設定する。具体的には、公開設定入力部95は、ユーザUの端末装置2に対しネットワーク6を介して公開設定入力画面のデータを送信する。図28は、公開設定入力画面の一例を示す図である。
図28に示す公開設定入力画面82は、設定対象選択ボックス80aと、企業内公開先入力枠80bと、企業外公開先入力枠80cと、登録ボタン80dとを含む。設定対象選択ボックス80aは、ユーザUの、設定ファイルおよびアプリケーションモジュールのうち、公開設定の対象になる設定ファイルまたはアプリケーションモジュールを選択するための選択ボックスである。
企業内公開先入力枠80bは、企業内での公開先を入力するための入力枠である。企業内での公開先とは、例えば、企業Aの場合、企業Aの複数の従業員のうち、公開先にする従業員である。企業外公開先入力枠80cは、企業外の公開先を入力するための入力枠である。企業外での公開先とは、例えば、企業Aの場合、企業Bの従業員、または企業Bの従業員のうち特定の従業員である。
ユーザUは、端末装置2の不図示の入力部への操作によって設定対象選択ボックス80aで設定対象を選択し、企業内公開先入力枠80bおよび企業外公開先入力枠80cの少なくとも一方に入力する。そして、ユーザUは、端末装置2の不図示の入力部への操作によって、登録ボタン80dを操作する。これにより、設定対象情報が端末装置2からエンジニアリング支援装置1へ送信される。
公開設定入力部95は、端末装置2から設定対象情報を受信すると、かかる設定対象情報を認証処理部37で認証されたユーザIDに関連付けて公開設定情報記憶部28に記憶する。なお、ここでのユーザIDは、企業および従業員を識別するためのIDであり、企業IDおよび従業員IDを含む。また、ユーザIDは、企業と従業員との組み合わせに割り当てられるIDであってもよい。認証処理部37は、端末装置2から送信されるユーザIDによって企業および従業員を識別することができる。
復号化処理部92,94は、公開設定情報記憶部28に記憶された設定対象情報に基づいて、端末装置2から要求があった設定ファイルまたはアプリケーションモジュールが公開対象である場合に、復号化処理を行うことができる。
ここで、ユーザU1のアプリケーションモジュールの公開先として、企業Aの従業員であるユーザU1−1,U1−2,U1−3が設定され、企業Bの従業員であるユーザU2−1,U2−2が設定されていると仮定する。この場合、復号化処理部92,94は、ユーザU1−1,U1−2,U1−3,U2−1,U2−2のいずれかが端末装置2からユーザU1のアプリケーションモジュールを要求した場合、ユーザU1のアプリケーションモジュールの復号化を行う。
一方で、復号化処理部92,94は、ユーザU1−1,U1−2,U1−3,U2−1,U2−2以外のユーザが端末装置2からユーザU1のアプリケーションモジュールを要求した場合、ユーザU1のアプリケーションモジュールの復号化を行わない。
このように、エンジニアリング支援装置1Aは、各アプリケーションモジュールまたは各設定ファイルの公開先を設定できることから、公開先の制限を適切に行うことができる。
なお、上述した例では、復号化処理部92,94が設定対象情報に基づいて復号化の可否を決定するが、公開先に設定されていないユーザUにアプリケーションモジュールまたは設定ファイルが提供されなければよい。したがって、例えば、設定ファイル出力部33および出力処理部36が設定対象情報に基づいて公開先に設定されていないユーザUにアプリケーションモジュールまたは設定ファイルを送信しないように制限をかけてもよい。また、エンジニアリング支援装置1Aは、暗号化を行わずに、公開先の制限をかける構成であってもよい。
また、実施の形態2にかかるエンジニアリング支援装置1Aのハードウェア構成例は、図26に示すエンジニアリング支援装置1と同じである。プロセッサ101は、記憶部20Aとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した処理部30の機能に加え、暗号化処理部91,93および復号化処理部92,94の機能を実行することができる。
以上のように、実施の形態2にかかるエンジニアリング支援装置1Aは、鍵データ記憶部27と、暗号化処理部91と、復号化処理部92とを備える。鍵データ記憶部27は、監視制御システム31,32を開発するユーザU1,U2毎の鍵データである暗号鍵データおよび復号鍵データを記憶する。暗号化処理部91は、設定ファイル作成部32によって作成された設定ファイルを鍵データによって暗号化して設定ファイル記憶部22に記憶する。復号化処理部92は、設定ファイル記憶部22に記憶された暗号化後の設定ファイルを鍵データによって復号化する。設定ファイル出力部33は、復号化処理部92によって復号化された設定ファイルを端末装置2へネットワーク6を介して出力する。
これにより、外部装置からネットワーク6を介した不正アクセスによって設定ファイル記憶部22に記憶された設定ファイルが読み出された場合であっても、設定ファイルは暗号化されているため、設定ファイルの内容が流出することを防止することができる。
また、実施の形態2にかかるエンジニアリング支援装置1Aは、暗号化処理部93と、復号化処理部94とを備える。暗号化処理部93は、アプリケーションモジュール取得部の一例であるアプリケーションモジュール登録部41によって取得されたアプリケーションモジュールを鍵データによって暗号化してアプリケーションモジュール記憶部25に記憶する。復号化処理部94は、アプリケーションモジュール記憶部25に記憶された暗号化後のアプリケーションモジュールを鍵データによって復号化する。アプリケーションモジュール出力部46は、復号化処理部94によって復号化されたアプリケーションモジュールを端末装置2へネットワーク6を介して出力する。
これにより、不正アクセスによってアプリケーションモジュール記憶部25に記憶されたアプリケーションモジュールが読み出された場合であっても、アプリケーションモジュールは暗号化されているため、アプリケーションモジュールの内容が流出することを防止することができる。
なお、エンジニアリング支援装置1,1Aの処理部30,30Aは、端末装置2の要求に基づいて、設定ファイルの設定履歴、アプリケーションモジュール登録履歴、設定ファイル取得履歴、アプリケーションモジュール取得履歴、共通SWモジュール取得履歴、パッケージ登録履歴、パッケージ取得履歴の少なくとも一つの情報を端末装置2へ送信することができる。
また、エンジニアリング支援装置1,1Aの処理部30,30Aは、設定ファイルの設定履歴、アプリケーションモジュール登録履歴、設定ファイル取得履歴、アプリケーションモジュール取得履歴、共通SWモジュール取得履歴、パッケージ登録履歴、パッケージ取得履歴の少なくとも一つが更新された場合に、更新された内容を含む情報を端末装置2へ送信することができる。
また、上述した例では、企業Aおよび企業Bの2つの企業が共通SWモジュールを用いて監視制御システムを開発している例を説明したが、共通SWモジュールを用いて監視制御システムを開発する企業は、企業Aおよび企業B以外の企業を含んでいてもよい。同様に、企業Cが共通SWモジュールを開発する例を説明したが、共通SWモジュールを開発する企業は、企業C以外の企業を含んでいてもよい。この場合、エンジニアリング支援装置1,1Aは、3以上のユーザUの設定ファイル、アプリケーションモジュール、およびパッケージを管理することができ、また複数の提供者Pの共通SWモジュールを管理することができる。
なお、上述したエンジニアリング支援装置1,1Aは、クラウドサーバであるものとして説明したが、クラウドサーバ以外であってもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。