JP3910340B2 - Computer system - Google Patents
Computer system Download PDFInfo
- Publication number
- JP3910340B2 JP3910340B2 JP2000151828A JP2000151828A JP3910340B2 JP 3910340 B2 JP3910340 B2 JP 3910340B2 JP 2000151828 A JP2000151828 A JP 2000151828A JP 2000151828 A JP2000151828 A JP 2000151828A JP 3910340 B2 JP3910340 B2 JP 3910340B2
- Authority
- JP
- Japan
- Prior art keywords
- tracking
- computer system
- input
- control
- output
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、例えばプログラマブルコントローラに適用して好適な計算機システムに関するものである。
【0002】
【従来の技術】
従来例1.
図17は、例えば特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図であり、図において100は制御系または運転系のプログラマブルコントローラ、110は待機系のプログラマブルコントローラ、101は運転系のトラッキングバッファ、111は待機系のトラッキングバッファ、102は運転系のバッファ分割手段、112は待機系のバッファ分割手段、115はトラッキングケーブルである。この従来の二重化計算機システムの構成においてはトラッキングすべきデータを参照するプログラムのスキャン周期が高速か低速かを判断し、それぞれのプログラムが扱うデータ量を計算し、高速トラッキングデータ用や低速トラッキングデータ用にバッファを分割する。トラッキング処理時には、高速トラッキングのみ、低速トラッキングのみ、または両方のトラッキングが必要かを判定し、トラッキングバッファを選択しトラッキング処理を行う。
【0003】
この従来の二重化計算機システムは、トラッキングバッファの分割によりオーバーヘッドを極力抑えるシステムとして構築されているが、待機系においても運転系と同一のアプリケーションを実行させておく方式(以下、ホットスタンバイ方式という)でこのシステムを運用する場合、トラッキングバッファのデータが待機系へ反映されるタイミングとアプリケーションの起動周期との同期を取る手段がないため、アプリケーション内で参照するメモリデータが運転系と待機系で同一であることを完全に保証できず、両系で同一の処理結果を保証することが難しい。
【0004】
従来例2.
また、図18は、例えば特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図であり、図において、200は制御系プロセッサ、210は待機系プロセッサ、201は制御系プロセッサ200のトラッキングバッファ、211は待機系プロセッサ210のトラッキングバッファ、202は制御系プロセッサ200のバッファ分割手段、212は待機系プロセッサ210のバッファ分割手段、215はトラッキングケーブルである。
【0005】
次に、この二重化計算機システムの動作について説明する。図19は、この二重化計算機システムの動作を示すフローチャートであり、制御系プロセッサ200がデータのトラッキングを行うとき、バッファ分割手段202は、トラッキングすべきデータを使用するプログラムのスキャン周期が高速か低速かを判断し、それぞれのプログラムが扱うデータ量を計算する(ステップST100)。そして、得られたデータ量とトラッキングバッファ201のサイズからトラッキングバッファ201でのブロック数を計算する(ステップST101)。そして、データをトラッキングする場合、高速トラッキングのみか、低速トラッキングのみか、高速と低速の両方のトラッキングが必要かのトラッキング方式をチェックし(ステップST102)、高速、低速、混合の分割方式を選択し(ステップST103,ステップST104,ステップST105)、トラッキング処理を行う。
【0006】
従来例3.
また、図20は、例えば特開平4−332002号公報に示された従来の計算機システムを示す構成図である。図において、301はプロセッサ、302はCPUカード、302aはプロセッサ301の命令実行部、303は入出力I/Fカード、303aは入出力カードエラー情報、304−1,…,304−Nは入出力カード、304a−1,…,304a−Nは入出力カード304−1,…,304−Nのデータ領域を示す。305はCPUカード302と入出力I/Fカード303とを接続した制御バス、306は入出力I/Fカード303と各入出力カード304−1,…,304−Nとを接続した入出力バスである。
【0007】
プロセッサ301は、CPUカード302と、制御バス305により前記CPUカード302と接続された入出力I/Fカード303とから構成されていることを示す。前記CPUカード302は、命令実行部302aにおいて前記入出力I/Fカード303と入出力バス306を介して入出力カード304−1,…,304−Nのデータ領域304a−1,…,304a−Nをアクセスする。
命令実行部302aが入出力カード304−1,…,304−Nをアクセスしたときのエラー情報は、前記入出力I/Fカード303の入出力カードエラー情報303aを読み出すことで認識できる。すなわち、前記エラー情報は、入出力カード304−1,…,304−Nのエラー情報として認識できる構成である。
【0008】
また、この計算機システムの入出力I/Fカード303のメモリマップ307を図21に示す。このメモリマップ307は、前記入出力カード304−1,…,304−Nに割り当てられたメモリ空間と前記入出力カードエラー情報303aとから構成される。
【0009】
次に、この計算機システムの動作について図22に示すフローチャートに従って説明する。先ず、CPUカード302の命令実行部302aは、入出力カード304−1,…,304−Nのデータ領域304a−1,…,304a−Nをアクセスし(ステップST111)、入出力I/Fカード303の入出力カードエラー情報303aを読み出す(ステップST112)。そして、前記読み出した入出力カードエラー情報303aによりエラーがあるかどうかを判定し(ステップST113)、エラーがなければ次のアドレスの入出力カードエラー情報303aを取り出す(ステップST115)。一方、前記ステップST113においてエラーがあればエラー情報を登録する(ステップST114)。
【0010】
従来例4.
また、図23は、特開平4−332002号公報に示された従来の計算機システムにおける制御プログラム実行時のプログラムカウンタ一致処理を示す構成図である。図において、401はプロセッサ500の実行に必要な制御プログラムコード、制御データ、および起動管理テーブル等の制御情報の開発と保守を行う保守ツールである。405はプロセッサ500の主メモリ、405aは前記制御プログラムコード、405bは制御プログラムコード405aの実行位置をそのカウンタ値として指し示すプログラムカウンタ、406は保守ツール401から送られてきた制御情報をプロセッサ500に登録する要求処理部、406aは保守ツール401からの保守操作情報であるプログラムカウンタ一致要求、407は制御プログラムコード405aを実行するプログラム実行部、407aは制御プログラムコード405aの実行をサポートするプログラム実行処理である。プログラムカウンタ一致検出処理407bは要求処理部406からのプログラムカウンタ一致要求406aによって登録される一致要求プログラムカウンタ407cのカウンタ値とプログラムカウンタ405bのカウンタ値との一致を検出するものである。
【0011】
次に動作について図24に示すフローチャートに従って説明する。
図24に示すフローチャートは、プログラム実行部407がプログラムカウンタ一致を検出する動作フローを示しており、プログラム実行処理407aは現在のプログラムカウンタ405bが指し示す制御プログラムコード格納位置を計算し、主メモリ405上から該当する制御プログラムコード405aをフェッチして実行する(ステップST120)。そして、1つの制御プログラム実行後、プログラムカウンタ一致検出処理407bは、プログラムカウンタ一致要求の有無をチェックする(ステップST121)。このプログラムカウンタ一致要求がなければ次の制御プログラムコード405aの実行へ移る。一方、プログラムカウンタ一致要求があれば、現在のプログラムカウンタ405bと一致要求プログラムカウンタ407cのカウンタ値を取り出し(ステップST22)、比較する(ステップST123)。この結果、不一致であれば次の制御プログラムコード405aの実行へ移る。一方、一致した場合には、アキュムレータや各レジスタ値などの制御プログラム実行時の情報を収集する(ステップST124)。情報の収集が完了した後、または要求処理部406からのプログラムカウンタ一致要求406aがキャンセルされたときなどには、プログラムカウンタ一致要求406aにより登録された一致要求プログラムカウンタ407cのカウンタ値をクリアする(ステップST125)。
【0012】
【発明が解決しようとする課題】
従来の計算機システムは以上のように構成されていたので、前記従来例1の技術では、ホットスタンバイ方式で運用する場合にはトラッキングバッファを分割することなく全データの転送が必要であり、トラッキングのオーバヘッドを抑えることが難しいという課題があった。
【0013】
また、前記従来例2の技術では、制御系でエラーが発生したり、手動操作による系の切り替わりが発生するまで、待機系のアプリケーションプログラムをWAIT状態としておく方式(以下、コールドスタンバイ方式という)では問題とはならないが、前記ホットスタンバイ方式にて運用するシステムにおいては、待機系と制御系で同一アプリケーションプログラムを並行動作させる関係上、待機系にてトラッキング処理を行う際に、該当データが制御系にて書き換え中のタイミングとなる可能性が高く、また一旦制御系と待機系のトラッキング処理タイミングが合致すればそれ以降も連続して書き換え中の状態と重なり、データ読み出し不可状態が続くことが想定され、制御系と待機系のデータ同値化の信頼性が確保されないという課題があった。
【0014】
また、前記従来例3の技術では、登録されたエラー情報に対し、命令のアクセス対象となる入出力カードのエラー情報か命令のアクセス対象以外の入出力カードのエラー情報かの判定が命令実行時に出来ないため、命令のアクセス対象以外の入出力カードが故障のときでもエラーを検出してしまうという課題があった。
【0015】
また、前記従来例4の技術では、プログラムカウンタ一致要求がある場合に、一つの制御プログラム実行毎にプログラムカウンタ一致要求有無のチェックとプログラムカウンタの比較処理を行う必要があり、また、プログラムカウンタの不一致状態が続く間、オーバーヘッドが増大していくという課題があった。
【0016】
この発明は上記のような課題を解決するためになされたものであり、待機系においても制御系と同一のアプリケーションを実行させておく方式において、制御系および待機系、両系のメモリデータを同一値とするトラッキング処理を実現する場合のトラッキングのオーバヘッドを抑制し、前記両系の制御アプリケーションについて同じ処理結果を保証できる計算機システムを得ることを目的とする。
【0017】
また、この発明は、制御系と待機系のトラッキング処理タイミングが合致した場合に対しても、待機系においても制御系と同一のアプリケーションを実行させておく方式における制御系と待機系のデータ同値化の確保と信頼性向上を図れる計算機システムを得ることを目的とする。
【0018】
また、この発明は、命令実行時のエラー情報として、命令のアクセス対象となる入出力カードのエラー情報のみ前記命令ごとに取り出すことが可能な計算機システムを得ることを目的とする。
【0019】
また、この発明は、プログラムカウンタ一致検出処理のオーバーヘッドを削減し、プログラムカウンタ一致要求時の制御プログラム実行速度を向上できる計算機システムを得ることを目的とする。
【0025】
【課題を解決するための手段】
この発明に係る計算機システムは、アプリケーションによって制御系が参照、更新する、前記アプリケーションの起動周期毎のトラッキングデータを、前記起動周期毎のトラッキング処理タイミングにおいて待機系の主メモリへ反映させ、前記待機系でのトラッキング処理タイミングに、前記制御系においてトラッキングデータの書き換え中であった場合、当該起動周期において実行すべきトラッキング処理以外の処理を先に実施した後、トラッキング処理手段が、再度、前記トラッキング処理を実施するようにしたものである。
【0026】
この発明に係る計算機システムは、トラッキング処理以外の処理を先に実施した後、制御系においてトラッキングデータの書き換え中の状態が継続していると、トラッキング処理手段は、当該起動周期における該当トラッキングデータのトラッキング処理を放棄するようにしたものである。
【0030】
【発明の実施の形態】
以下、この発明の実施の一形態について説明する。
実施の形態1.
図1は、この実施の形態1の計算機システムの構成を示すブロック図である。図において、1は常用系(運転系、制御系)システムと待機系システムとを備えたこの実施の形態1の計算機システム、10は常用系システムの制御アプリケーション、11はプログラム命令処理部、12はメモリ、13は制御系のトラッキングバッファ、14は参照アドレス管理テーブルである。また、15は前記常用系システムの制御アプリケーション10と同一の待機系システムの制御アプリケーション、16はプログラム命令処理部、17はメモリ(待機系の主メモリ)、18は待機系のトラッキングバッファである。19は常用系システムと待機系システムとに共用されるトラッキング処理部(トラッキング処理手段)である。
【0031】
20は制御アプリケーション21の作成などを行うための保守ツール、21は保守ツール20が備えている前記作成された制御アプリケーション(ソース)、22は前記制御アプリケーション21をコード化するコード変換処理部、23は前記コード化された制御アプリケーション(コード)、24は前記制御アプリケーションが参照、更新するメモリデータのアドレス情報を抽出する参照アドレス抽出部、25は前記抽出したアドレス情報を保持する参照アドレス保持部である。
【0032】
次に動作について説明する。
この実施の形態1の計算機システムでは、保守ツール20で制御アプリケーション21を作成し、該作成した制御アプリケーション21をコード変換処理部22において計算機システム1が高速に実行可能なコード化した制御アプリケーション23に変換するコード変換処理の中で、前記制御アプリケーションが参照するメモリデータのアドレス情報を参照アドレス抽出部24により抽出し、アプリケーション毎に設けた参照アドレス保持部25ヘ保持する。そして、計算機システム1ヘ前記コード変換処理したアプリケーション23を転送する。
【0033】
図1に示す常用系システムの制御アプリケーション10および待機系システムの制御アプリケーション15は前記転送された制御アプリケーション23により構成されている。
【0034】
そして、前記制御アプリケーション23の転送の際に、参照アドレス保持部25に保持した前記アドレス情報も転送し、そのアプリケーションの起動周期に対応した参照アドレス管理テーブル14に格納する。
【0035】
制御アプリケーション実行時には、起動周期のタイミングで該当起動周期に実行すべきモジュールを実行する。そして、該当起動周期に実行すべきモジュールの実行が全て完了すると、参照アドレス管理テーブル14に格納されている該当起動周期に更新するアドレス分のみのメモリデータをトラッキング処理部19により常用系システムのメモリ12から待機系システムのメモリ17に転送する。
図4は、このトラッキング処理部19によるトラッキング処理を示すタイミングチャートである。これにより、この起動周期で両系において実行された制御アプリケーションの参照データは同じメモリデータとなり、次の起動周期で同じ参照データにより実行されることが保証されるため、同じ実行結果を得ることが出来る。
【0036】
次に、以上の動作を常用系システムにおける動作と待機系システムにおける動作とに分けて説明する。
最初に常用系システムの動作について説明する。
図2は、常用系システムのアプリケーション起動処理とトラッキング処理を示すフローチャートである。先ず、ステップSTlにおいて時刻情報からアプリケーション起動タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST1でアプリケーション起動タイミングかどうかの判定を繰り返す。一方、前記判定の結果が“肯定”の場合にはステップST2へ進み、該当起動周期に設定されたアプリケーションを実行する。そして、次のステップST3において該当起動周期に実行すべきモジュールが全て起動されたか、あるいは、該当起動周期におけるアプリケーションの実行可能時間が終了したかを判定する。
【0037】
この判定の結果が“否定”の場合にはステップST2へ戻り、さらに前記アプリケーションの実行を続ける。一方、ステップST3で“肯定”の場合、続くステップST4へ進み、該当起動周期が起動周期1の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST6へ進む。一方、“肯定”の場合には、ステップST5へ進み、参照アドレス管理テーブル14の起動周期1におけるメモリデータのアドレス情報をもとに、トラッキング処理部19において、常用系システムのメモリ12のデータを待機系システムのメモリ17ヘトラッキング処理し、その後ステップST6へ進む。
【0038】
ステップST6では、該当起動周期が起動周期2の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST1へ戻る。一方、前記判定の結果が“肯定”の場合にはステップST7へ進み、参照アドレス管理テーブル14の起動周期2におけるメモリデータのアドレス情報をもとに、トラッキング処理部19において、常用系システムのメモリ12のデータを待機系システムのメモリ17ヘトラッキング処理し、ステップSTlへ戻る。
【0039】
次に待機系システムにおける動作について説明する。
図3は、待機系システムでのアプリケーション起動処理とトラッキング処理を示すフローチャートである。先ず、ステップST11において時刻情報からアプリケーション起動タイミングかどうかを判定する。この判定の結果、“否定”の場合にはアプリケーション起動タイミングかどうかの判定を繰り返す。一方、“肯定”の場合にはステップST12へ進み、該当起動周期に設定されたアプリケーションを実行する。次のステップST13では該当起動周期に実行すべきモジュールが全て起動されたか、または該当起動周期におけるアプリケーションの実行可能時間の終了かを判定する。この判定の結果が“否定”の場合にはステップST12へ戻り、さらに前記アプリケーションの実行を続ける。一方、前記判定の結果が“肯定”の場合にはステップST14へ進み、常用系システムのトラッキング処理によるトラッキングバッファ18ヘの書込み完了を待つ。続くステップST15では、該当起動周期が起動周期1の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST17へ進む。一方、前記判定の結果が“肯定”の場合には、ステップST16においてトラッキングバッファ18から起動周期1におけるメモリデータであるトラッキングデータを待機系システムのメモリ17ヘ転送し、続いてステップST17へ進む。
【0040】
ステップST17では、該当起動周期が起動周期2の完了タイミングかどうかを判定する。この判定の結果が“否定”の場合にはステップST11へ戻る。一方、前記判定の結果が“肯定”の場合にはステップST18へ進み、トラッキングバッファ18から起動周期2におけるメモリデータであるトラッキングデータを待機系システムのメモリ17ヘ転送し、ステップST11へ戻る。
【0041】
以上の説明では、アプリケーションの起動周期は2種類であったが、3種類以上の起動周期が混在した場合でもアプリケーション起動周期の判定振り分け処理を追加するだけで同様に実現可能である。
【0042】
以上のように、この実施の形態1によれば、制御アプリケーション実行時に、起動周期のタイミングで該当起動周期に実行すべきモジュールを実行し、該当起動周期に実行すべきモジュールの実行が全て完了すると、参照アドレス管理テーブル14に格納されている該当起動周期に更新するアドレス分のみのメモリデータをトラッキング処理部19により常用系システムのメモリ12から待機系システムのメモリ17に転送する。これにより、この起動周期で両系において実行された制御アプリケーションの参照データは同じメモリデータとなり、次の起動周期で同じ参照データにより実行されることが保証され、常用系システムと待機系システムとで同じ実行結果が得られる計算機システムが得られる効果がある。
【0043】
また、異なる起動周期のアプリケーションを実行する命令の同期を保証できないシステムにおいても、同一命令が参照するソースデータの値について同一であることを保証できるため、故障切り替えの際にもアプリケーションの再実行をすることなく、瞬時に切り替えることが出来る計算機システムが得られる効果がある。
【0044】
なお、以上の説明では、参照アドレス抽出部24を保守ツール20側に設けた例を示したが、計算機システム1側に設け、アプリケーション転送時に前記アドレス情報を抽出し参照アドレス管理テーブル14に格納することでも同様の効果を得ることが出来る。
【0045】
実施の形態2.
図5は、この実施の形態2の計算機システムの構成を示すブロック図である。図において、31は制御系(常用系)の計算機システム、32は制御系の計算機システム31の中央演算処理装置(トラッキング処理手段)、33は主メモリ、33aはソースメモリ、33bはトラッキングデータ転送用バッファ、34はトラッキングメモリ、35はトラッキング転送用DMA(トラッキング処理手段)、36は演算実行処理、37はソースメモリ33aからモジュールAの実行に伴うトラッキングデータを抽出し、トラッキングデータ転送用バッファ33bへ格納するトラッキングデータ抽出処理、38はトラッキング転送DMA起動処理、39はトラッキングデータ転送用バッファ33bからトラッキングデータをトラッキング転送用DMA35によりトラッキングメモリ34へ転送するDMA転送処理を示す。
【0046】
40は待機系の計算機システム、41は待機系の計算機システム40の中央演算処理装置(トラッキング処理手段)、42は主メモリ、42aはソースメモリ、42bはトラッキングデータ転送用バッファ、43はトラッキング転送用DMA(トラッキング処理手段)、44は演算実行処理、45はトラッキングデータ取込処理、46はトラッキング転送DMA起動処理、47はDMA転送処理、48はトラッキングバスを示す。
【0047】
次に動作について説明する。
最初に制御系の計算機システム31のトラッキング関連動作について説明する。
図8は、制御系の計算機システム31のトラッキング関連動作を示すフローチャートであり、先ず、ステップST21においてアプリケーションプログラムの起動タイミングを判定し、この判定の結果が“否定”であれば前記アプリケーションプログラムの起動タイミングについての判定を繰り返す。一方、前記判定の結果が“肯定”であれば、続くステップST22において該当する前記アプリケーションプログラムを実行する。続くステップST23では、前記アプリケーションプログラムの実行完了、または、1起動周期内におけるアプリケーション実行可能時間が終了したか否かを判定し、この判定の結果が“否定”であればステップST22へ戻り、前記アプリケーションプログラムの実行を続行する。一方、前記ステップST23における判定の結果が“肯定”であればステップST24へ進み、制御系トラッキング処理を行う。
【0048】
この制御系トラッキング処理は、ソースメモリ33aからモジュールAの実行に伴うトラッキングデータを抽出し、トラッキングデータ転送用バッファ33bへ格納するトラッキングデータ抽出処理37と、トラッキングデータ転送用バッファ33bから前記トラッキングデータをトラッキング転送用DMA35によりトラッキングメモリ34へ転送するDMA転送処理39である。
【0049】
この制御系トラッキング処理が完了すると、続くステップST25において前記起動周期内で処理すべき通信処置を実行し、さらに次のステップST26でI/O入出力処理等を実行し、ステップST21へ戻り、次の起動周期まで待機する。
【0050】
以上のように、この制御系の計算機システム31では各起動周期毎に前記アプリケーションプログラムの実行からI/O入出力処理までを繰り返し行う。
【0051】
次に、待機系システムの計算機40のトラッキング関連処理動作について説明する。
図9は、待機系システムの計算機40のトラッキング関連処理動作を示すフローチャートであり、先ず、ステップST31においてアプリケーションプログラムの起動タイミングを判定し、この判定の結果が“否定”であれば前記アプリケーションプログラムについての起動タイミングの判定を繰り返す。一方、前記判定の結果が“肯定”であれば、続くステップST32において該当する前記アプリケーションプログラムを実行する。続くステップST33では、前記アプリケーションプログラムの実行完了、または、1起動周期内におけるアプリケーション実行可能時間が経過したか否かを判定し、この判定の結果が“否定”であればステップST32へ戻り、前記アプリケーションプログラムの実行を続行する。一方、前記ステップST33における判定の結果が“肯定”であればステップST34へ進み、該当するトラッキングメモリ34が制御系トラッキング処理により書き換え中か否かのチェックを行い、この結果、書き換え中であった場合には該当するトラッキング処理を行なわず、ステップST38でこの起動周期で処理すべき通信処理を実行し、さらに続くステップST39でI/O入出力処理等を実施し、これら通信処理およびI/O入出力処理完了後、ステップST40で再度該当するトラッキングメモリ34の書き換え中か否かについてチェックを行う。このとき、該当するトラッキングメモリ34の書き換えが完了していれば、ステップST41で待機系トラッキング処理を行うが、未だ該当するトラッキングメモリが書き換え中であった場合には、ステップST31へ戻り、この起動周期での待機系トラッキング処理は行なわずに、次の起動周期まで待機する。
【0052】
前記ステップST34において書き換え中か否かのチェックを行なった結果、書き換え中でない場合、続くステップST35で待機系トラッキング処理を行い、その完了後、次のステップST36で通信処理を実行し、さらに次のステップST37でI/O入出力処理等を実施し、ステップST31へ戻り、次の起動周期まで待機する。
【0053】
この場合の待機系の計算機システム40で行う待機系トラッキング処理は、トラッキングメモリ34から前記トラッキングデータを待機系の計算機システム40のトラッキングデータ転送用バッファ42bへ、トラッキング転送用DMA43を介して転送するDMA転送処理47と、トラッキングデータ転送用バッファ42bのトラッキングデータをソースメモリ42aへ取り込むトラッキングデータ取込処理45などである。
【0054】
そして、各起動周期毎に、アプリケーションプログラムの実行からI/O入出力処理、または待機系トラッキング処理のリトライまでを繰り返し行う。
【0055】
図6は、図8のフローチャートに示した制御系システムのトラッキング関連処理動作と図9のフローチャートに示した待機系システムのトラッキング関連処理動作を、1起動周期についてタイミングチャートとして示した説明図である。
【0056】
図7は1起動周期を5msecとした場合に、起動周期が5msec、実行所要時間が2msecで動作するモジュールAと、起動周期が20msec、実行所要時間が5msecで動作するモジュールBの2つのモジュールが登録された場合を想定し、1起動周期を5msec、アプリケーション実行可能時間4msecとした場合の制御系システムまたは待機系システムのトラッキング関連処理動作をタイミングチャートとして示した説明図である。
【0057】
図7に示すタイミングチャートを制御系の計算機システム31におけるトラッキング関連処理動作とした場合、符号T1,T2で示す期間はモジュールAに関連したメモリデータについての制御系トラッキング処理期間、符号T3,T4で示す期間はモジュールA,Bに関連したメモリデータについての制御系トラッキング処理期間である。
【0058】
また、図7に示すタイミングチャートを待機系の計算機システム40におけるトラッキング関連処理動作とした場合、符号T1,T2で示す期間はモジュールAに関連したメモリデータについての待機系トラッキング処理期間、符号T3,T4で示す期間はモジュールA,Bに関連したメモリデータについての待機系トラッキング処理期間である。
【0059】
以上のように、この実施の形態2によれば、制御系の計算機システム31と待機系の計算機システム40ともにアプリケーションプログラムを実行させておくホットスタンバイ方式、制御系の計算機システム31でエラーが発生したり、手動操作による系の切り替わりが発生するまで、待機系の計算機システム40のアプリケーションプログラムをWAIT状態としておくコールドスタンバイ方式いずれにおいても、トラッキング処理のオーバーヘッド時間を最短に押さえつつ、制御系の計算機システム31と待機系の計算機システム40のソースメモリ33a,42aの内容を常に同値化できる計算機システムが得られる効果がある。
【0060】
実施の形態3.
図10は、この実施の形態3の計算システムの構成を示すブロック図である。
なお、この計算機システムは、CPUカード、入出力I/Fカード、および複数の入出力アドレスを持った複数の分散型の入出力カードなどから構成される計算機システムである。図において、51はプロセッサ、52はCPUカード(エラー情報取得手段)、52aは命令実行部、52bは初期化処理部、52cはエラー情報アドレステーブルである。53は入出力I/Fカード、53aはエラー情報テーブル、53bは接続情報テーブル、54−1から54−Nは入出力カード、54a−1は入出力カード54−1のデータ領域、54a−Nは入出力カード54−Nのデータ領域、55はCPUカード52と入出力I/Fカード53とを接続した制御バス、56は入出力I/Fカード53と入出力カード54−1,…,54−Nとを接続した入出力バスである。
【0061】
プロセッサ51は、CPUカード52と、入出力I/Fカード53と、前記CPUカード52と前記入出力I/Fカード53とを接続した制御バス55とを備えていることを示す。前記CPUカード52は、初期化処理部52bと、その初期化処理部52bが生成するエラー情報アドレステーブル52cと、命令実行部52aとを備えている。
【0062】
入出力I/Fカード53はエラー情報テーブル53aと接続情報テーブル53bとを備え、入出力バス56を介して入出力カード54−1,…,54−Nと接続されている。前記入出力カード54−1,…,54−Nはデータ領域54a−1,…,54a−Nを備えている。
【0063】
エラー情報アドレステーブル52cは、入出力アドレスと、その入出力アドレスに対応したエラー情報テーブルの入出力カードアドレスとが格納されたテーブルである。
【0064】
エラー情報テーブル53aは、各入出力カード54−1,…,54−Nごとにそのエラー情報が格納されたテーブルである。
【0065】
接続情報テーブル53bは、入出力カードと、その入出力カードに対応するサイズ情報(例えば、ポートの数)とを格納したテーブルである。
【0066】
図11は、エラー情報アドレステーブル52cの構成を示す説明図である。図12は、入出力I/Fカード53のメモリマップ57、エラー情報テーブル53a、接続情報テーブル53bの構成を示す説明図である。
【0067】
次に動作について説明する。
図13は、この計算機システムにおける初期化時のエラー情報アドレステーブル登録動作を示すフローチャートである。図14は、命令実行時のエラー情報の取り出し動作を示すフローチャートである。
図13に示すフローチャートにおいて、先ず、初期化時に、ステップST51において入出力アドレスの指定が行われると、続くステップST52において、前記CPUカード52の初期化処理部52bは前記指定された入出力アドレスに対し入出力アドレス単位で入出力I/Fカード53の接続情報テーブル53bを読み出す。続くステップST53では、前記接続情報テーブル53bから対応する入出力カード54−1,…,54−Nの入出力ポート数などのサイズ情報を取り出し各入出力カード54−1,…,54−Nのアドレスを計算する。
【0068】
そして、次のステップST54では、前記計算した各入出力カード54−1,…,54−Nのアドレスから、前記入出力アドレスに対応する入出力カード54−1,…,54−Nのエラー情報テーブル53aにおける入出力カードアドレスを取り出し、続くステップST55で前記取り出したエラー情報テーブル53aにおける入出力カードアドレスを前記入出力アドレスに対応させてエラー情報アドレステーブル52cに保存する。
【0069】
そして、次のステップST56では、順次、同様に次の入出力アドレスを指定し、ステップST57でエンドアドレスと判定されるまで、前記指定した入出力アドレスに対応するエラー情報テーブル53aの入出力カードアドレスを入出力の最終アドレスまでエラー情報アドレステーブル52cへ保存していく。
【0070】
次に、命令実行時には、図14のフローチャートに示すように、先ずステップST61で前記CPUカード52の命令実行部52aは入出力アドレスをアクセスした後、続くステップST62でエラー情報アドレステーブル52cから前記入出力アドレスをもとにエラー情報テーブル53aの入出力カードアドレスを取り出す。次に、ステップST63において該当する入出力カード54−1,…,54−Nのエラー情報を、前記取り出した入出力カードアドレスをもとにそのエラー情報テーブル53aより取り出す。
【0071】
そして、続くステップST64でエラーがあるかどうかを判定し、この判定の結果、エラーがなければステップST66へ進み、次のアドレスを取り出す。一方、ステップST64においてエラーがあれば、ステップST65へ進んで前記入出力アドレスをアクセスした命令に対しエラー情報を登録する。
【0072】
以上のように、この実施の形態3によれば、命令のアクセス対象となる入出力カードのエラー情報のみを、命令実行時にエラー情報のアドレスを計算することなく前記命令ごとに取り出すことが出来、また、入出力カードの変更等により入出力のアドレスが変更された場合や入出力カードが拡張された場合にも対応できる計算機システムが得られる効果がある。
【0073】
実施の形態4.
図15は、この実施の形態4の計算機システムにおけるプログラムカウンタ一致検出処理を実現する構成を示すブロック図である。図において、60は計算機システムのプロセッサ、61はプロセッサ60の実行に必要な制御プログラムコード、制御データ、および起動管理テーブル等の制御情報の開発と保守を行う保守ツールである。
【0074】
また、62はプロセッサ60の主メモリ、62aは前記制御プログラムコード、62bは制御プログラムコード62aの実行位置を指し示すプログラムカウンタ、64は保守ツール61から送られてきた制御情報をプロセッサ60に登録する要求処理部、64aは保守ツール61からの保守操作情報であるプログラムカウンタ一致要求、63は制御プログラムコード62aを実行するプログラム実行部、63aは制御プログラムコード62aの実行をサポートするプログラム実行処理である。63bは制御プログラムコード62aにプログラムカウンタ一致フラグが登録されているかをチェックするプログラムカウンタ一致検出処理(プログラムカウンタ一致検出処理手段)、65は一致要求プログラムカウンタ、66は一致フラグ登録処理(一致検出情報登録手段)である。
【0075】
一致フラグ登録処理66は、制御プログラムのプログラムカウンタ一致要求があると、あらかじめ制御プログラムの実行前に、一致要求されたプログラムカウンタ62bのカウンタ値をもとに該当する制御プログラムコード位置を計算し、その該当する制御プログラムコード内にプログラムカウンタ一致フラグを設定するものであり、制御プログラムコード62aを実行する前に、保守ツール61からのプログラムカウンタ一致要求64aにより、要求処理部64から要求された一致要求プログラムカウンタ65のカウンタ値に従って主メモリ62上の制御プログラムコード62aにプログラムカウンタ一致フラグを登録する。
【0076】
次に動作について説明する。
図16は、この実施の形態4の計算機システムにおけるプログラムカウンタ一致検出処理動作を示すフローチャートである。
先ず、ステップST71において、プログラム実行処理63aはプログラムカウンタ62bが指し示す制御プログラムコード格納位置を計算し、主メモリ62上から制御プログラムコード62aをフェッチし実行する。続くステップST72では、制御プログラム実行後、プログラムカウンタ一致検出処理63bは、制御プログラムコード62aにプログラムカウンタ一致フラグが登録されているかをチェックする。この結果、登録されていない場合には次の制御プログラムコード62aのフェッチ、実行に移る。一方、登録されている場合には、ステップST73においてアキュムレータや各レジスタ値などの制御プログラム実行時の情報を収集する。そして、続くステップST74では、情報の収集が完了したり要求処理部64からのプログラムカウンタ一致要求64aがキャンセルされたときなどに制御プログラムコード62aからプログラムカウンタ一致フラグを削除し、次のステップST75において、プログラムカウンタ一致要求64aにより登録された一致要求プログラムカウンタ65をクリアする。
【0077】
以上のように、この実施の形態4によれば、プログラムカウンタ一致要求があるときの制御プログラム実行前に、制御プログラム内に一致情報としてプログラムカウンタ一致フラグを登録することにより、1制御プログラム実行毎のプログラムカウンタ一致検出のための処理を前記プログラムカウンタ一致フラグが登録されているかいないかを判定するだけで行うことが出来、1制御プログラム実行毎のプログラムカウンタ一致検出のオーバーヘッドを削減することが出来、プログラムカウンタ一致要求時の制御プログラム実行速度を向上できる計算機システムが得られる効果がある。
【0078】
また、初期状態の制御プログラムコード62aをフラッシュメモリやバックアップSRAMメモリに登録し、計算機システムの立ち上がり時に主メモリ62上にコピーして使用することにより、プログラムカウンタ一致フラグが制御プログラムコード62a内に登録された状態でシステムリセットされた場合でも、再立ち上がり時に主メモリ62上へコピーし直すことで初期状態の制御プログラムコード62aを復旧することが出来る計算機システムが得られる効果がある。
【0084】
【発明の効果】
この発明によれば、アプリケーションによって制御系が参照、更新する、前記アプリケーションの起動周期毎のトラッキングデータを、前記起動周期毎のトラッキング処理タイミングにおいて待機系の主メモリへ反映させるトラッキング処理手段を備えるように構成したので、待機系においても制御系と同一のアプリケーションを実行させておく方式において、前記制御系および前記待機系、両系のメモリデータを同一値とするトラッキング処理を実現する場合のオーバヘッドが抑制でき、前記両系の制御アプリケーションについて同じ処理結果を保証でき、前記待機系でのトラッキング処理タイミングに、前記制御系においてトラッキングデータの書き換え中であった場合、当該起動周期において実行すべきトラッキング処理以外の処理を先に実施した後、トラッキング処理手段が、再度、前記トラッキング処理を実施するように構成したので、前記制御系と待機系のトラッキング処理タイミングが合致した場合に対しても、待機系においても制御系と同一のアプリケーションを実行させておく方式における前記制御系と前記待機系のメモリデータの同値化を確保でき信頼性向上を図れる効果がある。
【0085】
この発明によれば、トラッキング処理以外の処理を先に実施した後、制御系においてトラッキングデータの書き換え中の状態が継続していると、トラッキング処理手段が、当該起動周期における該当トラッキングデータのトラッキング処理を放棄するように構成したので、待機系においても制御系と同一のアプリケーションを実行させておく方式、制御系でエラーが発生したり、手動操作による系の切り替わりが発生するまで、待機系のアプリケーションプログラムをWAIT状態としておく方式いずれに対しても、トラッキング処理のオーバーヘッド時間を最短に押さえつつ、前記制御系と前記待機系のメモリデータの内容を常に同値化できる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1の計算機システムの構成を示すブロック図である。
【図2】 この発明の実施の形態1の計算機システムにおける常用系システムのアプリケーション起動処理とトラッキング処理を示すフローチャートである。
【図3】 この発明の実施の形態1の計算機システムにおける待機系システムでのアプリケーション起動処理とトラッキング処理を示すフローチャートである。
【図4】 この発明の実施の形態1の計算機システムにおけるトラッキング処理部によるトラッキング処理を示すタイミングチャートである。
【図5】 この発明の実施の形態2の計算機システムの構成を示すブロック図である。
【図6】 この発明の実施の形態2の計算機システムにおける常用系システムおよび待機系システムのトラッキング関連処理動作を示すタイミングチャートである。
【図7】 この発明の実施の形態2の計算機システムにおける制御系システムまたは待機系システムのトラッキング関連処理動作をタイミングチャートとして示した説明図である。
【図8】 この発明の実施の形態2の計算機システムにおける制御系システムのトラッキング関連動作を示すフローチャートである。
【図9】 この発明の実施の形態2の計算機システムにおける待機系システムのトラッキング関連動作を示すフローチャートである。
【図10】 この発明の実施の形態3の計算機システムの構成を示すブロック図である。
【図11】 この発明の実施の形態3の計算機システムにおけるエラー情報アドレステーブルの構成を示す説明図である。
【図12】 この発明の実施の形態3の計算機システムにおける入出力I/Fカードのメモリマップとエラー情報テーブルと接続情報テーブルの構成を示す説明図である。
【図13】 この発明の実施の形態3の計算機システムにおける初期化時のエラー情報アドレステーブル登録動作を示すフローチャートである。
【図14】 この発明の実施の形態3の計算機システムにおける命令実行時のエラー情報の取り出し動作を示すフローチャートである。
【図15】 この発明の実施の形態4の計算機システムの構成を示すブロック図である。
【図16】 この実施の形態4の計算機システムにおけるプログラムカウンタ一致検出処理動作を示すフローチャートである。
【図17】 特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図である。
【図18】 特開平4−367903号公報に開示された従来の二重化計算機システムを示す構成図である。
【図19】 特開平4−367903号公報に開示された従来の二重化計算機システムにおける二重化計算機システムの動作を示すフローチャートである。
【図20】 特開平4−332002号公報に示された従来の計算機システムを示す構成図である。
【図21】 特開平4−332002号公報に示された従来の計算機システムの入出力I/Fカードのメモリマップを示す説明図である。
【図22】 特開平4−332002号公報に示された従来の計算機システムの動作を示すフローチャートである。
【図23】 特開平4−332002号公報に示された従来の計算機システムにおける制御プログラム実行時のプログラムカウンタ一致処理を示す構成図である。
【図24】 特開平4−332002号公報に示された従来の計算機システムにおける制御プログラム実行部によるプログラムカウンタ一致検出動作を示すフローチャートである。
【符号の説明】
1 計算機システム、13 制御系のトラッキングバッファ、14 参照アドレス管理テーブル、17 メモリ(待機系の主メモリ)、18 待機系のトラッキングバッファ、19 トラッキング処理部(トラッキング処理手段)、24 参照アドレス抽出部、31 制御系の計算機システム、32,41 中央演算処理装置(トラッキング処理手段)、35,43 トラッキング転送用DMA(トラッキング処理手段)、40 待機系の計算機システム、52 CPUカード(エラー情報取得手段)、52c エラー情報アドレステーブル、53 入出力I/Fカード、53a エラー情報テーブル、53b 接続情報テーブル、54−1,…,54−N 入出力カード、63b プログラムカウンタ一致検出処理(プログラムカウンタ一致検出処理手段)、66 一致フラグ登録処理(一致検出情報登録手段)。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system suitable for application to, for example, a programmable controller.
[0002]
[Prior art]
Conventional Example 1
FIG. 17 is a block diagram showing a conventional dual computer system disclosed in, for example, Japanese Patent Laid-Open No. 4-367903. In the figure, 100 is a control system or operation system programmable controller, 110 is a standby system programmable controller, 101. Is a tracking buffer for the operating system, 111 is a tracking buffer for the standby system, 102 is a buffer dividing means for the operating system, 112 is a buffer dividing means for the standby system, and 115 is a tracking cable. In this conventional dual computer system configuration, it is determined whether the scan cycle of the program that references the data to be tracked is high speed or low speed, the amount of data handled by each program is calculated, and the high speed tracking data or low speed tracking data is used. Split the buffer into At the time of tracking processing, it is determined whether only high-speed tracking, only low-speed tracking, or both are necessary, and a tracking buffer is selected to perform tracking processing.
[0003]
This conventional redundant computer system is constructed as a system that suppresses overhead as much as possible by dividing the tracking buffer. In the standby system, the same application as the operation system is executed (hereinafter referred to as the hot standby system). When operating this system, there is no means to synchronize the timing at which the tracking buffer data is reflected in the standby system and the application startup cycle, so the memory data referenced in the application is the same in the operating system and the standby system. It cannot be completely guaranteed that there is, and it is difficult to guarantee the same processing result in both systems.
[0004]
Conventional Example 2
FIG. 18 is a block diagram showing a conventional dual computer system disclosed in, for example, Japanese Patent Laid-Open No. 4-367903. In the figure, 200 is a control processor, 210 is a standby processor, and 201 is a control processor.
[0005]
Next, the operation of this redundant computer system will be described. FIG. 19 is a flowchart showing the operation of this redundant computer system. When the
[0006]
Conventional Example 3
FIG. 20 is a block diagram showing a conventional computer system disclosed in, for example, Japanese Patent Laid-Open No. 4-332002. In the figure, 301 is a processor, 302 is a CPU card, 302a is an instruction execution unit of the
[0007]
The
Error information when the
[0008]
A
[0009]
Next, the operation of this computer system will be described with reference to the flowchart shown in FIG. First, the
[0010]
Conventional Example 4
FIG. 23 is a block diagram showing a program counter matching process when a control program is executed in a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002. In the figure, 401 is a maintenance tool for developing and maintaining control information such as control program code, control data, and startup management table necessary for execution of the
[0011]
Next, the operation will be described with reference to the flowchart shown in FIG.
The flowchart shown in FIG. 24 shows an operation flow in which the
[0012]
[Problems to be solved by the invention]
Since the conventional computer system is configured as described above, in the technique of the conventional example 1, when operating in the hot standby system, it is necessary to transfer all data without dividing the tracking buffer. There was a problem that it was difficult to suppress the overhead.
[0013]
Further, in the technique of the above-described conventional example 2, the standby application program is kept in the WAIT state (hereinafter referred to as a cold standby method) until an error occurs in the control system or the system is switched manually. Although not a problem, in the system operated by the hot standby method, when the tracking process is performed in the standby system because the same application program is operated in parallel in the standby system and the control system, the corresponding data is transferred to the control system. It is highly likely that the timing during rewriting will be reached, and once the tracking processing timing of the control system and standby system match, it will continue to overlap with the state being rewritten and continue to be in an unreadable state. However, there is a problem that the reliability of data equivalence between the control system and standby system is not ensured. Was Tsu.
[0014]
In the technique of the conventional example 3, it is determined whether the error information of the input / output card that is the access target of the instruction or the error information of the input / output card other than the access target of the instruction with respect to the registered error information when the instruction is executed. Since this is not possible, there is a problem in that an error is detected even when an input / output card other than the instruction access target fails.
[0015]
Further, in the technique of the conventional example 4, when there is a program counter match request, it is necessary to perform a program counter match request check and a program counter comparison every time one control program is executed. There was a problem that the overhead increased while the inconsistency state continued.
[0016]
The present invention has been made in order to solve the above-described problems. In the system in which the same application as the control system is executed in the standby system, the memory data in the control system, the standby system, and both systems are the same. It is an object of the present invention to obtain a computer system capable of suppressing the tracking overhead when realizing the tracking processing as a value and guaranteeing the same processing result for the control applications of both systems.
[0017]
In addition, the present invention provides data equalization between the control system and the standby system in a system in which the same application as the control system is executed in the standby system even when the tracking processing timings of the control system and the standby system match. The purpose is to obtain a computer system that can secure and improve reliability.
[0018]
It is another object of the present invention to obtain a computer system that can extract only error information of an input / output card as an access target of an instruction for each instruction as error information at the time of instruction execution.
[0019]
Another object of the present invention is to obtain a computer system that can reduce the overhead of the program counter coincidence detection process and improve the control program execution speed when a program counter coincidence is requested.
[0025]
[Means for Solving the Problems]
The computer system according to the present invention is:The control system is referred to and updated by the application, and the tracking data for each activation cycle of the application is reflected in the main memory of the standby system at the tracking processing timing for each activation cycle.In the tracking processing timing in the standby system,SaidWhen the tracking data is being rewritten in the control system, the tracking processing means performs the tracking processing again after performing processing other than the tracking processing to be executed in the start cycle first. is there.
[0026]
In the computer system according to the present invention, after the processing other than the tracking processing is performed first, and the tracking data is being rewritten in the control system, the tracking processing means The tracking process is abandoned.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described.
FIG. 1 is a block diagram showing the configuration of the computer system according to the first embodiment. In the figure,
[0031]
20 is a maintenance tool for creating the
[0032]
Next, the operation will be described.
In the computer system according to the first embodiment, a
[0033]
The normal system control application 10 and the standby system control application 15 shown in FIG. 1 are constituted by the transferred
[0034]
When the
[0035]
When executing the control application, a module to be executed in the corresponding activation cycle is executed at the timing of the activation cycle. When the execution of the modules to be executed in the corresponding activation cycle is completed, memory data for only the address updated in the corresponding activation cycle stored in the reference address management table 14 is stored in the memory of the normal system by the
FIG. 4 is a timing chart showing the tracking processing by the
[0036]
Next, the above operation will be described separately for the operation in the normal system and the operation in the standby system.
First, the operation of the regular system will be described.
FIG. 2 is a flowchart showing application activation processing and tracking processing of the regular system. First, in step ST1, it is determined from the time information whether it is an application activation timing. If the result of this determination is “No”, the determination as to whether it is the application activation timing is repeated in step ST1. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST2, and the application set in the corresponding activation cycle is executed. Then, in the next step ST3, it is determined whether all the modules to be executed in the corresponding activation cycle have been activated or whether the application executable time in the corresponding activation cycle has ended.
[0037]
If the result of this determination is “No”, the process returns to step ST2, and further the execution of the application is continued. On the other hand, if “Yes” in step ST3, the process proceeds to step ST4, where it is determined whether the corresponding activation cycle is the completion timing of the
[0038]
In step ST6, it is determined whether or not the corresponding activation cycle is the completion timing of activation cycle 2. If the result of this determination is “No”, the process returns to step ST1. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST7, and the tracking
[0039]
Next, the operation in the standby system will be described.
FIG. 3 is a flowchart showing application activation processing and tracking processing in the standby system. First, in step ST11, it is determined from the time information whether it is an application activation timing. If the result of this determination is “No”, it is repeatedly determined whether or not it is the application activation timing. On the other hand, if “Yes”, the process proceeds to step ST12, and the application set in the corresponding activation cycle is executed. In the next step ST13, it is determined whether all modules to be executed in the corresponding activation cycle have been activated or whether the application executable time in the corresponding activation cycle has ended. If the result of this determination is “No”, the process returns to step ST12, and further execution of the application is continued. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST14 and waits for completion of writing to the tracking
[0040]
In step ST17, it is determined whether or not the corresponding activation cycle is the completion timing of the activation cycle 2. If the result of this determination is “No”, the process returns to step ST11. On the other hand, if the result of the determination is “Yes”, the process proceeds to step ST18, where the tracking data, which is the memory data in the activation cycle 2, is transferred from the tracking
[0041]
In the above description, there are two types of application start cycles. However, even when three or more types of start cycles are mixed, the application start cycle can be similarly realized by adding the application start cycle determination distribution process.
[0042]
As described above, according to the first embodiment, when the control application is executed, the module to be executed in the corresponding activation cycle is executed at the timing of the activation cycle, and all the modules to be executed in the corresponding activation cycle are completed. Then, the memory data for only the address updated in the corresponding activation cycle stored in the reference address management table 14 is transferred from the memory 12 of the normal system to the
[0043]
In addition, even in a system that cannot guarantee the synchronization of instructions that execute applications with different startup cycles, it can be guaranteed that the source data values referenced by the same instructions are the same, so the application can be re-executed even when switching faults. There is an effect of obtaining a computer system that can be switched instantaneously without having to do so.
[0044]
In the above description, the reference
[0045]
Embodiment 2. FIG.
FIG. 5 is a block diagram showing the configuration of the computer system according to the second embodiment. In the figure, 31 is a control system (ordinary system) computer system, 32 is a central processing unit (tracking processing means) of the
[0046]
40 is a standby computer system, 41 is a central processing unit (tracking processing means) of the
[0047]
Next, the operation will be described.
First, the tracking-related operation of the
FIG. 8 is a flowchart showing the tracking-related operation of the
[0048]
In this control system tracking process, tracking data associated with the execution of module A is extracted from the
[0049]
When this control system tracking process is completed, a communication procedure to be processed within the start cycle is executed in the subsequent step ST25, and further an I / O input / output process or the like is executed in the next step ST26, and the process returns to step ST21. Wait until the start cycle.
[0050]
As described above, in the
[0051]
Next, the tracking related processing operation of the
FIG. 9 is a flowchart showing the tracking-related processing operation of the
[0052]
As a result of checking whether or not rewriting is in progress in step ST34, if rewriting is not in progress, standby system tracking processing is performed in subsequent step ST35. After the completion, communication processing is executed in next step ST36, and further the next step In step ST37, I / O input / output processing and the like are performed, and the process returns to step ST31 and waits for the next activation cycle.
[0053]
In this case, the standby tracking processing performed in the
[0054]
Then, for each activation cycle, the process from the execution of the application program to the retry of the I / O input / output process or standby system tracking process is repeated.
[0055]
FIG. 6 is an explanatory diagram showing the tracking-related processing operation of the control system shown in the flowchart of FIG. 8 and the tracking-related processing operation of the standby system shown in the flowchart of FIG. 9 as a timing chart for one activation cycle. .
[0056]
FIG. 7 shows that when one activation cycle is set to 5 msec, two modules, a module A that operates at a startup cycle of 5 msec and a required execution time of 2 msec, and a module B that operates at a startup cycle of 20 msec and a required execution time of 5 msec. FIG. 10 is an explanatory diagram showing, as a timing chart, tracking-related processing operations of a control system or standby system when one registered period is assumed to be 5 msec and an application executable time is 4 msec.
[0057]
When the timing chart shown in FIG. 7 is a tracking-related processing operation in the control-
[0058]
When the timing chart shown in FIG. 7 is a tracking-related processing operation in the
[0059]
As described above, according to the second embodiment, an error occurs in the
[0060]
Embodiment 3 FIG.
FIG. 10 is a block diagram showing the configuration of the calculation system of the third embodiment.
This computer system is a computer system including a CPU card, an input / output I / F card, and a plurality of distributed input / output cards having a plurality of input / output addresses. In the figure, 51 is a processor, 52 is a CPU card (error information acquisition means), 52a is an instruction execution unit, 52b is an initialization processing unit, and 52c is an error information address table. 53 is an input / output I / F card, 53a is an error information table, 53b is a connection information table, 54-1 to 54-N are input / output cards, 54a-1 is a data area of the input / output card 54-1, 54a-N Is a data area of the input / output card 54-N, 55 is a control bus connecting the
[0061]
The
[0062]
The input / output I /
[0063]
The error information address table 52c is a table in which an input / output address and an input / output card address of the error information table corresponding to the input / output address are stored.
[0064]
The error information table 53a is a table in which error information is stored for each of the input / output cards 54-1,.
[0065]
The connection information table 53b is a table that stores input / output cards and size information (for example, the number of ports) corresponding to the input / output cards.
[0066]
FIG. 11 is an explanatory diagram showing the configuration of the error information address table 52c. FIG. 12 is an explanatory diagram showing the configuration of the
[0067]
Next, the operation will be described.
FIG. 13 is a flowchart showing an error information address table registration operation at the time of initialization in this computer system. FIG. 14 is a flowchart showing an error information extraction operation during instruction execution.
In the flowchart shown in FIG. 13, first, when an input / output address is designated in step ST51 during initialization, in step ST52, the
[0068]
In the next step ST54, error information of the input / output cards 54-1,..., 54-N corresponding to the input / output addresses is calculated from the calculated addresses of the input / output cards 54-1,. In step ST55, the input / output card address in the table 53a is extracted, and the input / output card address in the extracted error information table 53a is stored in the error information address table 52c in association with the input / output address.
[0069]
In the next step ST56, the next input / output address is sequentially designated in the same manner, and the input / output card address of the error information table 53a corresponding to the designated input / output address until it is determined as the end address in step ST57. Are stored in the error information address table 52c up to the final input / output address.
[0070]
Next, when executing an instruction, as shown in the flowchart of FIG. 14, the
[0071]
In step ST64, it is determined whether there is an error. If there is no error as a result of this determination, the process proceeds to step ST66, and the next address is extracted. On the other hand, if there is an error in step ST64, the process proceeds to step ST65 to register error information for the instruction that accessed the input / output address.
[0072]
As described above, according to the third embodiment, only the error information of the input / output card to be accessed by the instruction can be extracted for each instruction without calculating the address of the error information at the time of executing the instruction. In addition, there is an effect that a computer system can be obtained that can cope with the case where the input / output address is changed due to the change of the input / output card or the input / output card is expanded.
[0073]
Embodiment 4 FIG.
FIG. 15 is a block diagram showing a configuration for realizing the program counter coincidence detection process in the computer system according to the fourth embodiment. In the figure, 60 is a processor of the computer system, and 61 is a maintenance tool for developing and maintaining control information such as control program code, control data, and startup management table necessary for execution of the
[0074]
62 is a main memory of the
[0075]
When there is a program counter match request for the control program, the match
[0076]
Next, the operation will be described.
FIG. 16 is a flowchart showing the program counter match detection processing operation in the computer system of the fourth embodiment.
First, in step ST71, the
[0077]
As described above, according to the fourth embodiment, before executing the control program when there is a program counter match request, by registering the program counter match flag as match information in the control program, It is possible to perform the process for detecting the program counter coincidence only by determining whether or not the program counter coincidence flag is registered, and the overhead of detecting the program counter coincidence for each control program execution can be reduced. There is an effect that a computer system capable of improving the control program execution speed at the time of the program counter coincidence request can be obtained.
[0078]
In addition, the
[0084]
【The invention's effect】
According to this invention,Since the control system is referred to and updated by the application, the tracking data for each activation cycle of the application is provided with tracking processing means for reflecting to the main memory of the standby system at the tracking processing timing for each activation cycle. In the system in which the same application as the control system is executed in the system, the overhead in the case of realizing the tracking processing for setting the memory data of the control system, the standby system, and both systems to the same value can be suppressed. The same processing result can be guaranteed for the control application ofIn the tracking processing timing in the standby system,SaidWhen tracking data is being rewritten in the control system, after performing processing other than the tracking processing to be executed in the start cycle first, the tracking processing means is configured to perform the tracking processing again. Even if the tracking processing timings of the control system and the standby system match, the memory data of the control system and the standby system are made equivalent in a system in which the same application as the control system is executed in the standby system. Can be ensured and the reliability can be improved.
[0085]
According to the present invention, after the processing other than the tracking processing is performed first, if the state in which the tracking data is being rewritten continues in the control system, the tracking processing means performs the tracking processing of the corresponding tracking data in the start cycle. Since the system is configured to abandon the system, the standby system will continue until the same application as the control system is executed in the standby system, until an error occurs in the control system or the system is switched manually. In any of the methods in which the program is set in the WAIT state, there is an effect that the contents of the memory data of the control system and the standby system can always be made equivalent while the tracking processing overhead time is minimized.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system according to a first embodiment of the present invention.
FIG. 2 is a flowchart showing application activation processing and tracking processing of a normal system in the computer system according to
FIG. 3 is a flowchart showing an application activation process and a tracking process in the standby system in the computer system according to the first embodiment of the present invention.
FIG. 4 is a timing chart showing tracking processing by a tracking processing unit in the computer system according to
FIG. 5 is a block diagram showing a configuration of a computer system according to a second embodiment of the present invention.
FIG. 6 is a timing chart showing tracking-related processing operations of the normal system and the standby system in the computer system according to the second embodiment of the present invention.
FIG. 7 is an explanatory diagram showing, as a timing chart, tracking-related processing operations of the control system or standby system in the computer system according to the second embodiment of the present invention.
FIG. 8 is a flowchart showing tracking-related operations of the control system in the computer system according to the second embodiment of the present invention.
FIG. 9 is a flowchart showing tracking-related operations of the standby system in the computer system according to the second embodiment of the present invention.
FIG. 10 is a block diagram showing a configuration of a computer system according to a third embodiment of the present invention.
FIG. 11 is an explanatory diagram showing a configuration of an error information address table in the computer system according to the third embodiment of the present invention.
FIG. 12 is an explanatory diagram showing the configurations of an input / output I / F card memory map, an error information table, and a connection information table in the computer system according to the third embodiment of the present invention;
FIG. 13 is a flowchart showing an error information address table registration operation at the time of initialization in the computer system according to the third embodiment of the present invention.
FIG. 14 is a flowchart showing an error information extraction operation when an instruction is executed in the computer system according to the third embodiment of the present invention;
FIG. 15 is a block diagram showing a configuration of a computer system according to a fourth embodiment of the present invention.
FIG. 16 is a flowchart showing a program counter match detection processing operation in the computer system according to the fourth embodiment.
FIG. 17 is a block diagram showing a conventional redundant computer system disclosed in Japanese Patent Laid-Open No. 4-367903.
FIG. 18 is a block diagram showing a conventional redundant computer system disclosed in Japanese Patent Laid-Open No. 4-367903.
FIG. 19 is a flowchart showing the operation of the redundant computer system in the conventional redundant computer system disclosed in Japanese Patent Laid-Open No. 4-367903.
FIG. 20 is a block diagram showing a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
FIG. 21 is an explanatory diagram showing a memory map of an input / output I / F card of a conventional computer system disclosed in Japanese Patent Application Laid-Open No. 4-332002.
FIG. 22 is a flowchart showing the operation of a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
FIG. 23 is a block diagram showing program counter matching processing when a control program is executed in a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
FIG. 24 is a flowchart showing a program counter coincidence detection operation by a control program execution unit in a conventional computer system disclosed in Japanese Patent Laid-Open No. 4-332002.
[Explanation of symbols]
DESCRIPTION OF
Claims (2)
前記アプリケーションによって前記制御系が参照、更新する、前記アプリケーションの起動周期毎のトラッキングデータを、前記起動周期毎のトラッキング処理タイミングにおいて前記待機系の主メモリへ反映させ、
前記待機系でのトラッキング処理タイミングに、前記制御系においてトラッキングデータの書き換え中であった場合、当該起動周期において実行すべきトラッキング処理以外の処理を先に実施した後、再度、前記トラッキング処理を実施するトラッキング処理手段を備えたことを特徴とする計算機システム。 In a computer system configured with a dual system that executes instructions of the same application in both a control system and a standby system having a central processing unit and a main memory,
The tracking data for each activation cycle of the application, which is referred to and updated by the control system by the application, is reflected in the main memory of the standby system at the tracking processing timing for each activation cycle,
The tracking processing timing in the standby, indicating an in rewriting the tracking data in the control system, after performing a process other than the tracking process should be performed in the activation period before again performing the tracking process A computer system comprising a tracking processing means.
トラッキング処理以外の処理を先に実施した後、制御系においてトラッキングデータの書き換え中の状態が継続していると、当該起動周期における該当トラッキングデータのトラッキング処理を放棄することを特徴とする請求項1記載の計算機システム。Tracking processing means
The tracking processing of the corresponding tracking data in the start cycle is abandoned when the state in which the tracking data is being rewritten in the control system continues after the processing other than the tracking processing is performed first. The computer system described.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000151828A JP3910340B2 (en) | 2000-05-23 | 2000-05-23 | Computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000151828A JP3910340B2 (en) | 2000-05-23 | 2000-05-23 | Computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001331201A JP2001331201A (en) | 2001-11-30 |
JP3910340B2 true JP3910340B2 (en) | 2007-04-25 |
Family
ID=18657321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000151828A Expired - Lifetime JP3910340B2 (en) | 2000-05-23 | 2000-05-23 | Computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3910340B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5094460B2 (en) * | 2008-02-20 | 2012-12-12 | 株式会社日立製作所 | Computer system, data matching method, and data matching processing program |
JP5509272B2 (en) * | 2012-08-03 | 2014-06-04 | 株式会社日立製作所 | Computer system, data matching method, and data matching processing program |
JP6320253B2 (en) * | 2014-09-10 | 2018-05-09 | 東芝エネルギーシステムズ株式会社 | Redundant control system |
JP2018156583A (en) * | 2017-03-21 | 2018-10-04 | 株式会社東芝 | Changeover method and monitoring control system |
-
2000
- 2000-05-23 JP JP2000151828A patent/JP3910340B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001331201A (en) | 2001-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
US6772327B2 (en) | Floating point unit pipeline synchronized with processor pipeline | |
US5664137A (en) | Method and apparatus for executing and dispatching store operations in a computer system | |
US5016169A (en) | Data processor capable of correctly re-executing instructions | |
JPH0752399B2 (en) | Storage system | |
US5751986A (en) | Computer system with self-consistent ordering mechanism | |
WO2015138312A1 (en) | Method and apparatus for transfer of wide command and data between a processor and coprocessor | |
EP0144249B1 (en) | Buffer storage system | |
CN102184127A (en) | Method for realizing pre-execution of processor and corresponding device | |
JPH0670779B2 (en) | Fetch method | |
US20230350681A1 (en) | Mechanism for interrupting and resuming execution on an unprotected pipeline processor | |
EP1622000A2 (en) | Multi-threaded processor and register control method | |
CN105389271A (en) | System and method for performing hardware prefetch table query with minimum table query priority | |
US5146569A (en) | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension | |
JP3910340B2 (en) | Computer system | |
US11210098B2 (en) | Variable latency instructions | |
US6421771B1 (en) | Processor performing parallel operations subject to operand register interference using operand history storage | |
JP3858013B2 (en) | Execution of variable-length instructions stored in multiple individual storage address areas | |
JP2000330791A (en) | Computer system and its operating method | |
JPH0877126A (en) | System and method for communication between devices | |
JPH08137751A (en) | Processor device and its control method | |
JPS6329292B2 (en) | ||
JP3471913B2 (en) | Computer system | |
JP2564290B2 (en) | Instruction restart processing method and apparatus | |
JPH0133856B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060314 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060420 |
|
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: 20061226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3910340 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100202 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140202 Year of fee payment: 7 |
|
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 |
|
EXPY | Cancellation because of completion of term |