以下、添付の図面を用いて、本実施形態にかかる操作入力装置の一例であるHMI(Human Machine Interface)を有する制御システムについて説明する。なお、第2の実施形態以降では、それまでの実施形態で説明した事項と同様の事項については、説明を適宜省略する。
(第1の実施形態)
図1は、第1の実施形態にかかる制御システムの構成の一例を示す図である。まず、図1を用いて、本実施形態にかかる制御システムの構成の一例について説明する。
本実施形態にかかる制御システムは、図1に示すように、HMI1、コントローラ2、およびエンジニアリングツール3を有する。
本実施形態では、HMI1およびコントローラ2がコンポーネントの一例である。また、本実施形態では、HMI1、コントローラ2、およびエンジニアリングツール3は、LAN(Local Area Network)により互いに通信可能に接続されている。
そして、HMI1やコントローラ2等のコンポーネントは、ハードウェア(H/W)、OS(Operating System)、ソフトウェア(S/W)等の構成要素を含む。
具体的には、コントローラ2は、制御演算や入出力にリアルタイム性が求められるため、組み込み型のハードウェアやリアルタイムOS等の構成要素を含む。そして、コントローラ2は、組み込み型のハードウェアやリアルタイムOS等のプラットフォーム上で、当該コントローラ2の機能をサポートするソフトウェアが動作する。
また、HMI1は、汎用PCおよび汎用OS等の構成要素を含む。そして、HMI1は、汎用PCや汎用OS等のプラットフォーム上で、当該HMI1の機能をサポートするソフトウェアが動作する。
図2は、第1の実施形態にかかる制御システムの機能構成の一例を示す図である。次に、図2を用いて、本実施形態にかかる制御システムの機能構成の一例について説明する。
まず、コントローラ2の機能構成の一例について説明する。本実施形態では、コントローラ2は、図2に示すように、バージョン情報記憶部201、およびアラーム発生機能部202を有する。
バージョン情報記憶部201は、コントローラ2のコンポーネントIDと対応付けて、コントローラ2自身が有するソフトウェア、OS、ハードウェア等の構成要素のバージョン情報を記憶する。ここで、コンポーネントIDは、制御システム内において、HMI1やコントローラ2等のコンポーネントを識別可能とするIDである。
アラーム発生機能部202は、コントローラ2のメモリパリティエラー等のシステムアラームが発生した場合に、当該発生したシステムアラームを、LANを介して接続される、HMI1等の外部機器に通知する。
次に、エンジニアリングツール3の機能構成の一例について説明する。本実施形態では、エンジニアリングツール3は、図2に示すように、ガイダンス設定機能部301を有する。
ガイダンス設定機能部301は、ガイダンスデータベースを設定する。ここで、ガイダンスデータベースは、ガイダンス内容、および当該ガイダンス内容の表示条件を含むデータベースである。ガイダンス内容は、制御システム内のコンポーネントが有する構成要素のライセンスの更新時期が近づいた際に通知(表示)するメッセージである。
ここで、図3は、第1の実施形態におけるガイダンスデータベースのデータ内容の一例を示す図である。本実施形態では、ガイダンスデータベースは、図3に示すように、ガイダンス内容を識別するガイダンス番号に対応付けて、ガイダンス内容を表示するコンポーネント、ガイダンス内容の表示時期(ガイダンス内容の表示条件の一例)、ガイダンス内容のスヌーズ機能の設定(ガイダンス内容の表示条件の一例)、およびガイダンス内容を記憶する。
本実施形態では、ガイダンス内容には、図3に示すように、制御システム内のコンポーネントにおいてシステムアラームが発生した際に通知(表示)するメッセージ(例えば、コントローラ2において発生するメモリパリティエラーの通知用の定型文)が含まれる。システムアラームが発生した際のガイダンス内容の表示時期には、制御システム内のコンポーネントにおいてシステムアラームが発生した際に通知するガイダンス内容の表示時期が含まれる。
ここで、ガイダンスデータベースの設定処理の流れの一例について説明する。まず、ガイダンス設定機能部301は、エンジニアリングツール3のユーザによる操作に応じて、ガイダンス内容を設定するコンポーネントを設定する。
次に、ガイダンス設定機能部301は、ガイダンス内容の表示条件の一例であるガイダンス内容の表示時期を設定する。例えば、ガイダンス設定機能部301は、構成要素のライセンスが有効な期間であるライセンス期間が終了する前の日時(例えば、1年前、1か月前、または3カ月前)や、特定のシステムアラームの発生時(例えば、メモリパリティエラーの発生時)を、ガイダンス内容の表示時期として設定する。
次に、ガイダンス設定機能部301は、ガイダンス内容の表示条件の一例であるスヌーズ機能を設定する。例えば、ガイダンス設定機能部301は、スヌーズ機能によってガイダンス内容を通知する間隔(なし、1日おき、7日おきなど)を設定する。
次に、ガイダンス設定機能部301は、エンジニアリングツール3において表示されるガイダンス画面において、選択または直接入力されるメッセージを、ガイダンス内容(例えば、「設備担当の***さんに至急連絡してください。」、「定検時期を調整してください。」)として設定する。
さらに、ガイダンス設定機能部301は、当該ガイダンス画面において、システムアラーム(例えば、メモリパリティエラー)が発生した際に通知するメッセージ(例えば、「メモリモジュールを交換してください。」等の定型文)を、ガイダンス内容として設定する。なお、当該定型文は、ベンダーが予め用意し、エンジニアリングツール3に設定しておくものとする。
そして、ガイダンス設定機能部301は、設定したガイダンスデータベースを、制御システム内のコンポーネントのうち、ガイダンス内容を表示するコンポーネント(例えば、HMI1)が有するガイダンスDB記憶部105にダウンロードする。
次に、HMI1の機能構成の一例について説明する。本実施形態では、HMI1は、図2に示すように、ライセンス契約情報記憶部101、ライセンス契約情報収集機能部102、バージョン情報収集機能部103、バージョン情報記憶部104、ガイダンスDB記憶部105、表示制御部106、システムアラーム履歴記憶部107、および表示部108を有する。
バージョン情報記憶部104は、HMI1のコンポーネントIDと対応付けて、HMI1自身が有するソフトウェア、OS、ハードウェア等の構成要素のバージョン情報を記憶する。
ガイダンスDB記憶部105は、エンジニアリングツール3のガイダンス設定機能部301からダウンロードされるガイダンスデータベースを記憶する記憶部の一例である。
システムアラーム履歴記憶部107は、制御システム内のコンポーネント(例えば、コントローラ2)から通知されるシステムアラームの発生履歴(例えば、システムアラームの発生日時)を記憶する。
ライセンス契約情報記憶部101は、制御システムに対応付けて、当該制御システムに含まれる各コンポーネントの構成要素のバージョンを示すコンポーネント情報と、当該構成要素のライセンス期間を示すライセンス期間情報と、を含むライセンス契約情報を記憶する記憶部の一例である。
これにより、HMI1のユーザが、ライセンス契約情報記憶部101に記憶されるライセンス契約情報を確認することで、構成要素の更新時期を忘れないように、ユーザを確実にフォローすることができる。その結果、コンポーネントの構成要素の更新を円滑に進めることができる。
また、既設のコンポーネントが有する構成要素のバージョン情報をベンダーが把握し、既設のコンポーネントとの組合せ条件を満たすコンポーネントを用意することができる。その結果、コンポーネントの構成要素の更新を円滑に進めることができる。
本実施形態では、制御システムの外部のライセンス管理システム9(図2)において、ライセンス契約情報が生成され、HMI1等のコンポーネントに対して、当該生成されるライセンス契約情報が付与される。
例えば、ライセンス管理システム9を管理するベンダーは、制御システムを管理する顧客のメールアドレスに対して、当該生成されるライセンス契約情報を添付したメールを送信することにより、顧客に対してライセンス契約情報を付与する。または、ライセンス管理システム9を管理するベンダーは、制御システムを管理する顧客の住所に対して、ライセンス契約情報が記録されるメディアを郵送することにより、顧客に対してライセンス契約情報を付与する。そして、顧客は、HMI1を操作して、付与されるライセンス契約情報を、ライセンス契約情報記憶部101に書き込む。
ライセンス契約情報収集機能部102は、ライセンス契約情報記憶部101から、ライセンス契約情報を読み出す。
バージョン情報収集機能部103は、制御システム内の各コンポーネントから、バージョン情報を収集する。本実施形態では、バージョン情報収集機能部103は、HMI1自身のバージョン情報記憶部104およびコントローラ2のバージョン情報記憶部201から、バージョン情報を読み出す。
表示制御部106は、ライセンス契約情報収集機能部102によって読み出されるライセンス契約情報、およびバージョン情報収集機能部103により読み出されるバージョン情報に基づいて、表示部108に対して、バージョン・ライセンス情報表示画面を表示させる。
ここで、バージョン・ライセンス情報表示画面は、HMI1自身が属する制御システム内の各コンポーネントが有する構成要素のバージョン情報、および当該構成要素のライセンス期間を示す画面である。これにより、HMI1のユーザが、バージョン・ライセンス情報表示画面を確認することで、コンポーネントの更新時期を忘れないように、ユーザを確実にフォローすることができる。その結果、コンポーネントの構成要素の更新を円滑に進めることができる。
本実施形態では、ライセンス契約情報が含むコンポーネント情報が示す各構成要素のバージョン情報と、バージョン情報収集機能部103により収集される各構成要素のバージョン情報と、が異なる場合、表示制御部106は、バージョン情報収集機能部103により収集される各構成要素のバージョン情報を、バージョン・ライセンス情報表示画面に含めるものとする。
また、表示制御部106は、ライセンス契約情報収集機能部102により読み出されるライセンス契約情報、およびガイダンスDB記憶部105に記憶されるガイダンスデータベースに基づいて、HMI1が有する表示部108に対して、ガイダンス画面を表示させる。
ここで、ガイダンス画面は、HMI1自身が属する制御システム内の各コンポーネントが有する構成要素のライセンスの更新時期を示すガイダンス内容を含む画面である。これにより、HMI1のユーザがコンポーネントの更新時期を忘れないように、ユーザをより確実にフォローできる。その結果、コンポーネントの構成要素の更新をより円滑に進めることができる。
本実施形態では、システムアラームが発生した場合も、表示制御部106は、ライセンス契約情報およびガイダンスデータベースに基づいて、システムアラームが発生した際に通知するガイダンス内容を含むガイダンス画面を、HMI1が有する表示部108に対して表示させる。これにより、制御システム内のコンポーネントにおいて発生したシステムアラームを、HMI1のユーザが見落とさないように、ユーザを確実にフォローできる。その結果、コンポーネントで発生するシステムアラームに対する対応を円滑に進めることができる。
図4は、第1の実施形態にかかるHMIに付与されるライセンス契約情報等の一例を示す図である。次に、図4を用いて、本実施形態にかかるHMI1に付与されるライセンス契約情報等の一例について説明する。
本実施形態では、ライセンス管理システム9は、図4(a)に示すように、コンポーネントのライセンスの契約締結時に、顧客情報と、コンポーネント情報と、ライセンス期間情報と、を別々に管理している。具体的には、ライセンス管理システム9は、この時点で、コンポーネント情報に示すように、顧客(顧客ID)が保持しているコンポーネントの種類(コンポーネントID)や構成要素やバージョンを管理している。しかし、ライセンス管理システム9は、顧客における制御システムを構成するコンポーネントの組み合わせの情報は、管理していない。したがって、図4(a)における顧客情報とライセンス期間情報では、制御システムIDの欄が空欄になっている。
その後、ライセンス管理システム9は、ライセンスの契約を行ったコンポーネントのコンポーネントIDを、顧客に通知する。コンポーネントIDが通知された顧客は、制御システムを構成するコンポーネントの組み合わせの情報(コンポーネントID)をライセンス管理システム9に申告する。
ライセンス管理システム9は、顧客から、制御システムを構成するコンポーネント(コンポーネントID)の申告を受け付けると、制御システムIDを採番する。これにより、図4(b)に示すように、ライセンス管理システム9は、その制御システムIDをキーに顧客情報とコンポーネント情報とライセンス期間情報を関連付けてライセンス契約情報を作成する。図4(b)の例では、ライセンス契約情報は、顧客「Customer A」における制御システム「ControlSystemA」がコンポーネント「ComponentA」、「ComponentB」から構成されていること、各コンポーネントの構成要素ごとのバージョン、各コンポーネントのライセンス期間などを含んで構成されている。
その後、ライセンス管理システム9は、ライセンス契約情報を、該当する顧客に対して付与する。HMI1は、ライセンス管理システム9から付与されるライセンス契約情報を、ライセンス契約情報記憶部101に書き込む。
ところで、コンポーネントが有するハードウェア、OS、ソフトウェア等の構成要素には、組合せ可能なバージョンの条件が存在する。例えば、長く使用されているHMI1のハードウェアおよびOSが故障して更新する場合、調達可能なハードウェアおよびOSは新しいバージョンであることが多い。そのため、構成要素のバージョンの組合せの条件によっては、既設のソフトウェアを流用することができず、ハードウェアおよびOSだけでなく、ソフトウェアのバージョンアップも必要となる。
また、コンポーネント間においても、組合せ可能なバージョンの条件が存在する。例えば、長く使用されているHMI1が故障して更新する場合、調達可能なハードウェアおよびOSは、新しいバージョンであることが多い。この場合、HMI1に搭載される新しいバージョンのハードウェアおよびOSには、新しい機能が搭載され、制御システム内の他のコンポーネント(例えば、コントローラ2)に対しても影響を及ぼすため、当該他のコンポーネントのバージョンアップも必要となる。
よって、コンポーネントの追加時や更新時には、コンポーネントが有する複数の構成要素間およびコンポーネント間において組合せ可能なバージョンを確認することが必要となる。特に、リカーリング型ビジネスモデルを制御システム内のコンポーネントに適用した場合、ライセンス期間内におけるコンポーネントの更新時期は、契約によって決定される。よって、コンポーネントの更新を円滑に進めるためには、ユーザが更新時期を忘れないように、ユーザを確実にフォローする必要がある。また、コンポーネントの構成要素の更新を円滑に進めるためには、既設のコンポーネントのバージョン情報をベンダーが把握し、既設のコンポーネントとの組合せ条件を満たすコンポーネントを用意する必要がある。
そこで、本実施形態では、HMI1は、上述したように、図4(b)に示すライセンス契約情報を記憶するライセンス契約情報記憶部101を有する。これにより、HMI1のユーザが、ライセンス契約情報記憶部101に記憶されるライセンス契約情報を確認することで、構成要素の更新時期を忘れないように、ユーザを確実にフォローすることができる。その結果、コンポーネントの構成要素の更新を円滑に進めることができる。また、既設のコンポーネントが有する構成要素のバージョン情報をベンダーが把握し、既設のコンポーネントとの組合せ条件を満たすコンポーネントを用意することができる。その結果、コンポーネントの構成要素の更新を円滑に進めることができる。
図5は、第1の実施形態にかかるHMI1において表示されるバージョン・ライセンス情報表示画面の一例を示す図である。次に、図5を用いて、本実施形態にかかるHMI1において表示されるバージョン・ライセンス情報表示画面G1の一例について説明する。
本実施形態では、表示制御部106は、図5に示すように、ライセンス契約情報記憶部101に記憶されるライセンス契約情報に基づいて、HMI1自身が属する制御システム内のコンポーネント、当該コンポーネントが有する構成要素、当該構成要素のバージョン情報、当該コンポーネントのコンポーネントID、および当該コンポーネントのライセンス期間を含むバージョン・ライセンス情報表示画面G1を、HMI1の表示部108に表示する。
また、本実施形態では、表示制御部106は、図5に示すように、ライセンス契約情報の出力を指示可能なファイル出力ボタン401を含むバージョン・ライセンス情報表示画面G1を、HMI1の表示部108に表示する。そして、バージョン・ライセンス情報表示画面G1に含まれるファイル出力ボタン401によって、ライセンス契約情報の出力が指示されると、ライセンス契約情報収集機能部102は、プリンタ等に対して、ライセンス契約情報記憶部101から読み出したライセンス契約情報の出力を指示する。
図6は、第1の実施形態にかかるHMI1において表示されるガイダンス画面の一例を示す図である。次に、図6を用いて、本実施形態にかかるHMI1において表示されるガイダンス画面G2の一例について説明する。
本実施形態では、表示制御部106は、ライセンス契約情報記憶部101に記憶されるライセンス契約情報が含むライセンス期間情報、およびガイダンスDB記憶部105に記憶されるガイダンスデータベースが含むガイダンス内容の表示時期(例えば、ライセンス期間が終了する1か月前)に基づいて、ガイダンス内容の表示時期となったか否かを判定する。
そして、ガイダンス内容の表示時期となったと判定した場合、表示制御部106は、図6に示すように、ライセンス契約情報が含むライセンス期間情報、および、ガイダンスデータベースが含むスヌーズ機能の設定に基づいて、ライセンスの更新期間を示すデフォルトのメッセージ(例えば、「HMIの更新をお願いします。ライセンス期間:2019/06/06-2022/06/05 スヌーズ:1日おき」)を含むガイダンス画面G2を、HMI1の表示部108に表示する。その際、表示制御部106は、図6に示すように、ガイダンスデータベースが含むガイダンス内容(例えば、「設備担当の***さんに至急連絡してください。」)を、ガイダンス画面G2に含めるものとする。
また、表示制御部106は、図6に示すように、ガイダンス画面G2を閉じることを指示可能なOKボタン501を、ガイダンス画面G2に含める。そして、表示制御部106は、OKボタン501によって、ガイダンス画面G2を閉じることが指示されると、表示部108に対するガイダンス画面G2の表示を終了する。ただし、ガイダンスデータベースにおいてガイダンス内容のスヌーズ機能が設定されている場合には、表示制御部106は、スヌーズ機能の設定(例えば、1日おき)に応じて、表示部108に対するガイダンス画面G2の表示を繰り返す。
図7は、第1の実施形態にかかるHMI1において表示されるガイダンス画面の一例を示す図である。次に、図7を用いて、本実施形態にかかるHMI1において表示されるガイダンス画面G2の他の例について説明する。
本実施形態では、表示制御部106は、制御システム内のコンポーネント(例えば、コントローラ2のアラーム発生機能部202)から、システムアラームが通知されたか否かを判定する。そして、システムアラームが通知された場合、表示制御部106は、通知されたシステムアラームが、ガイダンスDB記憶部105に記憶されるガイダンスデータベースに含まれるガイダンス内容の表示条件(例えば、メモリパリティエラー)に合致するか否かを判定する。
通知されたシステムアラームが、ガイダンス内容の表示条件に合致した場合、表示制御部106は、図7に示すように、ガイダンスデータベースが含むガイダンス内容に基づいて、ライセンスの更新期間を示すデフォルトのメッセージと、当該通知されたシステムアラームに対応するガイダンス内容(例えば、「メモリモジュールを交換してください。」)と、を含むガイダンス画面G2を、HMI1の表示部108に表示する。
その際、表示制御部106は、図7に示すように、システムアラーム履歴記憶部107に記憶されるシステムアラームの発生履歴に基づいて、システムアラームの発生履歴を示す情報(例えば、「コントローラのメモリパリティエラーはライセンス期間:2019/06/06-2022/06/05において3回発生しています。前回の発生日時は2020/02/02 22:22:22です。」)を、ガイダンス画面G2に含める。
このように、第1の実施形態にかかる制御システムによれば、HMI1のユーザが、ライセンス契約情報記憶部101に記憶されるライセンス契約情報を確認することで、構成要素の更新時期を忘れないように、ユーザを確実にフォローすることができるので、コンポーネントの構成要素の更新を円滑に進めることができる。
(第2の実施形態)
第2の実施形態では、HMI1は、バージョン情報収集機能部103により収集した構成要素のバージョンと、ライセンス契約情報記憶部101に記憶される構成要素のバージョンと、の差分情報を求め、当該求めた差分情報を、ゲートウェイ701に送信する例である。以下の説明では、第1の実施形態と同様の構成については説明を省略する。
図8は、第2の実施形態にかかる制御システムの機能構成の一例を示す図である。図8を用いて、本実施形態にかかる制御システムの機能構成の一例について説明する。
本実施形態にかかる制御システムは、図8に示すように、HMI1、コントローラ2、およびエンジニアリングツール3に加えて、ゲートウェイ701を有する。
ゲートウェイ701は、図8に示すように、制御システム内のHMI1やコントローラ2等のコンポーネントと、ライセンス管理システム9等の外部システムと、の間の通信を中継する機器(ゲートウェイ装置)である。ゲートウェイ701を介して、コンポーネントとライセンス管理システム9間で送受信される各種情報(例えば、ライセンス契約情報)は、暗号化等により秘匿化されるものとする。
本実施形態では、ゲートウェイ701は、図8に示すように、ライセンス申請機能部701a、ライセンス契約情報配信機能部701b、およびバージョン情報収集機能部701cを有する。
ライセンス申請機能部701aは、コンポーネントのライセンスの契約締結後、顧客から申告されるコンポーネントIDを、インターネット等のネットワークを介して、ライセンス管理システム9に通知する(動作(1))。なお、本実施形態では、ライセンス申請機能部701aをゲートウェイ701に設けているが、ライセンス管理システム9に設けても良い。
次に、ライセンス管理システム9は、ライセンス申請機能部701aから通知されたコンポーネントIDのコンポーネントのライセンス契約情報が含む顧客情報およびライセンス期間情報に対して、採番した制御システムIDを含める。その後、ライセンス管理システム9は、ライセンス契約情報(図4(b))を、ゲートウェイ701に送信する(動作(2))。
つまり、ライセンス契約情報配信機能部701bは、ネットワークを介して、ライセンス管理システム9から、ライセンス契約情報を受信する。そして、ライセンス契約情報配信機能部701bは、ライセンス管理システム9から受信したライセンス契約情報を、LANを介して、制御システム内のHMI1に配信する(動作(3))。HMI1は、ライセンス契約情報配信機能部701bから配信されたライセンス契約情報を、ライセンス契約情報記憶部101に書き込む。
次に、バージョン情報収集機能部701cは、LANを介して、HMI1のバージョン情報収集機能部103と通信して、当該バージョン情報収集機能部103により収集される、制御システム内のコンポーネントのバージョン情報を受信する(動作(4))。本実施形態では、バージョン情報収集機能部701cは、制御システム内のHMI1のうち、いずれか1つのHMI1のバージョン情報収集機能部103により収集されるバージョン情報を受信するものとする。
上述のライセンス申請機能部701aは、バージョン情報収集機能部701cによりHMI1から受信したバージョン情報(コンポーネントIDを含む)を、ネットワークを介して、ライセンス管理システム9に送信する(動作(5))。本実施形態では、ライセンス申請機能部701aは、暗号化されているコンポーネントのバージョン情報を復号して、ライセンス管理システム9に送信する。ライセンス管理システム9は、当該ライセンス管理システム9において生成するライセンス契約情報が含むコンポーネント情報が示す構成要素のバージョンと、受信するバージョン情報が示す構成要素のバージョンと、が一致するか否かを判定する。
そして、ライセンス管理システム9は、ライセンス契約情報が含むコンポーネント情報が示す構成要素のバージョンと、受信するバージョン情報が示す構成要素のバージョンとが異なる場合、当該コンポーネント情報が示す構成要素のバージョンを、当該受信するバージョン情報が示す構成要素のバージョンによって更新する。これにより、ライセンス管理システム9を管理するベンダーは、制御システム内の各コンポーネントが有する既設の構成要素のバージョンを容易に把握することができるので、構成要素の更新を円滑に進めることができる。
本実施形態では、HMI1のライセンス契約情報収集機能部102は、ライセンス管理システム9から、インターネット等のネットワークを介して、ライセンス契約情報を受信する。具体的には、ライセンス契約情報収集機能部102は、ゲートウェイ701が有するライセンス契約情報配信機能部701bにより配信されるライセンス契約情報を受信する。そして、ライセンス契約情報収集機能部102は、受信したライセンス契約情報を、ライセンス契約情報記憶部101に書き込む。
HMI1のバージョン情報収集機能部103は、制御システム内の各コンポーネントから収集したバージョン情報を、LANを介して、ゲートウェイ701に送信する。その際、バージョン情報収集機能部103は、ライセンス契約情報記憶部101に記憶されるライセンス契約情報が含むコンポーネント情報(バージョン)と、制御システム内の各コンポーネントから収集するバージョン情報と、が一致するか否かを判定する。
そして、バージョン情報収集機能部103は、ライセンス契約情報が含むコンポーネント情報が示す構成要素のバージョンと、制御システム内の各コンポーネントから収集するバージョン情報が示す構成要素のバージョンと、の差分情報を、LANを介して、ゲートウェイ701に送信する。すなわち、バージョン情報収集機能部103は、制御システム内の各コンポーネントから収集するバージョン情報のうち、ライセンス契約情報が含むコンポーネント情報が示す構成要素のバージョンと異なるバージョンを示すバージョン情報を、差分情報として、ゲートウェイ701に送信する。
このように、第2の実施形態にかかる制御システムによれば、ライセンス管理システム9を管理するベンダーは、制御システム内の各コンポーネントが有する既設の構成要素のバージョンを容易に把握することができるので、構成要素の更新を円滑に進めることができる。
(第3の実施形態)
次に、第3の実施形態の制御システムについて説明する。図9は、第3の実施形態にかかる制御システムにおけるデータの流れを示す図である。第3の実施形態では、HMI1から、ライセンス申請時にコンポーネントのバージョン情報をゲートウェイ701に送信する。
まず、ゲートウェイ701のバージョン情報収集機能部701cは、HMI1のバージョン情報収集機能部103と通信し、コンポーネントのバージョン情報を取得する(動作(11)、(12))。なお、このバージョン情報は、暗号化処理されている。
次に、ゲートウェイ701のライセンス申請機能部701aは、バージョン情報収集機能部701cから取得したバージョン情報を復号する(動作(13))。このようにして、ライセンス申請機能部701aは、制御システムの全コンポーネントのバージョン情報(コンポーネントIDを含む。)を取得する。
次に、ゲートウェイ701のライセンス申請機能部701aは、ライセンス管理システム9に対して、ライセンス申請時に、バージョン情報(コンポーネントIDを含む。)を送信する(動作(14))。以降の各装置の動作は、ライセンス管理システム9が制御システムの全コンポーネントのバージョン情報をすでに取得している以外は、第1の実施形態と同様である。
このように、第3の実施形態にかかる制御システムによれば、各コンポーネントからライセンス管理システム9へのライセンス申請等の処理をより簡易的かつ正確にすることができる。
なお、ライセンス申請機能部701aを設ける場所は、ゲートウェイ701に限定されず、ライセンス管理システム9であってもよい。
(第4の実施形態)
次に、第4の実施形態の制御システムについて説明する。図10は、第4の実施形態にかかる制御システムにおけるデータの流れを示す図である。第4の実施形態では、ライセンス申請後に、ゲートウェイ701において定期的にコンポーネントのバージョン情報を収集し、ライセンス管理システム9に送信する。
まず、ゲートウェイ701のバージョン情報収集機能部701cは、定期的に、HMI1のバージョン情報収集機能部103と通信し、コンポーネントのバージョン情報(コンポーネントIDを含む。)を取得する(動作(21)、(22))。
次に、ゲートウェイ701のバージョン情報収集機能部701cは、ライセンス管理システム9に対して、コンポーネントのバージョン情報(コンポーネントIDを含む。)を送信する。
このように、第4の実施形態にかかる制御システムによれば、ライセンス更新予定日に更新を円滑に進めるために、ライセンス管理システム9を管理するベンダーは、既設のコンポーネントのバージョン情報を常に把握することができ、便利である。
(第5の実施形態)
次に、第5の実施形態の制御システムについて説明する。まず、前提について説明する。ライセンス契約が更新されず、制御システムの各コンポーネントが使用され続ける場合がある。これには、意図的な場合と、意図的でない場合(例えば、ライセンス管理システム9の障害・停止、ユーザ設備担当やベンダー営業担当の引継ぎ漏れ等の人為的なミスなど)が考えられる。
意図的な場合は機能停止等の制約が必要な一方で、意図的でない場合は制約が掛からないような配慮が必要である。例えば、ライセンス管理システム9を管理するベンダー側に非がないと言い切れない場合、制御システムの機能停止により、コンポーネントを使用するユーザ側の操業損失が発生すると、ベンダーが責任を追及されかねない。そのため、コンポーネントの使用に制約を掛ける場合には、ベンダー側の事業・営業判断(例えば、制約を掛ける旨をユーザに通知して了承を得られた。過去に何回も更新されず悪質性がある。)が必要になる。
そこで、ライセンス契約情報に、ライセンス期間が経過したときの各コンポーネントにおける所定の機能停止の制約を猶予するか否かの情報を示す猶予情報を含める。
図11は、第5の実施形態にかかるHMI1に付与されるライセンス契約情報の一例を示す図である。図4と同様の事項については、説明を適宜省略する。図11(a)に示すように、コンポーネントのライセンスの契約締結時に、ライセンス管理システム9は、顧客情報と、ゲートウェイ情報と、コンポーネント情報と、ライセンス期間情報と、を別々に管理している。
この時点で、ゲートウェイ情報におけるゲートウェイIDと制御システムIDは空欄である。また、ライセンス期間情報には、猶予の有無を示す猶予情報の欄が設けられている。猶予情報が「あり」の場合、ライセンス期間が経過したときに、コンポーネントにおける所定の機能停止の制約を猶予する(つまり、制約を掛けない)。猶予情報が「なし」の場合、ライセンス期間が経過したときに、コンポーネントにおける所定の機能停止の制約を猶予しない(つまり、制約を掛ける)。
その後、ライセンス管理システム9は、顧客から、制御システムを構成するコンポーネント(コンポーネントID)の申告を受け付けると、制御システムIDを採番する。これにより、図11(b)に示すように、ライセンス管理システム9は、その制御システムIDをキーに顧客情報とゲートウェイ情報とコンポーネント情報とライセンス期間情報を関連付けてライセンス契約情報を作成する。
その後、ライセンス管理システム9は、ライセンス契約情報を、該当する顧客に対して付与する。HMI1は、ライセンス管理システム9から付与されるライセンス契約情報を、ライセンス契約情報記憶部101に書き込む。
図12は、第5の実施形態にかかるHMI1において表示されるバージョン・ライセンス情報表示画面の一例を示す図である。図5と同様の事項については、説明を適宜省略する。HMI1の表示制御部106(図2)は、図12に示すように、ライセンス契約情報記憶部101に記憶されるライセンス契約情報に基づいて、図5に示す各項目に加えて猶予情報を含むバージョン・ライセンス情報表示画面G1を、HMI1の表示部108に表示する。
このように、第5の実施形態にかかる制御システムによれば、ライセンス契約情報に猶予情報を含めることで、ライセンス管理システム9を管理するベンダーは、ライセンス期間が経過したときに各コンポーネントにおける所定の機能停止の制約を猶予するか否かを事業・営業判断で決定し設定することができる。また、コンポーネントのユーザ側では、HMI1によって、コンポーネントごとに当該猶予の有無を画面上で簡単に確認することができ、便利である。
(第6の実施形態)
次に、第6の実施形態の制御システムについて説明する。第6の実施形態では、各コンポーネントが、ライセンス契約情報記憶部DBを備えるとともに、ライセンス期間経過後に所定の機能停止の制約を掛ける制約制御機能部を備える。
図13は、第6の実施形態にかかる制御システムの機能構成の一例を示す図である。なお、図13は、主に図2との相違点を示した模式図である。HMI1は、ライセンス契約情報を記憶するライセンス契約情報記憶部101を備える。コントローラ2は、ライセンス契約情報を記憶するライセンス契約情報記憶部211と、制約機能制御部212と、POU(Program Organization Unit)を記憶するタスクエントリ213と、を備える。
エンジニアリングツール3は、ライセンス契約情報を記憶するライセンス契約情報記憶部311と、POUプログラムコード312と、制約機能制御部313と、を備える。
次に、制約の例について説明する。例えば、コントローラ2のエンジニアリング(コントローラ2の登録、POUの設計、変数の割り当てなど)は、専用のエンジニアリングツール3を使用し、コントローラ2にデータをダウンロードすることで実現する。
POUのダウンロードの際、例えば、エンジニアリングツール3の制約機能制御部313は、ライセンス契約情報記憶部311を参照し、ライセンス契約期間外で、かつ、猶予が「なし」の場合、以下の制約1、2のように制約をかける。
(制約例1)
エンジニアリングツール3の制約機能制御部313は、エンジニアリングツール3がライセンス契約期間外のとき、ダウンロード(送信)制約をかける。
(制約例2)
エンジニアリングツール3の制約機能制御部313は、コントローラ2がライセンス契約期間外のとき、ダウンロード(送信)制約をかける。
また、POUのダウンロードの際、例えば、コントローラ2の制約機能制御部212は、ライセンス契約情報記憶部211を参照し、ライセンス契約期間外で、かつ、猶予が「なし」の場合、以下の制約3,4のように制約をかける。
(制約例3)
コントローラ2の制約機能制御部212は、エンジニアリングツール3がライセンス契約期間外のとき、ダウンロード(受信)制約をかける。
(制約例4)
コントローラ2の制約機能制御部212は、コントローラ2がライセンス契約期間外のとき、ダウンロード(受信)制約をかける。
このように、第6の実施形態にかかる制御システムによれば、ライセンス契約が更新されないままライセンス契約期間が経過し、制御システムの各コンポーネントが使用され続ける場合に、各コンポーネントにおいて機能停止の制約を加えることができ、便利である。
なお、本実施形態のHMI1、コントローラ2、エンジニアリングツール3、ゲートウェイ701等で実行されるプログラムは、ROM等に予め組み込まれて提供される。また、当該プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
さらに、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、当該プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本実施形態のHMI1で実行されるプログラムは、上述した各部(ライセンス契約情報収集機能部102、バージョン情報収集機能部103、表示制御部106)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサの一例)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ライセンス契約情報収集機能部102、バージョン情報収集機能部103、表示制御部106が主記憶装置上に生成されるようになっている。
本実施形態のコントローラ2で実行されるプログラムは、上述した各部(アラーム発生機能部202)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサの一例)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、アラーム発生機能部202が主記憶装置上に生成されるようになっている。
本実施形態のエンジニアリングツール3で実行されるプログラムは、上述した各部(ガイダンス設定機能部301)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサの一例)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ガイダンス設定機能部301が主記憶装置上に生成されるようになっている。
本実施形態のゲートウェイ701で実行されるプログラムは、上述した各部(ライセンス申請機能部701a、ライセンス契約情報配信機能部701b、バージョン情報収集機能部701c)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサの一例)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ライセンス申請機能部701a、ライセンス契約情報配信機能部701b、バージョン情報収集機能部701cが主記憶装置上に生成されるようになっている。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。