(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023178072
(43)【公開日】2023-12-14
(54)【発明の名称】制御装置、制御方法、および乗客搬送制御装置
(51)【国際特許分類】
B66B 5/12 20060101AFI20231207BHJP
B66B 5/00 20060101ALI20231207BHJP
G06F 11/07 20060101ALI20231207BHJP
【FI】
B66B5/12 B
B66B5/00 G
G06F11/07 157
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022091123
(22)【出願日】2022-06-03
(11)【特許番号】
(45)【特許公報発行日】2023-05-23
(71)【出願人】
【識別番号】000112705
【氏名又は名称】フジテック株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】角 淑和
(72)【発明者】
【氏名】岩田 英樹
【テーマコード(参考)】
3F304
5B042
【Fターム(参考)】
3F304BA14
3F304BA16
3F304CA18
3F304EA27
3F304ED18
5B042GA38
5B042JJ15
5B042JJ21
5B042JJ39
5B042KK02
(57)【要約】
【課題】ウォッチドッグタイマの機能喪失と誤検出との両方を検出する。
【解決手段】CPU(160)によって演算が行われる制御部(120)と、CPUからのクロック信号を受信する時間間隔が所定期間以上となった場合に、制御部に異常を通知するウォッチドッグタイマ(130)と、を備え、制御部は、クロック信号の定期的な送信を中止するテストモードにおいて、ウォッチドッグタイマに対してクロック信号を1回送信してからの経過時間をカウンタ変数にカウントし、カウンタ変数が所定の上限値を超過した際にウォッチドッグタイマが機能喪失したと判断し、ウォッチドッグタイマによってCPUが再起動された際のカウンタ変数が所定の下限値未満である場合にウォッチドッグタイマを誤検出したと判断する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサによって演算が行われる制御部と、
前記プロセッサからのクロック信号を受信する時間間隔が所定期間以上となった場合に、該プロセッサを再起動させるウォッチドッグタイマと、
を備え、
前記制御部は、前記クロック信号の定期的な送信を中止するテストモードにおいて、
前記ウォッチドッグタイマに対して前記クロック信号を1回テスト送信してからの経過時間を経過時間変数として記憶部に記録し、
前記経過時間変数の値が前記所定期間の上限値を超過した場合に、前記ウォッチドッグタイマの機能喪失異常を検知するとともに、
前記テスト送信の後に前記ウォッチドッグタイマによって前記プロセッサが再起動した時の、前記記憶部に記憶されている前記経過時間変数の値が前記所定期間の下限値未満である場合に、前記ウォッチドッグタイマの誤検出異常を検知することを特徴とする制御装置。
【請求項2】
前記制御部は、前記経過時間を3個以上の経過時間変数として前記記憶部に記録するとともに、所定時間間隔で順次前記経過時間変数を切り替えて記録することを特徴とする、請求項1に記載の制御装置。
【請求項3】
前記制御部は、前記プロセッサの起動がコールドスタートによって行われた場合、前記テストモードを開始することを特徴とする、請求項1または2に記載の制御装置。
【請求項4】
プロセッサによって演算が行われる制御部と、
前記プロセッサからのクロック信号を受信する時間間隔が所定期間以上となった場合に、該プロセッサを再起動させるウォッチドッグタイマと、を備えた制御装置の制御方法であって、
前記クロック信号の定期的な送信を中止するテストモードにおいて、
前記ウォッチドッグタイマに対して前記クロック信号を1回テスト送信してからの経過時間を経過時間変数として記憶部に記録する記録ステップと、
前記経過時間変数の値が前記所定期間の上限値を超過した場合に、前記ウォッチドッグタイマの機能喪失異常を検知する機能喪失異常検知ステップと、
前記テスト送信の後に前記ウォッチドッグタイマによって前記プロセッサが再起動した時の、前記記憶部に記憶されている前記経過時間変数の値が前記所定期間の下限値未満である場合に、前記ウォッチドッグタイマの誤検出異常を検知する誤検出異常検知ステップとを含むことを特徴とする制御装置の制御方法。
【請求項5】
エレベータである乗客搬送装置を制御する乗客搬送制御装置であって、
前記乗客搬送装置の動作が異常になったことを検出する異常時動作制御部を、前記乗客搬送装置の通常動作を制御する通常制御部とは独立に備え、
前記異常時動作制御部は、請求項1または2に記載の制御装置によって処理を行うことを特徴とする乗客搬送制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はウォッチドッグタイマに関する。
【背景技術】
【0002】
従来、エレベータの運行制御において、通常制御を行う通常制御装置とは別に、エレベータの運行が異常になったことを検出して運行を停止する安全装置が設けられている。この安全装置としては、例えば戸開走行保護装置や終端階強制減速装置が挙げられる。
【0003】
戸開走行保護装置は、エレベータのかごの戸が開いた状態でかごの異常な移動速度を検知した場合に、エレベータを制動する。これにより、意図せずにかごが移動することを防止できる(UCMP(Unintended Car Movement Protection))。また、終端階強制減速装置は、昇降路の終端領域で、かごの異常な移動速度を検知した場合に、エレベータを制動する。これにより、かごが昇降路の上端や下端に衝突することを防止できる(ETS(Emergency Terminal Stopping))。
【0004】
このような安全装置に用いられるCPU(Central Processing Unit)の動作が健全かどうかをチェックするために、WDT(Watch Dog Timer:ウォッチドッグタイマ)が用いられている。WDTは、CPUから定期的に送られてくるクロック信号を監視することによって、CPUの異常を検出してCPUに通知する。
【0005】
以上のように、WDTはCPUの異常を検知してCPUに通知するものであるため、WDT自身も正常に動作していることを確認することが重要である。特許文献1には、CPUに通常のプログラム処理を実行させる期間である通常期間と、CPUの通常のプログラム処理に支障を来たさない期間であるテスト期間とを有し、CPUは、テスト期間において、WDTから異常通知を出力させるべくWDTにテスト信号を出力し、WDTから異常通知が取得できない場合にWDTの異常を検出する検査装置が開示されている。この異常通知によってCPUはリセットされない。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
WDTは、CPUからのクロック信号が「所定期間」以上受信できない場合にCPUに異常が発生したと判定することになるが、この「所定期間」には下限値と上限値とが設けられている。特許文献1に開示されている検査装置では、クロック信号の受信から所定期間の上限値が経過してもWDTがCPUの異常として検出しない機能喪失の不具合を検出することは可能である。しかしながら、WDTが、クロック信号の受信から所定期間の下限値よりも短いタイミングでCPUの異常として検出してしまう誤検出の不具合を検出することはできない。
【0008】
本発明の一態様は、ウォッチドッグタイマの機能喪失と誤検出との両方を検出することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明の一態様に係る制御装置は、プロセッサによって演算が行われる制御部と、前記プロセッサからのクロック信号を受信する時間間隔が所定期間以上となった場合に、該プロセッサを再起動させるウォッチドッグタイマと、を備え、前記制御部は、前記クロック信号の定期的な送信を中止するテストモードにおいて、前記ウォッチドッグタイマに対して前記クロック信号を1回テスト送信してからの経過時間を経過時間変数として記憶部に記録し、前記経過時間変数の値が前記所定期間の上限値を超過した場合に、前記ウォッチドッグタイマの機能喪失異常を検知するとともに、前記テスト送信の後に前記ウォッチドッグタイマによって前記プロセッサが再起動した時の、前記記憶部に記憶されている前記経過時間変数の値が前記所定期間の下限値未満である場合に、前記ウォッチドッグタイマの誤検出異常を検知する。
【0010】
上記の課題を解決するために、本発明の一態様に係る制御装置の制御方法は、プロセッサによって演算が行われる制御部と、前記プロセッサからのクロック信号を受信する時間間隔が所定期間以上となった場合に、該プロセッサを再起動させるウォッチドッグタイマと、を備えた制御装置の制御方法であって、前記クロック信号の定期的な送信を中止するテストモードにおいて、前記ウォッチドッグタイマに対して前記クロック信号を1回テスト送信してからの経過時間を経過時間変数として記憶部に記録する記録ステップと、前記経過時間変数の値が前記所定期間の上限値を超過した場合に、前記ウォッチドッグタイマの機能喪失異常を検知する機能喪失異常検知ステップと、前記テスト送信の後に前記ウォッチドッグタイマによって前記プロセッサが再起動した時の、前記記憶部に記憶されている前記経過時間変数の値が前記所定期間の下限値未満である場合に、前記ウォッチドッグタイマの誤検出異常を検知する誤検出異常検知ステップとを含む。
【0011】
上記の構成によれば、テスト送信の後にウォッチドッグタイマによってプロセッサが再起動した際に、テスト送信されてからの経過時間が経過時間変数として記憶部に記憶されているので、再起動後のプロセッサは、記憶部に記憶されている前記経過時間変数の値を確認することによって、ウォッチドッグタイマの誤検出異常を検知することが可能となる。すなわち、上記の構成によれば、ウォッチドッグタイマの機能喪失と誤検出との両方を的確に検出することができる。
【0012】
また、ウォッチドッグタイマからのリセット信号でもってプロセッサがリセットされる。このため、リセット処理をテストモードと通常動作時とで同じにすることができるので、テストモードと通常動作時とを切り替えるためのプログラムを不要とすることができる。また、テストモードと通常動作時とでリセット動作が異なることによる不具合の発生を防止することができる。
【0013】
前記制御部は、前記経過時間を3個以上の経過時間変数として前記記憶部に記録するとともに、所定時間間隔で順次前記経過時間変数を切り替えて記録してもよい。
【0014】
ウォッチドッグタイマによってプロセッサが再起動した場合、前記制御部による前記経過時間変数への経過時間の書き込みにエラーが発生する可能性が考えられる。これに対して、上記の構成によれば、1つの経過時間変数への書き込みにエラーが発生した場合でも、残りの2つ以上の経過時間変数の値は温存されていることになる。ここで、残りの2つ以上の経過時間変数の値は、所定時間間隔で順次切り替えて記録された値であるため、エラーが発生している経過時間変数の値と区別することができる。すなわち、エラーが発生していない2つ以上の経過時間変数の値によって、再起動前の経過時間を制御部が認識することができる。
【0015】
前記制御部は、前記プロセッサの起動がコールドスタートによって行われた場合、前記テストモードを開始してもよい。
【0016】
上記の構成によれば、コールドスタートが行われた場合には、テストモードが実行されるので、電源の異常発生時や、通常の最初の電源投入時にウォッチドッグタイマの動作検証を確実に実行することができる。
【0017】
別の態様に係る乗客搬送制御装置は、エレベータである乗客搬送装置を制御する乗客搬送制御装置であって、前記乗客搬送装置の動作が異常になったことを検出する異常時動作制御部を、前記乗客搬送装置の通常動作を制御する通常制御部とは独立に備え、前記異常時動作制御部は、上述した態様の制御装置によって処理を行う。
【0018】
上記の構成によれば、ウォッチドッグタイマの機能喪失と誤検出との両方を的確に検出することができる制御装置によって異常時動作制御部が動作するので、安全性の高い乗客搬送制御装置を提供することができる。
【0019】
本発明の各態様に係る制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記制御装置が備える各部(ソフトウェア要素)として動作させることにより前記制御装置をコンピュータにて実現させる制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0020】
本発明の一態様によれば、ウォッチドッグタイマの機能喪失と誤検出との両方を検出することができる。
【図面の簡単な説明】
【0021】
【
図1】エレベータ制御システムの要部の構成を示すブロック図である。
【
図2】乗客搬送制御装置におけるリセット処理の概要を示す図である。
【
図3】異常時動作制御部の動作例を示すフローチャートである。
【
図4】3個のカウンタ変数のカウントアップの仕方を示す表である。
【
図5】4個のカウンタ変数のカウントアップの仕方を示す表である。
【
図6】4個のカウンタ変数の別のカウントアップの仕方を示す表である。
【発明を実施するための形態】
【0022】
〔実施形態1〕
以下、本発明の一実施形態について、詳細に説明する。
【0023】
(エレベータ制御システム1の構成)
図1は、エレベータ制御システム1の要部の構成を示すブロック図である。エレベータ制御システム1は、乗客搬送制御装置10と、乗りかご2と、エレベータ駆動部3と、複数の乗場呼び装置4と、駆動電源31と、第1遮断回路32と、第2遮断回路33と、を備える。
【0024】
乗りかご2は、乗客が乗るかごである。当該乗りかご2が上下動することによって、乗場呼びが行われた階床から行先階として登録された階床に乗りかご2が動作して、乗客を異なる階床に搬送することができる。
【0025】
乗りかご2にはかご操作盤210が設けられている。かご操作盤210には、当該乗りかご2の行先階の設定、乗りかご2の戸の開閉、および緊急連絡などを行うための複数の押しボタンスイッチが設けられている。
【0026】
エレベータ駆動部3は、乗りかご2を駆動する装置である。エレベータ駆動部3は、第1遮断回路32および第2遮断回路33を介して、駆動電源31から供給される電力で動作する。エレベータ駆動部3としては、乗りかご2を上下動させるワイヤーを巻き上げまたは巻き下ろすモータと、乗りかご2の上下動を制動するブレーキとを備えている。
【0027】
駆動電源31は、エレベータ駆動部3に電力を供給する電源である。第1遮断回路32および第2遮断回路33は、外部の指令に基づき、回路を閉路する直列に接続された遮断器であり、動作指令がない場合は開路している。そのため、外部の指令が無いときは、開路しており、エレベータ駆動部3が動作できないため、安全が担保される。
【0028】
ブレーキとしては安全を考慮して、電源が供給されていない状態では制動が行われ、電源供給された状態で制動を開放するブレーキを用いる。つまり、停電などによって電源が遮断された場合は、自動的に乗りかご内の上下動が停止されることになり、乗りかご2の落下や危険な上下動を防ぐことができる。
【0029】
乗場呼び装置4は、各階床に設けられた操作部であり、乗りかご2を呼ぶ機能が備わっている。乗場呼び装置4には、上方に向かうのか、下方に向かうのかを指定する押しボタンスイッチが設けられており、行先階が上方なのか、下方なのかを指定することができる。
【0030】
乗客搬送制御装置10は、エレベ-タ制御システム1の各部を統括して制御する制御装置である。
【0031】
(乗客搬送制御装置10の構成)
乗客搬送制御装置10は、制御電源(共通)11と、通常制御部12と、異常時動作制御部(制御装置)100とを備える。
【0032】
制御電源(共通)11は、乗客搬送制御装置10の各部に電力を供給する。
【0033】
通常制御部12は、乗客が操作する乗場呼び装置4およびかご操作盤210の操作に従って、エレベータ駆動部3を操作し、乗りかご2を上下動させる。すなわち、乗客の操作に従って、乗りかご2を乗場呼びが行われた階床から行先階として登録された階床に移動させる制御を行う。
【0034】
異常時動作制御部100は、エレベータ制御システム1において異常が発生していないかを監視し、異常が発生した際には、乗客の安全を確保するためのエレベータ駆動停止制御を行う。
【0035】
(異常時動作制御部100の構成)
異常時動作制御部100は、記憶部110と、制御部120と、ウォッチドッグタイマ(以降、WDTと省略)130と、電源監視回路140と、制御電源(個別)150と、を備える。また、
図2は、異常時動作制御部100のハードウェア構成を示すブロック図である。
【0036】
制御電源(個別)150は、制御電源(共通)11から供給された電力に基づいて、電圧を降下させて異常時動作制御部100の各部に電力供給する電源である。
【0037】
記憶部110は、異常時動作制御部100で用いる各種変数、パラメータ、およびプログラムを記憶している。記憶部110は、プログラム処理の一時記憶を担う揮発性メモリ111と、パラメータまたは記録を残したいデータを格納する第1不揮発性メモリと、プログラムを格納する第2不揮発性メモリと、に大別される。第1不揮発性メモリおよび第2不揮発性メモリは同一の不揮発性メモリ112を用いてもよい。以降は、同一の不揮発性メモリ112を用いているものとして記載する。
【0038】
制御部120は、エレベータ制御システム1の安全を担保する制御部であり、専用のCPU160が各種プログラムを実行することによって実現される。CPU160は、クロック信号をWDT130に出力する。また、CPU160は、WDT130または電源監視回路140が出力するリセット信号によって再起動する。制御部120に関する詳細は後述する。CPU160は、制御電源(個別)150からの電力供給によって動作する。
【0039】
WDT130は、CPU160から入力されるクロック信号を監視し、CPU160に対してリセット信号を出力する。具体的には、クロック信号が所定期間以上出力されない場合に、WDT130は、CPU160に対してリセット信号を出力する。つまり、WDT130は、CPU160が正常にクロック信号を出力しているかを確認することにより、CPU160が正常動作をしているか否かを監視している。
【0040】
電源監視回路140は、制御電源(個別)150の出力電圧が第1所定電圧を下回った場合に、制御部120に対してリセット信号を出力する。また、CPU160は、制御電源(共通)11の出力電圧を監視し、記憶部110の不揮発性メモリにおける電圧低下フラグを定期的に更新する。電圧低下フラグは、電圧が第2所定電圧より低くなった際にオンになり、第2所定電圧以上の場合はオフになる。なお、CPU160は、制御電源(共通)11の出力電圧を分圧回路によって降圧した電圧(CPU160で扱うことができる電圧)に基づいて認識すればよい。
【0041】
制御電源(共通)11の出力電圧が低下した場合、まず電圧低下フラグがオンになり、その所定時間後にリセット信号が出力されるように、第1所定電圧および第2所定電圧が設定されている。これにより、電圧低下フラグが確実にオンになった状態でリセット信号による再起動が実行される。
【0042】
(制御部120の構成)
制御部120は、WDT管理部121と、戸開走行保護制御部122と、終端階強制減速制御部123と、を備える。
【0043】
戸開走行保護制御部122は、エレベータの乗りかご2の戸が開いた状態で乗りかご2の異常な移動速度を検知した場合に、第2遮断回路33によってエレベータ駆動部3への電力を遮断する。つまり、乗客が乗り降りしている可能性がある際に、乗りかご2が上下動せず安全に乗り降りできるようにエレベータ駆動部3を制御している。
【0044】
終端階強制減速制御部123は、エレベータの最上階または最下階の近傍において、乗りかご2の異常な移動速度を検知した場合に、第2遮断回路33によってエレベータ駆動部3への電力を遮断し、強制的にブレーキを作動させ減速する。つまり、乗りかご2が上下動できる乗りかご2の昇降路の上端または下端に衝突することを防止できる。
【0045】
なお、通常制御部12が異常を検知する場合もあり、この場合には第1遮断回路32によってエレベータ駆動部3への電力が遮断される。すなわち、通常制御部12および異常時動作制御部100の少なくともどちらか一方が異常を検知した場合に、エレベータ駆動部3への電力が遮断される。
【0046】
WDT管理部121は、WDT130が正常に機能しているか否かを管理する。つまり、CPU160の異常を検出するWDT130自身も正常に動作していることを確認することが重要であり、この確認をWDT管理部121が行う。
【0047】
WDT管理部121は、テストモード処理部124と、時間記録制御部125と、異常検知部126と、を備える。
【0048】
テストモード処理部124は、WDT130のテストモードを処理する機能ブロックである。テストモード処理部124は、WDT130に対し、通常の定期的なクロック信号の送信を停止するとともに、クロック信号を1度送信(テスト送信)する。
【0049】
時間記録制御部125は、テストモード処理部124がWDT130に対してクロック信号を送信してからの時間を少なくとも3個のカウンタ変数でもってカウントする。カウンタ変数のカウント方法の詳細は後述する。
【0050】
異常検知部126は、テストモードにおいて、WDT130からリセット信号が出力されることなく、カウンタ変数の値が所定期間の上限値を超過した場合に、WDT130に異常が発生していると判定する。また、異常検知部126は、テストモード実行中にWDT130からリセット信号が出力され、制御部120が再起動した場合に、再起動後にカウンタ変数の値が所定期間の下限値未満である場合に、WDT130に異常が発生していると判定する。
【0051】
(コールドスタートおよびホットスタート)
ここで、本明細書におけるコールドスタートおよびホットスタートという用語の定義を説明する。
【0052】
コールドスタートは、CPU160に対する制御電源(個別)150からの電力供給が行われていない状態から、CPU160が起動することである。そのため、コールドスタートでは、記憶部110およびCPU160の初期化作業が行われ、かつハードウェアの不具合の有無が確認される。コールドスタートは、電圧低下フラグがオンの状況において、リセット信号が出力から非出力に変化した際に、開始される。つまり、コールドスタートは、乗客搬送制御装置10の通常の電源投入時や、電源監視回路140による制御電源(個別)150の異常(停電やバックアップ電池の電圧降下など)を検出した場合に実行され、これらは上述した同じ条件で発生する。本実施形態では、WDT130の不具合の有無を確認する処理が、コールドスタートにおいて行われる。
【0053】
対して、ホットスタートは、CPU160に対する制御電源(個別)150からの電力供給が行われている状態で、ソフトウェア処理だけをリセットする形式の再起動である。ホットスタートは、電圧低下フラグがオフの状況において、リセット信号が出力から非出力に変化した際に、開始される。
【0054】
なお、リセット信号が出力である間、CPU160は動作を停止する。
【0055】
本明細書では、CPU160は、制御電源(共通)11の電圧を監視し、電圧低下を検出することで記憶部110の不揮発性メモリ112に電圧低下フラグをセットする。CPU160は、リセット信号が入力されて再起動した場合に、電圧低下フラグがセットされている際(オンの場合)に、コールドスタートを行い、電圧低下フラグがクリアされている際(オフの場合)に、ホットスタートを行う。つまり、電源監視回路140によるリセット信号ではコールドスタートを行い、WDT130によるリセット信号ではホットスタートを行う。
【0056】
(制御部120の動作)
図3は、制御部120の動作例を示すフローチャートである。なお、CPU160は前述のように、制御電源(共通)11の出力電圧を監視して電圧低下フラグを定期的に更新している。
【0057】
制御部120が起動すると、まずS10において、エレベータ駆動部3のモータおよびブレーキへの給電を不可とする(S10)。これにより、安全が確認できるまで乗りかご2の運転は停止される。
【0058】
制御部120は、CPU160の起動時に不揮発性メモリ112を確認し、電圧低下フラグがオンか否かを確認する(S11)。つまり、S11では、CPU160の起動がコールドスタートなのか(S11でYes)、ホットスタート(S11でNo)なのかが判定されている。
【0059】
コールドスタートしていた場合(S11でYes)、制御部120は、異常時動作制御部(制御装置)100の初期化処理を行う(S12)。
【0060】
また、テストモード処理部124は、記憶部110の揮発性メモリ111における3個のカウンタ変数に初期値を記録し、WDT130にクロック信号を1度送信する(S13)。ここで、カウンタ変数(経過時間変数)は、記憶部110の揮発性メモリ111に記憶されるデータである。カウンタ変数の詳細に関しては後述する。
【0061】
時間記録制御部125は、所定時間間隔で更新するタイマー値でもって各カウンタ変数を順番に更新する(S14)。その後、異常検知部126は、カウンタ値(各カウンタ変数の値の最大値)が、所定の上限値を超過していないかを判断する(S15)。異常検知部126は、カウンタ値が、所定の上限値を超過していない場合(S15においてNo)、S14に戻りカウントアップを継続する。
【0062】
対して、異常検知部126は、カウンタ値が、所定の上限値を超過していた場合(S15においてYes)、WDT130がCPU160の監視機能を喪失している状態(WDT機能喪失)であると判断する(S16)。これは、WDT130が正常に動作していた場合、カウンタ変数が所定の上限値までカウントアップする前に、WDT130は制御部120に対してリセット信号を出力しているはずである。それにも関わらず、所定の上限値までカウントアップしたことから、異常検知部126は、WDT130が機能を喪失していると判断している。これは、例えば、(1)WDT130の判断処理が異常となっている、(2)制御部120とWDT130との間の接続状態や、WDT130の出力回路で何等かの異常が発生しており、CPU160へのリセット信号をWDT130が正常に出力できなくなっている、などの原因が考えられる。
【0063】
一方、ホットスタートしていた場合(S11でNo)、テストモード処理部124は、カウンタ変数がリセット値かどうかを判断する(S17)。カウンタ変数がリセット値であった場合(S17においてYes)、テストモード中ではなく、戸開走行保護制御部122または終端階強制減速制御部123の稼働中にホットスタートが行われたことになるので、安全を確保するために、エレベータ駆動部3のモータおよびブレーキへの給電を許可することなく処理を終了する。
【0064】
対して、カウンタ変数がリセット値ではなかった場合(S17においてNo)は、S15においてNoと判断されてループしている期間にリセット信号が入力されることによって推移したものである。この場合異常検知部126は、異常検知部126は、カウンタ変数を参照することで、カウンタ変数に異常な値がないかを調べる(詳細は後述)。異常な値があった場合に、異常検知部126は正常な現在のカウンタ値を所定のプロセス(詳細は後述)によって認識する(S18)。異常な値がなかった場合は、現在のカウンタ値は各カウンタ変数の値の中の最大の値である。
【0065】
異常検知部126は、現在のカウンタ値が所定の下限値未満かを判断する(S19)。カウンタ変数が所定の下限値未満の場合(S19においてYes)、異常検知部126はWDT130が誤検出をしている状態(WDT誤検出状態)であると判断する(S20)。
【0066】
WDT130が所定のタイミングよりも早くリセット信号を出力したと判断され、CPU160が正常であるにもかかわらず、WDT130が過剰にCPU160の異常を検知する、という誤検出が発生しているものと考えられる。よって、異常検知部126は、S19の判断によりWDT誤検出状態であると判断している。これは、例えば、(1)WDT130の判断処理が異常となっている、(2)制御部120とWDT130との間の接続状態またはWDT130の入力回路において何等かの異常が発生しており、CPU160からのクロック信号をWDT130が正常に受信できなくなっている、などの原因が考えられる。
【0067】
異常検知部126は、WDT機能喪失またはWDT誤検出状態と判断した場合、カウンタ変数にリセット値を記録する(S21)。その後、乗りかご2内の表示装置や乗場における表示装置に、異常事態が発生したため動作を停止している旨の通知表示が行われるように、異常時動作制御部100が制御を行ってもよい。また、異常時動作制御部100が、異常検知時にその旨をエレベータ管理会社に自動的に通知する機能を有していても良い。
【0068】
一方、カウンタ変数が所定の下限値未満ではない場合(S19においてNo)、異常検知部126は、正常にCPU160のリセット動作が行われたと判断し、WDT130の機能が正常である(WDT正常)と判断する(S23)。
【0069】
異常検知部126は、WDT正常と判断した場合、カウンタ変数にリセット値を記録する(S24)。その後、WDT管理部121は、エレベータ駆動部3のモータおよびブレーキへの給電を可とする(S25)。そのため、通常制御部12がエレベータ駆動部3への給電を可としていた場合、乗りかご2は通常動作することができる。
【0070】
以後、制御部120は、戸開走行保護制御部122、終端階強制減速制御部123を稼働させる(S26)。そして、クロック信号が所定期間以上出力されない場合にWDT130がリセット信号を出力することのないように、CPU160はクロック信号を出力する。なお、この間も制御部120およびWDT130は動作を続け、乗りかご2の運行中にエレベータ駆動部3を安全停止させること、または制御部120を再起動させることもある。
【0071】
つまり、異常時動作制御部は次の4通りの処理を行っている。
【0072】
(1)コールドスタートで機能喪失の判断(S11でYESの場合の処理)
(2)ホットスタートで誤検出状態の判断(S11でNO、S17でNO、S19でYESの場合の処理)
(3)ホットスタートで正常の判断(S11でNO、S17でNO、S19でNOの場合の処理)
(4)戸開走行保護制御部122、終端階強制減速制御部123の稼働中にホットスタート(S11でNO、S17でYESの場合の処理)
ここで、S15においてNoと判断されてループしている期間((1)のコールドスタートした場合)に、リセット信号が入力されることによって、(2)(3)の処理に推移する。また、S26において通常動作を行っている期間((3)のホットスタートで正常な場合)に、リセット信号が入力されることによって、(4)の処理に推移する。
【0073】
(カウンタ変数のカウントアップ)
図4は、揮発性メモリ111における3個のカウンタ変数のカウントアップの仕方を示す表である。
【0074】
時間記録制御部125は、所定時間間隔(「1ms」)でカウンタ変数を順番に更新していく。この更新に用いるカウントの増分は「1」である。
【0075】
S13においてカウンタ変数に初期値を記録する際に、0msにおいて、第1カウンタ変数(CNT1)に-2を、第2カウンタ変数(CNT2)に-1を、第3カウンタ変数(CNT3)に0を、代入する。
【0076】
S21およびS24のリセット値は、例えば、第1カウンタ変数、第2カウンタ変数、および第3カウンタ変数全てを0とする。なお、リセット値はカウント中の発生値または初期値とは異なる値であれば、任意の値でよい。
【0077】
その後、時間記録制御部125は、第1カウンタ変数、第2カウンタ変数、第3カウンタ変数の順番でその時のタイマー値でもってカウンタ変数を更新していく。第3カウンタ変数の次は第1カウンタ変数に戻り、カウントアップを続けていく。
【0078】
つまり、1msにおいては第1カウンタ変数を「1」にし、2msにおいては第2カウンタ変数を「2」にし、3msにおいては第3カウンタ変数を「3」にし、4msにおいては第1カウンタ変数を「4」にする。対象のカウンタ変数を除いた他のカウンタ変数は変化させない。このように、順番にカウンタ変数が更新されていく。
【0079】
ここで、カウントアップの途中でWDT130からリセット信号がCPU160に入力されることがある。この際、そのタイミングでカウントアップするはずだったカウンタ変数に間違った値で書き込まれていることがある。
【0080】
例えば、
図4における例では、7msにおいて、第1カウンタ変数に「7」が書き込まれるはずだったところ、このタイミングでリセット信号が入力されたために、第1カウンタ変数が「26」という間違った値で書き込まれている。
【0081】
(適切なカウンタ値の特定)
ここで、当該リセット信号でもって制御部120はホットスタートするが、ホットスタートした際にはS18において、上述した例のような間違った値が書き込まれていないかを判断し、適切なカウンタ値を特定する必要がある。
【0082】
3個のカウンタ変数は順番に更新しているため、それぞれのカウンタ値には所定の対応関係がある。具体的には、(a)第2カウンタ変数は第1カウンタ変数よりも増分だけ大きい。(b)第3カウンタ変数は第2カウンタ変数よりも増分だけ大きい。(c)第1カウンタ変数は第3カウンタ変数よりも増分だけ大きい。(a)~(c)の対応関係のうち、1個が成り立たない場合(2個が同時に成り立つ場合)が正常である。異常検知部126は、この対応関係のうち1個のみだけ成り立つ場合(他2個は対応関係が成り立たない場合)、いずれかのカウンタ変数に間違った値が書き込まれたと判断する。
【0083】
この対応関係を上述した例の7msにおいて確認する。第2カウンタ変数は第1カウンタ変数よりも増分だけ大きくない。第3カウンタ変数は第2カウンタ変数よりも増分だけ大きい。第1カウンタ変数は第3カウンタ変数よりも増分だけ大きくない。以上の3個の対応関係から、第3カウンタ変数の更新までは正常に処理が進んでいたことがわかる。したがって、異常検知部126は、現在のカウンタ値を正常に処理が進んでいた直近のタイミングのカウンタ値である「6」と特定する。
【0084】
また、直近のタイミングのカウンタ値である「6」ではなく、本来正常に処理が進んでいた場合に書き込まれたであろうカウンタ値である「7」と特定してもよい。
【0085】
S18以降の処理では、この特定したカウンタ値でもって判断を行う。そのため、ホットスタートなどによって、カウンタ変数のいずれか1個に異常な値が書き込まれた場合であっても、少なくとも2個の連続したカウンタ変数が正常な場合、異常が発生したカウンタ値を特定することができる。
【0086】
(小括)
したがって、カウンタ値が所定の上限値を超過した場合にWDT130の機能喪失と判断することができ、また、カウンタ値が所定の下限値未満である場合にWDT130の誤検出と判断することができる。すなわち、WDT130の機能喪失と誤検出との両方を的確に検出することができる。
【0087】
また、WDT130によるリセット信号のタイミングによっては、カウンタ変数の更新において、異常なカウンタ値へと書き込まれてしまうことがある。このような際でも、直近で正常であったカウンタ値、または正常な場合でのカウンタ値を特定することができ、リセット前またはリセット時のカウンタ値をWDT管理部121が認識することができる。
【0088】
さらに、テストモードによってWDT130の状態の診断に加え、制御部120とWDT130との間の接続状態と、WDT130の入力回路の状態と、WDT130の出力回路の状態と、をも合わせて診断することができる。
【0089】
上記の構成によれば、テストモードにおいては経過時間変数の値は所定の初期値またはテストモードの実際の経過時間となる一方、テストモードが終了すると、経過時間変数の値は、カウント中の発生値または初期値とは異なるリセット値となる。よって、CPU160の再起動が行われた場合に、テストモード中に実行された再起動であるのか、テストモードではない通常動作時の再起動であるのかを、経過時間変数を確認することによって制御部120は把握することができる。
【0090】
なお、前記した特許文献1では、テストモードにおいては、WDTからCPUに異常通知が行われても、CPUをリセットしない制御が行われている。すなわち、テストモードと通常動作時とで、WDTから異常通知が行われた場合の処理が異なることになり、それに対応できるようなプログラムを組んでおく必要がある。また、テストモードと通常動作時とでリセット動作が異なる場合、テストモードでは問題がなかったが通常動作時では適切なリセット動作ができないというような不具合が発生する虞もある。
【0091】
一方、本実施形態における制御部120によれば、テストモード中であっても、WDT130からのリセット信号でもって制御部120が再起動される。このため、リセット処理をテストモードと通常動作時とで同じにすることができるので、テストモードと通常動作時とを切り替えるためのプログラムを不要とすることができる。また、テストモードと通常動作時とでリセット動作が異なることによる不具合の発生を防止することができる。
【0092】
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部位と同じ機能を有する部位については、同じ符号を付記し、その説明を繰り返さない。
【0093】
(カウンタ変数が4個の場合)
記憶部110のカウンタ変数を4個設けても良い。
図5は、4個のカウンタ変数のカウントアップの仕方を示す表である。
【0094】
カウンタ変数に初期値を記録する際に、0msにおいて、第1カウンタ変数(CNT1)に-3を、第2カウンタ変数(CNT2)に-2を、第3カウンタ変数(CNT3)に-1を、第4カウンタ変数(CNT4)に0を代入する。
【0095】
その後、時間記録制御部125は、第1カウンタ変数、第2カウンタ変数、第3カウンタ変数、第4カウンタ変数の順番でその時のタイマー値でもってカウンタ変数を更新していく。第4カウンタ変数の次は第1カウンタ変数に戻り、カウントアップを続けていく。
【0096】
つまり、1msにおいては第1カウンタ変数を「1」にし、2msにおいては第2カウンタ変数を「2」にし、3msにおいては第3カウンタ変数を「3」にし、4msにおいては第4カウンタ変数を「4」にし、5msにおいては第1カウンタ変数を「5」にする。このように、順番にカウンタ変数が更新されていく。
【0097】
また、4個のカウンタ変数は順番に更新されているため、それぞれのカウンタ変数には所定の対応関係がある。具体的には、(d)第2カウンタ変数は第1カウンタ変数よりも増分だけ大きい。(e)第3カウンタ変数は第2カウンタ変数よりも増分だけ大きい。(f)第4カウンタ変数は第3カウンタ変数よりも増分だけ大きい。(g)第1カウンタ変数は第4カウンタ変数よりも増分だけ大きい。この(d)~(g)の対応関係を、異常検知部126は確認し、カウンタ値の異常を判別する。判断の方法は上述した方法と同様であり、4個の対応関係のうち、3個が成り立つ場合に正常と判断する。
【0098】
このように、カウンタ変数の個数は3個に限定されず、少なくとも3個以上、例えば4個であっても構わない。カウンタ変数の数が4個である場合は、カウンタ変数が3個である場合よりも信頼性を高めることができる。つまり、カウンタ変数の個数が3個の場合には、2個のカウンタ変数の値が所定の関係にある場合に、それらの値は適切な書き込みが行われた値であると判定するが、異常な書き込みが行われた場合でも偶然に所定の関係を満たす可能性があり、カウンタ値の認識を誤る可能性がある。これに対して、カウンタ変数の個数が4個の場合には、3個のカウンタ変数の値が所定の関係にある場合に、それらの値は適切な書き込みが行われた値であると判定することになるので、上記の判定誤りの可能性を大幅に低減することができる。ただし、カウンタ変数の個数は少ない方が、必要とされるメモリ容量を少なくすることができるので、信頼性とメモリ容量とのトレードオフの関係を考慮して、状況に応じた異常時動作制御部100の設計が行われることが好ましい。
【0099】
図6は、4個のカウンタ変数の別のカウントアップの仕方を示す表である。
図6では、
図5に対して、各カウンタ変数の初期値が異なっている。また、更新周期(所定の時間間隔)が1msではなく、2msになり、増分が1ではなく2になっている。このようにカウンタ変数のカウントアップの仕方は種々の変更を行うことができる。
【0100】
〔変形例〕
(カウンタ変数の記憶形態)
実施形態1および2では、カウンタ変数を揮発性メモリに記憶したが、不揮発性メモリに記憶しても構わない。
【0101】
(ホットスタートにおけるテストモード)
実施形態1および2では、コールドスタートにおいてテストモードが開始(WDT130に対して制御部120がクロックを1度送信する)されたが、これに限定されない。例えば、ホットスタートした場合であっても、テストモードが開始されてもよい。
【0102】
(スケジュールによるホットスタート)
通常制御部12におけるスケジュール機能によって、テストモードを強制的に実施してもよい。例えば、異常時動作制御部100は、WDT130を一日に一度リセットする。これにより、テストモードが定期的に実行されることになるので、異常時動作制御部100の信頼性を高めることができる。また、ユーザが、例えば点検時などにエレベータの通常稼働が行われていない状態で、手動でテストモードを実行することが可能になっていてもよい。
【0103】
(不揮発性メモリ112のデータ)
記憶部110の不揮発性メモリ112に、カウンタ変数の更新周期、カウンタ変数に対する増分の値、およびカウンタ変数の上限値・下限値をパラメータとして記憶してもよい。また、これらパラメータの決定は、制御部120で用いるCPUの仕様によって定まるカウンタ変数のカウント上限値と、WDT130で監視すべき所定期間との関係で定まる。
【0104】
(乗客コンベアに対する適用)
実施形態1および2におけるエレベータ制御システム1は、乗りかご2を上下動させるエレベータを制御対象とした。しかしながら、異常時動作制御部100は、エレベータの制御に限定されない。具体的には、異常時動作制御部100は、エスカレーターまたは動く歩道などの乗客コンベアを制御対象にしてもよい。これらの場合でも、テストモードにおいて、WDT130の機能喪失および誤検出を検出した場合に、乗客コンベアのモータおよびブレーキの制御を行うことによって、安全停止動作を実現することができる。
【0105】
〔ソフトウェアによる実現例〕
異常時動作制御部100(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロック(特に制御部120に含まれる各部)としてコンピュータを機能させるためのプログラムにより実現することができる。
【0106】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0107】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0108】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0109】
また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
【0110】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0111】
1 エレベータ制御システム
2 乗りかご
3 エレベータ駆動部
4 乗場呼び装置
10 乗客搬送制御装置
11 制御電源(共通)
12 通常制御部
31 駆動電源
32 第1遮断回路
33 第2遮断回路
100 異常時動作制御部(制御装置)
110 記憶部
111 揮発性メモリ
112 不揮発性メモリ
120 制御部
121 WDT管理部
122 戸開走行保護制御部
123 終端階強制減速制御部
124 テストモード処理部
125 時間記録制御部
126 異常検知部
130 ウォッチドッグタイマ(WDT)
140 電源監視回路
150 制御電源(個別)
160 CPU
210 かご操作盤