JP2000276202A - フェールセーフコントローラ - Google Patents

フェールセーフコントローラ

Info

Publication number
JP2000276202A
JP2000276202A JP11085366A JP8536699A JP2000276202A JP 2000276202 A JP2000276202 A JP 2000276202A JP 11085366 A JP11085366 A JP 11085366A JP 8536699 A JP8536699 A JP 8536699A JP 2000276202 A JP2000276202 A JP 2000276202A
Authority
JP
Japan
Prior art keywords
output
control
signal
program
fail
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
Application number
JP11085366A
Other languages
English (en)
Inventor
Shinichiro Yamaguchi
伸一朗 山口
Takeshi Takehara
剛 竹原
Naoto Miyazaki
直人 宮▲崎▼
Michio Fujiwara
道雄 藤原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11085366A priority Critical patent/JP2000276202A/ja
Priority to EP99929892A priority patent/EP1132788B1/en
Priority to DE69911992T priority patent/DE69911992T2/de
Priority to PCT/JP1999/003871 priority patent/WO2000005630A1/ja
Publication of JP2000276202A publication Critical patent/JP2000276202A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

(57)【要約】 【課題】交番信号を出力に持つフェールセーフな制御装
置において、安全性を確保しつつ、生産性を向上させる
方法を提供する。 【解決手段】制御演算を行う制御演算プログラムと、制
御演算プログラムによる演算結果から制御信号を生成す
る出力プログラムとを記憶したメモリと、タイマの割込
み信号に応じて制御演算プログラムの結果を取り込み出
力プログラムを実行して演算結果に基づいて制御信号を
生成するプロセッサによって構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フェールセーフな
制御装置の出力方式に関し、特に出力信号として交番信
号を用いたフェールセーフ制御装置の出力方式に関す
る。
【0002】
【従来の技術】信号機や踏切などの交通システム制御装
置あるいは、自動車の電子制御装置においては、制御装
置の故障が発生してシステムを停止せざるを得ない場合
に、システムとして安全な状態に停止させる必要があ
る。例えば信号制御では、信号機を赤にすることで、自
動車や列車の衝突を防ぐことが出来る。
【0003】このような安全性確保の考え方を「フェー
ルセーフ」と呼んでいる。フェールセーフ(安全)性を
実現する上で重要なことは、制御出力をいかにして被制
御機器へ伝えるかということである。従来のリレーによ
る制御では、故障モードが非対称性を持つために、これ
をより所にして比較的容易にフェールセーフを実現でき
たが、マイコンによる電子制御装置では、故障が非対称
性を持たないために新たな手法が必要とされてきた。こ
の制御出力のフェールセーフ性を高めるための手法とし
て、鉄道分野のように制御周期の長い制御システムでは
制御出力として交番信号を用いる手法がある。
【0004】このように交番信号を用いるものとして例
えば特開平6−332730 号公報には、制御対象となる外部
機器と、外部機器からの信号を入力して制御信号を出力
するCPUと、CPUからの制御信号を外部機器へ伝達
する駆動回路から構成されたシステムが開示され、CP
Uからの外部機器を危険側に切替駆動する制御信号を、
ソフトウエアによるビット反転で発生したビット列0101
0101…の交流信号とすることが開示されている。CPU
からの制御信号は駆動回路に入力され、駆動回路はCP
Uからの信号が交流信号の場合には外部機器を危険側に
切替駆動し、交流信号が停止してビット0又はビット1
の信号レベルに固定されると、外部機器を安全側に駆動
する。
【0005】また、従来のフェールセーフコントローラ
で、交番信号をプログラムで生成する場合、シングルス
レッド構造と呼ばれる通常の制御演算プログラム中に交
番出力処理ルーチンを埋め込む方法が用いられている。
この場合、交番出力処理は、先行する制御周期の結果出
力が危険側出力であるならば、結果出力を交番化する。
より具体的には、交番出力処理が実行される毎に前回出
力を反転(1の場合に0に、0の場合に1)する。一
方、制御周期の結果出力が安全側であるならば、交番化
しない。
【0006】万一、システムに異常が発生し制御演算処
理プログラムが停止あるいは暴走すると、ほとんどの場
合、正常なフローが実行されることはない。従って交番
出力処理も同時に停止し、出力は安全側出力である非交
番信号の固定値となり、システムの安全性が保たれる。
【0007】
【発明が解決しようとする課題】しかしながら、上述し
たようなシングルスレッド構造とした手法では、制御演
算処理プログラムを作成した後に、交番信号周期毎にプ
ログラムを分割し、交番出力処理ルーチンを埋め込む必
要がある。またプログラムの変更をする場合において、
交番信号周期がずれないように、再度プログラムの分割
を行う必要が生じる。制御周期や制御演算処理内容の一
部の変更であっても、プログラム全体の再分割を考慮す
る必要があるため、プログラムの生産効率が非常に悪く
なってしまう。また、一般に交番信号の周期は0.5〜
2msであり、制御演算の周期は100〜600msである。
別の見方をすると0.5 〜2msは、10MIPS程度のRIS
Cプロセッサの機械語5000〜2万命令の実行時間に
相当する。このため交番信号を得るには、たとえば制御
演算処理の機械語プログラムを1万命令程度に区切っ
て、交番出力処理を埋め込む面倒な作業を必要とする。
また最近では、制御演算処理をC言語などの高級言語で
記述することが普通であり、コンパイル結果を見通し
て、交番出力処理を制御演算処理プログラムに埋め込む
ことは、多大な労力が必要とされる。更に第三者が作成
したプログラムを流用することなど不可能である。
【0008】一方、フェールセーフコントローラシステ
ムを広範囲に適用するには、開発費や開発期間の削減を
行い、低価格化を実現することが重要である。このため
には、交番信号処理をハードウエアで実現し、プログラ
ム作成の負担を軽減すること、あるいはアプリケーショ
ンプログラムから交番処理を分離し、OSのような共通
プログラムに交番処理を集約して、システムの共通化を
図ることが必須である。
【0009】そこで、本発明の目的は、交番信号処理を
ハードウエアで実現し、交番信号出力処理を演算処理プ
ログラムと分離することによって、演算処理プログラム
の作成・変更時に交番信号出力処理を意識することなく
行える手段を提供することにある。
【0010】また本発明の別の目的は、OSのような共
通プログラムに交番処理を集約して共通ソフトを使用し
ながらも、シングルスレッド構造と同等レベルの安全な
交番信号生成手段を提供することにある。
【0011】
【課題を解決するための手段】上記目的を実現するため
に、コントローラは、プログラムおよびデータを格納す
るメモリと、該メモリからプログラムを読み出してこれ
を実行するプロセッサと周期的にプロセッサへの割込み
信号を生成する出力部起動タイマによって構成される。
プログラムは、少なくとも以下の二つの部分を持ち、一
つは、制御出力データを算出する制御演算部で、たとえ
ば100〜600msの周期を持つ。もう一つは、該制御
演算部からの制御出力データを交番信号に変換する出力
部である。
【0012】出力部は割込み信号によって起動され、該
出力部は制御演算部の制御出力データが危険側出力を指
定している場合に限って、特定の信号パタンあるいは交
番信号を出力する。
【0013】また出力部は、出力部起動回数を計測する
カウンタとカウンタの上限値を保持するレジスタを有
し、該カウンタが定められた上限値を超えた時には出力
信号レベルを固定する。制御演算部は、制御周期内に少
なくとも1回カウンタをクリアする。
【0014】上限値を制御周期内の出力部起動回数より
若干多く設定すると、正常動作時には上限値を超えるこ
と無い。しかし制御演算部が暴走、あるいは停止したと
きには、カウンタがクリアされずに上限値を超えてしま
い危険側出力である特定の信号パタンあるいは交番信号
を抑止する。これによって、システムは安全な状態に保
たれる。
【0015】
【発明の実施の形態】以下に本発明にかかる第一の実施
例を図面を参照して説明する。
【0016】図2に本発明を適用したコントローラシス
テムの全体の構成を示す。本システムは、制御対象5,
制御対象5の状態を検出する検出器6,制御対象5への
制御信号2の出力及び制御対象5の状態を状態信号3と
して取り込む入出力回路4,制御対象5の状態を取り込
み、制御演算処理を実行し、演算結果を制御信号2とし
て出力するフェールセーフコントローラ1から構成され
ている。尚、フェールセーフコントローラ1から出力さ
れる制御信号2は後述するように交番信号または固定値
信号となる。本コントローラシステムを例えば踏切制御
装置に適用した場合、踏切への列車の接近を検出する踏
切制御子や、踏切装置に故障が発生した場合に踏切故障
を通達する踏切故障検出器などが検出器6に相当し、こ
の踏切制御子や踏切故障検出器からの信号を入力して、
演算を行い制御信号を出力する踏切制御装置がフェール
セーフコントローラ1に相当し、踏切制御装置から制御
信号によって列車の接近・通過を光と音で警報する踏切
警報機や、道路の通行を遮断する踏切遮断機が制御対象
5に相当する。
【0017】以下、フェールセーフコントローラ1につ
いて詳細に説明する。ここで、説明するフェールセーフ
コントローラ1は、ハードウエアで実現することを前提
としている。フェールセーフコントローラ1は、制御演
算を実行する制御演算部10と、演算制御部10の出力
に応じて制御信号2として交番信号又は固定値信号を出
力する出力部11から構成されている。
【0018】出力部11は、交番信号の周期を定めるタ
イマ110と、制御演算部10の演算結果12を基に交
番信号を生成する交番信号出力部111と、交番信号出
力部111の出力信号114を監視して制御信号2の出
力/停止を制御する出力監視部112から構成されてい
る。
【0019】また、制御演算部10は、制御周期のはじ
めに、制御周期開始トリガ13としてパルス信号を出力
し、出力部11に制御周期の開始を通達する。制御周期
開始トリガ13は、交番信号出力部111と、出力監視
部112にそれぞれ入力される。
【0020】タイマ110は、交番信号周期毎に交番周
期トリガ113を出力する。交番信号出力部111は、
制御演算部10の演算結果12の値を制御周期開始トリ
ガ13が入力される毎に取り込む。また、交番信号出力
部111は、交番周期トリガ113が入力される毎に、
取り込んだ制御演算部10の演算結果12が論理値1
(真)の場合には、交番周期トリガ113が入力される
以前の出力の値を反転(1を0に、0を1にする)し、
論理値0の場合には、交番周期トリガ113が入力され
る以前の出力の値を維持して、交番出力114として出
力する。従って、制御演算部10の演算結果12として
“1”の状態が続くと交番周期トリガ113に合わせて
交番信号を出力し、演算結果12として“0”の状態が
続くと固定値信号が出力される。
【0021】出力監視部112は、制御周期開始トリガ
13により交番出力114の観測を開始し、実際に制御
対象5に出力される制御信号2を制御する。
【0022】図4は図2の交番信号出力部111の構成
を示したものである。交番信号出力部111は、制御演
算部10の演算結果12の値を保持するレジスタ111
0と、交番信号の生成を行う交番出力生成部1111
と、交番出力114として出力される値を保持する出力
レジスタ1112より構成される。レジスタ1110
は、制御周期開始トリガ13が入力されたときに、制御
演算部10の演算結果12の値を取り込み、再度、制御
周期開始トリガ13が入力されるまで、値を保持する。
従って、一つの制御周期の間は、レジスタ1110の値
は変化せず、次の制御周期へ遷移する場合においてのみ
レジスタ1110の値が変化する。出力レジスタ111
2は、交番周期トリガ113毎に交番出力生成部111
1の出力を取り込む。
【0023】交番出力生成部1111は排他的論理和ゲ
ートであるEOR1115 によって構成されている。これによ
り交番出力生成部1111は、レジスタ1110からの
出力1113の値が論理値1である場合には、出力レジ
スタ1112に保持されている値を反転し(論理値1の
とき論理値0に、論理値0のとき論理値1にする。)、
論理値0である場合には、出力レジスタ1112に保持
されている値をそのまま、出力レジスタ1112へ入力
する。このようにして、交番出力生成部1111は、レ
ジスタ1110に保持された制御演算部10の演算結果
12に基づいて交番信号または固定値信号を生成する。
【0024】なお、出力レジスタ1112への入力値の
変化は、交番周期トリガ113により交番出力生成部1
111の動作が起動したときとなるので、出力信号11
4の信号周期は、交番周期トリガ113の発生間隔によ
り決定される。
【0025】図5は図2の出力監視部112の構成を示
したものである。出力監視部112は、出力信号114
の交番回数を計測するカウンタ1121と、カウンタ11
21の値と比較する数値を保持するカウンタ上限値設定レ
ジスタ1120と、カウンタ1121の値1125とカ
ウンタ上限値1124の大きさを比較する大小比較器1
122と、出力信号114の出力/停止を制御する出力
制御部1123から構成される。
【0026】カウンタ1121は、出力信号114が出
力されている場合に、交番信号の立ち上がりを見て、交
番信号の交番回数を計測する。カウンタ1121は、制
御周期開始トリガ13が1パルス入力されると値がリセ
ットされる。従って、制御演算部10の故障により、制
御周期開始トリガ13が遅延し、カウンタ1121の値
1125がカウンタ上限値設定レジスタ1120の上限
値1124よりも大きくなると、大小比較器1122
は、出力停止信号1126を出力する。出力停止信号1
126が出力されると、出力制御部1123は出力信号
114の交番信号を抑止し、制御信号2として固定値信
号が出力される。つまり、制御周期開始トリガ13が遅
延するとフェールセーフコントローラ1は安全側出力を
出力する。尚、出力制御部1123は、ANDゲートで
容易に構成できる。
【0027】ここで、カウンタの上限値1124が小さ
いと、制御周期の途中でカウンタ1121の値1125
がカウンタの上限値1124より大きくなり、システム
に異常がないにも関わらず出力が停止されてしまう。そ
こで、制御周期をTc、交番信号周期をTxとし、カウ
ンタ上限値をNrとすると、 Nr>(Tc/Tx) の条件を満たすようにNrを設定することにより、制御
周期の間の交番信号出力が保証される。また、出力停止
信号1126を、外部に送信することにより、出力監視
部112で検出した異常を上位の制御装置に通達した
り、システムの電源を遮断したりするようにすることも
可能である。
【0028】次に、本実施例の動作について説明する。
図3は図2の制御演算部10及び出力部11の動作の概
略タイムチャートを示したものである。制御演算部10
は、制御周期のはじめに制御周期開始トリガ13を出力
する。次に、制御演算を行うために、制御対象の状態で
ある状態信号3を取り込む。この状態信号3に基づい
て、制御演算を実行し、演算が終了すると、演算結果1
2を出力する。また、次の制御周期に遷移する時には、
制御周期開始トリガ13を出力し、以降では同様の処理
を繰り返す。
【0029】出力部11は、制御周期開始トリガ13が
入力されると、前の制御周期の演算結果12を取り込
む。そして、出力部11は、交番周期トリガ113によ
って、取り込んだ演算結果12の値を交番信号に変換す
る処理を行う。
【0030】図6は図5のカウンタの動作と、各部の信
号の詳細なタイムチャートを示したものである。正常時
の動作は、次の通りである。カウンタ1121は、制御
周期開始トリガ13の立ち下がり(図6のT1のタイミ
ング)でリセットされる。T1で演算結果12の値が
“1”であるので、出力信号114は交番周期トリガ1
13が発生する毎に反転し、交番信号となる。カウンタ
1121は、出力信号114の交番回数を計測するが、
次の制御周期開始トリガ13の立ち下がり(図6のT2
のタイミング)までにカウンタの値は上限値1124に
達しないため、T2まで制御信号2として交番信号を出
力し続ける。次の制御周期開始トリガ13の立ち下がり
(図6のT2のタイミング)を検出すると、カウンタ1
121の値は再びリセットされる。T2で演算結果12
の値が“0”であるので、出力信号114は変化せず
に、固定した値(図では0固定)が出力される。カウン
タ1121は、出力信号114の信号変化がないために
計測を行わず、カウンタ1121の値は増加しない。な
お、ここでは交番出力そのものを計測したが、交番周期
トリガ113の回数を計測してもよい。その場合には、
演算結果12の値が“0”あるいは“1”にかかわら
ず、カウンタ1121は増加する。
【0031】次に異常時の動作について説明する。カウ
ンタ1121の値1125がカウンタの上限値1124
よりも大きくなるのは、制御周期以上の時間が経過して
も制御周期開始トリガ13からパルス信号が出力され
ず、カウンタ1121がリセットされない状態である。
T3のタイミングからT1のタイミングと同様にカウン
タ1121の値の増加が開始するが、ここで制御演算部
10において異常が発生し、演算処理が停止すると、制
御周期が経過しても制御周期開始トリガ13が現れず、
カウンタ1121が計測を続ける。T4のタイミングで
カウンタ1121の値1125が上限値1124よりも
大きくなると、T4以降、出力停止信号1126がオン
する。制御信号2は、T4まで交番信号を出力している
が、出力停止信号1126によりT4以降の出力2は論
理値0を出力し続け、システムは安全側に保たれる。
【0032】以上の説明から、制御演算部10は、出力
部11に対して演算結果12と制御周期開始信号13を
受け渡すだけで、出力の信号変換を意識する必要はなく
なる。また、出力部11は、タイマ110からの交番周
期トリガ113により交番信号生成処理を実行するの
で、制御演算部10と出力部11は独立に動作させるこ
とができる。従って、制御演算部10は、交番出力を意
識することがなく作ることが可能となる。
【0033】これまで、交番出力をフェールセーフコン
トローラ1の出力信号として説明してきたが、その他
に、フェールセーフコントローラの生死信号として用い
る事もできる。この場合、演算結果12は常に論理値1
であり、制御演算部10は制御周期毎に制御周期開始ト
リガ13としてパルス信号を出力するだけでよい。これ
により出力部11は交番信号を出力し続ける。システム
に異常が発生し、制御演算部10の処理が停止すると、
制御周期開始トリガ13が出力されなくなるため、出力
監視部112により交番信号出力が抑止される。従っ
て、交番信号の出力の有無で、システムの健全性を知る
ことができる。
【0034】次に第二の実施例について、図を用いて説
明する。
【0035】第一の実施例では、交番信号生成および監
視をハードウエアで行う実施例を示したが、以下では、
ソフトウェアで実現する例を示す。交番信号生成および
監視をソフトウエアで実現した場合、細かな機能調整が
可能となったり、経年変化による故障が発生しないなど
のメリットがある。
【0036】図7は、ソフトウエアで実現する場合の構
成の概要を示したものである。この図に示すように制御
演算部10で行っていた処理はアプリケーションプログ
ラム70の一部となり、交番信号出力部111と出力監
視部112で行っていた処理は、別プログラム(たとえ
ば、OS71)で実現する。また、タイマは、ハードウ
エアで実現する。
【0037】図1はソフトウエアで実現する場合のフェ
ールセーフコントローラ1の構成を示したものである。
この図に示したフェールセーフコントローラ1を適用し
たシステムについては図3のフェールセーフコントロー
ラ1と置き換えれば同様の構成となる。本フェールセー
フコントローラは、ソフトウエアを実行するプロセッサ
の異常を検出するために、A系とB系の2重系の構造と
なっている。それぞれの系は、タイマ110A(110
B)、プロセッサ120A(120B)、メモリ121
A(121B)がバス123A(123B)で接続され
た構成となっている。また、プロセッサ120A,12
0Bの異常を検出するためのバス比較回路124と安全
性を高めるための外部カウンタ126,外部へ制御信号
を出力するためのIO127が、バス123A,123
Bに接続されている。
【0038】A系のメモリ121Aには、制御演算部1
0で行っていた処理を実行するためのアプリケーション
プログラム70と、交番信号出力部111と出力監視部
112で行っていた処理を実行するOS71のプログラム
とが格納されている。プロセッサ120Aは、メモリ1
21Aに格納されたアプリケーションプログラム70、
OS(オペレーティングシステム)などのプログラムをメ
モリバス123Aを介して、読み出し実行する。B系も
同様にプロセッサ120Bが、メモリ121Bに格納さ
れたアプリケーションプログラム70、OS(オペレー
ティングシステム)などのプログラムをメモリバス12
3Bを介して、読み出し実行する。A系,B系のプロセ
ッサ120A,120Bは、同一のプログラムを同期し
て実行するので、バス比較回路124は、メモリバス1
23Aと123Bのデータを比較してプロセッサ等の動
作異常をバス不一致として検出する。不一致と検出され
た場合、バス比較回路124は、エラー信号125を出
力する。エラー信号125はそれぞれのプロセッサ12
0A,120Bへ入力されたり、また図示していない手
段を介してフェールセーフコントローラ1をリセットし
たりする。タイマ110Aは、割り込み信号である交番
周期トリガ113を発生させる周期タイマである。この
交番周期トリガ113による割り込みレベルはエラー例
外を除いた通常割り込みの中で最上位レベルに設定す
る。カウンタ132Aは、交番信号の出力回数を計測・
保持するレジスタで、メモリ上の変数として割り付けら
れている。カウンタ126は、カウンタ132A,13
2Bと同じ値を保持するメモリ外に設けられるレジスタ
である。カウンタ126は、メモリ上に割り付けられた
カウンタ132A,132Bが制御演算部以外のプログ
ラムの暴走によって不用意に書き換えられることに備え
て、安全性を向上させるために設けられる。
【0039】IO127は、外部機器へ制御信号125
を出力する出力ポートである。図8,図9,図10は1
ビット分のIO124の内部構成を示したものである。
【0040】図8のIO124について説明する。12
41はフェールセーフANDと呼ぶ交番信号の論理積を
行う回路であり、D型フリップフロップで構成される。
A系のバス123AとB系のバス123Bに交番信号が
出力された時のみ、信号線1244に交番信号が出力さ
れる。1242は、特開昭64−82704 号に記載されてい
るような交番信号復号回路であり、信号線1244上の
交番信号を整流して電圧を生成し、リレー1243を駆
動する。即ち、本IO124では、バス123Aとバス12
3Bに交番信号が出力されたときにのみ、リレーが駆動
され、危険側制御信号が出力される。なお交番信号復号
回路については1245の回路を使用しても良い。
【0041】図9は、図8のリレー1243の代替とし
て、半導体リレー(SSR:ソリッドステートリレー)
を用いたIO124の構成を示したものである。124
5は、交番信号復号回路としてトランス1246と整流
器1247を用いたものであり、1242の回路を用い
ても良い。図9においても、バス123Aとバス123Bに
交番信号が出力されたときにのみ、半導体リレーがオン
して、危険側制御信号が出力される。
【0042】図10において、1242A及び1242
Bは交番信号復号回路であり、バス123A及びバス1
23B上の交番信号を整流して電圧を生成し、半導体リ
レーをオンする。半導体リレーは、直列接続されてお
り、2つの半導体リレーがオンしたときのみ、リレー1
243が駆動され、危険側制御信号が出力される。ここ
では、交番出力が2本(123Aと123B)ある場合
を示したが、交番出力が123Aあるいは123Bのい
ずれか1本しかない場合には、フェールセーフAND1241
や半導体リレー1242A,1242Bの直列接続を省
略すれば良い。尚、本実施例では、バス比較回路124
を用いた2重化プロセッサの構成を示したが、多数決回
路を用いたフェールセーフコントローラでも本発明は適
用可能であることは言うまでもない。また、プロセッサ
だけが2重化されており、メモリはECC(エラー訂正
コード)等で冗長化されている構成にも本発明は適用可
能である。更に、図1に示した1つの系、つまりメモリ
とプロセッサとタイマによってフェールセーフコントロ
ーラ1を実現することができる。この場合は、既に説明
したようにメモリに制御演算部10で行っていた処理を
実行するためのアプリケーションプログラム70と、交
番信号出力部111と出力監視部112で行っていた処
理を実行するOS71のプログラムとを格納しておく。
このようなプログラムを格納した場合のプロセッサの動
作は、以下に説明するのと同様である。
【0043】A系及びB系のメモリ121A及び121
Bに格納されるプログラム構造を図11に示す。アプリ
ケーションプログラムの一部である制御演算プログラム
部130は、演算結果である制御出力データ134をO
Sの出力プログラム部131に引き渡す。出力プログラム
部131はタイマ110A又はタイマ110Bの割り込
みで起動され、制御出力データ134が論理値1の時に
のみ、IO127への前回出力値を反転することで交番
信号を生成する。更新フラグ133は、制御演算プログ
ラム部130が、制御周期毎にセットするフラグであ
り、出力プログラム部131がクリアする。カウンタ1
32は、出力プログラム部131が起動された回数を格
納する計測カウンタである。
【0044】出力プログラム部131が起動された時、
更新フラグ133がセットされていれば、カウンタ13
2はクリアされ、同時に更新フラグ133もクリアされ
る。上限値137は、カウンタ132の取り得る最大値
を保持している。カウンタ132の値が上限値137を
超えると、出力プログラム部131は交番信号の生成を
行わず、IO127に固定値を出力する。
【0045】次に本実施例の動作を説明する。図12
は、制御演算プログラム部130と出力プログラム部1
31の動作を時間軸(横軸)に沿って示したものであ
る。制御演算プログラム部130は、100〜600ms
程度の制御周期でプログラムを実行しており、交番周期
トリガ113によるタイマ割り込みは、交番信号の周期
(0.5 〜2ms程度)で発生し、これをトリガとして出
力プログラム部131が交番信号生成および監視処理を
開始する。ここでは、アプリケーションプログラムとし
て、制御演算プログラム部130だけが実行されている
例を示しているが、他のアプリケーションプログラムが
実行されているときにも、交番周期トリガ113による
タイマ割り込みによって周期的に出力プログラム部13
1が起動され、交番信号が生成される。
【0046】図13は制御演算プログラム部130の概
略フローを示したものである。復電リセットによってフ
ェールセーフコントローラ1が動作を開始すると、ハー
ドウエアの初期化を行う(1401)。ハードウエアの
初期化を行った後、カウンタ132の上限値を137に
設定する(1402)。ここで上限値としては、制御周
期に含まれる交番信号の周期以上とすれば良い。続いて
制御対象の状態信号を取得し(1403)、制御演算を
行って(1404)、出力データを制御出力データ13
4に書き込む(1405)。出力データの更新を示すた
めに更新フラグ133をセットする(1406)。以
降、制御対象の状態信号の取得から更新フラグ133の
更新までを制御周期として繰り返す。
【0047】次に出力部プログラムについて詳しく説明
する。図14は出力部プログラムを起動する割込み処理
のフローを示したものである。割り込みには、入出力装
置等からの通常割込み135と交番周期タイマからの割
込み136とエラー検出時のエラー割込み137があ
る。通常割込み135発生時の処理は、当業者周知の内
容なので詳細な説明を省略する。交番周期タイマ割込み
136発生時の動作については、図15を用いて後述す
る。エラー割込み137発生時は、フェールセーフコン
トローラ1が動作不可能と判断して停止するため、出力
プログラム部が起動されなくなり、交番信号が停止す
る。これによって、制御出力125は安全側出力とな
る。
【0048】図15に出力プログラム部131の動作フ
ローを示す。出力プログラム部131が割込み処理によっ
て起動されると、更新フラグ133が更新されているか
をチェックする(1311)。更新フラグ133が更新
されていれば、出力データ134が更新されて、新たな
制御周期に入ったと判断して、カウンタ132と外部カ
ウンタ125をクリアする(1312)。更新されてい
なければ、現在の制御周期中判断し、カウンタが上限値
以下か否かをチェックする(1313)。オーバフロー
していれば、エラー割込みを発せさせフェールセーフコ
ントローラ1を停止する。これによって、交番信号が停
止して制御出力125は安全側出力となる。
【0049】カウンタが上限値以下ならば、出力データ
134の論理値が1時に前回交番出力123を反転させ
る。通常、出力データ134は複数ビット(例えば2バ
イト)なので、この場合には論理値が1のビットのみ前
回交番出力123を反転させる。続いて、カウンタ13
2と外部カウンタ123をインクリメントして、処理を
終了する。
【0050】本発明によれば、交番信号を出力する制御
装置の演算処理部は、制御周期の中で制御演算出力の更
新を行うだけとなり、交番信号周期は交番周期タイマ1
10によって管理されるため、制御演算プログラム部1
30は、交番周期毎の出力処理を意識する必要はない。
これによって演算処理系の生産性を向上させることが可
能となる。また、出力データの交番信号化を必要とする
アプリケーションプログラムとそれ以外のアプリケーシ
ョンプログラムを混在させることが出来るので、システ
ムの機能性が向上する。
【0051】
【発明の効果】本発明によれば、演算処理系の生産性を
向上させることが可能となる。また、出力データの交番
信号化を必要とするアプリケーションプログラムとそれ
以外のアプリケーションプログラムを混在させることが
出来るので、システムの機能性が向上する。
【図面の簡単な説明】
【図1】フェールセーフコントローラの構成を示した図
である。
【図2】本発明を適用したコントローラシステムの構成
を示した図である。
【図3】制御演算部及び出力部の動作を示した図であ
る。
【図4】交番信号出力部の構成を示した図である。
【図5】出力監視部の構成を示した図である。
【図6】フェールセーフコントローラの各部の動作を示
した図である。
【図7】ソフトウエアで実現する場合の全体構成の概念
を示した図である。
【図8】図1に示したフェールセーフコントローラのI
Oの構成を示した図である。
【図9】図1に示したフェールセーフコントローラのI
Oの他の構成を示した図である。
【図10】図1に示したフェールセーフコントローラの
IOの他の構成を示した図である。
【図11】ソフトウエアで実現する場合のプログラムと
データの流れを示した図である。
【図12】ソフトウェアで実現する場合のプログラムの
タイムチャートを示した図である。
【図13】ソフトウエアで実現する場合の制御演算部の
処理を示した図である。
【図14】ソフトウエアで実現する場合の割り込みに対
する処理を示した図である。
【図15】ソフトウエアで実現する場合の甲版出力の処
理を示した図である。
【符号の説明】
1…フェールセーフコントローラ、2…制御信号、3…
状態信号、10…制御演算部、11…出力部、12…演
算結果、13…制御周期開始トリガ、110…タイマ、
111…交番信号出力部、112…出力監視部、114
…出力信号。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宮▲崎▼ 直人 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 藤原 道雄 茨城県ひたちなか市市毛1070番地 株式会 社日立製作所水戸工場内 Fターム(参考) 5B042 GB05 JJ13 JJ21 KK03 KK11 5H209 AA09 DD04 EE11 EE18 GG04 HH08 HH35 JJ07 JJ09

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】プログラムおよびデータを格納するメモリ
    と、 上記メモリからプログラムを読み出してこれを実行する
    プロセッサと、 上記データ処理部に接続され外部との制御信号の授受を
    行う入出力部と、 あらかじめ設定された第一の周期で上記プロセッサに対
    する割込み信号を生成するタイマとを有し、 上記メモリは第一の周期よりも長周期の第二の周期で制
    御演算を行う制御演算プログラムと、上記制御演算プロ
    グラムによる演算結果から制御信号を生成する出力プロ
    グラムとを記憶し、 上記プロセッサは、上記タイマの割込み信号に応じて上
    記出力プログラムを実行して制御信号を生成するフェー
    ルセーフコントローラ。
  2. 【請求項2】請求項1において、 上記出力プログラムは、上記制御演算プログラムによる
    演算結果が真レベルの時に、特定のパターンの信号を制
    御信号とするフェールセーフコントローラ。
  3. 【請求項3】請求項2において、 上記出力プログラムは、上記所定数の特定パターンが出
    力された後に、制御信号を所定の値に固定するフェール
    セーフコントローラ。
  4. 【請求項4】請求項1において、 上記出力プログラムは、上記演算プログラムによる演算
    結果が真レベルの時に、前の出力部の制御信号を反転さ
    せ、制御信号とするフェールセーフコントローラ。
  5. 【請求項5】請求項3において、 上記出力プログラムは上記反転回数が予め定められた回
    数以上となった時に、制御信号を所定の値に固定するフ
    ェールセーフコントローラ。
  6. 【請求項6】プログラムおよびデータを格納する複数の
    メモリと、 上記メモリからプログラムを読み出してこれを実行する
    複数のプロセッサと、それぞれの上記プロセッサと接続
    され、上記プロセッサの入出力信号を比較するバス比較
    回路と、 それぞれの上記プロセッサと接続され、外部との信号の
    受け渡しを行う複数の入出力部と、 あらかじめ設定された第一の周期でそれぞれの上記プロ
    セッサに対する割込み信号を生成する複数のタイマとを
    有し、それぞれの上記プロセッサは同期して同じプログ
    ラムを実行するフェールセーフコントローラであって、 それぞれの上記メモリは、第一の周期よりも長周期の第
    二の周期で制御演算を行う演算制御プログラムと、制御
    演算プログラムの演算結果によって制御信号を生成する
    出力プログラムとを有し、 それぞれの上記プロセッサは、上記タイマによる割り込
    みによって上記出力プログラムを実行して制御信号を出
    力するフェールセーフコントローラ。
  7. 【請求項7】請求項6において、 上記出力プログラムは、上記制御演算プログラムによる
    演算結果が真レベルの時に、特定のパターンの信号を制
    御信号とするフェールセーフコントローラ。
  8. 【請求項8】請求項7において、 上記出力プログラムは、上記所定数の特定パターンが出
    力された後に、制御信号を所定の値に固定するフェール
    セーフコントローラ。
  9. 【請求項9】請求項6において、 上記出力プログラムは、上記演算プログラムによる演算
    結果が真レベルの時に、前の出力部の制御信号を反転さ
    せ、制御信号とするフェールセーフコントローラ。
  10. 【請求項10】請求項9において、 上記出力プログラムは上記反転回数が予め定められた回
    数以上となった時に、制御信号を所定の値に固定するフ
    ェールセーフコントローラ。
  11. 【請求項11】制御対象と、 上記制御対象の状態を示す信号を入力し、この状態信号
    に基づいて上記制御対象を制御する制御信号を出力する
    コントローラとを有するフェールセーフシステムであっ
    て、 上記コントローラは、あらかじめ設定された第一の周期
    で割込み信号を出力するタイマと、第一の周期よりも長
    周期の第二の周期で制御演算を行う制御演算プログラム
    及び上記制御演算プログラムによる演算結果から制御信
    号を生成する出力プログラムとを記憶したメモリと、上
    記タイマの割込み信号に応じて上記出力プログラムを実
    行して制御信号を生成するプロセッサとを有するフェー
    ルセーフコントローラシステム。
  12. 【請求項12】制御対象と、 上記制御対象の状態を示す信号を入力し、この状態信号
    に基づいて上記制御対象を制御する制御信号を出力する
    コントローラとを有するフェールセーフシステムであっ
    て、 上記コントローラは、あらかじめ設定された第一の周期
    でそれぞれの上記プロセッサに対する割込み信号を生成
    する複数のタイマと、第一の周期よりも長周期の第二の
    周期で制御演算を行う演算制御プログラム及び制御演算
    プログラムの演算結果によって制御信号を生成する出力
    プログラムとを記憶した複数のメモリと、上記タイマに
    よる割り込みによって上記出力プログラムを実行して制
    御信号を出力する複数のプロセッサとを有するフェール
    セーフコントローラシステム。
  13. 【請求項13】制御対象の状態を入力し、この入力され
    た制御対象の状態に基づいて制御演算を実行する工程
    と、 外部からの割り込み信号に基づいて、上記制御演算の結
    果を取り込み、上記演算の結果に基づいて上記割り込み
    信号に同期した交番信号を生成する工程とを有する制御
    方法。
