JPH1185226A - マルチスキャン方式の二重化プログラマブルコントローラ - Google Patents
マルチスキャン方式の二重化プログラマブルコントローラInfo
- Publication number
- JPH1185226A JPH1185226A JP23601297A JP23601297A JPH1185226A JP H1185226 A JPH1185226 A JP H1185226A JP 23601297 A JP23601297 A JP 23601297A JP 23601297 A JP23601297 A JP 23601297A JP H1185226 A JPH1185226 A JP H1185226A
- Authority
- JP
- Japan
- Prior art keywords
- count value
- hardware counter
- scan
- programmable controller
- executes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【課題】 二重化された演算部において、スキャン間の
データの一致性を保証するプログラマブルコントローラ
を提供する。 【解決手段】 演算部3aは共有メモリ6から相手演算
部(演算部3b)のカウント値b(スキャン間共有デー
タアクセス回数)を読み出し、ハードウェアカウンタ4
aで自演算部3aのカウント値aとカウント値bを比較
する。カウント値aとカウント値bが一致していれば、
演算部3aはカウント値aを共有メモリ6に書き込み、
高位スキャンを実行する。カウント値aがカウント値b
よりも小さければ、カウント値bをプリセット値aとし
てハードウェアカウンタ4aへ書込んで低位スキャンを
実行する。低位スキャンの実行によりカウント値aがカ
ウントアップし、プリセット値a、すなわちカウント値
bと一致すると、一致割り込みが発生し、高位スキャン
を実行する。
データの一致性を保証するプログラマブルコントローラ
を提供する。 【解決手段】 演算部3aは共有メモリ6から相手演算
部(演算部3b)のカウント値b(スキャン間共有デー
タアクセス回数)を読み出し、ハードウェアカウンタ4
aで自演算部3aのカウント値aとカウント値bを比較
する。カウント値aとカウント値bが一致していれば、
演算部3aはカウント値aを共有メモリ6に書き込み、
高位スキャンを実行する。カウント値aがカウント値b
よりも小さければ、カウント値bをプリセット値aとし
てハードウェアカウンタ4aへ書込んで低位スキャンを
実行する。低位スキャンの実行によりカウント値aがカ
ウントアップし、プリセット値a、すなわちカウント値
bと一致すると、一致割り込みが発生し、高位スキャン
を実行する。
Description
【0001】
【発明の属する技術分野】本発明は、複数のシーケンス
処理をそれぞれ独立した周期で実行するいわゆるマルチ
スキャン方式の二重化プログラマブルコントローラに関
する。
処理をそれぞれ独立した周期で実行するいわゆるマルチ
スキャン方式の二重化プログラマブルコントローラに関
する。
【0002】
【従来の技術】システムの高信頼性が要求される制御シ
ステムにおいては同一構成の制御装置を2台並列に接続
する二重化構成をとることが多い。一般にこのような二
重化構成をとるプログラマブルコントローラの場合、入
力部と出力部は共通にして演算部だけを二重化する構成
となっている。すなわち、共通の入力部から入力された
データは二重化された演算部において並列処理された
後、演算結果が共通の出力部へ出力される。ここで二重
化された演算部の一方が故障しても健全なもう一方の演
算部で処理が継続されるためシステムが停止することは
ない。
ステムにおいては同一構成の制御装置を2台並列に接続
する二重化構成をとることが多い。一般にこのような二
重化構成をとるプログラマブルコントローラの場合、入
力部と出力部は共通にして演算部だけを二重化する構成
となっている。すなわち、共通の入力部から入力された
データは二重化された演算部において並列処理された
後、演算結果が共通の出力部へ出力される。ここで二重
化された演算部の一方が故障しても健全なもう一方の演
算部で処理が継続されるためシステムが停止することは
ない。
【0003】しかし、このようなプログラマブルコント
ローラにおいて演算内容を複数に分割し、それぞれの演
算に優先順位と周期をもたせるいわゆるマルチスキャン
方式を実現しようとすると、二重化された演算部の同期
ずれが問題となる。すなわち、優先度の低いスキャン
(低位スキャン)に優先度の高いスキャン(高位スキャ
ン)が割り込んで実行されると、両系の演算部の同期ず
れによる割り込みアドレスの違いから、両系においてス
キャン間の共有データが不一致となり、その結果シーケ
ンス処理の動作不一致や出力データの不一致を発生する
可能性がある。
ローラにおいて演算内容を複数に分割し、それぞれの演
算に優先順位と周期をもたせるいわゆるマルチスキャン
方式を実現しようとすると、二重化された演算部の同期
ずれが問題となる。すなわち、優先度の低いスキャン
(低位スキャン)に優先度の高いスキャン(高位スキャ
ン)が割り込んで実行されると、両系の演算部の同期ず
れによる割り込みアドレスの違いから、両系においてス
キャン間の共有データが不一致となり、その結果シーケ
ンス処理の動作不一致や出力データの不一致を発生する
可能性がある。
【0004】これを防止する方法として、特開昭59−
72506号公報に記載されているように、アドレス比
較器とアドレスラッチ回路を設けて両系のマイクロプロ
セッサの実行アドレスを比較し、実行アドレスの大きい
方を処理が進んでいるとみなしてホールドする一方、実
行アドレスの小さい方を処理が遅れているとみなして処
理を継続することで両系同一アドレスで割り込み処理を
実行する方法がある。
72506号公報に記載されているように、アドレス比
較器とアドレスラッチ回路を設けて両系のマイクロプロ
セッサの実行アドレスを比較し、実行アドレスの大きい
方を処理が進んでいるとみなしてホールドする一方、実
行アドレスの小さい方を処理が遅れているとみなして処
理を継続することで両系同一アドレスで割り込み処理を
実行する方法がある。
【0005】
【発明が解決しようとする課題】上述したように従来技
術では、マイクロプロセッサの1命令ごとに同期をとる
ために特殊なハードウェアを必要とするうえ、最近のマ
イクロプロセッサのように1クロックで1命令を実行す
るものを採用した場合、動作クロック周波数が高くなる
とハードウェアによる同期制御回路がマイクロプロセッ
サの動作に追従できないという問題があり、この方式の
実現は相当に困難なものとなる。
術では、マイクロプロセッサの1命令ごとに同期をとる
ために特殊なハードウェアを必要とするうえ、最近のマ
イクロプロセッサのように1クロックで1命令を実行す
るものを採用した場合、動作クロック周波数が高くなる
とハードウェアによる同期制御回路がマイクロプロセッ
サの動作に追従できないという問題があり、この方式の
実現は相当に困難なものとなる。
【0006】本発明の目的は、二重化された演算部にお
いて、スキャン間の共有データの一致性を保証するプロ
グラマブルコントローラを提供することである。
いて、スキャン間の共有データの一致性を保証するプロ
グラマブルコントローラを提供することである。
【0007】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の、マルチスキャン方式の二重化プログラマ
ブルコントローラは、同一のユーザプログラムを実行す
る二重化された演算部と、二重化された演算部が互いに
読み書き可能な共有メモリと、それぞれの演算部で実行
されるスキャン間共有データのアクセスによりカウント
アップし、該カウント値と予め設定されたカウント値が
一致したときに一致割り込みを発生するハードウェアカ
ウンタを有し、前記各演算部は、高位スキャンの割り込
みで起動された場合、自ハードウェアのカウンタのカウ
ント値と他ハードウェアカウンタのカウント値を比較
し、両カウント値が一致していれば高位スキャンを実行
し、自ハードウェアカウント値が他ハードウェアカウン
タのカウント値よりも大きければ、他ハードウェアカウ
ンタのカウント値が自ハードウェアカウンタのカウント
値と等しくなるまで待機し、自ハードウェアカウンタの
カウンタが他ハードウェアカウンタのカウント値よりも
小さければ自ハードウェアカウンタのカウント値が他ハ
ードウェアカウンタのカウント値と等しくなるまで低位
スキャンを実行し、自ハードウェアカウンタの一致割り
込みにより高位スキャンを実行する。
め、本発明の、マルチスキャン方式の二重化プログラマ
ブルコントローラは、同一のユーザプログラムを実行す
る二重化された演算部と、二重化された演算部が互いに
読み書き可能な共有メモリと、それぞれの演算部で実行
されるスキャン間共有データのアクセスによりカウント
アップし、該カウント値と予め設定されたカウント値が
一致したときに一致割り込みを発生するハードウェアカ
ウンタを有し、前記各演算部は、高位スキャンの割り込
みで起動された場合、自ハードウェアのカウンタのカウ
ント値と他ハードウェアカウンタのカウント値を比較
し、両カウント値が一致していれば高位スキャンを実行
し、自ハードウェアカウント値が他ハードウェアカウン
タのカウント値よりも大きければ、他ハードウェアカウ
ンタのカウント値が自ハードウェアカウンタのカウント
値と等しくなるまで待機し、自ハードウェアカウンタの
カウンタが他ハードウェアカウンタのカウント値よりも
小さければ自ハードウェアカウンタのカウント値が他ハ
ードウェアカウンタのカウント値と等しくなるまで低位
スキャンを実行し、自ハードウェアカウンタの一致割り
込みにより高位スキャンを実行する。
【0008】低位スキャンのユーザプログラムにおい
て、スキャン間の共有データのアクセス(データの読み
出しまたはデータの書き込み)により、ハードウェアカ
ウンタがカウントアップする。高位スキャンの起動割り
込みが発生したときに、二重化された演算部のハードウ
ェアカウンタのカウント値を比較することで、両系の高
位スキャンが割り込み実行されるタイミングのずれ、す
なわち低位スキャンの実行ステップのずれが検出できる
ため、同期ずれの補正処理が可能となる。
て、スキャン間の共有データのアクセス(データの読み
出しまたはデータの書き込み)により、ハードウェアカ
ウンタがカウントアップする。高位スキャンの起動割り
込みが発生したときに、二重化された演算部のハードウ
ェアカウンタのカウント値を比較することで、両系の高
位スキャンが割り込み実行されるタイミングのずれ、す
なわち低位スキャンの実行ステップのずれが検出できる
ため、同期ずれの補正処理が可能となる。
【0009】したがって、ユーザプログラムの1ステッ
プ毎の同期制御を行うことなく、スキャン間共有データ
の一致性を保証することができる。
プ毎の同期制御を行うことなく、スキャン間共有データ
の一致性を保証することができる。
【0010】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
て図面を参照して説明する。
【0011】図1は本発明の一実施形態のプログラマブ
ルコントローラを示すブロック図である。プログラマブ
ルコントローラは入力部2と、二重化された演算部3
a、3bと、それぞれの演算部3a、3bに備わるハー
ドウェアカウンタ4a、4bと、出力部5と、二重化さ
れた演算部3a、3bの両方からアクセス可能な共有メ
モリ6を備えている。
ルコントローラを示すブロック図である。プログラマブ
ルコントローラは入力部2と、二重化された演算部3
a、3bと、それぞれの演算部3a、3bに備わるハー
ドウェアカウンタ4a、4bと、出力部5と、二重化さ
れた演算部3a、3bの両方からアクセス可能な共有メ
モリ6を備えている。
【0012】図2は演算部3a、3bにおける処理を示
すフローチャートである。演算部3aは高位スキャンの
割り込みで起動されると、次の処理を実行する。
すフローチャートである。演算部3aは高位スキャンの
割り込みで起動されると、次の処理を実行する。
【0013】自演算部(演算部3a)のハードウェアカ
ウンタ4aからスキャン間共有データのアクセス回数で
あるカウント値aを読み出し、共有メモリ6に書き込む
(ステップ11)。共有メモリ6から相手演算部(演算
部3b)のカウント値bを読み出す(ステップ12)。
カウント値aとカウント値bを比較する(ステップ1
3)。カウント値aとカウント値bが一致していれば、
両系の演算部3a、3bの割り込みポイントが一致して
いると判断し、高位スキャンを実行する(ステップ1
4)。
ウンタ4aからスキャン間共有データのアクセス回数で
あるカウント値aを読み出し、共有メモリ6に書き込む
(ステップ11)。共有メモリ6から相手演算部(演算
部3b)のカウント値bを読み出す(ステップ12)。
カウント値aとカウント値bを比較する(ステップ1
3)。カウント値aとカウント値bが一致していれば、
両系の演算部3a、3bの割り込みポイントが一致して
いると判断し、高位スキャンを実行する(ステップ1
4)。
【0014】カウント値aがカウント値bよりも大きけ
れば、割り込みポイントが進んでいると判断し、相手演
算部3bのカウント値を読み出しながら待つ(ステップ
12)。
れば、割り込みポイントが進んでいると判断し、相手演
算部3bのカウント値を読み出しながら待つ(ステップ
12)。
【0015】カウント値aがカウント値bよりも小さけ
れば、割り込みポイントが遅れていると判断し、カウン
ト値bをプリセット値aとしてハードウェアカウンタ4
aに書き込み(ステップ15)、一致割り込み機能をイ
ネーブルにして低位スキャンに戻る(ステップ16)。
一致割り込み機能がイネーブルになって低位スキャンを
実行すると、スキャン間共有データのアクセスによりカ
ウント値aがカウントアップする。ここでカウント値a
がプリセット値a、すなわちカウント値bに一致する
と、一致割り込みが発生する(ステップ17)。一致割
り込みが発生すると、カウント値a(カウント値bと等
しい)を共有メモリ6に書き込み(ステップ18)、高
位スキャンを実行する(ステップ14)。
れば、割り込みポイントが遅れていると判断し、カウン
ト値bをプリセット値aとしてハードウェアカウンタ4
aに書き込み(ステップ15)、一致割り込み機能をイ
ネーブルにして低位スキャンに戻る(ステップ16)。
一致割り込み機能がイネーブルになって低位スキャンを
実行すると、スキャン間共有データのアクセスによりカ
ウント値aがカウントアップする。ここでカウント値a
がプリセット値a、すなわちカウント値bに一致する
と、一致割り込みが発生する(ステップ17)。一致割
り込みが発生すると、カウント値a(カウント値bと等
しい)を共有メモリ6に書き込み(ステップ18)、高
位スキャンを実行する(ステップ14)。
【0016】このように、二重化された演算部3a、3
bの高位スキャンは、低位スキャンにおける共有メモリ
6のアクセスの面で同等のステップの後に割り込んで実
行されるため、二重系においてスキャン間の共有データ
の不一致が生じることはない。
bの高位スキャンは、低位スキャンにおける共有メモリ
6のアクセスの面で同等のステップの後に割り込んで実
行されるため、二重系においてスキャン間の共有データ
の不一致が生じることはない。
【0017】
【発明の効果】以上説明したように、本発明によれば、
マイクロプロセッサの1命令毎、あるいはユーザプログ
ラムの1ステップ毎に二重系の同期をとる必要がないた
め、二重化に伴うハードウェア/ソフトウェアの複雑化
および性能低下を防止できる効果がある。
マイクロプロセッサの1命令毎、あるいはユーザプログ
ラムの1ステップ毎に二重系の同期をとる必要がないた
め、二重化に伴うハードウェア/ソフトウェアの複雑化
および性能低下を防止できる効果がある。
【図1】本発明の一実施形態の、マルチスキャン方式の
二重化されたプログラマブルコントローラのブロック図
である。
二重化されたプログラマブルコントローラのブロック図
である。
【図2】図1のプログラマブルコントローラの高位スキ
ャン割り込み処理の動作を示すフローチャートである。
ャン割り込み処理の動作を示すフローチャートである。
1 プログラマブルコントローラ 2 入力部 3a、3b 演算部 4a、4b ハードウェアカウンタ 5 出力部 6 共有メモリ 11〜18 ステップ
Claims (1)
- 【請求項1】 複数のシーケンス処理をそれぞれ独立し
た周期と優先順位をもって実行するマルチスキャン方式
の二重化プログラマブルコントローラであって、 同一のユーザプログラムを実行する二重化された演算部
と、 二重化された演算部が互いに読み書き可能な共有メモリ
と、 それぞれの演算部で実行されるスキャン間共有データの
アクセスによりカウントアップし、該カウント値と予め
設定されたカウント値が一致したときに一致割り込みを
発生するハードウェアカウンタを有し、 前記各演算部は、高位スキャンの割り込みで起動された
場合、自ハードウェアカウンタのカウント値と他ハード
ウェアカウンタのカウント値を比較し、両カウント値が
一致していれば高位スキャンを実行し、自ハードウェア
カウンタのカウント値が他ハードウェアカウンタのカウ
ント値よりも大きければ、他ハードウェアカウンタのカ
ウント値が自ハードウェアカウンタのカウント値と等し
くなるまで待機し、自ハードウェアカウンタのカウント
値が他ハードウェアカウンタのカウント値よりも小さけ
れば自ハードウェアカウンタのカウント値が他ハードウ
ェアカウンタのカウント値と等しくなるまで低位スキャ
ンを実行し、自ハードウェアカウンタの一致割り込みに
より高位スキャンを実行するプログラマブルコントロー
ラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23601297A JPH1185226A (ja) | 1997-09-01 | 1997-09-01 | マルチスキャン方式の二重化プログラマブルコントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23601297A JPH1185226A (ja) | 1997-09-01 | 1997-09-01 | マルチスキャン方式の二重化プログラマブルコントローラ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1185226A true JPH1185226A (ja) | 1999-03-30 |
Family
ID=16994480
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23601297A Pending JPH1185226A (ja) | 1997-09-01 | 1997-09-01 | マルチスキャン方式の二重化プログラマブルコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1185226A (ja) |
-
1997
- 1997-09-01 JP JP23601297A patent/JPH1185226A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7340574B2 (en) | Method and apparatus for synchronizing an industrial controller with a redundant controller | |
| US6226717B1 (en) | System and method for exclusive access to shared storage | |
| US20100023827A1 (en) | Soft error correction method, memory control apparatus and memory system | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| EP3933639B1 (en) | Transaction processing method, apparatus, and electronic device for blockchain | |
| JPH02250119A (ja) | 多重タイマ基準機能を有するタイマ | |
| JPH1185226A (ja) | マルチスキャン方式の二重化プログラマブルコントローラ | |
| JP3405513B2 (ja) | プログラマブルコントローラの二重化制御装置 | |
| JP2988518B2 (ja) | マルチプロセッサ制御方式 | |
| JP2969844B2 (ja) | プログラマブルコントローラ | |
| JP6645467B2 (ja) | マイクロコンピュータ | |
| JPH07287608A (ja) | プログラマブルコントローラの二重化同期制御装置 | |
| JPH11338712A (ja) | 割込順序保存回路 | |
| JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
| JP2002007148A (ja) | 共有資源の排他制御システム及び資源ロック方法並びに記録媒体 | |
| JPH0736820A (ja) | I/o制御装置 | |
| JPH06243101A (ja) | マルチプロセッサシステムにおけるcpu間通信方式 | |
| JPS5972506A (ja) | シ−ケンス制御装置 | |
| JPS60220448A (ja) | マルチcpuシステムの相互チエツク方法 | |
| JPH0217563A (ja) | 共有メモリの初期化方法 | |
| JPS59121540A (ja) | 演算制御方式 | |
| JPH05334099A (ja) | 状態設定レジスタの書込回路 | |
| JPH04270441A (ja) | データ処理装置 | |
| JPS63155346A (ja) | Ramチエツク方式 | |
| JPH11282787A (ja) | 入出力制御装置 |