(57)【要約】      （修正有）【課題】情報セキュリティを確保した上で、プラント制御に用いられるデータを効率的かつ堅牢に保存および管理することができるデータ管理システムを提供する。【解決手段】データ管理システムＳは、クラウドシステム２と、プラントを制御するコントローラ１３に接続された情報処理装置１１ａ〜１１ｎとを含む。クラウドシステムは、情報処理装置からデータを取得する取得部と、取得したデータを記憶する記憶部と、を備える。情報処理装置は、記憶部と、データ同期部と、通信管理部とを備える。記憶部は、プラント制御に関するデータを記憶する。データ同期部は、情報処理装置とクラウドシステムとの間で定期的にデータの同期をする。通信管理部は、平常時においては情報処理装置とクラウドシステムとの間のネットワーク４を切断し、同期が行われる場合にネットワークを接続する。【選択図】図１
2018180722.tif 000002
【特許請求の範囲】
【請求項１】
クラウドシステムと、プラントを制御するコントローラに接続された情報処理装置と、を含むデータ管理システムであって、
前記クラウドシステムは、
前記情報処理装置からデータを取得する取得部と、
取得したデータを記憶する記憶部と、を備え、
前記情報処理装置は、
プラント制御に関するデータを記憶する記憶部と、
前記情報処理装置と、前記クラウドシステムとの間で、定期的にデータの同期をするデータ同期部と、
平常時においては前記情報処理装置と前記クラウドシステムとの間のネットワークを切断し、前記同期が行われる場合に前記ネットワークを接続する通信管理部と、
を備える、データ管理システム。
【請求項２】
前記クラウドシステムは、
前記情報処理装置から同期したデータのバージョン管理を行うデータ管理部をさらに備える、
請求項１に記載のデータ管理システム。
【請求項３】
前記情報処理装置は、
前記情報処理装置の前記記憶部に記憶された前記データを、リストア可能な形式のバックアップデータとして定期的に前記クラウドシステムに送信するバックアップ部をさらに備え、
前記通信管理部は、前記バックアップ部が前記クラウドシステムに前記バックアップデータを送信する場合に、前記ネットワークを接続し、
前記クラウドシステムは、
前記バックアップデータを、前記クラウドシステムの前記記憶部に保存するバックアップデータ管理部をさらに備える、
請求項１または２に記載のデータ管理システム。
【請求項４】
前記クラウドシステムの前記記憶部は、
前記プラントの分野別に予め作成されたシステム構成データとアプリケーションプログラムとを含む分野別スケルトン情報を記憶し、
前記情報処理装置は、
前記クラウドシステムから前記分野別スケルトン情報を取得し、取得した前記分野別スケルトン情報を変更または保存するスケルトン適用部をさらに備える、
請求項１〜３のいずれか１項に記載のデータ管理システム。
【請求項５】
前記クラウドシステムの前記記憶部は、
前記情報処理装置で使用されるソフトウェアの機能追加または変更の定義情報と当該機能追加または変更を実行する更新プログラムとを含む更新ファイルを記憶し、
前記情報処理装置は、
前記クラウドシステムから前記更新ファイルをダウンロードし、前記更新プログラムを実行して前記ソフトウェアの機能追加または変更を行うソフトウェア更新部をさらに備え、
前記通信管理部は、前記ソフトウェア更新部が前記クラウドシステムにアクセスする場合に、前記ネットワークを接続する、
請求項１〜４のいずれか１項に記載のデータ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ管理システムに関する。
【背景技術】
【０００２】
従来から、産業プラント（以下、単に「プラント」という。）等において、Ｉ／Ｏ（Input／Output）機器等を制御するためにプログラマブルコントローラ（プログラマブルロジックコントローラ、Programmable  Logic  Controller、ＰＬＣ）および、コントローラに接続されたサーバ等が用いられている。近年、このようなサーバ等に保存されるデータが増大する傾向にある。
【０００３】
一般に、情報処理の分野においては、大量データの保存先として、ネットワーク上に構成されたクラウドシステムが用いられる場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１９４６４２号公報
【特許文献２】特表２０１４−５３２２４７号公報
【特許文献３】特開２００８−２０６１２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、プラント制御に用いられるサーバ等は、外部ネットワークに常時接続していないため、従来技術においては、クラウドシステムを用いたデータの保存や管理を行うことが困難であった。このため、情報セキュリティを確保した上で、プラント制御に用いられるデータを効率的かつ堅牢に保存および管理することが望まれていた。
【課題を解決するための手段】
【０００６】
実施形態のデータ管理システムは、クラウドシステムと、プラントを制御するコントローラに接続された情報処理装置とを含む。クラウドシステムは、情報処理装置からデータを取得する取得部と、取得したデータを記憶する記憶部と、を備える。情報処理装置は、記憶部と、データ同期部と、通信管理部とを備える。記憶部はプラント制御に関するデータを記憶する。データ同期部は情報処理装置と、クラウドシステムとの間で、定期的にデータの同期をする。通信管理部は平常時においては情報処理装置とクラウドシステムとの間のネットワークを切断し、同期が行われる場合にネットワークを接続する。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態にかかるデータ管理システムの全体構成の一例を示す図である。
【図２】図２は、実施形態にかかるサーバＰＣのハードウェア構成の一例を示す図である。
【図３】図３は、実施形態にかかるサーバＰＣの機能的構成の一例を示すブロック図である。
【図４】図４は、実施形態にかかるシステム構成データの内容の一例を示す図である。
【図５】図５は、実施形態にかかるアプリケーションプログラムの一例を示す図である。
【図６】図６は、実施形態にかかるコントローラの機能的構成の一例を示す図である。
【図７】図７は、実施形態にかかるクラウドシステムの機能的構成の一例を示す図である。
【図８】図８は、実施形態にかかるサーバＰＣとクラウドシステムとの間のデータの同期処理の流れの一例を示すシーケンス図である。
【図９】図９は、実施形態にかかるデータのバックアップおよびリストアの処理の流れの一例を示すシーケンス図である。
【図１０】図１０は、実施形態にかかる分野別スケルトン情報の適用処理の流れの一例を示すシーケンス図である。
【図１１】図１１は、実施形態にかかるソフトウェアの更新処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【０００８】
（実施形態１）
図１は、本実施形態にかかるデータ管理システムＳの全体構成の一例を示す図である。本実施形態にかかるデータ管理システムＳは、例えば、プラント制御に関するデータの管理に適用されるものである。図１に示すように、データ管理システムＳは、プラント制御システム１と、開発環境３と、クラウドシステム２と、を含む。
【０００９】
プラント制御システム１は、プラントを制御するためのシステムである。図１に示すように、プラント制御システム１は、サーバＰＣ（Personal  Computer）１０と、クライアントＰＣ１１ａ〜１１ｎ（以下、クライアントＰＣ１１と称する。）と、プログラマブルコントローラ（以下、コントローラという。）１３とを備える。サーバＰＣ１０と、クライアントＰＣ１１と、コントローラ１３とは、ローカルネットワーク１２（例えばEthernet（登録商標））で接続されている。
【００１０】
サーバＰＣ１０とクライアントＰＣ１１とは、クライアントサーバモデルを構成し、コントローラ１３で実行されるアプリケーションプログラムの生成や、発生したデータの保存等を行う。また、プラント制御システム１の管理者は、サーバＰＣ１０またはクライアントＰＣ１１を用いて、コントローラ１３の動作状態の監視等を行う。サーバＰＣ１０とクライアントＰＣ１１とは、本実施形態における情報処理装置の一例である。
【００１１】
コントローラ１３は、プラントの制御を行うための基本機能をプログラミングした制御ソフトウェアやアプリケーションプログラム等を実行する装置である。図１に示す例では、プラント制御システム１は１台のコントローラ１３を備えるが、プラント制御システム１は、複数のコントローラ１３を備えても良い。
【００１２】
開発環境３は、例えば、システム開発会社のシステムエンジニアが、プラント制御システム１に適用するためのアプリケーションプログラムの開発やテスト等を行うための環境である。図１に示すように、開発環境３は、例えば、開発用ＰＣ３０と、開発用コントローラ３１とを備える。開発用ＰＣ３０と、開発用コントローラ３１とは、ローカルネットワーク３２（例えばEthernet（登録商標））で接続されている。
【００１３】
開発用ＰＣ３０は、プラント制御システム１のサーバＰＣ１０と同様の機能を備える。開発用ＰＣ３０もまた、本実施形態における情報処理装置の一例である。
【００１４】
開発用コントローラ３１は、コントローラ１３と同様の機能を備えるプログラマブルコントローラである。
【００１５】
また、開発環境３は、さらに、一または複数のクライアントＰＣを備えても良い。また、開発環境３は、複数の開発用コントローラ３１を備えても良い。また、データ管理システムＳは、複数の開発環境３を備えても良い。
【００１６】
クラウドシステム２は、クラウド環境を提供する事業者等により、クラウドコンピューティングサービスとして、ユーザに提供される環境である。クラウドシステム２のユーザとは、プラント制御システム１の管理者や、開発環境３を使用する開発会社のシステムエンジニア等である。クラウドシステム２は、プラント制御システム１および開発環境３とネットワーク４によって接続する。クラウドシステム２は、ネットワーク４を介して、プラント制御システム１または開発環境３に記憶されたデータの同期や、バックアップ等を行う。
【００１７】
ネットワーク４は、例えばインターネットである。クラウドシステム２と、プラント制御システム１または開発環境３とのネットワーク４は、平常時は切断され、データの同期等が行われるタイミングで、接続される。また、クラウドシステム２と、プラント制御システム１または開発環境３との間の通信のプロトコルとしては、通信データをＩＥＴＦ（Internet  Engineering  Task  Force）によって規定されているＩＰｓｅｃパケットにカプセル化するトンネルモードを用いても良い。
【００１８】
次に、サーバＰＣ１０について詳細を説明する。図２は、本実施形態にかかるサーバＰＣ１０のハードウェア構成の一例を示す図である。図２に示すように、サーバＰＣ１０は、ＣＰＵ（Central  Processing  Unit）１０１と、メモリ１０２と、ＨＤＤ（Hard  Disk  Drive）１０３と、表示装置１０４と、入力装置１０５と、通信インタフェース（Ｉ／Ｆ）１０６と、バス１０７とを備える。
【００１９】
ＣＰＵ１０１は、サーバＰＣ１０の全体的な制御を行う制御装置である。例えば、ＣＰＵ１０１は、メモリ１０２に記憶されているプログラム等を実行することで、様々な構成を実現する。
【００２０】
メモリ１０２は、読み出し可能なデータを記憶するメモリであり、例えばＲＯＭである。また、サーバＰＣ１０は、書込み可能なＲＡＭ等のメモリをさらに備える構成を採用しても良い。
【００２１】
ＨＤＤ１０３は、外部記憶装置（補助記憶装置）である。サーバＰＣ１０は、ＨＤＤ１０３の代わりに、フラッシュメモリ等の記憶媒体を備える構成を採用しても良い。
【００２２】
表示装置１０４は、液晶パネル等からなるディスプレイ等である。
【００２３】
入力装置１０５は、例えばキーボードやマウス、タッチパネル等であり、ユーザの操作を受け付ける装置である。
【００２４】
通信インタフェース１０６は、図１に示したローカルネットワーク１２およびネットワーク４を介してコントローラ１３、クライアントＰＣ１１、クラウドシステム２等との間で情報の送受信を行うためのインタフェースである。また、バス１０７は、サーバＰＣ１０の内部のデータ伝送路である。
【００２５】
図２に示すサーバＰＣ１０の構成は一例であり、一般的なコンピュータの機能を備えるものであれば良い。
【００２６】
また、クライアントＰＣ１１および開発用ＰＣ３０のハードウェア構成は、図２に示すサーバＰＣ１０のハードウェア構成と同様である。
【００２７】
図３は、本実施形態にかかるサーバＰＣ１０の機能的構成の一例を示すブロック図である。図３に示すように、サーバＰＣ１０は、受付部１１０と、通信管理部１１１と、システム構成登録部１１２と、プログラム生成部１１３と、プログラム送信部１１４と、サーバクライアント管理部１１５と、データ同期部１１６と、データ取得部１１７と、バックアップ部１１８と、スケルトン適用部１１９と、ソフトウェア更新部１２０と、監視部１２１と、記憶部１５０とを備える。
【００２８】
記憶部１５０は、例えばＨＤＤ１０３によって構成される。記憶部１５０は、システム構成データと、ソースファイルと、オブジェクトファイルと、発生データ保存データベース（ＤＢ）１５１とを記憶する。システム構成データと、ソースファイルと、オブジェクトファイルと、発生データ保存データベース（ＤＢ）１５１とは、本実施形態におけるプラント制御に関するデータの一例である。
【００２９】
システム構成データは、プラント制御システム１に含まれるコントローラ１３の構成の定義情報である。システム構成データは、制御対象のプラントごとに異なる。図４は、本実施形態にかかるシステム構成データの内容の一例を示す図である。図４に示す例では、ユニット“００（ＢＵ８６６）”がコントローラ１３を示す。図４に示すように、システム構成データは、コントローラ１３に含まれるＩ／Ｏノード（Ｉ／Ｏインタフェース）等の数および種類の定義を含む。Ｉ／Ｏインタフェースは、プラントを構成する装置との間で入出力を行うためのＩ／Ｏ機器との間で情報の送受信を行うためのインタフェースである。
【００３０】
プラント制御システム１が複数のコントローラ１３を含む場合、システム構成データは、プラント制御システム１に含まれる複数のコントローラ１３の定義情報を含む。
【００３１】
図３に戻り、ソースファイルは、アプリケーションプログラムのソースファイルである。アプリケーションプログラムは、コントローラ１３がプラントを制御するためのプログラムである。アプリケーションプログラムは、例えば、ＪＩＳ  Ｂ  ３５０３またはＩＥＣ（国際電気標準会議）  ６１１３１−３の標準規格で、コントローラ用のプログラム言語として規定されている言語により記述されるが、コントローラ１３が実行可能なプログラムであれば良い。上述の標準規格に規定された言語は、例えば、ＬＤ(ラダー・ダイアグラム)言語、ＦＢＤ(ファンクション・ブロック・ダイアグラム)言語、ＳＦＣ（シーケンシャル・ファンクション・チャート）言語、またはＳＴ（ストラクチャード・テキスト）言語等である。
【００３２】
図５は、本実施形態にかかるアプリケーションプログラムの一例を示す図である。図５に示す例では、アプリケーションプログラムはＦＢＤ言語で記述されている。
【００３３】
図３に戻り、オブジェクトファイルは、アプリケーションプログラムがコンパイルされることにより生成されたファイルである。オブジェクトファイルには、実行形式の制御プログラムが記述される。実行形式の制御プログラムは、例えばバイナリ形式で記述される。また、アプリケーションプログラムが後述のプログラム生成部１１３によりコンパイルされる際に、上述のシステム構成データが参照される。このため、オブジェクトファイルは、システム構成データの情報も含む。
【００３４】
発生データ保存データベース（ＤＢ）１５１は、コントローラ１３により取得されたプラント内の各種のセンサの計測値等が格納されるデータベースである。また、発生データ保存データベース（ＤＢ）１５１には、コントローラ１３のログ情報等がさらに格納されても良い。本実施形態における発生データは、コントローラ１３プラントを制御する処理において発生するデータである。発生データは、例えば、コントローラ１３により取得されたプラント内の各種のセンサの計測値や、コントローラ１３のログ情報であるが、これらに限定されるものではない。
【００３５】
システム構成データと、ソースファイルと、オブジェクトファイルとは、それぞれデータベース形式で保存されても良い。また、記憶部１５０は、試験データ等、さらに他のデータを保存しても良い。記憶部１５０に記憶されるデータは、図３に示すサーバＰＣ１０の各機能部により生成されたデータであっても良いし、クライアントＰＣ１１が生成したデータであっても良い。
【００３６】
受付部１１０は、ユーザの入力操作等を受け付ける。サーバＰＣ１０のユーザは、プラント制御システム１の管理者等である。受付部１１０は、受け付けた入力操作の情報を、通信管理部１１１、システム構成登録部１１２、プログラム生成部１１３、プログラム送信部１１４、データ取得部１１７、バックアップ部１１８、スケルトン適用部１１９等に送出する。
【００３７】
通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の接続および切断を制御する。例えば、通信管理部１１１は、平常時においてはネットワーク４を切断し、特定のタイミングにのみ、ネットワーク４を接続する。特定のタイミングとは、例えば、サーバＰＣ１０とクラウドシステム２との間のデータ同期が行われるタイミングや、サーバＰＣ１０の記憶部１５０のデータがクラウドシステム２にバックアップされるタイミング等である。また、特定のタイミングは、ソフトウェアの更新ファイルの確認および当該更新ファイルをダウンロードするタイミングも含む。特定のタイミングは、予めスケジューリングされても良いし、受付部１１０が受け付けたユーザの操作により指定されても良い。
【００３８】
また、通信管理部１１１は、サーバＰＣ１０からクラウドシステム２へのデータの送信やアクセス処理が完了すると、ネットワーク４の通信を切断する。
【００３９】
システム構成登録部１１２は、プラント制御システム１のシステム構成データを生成する。例えば、システム構成登録部１１２は、受付部１１０が受け付けた、ユーザが入力したシステム構成の情報から、図４に示したシステム構成データを生成する。システム構成登録部１１２は、生成したシステム構成データを記憶部１５０に保存する。
【００４０】
プログラム生成部１１３は、アプリケーションプログラム（制御プログラム）を生成する。例えば、プログラム生成部１１３は、受付部１１０が受け付けたユーザの入力操作に基づいて、図５に示したアプリケーションプログラムを生成する。
【００４１】
また、プログラム生成部１１３は、アプリケーションプログラムで使用されるグローバル変数を登録する。例えば、プログラム生成部１１３は、受付部１１０が受け付けたユーザの入力操作に基づいて、グローバル変数の値を登録するものとする。グローバル変数は、例えばコントローラ変数、ステーション変数、Ｉ／Ｏ変数、ネットワーク変数等であるが、これらに限定されるものではない。
【００４２】
また、プログラム生成部１１３は、生成したアプリケーションプログラムをコンパイルして実行形式に変換する。プログラム生成部１１３は、コンパイルの際、記憶部１５０に保存されたシステム構成データを参照する。プログラム生成部１１３は、生成したアプリケーションプログラムを記述したソースファイルと、実行形式の制御プログラムを記述したオブジェクトファイルとを、記憶部１５０に保存する。
【００４３】
プログラム送信部１１４は、オブジェクトファイルをコントローラ１３に送信する。オブジェクトファイルは、ローカルネットワーク１２を経由してコントローラ１３に送信され、保存される。
【００４４】
監視部１２１は、コントローラ１３の処理の実行状態を監視する。例えば、監視部１２１は、オブジェクトファイルに記述されたプログラムがコントローラ１３で実行された場合に、当該処理の進行状態や、異常の有無をコントローラ１３より取得し、表示装置１０４に表示する。また、監視部１２１は、コントローラ１３が取得した各種のセンサ情報や、ログ等を取得し、発生データ保存データベース１５１に保存する。
【００４５】
システム構成登録部１１２と、プログラム生成部１１３と、プログラム送信部１１４と、監視部１２１とは、エンジニアリングツールにより構成されても良い。エンジニアリングツールは、プラント制御システム１に関するシステム構築、プログラミング、モニタリング、情報収集、監視等を行うソフトウェアである。
【００４６】
サーバクライアント管理部１１５は、サーバＰＣ１０と、クライアントＰＣ１１との間のデータ管理および通信状態の監視をする。例えば、サーバクライアント管理部１１５は、サーバＰＣ１０とクライアントＰＣ１１との間でデータを同期する。具体的には、サーバクライアント管理部１１５は、サーバＰＣ１０に保存されたデータと、クライアントＰＣ１１に保存されたデータとを比較し、クライアントＰＣ１１側で更新されたファイル等を、サーバＰＣ１０にコピーする。また、サーバクライアント管理部１１５は、サーバＰＣ１０と、クライアントＰＣ１１との間でデータの送受信が失敗したことを検出した場合、当該データを再送信する。
【００４７】
データ同期部１１６は、サーバＰＣ１０と、クラウドシステム２との間で、定期的にデータの同期をする。具体的には、データ同期部１１６は、サーバＰＣ１０の記憶部１５０に保存されたシステム構成データ、ソースファイル、およびオブジェクトファイルと、クラウドシステム２に記憶されたシステム構成データ、ソースファイル、およびオブジェクトファイルとを比較する。データ同期部１１６は、サーバＰＣ１０に保存されたデータの更新日時の方が、クラウドシステム２に保存されたデータよりも新しい場合、サーバＰＣ１０に保存された当該データを、クラウドシステム２に送信する。また、サーバＰＣ１０側で新規に生成されたソースファイル等のデータがある場合、データ同期部１１６は、当該新規なデータをクラウドシステム２に送信する。また、データ同期部１１６は、発生データ保存データベース１５１に保存されたデータを、クラウドシステム２に同期しても良い。
【００４８】
データ同期部１１６が同期をする対象は、サーバＰＣ１０の記憶部１５０に保存された全てのデータであっても良いし、予め指定された特定のデータであっても良い。
【００４９】
また、データ同期部１１６は、クラウドシステム２へのデータ送信が完了すると、通信管理部１１１にデータ送信の完了を通知する。
【００５０】
データ取得部１１７は、クラウドシステム２に保存されたデータを、サーバＰＣ１０にダウンロードする。例えば、開発用ＰＣ３０からクラウドシステム２にデータが格納されたことにより、クラウドシステム２に保存されたデータがサーバＰＣ１０の記憶部１５０に保存されたデータよりも新しい場合がある。当該データのダウンロードを指示するユーザの入力操作を受付部１１０が受け付けた場合に、データ取得部１１７は、ユーザに指定されたデータをクラウドシステム２から取得する。
【００５１】
データ取得部１１７は、クラウドシステム２からのデータのダウンロードが完了すると、通信管理部１１１にダウンロードの完了を通知する。
【００５２】
バックアップ部１１８は、記憶部１５０に記憶されたシステム構成データ、ソースファイル、オブジェクトファイル、発生データ保存データベース１５１等のデータから、リストア可能な形式のバックアップデータを生成する。バックアップの手法は完全バックアップでも良いし、前回のバックアップデータ生成以降の更新内容をバックアップする差分バックアップでも良い。また、バックアップデータの形式は、特に限定されるものではなく、バックアップ対象のデータを圧縮した定義ファイルであっても良いし、単にバックアップ対象のデータをコピーしたものであっても良い。
【００５３】
また、バックアップデータの生成単位は、例えばデータベースやディレクトリ、ファイルごとの単位であっても良いし、記憶部１５０に保存されたデータ全体のバックアップデータを生成しても良い。
【００５４】
バックアップ部１１８は、生成したバックアップデータを、定期的にクラウドシステム２に送信する。バックアップ部１１８のバックアップデータの作成および送信タイミングは、ユーザによりスケジューリングされるものとする。バックアップデータの作成および送信タイミングの設定は、例えば記憶部１５０に保存されても良い。
【００５５】
バックアップ部１１８は、クラウドシステム２へのバックアップデータの送信が完了すると、通信管理部１１１にバックアップデータ送信の完了を通知する。
【００５６】
また、バックアップ部１１８は、バックアップデータのリストアを指示するユーザの入力操作を受付部１１０が受け付けた場合に、クラウドシステム２に対して、ユーザに指定されたリストア対象のバックアップデータの送信を要求する。バックアップ部１１８は、クラウドシステム２から取得したバックアップデータをサーバＰＣ１０にリストアし、記憶部１５０に保存されたデータ等を復元する。
【００５７】
また、バックアップ部１１８は、リストア対象のバックアップデータの送信要求をする前に、通信管理部１１１にネットワーク４の通信の接続を指示する。また、バックアップ部１１８は、クラウドシステム２からのバックアップデータの取得が完了すると、通信管理部１１１にバックアップデータの取得の完了を通知する。
【００５８】
また、バックアップ部１１８は、プラント制御システム１内のクライアントＰＣ１１等や外部記憶媒体にデータをバックアップする機能をさらに備えても良い。
【００５９】
スケルトン適用部１１９は、クラウドシステム２から分野別スケルトン情報を取得し、取得した分野別スケルトン情報を変更または保存する。
【００６０】
分野別スケルトン情報は、プラントの分野別に予め作成されたシステム構成データと、アプリケーションプログラムとを含む情報である。上述のように、システム構成データに登録されるシステム構成の内容は、制御対象のプラントごとに異なる。しかしながら、同一の分野に属するプラントでは、システム構成や、用いられるアプリケーションプログラムが共通する場合がある。
【００６１】
本実施形態における分野は、産業分野であり、具体的には鉄鋼産業、一般産業、社会インフラ産業等に分類される。また、一般産業や社会インフラ産業はさらに詳細な分野に分類されても良い。例えば、一般産業はさらに、石油化学プラント、紙パルププラント等に分類され得る。また、社会インフラ産業は、上水道プラント、下水道プラント等に分類され得る。
【００６２】
分野別スケルトン情報に含まれるシステム構成データおよびアプリケーションプログラムは、プラント制御システム１にそのまま適用可能であっても良いし、カスタマイズを前提とした基本プログラム等であっても良い。また、後述するクラウドシステム２には、各分野別に、複数種類のスケルトン情報が保存され、オプションとして選択可能であっても良い。
【００６３】
例えば、各プラントの制御で用いられる初期化の処理をするためのアプリケーションプログラムは、同一の分野のプラントであれば、共通で使用可能である場合がある。スケルトン適用部１１９は、このようなアプリケーションプログラムと、当該プログラムを動作させる標準的なシステム構成を登録したシステム構成データとを含む分野別スケルトン情報をクラウドシステム２からダウンロードする。このため、スケルトン適用部１１９は、システムエンジニア等の作業負荷を削減することができる。
【００６４】
例えば、スケルトン適用部１１９は、ユーザから分野別スケルトン情報の照会を要求する操作を受け付けたことを受付部１１０から通知される。この場合、スケルトン適用部１１９は、クラウドシステム２に対して分野別スケルトン情報の一覧の照会要求をし、照会結果を表示装置１０４等に表示し、適用する分野別スケルトン情報をユーザが個別に選択可能にしても良い。当該構成を採用する場合、スケルトン適用部１１９は、ユーザの選択に応じてクラウドシステム２から分野別スケルトン情報に含まれるシステム構成データまたはアプリケーションプログラムをダウンロードする。
【００６５】
スケルトン適用部１１９は、ダウンロードした分野別スケルトン情報を、記憶部１５０に保存する。また、スケルトン適用部１１９は、ダウンロードした分野別スケルトン情報を、表示装置１０４等に表示し、ユーザが分野別スケルトン情報を変更可能な画面を提供しても良い。この場合、スケルトン適用部１１９は、ユーザの操作に応じて分野別スケルトン情報を変更する。そして、スケルトン適用部１１９は、変更後の分野別スケルトン情報を、記憶部１５０に保存する。
【００６６】
また、スケルトン適用部１１９は、クラウドシステム２からの分野別スケルトン情報のダウンロードが完了すると、通信管理部１１１にダウンロードの完了を通知する。
【００６７】
ソフトウェア更新部１２０は、サーバＰＣ１０にインストールされたソフトウェアを更新する。具体的には、ソフトウェア更新部１２０は、例えば、予めスケジューリングされた特定のタイミングで、更新ファイルの存在の確認をするためにクラウドシステム２にアクセスする。また、ソフトウェア更新部１２０は、クラウドシステム２から更新ファイルをダウンロードする。
【００６８】
更新ファイルは、ソフトウェアの機能追加または変更の定義情報と、当該機能追加または変更を実行する更新プログラムとを含む。
【００６９】
ソフトウェア更新部１２０は、ダウンロードした更新ファイルに含まれる更新プログラムを実行して、ソフトウェアの機能追加または変更を行う。
【００７０】
例えば、ソフトウェアの一例として、サーバＰＣ１０にインストールされたエンジニアリングツールがある。ソフトウェア更新部１２０は、エンジニアリングツールのバージョンアップをするためのバージョンアップファイル（更新ファイル）がクラウドシステム２に保存されているか否かを確認する。クラウドシステム２にバージョンアップファイルが存在する場合、ソフトウェア更新部１２０は、バージョンアップファイルをダウンロードし、バージョンアップを実行する。更新対象のソフトウェアはエンジニアリングツールに限定されるものではない。
【００７１】
また、ソフトウェア更新部１２０は、更新ファイルのダウンロードおよび適用が完了したことを通知する信号を、クラウドシステム２に送信しても良い。
【００７２】
また、サーバＰＣ１０のソフトウェア更新部１２０は、プラント制御システム１の各クライアントＰＣ１１が、それぞれ更新ファイルのダウンロードおよび適用が完了した場合に、完了通知を受けるものとしても良い。当該構成を採用した場合、ソフトウェア更新部１２０は、プラント制御システム１内のサーバＰＣ１０およびクライアントＰＣ１１にインストールされたソフトウェアのバージョンを一元管理することができる。
【００７３】
また、ソフトウェア更新部１２０は、クラウドシステム２への更新ファイルの有無の確認ためのアクセスが完了し、更新ファイルが存在しない場合は、通信管理部１１１にアクセスの完了を通知する。また、ソフトウェア更新部１２０は、更新ファイルが存在した場合は、当該更新ファイルの適用完了後に、通信管理部１１１に更新処理の完了を通知する。あるいは、ソフトウェア更新部１２０は、更新ファイルのダウンロードが完了した時点で、通信管理部１１１にダウンロード完了を通知しても良い。
【００７４】
図３に示すサーバＰＣ１０の機能的構成は一例であり、サーバＰＣ１０はその他の機能を備えても良い。
【００７５】
また、クライアントＰＣ１１は、図３に示すサーバＰＣ１０と同様の機能を備えるものとしても良いし、サーバＰＣ１０の機能の一部のみを備えるものとしても良い。例えば、クライアントＰＣ１１は、受付部と、通信管理部と、システム構成登録部と、プログラム生成部と、プログラム送信部と、データ同期部と、データ取得部と、バックアップ部と、スケルトン適用部と、ソフトウェア更新部と、監視部と、記憶部とを備えるものとしても良い。
【００７６】
また、クライアントＰＣ１１のソフトウェア更新部は、サーバＰＣ１０のソフトウェア更新部１２０と同様の機能を備えた上で、更新ファイルのダウンロードおよび適用が完了した場合に、サーバＰＣ１０に対して完了通知を送信する構成を採用しても良い。
【００７７】
また、コントローラ１３にダウンロードされるオブジェクトファイルはサーバＰＣ１０の記憶部１５０に保存され、クライアントＰＣ１１の記憶部には各クライアントＰＣ１１で生成されたデータが一時的に保存される等、役割を分けても良い。
【００７８】
また、開発用ＰＣ３０は、サーバＰＣ１０と同様の機能を備える。具体的には、サーバＰＣ１０は、受付部と、通信管理部と、システム構成登録部と、プログラム生成部と、プログラム送信部と、データ同期部と、データ取得部と、バックアップ部と、スケルトン適用部と、ソフトウェア更新部と、監視部と、記憶部とを備える。また、開発環境３がクライアントサーバモデルで構成されている場合、開発用ＰＣ３０は、サーバクライアント管理部を備える。
【００７９】
例えば、開発用ＰＣ３０のデータ同期部は、開発用ＰＣ３０の記憶部からクラウドシステム２にデータを同期する。データ管理システムＳが複数の開発環境３を含む場合、複数の開発用ＰＣ３０でそれぞれ更新されたデータが、各開発用ＰＣ３０のデータ同期部により、クラウドシステム２に同期される。このため、システムエンジニアは、データを記憶媒体等に保存して持ち歩くことなく、複数拠点で最新のデータを共有することができる。これにより、システムエンジニアは、データの保管場所を意識することなく、最新のデータを利用することができ、最新データ管理の省力化、および誤ったデータを使用する可能性の低減をすることができる。
【００８０】
また、開発用ＰＣ３０の記憶部からクラウドシステム２に同期されたデータを、サーバＰＣ１０のデータ取得部１１７またはクライアントＰＣ１１のデータ取得部がダウンロードすることが可能である。具体的には、開発環境３の開発用ＰＣ３０が生成した登録データ、アプリケーションプログラム、試験データ等を、サーバＰＣ１０のデータ取得部１１７またはクライアントＰＣ１１のデータ取得部が取得することができる。このため、開発環境３で生成されたアプリケーションプログラム等をプラント制御システム１内で稼働するシステム試験において、システムエンジニアはアプリケーションプログラム等を、記憶媒体等に保存して移動することなく、サーバＰＣ１０に取り込むことができる。このため、開発会社のシステムエンジニアが顧客のプラント制御システム１で作業をする際も、大容量のファイルを持ち運ぶことなく、自社で作成した情報に基づいて現地での確認をすることができる。
【００８１】
次に、コントローラ１３について詳細を説明する。コントローラ１３は、ＣＰＵ、ＲＡＭ（Random  Access  Memory）、ＦＲＯＭ（Flash  Read  Only  Memory）等の、通常のプログラマブルコントローラのハードウェア構成を備える。また、コントローラ１３は、サーバＰＣ１０またはクライアントＰＣ１１との間で情報の送受信をするためのツールインタフェースと、プラントを構成する装置との間で入出力を行うためのＩ／Ｏ機器との間で情報の送受信を行うためのＩ／Ｏインタフェースと、を備える。
【００８２】
図６は、本実施形態にかかるコントローラ１３の機能的構成の一例を示す図である。図６に示すように、コントローラ１３は、標準処理部１３０と、記憶部１３５とを備える。
【００８３】
記憶部１３５は、例えばＲＡＭにより構成される。記憶部１３５は、サーバＰＣ１０またはクライアントＰＣ１１から送信されたオブジェクトファイルに含まれるオブジェクト情報１３６を保存する。記憶部１３５では、オブジェクト情報１３６は、データと、プログラムのコードとに分かれて保存される。
【００８４】
図６に示すように、標準処理部１３０は、オブジェクトロード部１３１と、プログラム実行処理部１３２と、信号入出力部１３３と、を備える。
【００８５】
オブジェクトロード部１３１は、サーバＰＣ１０またはクライアントＰＣ１１からローカルネットワーク１２を経由して送信されたオブジェクトファイルを受信する。また、オブジェクトロード部１３１は、オブジェクトファイルに記述された実行形式のプログラムを、データとコードに分割し、オブジェクト情報１３６として記憶部１３５に保存する。
【００８６】
プログラム実行処理部１３２は、記憶部１３５に保存されたオブジェクト情報１３６を読み出し、制御プラグラムを実行する。また、プログラム実行処理部１３２は、信号入出力部１３３が受信したプロセス信号等により、制御対象のプラントを構成する各種の装置およびセンサからフィードバックを受ける。プログラム実行処理部１３２は、当該フィードバックに基づいて、制御プラグラムのパラメータを設定する等の制御を行う。また、プログラム実行処理部１３２は、制御プラグラムの実行状態をサーバＰＣ１０またはクライアントＰＣ１１に送信する。
【００８７】
信号入出力部１３３は、制御対象のプラントを構成する各種の装置およびセンサから送信されたプロセス信号等を受信する。また、信号入出力部１３３は、入力した信号を、プログラム実行処理部１３２に送出する。また、信号入出力部１３３は、制御対象のプラントから取得した各種の信号を、記憶部１３５に保存する。また、信号入出力部１３３は、制御対象のプラントから取得した各種の信号を、サーバＰＣ１０またはクライアントＰＣ１１に送信する。
【００８８】
次に、クラウドシステム２について詳細を説明する。クラウドシステム２は、クラウドコンピューティングの技術により、１または複数のサーバ装置等によって構成される。また、クラウドシステム２の環境を提供する事業者と、クラウドシステム２が備える各種の機能を提供する事業者とは、異なる事業者であっても良い。
【００８９】
図７は、本実施形態にかかるクラウドシステム２の機能的構成の一例を示す図である。図７に示すように、クラウドシステム２は、取得部２１０と、データ管理部２１１と、バックアップデータ管理部２１２と、スケルトン情報管理部２１３と、記憶部２５０とを備える。図７に示す各機能部は、例えば、クラウドシステム２の仮想マシン（Virtual  Machine、ＶＭ）が備える機能として構成される。
【００９０】
記憶部２５０は、システム構成データと、ソースファイルと、オブジェクトファイルと、更新ファイルと、バックアップデータ２５１と、分野別スケルトン情報２５２とを備える。
【００９１】
記憶部２５０に記憶される情報は全て、ユーザまたはユーザグループごとに分けて保存される。例えば、クラウドシステム２が１つの企業向けに提供するクラウドサービスにおいて、同一のユーザグループに属する当該企業の社員であるユーザは、データを共有可能である。また、当該ユーザグループに属していないユーザからは、当該企業の社員であるユーザが記憶部２５０に保存したデータを照会することはできない。
【００９２】
システム構成データと、ソースファイルと、オブジェクトファイルとは、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から同期されたデータである。記憶部２５０は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から送信された最新のシステム構成データと、ソースファイルと、オブジェクトファイルとを記憶する。また、記憶部２５０は、後述のデータ管理部２１１によりバージョン管理された過去のシステム構成データと、ソースファイルと、オブジェクトファイルとを、記憶する。
【００９３】
更新ファイルは、サーバＰＣ１０またはクライアントＰＣ１１で使用されるソフトウェアの機能追加または変更の定義情報と、当該機能追加または変更を実行する更新プログラムとを含むファイルである。例えば、更新ファイルは、サーバＰＣ１０またはクライアントＰＣ１１にインストールされたエンジニアリングツールのバージョンアップをするためのバージョンアップファイルである。または、更新ファイルは、その他のソフトウェアを更新するためのファイルであっても良い。更新ファイルは、例えば、更新対象のソフトウェアのベンダー等により作成される。更新ファイルは、クラウドシステム２の機能を提供する事業者等により、記憶部２５０に格納される。
【００９４】
バックアップデータ２５１は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から送信されたバックアップデータである。記憶部２５０は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から送信された最新のバックアップデータを記憶する。また、記憶部２５０は、後述のバックアップデータ管理部２１２によりバージョン管理された過去のバックアップデータを記憶する。
【００９５】
分野別スケルトン情報２５２は、上述したように、プラントの分野別に予め作成されたシステム構成データと、アプリケーションプログラムとを含む情報である。
【００９６】
取得部２１０は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から送信されたデータを取得する。具体的には、取得部２１０は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から同期されたシステム構成データ、ソースファイル、オブジェクトファイルを取得する。また、取得部２１０は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から送信されたバックアップデータ２５１を取得する。取得部２１０は、取得したシステム構成データ、ソースファイル、オブジェクトファイルをデータ管理部２１１に送出する。また、取得部２１０は、取得したバックアップデータ２５１をバックアップデータ管理部２１２に送出する。
【００９７】
データ管理部２１１は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から同期したデータのバージョン管理を行う。例えば、データ管理部２１１は、取得部２１０が取得した最新のデータのファイル名等から、当該データが記憶部２５０に既に保存されているか否かを判断する。当該データが記憶部２５０に既に保存されている場合、データ管理部２１１は、既に保存されているデータのうち最も新しいバージョンの次のバージョンを、最新のデータに設定する。また、当該データが新規に作成されたデータである場合は、データ管理部２１１は、当該データを初期バージョンとしてバージョンを設定する。バージョンは、例えば“１”から開始する数値で示されても良いし、“Ａ”，“Ｂ”のように記号で示されても良い。
【００９８】
データ管理部２１１は、設定したバージョンと、同期したデータとを対応付けて、記憶部２５０に保存する。データ管理部２１１は、例えば、バージョンを示す数値と、当該バージョンに対応するデータのファイル名とをデータベースに登録して、各データのバージョン情報を記憶部２５０に保存しても良い。
【００９９】
バックアップデータ管理部２１２は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から送信されたバックアップデータ２５１を、記憶部２５０に保存する。
【０１００】
また、バックアップデータ管理部２１２は、バックアップデータ２５１を保存する際に、バージョンを設定する。例えば、バックアップデータ管理部２１２は、バックアップデータ２５１のファイル名等から、当該バックアップデータ２５１が記憶部２５０に既に保存されているか否かを判断する。当該バックアップデータ２５１が記憶部２５０に既に保存されている場合、バックアップデータ管理部２１２は、既に保存されているバックアップデータ２５１のうち最も新しいバージョンの次のバージョンを、最新のバックアップデータ２５１に設定する。また、バックアップ対象のデータベースが新規に生成された場合等、当該バックアップデータ２５１に対応する過去のバックアップデータ２５１がないことがある。このような場合、バックアップデータ管理部２１２は、当該バックアップデータ２５１を初期バージョンとして、バージョンを設定する。
【０１０１】
バックアップデータ管理部２１２は、例えば、バージョンを示す数値と、当該バージョンに対応するバックアップデータ２５１のファイル名とをデータベースに登録して、各データのバージョン情報を記憶部２５０に保存しても良い。
【０１０２】
また、バックアップデータ管理部２１２は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０からリストア対象のバックアップデータの送信を要求された場合、当該要求に対応するバックアップデータ２５１を、サーバＰＣ１０等に送信する。例えば、バックアップデータ管理部２１２は、対象のバックアップデータ２５１のファイル名と、バージョンとを指定された場合、指定されたバックアップデータ２５１を記憶部２５０から抽出し、サーバＰＣ１０等に送信する。
【０１０３】
スケルトン情報管理部２１３は、分野別スケルトン情報２５２の新規登録およびバージョン管理を行う。例えば、関連する法制度の変更等に対応するために分野別スケルトン情報２５２に含まれる一部のアプリケーションプログラムの処理内容を変更することが求められる場合がある。このような場合、スケルトン情報管理部２１３は、クラウドシステム２の機能を提供する事業者等から入力された分野別スケルトン情報２５２の変更命令に基づき、分野別スケルトン情報２５２の変更をする。クラウドシステム２が変更後の分野別スケルトン情報２５２を提供することにより、プラント制御システム１の管理者やシステムエンジニア等のユーザが、当該変更への対応漏れをすることを低減することができる。
【０１０４】
また、スケルトン情報管理部２１３は、変更されたアプリケーションプログラム等にバージョンを設定し、記憶部２５０に保存する。このため、プラント制御システム１の管理者やシステムエンジニア等のユーザは、最新の分野別スケルトン情報２５２を判別可能になると共に、過去のバージョンの分野別スケルトン情報２５２を利用することもできる。
【０１０５】
また、スケルトン情報管理部２１３は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０から分野別スケルトン情報２５２の一覧の照会要求を受けた場合、記憶部２５０に保存された分野別スケルトン情報２５２をリスト化した一覧データを送信する。分野別スケルトン情報２５２の一覧データとは、例えば、分野別スケルトン情報２５２に含まれる分野別または機能別に整理されたシステム構成データと、アプリケーションプログラムの名称を一覧にしたデータである。スケルトン情報管理部２１３による分野別スケルトン情報２５２の情報の提供形式はこれに限定されるものではなく、適用対象の分野別スケルトン情報２５２をユーザが特定および選択可能であれば良い。
【０１０６】
また、スケルトン情報管理部２１３は、サーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０からダウンロード対象の分野別スケルトン情報２５２の指定を受けた場合に、当該指定された分野別スケルトン情報２５２を、サーバＰＣ１０等に送信する。
【０１０７】
次に、以上のように構成された本実施形態のデータ管理システムＳにおけるデータ同期処理について説明する。図８は、本実施形態にかかるサーバＰＣ１０とクラウドシステム２との間のデータの同期処理の流れの一例を示すシーケンス図である。このシーケンス図に示される処理は、前述した特定のタイミングで実行される。
【０１０８】
まず、サーバＰＣ１０の通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を接続する（Ｓ１）。
【０１０９】
そして、データ同期部１１６は、サーバＰＣ１０の記憶部１５０に保存されたシステム構成データ等のデータと、クラウドシステム２の記憶部２５０に記憶されたシステム構成データ等のデータとを比較する（Ｓ２）。
【０１１０】
データ同期部１１６は、サーバＰＣ１０に保存されたデータの更新日時の方が、クラウドシステム２に保存されたデータよりも新しい場合、当該データがサーバＰＣ１０側で更新されたと判断する。データ同期部１１６は、サーバＰＣ１０側で更新されたデータを、クラウドシステム２に、ネットワーク４を介して送信する（Ｓ３）。また、サーバＰＣ１０側で新規に生成されたソースファイル等のデータがある場合、データ同期部１１６は、当該新規なデータをクラウドシステム２に、ネットワーク４を介して送信する。
【０１１１】
クラウドシステム２の取得部２１０は、サーバＰＣ１０から送信されたデータを取得する。取得部２１０は、取得したデータをデータ管理部２１１に送出する。データ管理部２１１は、取得したデータにバージョンを設定し、記憶部２５０に保存する（Ｓ４）。
【０１１２】
また、データ同期部１１６は、クラウドシステム２へのデータ送信が完了すると、通信管理部１１１にデータ送信の完了を通知する。通知を受けた通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を切断する（Ｓ５）。
【０１１３】
次に、本実施形態のデータ管理システムＳにおけるバックアップおよびリストアの処理について説明する。図９は、本実施形態にかかるデータのバックアップおよびリストアの処理の流れの一例を示すシーケンス図である。このシーケンス図に示される処理は、前述した特定のタイミングで実行される。
【０１１４】
サーバＰＣ１０のバックアップ部１１８は、記憶部１５０に記憶されたシステム構成データ、ソースファイル、オブジェクトファイル、発生データ保存データベース１５１等のデータから、リストア可能な形式のバックアップデータ２５１を生成する（Ｓ１１）。
【０１１５】
また、通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を接続する（Ｓ１２）。
【０１１６】
バックアップ部１１８は、生成したバックアップデータ２５１を、クラウドシステム２へ送信する（Ｓ１３）。
【０１１７】
クラウドシステム２の取得部２１０は、サーバＰＣ１０から送信されたバックアップデータ２５１を取得し、バックアップデータ管理部２１２に送出する。バックアップデータ管理部２１２は、サーバＰＣ１０から送信されたバックアップデータ２５１にバージョンを設定し、記憶部２５０に保存する（Ｓ１４）。
【０１１８】
また、バックアップ部１１８は、クラウドシステム２へのバックアップデータの送信が完了すると、通信管理部１１１にバックアップデータ送信の完了を通知する。通知を受けた通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を切断する（Ｓ１５）。
【０１１９】
また、バックアップ部１１８は、バックアップデータのリストアを指示するユーザの入力操作を受付部１１０が受け付けた場合に、通信管理部１１１にネットワーク４の通信の接続を指示する。この場合、通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を接続する（Ｓ１６）。
【０１２０】
バックアップ部１１８は、クラウドシステム２に対して、ユーザに指定されたバックアップデータの送信を要求する（Ｓ１７）。この際、バックアップ部１１８は、対象のバックアップデータ２５１のファイル名と、バックアップデータ２５１のバージョンとを指定する。
【０１２１】
クラウドシステム２のバックアップデータ管理部２１２は、当該要求に対応するバックアップデータ２５１を記憶部２５０から抽出し、サーバＰＣ１０に送信する（Ｓ１８）。
【０１２２】
バックアップ部１１８は、クラウドシステム２から取得したバックアップデータをサーバＰＣ１０にリストアし、記憶部１５０に保存されたデータ等を復元する（Ｓ１９）。
【０１２３】
また、バックアップ部１１８は、クラウドシステム２からのバックアップデータの取得が完了すると、通信管理部１１１にバックアップデータの取得の完了を通知する。通知を受けた通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を切断する（Ｓ２０）。
【０１２４】
次に、本実施形態のデータ管理システムＳにおける分野別スケルトン情報２５２の適用処理について説明する。図１０は、本実施形態にかかる分野別スケルトン情報２５２の適用処理の流れの一例を示すシーケンス図である。このシーケンス図に示される処理は、例えば、受付部１１０がユーザから分野別スケルトン情報の照会を要求する操作を受け付けた場合に開始される。
【０１２５】
スケルトン適用部１１９は、通信管理部１１１にネットワーク４の通信の接続を指示する。この場合、通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を接続する（Ｓ２１）。
【０１２６】
スケルトン適用部１１９は、クラウドシステム２に対して分野別スケルトン情報２５２の一覧の照会要求をする（Ｓ２２）。
【０１２７】
クラウドシステム２のスケルトン情報管理部２１３は、記憶部２５０に保存された分野別スケルトン情報２５２の一覧データを送信する（Ｓ２３）。
【０１２８】
スケルトン適用部１１９は表示装置１０４に分野別スケルトン情報２５２の一覧を表示する（Ｓ２４）。
【０１２９】
スケルトン適用部１１９は、ユーザが選択した適用対象の分野別スケルトン情報２５２を、ダウンロード対象の分野別スケルトン情報２５２としてクラウドシステム２に対して指定する（Ｓ２５）。
【０１３０】
クラウドシステム２のスケルトン情報管理部２１３は、指定された分野別スケルトン情報２５２をサーバＰＣ１０に送信する（Ｓ２６）。言い換えれば、スケルトン適用部１１９は、クラウドシステム２から適用対象の分野別スケルトン情報２５２をダウンロードする。
【０１３１】
スケルトン適用部１１９は、ダウンロードした分野別スケルトン情報を、記憶部１５０に保存する。また、スケルトン適用部１１９は、ダウンロードした分野別スケルトン情報を、表示装置１０４等に表示し、ユーザが分野別スケルトン情報を変更可能な画面を提供しても良い。この場合、スケルトン適用部１１９は、ユーザの操作に応じて分野別スケルトン情報を変更する。そして、スケルトン適用部１１９は、変更後の分野別スケルトン情報を記憶部１５０に保存する（Ｓ２７）。
【０１３２】
また、スケルトン適用部１１９は、クラウドシステム２からの分野別スケルトン情報のダウンロードが完了すると、通信管理部１１１にダウンロードの完了を通知する。通知を受けた通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を切断する（Ｓ２８）。
【０１３３】
次に、本実施形態のデータ管理システムＳにおけるソフトウェアの更新処理について説明する。図１１は、実施形態にかかるソフトウェアの更新処理の流れの一例を示すシーケンス図である。このシーケンス図に示される処理は、前述した特定のタイミングで実行される。
【０１３４】
サーバＰＣ１０の通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を接続する（Ｓ３１）。
【０１３５】
サーバＰＣ１０のソフトウェア更新部１２０は、クラウドシステム２にアクセスし、更新ファイルの有無を確認する（Ｓ３２）。
【０１３６】
クラウドシステム２に更新ファイルが存在する場合、ソフトウェア更新部１２０は、更新ファイルをダウンロードする（Ｓ３３）。
【０１３７】
ソフトウェア更新部１２０は、更新ファイルに含まれる更新プログラムを実行し、サーバＰＣ１０にインストールされたソフトウェアを更新する（Ｓ３４）。
【０１３８】
ソフトウェア更新部１２０は、更新処理の完了を通知する。通知を受けた通信管理部１１１は、サーバＰＣ１０とクラウドシステム２との間のネットワーク４の通信を切断する（Ｓ３５）。
【０１３９】
図８〜１１に示す例では、サーバＰＣ１０とクラウドシステム２との間でデータをやり取りする処理を説明したが、クライアントＰＣ１１または開発用ＰＣ３０とクラウドシステム２との間でも、同様に各処理が実行される。
【０１４０】
このように、本実施形態のデータ管理システムＳのクラウドシステム２の記憶部２５０は、サーバＰＣ１０等から取得したデータを記憶する。また、サーバＰＣ１０等のデータ同期部１１６がクラウドシステム２との間で定期的にデータの同期をする。このため、本実施形態のデータ管理システムＳによれば、プラント制御に用いられるデータを効率的かつ堅牢に保存および管理することができる。さらに、本実施形態のデータ管理システムＳによれば、サーバＰＣ１０等の通信管理部１１１が、平常時においてはネットワーク４を切断し、同期が行われる場合にネットワーク４を接続するため、情報セキュリティを確保することができる。
【０１４１】
また、本実施形態のデータ管理システムＳによれば、データ同期部１１６がサーバＰＣ１０等とクラウドシステム２との間で定期的にデータの同期をするため、データの管理や移送にかかるプラント制御システム１の管理者やシステムエンジニアの作業負荷を低減することができる。
【０１４２】
また、本実施形態のデータ管理システムＳのクラウドシステム２は、サーバＰＣ１０等から同期したデータのバージョン管理を行うデータ管理部２１１をさらに備える。このため、本実施形態のデータ管理システムＳによれば、プラント制御システム１の管理者やシステムエンジニアによる最新データ管理の作業負荷の低減、および誤ったデータを使用する可能性を低減することができる。
【０１４３】
また、サーバＰＣ１０等に記憶されたデータは、従来はシステムエンジニア等が手動によってファイル出力等をすることにより、バックアップデータを生成していた。これに対して、本実施形態のデータ管理システムＳのサーバＰＣ１０等のバックアップ部１１８は、記憶部１５０に記憶されたデータを、リストア可能な形式のバックアップデータとして定期的にクラウドシステム２に送信する。また、クラウドシステム２のバックアップデータ管理部２１２は、バックアップデータを記憶部２５０に保存する。このため、本実施形態のデータ管理システムＳによれば、大量データをバックアップする場合でも、システムエンジニア等の待ち時間や作業負荷が低減される。また管理対象のデータ量が多い場合であっても、システムエンジニア等がバックアップを取り忘れることや、誤ったデータを保存することを防止することができる。
【０１４４】
また、本実施形態のデータ管理システムＳのクラウドシステム２の記憶部２５０は、プラントの分野別に予め作成された分野別スケルトン情報を記憶する。また、サーバＰＣ１０等のスケルトン適用部１１９は、クラウドシステム２から分野別スケルトン情報を取得して変更または保存する。このため、本実施形態のデータ管理システムＳによれば、システムエンジニア等によるシステム構成データの登録およびアプリケーションプログラムの生成の作業負荷および作業時間を削減することができる。また、本実施形態のデータ管理システムＳによれば、システムエンジニア等は同一分野のプラントに共通するシステム構成データを手作業で登録しなくとも良いため、データの誤登録を低減することができる。
【０１４５】
また、本実施形態のデータ管理システムＳのクラウドシステム２の記憶部２５０は、サーバＰＣ１０等で使用されるソフトウェアの更新ファイルを記憶する。また、サーバＰＣ１０等のソフトウェア更新部１２０は、クラウドシステム２から更新ファイルをダウンロードし、更新プログラムを実行してソフトウェアの機能追加または変更を行う。このため、本実施形態のデータ管理システムＳによれば、システムエンジニア等が記憶媒体を用いて各クライアントＰＣ１１に個別に更新ファイルをコピーしなくとも良く、作業負荷および作業時間が削減される。また、本実施形態のデータ管理システムＳによれば、作業時間が削減されることにより、プラントの休止時間を短縮することができる。さらに、本実施形態のデータ管理システムＳによれば、ソフトウェアの更新漏れや、サーバＰＣ１０とクライアントＰＣ１１との間のソフトウェアの更新タイミングのずれを防止することができる。
【０１４６】
なお、本実施形態では、プラント制御システム１はサーバＰＣ１０と、クライアントＰＣ１１と、コントローラ１３を備えるものとしたが、プラント制御システム１の構成はこれに限定されるものではない。例えば、プラント制御システム１は、サーバＰＣ１０の代わりに通常のサーバ装置を備えても良い。
【０１４７】
本実施形態のサーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１４８】
また、本実施形態のサーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のサーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。また、本実施形態のサーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。
【０１４９】
本実施形態のサーバＰＣ１０、クライアントＰＣ１１または開発用ＰＣ３０で実行されるプログラムは、上述した各部（受付部、通信管理部、システム構成登録部、プログラム生成部、プログラム送信部、サーバクライアント管理部、データ同期部、データ取得部、バックアップ部、スケルトン適用部、ソフトウェア更新部、監視部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、受付部、通信管理部、システム構成登録部、プログラム生成部、プログラム送信部、サーバクライアント管理部、データ同期部、データ取得部、バックアップ部、スケルトン適用部、ソフトウェア更新部、監視部が主記憶装置上に生成されるようになっている。
【０１５０】
本実施形態のクラウドシステム２で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１５１】
また、本実施形態のクラウドシステム２で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のクラウドシステム２で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。また、本実施形態のクラウドシステム２で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。
【０１５２】
本実施形態のクラウドシステム２で実行されるプログラムは、上述した各部（取得部、データ管理部、バックアップデータ管理部、スケルトン情報管理部）を含むモジュール構成となっている。
【０１５３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５４】
１  プラント制御システム
２  クラウドシステム
３  開発環境
４  ネットワーク
１０  サーバＰＣ
１１，１１ａ〜１１ｎ  クライアントＰＣ
１３  コントローラ
３０  開発用ＰＣ
３１  開発用コントローラ
１１０  受付部
１１１  通信管理部
１１２  システム構成登録部
１１３  プログラム生成部
１１４  プログラム送信部
１１５  サーバクライアント管理部
１１６  データ同期部
１１７  データ取得部
１１８  バックアップ部
１１９  スケルトン適用部
１２０  ソフトウェア更新部
１２１  監視部
１５０  記憶部
１５１  発生データ保存データベース（ＤＢ）
２１０  取得部
２１１  データ管理部
２１２  バックアップデータ管理部
２１３  スケルトン情報管理部
２５０  記憶部
２５１  バックアップデータ
２５２  分野別スケルトン情報
Ｓ  データ管理システム
【図１】
2018180722.tif 000003
【図２】
2018180722.tif 000004
【図３】
2018180722.tif 000005
【図４】
2018180722.tif 000006
【図５】
2018180722.tif 000007
【図６】
2018180722.tif 000008
【図７】
2018180722.tif 000009
【図８】
2018180722.tif 000010
【図９】
2018180722.tif 000011
【図１０】
2018180722.tif 000012
【図１１】
2018180722.tif 000013