JP11085366A 1998-07-23 1999-03-29 フェールセーフコントローラ Pending JP2000276202A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP11085366A JP2000276202A (ja) 1999-03-29 1999-03-29 フェールセーフコントローラ
EP99929892A EP1132788B1 (en) 1998-07-23 1999-07-16 Fail-safe controller
DE69911992T DE69911992T2 (de) 1998-07-23 1999-07-16 Fehlersichere steuerung
PCT/JP1999/003871 WO2000005630A1 (fr) 1998-07-23 1999-07-16 Organe de commande a securite integree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11085366A JP2000276202A (ja) 1999-03-29 1999-03-29 フェールセーフコントローラ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005236213A Division JP2006031727A (ja) 2005-08-17 2005-08-17 フェールセーフコントローラ

Publications (1)

Publication Number Publication Date
JP2000276202A true JP2000276202A (ja) 2000-10-06

Family

ID=13856731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11085366A Pending JP2000276202A (ja) 1998-07-23 1999-03-29 フェールセーフコントローラ

Country Status (1)

Country Link
JP (1) JP2000276202A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009088880A (ja) * 2007-09-28 2009-04-23 Hitachi Ltd 広域ネットワーク通信装置の故障時通信切断回路
JP2012174221A (ja) * 2011-02-24 2012-09-10 Hitachi Ltd 制御装置、通信制御装置及び列車制御装置、並びに列車制御システム
WO2022224897A1 (ja) * 2021-04-20 2022-10-27 株式会社日立製作所 デジタル出力装置およびデジタル出力の生成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009088880A (ja) * 2007-09-28 2009-04-23 Hitachi Ltd 広域ネットワーク通信装置の故障時通信切断回路
JP2012174221A (ja) * 2011-02-24 2012-09-10 Hitachi Ltd 制御装置、通信制御装置及び列車制御装置、並びに列車制御システム
WO2022224897A1 (ja) * 2021-04-20 2022-10-27 株式会社日立製作所 デジタル出力装置およびデジタル出力の生成方法

