JP3405513B2 - プログラマブルコントローラの二重化制御装置 - Google Patents

プログラマブルコントローラの二重化制御装置

Info

Publication number
JP3405513B2
JP3405513B2 JP30927297A JP30927297A JP3405513B2 JP 3405513 B2 JP3405513 B2 JP 3405513B2 JP 30927297 A JP30927297 A JP 30927297A JP 30927297 A JP30927297 A JP 30927297A JP 3405513 B2 JP3405513 B2 JP 3405513B2
Authority
JP
Japan
Prior art keywords
scan
controller
interrupt
unit
count value
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 - Fee Related
Application number
JP30927297A
Other languages
English (en)
Other versions
JPH11126103A (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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP30927297A priority Critical patent/JP3405513B2/ja
Publication of JPH11126103A publication Critical patent/JPH11126103A/ja
Application granted granted Critical
Publication of JP3405513B2 publication Critical patent/JP3405513B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のシーケンス
処理をそれぞれ独立した周期で実行する、所謂マルチス
キャン方式を備えたプログラマブルコントローラの二重
化制御装置に関する。
【0002】
【従来の技術】従来、システムの高信頼性が要求される
制御システムにおいては、同一構成の制御装置を2台並
列に接続する二重化構成をとることが多い。一般に、こ
のような二重化構成をとるプログラマブルコントローラ
の場合、入力部と出力部は共通にして演算部だけを二重
化する構成となっている。すなわち、共通の入力部から
入力されたデータは二重化された演算部において並列処
理された後、演算結果が共通の出力部へ出力される。こ
こで二重化された演算部の一方が故障して健全なもう一
方の演算部で処理が継続されるためシステムが停止する
ことはない。
【0003】然し、このようなプログラマブルコントロ
ーラにおいて演算内容を複数に分割し、それぞれの演算
に優先順位と周期を持たせ所謂マルチスキャン方式を実
現しようとすると、二重化された演算部の同期ずれが問
題となる。つまり、優先度の低いスキャン(低位スキャ
ン)に優先度の高いスキャン(高位スキャン)が割り込
んで実行されると、両系の演算部の同期ずれによる割り
込みアドレスの違いから、両系においてスキャン間の共
有データが不一致となり、その結果シーケンス処理の動
作不一致や出力データの不一致を発生する可能性があ
る。これを防止する方法として、特開昭59-72506号公報
に見られるように、アドレス比較器とアドレスラッチ回
路を設けて両系のマイクロプロセッサの実行アドレスを
比較し、実行アドレスの大きい方を処理が進んでいると
見做してホールドする一方、実行アドレスの小さい方を
処理が遅れていると見做して処理を継続することで、両
系同一アドレスで割り込み処理を実行する方法がある。
【0004】
【発明が解決しようとする課題】ところが、以上説明し
たような従来技術では、マイクロプロセッサの1命令毎
に同期をとるために特殊なハードウェアを必要とするう
え、最近のマイクロプロセッサのように1クロックで1
命令を実行するものを採用した場合、動作クロック周波
数が高くなるとハードウェアによる同期制御回路がマイ
クロプロセッサの動作に追従できないという問題があ
り、この方式の実現は相当に困難なものとなる。
【0005】本発明は上記のような問題点を解消するた
めになされたもので、低位スキャンと高位スキャンで実
行されるユーザプログラムにおいて、スキャン間の共有
データをアクセスするステップの実行タイミングを二つ
の演算部で調整することにより、二重化された演算部に
おけるスキャン間の共有データの一致性を保証するプロ
グラマブルコントローラを提供することを目的とする。
【0006】
【課題を解決するための手段】以上の目的を達成するた
め、本発明は次のような構成としている。すなわち、請
求項1記載の発明は、複数のシーケンス処理をタイマ割
り込みによりそれぞれ独立した周期と優先順位をもって
実行するマルチスキャン方式を備えた二重化プログラマ
ブルコントローラにおいて、同一のユーザプログラムを
実行するとともに、予め設定したプログラムアドレスを
実行するときにデバッグ割り込みを発生する機能を有す
る二重化された演算部と、前記二重化された演算部が互
いに読み書き可能な共有メモリと、それぞれの前記演算
部で実行されるスキャン間共有データのアクセスにより
カウント値をカウントアップする機能を有するハードウ
ェアカウンタと、前記タイマ割り込みが発生したタイミ
ングで二つの前記演算部のスキャン共有データのアクセ
ス回数を比較する比較手段を設け、前記比較手段での比
較結果が異なる場合には、前記アクセス回数の小さい方
の前記演算部が他方の前記演算部の前記アクセス回数に
一致するときに前記デバッグ割り込みを発生させること
を特徴とするプログラマブルコントローラの二重化制御
装置である。
【0007】また請求項2の発明は、前記比較手段とし
て前記二つの演算部にそれぞれデバッグレジスタと、前
記二重化された演算部の両方からアクセス可能な前記共
有メモリを具備することを特徴とする請求項1に記載の
プログラマブルコントローラの二重化制御装置である。
【0008】このようにして本発明は上記手段により、
低位スキャンのユーザプログラムにおいて、スキャン間
の共有データのアクセス(データの読み出しまたはデー
タの書き込み)により、ハードウェアカウンタがカウン
トアップさせ、高位スキャンの起動割り込みが発生した
ときに、二重化された演算部のハードウェアカウンタの
カウント値を比較することで、両系の高位スキャンが割
り込み実行されるタイミングのずれ、すなわち低位スキ
ャンの実行ステップのずれが検出できるため、同期ずれ
の補正処理が可能となり、従ってユーザプログラムの1
ステップ毎の同期制御を行うことなく、スキャン間共有
データの一致性を保証することができるという特段の効
果を奏する。
【0009】
【発明の実施の形態】以下本発明の一実施の形態を図に
示して説明する。全ての図面において、同一符号は同一
若しくは相当部材とする。図1は、本発明の一実施の形
態における回路構成を示すブロック図である。プログラ
マブルコントローラ1は入力部2と、二重化された演算
部3a,3b(マイクロプロセッサ)と、それぞれの演
算部3a,3bに備わるハードウェアカウンタ4a,4
bと、演算を実行するマイクロプロセッサに内蔵された
デバッグレジスタ5a,5bと、出力部6と、二重化さ
れた演算部3a,3bの両方からアクセス可能な演算部
共有な演算部共有メモリ7を備えている。
【0010】図2は、本発明の一実施の形態を構成する
演算部における処理を示すフローチャートである。ここ
に示す処理10は、演算部3a,3bにおける高位スキ
ャンのタイマ割り込みで起動される処理であり、次のよ
うなステップを経由してその処理が実行される。
【0011】[ステップ0] タイマ割り込み処理が開
始される。 [ステップ1] 自己演算部(演算部3a)において、
高位スキャンの割り込み発生アドレス(a)を読み出す
とともに、ハードウェアカウンタ4aからスキャン間共
有データアクセスのカウント値(a)を読み出し、演算
部共有メモリ7に書き込む。 [ステップ2] 演算部共有メモリ7から相手演算部
(演算部3b)の高位スキャンの割り込み発生アドレス
(b)とカウント値(b)を読み出す。 [ステップ3] カウント値(a)とカウント値(b)
を比較する。 [ステップ4] カウント値(a)とカウント値(b)
が一致しておれば、両系の演算部の割り込みポイントが
一致していると判断し、高位スキャンを実行する[ステ
ップ9a]。
【0012】[ステップ5] カウント値(a)がカウ
ント値(b)よりも大きければ、割り込みポイントが進
んでいると判断し、相手演算部(演算部3b)のカウン
ト値(b)を読み出しながら待つ。 [ステップ6] カウント値(a)がカウント値(b)
よりも小さければ、割り込みポイントが遅れていると判
断し、割り込み発生アドレス(b)を自己演算部(演算
部3a)のデバッグレジスタ5aに固定し、デバッグ割
り込み機能をイネーブルにして低位スキャンに戻る[ス
テップ9b]。 [ステップ7] デバッグ割り込み機能がイネーブルに
なって低位スキャンを実行すると、スキャン間共有デー
タのアクセスにより、カウント値(a)がカウントアッ
プする。また、この後プログラムの実行アドレスがデバ
ッグレジスタ5aに設定したアドレスに一致すると、デ
バッグ割り込みが発生する。 [ステップ8] デバッグ割り込みが発生すると、高位
スキャンの割り込み処理に戻る。
【0013】ここで、上記の[ステップ1]から[ステ
ップ8]までの処理が、自己演算部のカウント値(a)
と相手演算部のカウント値(b)が一致するまで繰り返
され、両カウント値が一致したタイミングで高位スキャ
ンの実行に移る。このようにして、[ステップ3]での
比較結果に応じて[ステップ4],[ステップ5],
[ステップ6]に処理が分岐する。つまり、ステップ3
の比較演算におけるカウント値(a)が、カウント値
(b)より大きい場合は、割込みポイントが進んでいる
から、相手演算部(演算部3b)のカウント値を読出し
ながら待ち [ステップ2とステップ3の間を循環する…
ステップ5の操作] 、カウント値(b)が大きくなって
カウント値(a)と一致した瞬間に、高位スキャンを実
行する[ステップ9aの操作]。また、ステップ3の比
較演算におけるカウント値(a)が、たまたまカウント
値(b)と一致すれば、それは問題なく高位スキャンを
実行する[ステップ9aの操作]。さらにまた、ステッ
プ3の比較演算におけるカウント値(a)が、カウント
値(b)より小さい場合は、割込みポイントが遅れてい
るから、割込み発生アドレスを自己演算部(演算部3
a)のデバッグレジスタ5aに設定(固定)し、デバッ
グ割込み機能をイネーブルにして、低位スキャンに戻り
[ステップ9bの操作]、そして、先のデバッグ割込み
機能がイネーブルになって、この低位スキャンが実行さ
れると、スキャン間共有データのアクセスにより、カウ
ント値(a)がカウントアップする。カウント値(a)
が大きくなった状態でデバッグ割込みが発生する[ステ
ップ7の操作]と、[ステップ1]〜[ステップ3]を
経て、カウント値(b)と一致した瞬間に、高位スキャ
ンを実行する[ステップ9aの操作]。すなわち、[ス
テップ7]におけるデバッグ割り込みにより、自己演算
部3aが相手演算部3bの高位スキャンの割込みポイン
トを一致させることが可能となり、スキャン実行のタイ
ミングが調整される。従って、二重化された演算部の高
位スキャンは、低位スキャンにおけるスキャン間で共有
のデータのアクセスの面で同等のステップの後に割り込
んで実行されるため、二重化された両系におけるスキャ
ン間の共有データの不一致を生ずることはない。
【0014】
【発明の効果】以上述べたように本発明によれば、マイ
クロプロセッサの一命令毎、あるいはユーザプログラム
の一ステップ毎に二重化された両系の同期をとる必要が
ないため、二重化に伴うハードウェア/ソフトウェアの
複雑化及び性能低下を防止できるという顕著な効果があ
る。
【図面の簡単な説明】
【図1】本発明の一実施の形態における二重化されたプ
ログラマブルコントローラの回路構成を示すブロック図
【図2】本発明の一実施の形態におけるプログラマブル
コントローラの高位スキャン割り込み処理の動作を示す
フローチャート
【符号の説明】
1 プログラマブルコントローラ 2 入力部 3a,3b 演算部(マイクロプロセッサ) 4a,4b ハードウェアカウンタ 5a,5b マイクロプロセッサ内蔵のデバッグレジス
タ 6 出力部 7 二重化演算部共有メモリ 10 高位スキャン割り込み処理
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/04 - 19/05

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のシーケンス処理をタイマ割り込みに
    よりそれぞれ独立した周期と優先順位をもって実行する
    マルチスキャン方式を備えた二重化プログラマブルコン
    トローラにおいて、 同一のユーザプログラムを実行するとともに、予め設定
    したプログラムアドレスを実行するときにデバッグ割り
    込みを発生する機能を有する二重化された演算部と、 前記二重化された演算部が互いに読み書き可能な共有メ
    モリと、 それぞれの前記演算部で実行されるスキャン間共有デー
    タのアクセスによりカウント値をカウントアップする機
    能を有するハードウェアカウンタと、 前記タイマ割り込みが発生したタイミングで二つの前記
    演算部のスキャン共有データのアクセス回数を比較する
    比較手段を設け、 前記比較手段での比較結果が異なる場合には、前記アク
    セス回数の小さい方の前記演算部が他方の前記演算部の
    前記アクセス回数に一致するときに前記デバッグ割り込
    みを発生させることを特徴とするプログラマブルコント
    ローラの二重化制御装置。
  2. 【請求項2】前記比較手段として前記二つの演算部にそ
    れぞれデバッグレジスタと、前記二重化された演算部の
    両方からアクセス可能な前記共有メモリを具備すること
    を特徴とする請求項1に記載のプログラマブルコントロ
    ーラの二重化制御装置。
JP30927297A 1997-10-22 1997-10-22 プログラマブルコントローラの二重化制御装置 Expired - Fee Related JP3405513B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30927297A JP3405513B2 (ja) 1997-10-22 1997-10-22 プログラマブルコントローラの二重化制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30927297A JP3405513B2 (ja) 1997-10-22 1997-10-22 プログラマブルコントローラの二重化制御装置

Publications (2)

Publication Number Publication Date
JPH11126103A JPH11126103A (ja) 1999-05-11
JP3405513B2 true JP3405513B2 (ja) 2003-05-12

Family

ID=17991004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30927297A Expired - Fee Related JP3405513B2 (ja) 1997-10-22 1997-10-22 プログラマブルコントローラの二重化制御装置

Country Status (1)

Country Link
JP (1) JP3405513B2 (ja)

Also Published As

Publication number Publication date
JPH11126103A (ja) 1999-05-11

Similar Documents

Publication Publication Date Title
US7434098B2 (en) Method and system of determining whether a user program has made a system level call
US20060020852A1 (en) Method and system of servicing asynchronous interrupts in multiple processors executing a user program
US20050223274A1 (en) Method and system executing user programs on non-deterministic processors
JPH04229355A (ja) データアクセス方法及びデータ処理システム
US8799706B2 (en) Method and system of exchanging information between processors
JPH06508229A (ja) 割込み駆動型個別クロック方式によるフォールトトレラントプロセッサの同期化
JP3405513B2 (ja) プログラマブルコントローラの二重化制御装置
JP2969844B2 (ja) プログラマブルコントローラ
JPH1185226A (ja) マルチスキャン方式の二重化プログラマブルコントローラ
JPH07287608A (ja) プログラマブルコントローラの二重化同期制御装置
JPH09146769A (ja) パイプライン処理装置
JPS6295644A (ja) マイクロプロセッサ用プログラムデバッグ装置
JP2536102B2 (ja) デ―タ処理装置
JPH06250868A (ja) 計算機
JPS60138661A (ja) 処理装置の制御方式
JPH0452842A (ja) メモリチェック方式
JP2544015B2 (ja) マイクロプログラム処理装置
JP2844624B2 (ja) データ処理装置
JPH05334099A (ja) 状態設定レジスタの書込回路
JPS62256047A (ja) 擬似障害発生方式
JPS63197247A (ja) マイクロプログラム制御装置
JPH05108384A (ja) マイクロプロセツサ
JPS59121540A (ja) 演算制御方式
JPH09325935A (ja) バス切り換え回路
JPH04270441A (ja) データ処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090307

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090307

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100307

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees