(57)【特許請求の範囲】
【請求項１】
冗長構成に適用可能なコントローラであって、
冗長化された他のコントローラの種別を設定する設定部と、
前記他のコントローラからの応答に基づいて当該他のコントローラの種別を判別する第１判別部と、
前記設定部により設定された前記種別および／または前記第１判別部により判別された前記種別に基づいて、前記他のコントローラのアーキテクチャを判別する第２判別部と、
を備えることを特徴とするコントローラ。
【請求項２】
前記第２判別部により判別された前記アーキテクチャに対応するデータ変換処理により、前記他のコントローラから受信したデータを変換する変換部を、さらに備えることを特徴とする請求項１記載のコントローラ。
【請求項３】
前記第１判別部は、前記他のコントローラからの応答を受け取った通信ポートに基づいて、当該他のコントローラの種別を判別する、ことを特徴とする請求項１または２記載のコントローラ。
【請求項４】
前記第１判別部は、前記他のコントローラからの応答に含まれる前記アーキテクチャに関する情報に基づいて、当該他のコントローラの種別を判別する、ことを特徴とする請求項１または２記載のコントローラ。
【請求項５】
前記設定部により設定された前記種別と前記第１判別部により判別された前記種別とが異なる場合に、エラーメッセージを送信する送信部を、さらに備えることを特徴とする請求項１〜４のいずれか１項に記載のコントローラ。
【請求項６】
冗長構成に適用可能なコントローラの制御方法であって、
冗長化された他のコントローラの種別を設定し、
前記他のコントローラからの応答に基づいて当該他のコントローラの種別を判別し、
前記設定した前記種別および／または前記判別した前記種別に基づいて、前記他のコントローラのアーキテクチャを判別する、
コントローラの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラおよびその制御方法に関する。
【背景技術】
【０００２】
工場等におけるプロセスを制御するシステムでは、プラント内に配置した機器から定期的にプロセスデータ等を収集してプロセスを管理している。このようなシステムでは、コントローラの予期せぬ故障等による障害に備え、コントローラを二重化する等の冗長構成を採用し、システムの信頼性を高めている。代表的な冗長構成として、例えば、並列冗長構成と待機冗長構成とがあり、下記特許文献１には、並列冗長構成を採用したプロセス制御システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９１６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、コントローラを冗長化したシステムでは、どのコントローラを稼働させても同様に動作することが要求される。したがって、コントローラを冗長化する場合には、ハードウェアやオペレーティングシステム（ＯＳ）等のアーキテクチャが同じコントローラを用いて冗長化することが望ましい。
【０００５】
その一方、同じコントローラを長期間使い続けると、部品の劣化等により部品交換が必要となる。しかしながら、長期間使用しているコントローラでは、交換する部品の製造が既に終了していることがある。このような場合、代替部品で対応するか、新しい別のコントローラに交換することとなるが、そのような交換によりコントローラのアーキテクチャが変わる可能性がある。アーキテクチャが変わった場合に、そのままの状態で冗長化を継続すると、冗長機能に支障を来すおそれがあるため、アーキテクチャが相違したことを認識するしくみが必要となる。
【０００６】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、冗長化されたコントローラ間で相互にアーキテクチャを認識することができるコントローラおよびその制御方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００７】
本発明の一態様であるコントローラは、冗長構成に適用可能なコントローラであって、冗長化された他のコントローラの種別を設定する設定部と、前記他のコントローラからの応答に基づいて当該他のコントローラの種別を判別する第１判別部と、前記設定部により設定された前記種別および／または前記第１判別部により判別された前記種別に基づいて、前記他のコントローラのアーキテクチャを判別する第２判別部と、を備える。
【０００８】
前記第２判別部により判別された前記アーキテクチャに対応するデータ変換処理により、前記他のコントローラから受信したデータを変換する変換部を、さらに備えることとしてもよい。
【０００９】
前記第１判別部は、前記他のコントローラからの応答を受け取った通信ポートに基づいて、当該他のコントローラの種別を判別する、こととしてもよい。
【００１０】
前記第１判別部は、前記他のコントローラからの応答に含まれる前記アーキテクチャに関する情報に基づいて、当該他のコントローラの種別を判別する、こととしてもよい。
【００１１】
前記設定部により設定された前記種別と前記第１判別部により判別された前記種別とが異なる場合に、エラーメッセージを送信する、こととしてもよい。
【００１２】
本発明の一態様であるコントローラの制御方法は、冗長構成に適用可能なコントローラの制御方法であって、冗長化された他のコントローラの種別を設定し、前記他のコントローラからの応答に基づいて当該他のコントローラの種別を判別し、前記設定した前記種別および／または前記判別した前記種別に基づいて、前記他のコントローラのアーキテクチャを判別する。
【発明の効果】
【００１３】
本発明によれば、冗長化されたコントローラ間で相互にアーキテクチャを認識することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るコントローラの構成を示す図である。
【図２】本発明の実施形態に係るコントローラの機能構成を示す図である。
【図３】本発明の実施形態に係るコントローラにおいて他のコントローラのアーキテクチャを判別する際の手順を説明するためのフローチャートである。
【図４】本発明の変形例に係るコントローラにおいて他のコントローラのアーキテクチャを判別する際の手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を説明する。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。なお、添付図面を参照しながら本発明の実施の形態について説明する。理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
【００１６】
図１は、本発明の実施形態に係るコントローラの構成を例示する図である。図１に示すコントローラ１ａ、１ｂは、冗長化されており、一方を稼動側のコントローラとし、他方を待機側のコントローラとする待機冗長方式により構成されている。コントローラ１ａ、１ｂは、それぞれの冗長接続用の通信ポートに差し込まれた接続ケーブル２を介して接続される。
【００１７】
以下において、各コントローラ１ａ、１ｂに共通する事項を説明する場合には、「コントローラ１」という。なお、本実施形態では、例示的に二つのコントローラ１ａ、１ｂで冗長化する場合について説明するが、三つ以上のコントローラで冗長化する場合についても同様に本発明を適用することができる。
【００１８】
コントローラ１は、例示的に、工場等におけるプロセスを制御するプロセス制御システムに適用することができる。プロセス制御システムは、例えば、コントローラ１の上位側に位置する機器管理装置および運転監視装置、ならびにコントローラ１の下位側に位置する変換器およびプロセス機器を備える。
【００１９】
機器管理装置は、プロセス機器を管理するための装置であり、パラメータの一元管理やアラート情報の管理等を行う。運転監視装置は、コントローラ１を介して収集されるプロセス機器の運転内容をモニタに表示し、運用者の指示に従ってプロセス機器の運転状態を操作するための装置である。
【００２０】
プロセス機器は、プラント内に配置される機器であり、例えば、ファウンデーションフィールドバス技術に対応する機器や、ＨＡＲＴ（Highway Addressable Remote Transducer）通信機能を搭載した機器、プロフィバス（Profibus）技術に対応する機器等が該当する。具体的に、流量や圧力、温度等を検出する各種センサ機器、流量制御弁や圧力制御弁等の各種バルブを制御するバルブポジショナ、ポンプやファン等を動作させる各種アクチュエータ等がプロセス機器として例示される。
【００２１】
変換器は、コントローラ１とプロセス機器とを仲介する機器であり、コントローラ１側のプロトコルとプロセス機器側のプロトコルとを変換する。
【００２２】
コントローラ１は、生産プロセスの実行状態を制御する。例示的に、コントローラ１は、センサ機器から取得した流量や圧力等の測定値に基づいて、バルブポジショナを制御することで、配管に設けられたバルブの開度を調節する。
【００２３】
図２を参照して、本実施形態におけるコントローラ１の機能構成について説明する。コントローラ１は、機能的には、例えば、設定部１１、判別部１２、変換部１３および通信部１４を有する。
【００２４】
設定部１１は、冗長化された他のコントローラの種別を設定する。コントローラの種別として、例えば、新型、旧型等のようにコントローラの形式等を区別するものを適宜採用することができる。また、コントローラの種別は、例えば、ディップスイッチ等の設定用のスイッチを用いて設定することができる。
【００２５】
判別部１２は、他のコントローラからの応答に基づいて他のコントローラの種別を判別し、その種別に基づいて他のコントローラのアーキテクチャを判別する。コントローラの種別およびアーキテクチャを判別する手順として、例えば、以下の（１）、（２）に記載する２つの手順がある。
【００２６】
（１）最初に、コントローラ１ａが起動し、外部との通信が可能な状態に移行した場合に、外部にリクエスト信号を送信する。続いて、外部からのレスポンス信号を受信するときに使用した通信ポートを検知する。続いて、通信ポートごとに予め設定されているコントローラの種別に基づいて、他のコントローラ１ｂの種別を判別する。例示的に、通信ポートがＣＯＭ（シリアル）である場合には、種別を旧型とし、通信ポートがＥｔｈｅｒｎｅｔ（登録商標）（ＬＡＮ）である場合には、種別を新型とする。
【００２７】
続いて、コントローラの種別ごとに予め設定されているアーキテクチャ情報に基づいて、他のコントローラ１ｂのアーキテクチャを判別する。
【００２８】
上記アーキテクチャ情報には、例えば、ＣＰＵ、バス、インターフェース、ＯＳ等に関する情報に加え、エンディアンに関する情報が含まれる。エンディアンとは、多バイトからなるデータをバイト単位にメモリに格納する際に、どのデータから順に格納するのかを規定するものであり、バイトオーダーともいう。エンディアンには、例えば、最上位側のデータから順に格納するビッグエンディアンや、最下位側のデータから順に格納するリトルエンディアンがある。
【００２９】
（２）最初に、コントローラ１ａが起動し、外部との通信が可能な状態に移行した場合に、外部にリクエスト信号を送信する。このリクエスト信号に、自コントローラ１ａの種別に関する情報を含むコントローラ情報を付加しておく。続いて、外部からのレスポンス信号を受信したときに、レスポンス信号に含まれるコントローラ１ｂの種別に関する情報を含むコントローラ情報を読み出す。続いて、読み出したコントローラ情報に基づいて、他のコントローラ１ｂの種別を判別する。続いて、コントローラの種別ごとに予め設定されているアーキテクチャ情報に基づいて、他のコントローラ１ｂのアーキテクチャを判別する。
【００３０】
なお、上記コントローラ情報にアーキテクチャ情報を付加することとしてもよい。この場合には、レスポンス信号に含まれるアーキテクチャ情報に基づいて、他のコントローラ１ｂの種別を判別することができる。
【００３１】
変換部１３は、判別部１２により判別された他のコントローラ１ｂのアーキテクチャ情報に基づいて、他のコントローラから受信したデータを変換する。具体的に、アーキテクチャ情報に含まれるエンディアンに対応するデータ変換処理により、他のコントローラから受信したデータを変換する。
【００３２】
次に、図３を参照して、本実施形態におけるコントローラ１ａにおいて他のコントローラ１ｂのアーキテクチャを判別する際の手順について説明する。
【００３３】
最初に、コントローラ１ａは、起動時に起動処理を実行する（ステップＳ１０１）。続いて、コントローラ１ａは、外部との通信が可能となる状態に移行するまで待機し（ステップＳ１０２；ＮＯ）、外部との通信が可能な状態に移行した場合（ステップＳ１０２；ＹＥＳ）に、外部にリクエスト信号を送信する（ステップＳ１０３）。
【００３４】
続いて、コントローラ１ａは、外部からレスポンス信号を受信するまで待機し（ステップＳ１０４；ＮＯ）、他のコントローラ１ｂからレスポンス信号を受信した場合（ステップＳ１０４；ＹＥＳ）に、コントローラ１ａの判別部１２は、受信したレスポンス信号に基づいて、他のコントローラ１ｂの種別を判別する（ステップＳ１０５）。ここで、他のコントローラ１ｂの種別を判別する方法は、例えば上記（１）または（２）に記載した判別方法のいずれかで行うことができる。
【００３５】
続いて、コントローラ１ａの判別部１２は、上記ステップＳ１０５で判別した種別に基づいて、他のコントローラ１ｂのアーキテクチャを判別する（ステップＳ１０６）。
【００３６】
続いて、コントローラ１ａの変換部１３は、上記ステップＳ１０６で判別されたアーキテクチャに対応するデータ変換処理により、他のコントローラ１ｂから受信したデータを変換する（ステップＳ１０７）。
【００３７】
上述したように、実施形態におけるコントローラ１ａによれば、他のコントローラ１ｂからの応答に基づいて他のコントローラ１ｂの種別を判別することができ、判別した種別に基づいて、他のコントローラ１ｂのアーキテクチャを判別することができるため、冗長化されたコントローラ間で相互にアーキテクチャを認識することが可能となる。
【００３８】
また、実施形態におけるコントローラ１ａによれば、判別されたアーキテクチャに対応するデータ変換処理により、他のコントローラ１ｂから受信したデータを変換することができるため、認識したアーキテクチャに応じたデータ変換処理を行うことが可能となる。
【００３９】
[変形例]
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【００４０】
また、上述した実施形態では、判別部１２により判別されたコントローラの種別に基づいて、他のコントローラ１ｂのアーキテクチャを判別しているが、これに限定されない。例えば、設定部１１により設定されたコントローラの種別に基づいて、他のコントローラ１ｂのアーキテクチャを判別することとしてもよい。この変形例における判別手順について、図４を参照して説明する。
【００４１】
最初に、コントローラ１ａは、起動時に起動処理を実行する（ステップＳ２０１）。続いて、コントローラ１ａの判別部１２は、設定部１１により設定されたコントローラの種別に基づいて、他のコントローラ１ｂの種別を判別する（ステップＳ２０２）。
【００４２】
続いて、コントローラ１ａの判別部１２は、上記ステップＳ２０２で判別した種別に基づいて、他のコントローラ１ｂのアーキテクチャを判別する（ステップＳ２０３）。
【００４３】
続いて、コントローラ１ａの変換部１３は、上記ステップＳ２０３で判別されたアーキテクチャに対応するデータ変換処理により、他のコントローラ１ｂから受信したデータを変換する（ステップＳ２０４）。
【００４４】
なお、この変形例における判別手順は、上述した実施形態で説明した（１）または（２）の判別手順の代わりに採用することとしてもよいし、（１）または（２）の判別手順に加えて採用することとしてもよい。（１）または（２）の判別手順に加えて採用した場合には、各判別手順による判別結果が異なることも起こり得るが、その場合には、通信部１４が、上位側に位置する管理装置（例えば、機器管理装置、運転監視装置）宛てに、判別結果が異なる旨のエラーメッセージを送信することとすればよい。
【符号の説明】
【００４５】
１…コントローラ
２…接続ケーブル
１１…設定部
１２…判別部
１３…変換部
１４…通信部
【図１】
0006549050.tif 000002
【図２】
0006549050.tif 000003
【図３】
0006549050.tif 000004
【図４】
0006549050.tif 000005