JP2015191616A - プロセス制御装置、プロセス制御方法及びプロセス制御プログラム - Google Patents
プロセス制御装置、プロセス制御方法及びプロセス制御プログラム Download PDFInfo
- Publication number
- JP2015191616A JP2015191616A JP2014070447A JP2014070447A JP2015191616A JP 2015191616 A JP2015191616 A JP 2015191616A JP 2014070447 A JP2014070447 A JP 2014070447A JP 2014070447 A JP2014070447 A JP 2014070447A JP 2015191616 A JP2015191616 A JP 2015191616A
- Authority
- JP
- Japan
- Prior art keywords
- function
- controller
- controllers
- process control
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】プロセス制御装置の維持コストを抑え、ユーザの利便性が高めることができる。【解決手段】本発明の一側面に係るプロセス制御装置は、プロセス制御の機能を発揮する複数のコントローラによる冗長構成を備えるプロセス制御装置であって、前記複数のコントローラに搭載されたファームウェアのバージョンを相互に比較するバージョン比較部と、前記比較の結果に基づいて、前記複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定するバージョン制御部と、を備える。【選択図】図1
Description
本発明は、プロセス制御装置、プロセス制御方法及びプロセス制御プログラムに関する。
従来から、同一構成の3つ以上のコントローラを並列動作させ、これらコントローラの制御出力について多数決判定を行い、その判定結果を用いてプロセス制御を行う技術が知られている(例えば、特許文献1参照)。
具体的に、上記特許文献1には、所定の情報を入力して対応する制御データを出力する制御動作を並列して行うN個(Nは3以上の自然数)のコントローラを冗長して備えた多重化並列処理装置であって、前記コントローラは、ネットワークを介して送出された動作停止信号を受信する受信部と、前記受信部が前記動作停止信号を受け付けると前記コントローラを再起動させて前記制御動作を開始させる動作制御部とを備えたことを特徴とする多重化並列処理装置が記載されている。
ところで、多重化されたコントローラは各々内部に同じデータベースを持ち、同じタイミングで制御演算などの処理を実行する必要がある。このため、例えばファームウェアの機能改善が行われた際には、多重化されたコントローラのいずれかのコントローラのファームウェアが機能改善されたものにバージョンアップされると、タイミングや処理の整合性が崩れ、システムの動作に不都合を生じる可能性がある。このことから、従来、ファームウェアがバージョンアップされた場合には、多重化されたコントローラのいずれにおいても、ファームウェアのバージョンをすべて新しいものに置き換える必要があった。
すなわち、特許文献1に記載されたような多重化並列処理装置では、多重化されているコントローラのうち、ある一つのコントローラが故障した際には、故障したコントローラを交換するにあたって、交換前と同じバージョンのファームウェアを備えたコントローラと交換する必要があった。ここで仮に、交換の時点において、より新しいファームウェアが存在していた場合において、交換用コントローラのファームウェアを新しいものに置き換えた場合、従来の多重化並列処理装置では、並列処理に係るすべてのコントローラについて、前述した、より新しいファームウェアを備えたコントローラとの交換作業をすることになるため、プロセス制御装置の維持コストが高くなり、ユーザの利便性が低くなるおそれがあった。
そこで、本発明は、プロセス制御装置の維持コストを抑え、ユーザの利便性が高めることを目的の一つとし得る。
上記課題を解決するために、本発明の一側面に係るプロセス制御装置は、プロセス制御の機能を発揮する複数のコントローラによる冗長構成を備えるプロセス制御装置であって、前記複数のコントローラに搭載されたファームウェアのバージョンを相互に比較するバージョン比較部と、前記比較の結果に基づいて、前記複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定するバージョン制御部と、を備える。
また、上記課題を解決するために、本発明の一側面に係るプロセス制御方法は、プロセス制御の機能を発揮する複数のコントローラによる冗長構成のためのプロセス制御方法であって、前記複数のコントローラに搭載されたファームウェアのバージョンを相互に比較し、前記比較の結果に基づいて、複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定する。
また、上記課題を解決するために、本発明の一側面に係るプロセス制御プログラムは、プロセス制御の機能を発揮する複数のコントローラによる冗長構成のためのプロセス制御プログラムであって、コンピュータに、前記複数のコントローラに搭載されたファームウェアのバージョンを相互に比較する機能と、前記比較の結果に基づいて、複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定する機能と、を実現させる。
なお、本発明において、「部」とは、単にその機能をソフトウェアによって実現する場合のみならず、ハードウェアの具体的構成によって物理的に実現される場合をも含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されても良い。
また、本発明の実施形態における各部は、たとえば、メモリやハードディスクなどの記憶領域を用いたり、記憶領域を格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
本発明によれば、複数のコントローラに搭載されたファームウェアのバージョンを相互に比較し、当該比較の結果に基づいて、複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定することにより、コントローラが故障した際に、すべてのコントローラを交換する必要がなくなり、プロセス制御装置の維持コストを抑えることができ、さらに、ユーザの利便性が高めることができる。
以下、図面を参照して本発明の実施の形態を説明する。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。なお、添付図面を参照しながら本発明の実施の形態について説明する。理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
図1は、本発明の第1実施形態に係るプロセス制御システム1の構成を示す図である。図1に示すように、プロセス制御システム1は、例示的に、プロセス制御装置100、管理装置102、及びプロセス機器104a乃至cを備えて構成されている。また、プロセス制御装置100は、例示的に、ネットワークIF(インタフェース)3、コントローラA乃至C10a乃至c、及びプロセス機器IF5を備えて構成されている。さらに、プロセス制御装置100のネットワークIF3と管理装置102とはシステムバス106cを介して接続されている。さらにまた、プロセス制御装置100のネットワークIF3とコントローラA乃至Cのそれぞれとは、システムバス106bを介して接続されている。またさらに、プロセス制御装置100のプロセス機器IF5とプロセス機器104a乃至cのそれぞれとは、システムバス106aを介して接続されている。以下、プロセス機器104a乃至cに共通する事項を説明する場合には「プロセス機器104」と称する。また、コントローラ10a乃至10cに共通する事項を説明する場合には「コントローラ10」と称する。
プロセス機器104a乃至cは、渦式流量計、熱式流量計、各種センサ、各種バルブ、及び各種モータなどのプラントに設置されるさまざまな装置を備えて構成されている。例えば、プロセス機器104aは、検出値をプロセス機器IF5にシステムバス106aを介して送信する入力機器で構成されていてもよく、また、プロセス機器104b及びcは、システムバス106a経由で受信したプロセス制御装置100からの制御信号に基づいて動作する出力機器で構成されていてもよい。なお、プロセス機器104aは出力機器、プロセス機器104b及びcを入力機器、として構成されていてもよい。
管理装置102は、プロセス制御システム1を監視・管理する装置である。管理装置102は、プロセス制御の状況の監視を実行し、当該管理装置10の図示しない入力手段を介してオペレータからの指示を受け付け、プロセス制御装置100にリクエストや制御信号を送信する。
プロセス制御装置100は、プロセス制御システム1が実行するプロセスを制御する装置である。また、プロセス制御装置100は、コントローラ10の一部の機能の発揮を禁止するように制御する装置である。さらに、プロセス制御装置100は、プロセス機器104が出力する情報を入力ないしプロセス機器104に情報を出力し、プロセス機器104の出力の制御をする。さらにまた、プロセス制御装置100は、プロセス機器3が出力する情報を、システムバス106cを介して、管理装置102に出力する。
たとえば、プロセス制御装置100のネットワークIF3は、管理装置102からのリクエストを、システムバス106cを介して受け付ける。プロセス制御装置100のネットワークIF3は、受け付けたリクエストを、システムバス106bを介してコントローラA10a、コントローラB10b、コントローラC10cに出力する。リクエストを与えられた各コントローラ10は、リクエストに対応して制御信号を生成し、プロセス機器IF5に出力する。
プロセス機器IF5は、各コントローラ10により出力された制御信号を受け付ける。また、プロセス機器IF5は、各コントローラ10の多数決によって定まる1つの制御信号を、システムバス106aを介して対応するプロセス機器104に出力する。すなわち、プロセス機器IF5は、コントローラ10a乃至cの各々から出力された制御信号を相互に比較し、二つ以上の制御信号が同一内容であった場合にはその制御信号を出力する。例えば、コントローラA10aおよびコントローラC10cからの制御信号が同じ内容C1を示しコントローラB10bからの制御信号が異なる内容C2を示していた場合、プロセス機器IF5は、制御信号が異なる内容C2を示したコントローラB10bに対し、異なる内容を示していた旨を通知する信号を出力する。またここで、当該信号を受けたコントローラB10bが、自ら再起動を行うよう構成すると共に、再起動時に他のコントローラA10aないしコントローラC10cから適宜情報を受け取ることで、他のコントローラとの同期を図ることが可能となる。
また、プロセス機器104は、入力データを、システムバス106aを介してプロセス機器IF5へ送信する。プロセス機器IF5は、プロセスデータを受け付け、受け付けたプロセスデータを、各コントローラA10a、コントローラB10b、コントローラC10cに入力する。
各コントローラ10は、プロセス機器104から受信したプロセスデータに対応して応答を生成し、ネットワークIF3に出力する。ネットワークIF3は、各コントローラ10より出力された応答を、システムバス106bを介して受け付ける。これら応答を受け受けたネットワークIF3は、多数決によって定まる1つの応答を、システムバス106cを介して管理装置102に送信する。すなわち、ネットワークIF3は、コントローラ10a乃至cの各々から出力された応答を相互に比較し、二つ以上の応答が同一内容であった場合にはその応答を出力する。例えば、コントローラA10aおよびコントローラC10cからの応答が同じ内容R1を示しコントローラB10bからの応答が異なる内容R2を示していた場合、ネットワークIF3は応答が異なる内容R2を示したコントローラB10bに、異なる内容を示していた旨を通知する信号を出力するとともに、当該信号を受けたコントローラB10bは、自ら再起動する。
上述したように、プロセス制御装置100は、コントローラA10a、コントローラB10b、コントローラC10cのいずれか1つに異常や故障が生じ、他の2つと異なる制御データや応答を出力した場合であっても、プロセス機器104や管理装置102に対して正常な制御データや応答をとぎれることなく出力する。このように、プロセス制御装置100は、プロセス制御の機能を発揮する複数のコントローラ10が機能を並列して発揮可能に制御するように構成されている。なお、本実施形態ではコントローラ10の数は三つであり、いわゆる2 out of 3の多数決論理を構築したものであるが、コントローラ10の数が奇数であり、多数決論理を構築できる状態である限り、コントローラ10の数に制限はない。
図2は、本発明の第1実施形態に係るプロセス制御装置100の構成を示すブロック図である。上述したように、プロセス制御装置100は、プロセス制御システム1が実行するプロセスを制御する装置であり、例示的に、ネットワークIF(インタフェース)3、コントローラA10a乃至コントローラC10c、及びプロセス機器IF5を備えて構成されている。具体的に、図2は、プロセス制御装置100の、初期バージョン(例えばバージョン1)のファームウェアが搭載されたコントローラA10aが故障した際に、新しいバージョン(例えばバージョン2)のファームウェアが搭載されたコントローラA10a(Ver.2)と交換される場合のプロセス制御装置100の構成を示している。以下、バージョンxが搭載されたコントローラ10を「コントローラ10(Ver.x)」というように記述する。
図2に示すように、たとえば、プロセス制御装置100のコントローラA10a(Ver.1)のファームウェアが故障した際には、新しいコントローラA10a(Ver.2)と交換される。そうすると、コントローラA10a(Ver.1)のファームウェアで機能させるべき動作バージョンやコントローラA10a(Ver.1)が発揮する機能群と、新しいコントローラA10a(Ver.2)のファームウェアで機能させるべき動作バージョンや新しいコントローラA10a(Ver.2)が発揮する機能群と、は異なる。また、後で詳述するが、図5に示すように、新しいコントローラA10a(Ver.2)と、コントローラB10b(Ver.1)及びコントローラC10c(Ver.1)と、のファームウェアで機能させるべき動作バージョンが異なり、また、新しいコントローラA10a(Ver.2)と、コントローラB10b(Ver.1)及びコントローラC10c(Ver.1)と、が発揮する機能群も異なる。このように各コントローラ10の発揮可能な機能群が異なる場合に、複数のコントローラ10を並列処理させると不都合が生ずる可能性がある。そこで、複数のコントローラ10に共通する動作バージョンや複数のコントローラ10に共通する機能のみを並列して発揮することができるように、プロセス制御装置100は、各コントローラ10のファームウェアで機能させるべき動作バージョン、又は、各コントローラ10が発揮可能な機能(特定機能)を判断し、各コントローラ10が動作バージョン又は特定機能を実行するように制御する。
図3は、本発明の第1実施形態に係るプロセス制御装置100のコントローラ10の機能的構成を示す図である。図3に示すように、コントローラ10a乃至cは、機能的に、情報処理部20a及び記憶部30を備えて構成されている。
情報処理部20aは、プロセス制御装置100が、複数のコントローラ10の各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定するように制御する機能ブロックであり、情報問い合わせ部22、情報取得部24、バージョン比較部25、及びバージョン制御部27を機能的に備える。
記憶部30は、プロセス機器104の出力情報、プロセス制御システム1において実行するプロセスの種類などの情報、各コントローラ10のファームウェアのバージョン情報、ないしは新旧ファームウェアに対応して各コントローラ10が発揮可能となる機能および機能群を識別する情報などを記憶する機能ブロックである。また、記憶部30は、上記情報を入力及び出力可能に構成されている。さらに、記憶部30は、上記情報が更新された場合は、更新前及び更新後の情報を記憶可能に構成されている。
図4は、本発明の第1実施形態に係るコントローラ10に搭載されるファームウェアのバージョン情報と機能群との対応関係テーブルを例示的に示す図である。記憶部30には、さらに、図4に示すような当該対応関係テーブルが格納されている。図4に示すように、コントローラ10のファームウェアがバージョンVer.1の場合は、機能A、B、及びCからなる機能群Xを発揮することが可能であり、コントローラ10のファームウェアがバージョンVer.2の場合は、機能A+α、B+β、及びC+γからなる機能群X’を発揮することが可能である。すなわち、交換された新たなバージョンVer.2のファームウェアを搭載したコントローラA10aは、機能A+α、B+β、及びC+γの各々を発揮することが可能であると共に、自身をVer.1として動作させる場合には、機能A、B、及びCのみを発揮するよう、換言すれば、バージョンをダウングレード可能なように構成される。また、旧バージョンのバージョンVer.1のファームウェアを搭載したコントローラB10b及びコントローラC10cは、機能A、B、及びCの各々を発揮する。なお、コントローラ10のファームウェアのバージョンは、Ver.1及びVer.2には限られない。たとえば、Ver.3、Ver.5でもいいし、Ver.1.5やVer.3.3などであってもよい。また、上記バージョンが更新された場合、バージョンの更新にともない、各コントローラ10が発揮できる機能および機能群も更新されるが、下位のバージョン相当の機能を発揮可能に(ダウングレード可能に)構成される。
図3に戻り、情報処理部20の情報問い合わせ部22は、他のコントローラ10のファームウェアのバージョン情報ないし他のコントローラ10が発揮可能な機能および機能群に関する情報を問い合わせる機能ブロックである。具体的には、コントローラA10aの情報問い合わせ部22は、コントローラB10b及びコントローラC10cに対して、コントローラB10b及びコントローラC10cのファームウェアのバージョン情報ないしコントローラB10b及びコントローラC10cが発揮可能な機能群に関する情報を問い合わせる。
情報取得部24は、情報問い合わせ部22により問い合わせた、他のコントローラ10のファームウェアのバージョン情報ないし他のコントローラ10が発揮可能な機能および機能群に関する情報を取得する機能ブロックである。具体的には、コントローラA10aの情報取得部24は、情報問い合わせ部22により問い合わせた、コントローラB10b及びコントローラC10cのファームウェアのバージョン情報ないしコントローラB10b及びコントローラC10cが発揮可能な機能群に関する情報を、コントローラB10b及びコントローラC10cから取得する。
バージョン比較部25は、複数のコントローラ10に搭載されたファームウェアのバージョンを相互に比較する機能ブロックである。具体的には、複数のコントローラA10a、B10b、及びC10cのうち、交換後の新たなコントローラA10a(Ver.2)に搭載されたファームウェアのバージョンに関する情報と、コントローラA10a以外のコントローラであるコントローラB10b(Ver.1)及びコントローラC10c(Ver.1)に搭載されたファームウェアにおいて相互に共通するバージョンに関する情報と、を比較する。なお、交換後の新たなコントローラA10aに搭載されたファームウェアのバージョンは、Ver.2であると説明しているが、これは、交換後の新たなコントローラA10aがVer.1における機能および機能群を発揮できないことを示しているわけではなく、交換後の新たなコントローラA10aは、Ver.1における機能および機能群もVer.2における機能および機能群も発揮できるという上位互換性を保つものであってもよいことはいうまでもない。
また、バージョン比較部25は、交換後の新たなコントローラA10a(Ver.2)に搭載されたファームウェアのバージョンと、コントローラA10a以外のコントローラであるコントローラB10b及びコントローラC10c(Ver.1)に搭載されたファームウェアのバージョンとが互いに一致するか否かを判断する機能ブロックである。この場合、バージョン比較部25は、コントローラA10aと、コントローラB10b及びコントローラC10cとのバージョンとが相違することを検出する。
バージョン制御部27は、バージョン比較部25が実行する比較の結果に基づいて、複数のコントローラ10の各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定する機能ブロックである。また、バージョン制御部27は、複数のコントローラの各々に搭載されたファームウェアのバージョンのうち最も古いバージョンを上記動作バージョンとして決定する機能ブロックである。具体的には、上述したように、バージョン比較部25は、新たなコントローラA10a(Ver.2)に搭載されたファームウェアのバージョンと、コントローラB10b(Ver.1)及びコントローラC10c(Ver.1)に搭載されたファームウェアにおいて相互に共通するバージョンと、の間で共通する動作バージョン(Ver.1)の有無を判断する。そして、バージョン制御部27は、上記三つのコントローラ10の各々に搭載されたファームウェアで共通して機能させるべき動作バージョン(Ver.1)を決定する。また、バージョン制御部27は、上記三つのコントローラ10の各々に搭載されたファームウェアのバージョンのうち最も古いバージョン(Ver.1)を動作バージョンとして決定する。すなわち、バージョン制御部27は、上記三つのコントローラ10が、上記三つのコントローラ10の各々に搭載されたファームウェアが動作バージョンの機能を発揮して動作するように制御する。
なお、上記の例では、新たなコントローラA10aに搭載されたファームウェアのバージョンをVer.2と、コントローラB10b及びコントローラC10cに搭載されたファームウェアのバージョンをVer.1と、して動作バージョンをVer.1としたが、これに限られず、新たなコントローラA10aに搭載されたファームウェアのバージョンがVer.5、コントローラB10bに搭載されたファームウェアのバージョンがVer.4、及びコントローラC10cに搭載されたファームウェアのバージョンがVer.3である場合は、動作バージョンは、Ver.3となる。そして、バージョン制御部27は、上記三つのコントローラ10の各々に搭載されたファームウェアで共通して機能させるべき動作バージョン(Ver.3)を決定する。ここでは、各コントローラ10に搭載されたファームウェアのバージョンうち最も古いバージョンは、Ver.3である。
図5は、本発明の第1実施形態に係るプロセス制御装置100が複数のコントローラ10の各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定するためのフローチャートである。
まず、ステップS1では、コントローラA10aの情報問い合わせ部22は、コントローラB10b及びコントローラC10cの各々に搭載されたファームウェアのバージョンに関する情報を問い合わせる。
次に、ステップS2では、コントローラA10aの情報取得部24は、情報問い合わせ部22により問い合わせた、コントローラB10b及びコントローラC10cの各々に搭載されたファームウェアのバージョンに関する情報を取得する。
次に、ステップS3では、コントローラA10aのバージョン比較部25は、コントローラA10aに搭載されたファームウェアのバージョンに関する情報と、コントローラB10b及びコントローラC10cの各々に搭載されたファームウェアのバージョンに関する情報と、を比較する。
次に、ステップS4では、比較結果に基づいて、三つのコントローラ10の各々に搭載されたファームウェアで共通して機能させるべき動作バージョン(三つのコントローラ10の各々に搭載されたファームウェアのバージョンのうち最も古いバージョン)を動作バージョンとして決定する。
ステップS5では、プロセス制御装置100のコントローラA10aに搭載されたファームウェアが動作バージョンで動作するように制御する。
以上説明したように、本発明の第1実施形態によれば、複数のコントローラに搭載されたファームウェアのバージョンを相互に比較し、当該比較の結果に基づいて、複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定することにより、コントローラが故障した際又はバージョンアップされた際に、すべてのコントローラを交換する必要がなくなり、プロセス制御装置の維持コストを抑えることができ、さらに、ユーザの利便性が高めることができる。なお、上述した実施形態においては、単にバージョンが相違するか否かに基づいて動作バージョンを決定したが、仮にコントローラA10aにおけるファームウェアVer.2が、コントローラB10b及びコントローラC10cにおけるファームウェアVer.1との互換性を有するものであると内部的に予め記録されている場合、例外的にコントローラA10aをファームウェアVer.2のまま動作させるように構成してもよい。
第2及び第3実施形態では、各コントローラ10が発揮可能な機能および機能群の比較を実行することで、特定機能の有無を判断し、プロセス制御装置100が特定機能の発揮が可能なように制御する点で、複数のコントローラ10のバージョンの比較を実行することで、複数のコントローラ10の各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定していた上記第1実施形態と異なる。
図6は、本発明の第2及び3実施形態に係るプロセス制御装置100のコントローラ10の機能的構成を示す図である。図5に示すように、コントローラ10a乃至cは、機能的に、情報処理部20b及び記憶部30を備えて構成されている。
情報処理部20bは、プロセス制御装置100が、特定機能の発揮が可能な機能を判断し、機能別の許可/禁止を制御する機能ブロックであり、情報問い合わせ部22、情報取得部24、機能比較部26、及び機能制御部28を機能的に備える。
機能比較部26は、複数のコントローラ10のうち少なくとも一つのコントローラ(特定コントローラ)が発揮する機能を含む第1機能群と、複数のコントローラ10のうち当該特定コントローラ以外の複数のコントローラが共通して発揮する機能を含む第2機能群と、の比較を実行する機能ブロックである。具体的には、複数のコントローラA10a、B10b、及びC10cのうち、交換後の新たなコントローラA10a(Ver.2)(特定コントローラ)が発揮する第1機能群(A+α、B+β、及びC+γ)と、コントローラA10a以外のコントローラであるコントローラB10b及びコントローラC10c(特定コントローラ以外の複数のコントローラ)が共通して発揮する第2機能群(A、B、及びC)と、を比較する。なお、交換後の新たなコントローラA10aが発揮できる機能は、Ver.2における機能群(A+α、B+β、及びC+γ)と説明しているが、これは、交換後の新たなコントローラA10aがVer.1における機能群(A、B、及びC)を発揮できないことを示しているわけではなく、交換後の新たなコントローラA10aは、Ver.1における機能群(A、B、及びC)もVer.2における機能群(A+α、B+β、及びC+γ)も発揮できるという上位互換性を保っている。
また、機能比較部26は、第1機能群と第2機能群との間で共通する特定機能の有無を判断する機能ブロックである。具体的には、新たなコントローラA10aが発揮する第2機能群(機能A+α、B+β、及びC+γ)と、コントローラB10b及びコントローラC10cが共通して発揮する第1機能群(A、B、及びC)と、の間で共通する機能(特定機能)の有無を判断する。上記の例では、機能比較部26は、第1機能群でも第2機能群でも、機能A、B、およびCについては上位互換性が保たれており、機能A、B、およびCについては共通して発揮可能であることに変更がないため、特定機能は有りと判断する。一方で、機能比較部26は、特定機能がない場合は、特定機能は無いと判断する。
機能制御部28は、機能比較部26が実行する比較の結果に基づいて、第2機能群のうち少なくとも一部の機能の発揮を禁止するように制御する機能ブロックである。また、機能制御部28は、機能比較部26により特定機能を有すると判断された場合に、特定コントローラが、上記第1機能群のうち上記特定機能以外の機能の発揮を禁止するように制御する機能ブロックである。具体的には、上述したように、機能比較部26は、新たなコントローラA10a(特定コントローラ)が発揮する第1機能群(A+α、B+β、及びC+γ)と、コントローラB10b及びコントローラC10c(特定コントローラ以外の複数のコントローラ)が共通して発揮する第2機能群(A、B、及びC)と、の間で共通する機能(特定機能)の有無を判断する。そして、機能制御部28は、新たなコントローラA10aが発揮する第1機能群(A+α、B+β、及びC+γ)のうち、特定機能(A、B、及びC)以外の機能(α、β、γ)部分の発揮を禁止するように制御する。すなわち、機能制御部28は、各コントローラ10が同じ機能A、B、及びCを発揮可能なように制御する。
図7は、本発明の第2実施形態に係るプロセス制御装置100が特定機能の発揮が可能なように制御するためのフローチャートである。
まず、ステップS1では、コントローラA10aの情報問い合わせ部22は、コントローラB10b及びコントローラC10cが発揮可能な機能および機能群に関する情報を問い合わせる。
次に、ステップS2では、コントローラA10aの情報取得部24は、情報問い合わせ部22により問い合わせた、コントローラB10b及びコントローラC10cが発揮可能な機能および機能群に関する情報を取得する。
次に、ステップS3では、コントローラA10aの機能比較部26は、コントローラA10aが発揮可能な機能および機能群に関する情報と、コントローラB10b及びコントローラC10cが発揮可能な機能および機能群に関する情報と、を比較する。
次に、ステップS4では、コントローラA10aの機能比較部26は、特定機能の有無を判断する。
次に、ステップS5では、機能比較部26が、特定機能が有ると判断する場合、ステップS6に進む。一方で、機能比較部26が、特定機能が無いと判断する場合は、プロセス制御装置100が特定機能の発揮が可能なように制御するための処理は終了する。
ステップS6では、プロセス制御装置100のコントローラA10aは、発揮可能な機能群のうち、特定機能以外の機能の発揮を禁止する。
以上説明したように、本発明の第2実施形態によれば、複数のコントローラ10のうち、特定コントローラ10が発揮する機能群と、特定コントローラ以外の他の複数のコントローラが共通して発揮する機能群と、の比較を実行し、上記比較の結果に基づいて、特定コントローラ以外の他の複数のコントローラが共通して発揮する機能群のうち少なくとも一部の機能の発揮を禁止するように制御することにより、コントローラが故障した際又はバージョンアップされた際に、すべてのコントローラを交換する必要がなくなり、プロセス制御装置の維持コストを抑えることができ、さらに、ユーザの利便性が高めることができる。さらに、本発明の第2実施形態によれば、各コントローラ10の機能群を直接比較しているため、バージョン情報のみの比較を実行する第1実施形態に比べて、各コントローラ10が発揮可能な機能をより精度よく制御することが可能となる。
第3実施形態では、各コントローラ10のファームウェアのバージョン情報の比較を実行することで、特定機能の有無を判断し、プロセス制御装置100が特定機能の発揮が可能なように制御する点で、コントローラ10が個別に自己判断していた上記第2実施形態と異なる。
具体的には、記憶部30には、あらかじめ、各コントローラ10のファームウェアのバージョン情報と、各コントローラ10の発揮可能な機能群と、を対応づけた、図4に示すような関係テーブルが格納されている。そして、機能比較部26は、各コントローラ10のファームウェアのバージョン情報を受信後、記憶部30に格納されている関係テーブルを参照することで、各コントローラ10の発揮可能な機能および機能群を把握する。そして、機能比較部26は、各コントローラ10の機能および機能群を比較し、特定機能の有無を判断する。
図8は、本発明の第3の実施形態に係るプロセス制御装置100が特定機能の発揮が可能なように制御するためのフローチャートである。まず、ステップS11では、コントローラA10aの情報問い合わせ部22は、コントローラB10b及びコントローラC10cのファームウェアのバージョン情報を問い合わせる。
次に、ステップS12では、コントローラA10aの情報取得部24は、情報問い合わせ部22により問い合わせた、コントローラB10b及びコントローラC10cファームウェアのバージョン情報を取得する。
次に、ステップS13では、コントローラA10aの機能比較部26は、コントローラA10aのファームウェアのバージョン情報と、コントローラB10b及びコントローラC10cのファームウェアのバージョン情報と、を比較する。
次に、ステップS14では、コントローラA10aの機能比較部26は、上述したように、記憶部30に格納されている関係テーブルを参照することにより、特定機能の有無を判断する。
次に、ステップS15では、機能比較部26が、特定機能が有ると判断する場合、ステップS16に進む。一方で、機能比較部26が、特定機能が無いと判断する場合は、プロセス制御装置100が特定機能の発揮が可能なように制御するための処理は終了する。
ステップS16では、プロセス制御装置100のコントローラA10aは、発揮可能な機能および機能群のうち、特定機能以外の機能の発揮を禁止する。
以上説明したように、本発明の第3実施形態によれば、複数のコントローラのうち、特定コントローラが発揮する機能群と、特定コントローラ以外の他の複数のコントローラが共通して発揮する機能群と、の比較を実行し、上記比較の結果に基づいて、特定コントローラ以外の他の複数のコントローラが共通して発揮する機能群のうち少なくとも一部の機能の発揮を禁止するように制御することにより、コントローラが故障した際又はバージョンアップされた際に、すべてのコントローラを交換する必要がなくなり、プロセス制御装置の維持コストを抑えることができ、さらに、ユーザの利便性が高めることができる。さらに、本発明の第3実施形態によれば、記憶部30に記憶されている上記関係テーブルを参照することで、コントローラ10が、個別に各コントローラ10が発揮可能な機能および機能群を比較する必要がなく、より簡易に特定機能の有無を判断し、プロセス制御装置100が特定機能の発揮が可能なように制御することができる。
なお、本発明において、上述した各実施形態は、あくまでも例示であり、明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施形態を組み合わせる等)して実施することができる。
たとえば、コントローラA10a(Ver.1)が新バージョンのコントローラA10a(Ver.2)と交換された際、旧バージョンであるバージョンVer.1のファームウェアを搭載したコントローラB10b及びコントローラC10cは、コントローラA10aが交換されたこと、又はコントローラA10aのファームウェアのバージョンが変更されたこと、を検出する。そして、コントローラB10b及びコントローラC10cの各々は、コントローラA10aからの問い合わせなしに、コントローラB10b及びコントローラC10cの各々が発揮可能な機能および機能群に関する情報を、コントローラA10a(Ver.2)に出力するように構成されていてもよい。そして、コントローラA10a(Ver.2)の機能比較部26は、コントローラA10a(Ver.2)が発揮可能な機能および機能群に関する情報と、コントローラB10b及びコントローラC10cが発揮可能な機能および機能群に関する情報と、を比較し、特定機能の有無を判断するように構成されていてもよい。
また、上述した第2、第3実施形態では、Ver.1のコントローラ10は機能群(機能A、B、及びC)を有するものであり、Ver.2のコントローラ10は機能群(機能A+α、B+β、及びC+γ)を有するものであるとして、Ver.2はVer.1の上位互換性を有するものであることを前提として説明した。しかし、これに限らず、仮にVer.2のコントローラ10が発揮しうる機能群が(A’、B+β、及びC+γ)であって、機能群の少なくとも一部、ここでは機能Aと機能A’に互換性が無いような場合であったとしても、Ver.2のコントローラ10が内部的に、機能A’ではなく、必要に応じて機能Aを代わりに発揮できるように構成されているものであれば、本願発明の趣旨に沿って、各コントローラ10が機能Aを発揮するように構成することが可能である。
1 プロセス制御システム
3 ネットワークIF
5 プロセス機器IF
10a、b、c コントローラA〜C
20a、b 情報処理部
22 情報問い合わせ部
24 情報取得部
25 バージョン比較部
26 機能比較部
27 バージョン制御部
28 機能制御部
30 記憶部
100 プロセス制御装置
102 管理装置
104a、b、c プロセス機器
106a、b、c システムバス
3 ネットワークIF
5 プロセス機器IF
10a、b、c コントローラA〜C
20a、b 情報処理部
22 情報問い合わせ部
24 情報取得部
25 バージョン比較部
26 機能比較部
27 バージョン制御部
28 機能制御部
30 記憶部
100 プロセス制御装置
102 管理装置
104a、b、c プロセス機器
106a、b、c システムバス
Claims (8)
- プロセス制御の機能を発揮する複数のコントローラによる冗長構成を備えるプロセス制御装置であって、
前記複数のコントローラに搭載されたファームウェアのバージョンを相互に比較するバージョン比較部と、
前記比較の結果に基づいて、前記複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定するバージョン制御部と、を備える、
プロセス制御装置。 - 前記バージョン制御部は、前記複数のコントローラの各々に搭載されたファームウェアのバージョンのうち最も古いバージョンを前記動作バージョンとして決定する、
請求項1に記載のプロセス制御装置。 - プロセス制御の機能を発揮する複数のコントローラによる冗長構成のためのプロセス制御方法であって、
前記複数のコントローラに搭載されたファームウェアのバージョンを相互に比較し、
前記比較の結果に基づいて、複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定する、
プロセス制御方法。 - プロセス制御の機能を発揮する複数のコントローラによる冗長構成のためのプロセス制御プログラムであって、
コンピュータに、
前記複数のコントローラに搭載されたファームウェアのバージョンを相互に比較する機能と、
前記比較の結果に基づいて、複数のコントローラの各々に搭載されたファームウェアで共通して機能させるべき動作バージョンを決定する機能と、
を実現させるためのプロセス制御プログラム。 - プロセス制御の機能を発揮する複数のコントローラによる冗長構成を備えるロセス制御装置であって、
前記複数のコントローラのうち少なくとも一つのコントローラを含む特定コントローラが発揮する機能を含む第1機能群と、前記複数のコントローラのうち前記特定コントローラ以外の複数のコントローラが共通して発揮する機能を含む第2機能群と、の比較を実行する機能比較部と、
前記比較の結果に基づいて、前記第1機能群のうち少なくとも一部の機能の発揮を禁止するように制御する機能制御部と、を備える、
プロセス制御装置。 - 前記機能比較部は、前記第1機能群と前記第2機能群との間で共通する特定機能の有無を判断し、
前記機能制御部は、前記機能比較部により前記特定機能を有すると判断された場合に、前記特定コントローラが、前記第1機能群のうち前記特定機能以外の機能の発揮を禁止するように制御する、
請求項5に記載のプロセス制御装置。 - プロセス制御の機能を発揮する複数のコントローラによる冗長構成のためのプロセス制御方法であって、
前記複数のコントローラのうち少なくとも一つのコントローラを含む特定コントローラが発揮する機能を含む第1機能群と、前記複数のコントローラのうち前記特定コントローラ以外の複数のコントローラが共通して発揮する機能を含む第2機能群と、の比較を実行し、
前記比較の結果に基づいて、前記第1機能群のうち少なくとも一部の機能の発揮を禁止するように制御する、
プロセス制御方法。 - プロセス制御の機能を発揮する複数のコントローラによる冗長構成のためのプロセス制御プログラムであって、
コンピュータに、
前記複数のコントローラのうち少なくとも一つのコントローラを含む特定コントローラが発揮する機能を含む第1機能群と、前記複数のコントローラのうち前記特定コントローラ以外の複数のコントローラが共通して発揮する機能を含む第2機能群と、の比較を実行する機能と、
前記比較の結果に基づいて、前記第1機能群のうち少なくとも一部の機能の発揮を禁止するように制御する機能と、
を実現させるためのプロセス制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014070447A JP2015191616A (ja) | 2014-03-28 | 2014-03-28 | プロセス制御装置、プロセス制御方法及びプロセス制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014070447A JP2015191616A (ja) | 2014-03-28 | 2014-03-28 | プロセス制御装置、プロセス制御方法及びプロセス制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015191616A true JP2015191616A (ja) | 2015-11-02 |
Family
ID=54426013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014070447A Pending JP2015191616A (ja) | 2014-03-28 | 2014-03-28 | プロセス制御装置、プロセス制御方法及びプロセス制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015191616A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017151608A (ja) * | 2016-02-23 | 2017-08-31 | アズビル株式会社 | コントローラおよびその制御方法 |
JP2017151599A (ja) * | 2016-02-23 | 2017-08-31 | アズビル株式会社 | コントローラおよびその制御方法 |
JP2020009035A (ja) * | 2018-07-05 | 2020-01-16 | Juki株式会社 | 生産システム、管理装置、プログラム |
-
2014
- 2014-03-28 JP JP2014070447A patent/JP2015191616A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017151608A (ja) * | 2016-02-23 | 2017-08-31 | アズビル株式会社 | コントローラおよびその制御方法 |
JP2017151599A (ja) * | 2016-02-23 | 2017-08-31 | アズビル株式会社 | コントローラおよびその制御方法 |
JP2020009035A (ja) * | 2018-07-05 | 2020-01-16 | Juki株式会社 | 生産システム、管理装置、プログラム |
JP7137379B2 (ja) | 2018-07-05 | 2022-09-14 | Juki株式会社 | 生産システム、管理装置、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9575785B2 (en) | Cluster system and method for providing service availability in cluster system | |
US20140201574A1 (en) | System and Method for Writing Checkpointing Data | |
US10114356B2 (en) | Method and apparatus for controlling a physical unit in an automation system | |
JP2015191616A (ja) | プロセス制御装置、プロセス制御方法及びプロセス制御プログラム | |
JP2009037271A (ja) | 仮想計算機システムの停止方法および計算機装置 | |
JP2015230720A (ja) | 計算機システム | |
JP2017146833A (ja) | 監視装置、フォールトトレラントシステムおよび方法 | |
JP2009003537A (ja) | 計算機 | |
JP2014215622A (ja) | プラント監視システム及びプラント監視方法 | |
JP2009026182A (ja) | プログラム実行システム及び実行装置 | |
JP4768574B2 (ja) | 電源制御システム及び方法、電子装置、プログラム | |
US11531315B2 (en) | Distributed control system | |
US10740199B2 (en) | Controlling device, controlling method, and fault tolerant apparatus | |
CN106776463B (zh) | 一种基于fpga的双余度计算机控制系统的设计方法 | |
JP2015022667A (ja) | トレース情報収集装置およびトレース情報収集方法、並びにコンピュータ・プログラム | |
JP2005092695A (ja) | 二重化コントローラ、その等値化モード決定方法 | |
JP5860659B2 (ja) | 列車運行管理システム | |
JP2016207142A (ja) | 計算機及びメモリ故障診断方法 | |
JP5227653B2 (ja) | 多重化計算機システム、及びその処理方法 | |
JP2019040331A (ja) | 分散制御システムおよびノード | |
US20150319698A1 (en) | Power control device and power control method | |
KR101679936B1 (ko) | 에너지 및 공정 제어를 위한 이중화된 산업용 제어 시스템 및 그 제어 방법 | |
JP2009252009A (ja) | コンピュータ管理システム、コンピュータシステムの管理方法、及びコンピュータシステムの管理プログラム | |
JP6567959B2 (ja) | 情報処理装置、拡張記憶制御方法および拡張記憶制御プログラム | |
JP2017142705A (ja) | フォールトトレラントサーバ装置及び通信制御装置の切替プログラム |