JP6362798B1 - 制御装置および代替選出プログラム - Google Patents

制御装置および代替選出プログラム Download PDF

Info

Publication number
JP6362798B1
JP6362798B1 JP2017558570A JP2017558570A JP6362798B1 JP 6362798 B1 JP6362798 B1 JP 6362798B1 JP 2017558570 A JP2017558570 A JP 2017558570A JP 2017558570 A JP2017558570 A JP 2017558570A JP 6362798 B1 JP6362798 B1 JP 6362798B1
Authority
JP
Japan
Prior art keywords
control device
failure
control
process information
selection table
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.)
Active
Application number
JP2017558570A
Other languages
English (en)
Other versions
JPWO2018207293A1 (ja
Inventor
洋平 塚本
洋平 塚本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6362798B1 publication Critical patent/JP6362798B1/ja
Publication of JPWO2018207293A1 publication Critical patent/JPWO2018207293A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/048Monitoring; Safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14018IN, plc and comparator, error detector, backup, standby plc, switch, update OUT
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24182Redundancy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34482Redundancy, processors watch each other for correctness
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

検出部(202)は、制御システムに備わる複数の制御装置のうちの少なくともいずれかの故障を検出する。選択テーブルは、故障パターンとプロセス情報とを互いに対応付ける。故障パターンは、正常な制御装置と故障した制御装置との組み合わせである。プロセス情報は、プロセスまたは不要を示す。選択部(210)は、選択テーブルから、制御システムの故障パターンに対応付けられたプロセス情報を選択する。選択されたプロセス情報がプロセスを示す場合、実行部(203)は、選択されたプロセス情報が示すプロセスを実行する。

Description

本発明は、制御装置が故障した場合に代替機を選出する技術に関するものである。
プラントシステムにおいて、機器を制御する制御装置が多重化されている。
多重化の方式は、どのように冗長度を持たせるかによって分類される。1台の装置に対してバックアップのための装置を1台用意する方式を1:1方式と呼ぶ。一方、k台の装置に対してバックアップのための装置をn台用意する方式をk−out−of−n方式と呼ぶ。k−out−of−n方式は、n台以下の故障であれば、どのような装置の組み合わせで故障が発生しても、システムを継続することが可能である。
1:1方式は構成および動作が簡単でわかりやすい。そして、故障の発生時に制御系から待機系への切り替えに要する時間が短い。
しかし、2倍の装置が必要となるため、コストが高い。
k−out−of−n方式は動作が複雑である。そして、故障の発生時の切り替え時間が長くなりやすい。
しかし、1:1方式よりも必要な台数が少ないため、コストが低い。
k−out−of−n方式は、切り替え時間の制約が緩い情報処理分野で積極的に採用されている。しかしながら、k−out−of−n方式は、リアルタイム性能の要件が厳しい制御分野では、ほとんど採用されていない。
故障の発生時に復旧までに要する処理時間が長いと、切り替え時間の要件を満たすことができず、システム全体の重篤な故障に繋がる。特に、代替機を選出するために装置間で合意を取る処理が複雑で時間を要する。
特公平8−27735号公報
久野 靖、"分散アルゴリズム" in 知識の森、電子情報通信学会、2012、6群3編5章、pp.13―16.
非特許文献1には、装置同士が互いに通信することによって装置間で合意を取る方法が開示されている。
しかし、ミリ秒オーダーの遅延が生じるため、非特許文献1の方法は制御分野では採用し難い。
特許文献1には、専用のハードウェアを用いて制御装置とバックアップ機との関係を定めるルールに従う方法が開示されている。これにより、時間が短縮される。
しかし、専用のハードウェアを要するため、特許文献1の方法は既存のシステムに適用し難い。また、追加のコストが必要となる。
さらに、制御装置とバックアップ機との関係がルールによって固定化されるため、特許文献1の方法では重要な装置を優先してバックアップすることができない。
本発明は、制御装置が故障した場合に、正常な制御装置間で通信を行わずに、且つ、専用のハードウェアを用いずに、故障した制御装置で実行されていたプロセスを正常な制御装置で実行できるようにすることを目的とする。
本発明の制御装置は、制御システムに備わる複数の制御装置に含まれる制御装置である。
本発明の制御装置は、
前記複数の制御装置のうちの少なくともいずれかの故障が検出された場合に、正常な制御装置と故障した制御装置との組み合わせである故障パターンと、プロセスまたは不要を示すプロセス情報とを互いに対応付ける選択テーブルから、前記制御システムの故障パターンに対応付けられたプロセス情報を選択する選択部と、
選択されたプロセス情報がプロセスを示す場合に、選択されたプロセス情報が示すプロセスを実行する実行部とを備える。
本発明によれば、制御装置が故障した場合に、正常な制御装置間で通信を行わずに、且つ、専用のハードウェアを用いずに、故障した制御装置で実行されていたプロセスを正常な制御装置で実行することが可能となる。
実施の形態1における制御システム100の構成図。 実施の形態1における制御装置200の構成図。 実施の形態1における制御方法のフローチャート。 実施の形態1における選択テーブル211を示す図。 実施の形態1における代替選出(S110)のフローチャート。 実施の形態2における選択テーブル212の構成図。 実施の形態2における制御方法のフローチャート。 実施の形態2における代替選出(S120)のフローチャート。 実施の形態3における制御装置200の構成図。 実施の形態3における選択テーブル213の構成図。 実施の形態3における選択テーブル213の構成図。 実施の形態3におけるテーブル生成(S130)のフローチャート。 実施の形態3における優先度情報の流れを示す図。 実施の形態3における優先度情報の流れを示す図。 実施の形態における制御装置200のハードウェア構成図。
実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
実施の形態1.
制御装置が故障した場合に故障した制御装置で実行されていたプロセスを正常な制御装置で実行するための形態について、図1から図5に基づいて説明する。
***構成の説明***
図1に、制御システム100を示す。制御システム100はプラントシステムと呼ばれる制御システムである。
制御システム100は、複数の制御装置200と複数の入出力装置101と複数の機器102とネットワーク103と生産設備104とを備える。I/Oは入出力の略称である。
制御装置200は、ネットワーク103を介して入出力装置101と通信を行うことによって、入出力装置101を介して機器102を制御する。
具体的には、制御装置200は、入出力装置101から機器102の状態を受け付け、入出力装置101に指令を与える。
機器102は、アクチュエータおよび電磁バルブなどの機器であり、生産設備104を動作させる。
制御システム100において、制御装置200は、k−out−of−n方式で多重化されている。
動作している制御装置200を制御系の制御装置200といい、バックアップのために待機している制御装置200を待機系の制御装置200という。制御系の制御装置200を総称して制御系といい、待機系の制御装置200を総称して待機系という。
例えば、制御システム100は5台の制御装置200を備える。3台の制御装置200が制御系であり、残りの制御装置200(2台の制御装置200)が待機系である。
図2に基づいて、制御装置200の構成を説明する。
制御装置200は、プロセッサ901とメモリ902と補助記憶装置903と通信装置904といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ901は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。
メモリ902は揮発性の記憶装置である。メモリ902は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ902はRAM(Random Access Memory)である。メモリ902に記憶されたデータは必要に応じて補助記憶装置903に保存される。
補助記憶装置903は不揮発性の記憶装置である。例えば、補助記憶装置903は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置903に記憶されたデータは必要に応じてメモリ902にロードされる。
通信装置904は通信を行う装置、すなわち、レシーバ及びトランスミッタである。例えば、通信装置904は通信チップまたはNIC(Network Interface Card)である。
制御装置200は、制御部201と検出部202と選択部210と実行部203といったソフトウェア要素を備える。ソフトウェア要素はソフトウェアで実現される要素である。
補助記憶装置903には、選択部210としてコンピュータを機能させるための代替選出プログラムが記憶されている。代替選出プログラムは、メモリ902にロードされて、プロセッサ901によって実行される。
さらに、補助記憶装置903にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ902にロードされて、プロセッサ901によって実行される。
つまり、プロセッサ901は、OSを実行しながら、代替選出プログラムを実行する。
代替選出プログラムを実行して得られるデータは、メモリ902、補助記憶装置903、プロセッサ901内のレジスタまたはプロセッサ901内のキャッシュメモリといった記憶装置に記憶される。
メモリ902はデータを記憶する記憶部291として機能する。但し、他の記憶装置が、メモリ902の代わりに、又は、メモリ902と共に、記憶部291として機能してもよい。
通信装置904はデータを通信する通信部292として機能する。
制御装置200は、プロセッサ901を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ901の役割を分担する。
代替選出プログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
***動作の説明***
制御装置200の動作は制御方法および代替選出方法に相当する。また、制御方法の手順は制御プログラムの手順に相当し、代替選出方法の手順は代替選出プログラムに相当する。
図3に基づいて、制御方法を説明する。
ステップS101において、制御部201はトラッキングを行う。
トラッキングは、故障の発生時に制御系から待機系に動作を直ちに引き継げるように、制御系から待機系へ、現在の処理状態を通知する処理である。なお、トラッキングは、k−out−of−n方式の制御システムで行われる通常の処理である。
具体的には、制御系の制御装置200において、制御部201は、現在の処理状態を表すスナップショットを生成し、生成されたスナップショットを通信部292を介して他の制御装置200に送信する。また、制御部201は、制御系の他の制御装置200から送信されたスナップショットを通信部292を介して受信し、受信されたスナップショットを記憶部291に記憶する。
具体的には、待機系の制御装置200において、制御部201は、制御系の制御装置200から送信されたスナップショットを通信部292を介して受信し、受信されたスナップショットを記憶部291に記憶する。
ステップS102において、制御部201は制御通信を行う。
制御通信は、制御系の制御装置200同士が制御のための情報をやりとりする処理である。なお、制御通信は制御システムで行われる通常の処理である。
具体的には、制御系の制御装置200において、制御部201は、制御情報を生成し、生成された制御情報を通信部292を介して制御系の他の制御装置200に送信する。また、制御部201は、制御系の他の制御装置200から送信された制御情報を通信部292を介して受信し、受信された制御情報に基づいて特定の制御を行う。
待機系の制御装置200では、ステップS102は実行されない。
ステップS103において、検出部202はキープアライブを行う。
キープアライブは、故障している制御装置200の存在を確認する処理である。なお、キープアライブは、k−out−of−n方式の制御システムで行われる通常の処理である。
具体的には、制御系と待機系とのそれぞれの制御装置200において、検出部202は、応答要求パケットを通信部292を介して他の制御装置200に送信する。また、検出部202は、他の制御装置200から送信された応答要求パケットを通信部292を介して受信し、応答パケットを通信部292を介して応答要求パケットの送信元に送信する。また、検出部202は、一定時間の間、他の制御装置200から送信された応答パケットを通信部292を介して受信する。そして、検出部202は、一定時間の間に受信された応答パケットの送信元以外の他の制御装置200を検出する。検出された他の制御装置200は故障した制御装置200である。
故障した制御装置200が検出された場合、処理はステップS110に進む。
故障した制御装置200が検出されなかった場合、処理はステップS101に進む。
ステップS110において、選択部210は代替選出を実施する。
代替選出は、故障した制御装置200を代替する制御装置200を選出するための処理である。
図4に基づいて、選択テーブル211を説明する。
選択テーブル211は、代替選出(S110)で使用される選択テーブルの例である。選択テーブル211は記憶部291に予め記憶される。
選択テーブル211は、行番号と故障パターンとプロセス情報とのそれぞれの列を有する。選択テーブル211において、行番号と故障パターンとプロセス情報とは互いに対応付けられている。
行番号の列は、行番号を示す。行番号は、選択テーブル211の行を識別する。
故障パターンの列は、故障パターンを示す。故障パターンは、正常な制御装置200と故障した制御装置200との組み合わせである。x台目:正常(1)は、第x制御装置200が正常の状態であることを意味する。x台目:故障(0)は、第x制御装置200が故障の状態であることを意味する。
故障パターンの列に示される故障パターンの数は、2^Nである。2^Nは2のN乗を意味する。Nは、制御システム100に備わる制御装置200の数である。
制御システム100に備わる制御装置200の数Nは、制御系の制御装置200の数kと待機系の制御装置200の数nとの合計である。
第1制御装置200から第k制御装置200までが制御系の制御装置200であり、第k+1制御装置200から第N制御装置200までが待機系の制御装置200である。
プロセス情報の列は、プロセス情報を示す。プロセス情報は、プロセスまたは不要(なし)を示す。
プロセス情報の列に示されるプロセスは、新たに実行されるプロセスである。具体的には、プロセス情報の列に示されるプロセスは、故障状態の制御装置200で実行されていたプロセスである。
プロセス情報の列に示される不要は、新たに実行されるプロセスが無いことを意味する。「なし」は不要を意味する。
故障パターンの列は、全ての制御装置200において同一である。
つまり、特定の制御装置200において選択テーブル211に含まれる複数の故障パターンは、他の制御装置200において選択テーブル211に含まれる複数の故障パターンと同じである。
プロセス情報の列は、制御装置200ごとに異なる。
つまり、特定の制御装置200において選択テーブル211に含まれる複数のプロセス情報は、他の制御装置200において選択テーブル211に含まれる複数のプロセス情報と異なる。
定常状態における全てのプロセスがなるべく多くの故障パターンにおいて実行されるように、プロセス情報の列が設定されるのが良い。
定常状態は故障が発生していない状態であり、定常状態における全てのプロセスは定常状態の制御システム100において制御系によって実行される全てのプロセスである。
例えば、制御系の第k制御装置200のみが故障した場合、代替選出(S110)によって、待機系の第k+1制御装置200にプロセスmが割り当てられる。プロセスmは、定常状態において制御系の第k制御装置200によって実行されるプロセスである。
代替選出(S110)において、選択部210は、選択テーブル211から、制御システム100の故障パターンに対応付けられたプロセス情報を選択する。
図5に基づいて、代替選出(S110)の手順を説明する。
ステップS111において、選択部210は、制御システム100の現在の故障パターンを特定する。
具体的には、選択部210は、ステップS103(図3参照)の結果に基づいて、正常な制御装置200と故障した制御装置200との組み合わせを特定する。特定される組み合わせが制御システム100の現在の故障パターンである。
ステップS112において、選択部210は、変数iに0を設定する。
ステップS113において、選択部210は、選択テーブル211からi行目の故障パターンを取得する。
そして、選択部210は、ステップS111で特定された故障パターンをi行目の故障パターンと比較する。
ステップS114において、選択部210は、ステップS111で特定された故障パターンがi行目の故障パターンと一致するか判定する。
ステップS111で特定された故障パターンがi行目の故障パターンと一致する場合、処理はステップS116に進む。
ステップS111で特定された故障パターンがi行目の故障パターンと一致しない場合、処理はステップS115に進む。
ステップS115において、選択部210は、変数iの値に1を足す。
ステップS115の後、処理はステップS113に進む。
ステップS116において、選択部210は、選択テーブル211からi行目のプロセス情報を取得する。
図3に戻り、ステップS104から説明を続ける。
ステップS104において、制御部201は、実行プロセスが有るか判定する。
実行プロセスは、代替選出(S110)で取得されたプロセス情報に示されるプロセスである。
具体的には、制御部201は、代替選出(S110)で取得されたプロセス情報がプロセスを示すか判定する。プロセス情報がプロセスを示す場合、実行プロセスが有る。プロセス情報が不要を示す場合、実行プロセスが無い。
実行プロセスが有る場合、処理はステップS105に進む。
実行プロセスが無い場合、処理はステップS101に進む。
ステップS105において、実行部203は、実行プロセスの実行を開始する。
具体的には、実行部203は、以下のように動作する。
まず、実行部203は、記憶部291から故障した制御装置200のスナップショットを選択する。
次に、実行部203は、選択されたスナップショットを用いて、故障した制御装置200の故障前の処理状態を復元する。
そして、実行部203は、故障した制御装置200の故障前の処理状態で、実行プロセスの実行を開始する。
これにより、故障した制御装置200で実行されていたプロセスが代替の制御装置200に引き継がれて実行される。
***実施の形態1の効果***
実施の形態1では、すべての故障パターンに対してどの制御装置200がどのプロセスを実行するか、つまり、待機系のどの制御装置200にどのプロセスを代替させるかを予め定める。
これにより、汎用のハードウェアのみを用いて、短い遅延時間で且つ柔軟に、制御装置(制御系の制御装置200)とバックアップ機(待機系の制御装置200)との関係を定めることができる。
代替選出(S110)に要する時間は、故障パターンを比較する回数に依存する。故障パターンを比較する回数は、最大で2^N回である。1回あたりの処理時間は、数十ナノ秒から数百ナノ秒程度である。
制御装置200の数Nが10台前後である場合、代替選出(S110)に要する時間は最大で数マイクロ秒である。
したがって、実施の形態1における代替選出は、制御系の制御装置間でハンドシェイクを取る従来の方法と比較して高速であり、数ミリ秒での切り替えが要件となるシステムにおいて有効である。
実施の形態2.
代替選出に要する時間を短縮するための選択テーブルの格納方法について、主に実施の形態1と異なる点を図6から図8に基づいて説明する。
***構成の説明***
図6に基づいて、選択テーブル212の構成を説明する。
選択テーブル212は、ベースアドレス以降のメモリ領域に格納される。ベースアドレスは、選択テーブル212の先頭アドレスとして決められたメモリアドレスである。
選択テーブル212は、故障パターンの数と同じ数の個別領域を有する。制御装置200の数がNである場合、選択テーブル212は、2^N個の個別領域を有する。
個別領域には、故障パターンに対応するプロセス情報が設定される。
個別領域は、メモリ領域のうち、故障パターンを示す2進数の値を用いて得られるメモリアドレスで識別される部分である。
具体的には、個別領域は、故障パターンを示す2進数の値にベースアドレスを足して得られるメモリアドレスで識別される部分のメモリ領域である。
故障パターンを示す2進数の値とは、複数の制御装置200に対応する複数のビットから成るビット列で表現される値である。
制御装置200の数がNである場合、故障パターンはNビットのビット列で表現される。ビット列の中の1つのビットは、1つの制御装置200の状態を表すビット値を示す。
制御装置200が5台あり、第1制御装置200が故障の状態であり、第2制御装置200から第5制御装置200が正常の状態であるものとする。また、ビット値「1」が正常の状態を表し、ビット値「0」が故障の状態を表すものとする。この場合、第1ビットが「0」になり、第2ビットから第5ビットが「1」になるので、故障パターンを表す5ビットは「11110」である。
***動作の説明***
図7に基づいて、制御方法を説明する。
ステップS101からステップS103までの各ステップ、ステップS104およびステップS105は、実施の形態1(図3参照)で説明した通りである。
ステップS103で、故障した制御装置200が検出された場合、代替選出(S120)が実行される。
代替選出(S120)において、選択部210は、制御システム100の故障パターンを示す2進数の値を用いて制御システム100の故障パターンに対応するメモリアドレスを算出する。そして、選択部210は、算出されたメモリアドレスで識別されるメモリ領域からプロセス情報を取得する。
図8に基づいて、代替選出(S120)の手順を説明する。
ステップS121において、選択部210は、制御システム100の現在の故障パターンのビット列を生成する。
具体的には、選択部210は、制御システム100の現在の故障パターンを特定し、特定した故障パターンを示すビット列を生成する。
制御システム100の現在の故障パターンを特定する方法は、実施の形態1のステップS111(図5参照)における方法と同じである。
ステップS122において、選択部210は、制御システム100の現在の故障パターンに対応するベースアドレスを算出する。
具体的には、選択部210は、ステップS121で生成されたビット列が示す2進数の値にベースアドレスを足す。これによって得られるメモリアドレスが、制御システム100の現在の故障パターンに対応するベースアドレスである。
ステップS123において、選択部210は、制御システム100の現在の故障パターンに対応するプロセス情報を選択テーブル212から取得する。
具体的には、選択部210は、ステップS122で算出されたメモリアドレスで識別されるメモリ領域からプロセス情報を取得する。取得されるプロセス情報が、制御システム100の現在の故障パターンに対応するプロセス情報である。
***実施の形態2の効果***
実施の形態2では、選択テーブル212がメインメモリ(メモリ902)の連続した領域に保存される。
これにより、汎用のハードウェアのみを用いて、短い遅延時間で且つ柔軟に、制御装置(制御系の制御装置200)とバックアップ機(待機系の制御装置200)との関係を定めることができる。
代替選出(S120)に要する時間は、1回の加算と1回のメモリアクセスとに要する時間である。この時間は数十ナノ秒から数百ナノ秒程度である。
したがって、実施の形態2における代替選出は、制御系の制御装置間でハンドシェイクを取る方法と比較して高速であり、数ミリ秒での切り替えが要件となるシステムにおいて有効である。
実施の形態3.
選択テーブルを生成する形態について、主に実施の形態1および実施の形態2と異なる点を図9から図14に基づいて説明する。
***構成の説明***
図9に基づいて、制御装置200の構成を説明する。
制御装置200は、さらに、生成部220をソフトウェア要素として備える。
代替選出プログラムは、さらに、生成部220としてコンピュータを機能させる。
図10および図11に基づいて、選択テーブル213の構成を説明する。
選択テーブル213は、行番号と故障パターンとプロセス情報とのそれぞれの列を有する。
行番号が記された列が行番号の列である。
第1列から第5列までが故障パターンの列である。
第1列から第3列には、制御系識別子(m、mおよびm)が優先度の高い順に設定されている。制御系識別子は、制御系の制御装置200を識別する。つまり、制御装置m、制御装置m、制御装置mの順で優先度が高い。優先度が高い制御装置200は、優先度が高いプロセスが割り当てられた制御装置200である。例えば、優先度が高いプロセスは、運転の継続が不可能になった際に安全に停止するための処理である。例えば、優先度が低いプロセスは、画像を表示する際に色味を調整するための処理、または、安全性に関係がない処理である。
第4列および第5列には、待機系識別子(nおよびn)が設定されている。
故障パターンは、制御装置200毎の状態を示している。故障パターンにおいて、値1は正常の状態を意味し、値0は故障の状態を意味する。
第6列および第7列がプロセス情報の列である。
第6列および第7列には、待機系識別子(nおよびn)が設定されている。
プロセス情報は、待機系の制御装置200毎に、制御系識別子(m、mまたはm)を示している。プロセス情報において、制御系識別子は、待機系の制御装置200に割り当てられるプロセスの識別子に相当する。つまり、制御系識別子で識別される制御装置200で実行されていたプロセスが待機系の制御装置200に割り当てられる。また、ハイフンは、新たに割り当てられるプロセスが無い、つまり、不要を意味する。
選択テーブル213は、実施の形態1における選択テーブル211と以下のように対応している。
選択テーブル213の第1列から第5列は、選択テーブル211における故障パターンの列に相当する。
選択テーブル213の第6列(n)または第7列(n)は、選択テーブル211におけるプロセス情報の列に相当する。つまり、待機系の制御装置nにおいて、選択テーブル211は、プロセス情報の列として、第6列(n)を有する。また、待機系の制御装置nにおいて、選択テーブル211は、プロセス情報の列として、第7列(n)を有する。
選択テーブル213は、実施の形態2における選択テーブル212と以下のように対応している。
選択テーブル213の第1列から第5列に示される故障パターンは、選択テーブル212の個別領域を特定する故障パターンに相当する。
選択テーブル213において第6列(n)または第7列(n)に示されるプロセス情報は、選択テーブル212の中の個別領域に設定されるプロセス情報に相当する。つまり、待機系の制御装置nにおいて、選択テーブル212の中の個別領域には、選択テーブル213の第6列(n)に示されるプロセス情報が設定される。また、待機系の制御装置nにおいて、選択テーブル212の中の個別情報には、選択テーブル213の第7列(n)に示されるプロセス情報が設定される。
***動作の説明***
図12に基づいて、テーブル生成(S130)を説明する。
テーブル生成(S130)は、選択テーブル213を生成するための処理であり、生成部220によって実行される。
ステップS131において、生成部220は、優先度情報に基づいて、故障パターンの列に制御系識別子および待機系識別子を優先度の高い順に登録する。
優先度情報は、制御装置200毎の優先度を示す情報であり、記憶部291に予め記憶される。
図13に示すように、優先度情報は、設定装置110から各制御装置200に設定される。具体的には、制御装置200毎に設定装置110が制御装置200に接続され、設定装置110から接続先の制御装置200へ優先度情報が入力される。
破線の矢印は、優先度情報の流れを示している。
実線の矢印は、制御装置200毎に優先度情報に基づいて選択テーブル213が生成されることを意味する。
図14に示すように、優先度情報は、設定装置110から1台の制御装置200に設定されてもよい。
この場合、その制御装置200は、優先度情報に基づいて各制御装置200の選択テーブル213を生成し、各制御装置200に選択テーブル213を配信する。
設定装置110から制御装置200への矢印は、優先度情報の流れを示している。
制御装置200間の矢印は、選択テーブル213の流れを示している。
図12に戻り、ステップS132から説明を続ける。
ステップS132において、生成部220は、故障パターンの列に故障パターンを設定する。
具体的には、生成部220は、故障パターンの数2^Nと同じ数の行を選択テーブル213に追加し、各行の故障パターンの列に故障パターンを1つずつ設定する。
ステップS133において、生成部220は、プロセス情報の列を初期化する。
具体的には、生成部220は、プロセス情報の列の中の各要素にハイフン(−)を設定する。
行ループの開始から行ループの終了までの処理は、選択テーブル213に示される行番号の小さい順に、選択テーブル213の行毎に実行される。
列ループの開始から列ループの終了までの処理は、選択テーブル213に示される列番号の小さい順に、選択テーブル213の列毎に実行される。
ステップS134において、生成部220は、対象行の対象列が故障状態(0)を示すか判定する。
対象行の対象列が故障状態(0)を示す場合、処理はステップS135に進む。
対象行の対象列が正常状態(1)を示す場合、対象列に対する処理は終了する。
ステップS135において、生成部220は、対象行に未割り当て要素が有るか判定する。
未割り当て要素は、プロセス情報の列において制御系識別子(プロセス識別子)が設定されていない要素、すなわち、プロセス情報の列においてハイフン(−)が設定されている要素である。
対象行に未割り当て要素が有る場合、処理はステップS136に進む。
対象行に未割り当て要素が無い場合、対象行に対する処理は終了する。
ステップS136において、生成部220は、対象行の該当列が正常状態(1)を示すか判定する。
該当列は、故障パターンの列のうち、未割り当て要素の列に対応する列である。具体的には、該当列は、故障パターンの列のうち、未割り当て要素の列に設定されている待機系識別子と同じ待機系識別子が設定されている列である。
例えば、図10において、未割り当て要素の列が第6列である場合、未割り当て要素の列に設定されている待機系識別子はnである。したがって、故障パターンの列である第1列から第5列のうち、待機系識別子nが設定されている第4列が該当列である。
対象行の該当列が正常状態(1)を示す場合、処理はステップS137に進む。
対象行の該当列が異常状態(0)を示す場合、対象行に対する処理は終了する。
ステップS137において、生成部220は、未割り当て要素にプロセス情報を設定する。
具体的には、生成部220は、対象列に設定されている制御系識別子を未割り当て要素に設定する。
***実施の形態3の効果***
制御装置200は、優先度情報に基づいて選択テーブル213を生成することができる。つまり、制御装置200は、プロセスの優先度を踏まえて、実施の形態1における選択テーブル211および実施の形態2における選択テーブル212を効率的に生成することができる。
***実施の形態の補足***
図15に基づいて、制御装置200のハードウェア構成を説明する。
制御装置200は処理回路990を備える。
処理回路990は、制御部201と検出部202と実行部203と選択部210と記憶部291とを実現するハードウェアである。
処理回路990は、専用のハードウェアであってもよいし、メモリ902に格納されるプログラムを実現するプロセッサ901であってもよい。
処理回路990が専用のハードウェアである場合、処理回路990は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
制御装置200は、処理回路990を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路990の役割を分担する。
制御装置200の機能について、一部が専用のハードウェアで実現されて、残りがソフトウェアまたはファームウェアで実現されてもよい。
このように、処理回路990はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
100 制御システム、101 入出力装置、102 機器、103 ネットワーク、104 生産設備、110 設定装置、200 制御装置、201 制御部、202 検出部、203 実行部、210 選択部、211 選択テーブル、212 選択テーブル、213 選択テーブル、220 生成部、291 記憶部、292 通信部、901 プロセッサ、902 メモリ、903 補助記憶装置、904 通信装置、990 処理回路。

Claims (4)

  1. 制御システムに備わる複数の制御装置に含まれる制御装置であって、
    前記複数の制御装置は、複数の制御系の制御装置と少なくとも1つの待機系の制御装置とで構成され、
    前記複数の制御装置のうちの少なくともいずれかの故障が検出された場合に、全ての制御系の制御装置の故障の有無全ての待機系の制御装置の故障の有無とを表す2進数の値を示す複数の故障パターンと、プロセスまたは不要を示す複数のプロセス情報とを互いに対応付ける選択テーブルから、前記制御システムの故障パターンに対応付けられたプロセス情報を選択する選択部と、
    選択されたプロセス情報がプロセスを示す場合に、選択されたプロセス情報が示すプロセスを実行する実行部とを備え、
    前記2進数の値は、複数のビットから成るビット列で表現される値であり、
    前記ビット列の中の1つのビットは、1つの制御装置の状態を表すビット値であり、
    各々のプロセス情報は、前記故障パターン示す2進数の値を含む値、あるいは、前記故障パターンが示す2進数の値にベースアドレスを足して得られる値、をメモリアドレスとするメモリ領域に設定され、
    前記選択部は、前記故障パターン示す2進数の値を含む値、あるいは、前記故障パターンが示す2進数の値にベースアドレスを足して得られる値、をメモリアドレスとするメモリ領域からプロセス情報を取得する
    制御装置。
  2. 記選択テーブルに含まれる複数の故障パターンは、他の制御装置で使用される選択テーブルである他の選択テーブルに含まれる複数の故障パターンと同じであり、
    前記選択テーブルに含まれる複数のプロセス情報は、前記他の選択テーブルに含まれる複数のプロセス情報と異なる
    請求項1に記載の制御装置。
  3. 前記複数の制御装置のそれぞれの優先度を示す優先度情報に基づいて前記選択テーブルを生成する生成部を備える
    請求項1あるいは請求項2のいずれか1項に記載の制御装置。
  4. 制御システムに備わる複数の制御装置に含まれる制御装置のための代替選出プログラムであって、
    前記複数の制御装置は、複数の制御系の制御装置と少なくとも1つの待機系の制御装置とで構成され
    前記代替選出プログラムは、
    前記複数の制御装置のうちの少なくともいずれかの故障が検出された場合に、全ての制御系の制御装置の故障の有無全ての待機系の制御装置の故障の有無とを表す2進数の値を示す複数の故障パターンと、プロセスまたは不要を示す複数のプロセス情報とを互いに対応付ける選択テーブルから、前記制御システムの故障パターンに対応付けられたプロセス情報を選択する選択処理と、
    選択されたプロセス情報がプロセスを示す場合に、選択されたプロセス情報が示すプロセスを実行する実行処理と
    をコンピュータに実行させ
    前記2進数の値は、複数のビットから成るビット列で表現される値であり、
    前記ビット列の中の1つのビットは、1つの制御装置の状態を表すビット値であり、
    各々のプロセス情報は、前記故障パターンが示す2進数の値を含む値、あるいは、前記故障パターンが示す2進数の値にベースアドレスを足して得られる値、をメモリアドレスとするメモリ領域に設定され、
    前記選択処理は、前記故障パターンが示す2進数の値を含む値、あるいは、前記故障パターンが示す2進数の値にベースアドレスを足して得られる値、をメモリアドレスとするメモリ領域からプロセス情報を取得する
    代替選出プログラム。
JP2017558570A 2017-05-10 2017-05-10 制御装置および代替選出プログラム Active JP6362798B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/017726 WO2018207293A1 (ja) 2017-05-10 2017-05-10 制御装置および代替選出プログラム

Publications (2)

Publication Number Publication Date
JP6362798B1 true JP6362798B1 (ja) 2018-07-25
JPWO2018207293A1 JPWO2018207293A1 (ja) 2019-06-27

Family

ID=62976541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017558570A Active JP6362798B1 (ja) 2017-05-10 2017-05-10 制御装置および代替選出プログラム

Country Status (5)

Country Link
EP (1) EP3605246B1 (ja)
JP (1) JP6362798B1 (ja)
KR (1) KR102190542B1 (ja)
CN (1) CN110612487A (ja)
WO (1) WO2018207293A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS575162A (en) * 1980-06-13 1982-01-11 Tokyo Electric Power Co Inc:The Redundant system controller
JPS626302A (ja) * 1985-07-03 1987-01-13 Fuji Electric Co Ltd n:1バツクアツプシステム
JPS63238633A (ja) * 1987-03-26 1988-10-04 Hitachi Ltd 分散システムにおけるバツクアツプ方式
JPH03194601A (ja) * 1989-12-22 1991-08-26 Mitsubishi Electric Corp 協調分散制御システム
JP2000285030A (ja) * 1999-03-30 2000-10-13 Fujitsu Ltd 情報処理装置
JP2003241736A (ja) * 2002-02-22 2003-08-29 Matsushita Electric Ind Co Ltd 画像処理方法、画像処理装置、及び、表示装置
JP2009217358A (ja) * 2008-03-07 2009-09-24 Mitsubishi Electric Corp 二重化プログラマブルコントローラ

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2807862B2 (ja) 1994-07-15 1998-10-08 博 吉田 衝撃吸収用クリップ
JP3798322B2 (ja) * 2001-02-19 2006-07-19 新日本製鐵株式会社 高炉羽口からの含酸素粉体吹き込み方法
US8359112B2 (en) * 2006-01-13 2013-01-22 Emerson Process Management Power & Water Solutions, Inc. Method for redundant controller synchronization for bump-less failover during normal and program mismatch conditions

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS575162A (en) * 1980-06-13 1982-01-11 Tokyo Electric Power Co Inc:The Redundant system controller
JPS626302A (ja) * 1985-07-03 1987-01-13 Fuji Electric Co Ltd n:1バツクアツプシステム
JPS63238633A (ja) * 1987-03-26 1988-10-04 Hitachi Ltd 分散システムにおけるバツクアツプ方式
JPH03194601A (ja) * 1989-12-22 1991-08-26 Mitsubishi Electric Corp 協調分散制御システム
JP2000285030A (ja) * 1999-03-30 2000-10-13 Fujitsu Ltd 情報処理装置
JP2003241736A (ja) * 2002-02-22 2003-08-29 Matsushita Electric Ind Co Ltd 画像処理方法、画像処理装置、及び、表示装置
JP2009217358A (ja) * 2008-03-07 2009-09-24 Mitsubishi Electric Corp 二重化プログラマブルコントローラ

Also Published As

Publication number Publication date
KR102190542B1 (ko) 2020-12-14
EP3605246B1 (en) 2021-01-20
WO2018207293A1 (ja) 2018-11-15
EP3605246A1 (en) 2020-02-05
EP3605246A4 (en) 2020-04-22
JPWO2018207293A1 (ja) 2019-06-27
CN110612487A (zh) 2019-12-24
KR20190126938A (ko) 2019-11-12

Similar Documents

Publication Publication Date Title
US20170060671A1 (en) Anomaly recovery method for virtual machine in distributed environment
JP2014093075A (ja) ベーシック・インプット/アウトプット・システムを同時に更新するためのラックおよびその方法
JP4461262B2 (ja) コンピュータ障害発生時に複数のコンピュータの配列を操作する方法
US20130219224A1 (en) Job continuation management apparatus, job continuation management method and job continuation management program
WO2009092322A1 (zh) 一种多处理器系统故障恢复的方法及装置
CN105209982B (zh) 用于控制自动化系统中的物理单元的方法和设备
WO2020034194A1 (zh) 分布式数据处理方法、装置及系统和机器可读介质
JP7371099B2 (ja) 調整可能な数のトランザクションブロックと複数の仲介ブロックとを含むブロックを有するブロックチェーンの生成
JP6362798B1 (ja) 制御装置および代替選出プログラム
CN114531373A (zh) 节点状态检测方法、节点状态检测装置、设备及介质
US11695856B2 (en) Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device
JP6304048B2 (ja) 制御システム、および制御装置
JP6369226B2 (ja) 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム
US10516625B2 (en) Network entities on ring networks
JP2010244164A (ja) Dmaコントローラ、情報処理装置、及びdma管理方法
JP6576556B2 (ja) 通信デバイス、通信処理方法、通信処理装置及び通信システム
US9977720B2 (en) Method, information processing apparatus, and computer readable medium
CN107710165B (zh) 用于存储节点同步业务请求的方法和装置
CN110673793B (zh) 存储设备节点事件管理方法、系统及电子设备和存储介质
JP7065686B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP2001014290A (ja) マルチプロセッサシステム
CN112231142A (zh) 系统备份恢复方法、装置、计算机设备和存储介质
EP3506145A1 (en) Data integrity protection method and device
JP2005092695A (ja) 二重化コントローラ、その等値化モード決定方法
JP2014170448A (ja) レプリケーションシステム、業務処理システム、レプリケーション方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171108

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171108

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180626

R150 Certificate of patent or registration of utility model

Ref document number: 6362798

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250