IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特開2024-44823産業用コントローラの制御プログラムの管理システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024044823
(43)【公開日】2024-04-02
(54)【発明の名称】産業用コントローラの制御プログラムの管理システム
(51)【国際特許分類】
   G05B 19/042 20060101AFI20240326BHJP
   G05B 9/03 20060101ALI20240326BHJP
   G06F 11/20 20060101ALI20240326BHJP
【FI】
G05B19/042
G05B9/03
G06F11/20 620
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022150585
(22)【出願日】2022-09-21
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(72)【発明者】
【氏名】川本 淳一
【テーマコード(参考)】
5B034
5H209
5H220
【Fターム(参考)】
5B034AA01
5B034DD02
5H209DD20
5H209GG20
5H209HH13
5H209JJ05
5H209SS01
5H220AA06
5H220BB09
5H220CC06
5H220CX01
5H220HH03
5H220HH08
5H220JJ12
5H220JJ16
(57)【要約】
【課題】2台のサーバ装置によって冗長化を実現することができる、産業用コントローラの制御プログラムの管理システムを提供する。
【解決手段】本実施の形態の管理システムは、第1のサーバ装置と、第2のサーバ装置とを備えている。通常動作時において、第1のサーバ装置はマスタ状態であり、第2のサーバ装置はバックアップ状態である。第2のサーバ装置は、第1のサーバ装置から送信されるデータを受信する第1のグループに加入している。第1のサーバ装置は、第1のヘルシー信号を一定周期で第1のグループ宛に送信する。第2のサーバ装置は、第1のサーバ装置から第1のグループ宛に送信される第1のヘルシー信号に基づいて、バックアップ状態からマスタ状態に切り替わる。
【選択図】図5
【特許請求の範囲】
【請求項1】
産業用コントローラの制御プログラムの管理システムであって、
第1の処理部および前記制御プログラムが登録される第1のデータベースを含む第1のサーバ装置と、
第2の処理部および前記制御プログラムが登録される第2のデータベースを含む第2のサーバ装置と
を備え、
通常動作時において、前記第1のサーバ装置の前記第1の処理部はマスタ状態であり、前記第2のサーバ装置の前記第2の処理部はバックアップ状態であり、前記第2のサーバ装置は、前記第1のサーバ装置から送信されるデータを受信する第1のグループに加入しており、
前記第1のサーバ装置の前記第1の処理部は、第1のヘルシー信号を一定周期で前記第1のグループ宛に送信し、
前記第2のサーバ装置の前記第2の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号に基づいて、前記バックアップ状態から前記マスタ状態に切り替わる、管理システム。
【請求項2】
前記第2のサーバ装置の前記第2の処理部は、前記マスタ状態に切り替わると、前記第1のグループから離脱して、前記第2のサーバ装置から送信されるデータを受信する第2のグループを生成する、請求項1に記載の管理システム。
【請求項3】
前記第2のサーバ装置の前記第2の処理部は、第2のヘルシー信号を一定周期で前記第2のグループ宛に送信する、請求項2に記載の管理システム。
【請求項4】
前記第1のヘルシー信号は、所定の周期でカウントアップまたはカウントダウンされる信号であり、
前記第2のサーバ装置の前記第2の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号の値が所定の期間にわたって変化しない場合に、前記バックアップ状態から前記マスタ状態に切り替わる、請求項1に記載の管理システム。
【請求項5】
前記第2のサーバ装置の前記第2の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号が受信されない場合に、前記バックアップ状態から前記マスタ状態に切り替わる、請求項1に記載の管理システム。
【請求項6】
第3の処理部を含む1つまたは複数のクライアント装置をさらに備え、
前記通常動作時において、前記クライアント装置は、前記第1のグループに加入しており、
前記クライアント装置の前記第3の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号に基づいて、前記第1のグループから離脱して、前記第2のグループに加入する、請求項2に記載の管理システム。
【請求項7】
前記クライアント装置の前記第3の処理部は、前記第1のグループに加入している際は、前記第1のサーバ装置の前記第1のデータベースにアクセスし、前記第2のグループに加入している際は、前記第2のサーバ装置の前記第2のデータベースにアクセスする、請求項6に記載の管理システム。
【請求項8】
前記第1のサーバ装置の前記第1の処理部は、前記第1のデータベースの更新時に第1の更新履歴を作成し、前記第2のサーバ装置の前記第2の処理部は、前記第1の更新履歴に基づいて、前記第1のデータベースから前記第2のデータベースへの等値化を行い、
前記第2のサーバ装置の前記第2の処理部は、前記第2のデータベースの更新時に第2の更新履歴を作成し、前記第1のサーバ装置の前記第1の処理部は、前記第2の更新履歴に基づいて、前記第2のデータベースから前記第1のデータベースへの等値化を行う、請求項1に記載の管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施の形態は、産業用コントローラの制御プログラムの管理システムに関する。
【背景技術】
【0002】
産業プラントの制御システムは、産業用コントローラの制御プログラムを管理する管理システムを含んでいる。管理システムは、サーバ装置と複数のクライアント装置とから構成されている。大規模な産業プラントでは、クライアント装置の数は数十台から数百台にもなる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-135157号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような管理システムにおいて、サーバ装置を冗長化する要求が存在する。しかしながら、一般的な冗長化の技術では、例えばサーバ装置を2台にすると、その2台のサーバ装置を制御するための別の1台のサーバ装置が必要となり、合計3台のサーバ装置が必要となる。
【0005】
本実施の形態は、上記のような課題を解決するためのものであり、2台のサーバ装置によって冗長化を実現することができる、産業用コントローラの制御プログラムの管理システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本実施の形態に係る産業用コントローラの制御プログラムの管理システムは、第1の処理部および制御プログラムが登録される第1のデータベースを含む第1のサーバ装置と、第2の処理部およびプログラムが登録される第2のデータベースを含む第2のサーバ装置とを備える。通常動作時において、第1のサーバ装置の第1の処理部はマスタ状態であり、第2のサーバ装置の第2の処理部はバックアップ状態であり、第2のサーバ装置は、第1のサーバ装置から送信されるデータを受信する第1のグループに加入している。第1のサーバ装置の第1の処理部は、第1のヘルシー信号を一定周期で第1のグループ宛に送信し、第2のサーバ装置の第2の処理部は、第1のサーバ装置から第1のグループ宛に送信される第1のヘルシー信号に基づいて、バックアップ状態からマスタ状態に切り替わる。
【図面の簡単な説明】
【0007】
図1】実施の形態1に係る産業プラントの制御システムの構成を示す図。
図2】第1のサーバ装置の構成を示す図。
図3】第2のサーバ装。置の構成を示す図。
図4】クライアント装置の構成を示す図。
図5】管理システムの正常時の動作を説明する図。
図6A】第1のサーバ装置の異常発生時の動作を説明する図。
図6B】第1のサーバ装置の異常発生時の動作を説明する図。
図6C】第1のサーバ装置の異常発生時の動作を説明する図。
図6D】第1のサーバ装置の異常発生時の動作を説明する図。
図7A】第1のサーバ装置の通信障害時の動作を説明する図。
図7B】第1のサーバ装置の通信障害時の動作を説明する図。
図7C】第1のサーバ装置の通信障害時の動作を説明する図。
図7D】第1のサーバ装置の通信障害時の動作を説明する図。
図8A】第2のサーバ装置の通信障害時の動作を説明する図。
図8B】第2のサーバ装置の通信障害時の動作を説明する図。
図9A】2つのサーバ装置がともにマスタ状態となる場合の動作を説明する図。
図9B】2つのサーバ装置がともにマスタ状態となる場合の動作を説明する図。
図9C】2つのサーバ装置がともにマスタ状態となる場合の動作を説明する図。
図9D】2つのサーバ装置がともにマスタ状態となる場合の動作を説明する図。
【発明を実施するための形態】
【0008】
以下では、図面を参照しながら、本実施の形態について説明する。なお、以降の説明では、本実施の形態に係る制御システムを産業プラントの制御に使用する例に基づいて説明する。ただし、本実施の形態に係る制御システムの適用可能な範囲は、産業プラントの制御に限定されるものではない。また、図面において同一または対応する要素には同じ参照符号を付して、詳細な説明は適宜省略する。
【0009】
(実施の形態1)
図1は、実施の形態1に係る産業プラントの制御システム1の構成を示す図である。制御システム1は、産業用コントローラの制御プログラムを管理する管理システム100を含んでいる。管理システム100は、第1のサーバ装置10と、第2のサーバ装置20と、1つまたは複数のクライアント装置30とを備えている。管理システム100は冗長化された構成を有しており、通常動作時には、第1のサーバ装置10がマスタ状態、すなわち稼働状態であり、第2のサーバ装置20がバックアップ状態、すなわち待機状態である。第1のサーバ装置10、第2のサーバ装置20、およびクライアント装置30は、制御ネットワーク61に接続されている。
【0010】
制御ネットワーク61には、1つまたは複数の産業用コントローラ40が接続されている。産業用コントローラ40は、フィールドネットワーク62に接続されている。フィールドネットワーク62には、1つまたは複数のフィールド機器50が接続されている。なお、制御ネットワーク61およびフィールドネットワーク62の具体的な実現方法は特に限定されるものではないが、一例として、制御ネットワーク61およびフィールドネットワーク62は、イーサネット(登録商標)である。また、制御ネットワーク61は、二重化されていてもよい。
【0011】
図2は、第1のサーバ装置10の構成を示す図である。第1のサーバ装置10は、第1の処理部11と、第1の記憶部12と、第1のデータベース13とを備えている。第1の処理部11は、第1のサーバ装置10の動作を制御する。第1の記憶部12には、第1のヘルシーカウンタ12aの領域が確保されている。第1のデータベース13には、産業用コントローラ40の制御プログラムが登録される。
【0012】
第1のサーバ装置10は、第2のサーバ装置20および1つまたは複数のクライアント装置30が加入することができる第1のグループを管理している。第1のサーバ装置10は、第1のグループ宛にデータを送信することにより、第1のグループに加入している第2のサーバ装置20および1つまたは複数のクライアント装置30に同一のデータを一括送信することができる。このような仕組みは、例えば、UDP(User Datagram Protocol)のマルチキャスト通信によって実現することができる。
【0013】
第1のヘルシーカウンタ12aは、第1のサーバ装置10が正常に機能している間は、所定の周期、例えば1秒周期でカウントアップまたはカウントダウンされる。このような仕組みは、例えば、所定の周期で割り込みを発生させてカウンタ変数の値をインクリメントまたはデクリメントすることによって実現することができる。
【0014】
第1のサーバ装置10の具体的な実現方法は特に限定されるものではないが、一例として、第1のサーバ装置10は、パーソナルコンピュータである。この場合、第1の処理部11はCPU(Central Processing Unit)であり、第1の記憶部12はRAM(Random Access Memory)およびROM(Read Only Memory)である。また、第1のデータベース13は、CPUによって実行されるアプリケーションプログラムと、HDD(Hard Disk Drive)等の補助記憶装置内に構築されるテーブルとによって実現される。
【0015】
図3は、第2のサーバ装置20の構成を示す図である。第2のサーバ装置20は、第2の処理部21と、第2の記憶部22と、第2のデータベース23とを備えている。第2の処理部21は、第2のサーバ装置20の動作を制御する。第2の記憶部22には、第2のヘルシーカウンタ22aの領域が確保されている。第2のデータベース23には、産業用コントローラ40の制御プログラムが登録される。
【0016】
第2のサーバ装置20は、1つまたは複数のクライアント装置30が加入することができる第2のグループを生成することができる。第2のサーバ装置20は、第2のグループ宛にデータを送信することにより、第2のグループに加入している1つまたは複数のクライアント装置30に同一のデータを一括送信することができる。このような仕組みは、例えば、UDPのマルチキャスト通信によって実現することができる。
【0017】
第2のサーバ装置20の具体的な実現方法は特に限定されるものではないが、一例として、第2のサーバ装置20は、パーソナルコンピュータである。この場合、第2の処理部21はCPUであり、第2の記憶部22はRAMおよびRAMである。また、第2のデータベース23は、CPUによって実行されるアプリケーションプログラムと、HDD等の補助記憶装置内に構築されるテーブルとによって実現される。
【0018】
図4は、クライアント装置30の構成を示す図である。クライアント装置30は、第3の処理部31と、第3の記憶部32と、表示部33と、入力部34とを備えている。クライアント装置30は、自身が加入しているグループを管理するサーバ装置のデータベースにアクセスすることができる。例えば、クライアント装置30が第1のサーバ装置10の管理する第1のグループに加入している場合には、当該クライアント装置30は、第1のサーバ装置10の第1のデータベース13にアクセスすることができる。また、クライアント装置30が第2のサーバ装置20の管理する第2のグループに加入している場合には、当該クライアント装置30は、第2のサーバ装置20の第2のデータベース23にアクセスすることができる。
【0019】
ユーザは、クライアント装置30を経由して第1のサーバ装置10または第2のサーバ装置20が提供する機能を利用することができる。具体的には、ユーザは、クライアント装置30を操作することにより、産業用コントローラ40で実行される制御プログラムの作成、編集、追加、削除等を行うことができる。また、ユーザは、クライアント装置30を操作することにより、作成した制御プログラムを第1のデータベース13または第2のデータベース23に登録することができる。また、ユーザは、クライアント装置30を操作することにより、第1のデータベース13または第2のデータベース23に登録されている制御プログラムを産業用コントローラ40に送信して実行させることができる。
【0020】
クライアント装置30の具体的な実現方法は特に限定されるものではないが、一例として、クライアント装置30は、パーソナルコンピュータである。この場合、第3の処理部31はCPUであり、第3の記憶部32はRAMおよびROMである。また、表示部33は、例えば液晶ディスプレイであり、入力部34は、例えばキーボードおよびマウス等である。
【0021】
図1に戻って、産業用コントローラ40は、DCS(Distributed Control System)またはPLC(Programable Logic Controller)等である。産業用コントローラ40は、制御対象に取り付けられた図示しないセンサー等からフィールド機器50およびフィールドネットワーク62を介して受信される信号に基づいて、産業プラントの状態を収集する。
【0022】
産業用コントローラ40は、収集されたプラントの状態に基づいて各種の演算を実行し、演算結果に基づいて、フィールドネットワーク62およびフィールド機器50を介して、制御対象に取り付けられた図示しないアクチュエータ等を動作させることにより、産業プラントを制御する。
【0023】
フィールド機器50は、制御対象に取り付けられた各種装置との間で信号の入出力を行うための機器である。フィールド機器50は、制御対象に取り付けられたセンサー等からの信号が入力されるAI(Analog Input)機器またはDI(Digital Input)機器等を含んでいる。また、フィールド機器50は、制御対象に取り付けられたアクチュエータ等への信号を出力するAO(Analog Output)機器またはDO(Digital Output)機器等を含んでいる。
【0024】
次に、本実施の形態1に係る管理システム100の動作について説明する。以降の説明では、2つのクライアント装置30aおよび30bがあるものとして説明する。また、2つのクライアント装置30aおよび30bを区別する必要のないときは、両者をまとめてクライアント装置30と記載する。また、制御ネットワーク61は、制御ネットワーク61aおよび61bによって二重化されている。
【0025】
(正常時の動作)
図5は、管理システム100の正常時の動作を説明する図である。管理システム100の正常動作時には、第1のサーバ装置10がマスタ状態であり、第2のサーバ装置20はバックアップ状態である。第2のサーバ装置20は、マスタ状態である第1のサーバ装置10が管理する第1のグループに加入しており、第1のサーバ装置10から第1のグループ宛に送信されるデータを受信することができる。
【0026】
第1のサーバ装置10の第1のデータベース13と第2のサーバ装置20の第2のデータベース23とは、所定の周期、例えば30秒周期で等値化される。等値化の方法は特に限定されるものではないが、一例として、第1のサーバ装置10が第1のデータベース13の更新時に第1の履歴情報を作成し、第2のサーバ装置20は、第1の履歴情報に基づいて、第1のデータベース13から第2のデータベース23への等値化を行う。
【0027】
2つのクライアント装置30aおよび30bは、マスタ状態である第1のサーバ装置10が管理する第1のグループに加入しており、第1のサーバ装置10から第1のグループ宛に送信されるデータを受信することができる。また、クライアント装置30aおよび30bは、第1のサーバ装置10の第1のデータベース13にアクセスすることができる。
【0028】