Similar Documents

Publication Publication Date Title
CN110690894B (zh) 一种时钟失效安全保护方法及电路
JPS60263235A (ja) マイクロコンピユ−タシステム
JP2013012069A (ja) 車載電子制御装置
JP2003091329A (ja) クロック監視装置及び監視方法
JP2006031727A (ja) フェールセーフコントローラ
JP2000276202A (ja) フェールセーフコントローラ
KR102644538B1 (ko) 모터 제어를 위한 pwm 듀티의 연산 수행을 감시하는 시스템
JP3072720B2 (ja) 情報処理装置
MX2015001900A (es) Metodos y aparatos para reducir las fallas de modo comun en los sistemas de control de software relacionados con la seguridad nuclear.
JP4243742B2 (ja) フェールセーフコントローラ
JP5618687B2 (ja) 2重化演算装置
JP2010231330A (ja) マイクロコンピュータ
JP3230471B2 (ja) Pwm制御装置およびpwm制御方法
JP2013012220A (ja) 車載電子制御装置
EP1132788B1 (en) Fail-safe controller
KR100687616B1 (ko) 프로세서의 장애 감지 복구 장치 및 그 방법
JPS5983438A (ja) プログラム異常検出方式
US20190094903A1 (en) Security control and method for operating a security control
Zhang et al. Research on Safety Control System based on Heterogeneous Dual CPU
JPH09198280A (ja) システム監視用パルス生成方法および監視用パルス生成機能を備えたリアルタイム・オペレーティングシステム
JP5561329B2 (ja) 車載電子制御装置
JPS6320540A (ja) 情報処理装置
JPS60105054A (ja) マイクロコンピユ−タの暴走防止装置
JPS6320548A (ja) Cpuのス−パ−バイザ/リセツト回路
JPH02308343A (ja) マイクロプロセッサの障害検出通知方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20050621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060314