JP4347839B2 - 二重化システム - Google Patents

二重化システム Download PDF

Info

Publication number
JP4347839B2
JP4347839B2 JP2005269412A JP2005269412A JP4347839B2 JP 4347839 B2 JP4347839 B2 JP 4347839B2 JP 2005269412 A JP2005269412 A JP 2005269412A JP 2005269412 A JP2005269412 A JP 2005269412A JP 4347839 B2 JP4347839 B2 JP 4347839B2
Authority
JP
Japan
Prior art keywords
program
tracking range
tracking
system controller
variable
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
JP2005269412A
Other languages
English (en)
Other versions
JP2007080116A (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
Priority to JP2005269412A priority Critical patent/JP4347839B2/ja
Publication of JP2007080116A publication Critical patent/JP2007080116A/ja
Application granted granted Critical
Publication of JP4347839B2 publication Critical patent/JP4347839B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Hardware Redundancy (AREA)
  • Devices For Executing Special Programs (AREA)
  • Safety Devices In Control Systems (AREA)

Description

この発明は、プラント機器を制御するコントローラを二重化した二重化システムに関するものである。
従来の二重化コントローラは、制御系から待機系へどのメモリをトラッキングするかの指定方法として、例えば、特許文献1では、変数単位に「トラッキングする、しない」の設定をコントローラのデータメモリに持つようにし、必要なエリアだけをトラッキングすることで、性能を上げる方法を提案している。
また、特許文献2では、エンジニアリングツールで、トラッキングする・しないの属性が指定されていないユーザプログラムを解析し、トラッキングが必要な変数にはトラッキングする属性を自動的に与え、それ以外の変数にはトラッキングしない属性を与えるようにし、ユーザプログラムでのユーザによるトラッキング指定を不要にする方法の記載がある。
これらによれば、指定された変数のメモリをトラッキングすることで、高速なトラッキングが可能となる。
特開2003−131899号公報(第3〜7頁、図2) 特開2002−268714号公報(第3〜4頁、図5)
特許文献1、2に示される従来の二重化コントローラは、以上のように構成されているので、以下のような問題点がある。
特許文献1の「トラッキングする・しない」の設定は、安全のためにコントローラを一旦ストップしてエンジニアリングツールから転送する必要がある。「トラッキングする・しない」の設定を、コントローラを動作させたまま変更すると、「トラッキングする・しない」の設定書換え中に通信路の障害で書換えエラーが発生した場合など、一部の変数だけが「トラッキングする」の指定になり、トラッキングされるべき変数が「トラッキングしない」の指定となった不整合な状態でプログラムが動作する可能性があり、この状態で制御系・待機系コントローラの切り替えが発生すると、ユーザが予期しない危険なメモリの状態で待機系が動作開始する可能性があるからである。
また、特許文献2では、ユーザプログラムの変数への「トラッキングする・しない」の設定が、エンジニアリングツールで自動的に行われ、ユーザプログラムをコンパイルするとき、トラッキングデータが生成されるため、ユーザはプログラムを書き換えてコントローラに転送する度に、トラッキングデータが転送されることになる。このため、トラッキングデータの転送時には、上述のように、コントローラをストップする必要があり、制御用のコントローラとしては使用できない。
これは、制御用コントローラは、制御系をストップせずにプログラムを書き換えることができる必要があるためである。因みに、エンジニアリングツールからコントローラへのプログラムだけの転送では、転送が失敗したときは、コントローラは古いプログラムで動作できるので、転送時にコントローラをストップする必要がない。
特許文献1、2は、このように変数の「トラッキングする・しない」の設定を変更するつど、コントローラをストップしてエンジニアリングツールからコントローラへ転送する必要があった。
この発明は、上記のような課題を解決するためになされたものであり、エンジニアリングツールで設定される変数毎のトラッキングするかしないかのトラッキング情報を、エンジニアリングツールからコントローラに転送する回数を大幅に減少し、コントローラを停止する回数を減少することができる二重化システムを得ることを目的にしている。
この発明に係わる二重化システムにおいては、プログラムを実行することによりプラント機器を制御する制御系コントローラとこの制御系コントローラが故障したとき制御系コントローラの動作を継続してプラント機器を制御する待機系コントローラとの二つのコントローラにより構成され、コントローラは、実行するプログラムで参照される変数の値を格納するデータメモリと、制御系コントローラのデータメモリのデータを待機系コントローラのデータメモリにコピーするトラッキング手段を有する二重化システムにおいて、
コントローラで実行されるプログラムを作成するとともにデータメモリのトラッキングするデータの範囲を設定するエンジニアリングツールを備え、
エンジニアリングツールは、ユーザがプログラムを作成するプログラムエディタと、ユーザがトラッキング対象の変数を定義する変数エディタと、
制御系コントローラから待機系コントローラへトラッキングするデータメモリ上のデータの範囲であるトラッキング範囲をユーザが設定するトラッキング範囲設定手段と、
このトラッキング範囲設定手段により設定されたトラッキング範囲及びデータメモリの空き情報を格納するデータメモリ管理テーブルと、
データメモリ管理テーブルを参照して変数エディタにより定義された変数にトラッキング範囲にあるメモリを割付けるようにプログラムエディタによって作成されたプログラムをコンパイルするコンパイラと、
このコンパイラによってコンパイルされたプログラム及びトラッキング範囲設定手段により設定されたトラッキング範囲設定をコントローラに転送する転送手段と
トラッキング範囲設定手段によりトラッキング範囲が小さく変更されたときに、ユーザに変数エディタにより定義された変数へのトラッキング範囲にあるメモリの割付けをコンパイラにより行う必要があることを警告するとともに、コンパイラによるメモリの割付が完了するまでプログラム及びトラッキング範囲設定を転送しないよう、転送手段に通知するトラッキング範囲変更通知手段とを有するものである。
この発明は、以上説明したように、プログラムを実行することによりプラント機器を制御する制御系コントローラとこの制御系コントローラが故障したとき制御系コントローラの動作を継続してプラント機器を制御する待機系コントローラとの二つのコントローラにより構成され、コントローラは、実行するプログラムで参照される変数の値を格納するデータメモリと、制御系コントローラのデータメモリのデータを待機系コントローラのデータメモリにコピーするトラッキング手段を有する二重化システムにおいて、
コントローラで実行されるプログラムを作成するとともにデータメモリのトラッキングするデータの範囲を設定するエンジニアリングツールを備え、
エンジニアリングツールは、ユーザがプログラムを作成するプログラムエディタと、ユーザがトラッキング対象の変数を定義する変数エディタと、
制御系コントローラから待機系コントローラへトラッキングするデータメモリ上のデータの範囲であるトラッキング範囲をユーザが設定するトラッキング範囲設定手段と、
このトラッキング範囲設定手段により設定されたトラッキング範囲及びデータメモリの空き情報を格納するデータメモリ管理テーブルと、
データメモリ管理テーブルを参照して変数エディタにより定義された変数にトラッキング範囲にあるメモリを割付けるようにプログラムエディタによって作成されたプログラムをコンパイルするコンパイラと、
このコンパイラによってコンパイルされたプログラム及びトラッキング範囲設定手段により設定されたトラッキング範囲設定をコントローラに転送する転送手段と
トラッキング範囲設定手段によりトラッキング範囲が小さく変更されたときに、ユーザに変数エディタにより定義された変数へのトラッキング範囲にあるメモリの割付けをコンパイラにより行う必要があることを警告するとともに、コンパイラによるメモリの割付が完了するまでプログラム及びトラッキング範囲設定を転送しないよう、転送手段に通知するトラッキング範囲変更通知手段とを有するので、ユーザにて必要最低限なメモリをトラッキングするようにトラッキング範囲を設定でき、この設定したトラッキング範囲設定をエンジニアリングツールからコントローラへ転送するだけで、トラッキングに要する時間を短くすることができるとともに、コントローラをストップすることなく、作成したプログラムをエンジニアリングツールからコントローラに転送することができる。
実施の形態1.
以下、この発明の実施の形態1を図1と図2に基づいて説明する。
図1は、この発明の実施の形態1による二重化システムを示すシステム構成図である。
図1において、エンジニアリングツール11は、ユーザが制御用プログラムを作成するのに用いられる。コントローラ12、13は、制御用プログラムを実行してプラント機器を制御する。コントローラは、通常動作する制御系コントローラ12と、通常は止まっているが、制御系コントローラ12が故障などでダウンしたときに、瞬時に動作を開始する待機系コントローラ13から構成される。制御系コントローラ12と待機系コントローラ13は同じ構成であり、まとめてコントローラ12、13ということもある。
待機系コントローラ13は、制御系コントローラ12の状態を引き継いで動作を開始する必要がある。すなわち、待機系コントローラ13のデータメモリ1Bの値は、制御系コントローラ12のデータメモリ1Bと一致した状態から運転を開始する必要がある。待機系コントローラ13のデータメモリ1Bに、制御系コントローラ12のデータメモリ1Bの内容を一致させることをトラッキングという。
なお、一部のデータは、運転開始後、プログラムの演算結果から出力される。このデータについては、運転開始時に制御系と待機系で一致している必要は無い。つまり、一致する必要のあるデータと、そうでないデータがある。
コントローラ12、13は、ユーザがエンジニアリングツール11で作成したプログラムを格納するプログラムメモリ1Cと、プログラムが参照する変数の値を格納するデータメモリ1Bと、エンジニアリングツール11で設定されたトラッキング範囲を記憶するトラッキング範囲1Dと、制御系コントローラ12のデータメモリ1Bの値を、待機系コントローラ13のデータメモリ1Bにトラッキングするトラッキング機能1F(トラッキング手段)から構成される。このトラッキング機能1Fは、ユーザがエンジニアリングツール11で設定するトラッキング範囲1Dのデータメモリ1Bのデータを、制御系コントローラ12から待機系コントローラ13に、トラッキングケーブル15経由でコピーする。
このトラッキング中は制御系コントローラ12でプログラムを実行できないので、高速周期で実行する必要のある制御用プログラムの場合は、できるだけトラッキング時間が短いことが望ましい。
エンジニアリングツール11は、コントローラ12、13に、メンテナンスLAN14を介して接続されている。
このエンジニアリングツール11は、ユーザがプラント制御用のプログラム(プログラム言語で記述したソースコード)を作成するプログラムエディタ16と、ユーザがトラッキング対象の変数を定義する変数エディタ17と、ソースコードを機械語コード(プログラムオブジェクト)に変換するとともに、変数にメモリを割付けるようなコンパイルを行うコンパイラ19と、制御系コントローラ12から待機系コントローラ13にデータメモリ1Bのトラッキングする範囲を設定するトラッキング範囲設定機能18(トラッキング範囲設定手段)と、コンパイル結果のプログラムオブジェクトと、設定されたトラッキング範囲設定をメンテナンスLAN14を介してコントローラ12、13に転送する転送機能1A(転送手段)とを有している。
図2は、この発明の実施の形態1による二重化システムのエンジニアリングツールの詳細を示す構成図である。
図2において、16〜19は図1におけるものと同一のものである。図2では、図1の構成に加えて、エンジニアリングツールのさらに詳細な構成を示している。図1に加えて、コンパイラ19が変数にデータメモリのメモリを割付けるときに、データメモリのどこが空いているかの情報を格納するデータメモリ管理テーブル21と、コンパイラ19から要求され、変数に割当てるメモリがトラッキング範囲内にあるかどうかをチェックして返すトラッキング範囲チェック機能22と、トラッキングが不要な変数として、トラッキングされないメモリが割付けられている演算用テンポラリ変数23とを有している。
次に、図2を用いてエンジニアリングツール11の基本動作について説明する。
ユーザは、変数エディタ17を用いて、トラッキング対象の変数を定義する。次に、プログラムエディタ16を用いて、プログラム(ソースコード)を作成する。ここで作成されるプログラムは、図2のように、ファンクションブロック形式のプログラム図を採用している。箱はファンクションブロックと呼ばれる命令である。なお、ラダーやテキスト形式のプログラム図でも本方式を採用できる。
プログラムを作成するときは、変数エディタ17で定義した変数を用いてプログラムを作成する。図2では、例示のように、PUMP_ON変数の値を入力として、TON命令(入力オンすると、指定された時間が経過した後に出力をオンする命令)を実行し、結果をVALVE_ON変数に格納し、次にVALVE_ON変数を入力として、TON命令を実行し、MOTOR_ON変数に値を格納している。このとき、ユーザには見えないが、TON命令を実行するために、演算用テンポラリ変数23が使用される。
図3は、この発明の実施の形態1による二重化システムのエンジニアリングツールのトラッキング範囲設定及び転送動作を示すフローチャートである。
次に、図3のフローチャートを用いてエンジニアリングツールの動作についてさらに詳しく説明する。
ST31で、ユーザは、トラッキング範囲設定機能18により、必要最低限の範囲のメモリをトラッキングするように設定する。図2では、先頭メモリ番地0から100番地分のサイズをトラッキングするように設定している。これによって、最低限のサイズをトラッキングすることになるので、高速なトラッキングが可能となる。この値は、ユーザで調整することになるが、コントローラをストップできる出荷前の試験中は、小さめにとっておいて、コントローラをストップするのが困難になる工場での運用開始前に、実際の変数の使用量を見て、以降のプログラムの変更で変数を追加しても問題にならないように調整すればよい。このため、この調整作業がユーザの負担になることはない。
ST32で、作成したプログラム(ソースコード)を機械語コードにコンパイルすると、コンパイラ19は、データメモリ管理テーブル21を参照して、空きメモリから各変数に対してメモリを割付ける。割付けたメモリは、データメモリ管理テーブル21上で使用済みとする。
このとき、変数エディタ17で定義された変数に対しては、トラッキング範囲設定機能18で定義された範囲から割付け、それ以外の演算用テンポラリ変数23に対しては、ST42により、トラッキングメモリ範囲外から割付けを行う。
すなわち、ST33で、コンパイラは、変数エディタ17で定義された変数に、トラッキングされるメモリからメモリを割付ける場合かどうかチェックし、トラッキングされるメモリからメモリを割付ける場合は、ST34で、トラッキング範囲チェック機能22を使用して、割付けるメモリが範囲内に収まっているかどうかをチェックする。ST35で、範囲外の場合は、ST36で、コンパイルエラーとし、ユーザにトラッキング範囲設定を変更するようにメッセージを表示する。これによって、トラッキングされなければならない変数が、トラッキング範囲外のメモリを割付けられて、不正な状態で実行されることを防止できる。
ユーザは、ST37で、コンパイルが正常終了すると、図1の転送機能1Aを使用して、プログラムとトラッキング範囲設定を、制御系コントローラ12と待機系コントローラ13とに転送する。ST38で、トラッキング範囲設定を転送するかどうかをユーザが判断し、トラッキング範囲設定を転送する場合は、ST39で、コントローラをストップしてから、ST310で転送する。
但し、トラッキング範囲は、トラッキング範囲設定機能18にて変更していた場合のみ転送すれば良い。従って、プログラムのみ転送する場合は、ST311でコントローラをストップすることなく、変更したプログラムのみを転送することができる。
なお、変数エディタ17により定義される変数を追加または削除しても、それがトラッキング範囲内のメモリへの割付または削除に対応するものであれば、トラッキング範囲を変更する必要がなく、したがって、トラッキング範囲設定をコントローラをストップして転送する必要もない。
実施の形態1によれば、トラッキングの範囲をユーザで設定可能なトラッキング範囲設定機能をエンジニアリングツールに備えるので、ユーザにて必要最低限なメモリをトラッキングするように設定できる。
また、コンパイル時、トラッキングが必要な変数にはトラッキング範囲の空きメモリからメモリを割付け、演算結果を一時的に格納するようなトラッキング不要な変数にはトラッキング範囲外のメモリを割付けるコンパイラを備えるので、ユーザでどの変数をトラッキングするかをプログラムで設定する必要が無い。
さらに、コンパイル時に、トラッキング範囲のメモリを変数に割付けるときに、トラッキング範囲内に収まったかどうかをチェックするトラッキング範囲チェック機能を備えるので、トラッキングされるべき変数がトラッキング範囲外のメモリを割付けられた不正な状態で、転送されることが防止される。
これらの機構により、通常はコントローラを止めることなくプログラムを転送できる。ユーザがトラッキングする範囲を変更した場合は、コントローラを止めて転送する必要があるが、プラントで運用が開始されたあとは、トラッキングの範囲を変更するようなケースは殆ど無いので、問題にはならない。
実施の形態2.
以下、この発明の実施の形態2を図4に基づいて説明する。
図4は、この発明の実施の形態2による二重化システムを示すシステム構成図である。
図4において、1A〜1F、11〜19は図1におけるものと同一のものである。図4では、エンジニアリングツール11と同じ構成の他のエンジニアリングツール52がメンテナンスLAN14に接続され、各エンジニアリングツール11、52には、コントローラ12、13のトラッキング範囲1Dと、プログラムを転送するエンジニアリングツールのトラッキング範囲をチェックするコントローラパラメータチェック機能51(コントローラパラメータチェック手段)が設けられている。
実施の形態1では、エンジニアリングツール11が1台の場合について説明したが、実施の形態2は、エンジニアリングツール11と同じ構成の他のエンジニアリングツール52がメンテナンスLAN14に接続され、複数のユーザによってプログラムが作成される構成である。
複数のユーザによってプログラムが作成される場合には、他のエンジニアリングツール52で、エンジニアリングツール11で設定された範囲と異なるトラッキング範囲を設定され、コントローラ12、13に転送される可能性がある。
この後、エンジニアリングツール11でプログラムを変更してコンパイルし、コントローラ12、13に転送するとき、プログラムで使用する変数は、エンジニアリングツール11上のトラッキング範囲内には収まっているが、コントローラ12、13側の、他のエンジニアリングツール52で転送されたトラッキング範囲1Dには収まっていない可能性がある。
これを防止するために、エンジニアリングツール11、52にコントローラパラメータチェック機能51を設け、プログラムの転送前に、コントローラ12、13のトラッキング範囲1Dと、エンジニアリングツールのトラッキング範囲設定をチェックするようにし、このチェック結果、コントローラ12、13のトラッキング範囲1Dが小さい場合は、プログラムを転送しないようにする。
なお、コントローラ12、13のトラッキング範囲1Dが、プログラムを転送しょうとするエンジニアリングツールのトラッキング範囲と同じかまたは大きい場合は、プログラムを転送しても何ら問題はない。
実施の形態2によれば、コントローラパラメータチェック機能51を設けたことにより、複数のユーザによりプログラムが作成される場合にも、プログラムとトラッキング範囲設定が不一致の状態でプログラムがコントローラに転送されることを防止できる。
実施の形態3.
以下、この発明の実施の形態3を、図5に基づいて説明する。
図5は、この発明の実施の形態3による二重化システムのエンジニアリングツールの詳細を示す構成図である。
図5において、16〜19、21〜23は図2におけるものと同一のものである。図5では、データメモリ1Bの使用量を表示するメモリ使用量表示機能61(メモリ使用量表示手段)が設けられている。
実施の形態3は、エンジニアリングツール11に、データメモリ管理テーブル21を参照して、トラッキングされるメモリの使用量と残量、及びトラッキングされないメモリの使用量と残量を表示するメモリ使用量表示機能61を設けたものである。
実施の形態3によれば、メモリの使用量と残量が表示されることにより、ユーザは、この情報を参照して、トラッキング範囲を容易に調整することができる。
実施の形態4.
以下、この発明の実施の形態4を、図6に基づいて説明する。
図6は、この発明の実施の形態4による二重化システムのエンジニアリングツールの詳細を示す構成図である。
図6において、16〜19、21〜23は図2におけるものと同一のものである。図6では、トラッキング範囲が狭められたことを検知し、再コンパイルの必要性を通知するとともにコンパイルが完了するまではコントローラに転送されないようにガードするトラッキング範囲変更通知機能71(トラッキング範囲変更通知手段)を設けている。
トラッキング範囲設定機能18にて、トラッキング範囲を狭められたとき、トラッキングされるメモリの内のすでに変数に割当てられたメモリ位置が、トラッキングされないメモリに変更されてしまう可能性がある。
もし、トラッキングされるメモリの内のすでに変数に割当てられたメモリ位置が、トラッキングされないメモリに変更されてしまった場合、これに気付かずにトラッキング範囲設定がコントローラに転送されると、トラッキングされるべき変数がトラッキングされないまま、コントローラが動作することになる。
実施の形態4は、これを防止するために、トラッキング範囲設定機能18でトラッキング範囲が狭められたとき、トラッキング範囲変更通知機能71は、これを検知し、ユーザにプログラムの再度のコンパイル(コンパイラ19による変数へのトラッキング範囲内のメモリの割付)が必要であることを通知するとともに、転送機能1Aに、コンパイルが完了するまでは、プログラムとトラッキング範囲がコントローラに転送されないようにガードする情報を通知する。再コンパイルすれば、トラッキングされないメモリに割付けられた変数を、トラッキングされるメモリの空きエリアに割付け直すことができる。
実施の形態4によれば、トラッキング範囲が狭められたとき、トラッキングされるメモリの内のすでに変数に割当てられたメモリ位置が、トラッキングされないメモリに変更されたときでも、ユーザに、プログラムの再コンパイルが必要であることを通知するとともに、転送機能1Aに、コンパイルが完了するまでは、プログラムとトラッキング範囲がコントローラに転送されないようにガードする情報を通知することができ、トラッキングされるべき変数がトラッキングされないまま、コントローラが動作することを防ぐことができる。
実施の形態5.
以下、この発明の実施の形態5を、図7に基づいて説明する。
図7は、この発明の実施の形態5による二重化システムのエンジニアリングツールの詳細を示す構成図である。
図7において、16〜19、21〜23は図2におけるものと同一のものである。図7では、トラッキング範囲が、ユーザにてトラッキング範囲設定機能18を用いて小さく変更されたとき、この変更を検知するトラッキング範囲変更チェック機能81(トラッキング範囲変更チェック手段)を設けている。
実施の形態5は、トラッキング範囲が、ユーザにてトラッキング範囲設定機能18を用いて小さく変更されたとき、トラッキング範囲変更チェック機能81により、この変更を検知して、データメモリ管理テーブル21を参照して、トラッキング範囲が小さくされたことによって、トラッキングされるメモリを割付けられた変数のメモリが、トラッキングされないように変更されることになる場合は、エラーとし、トラッキング範囲設定を変更できないようにガードするようにした。
実施の形態5によれば、トラッキング範囲変更チェック機能81を設け、トラッキング範囲が小さくされたことによって、トラッキングされるメモリを割付けられた変数のメモリが、トラッキングされないように変更されることを防ぎ、トラッキング範囲を誤って変更できないようにすることができる。
実施の形態6.
以下、この発明の実施の形態6を、図8に基づいて説明する。
図8は、この発明の実施の形態6による二重化システムを示すシステム構成図である。
図8において、1A〜1F、11〜19は図1におけるものと同一のものである。図8では、コントローラ12、13に、エンジニアリングツール11から制御系コントローラにトラッキング範囲設定やプログラムが転送されると、これを検知するとともに、転送されたトラッキング範囲設定及びプログラムを待機系コントローラに転送するプログラム・パラメータトラッキング機能91(プログラム・パラメータトラッキング手段)を設けている。
ユーザによって、トラッキング範囲設定機能18を利用してトラッキング範囲が変更され、プログラムエディタ16によってプログラムが変更され、転送機能1Aによって、コントローラ12、13にこれらを転送するときは、制御系コントローラ12と待機系コントローラ13の両コントローラに確実に転送する必要がある。制御系コントローラ12と待機系コントローラ13で一致していないと、切換え時に正常動作しないからである。
ところで、この転送時に、制御系コントローラ12への転送は正常終了したが、待機系コントローラ13には何らかのエラーで転送できなかった場合、これに気付かないで運用していると、制御系コントローラ12から待機系コントローラ13への切換え時に、予想していなかった動きとなり危険である。
実施の形態6は、これを防止するために、エンジニアリングツール11から制御系コントローラ12にのみプログラム及びトラッキング範囲設定を転送し、制御系コントローラ12のプログラム・パラメータトラッキング機能91が、プログラム及びトラッキング範囲設定が転送されたことを検知して、このエンジニアリングツール11から転送されたプログラム及びトラッキング範囲設定を、トラッキングケーブル15経由で待機系コントローラ13に転送するようにして、両コントローラにトラッキング範囲設定及びプログラムを転送する。
なお、制御系コントローラ12のプログラム・パラメータトラッキング機能91によるプログラム及びトラッキング範囲設定の待機系コントローラ13への転送が失敗(待機系コントローラ13からの応答を受信しないことにより)した場合(何回かのリトライの結果の失敗を含む)は、制御系コントローラ12でも、エンジニアリングツール11から転送されたプログラム及びトラッキング範囲設定を破棄し、これによるプログラムメモリ1Cまたはトラッキング範囲1Dの書換えを行わないようにする。
実施の形態6によれば、トラッキング範囲設定及びプログラムをエンジニアリングツールから制御系コントローラにまず転送し、制御系コントローラから待機系コントローラへ転送するようにしたので、制御系及び待機系コントローラのプログラムとトラッキング範囲が不一致になることを防止できる。
この発明の実施の形態1による二重化システムを示すシステム構成図である。 この発明の実施の形態1による二重化システムのエンジニアリングツールの詳細を示す構成図である。 この発明の実施の形態1による二重化システムのエンジニアリングツールの動作を示すフローチャートである。 この発明の実施の形態2による二重化システムを示すシステム構成図である。 この発明の実施の形態3による二重化システムのエンジニアリングツールの詳細を示す構成図である。 この発明の実施の形態4による二重化システムのエンジニアリングツールの詳細を示す構成図である。 この発明の実施の形態5による二重化システムのエンジニアリングツールの詳細を示す構成図である。 この発明の実施の形態6による二重化システムを示すシステム構成図である。
符号の説明
1A 転送機能、1B データメモリ、1C プログラムメモリ、
1D トラッキング範囲、1F トラッキング機能、
11 エンジニアリングツール、12 制御系コントローラ、
13 待機系コントローラ、14 メンテナンスLAN、
15 トラッキングケーブル、16 プログラムエディタ、17 変数エディタ、
18 トラッキング範囲設定機能、19 コンパイラ、
21 データメモリ管理テーブル、22 トラッキング範囲チェック機能、
23 演算用テンポラリ変数、51 コントローラパラメータチェック機能、
52 他のエンジニアリングツール、61 メモリ使用量表示機能、
71 トラッキング範囲変更通知機能、
81 トラッキング範囲変更チェック機能、
91 プログラム・パラメータトラッキング機能。

Claims (2)

  1. プログラムを実行することによりプラント機器を制御する制御系コントローラとこの制御系コントローラが故障したとき上記制御系コントローラの動作を継続して上記プラント機器を制御する待機系コントローラとの二つのコントローラにより構成され、上記コントローラは、実行するプログラムで参照される変数の値を格納するデータメモリと、上記制御系コントローラのデータメモリのデータを待機系コントローラのデータメモリにコピーするトラッキング手段を有する二重化システムにおいて、
    上記コントローラで実行されるプログラムを作成するとともに上記データメモリのトラッキングするデータの範囲を設定するエンジニアリングツールを備え、
    上記エンジニアリングツールは、ユーザが上記プログラムを作成するプログラムエディタと、ユーザがトラッキング対象の変数を定義する変数エディタと、
    上記制御系コントローラから上記待機系コントローラへトラッキングする上記データメモリ上のデータの範囲であるトラッキング範囲をユーザが設定するトラッキング範囲設定手段と、
    このトラッキング範囲設定手段により設定されたトラッキング範囲及び上記データメモリの空き情報を格納するデータメモリ管理テーブルと、
    上記データメモリ管理テーブルを参照して上記変数エディタにより定義された変数に上記トラッキング範囲にあるメモリを割付けるように上記プログラムエディタによって作成されたプログラムをコンパイルするコンパイラと、
    このコンパイラによってコンパイルされたプログラム及び上記トラッキング範囲設定手段により設定されたトラッキング範囲設定を上記コントローラに転送する転送手段と
    上記トラッキング範囲設定手段によりトラッキング範囲が小さく変更されたときに、ユーザに上記変数エディタにより定義された変数への上記トラッキング範囲にあるメモリの割付けを上記コンパイラにより行う必要があることを警告するとともに、上記コンパイラによるメモリの割付が完了するまで上記プログラム及びトラッキング範囲設定を転送しないよう、上記転送手段に通知するトラッキング範囲変更通知手段とを有することを特徴とする二重化システム。
  2. プログラムを実行することによりプラント機器を制御する制御系コントローラとこの制御系コントローラが故障したとき上記制御系コントローラの動作を継続して上記プラント機器を制御する待機系コントローラとの二つのコントローラにより構成され、上記コントローラは、実行するプログラムで参照される変数の値を格納するデータメモリと、上記制御系コントローラのデータメモリのデータを待機系コントローラのデータメモリにコピーするトラッキング手段を有する二重化システムにおいて、
    上記コントローラで実行されるプログラムを作成するとともに上記データメモリのトラッキングするデータの範囲を設定するエンジニアリングツールを備え、
    上記エンジニアリングツールは、ユーザが上記プログラムを作成するプログラムエディタと、ユーザがトラッキング対象の変数を定義する変数エディタと、
    上記制御系コントローラから上記待機系コントローラへトラッキングする上記データメモリ上のデータの範囲であるトラッキング範囲をユーザが設定するトラッキング範囲設定手段と、
    このトラッキング範囲設定手段により設定されたトラッキング範囲及び上記データメモリの空き情報を格納するデータメモリ管理テーブルと、
    上記データメモリ管理テーブルを参照して上記変数エディタにより定義された変数に上記トラッキング範囲にあるメモリを割付けるように上記プログラムエディタによって作成されたプログラムをコンパイルするコンパイラと、
    このコンパイラによってコンパイルされたプログラム及び上記トラッキング範囲設定手段により設定されたトラッキング範囲設定を上記コントローラに転送する転送手段と、
    上記トラッキング範囲設定手段によりトラッキング範囲が小さく変更されるときに、上記データメモリ管理テーブルを参照して、上記小さくされるトラッキング範囲に上記変数エディタにより定義された変数が入らなくなる場合には、エラーとして、上記トラッキング範囲を変更できないようにするトラッキング範囲変更チェック手段とを有することを特徴とする二重化システム。
JP2005269412A 2005-09-16 2005-09-16 二重化システム Active JP4347839B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005269412A JP4347839B2 (ja) 2005-09-16 2005-09-16 二重化システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005269412A JP4347839B2 (ja) 2005-09-16 2005-09-16 二重化システム

Publications (2)

Publication Number Publication Date
JP2007080116A JP2007080116A (ja) 2007-03-29
JP4347839B2 true JP4347839B2 (ja) 2009-10-21

Family

ID=37940338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005269412A Active JP4347839B2 (ja) 2005-09-16 2005-09-16 二重化システム

Country Status (1)

Country Link
JP (1) JP4347839B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128514A (ja) * 2008-11-25 2010-06-10 Mitsubishi Electric Corp プラントコントロールシステム
JP5400691B2 (ja) * 2010-04-16 2014-01-29 株式会社日立製作所 プログラマブル表示器の監視操作方法、監視操作プログラムおよびプログラマブル表示器
JP5421894B2 (ja) * 2010-12-22 2014-02-19 株式会社日立製作所 2重化プロセス制御装置および制御データ一致化方法
JP5832368B2 (ja) * 2012-05-07 2015-12-16 三菱電機株式会社 エンジニアリング装置
JP6320253B2 (ja) * 2014-09-10 2018-05-09 東芝エネルギーシステムズ株式会社 二重化制御システム
JP6099846B2 (ja) * 2015-03-30 2017-03-22 三菱電機株式会社 演算ユニット、エンジニアリングツール及びエンジニアリングツールプログラム

Also Published As

Publication number Publication date
JP2007080116A (ja) 2007-03-29

Similar Documents

Publication Publication Date Title
JP4347839B2 (ja) 二重化システム
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
JP5093259B2 (ja) Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム
EP2318933B1 (en) Method for updating data in memories using a memory management unit
JP2009146229A (ja) プログラマブルコントローラシステム
EP3647942B1 (en) Engineering apparatus, control method of engineering apparatus, and program
EP3159792B1 (en) Method of optimally compiling plc command
JP2009157533A (ja) プログラマブルコントローラシステム
JP5849592B2 (ja) プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
JP2007079969A (ja) デバッグシステム及び方法
US5136698A (en) Method for selective back-tracking in a hierarchical system containing a flag which indicates the validity of a choice-point
WO2019230262A1 (ja) サポート装置、制御システム、および開発支援プログラム
US8893127B2 (en) Method and system for loading application to a local memory of a co-processor system by using position independent loader
KR102434126B1 (ko) Plc 프로그램 처리 장치
JP5832368B2 (ja) エンジニアリング装置
JP2000163109A (ja) ラダープログラミング装置及びラダープログラミング方法
WO2018150820A1 (ja) 情報処理装置
JP3682050B2 (ja) 組込みソフトウェア開発装置
JP7446537B1 (ja) プログラマブルロジックコントローラ、制御方法及びプログラム
JP2014010661A (ja) 分岐アドレス管理プログラム、方法、及び装置
CN109445831B (zh) 焊机系统升级方法与焊机
KR100382355B1 (ko) 공용 라이브러리의 텍스트 영역 교체 방법
CN106066638B (zh) 用于灵活的过程控制的方法和装置
JP4872328B2 (ja) 動作環境切り替えプログラム及び情報処理装置
JP4747062B2 (ja) デバイスの移行方式、デバイスの移行方法、移行制御装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090421

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: 20090707

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090716

R151 Written notification of patent or utility model registration

Ref document number: 4347839

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250