第1のサーバ装置10は、第1のグループ宛に自身の第1のヘルシーカウンタ12aのカウント値(第1のヘルシー信号)を含むデータを一定周期、例えば3秒周期で送信する。また、このデータには、バックアップ状態である第2のサーバ装置20のマシン名、IPアドレス、ポート番号が含まれている。
【0029】
第2のサーバ装置20は、第1のサーバ装置10から第1のグループ宛に一定周期で送信されるデータを受信し、当該データに含まれる第1のヘルシー信号の値に基づいて、第1のサーバ装置10が正常に動作しているか否かを判定する。詳細には、第2のサーバ装置20は、第1のサーバ装置10から受信される第1のヘルシー信号の値が所定の期間、例えば10秒の間に変化する場合には、第1のサーバ装置10は正常に動作していると判定する。
【0030】
クライアント装置30aおよび30bは、第1のサーバ装置10から第1のグループ宛に一定周期で受信されるデータを受信し、当該データに含まれる第1のヘルシー信号の値に基づいて、第1のサーバ装置10が正常に動作しているか否かを判定する。詳細には、クライアント装置30aおよび30bは、第1のサーバ装置10から受信される第1のヘルシー信号の値が所定の期間、例えば10秒の間に変化する場合には、第1のサーバ装置10は正常に動作していると判定する。
【0031】
(第1のサーバ装置の異常発生時)
図6A図6Dは、第1のサーバ装置10の異常発生時の動作を説明する図である。第1のサーバ装置10の異常とは、具体的には、第1のサーバ装置10のシャットダウン、第1のサーバ装置10上で実行されるアプリケーションの機能停止、第1のデータベース13の異常、第1のサーバ装置10上で実行されるオペレーティングシステムの機能停止等である。
【0032】
図6Aにおいて、第1のサーバ装置10に異常が発生すると、第1のサーバ装置10から第1のグループ宛に一定周期で送信されるデータに含まれる第1のヘルシー信号の値が変化しなくなる。これを検知した第2のサーバ装置20は、第1のサーバ装置10が正常に動作していないと判断し、バックアップ状態からマスタ状態に切り替わる。マスタ状態に切り替わった第2のサーバ装置20は、第1のグループから離脱し、第2のグループを生成する。
【0033】
図6Bにおいて、クライアント装置30aおよび30bは、第1のサーバ装置10から第1のグループ宛に一定周期で送信されるデータに含まれる第1のヘルシー信号の値が変化しなくなったことを検知すると、第1のサーバ装置10が正常に動作していないと判断し、第1のサーバ装置10が管理する第1のグループを離脱し、第2のサーバ装置20が生成した第2のグループに加入する。これにより、クライアント装置30aおよび30bは、第2のサーバ装置20の第2のデータベース23にアクセスできるようになる。
【0034】
図6Cにおいて、第2のサーバ装置20は、第2のグループ宛に自身の第2のヘルシーカウンタ22aのカウント値(第2のヘルシー信号)を含むデータを一定周期、例えば3秒周期で送信する。この間、クライアント装置30aおよび30bは、第2のサーバ装置20の第2のデータベース23にアクセスし続けることができる。
【0035】
図6Dにおいて、第1のサーバ装置10が復旧すると、第1のサーバ装置10はバックアップ状態となり、第2のグループに加入する。この際、第2のデータベース23から第1のデータベース13への等値化が行われる。クライアント装置30aおよび30bは、第2のサーバ装置20の第2のデータベース23にアクセスし続けることができる。
【0036】
(第1のサーバ装置の通信障害時)
図7A図7Dは、第1のサーバ装置10の通信障害時の動作を説明する図である。第1のサーバ装置10の通信障害とは、具体的には、第1のサーバ装置10と二重化された制御ネットワーク61aおよび61bとの間の通信障害である。
【0037】
図7Aにおいて、第1のサーバ装置10と制御ネットワーク61aおよび61bとの間の通信障害が発生すると、第1のサーバ装置10から第1のグループ宛に一定周期で送信される第1のヘルシー信号を含むデータが第2のサーバ装置20に届かなくなる。これを検知した第2のサーバ装置20は、第1のサーバ装置10の通信障害が発生したと判断し、バックアップ状態からマスタ状態に切り替わる。マスタ状態に切り替わった第2のサーバ装置20は、第1のグループから離脱し、第2のグループを生成する。
【0038】
図7Bにおいて、クライアント装置30aおよび30bは、第1のサーバ装置10から第1のグループ宛に一定周期で送信される第1のヘルシー信号を含むデータが届かなくなると、第1のサーバ装置10の通信障害が発生したと判断し、第1のサーバ装置10が管理する第1のグループを離脱し、第2のサーバ装置20が生成した第2のグループに加入する。
【0039】
図7Cにおいて、第2のサーバ装置20は、第2のグループ宛に自身の第2のヘルシーカウンタ22aのカウント値(第2のヘルシー信号)を含むデータを一定周期、例えば3秒周期で送信する。クライアント装置30aおよび30bは、第2のサーバ装置20から第2のグループ宛に送信される第2のヘルシー信号を含むデータの受信を確認すると、第2のサーバ装置20の第2のデータベース23にアクセスできるようになる。
【0040】
図7Dにおいて、第1のサーバ装置10と制御ネットワーク61aおよび61bとの間の通信障害が復旧すると、第1のサーバ装置10はバックアップ状態となり、第2のグループに加入する。この際、第2のデータベース23から第1のデータベース13への等値化が行われる。クライアント装置30aおよび30bは、第2のサーバ装置20の第2のデータベース23にアクセスし続けることができる。
【0041】
(第2のサーバ装置の通信障害時)
図8A図8Bは、第2のサーバ装置20の通信障害時の動作を説明する図である。第2のサーバ装置20の通信障害とは、具体的には、第2のサーバ装置20と二重化された制御ネットワーク61aおよび61bとの間の通信障害である。
【0042】
図8Aにおいて、第2のサーバ装置20と制御ネットワーク61aおよび61bとの間の通信障害が発生すると、第1のサーバ装置10から第1のグループ宛に一定周期で送信される第1のヘルシー信号を含むデータが第2のサーバ装置20に届かなくなる。これを検知した第2のサーバ装置20は、第1のサーバ装置10の通信障害が発生したと誤って判断し、バックアップ状態からマスタ状態に切り替わってしまう。マスタ状態に切り替わった第2のサーバ装置20は、第1のグループから離脱し、第2のグループを生成する。
【0043】
しかしながら、実際には第1のサーバ装置10の通信障害は発生していないので、クライアント装置30aおよび30bは、第1のサーバ装置10から第1のグループ宛に一定周期で送信される第1のヘルシー信号を含むデータを受信することができる。したがって、クライアント装置30aおよび30bは、第1のサーバ装置10の第1のデータベース13にアクセスし続けることができる。
【0044】
図8Bにおいて、第2のサーバ装置20と制御ネットワーク61aおよび61bとの間の通信障害が復旧すると、第2のサーバ装置20は再びバックアップ状態となり、第1のグループに加入する。この際、第1のデータベース13から第2のデータベース23への等値化が行われる。クライアント装置30aおよび30bは、第1のサーバ装置10の第1のデータベース13にアクセスし続けることができる。
【0045】
(2つのサーバ装置がともにマスタ状態となる場合)
図9A図9Bは、第1のサーバ装置10および第2のサーバ装置20がともにマスタ状態となる場合の動作を説明する図である。このような状態は、第1のサーバ装置10と制御ネットワーク61bとの間に通信障害が発生するとともに、第2のサーバ装置20と制御ネットワーク61aとの間に通信障害が発生することにより起こりえる。
【0046】
図9Aにおいて、第1のサーバ装置10から第1のグループ宛に一定周期で送信される第1のヘルシー信号を含むデータが第2のサーバ装置20に届かなくなる。これを検知した第2のサーバ装置20は、バックアップ状態からマスタ状態に切り替わる。マスタ状態に切り替わった第2のサーバ装置20は、第1のグループから離脱し、第2のグループを生成する。
【0047】
図9Bにおいて、クライアント装置30bは、第1のサーバ装置10から第1のグループ宛に一定周期で送信される第1のヘルシー信号を含むデータが届かなくなると、第1のサーバ装置10が管理する第1のグループを離脱し、第2のサーバ装置20が生成した第2のグループに加入する。これにより、クライアント装置30bは、第2のサーバ装置20の第2のデータベース23にアクセスするようになる。
【0048】
一方、クライアント装置30aは、第1のサーバ装置10から第1のグループ宛に一定周期で送信される第1のヘルシー信号を含むデータを受信することができるため、第1のサーバ装置10が管理する第1のグループに留まる。したがって、クライアント装置30aは、第1のサーバ装置10の第1のデータベース13にアクセスし続ける。このような状態が継続することにより、第1のデータベース13の内容と第2のデータベース23の内容とが乖離していく。
【0049】
図9Cにおいて、制御ネットワーク61aおよび61bの通信障害がすべて復旧すると、第1のサーバ装置10は、マスタ状態を維持し、第1のヘルシー信号を含むデータの送信を継続する。一方、第2のサーバ装置20は、第1のサーバ装置10から送信される第1のヘルシー信号を含むデータを受信すると、マスタ状態からバックアップ状態に切り替わり、第1のグループに再加入し、第2のヘルシー信号を含むデータの送信を停止する。
【0050】
図9Dにおいて、クライアント装置30aは、第1のグループに留まり、第1のサーバ装置10の第1のデータベース13にアクセスし続ける。一方、クライアント装置30bは、第2のサーバ装置20から送信される第2のヘルシー信号を含むデータが届かなくなると、第2のグループを離脱して、第1のグループに再加入する。これにより、クライアント装置30bは、第1のサーバ装置10の第1のデータベース13に再びアクセスできるようになる。この際、第1のデータベース13と第2のデータベース23との等値化が行われる。
【0051】
以上説明したように、本実施の形態1に係る管理システム100では、通常動作時において、第1のサーバ装置10はマスタ状態であり、第2のサーバ装置20はバックアップ状態である。また、第2のサーバ装置20は、第1のサーバ装置10から送信されるデータを受信する第1のグループに加入している。
【0052】
第1のサーバ装置10は、第1のヘルシー信号を一定周期で第1のグループ宛に送信し、第2のサーバ装置20は、第1のサーバ装置10から第1のグループ宛に送信される第1のヘルシー信号に基づいて、バックアップ状態からマスタ状態に切り替わる。
【0053】
上記の特徴により、本実施の形態1に係る管理システム100では、2台のサーバ装置によって冗長化を実現することができる。これにより、従来は3台必要であったサーバ装置が2台ですむため、大幅なコストダウンとなる。また、第2のサーバ装置20のバックアップ状態からマスタ状態への切り替えが自動で行われるため、ユーザによる切り替えの手間を省くことができる。
【0054】
また、通常動作時において、クライアント装置30は、第1のサーバ装置10が管理する第1のグループに加入している。クライアント装置30は、第1のサーバ装置10から第1のグループ宛に送信される第1のヘルシー信号に基づいて、第1のグループから離脱して、第2のサーバ装置20が生成した第2のグループに加入する。これにより、第2のサーバ装置20がマスタ状態に切り替わった際に、クライアント装置30は自動的に第2のサーバ装置20に接続するようになる。したがって、ユーザによる切り替えの手間を省くことができる。
【0055】
また、クライアント装置30は、第1のグループに加入している際は、第1のサーバ装置10の第1のデータベース13にアクセスし、第2のグループに加入している際は、第2のサーバ装置20の第2のデータベース23にアクセスする。これにより、クライアント装置30は、常にマスタ状態のサーバ装置のデータベースにアクセスすることができる。
【0056】
第1のサーバ装置10は、第1のデータベース13の更新時に第1の更新履歴を作成し、第2のサーバ装置20は、第1の更新履歴に基づいて、第1のデータベース13から第2のデータベース23への等値化を行う。第2のサーバ装置は、第2のデータベースの更新時に第2の更新履歴を作成し、第1のサーバ装置10は、第2の更新履歴に基づいて、第2のデータベース23から第1のデータベース13への等値化を行う。これにより、第1のデータベース13および第2のデータベース23の内容を常に同一に保つことができる。
【0057】
幾つかの実施の形態を説明したが、これらの実施の形態は例として提示したものであり、実施の形態の範囲を限定することは意図していない、これらの実施の形態は、その他の様々な形態で実施されることが可能であり、実施の形態の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施の形態やその変形は、実施の形態の範囲や要旨に含まれると同様に、特許請求の範囲とその均等の範囲に含まれるものである。
【0058】
なお、本実施の形態は、以下のような構成を取ることもできる。
[項目1](第1のサーバ装置、第2のサーバ装置)
産業用コントローラの制御プログラムの管理システムであって、
第1の処理部および前記制御プログラムが登録される第1のデータベースを含む第1のサーバ装置と、
第2の処理部および前記制御プログラムが登録される第2のデータベースを含む第2のサーバ装置と
を備え、
通常動作時において、前記第1のサーバ装置の前記第1の処理部はマスタ状態であり、前記第2のサーバ装置の前記第2の処理部はバックアップ状態であり、前記第2のサーバ装置は、前記第1のサーバ装置から送信されるデータを受信する第1のグループに加入しており、
前記第1のサーバ装置の前記第1の処理部は、第1のヘルシー信号を一定周期で前記第1のグループ宛に送信し、
前記第2のサーバ装置の前記第2の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号に基づいて、前記バックアップ状態から前記マスタ状態に切り替わる、管理システム。
[項目2](第1のサーバ装置、第2のサーバ装置)
前記第2のサーバ装置の前記第2の処理部は、前記マスタ状態に切り替わると、前記第1のグループから離脱して、前記第2のサーバ装置から送信されるデータを受信する第2のグループを生成する、項目1に記載の管理システム。
[項目3](第1のサーバ装置、第2のサーバ装置)
前記第2のサーバ装置の前記第2の処理部は、第2のヘルシー信号を一定周期で前記第2のグループ宛に送信する、項目2に記載の管理システム。
[項目4](第1のサーバ装置、第2のサーバ装置)
前記第1のヘルシー信号は、所定の周期でカウントアップまたはカウントダウンされる信号であり、
前記第2のサーバ装置の前記第2の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号の値が所定の期間にわたって変化しない場合に、前記バックアップ状態から前記マスタ状態に切り替わる、項目1~3のいずれかに記載の管理システム。
[項目5](第1のサーバ装置、第2のサーバ装置)
前記第2のサーバ装置の前記第2の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号が受信されない場合に、前記バックアップ状態から前記マスタ状態に切り替わる、項目1~4のいずれかに記載の管理システム。
[項目6](クライアント装置)
第3の処理部を含む1つまたは複数のクライアント装置をさらに備え、
前記通常動作時において、前記クライアント装置は、前記第1のグループに加入しており、
前記クライアント装置の前記第3の処理部は、前記第1のサーバ装置から前記第1のグループ宛に送信される前記第1のヘルシー信号に基づいて、前記第1のグループから離脱して、前記第2のグループに加入する、項目2に記載の管理システム。
[項目7](クライアント装置)
前記クライアント装置の前記第3の処理部は、前記第1のグループに加入している際は、前記第1のサーバ装置の前記第1のデータベースにアクセスし、前記第2のグループに加入している際は、前記第2のサーバ装置の前記第2のデータベースにアクセスする、項目6に記載の管理システム。
[項目8](データベースの等値化)
前記第1のサーバ装置の前記第1の処理部は、前記第1のデータベースの更新時に第1の更新履歴を作成し、前記第2のサーバ装置の前記第2の処理部は、前記第1の更新履歴に基づいて、前記第1のデータベースから前記第2のデータベースへの等値化を行い、
前記第2のサーバ装置の前記第2の処理部は、前記第2のデータベースの更新時に第2の更新履歴を作成し、前記第1のサーバ装置の前記第1の処理部は、前記第2の更新履歴に基づいて、前記第2のデータベースから前記第1のデータベースへの等値化を行う、項目1~7のいずれかに記載の管理システム。
【符号の説明】
【0059】
1 制御システム
10 第1のサーバ装置
11 第1の処理部
12 第1の記憶部
12a 第1のヘルシーカウンタ
13 第1のデータベース
20 第2のサーバ装置
21 第2の処理部
22 第2の記憶部
22a 第2のヘルシーカウンタ
23 第2のデータベース
30 クライアント装置
30a クライアント装置
30b クライアント装置
31 第3の処理部
32 第3の記憶部
33 表示部
34 入力部
40 産業用コントローラ
50 フィールド機器
61 制御ネットワーク
61a 制御ネットワーク
61b 制御ネットワーク
62 フィールドネットワーク
100 管理システム
図1
図2
図3
図4
図5
図6A
図6B
図6C
図6D
図7A
図7B
図7C
図7D
図8A
図8B
図9A
図9B
図9C
図9D