(57)【要約】【課題】エレベーターの制御に用いるコンピュータのＣＰＵのデータ信号端子に係る故障について、迅速かつ確実な検出を図るエレベーターの診断装置を提供する。【解決手段】エレベーターの診断装置において、互いに区別可能な第１のデータから第ｎのデータまでのｎ種類の排他的データを、定時間毎に順次かつ循環的に１種類ずつＣＰＵデータ信号端子１１から出力するＣＰＵ１０と、ＣＰＵデータ信号端子１１から出力されたデータが入力可能、かつ、高低２レベルの診断用信号を出力可能なＣＰＬＤ７０と、を備える。ＣＰＬＤ７０は、前記排他的データが第１のデータから順に第ｎのデータが入力された場合に診断用信号のレベルを反転させ、ＣＰＵ１０は、ＣＰＬＤ７０から出力される診断用信号のレベルが反転した回数を計数し、当該計数値に基づいてＣＰＵデータ信号端子１１の異常を診断する。【選択図】図２
2016013903.tif 000002
【特許請求の範囲】
【請求項１】
エレベーターの制御に係る演算処理を実行するために設けられ、データを入出力するためのデータ信号端子を有し、ｎを２以上の整数として互いに区別可能な第１のデータから第ｎのデータまでのｎ種類の排他的データを、予め定められた一定時間毎に順次かつ循環的に１種類ずつ前記データ信号端子から出力する中央処理装置と、
前記データ信号端子から出力されたデータが入力可能に設けられ、高低２レベルの診断用信号を出力可能な診断用装置と、を備え、
前記診断用装置は、前記排他的データが前記第１のデータから順に前記第ｎのデータが入力された場合に、前記診断用信号のレベルを現在出力中のものから反転させて出力し、
前記中央処理装置は、前記診断用装置から出力される前記診断用信号のレベルが反転した回数を計数し、当該計数値に基づいて前記データ信号端子の異常を診断するエレベーターの診断装置。
【請求項２】
前記ｎは２であり、
前記診断用装置は、第２のデータが入力された後に前記第１のデータが入力された場合にも、前記診断用信号のレベルを現在出力中のものから反転させて出力する請求項１に記載のエレベーターの診断装置。
【請求項３】
ｍを２から前記ｎまでの整数として、第ｍのデータは、第（ｍ−１）のデータを１ビットシフトして得られるデータとする請求項１に記載のエレベーターの診断装置。
【請求項４】
前記一定時間は、前記中央処理装置のクロック周期である請求項１から請求項３のいずれか一項に記載のエレベーターの診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、エレベーターの診断装置に関するものである。
【背景技術】
【０００２】
近年におけるエレベーターは、コンピュータ制御されることが一般的である。このようなエレベーターの制御に用いるものも含むコンピュータにおいて、ＣＰＵと共通バスを介して接続される複数の入出力インターフェイス（モジュール）のうち、どのモジュールが故障しているのかを特定するため、順次にモジュールを共通バスから切り離して不良モジュールがどれなのかを判定する方式が従来において知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６０−１３８６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この特許文献１に示された従来技術においては、順次にモジュールを共通バスから切り離していき、その都度、最初に起動時エラーが出たモジュールをＣＰＵから起動することができるか否かを確認することで、不良モジュールがどれなのかを判定する。
【０００５】
しかしながら、ＣＰＵ内のデータバスの故障、例えば、ＣＰＵのデータ信号端子の短絡あるいはオープン故障等が発生している場合、最初に起動時エラーが出たモジュール以外の全てのモジュールを共通バスから切り離しても、最初に起動時エラーが出たモジュールをＣＰＵから起動することができない。そして、このような場合には、特許文献１に記載されたものでは最初に起動時エラーが出たモジュールの故障であると誤判定してしまう。
【０００６】
また、他の方法により最初に起動時エラーが出たモジュールの故障でないことが判明したとしても、ＣＰＵ内のデータバスの故障を判定するためには、共通バスに接続されている全モジュールについて判定を行った後でなければならず、ＣＰＵ内のデータバスの故障の検出までに、多くの時間を要してしまう。
【０００７】
この発明は、このような課題を解決するためになされたもので、エレベーターの制御に用いるコンピュータのＣＰＵのデータ信号端子に係る故障について、迅速に検出することができ、検出漏れの発生を抑制することができるエレベーターの診断装置を得るものである。
【課題を解決するための手段】
【０００８】
この発明に係るエレベーターの診断装置においては、エレベーターの制御に係る演算処理を実行するために設けられ、データを入出力するためのデータ信号端子を有し、ｎを２以上の整数として互いに区別可能な第１のデータから第ｎのデータまでのｎ種類の排他的データを、予め定められた一定時間毎に順次かつ循環的に１種類ずつ前記データ信号端子から出力する中央処理装置と、前記データ信号端子から出力されたデータが入力可能に設けられ、高低２レベルの診断用信号を出力可能な診断用装置と、を備え、前記診断用装置は、前記排他的データが前記第１のデータから順に前記第ｎのデータまで入力された場合に、前記診断用信号のレベルを現在出力中のものから反転させて出力し、前記中央処理装置は、前記診断用装置から出力される前記診断用信号のレベルが反転した回数を計数し、当該計数値に基づいて前記データ信号端子の異常を診断する構成とする。
【発明の効果】
【０００９】
この発明に係るエレベーターの診断装置においては、エレベーターの制御に用いるコンピュータのＣＰＵのデータ信号端子に係る故障について、迅速に検出することができ、検出漏れの発生を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１に係るエレベーターの診断装置のハードウエア構成を説明するためのブロック図である。
【図２】図１の要部を詳細に示す図である。
【図３】この発明の実施の形態１に係るエレベーターの診断装置の動作を示すフロー図である。
【発明を実施するための形態】
【００１１】
この発明を添付の図面に従い説明する。各図を通じて同符号は同一部分又は相当部分を示しており、その重複説明は適宜に簡略化又は省略する。
【００１２】
実施の形態１．
図１から図３は、この発明の実施の形態１に係るもので、図１はエレベーターの診断装置のハードウエア構成を説明するためのブロック図、図２は図１の要部を詳細に示す図、図３はエレベーターの診断装置の動作を示すフロー図である。
【００１３】
図１に示すＣＰＵ１０は、エレベーターの制御に係る演算処理を実行するために設けられた中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。ＣＰＵ１０は、与えられた命令（命令の集合であるプログラムを含む）を実行して情報の演算又は加工を行う。ＣＰＵ１０は、データバス２０（共通バス）に接続されている。
【００１４】
データバス２０には、ＲＯＭ３０及びＲＡＭ４０が接続されている。ＲＯＭ３０は、データ又はプログラムを不揮発的に格納する読み出し専用メモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。ＲＡＭ４０は、データ又はプログラムを揮発的すなわち一時的に格納するための読み書き可能なランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１５】
また、ＣＰＵ１０は、ポートパス５０にも接続されている。ＣＰＵ１０は、ポートパス５０を介して外部とＩ／Ｏ信号６０をやり取りすることができる。すなわち、Ｉ／Ｏ信号６０は、ＣＰＵ１０と外との間で入出力（Ｉ／Ｏ：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）される各種の信号を表している。
【００１６】
ＲＯＭ３０には、以上のように構成されたハードウエアであるコンピュータをエレベーターの制御装置として動作させるためのプログラムが予め格納されている。そして、ＣＰＵ１０は、まず、ＲＯＭ３０又はＣＰＵ１０に内蔵されたＲＯＭ（図示せず）からプログラムを読み出してＲＡＭ４０に実行可能な形式でプログラムを格納する。そして、ＣＰＵ１０は、このＲＡＭ４０に格納されたプログラムを読み出しながら実行する。この際におけるＣＰＵ１０とＲＯＭ３０及びＲＡＭ４０との間でのデータのやり取りは、データバス２０を介して行われる。
【００１７】
このようにして、ソフトウエアたるプログラムがコンピュータで実行されることにより、ソフトウエアとハードウエア資源とが協働した具体的手段によって、情報の演算又は加工を実現することで、エレベーター制御に必要な各種の機能を備えたエレベーターの制御装置が構築される。なお、図１においては、アドレスバス、コントロールバス及びエレベーターの各機器等との接続については図示を省略している。
【００１８】
データバス２０には、さらに、ＣＰＬＤ７０が接続されている。ＣＰＬＤとは、Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ、すなわち「内部ロジックをユーザーで自由にプログラム可能なデバイス」のことである。
【００１９】
このＣＰＬＤ７０及びＣＰＵ１０の構成について、図２を参照しながら、詳しく説明する。ＣＰＵ１０は、ＣＰＵデータ信号端子１１、ＣＰＵ書込信号端子１２、ＣＰＵチップセレクト信号端子１３及びカウンタ入力端子１４を備えている。また、ＣＰＬＤ７０は、ＣＰＬＤデータ信号端子７１、ＣＰＬＤ書込信号端子７２、ＣＰＬＤチップセレクト信号端子７３及びトグル信号出力端子７４を備えている。
【００２０】
ＣＰＵデータ信号端子１１は、データを入出力するためのものである。ＣＰＵデータ信号端子１１は、ここでは、Ｄ０からＤ１５までの１６ピンである。１つのピンで１ビットのデータを扱うことができるため、Ｄ０からＤ１５までで１６ビットのデータを扱うことができる。これらＤ０からＤ１５までのＣＰＵデータ信号端子１１のそれぞれは、データバス２０に接続されている。
【００２１】
また、ＣＰＬＤデータ信号端子７１も、ここでは、Ｄ０からＤ１５までの１６ピンである。したがって、ＣＰＬＤ７０のＣＰＬＤデータ信号端子７１もＤ０からＤ１５までで１６ビットのデータを扱うことができる。これらＤ０からＤ１５までのＣＰＬＤデータ信号端子７１のそれぞれも、データバス２０に接続されている。ＣＰＬＤ７０は、これらのＣＰＬＤデータ信号端子７１により、ＣＰＵデータ信号端子１１から出力されたデータの入力を受けることが可能である。
【００２２】
ＣＰＵ書込信号端子１２（ＷＲＬ）は制御信号端子の一種である。ＣＰＵ書込信号端子１２はデータバス２０に接続されている。また、ＣＰＬＤ書込信号端子７２（ＷＲＬ）も同じく制御信号端子の一種であり、データバス２０に接続されている。
【００２３】
ＣＰＵチップセレクト信号端子１３（ＣＳ１）は、ＣＰＬＤ７０を選択するためのチップセレクト信号を出力するための制御信号端子である。このＣＰＵチップセレクト信号端子１３は、ＣＰＬＤチップセレクト信号端子７３（ＣＳＬ）に直接的に接続されている。
【００２４】
ＣＰＵデータ信号端子１１及びＣＰＬＤデータ信号端子７１のそれぞれは、プルアップされている。また、ＣＰＵ書込信号端子１２、ＣＰＵチップセレクト信号端子１３、ＣＰＬＤ書込信号端子７２及びＣＰＬＤチップセレクト信号端子７３の各制御信号端子もプルアップされている。
【００２５】
ＣＰＵ１０は、互いに区別可能な第１のデータから第ｎのデータまでのｎ種類の排他的データを、予め定められた一定時間毎に順次かつ循環的に１種類ずつＣＰＵデータ信号端子１１から出力する。ここで、ｎは２以上の整数である。
【００２６】
この排他的データの出力の具体的な例として、まず、ｎを２とした例（第１の例）について説明する。この第１の例の場合、ＣＰＵ１０は、ＣＰＵデータ信号端子１１（Ｄ０〜Ｄ１５）から、第１のデータと第２のデータとを前記一定時間毎に交互に出力する。
【００２７】
第１のデータとしては具体的には例えば「５５Ｈ」（末尾の「Ｈ」はヘックスデータすなわち１６進数データであることを示す。以下において同じ）とする。また、この第１のデータと区別可能である第２のデータは例えば「ＡＡＨ」とする。これらの第１のデータと第２のデータとは、互いに排他的な関係にある。
【００２８】
なお、ＣＰＵ１０のＣＰＵデータ信号端子１１から排他的データを出力する際、出力した排他的データの値をＣＰＵ１０が備える任意のレジスタに格納しておくようにしてもよい。そして、次のデータ出力のタイミングで、当該レジスタに格納されている値を確認し、当該レジスタに格納されているものではない方の排他的データを出力することで、第１のデータと第２のデータとを交互に出力することができる。
【００２９】
次に、第２の例としてｎを１６とした例について説明する。この第２の例の場合、ＣＰＵ１０は、ＣＰＵデータ信号端子１１（Ｄ０〜Ｄ１５）から、第１のデータから第１６のデータまでを前記一定時間毎に順次かつ循環的に、すなわちサイクリックに出力する。
【００３０】
具体的には、まず、ＣＰＵ１０は、Ｄ０に「１」をセットし、他のＤ１〜Ｄ１５に「０」をセットしたものを第１のデータとし、この第１のデータをＣＰＵデータ信号端子１１から出力する。そして、前記一定時間の経過後に、ＣＰＵ１０は、Ｄ１に「１」をセットし、他のＤ０、Ｄ２〜Ｄ１５に「０」をセットしたものを第２のデータとし、この第２のデータをＣＰＵデータ信号端子１１から出力する。
【００３１】
このようにして、ｎを１から１６の整数として、Ｄ０〜Ｄ１５のうちのＤ（ｎ−１）に「１」をセットし、他のＣＰＵデータ信号端子１１に「０」をセットしたものを第ｎのデータとする。そして、Ｄ１５に「１」をセットし、Ｄ０〜Ｄ１４に「０」をセットしたものを第１６のデータとして出力した後、前記一定時間が経過すれば、ＣＰＵ１０は、再び第１のデータをＣＰＵデータ信号端子１１から出力する。なお、このように前記一定時間毎に第１のデータから第１６のデータまでのデータを１つずつ順次かつ循環的に出力する他に、第１のデータから第１６のデータまでの１６個のデータの順次の出力を、前記一定時間が一度経過する間に終えてしまうように出力することも考えられる。
【００３２】
ここで、第１の例と同様に、ＣＰＵ１０が排他的データを出力する際、出力した排他的データの値をＣＰＵ１０が備える任意のレジスタに格納しておくようにしてもよい。そして、次のデータ出力のタイミングで、当該レジスタに格納されている値を確認し、当該レジスタに格納されている値から１ビットシフトさせたデータを出力することで、第１のデータから第１６のデータまでをサイクリックに出力することができる。
【００３３】
すなわち、ｍを２から前記ｎまでの整数として、第ｍのデータは、第（ｍ−１）のデータを１ビットシフトして得られるデータとすることで、ＣＰＵデータ信号端子１１から出力する排他的データを、前回に出力した排他的データからビットシフトするだけ得ることができるため、簡潔単純であって、ＣＰＵ１０への負荷も小さい。
【００３４】
ＣＰＬＤ７０は、前述した内部ロジックのプログラム機能を利用して、高低２レベルの診断用信号を出力可能な診断用装置として機能するように構成される。すなわち、ＣＰＬＤ７０は、トグル信号出力端子７４から、高低２レベルの診断用信号を出力することができる。そして、ＣＰＬＤ７０は、ＣＰＬＤデータ信号端子７１に前記第１のデータから順に前記第ｎのデータが入力された場合に、トグル信号出力端子７４から出力される診断用信号のレベル（高低）を現在出力中のものから反転させて出力する。
【００３５】
前述した第１の例の場合、第１のデータがＣＰＬＤデータ信号端子７１に入力された後、第２のデータがＣＰＬＤデータ信号端子７１に入力された場合に、ＣＰＬＤ７０は、トグル信号出力端子７４から出力される診断用信号のレベル（高低）を反転させる。すなわち、トグル信号出力端子７４から現在出力されている診断用信号のレベルが高（Ｈｉｇｈ）であればレベルを低（Ｌｏｗ）にし、逆に現在出力されている診断用信号のレベルが低（Ｌｏｗ）であればレベルを高（Ｈｉｇｈ）にする。
【００３６】
また、前述した第２の例の場合、第１のデータから第１６のデータが順にＣＰＬＤデータ信号端子７１に入力された場合に、ＣＰＬＤ７０は、トグル信号出力端子７４から出力される診断用信号のレベル（高低）を反転させる。なお、このように、第１のデータから第１６のデータ全てがＣＰＬＤデータ信号端子７１に入力された場合に、トグル信号出力端子７４から出力される診断用信号のレベル（高低）を反転させる他に、第１のデータから第１６のデータのうちの１つのデータがＣＰＬＤデータ信号端子７１に入力される都度、トグル信号出力端子７４から出力される診断用信号のレベル（高低）を反転させるようにしてもよい。
【００３７】
ＣＰＬＤ７０のトグル信号出力端子７４は、ＣＰＵ１０のカウンタ入力端子１４と直接的に接続されている。したがって、トグル信号出力端子７４から出力された診断用信号は、カウンタ入力端子１４に入力される。ＣＰＵ１０は、内部にイベントカウンタ用のレジスタを備えている。そして、ＣＰＵ１０は、カウンタ入力端子１４に入力される診断用信号のレベルが反転する度に、イベントカウンタ用のレジスタに格納されているカウント値を１だけカウントアップする。このようにして、ＣＰＵ１０は、診断用装置であるＣＰＬＤ７０から出力される診断用信号のレベルがＣＰＵ１０からの出力データに応じて反転した回数を計数する。
【００３８】
なお、診断用信号のレベルの反転は、基本的には、診断用信号の時系列変化のエッジ（立ち上がり及び立ち下がり）を検出することで捉えることができる。この際、どのようなエッジを検出した際にカウンタを進めて計数するのかについては種々の方法が考えられる。
【００３９】
具体的に例えば、ＣＰＵ１０は、入力された診断用信号の立ち上がりエッジを検出する度に１だけカウントアップして計数することができる。また、ＣＰＵ１０は、入力された診断用信号の立ち下がりエッジを検出する度に１だけカウントアップして計数することもできる。あるいは、ＣＰＵ１０は、入力された診断用信号の立ち上がりエッジ又は立ち下がりエッジのいずれかを検出する度に１だけカウントアップして計数してもよい。さらには、ＣＰＵ１０は、入力された診断用信号の立ち上がりエッジ及び立ち下がりエッジの両方を検出する度に１だけカウントアップして計数してもよい。
【００４０】
また、ＣＰＵ１０は、このようにして計数した診断用信号の反転回数の計数値に基づいて、ＣＰＵデータ信号端子１１の異常を診断する。すなわち、まず、ＣＰＵ１０は、前記計数値、つまり、イベントカウンタ用のレジスタに格納された値を確認する。そして、イベントカウンタ用のレジスタに格納された値が前回の確認時より１だけ増加していた場合には、ＣＰＵデータ信号端子１１に異常はないと判断する。一方、ＣＰＵ１０は、イベントカウンタ用のレジスタに格納された値が前回の確認時から変化がなかった場合には、ＣＰＵデータ信号端子１１に異常が発生していると判断する。
【００４１】
なお、ここでいうＣＰＵデータ信号端子１１の異常には、ＣＰＵデータ信号端子１１それ自身の異常のみならず、ＣＰＵ１０の内部において、ＣＰＵデータ信号端子１１に接続されているＣＰＵ内データバスの異常も含まれる。
【００４２】
ここで、ＣＰＵ１０が計数値を確認するタイミングは、ＣＰＵデータ信号端子１１から出力される排他的データの種類の数（すなわち、前記ｎ）、トグル信号出力端子７４から出力される診断用信号のトグル条件、及び、ＣＰＵ１０のイベントカウンタ用のレジスタの値がカウントアップされる条件により決定される。
【００４３】
例えば、前述した第１の例の場合で、診断用信号の立ち上がりエッジ又は立ち下がりエッジのいずれかを検出する度に、イベントカウンタ用のレジスタの値を１だけカウントアップするときを考える。このようなときには、ＣＰＵデータ信号端子１１が正常であれば、前記一定時間の２倍の時間が経過する度に、イベントカウンタ用のレジスタの値が１だけカウントアップされるはずである。したがって、ＣＰＵ１０は、前記一定時間の２倍の時間を１周期として、計数値を確認してＣＰＵデータ信号端子１１の診断を実施することができる。
【００４４】
また、例えば、前述した第２の例の場合で、診断用信号の立ち上がりエッジを検出する度に、イベントカウンタ用のレジスタの値を１だけカウントアップするときを考える。このようなときには、ＣＰＵデータ信号端子１１が正常であれば、前記一定時間の３２倍の時間が経過する度に、イベントカウンタ用のレジスタの値が１だけカウントアップされるはずである。したがって、ＣＰＵ１０は、前記一定時間の３２倍の時間を１周期として、計数値を確認してＣＰＵデータ信号端子１１の診断を実施することができる。
【００４５】
ここで、前述した第１の例の場合で、ＣＰＬＤデータ信号端子７１に第１のデータが入力された後に第２のデータが入力された場合のみならず、第２のデータが入力された後に第１のデータが入力された場合にも、トグル信号出力端子７４から出力される診断用信号のレベルを反転させるようしてもよい。このようにすることで、トグル信号出力端子７４から出力される診断用信号のレベルは、前記一定時間毎に反転されるようになる。
【００４６】
そして、この場合に、診断用信号の立ち上がりエッジ又は立ち下がりエッジのいずれかを検出する度に、イベントカウンタ用のレジスタの値を１だけカウントアップするようにすれば、ＣＰＵデータ信号端子１１が正常なら、前記一定時間が経過する度にイベントカウンタ用のレジスタの値が１だけカウントアップされるはずである。したがって、ＣＰＵ１０は、前記一定時間と等しい周期で、計数値を確認してＣＰＵデータ信号端子１１の診断を実施することができる。
【００４７】
なお、ＣＰＵ１０のＣＰＵデータ信号端子１１から排他的データを出力する前記一定時間は、ＣＰＵ１０のクロック周期とすることが好ましい。前記一定時間をＣＰＵ１０のクロック周期と等しくすることで、ＣＰＵ１０のメイン処理と同期させて、ＣＰＵ１０によるＣＰＵデータ信号端子１１の異常診断を実施することができる。
【００４８】
図３は、前述した第１の例において、第１のデータ及び第２のデータのうちの前回入力された方でない方がＣＰＬＤ７０に入力された場合に診断用信号のレベルを反転させ、診断用信号の立ち上がりエッジ又は立ち下がりエッジのいずれかを検出する度にイベントカウンタ用のレジスタの値を１だけカウントアップし、前記一定時間をＣＰＵ１０のクロック周期と等しくした場合の処理の流れを示すものである。
【００４９】
まず、ステップＳ１において、エレベーターの診断装置の電源が入れられる、あるいは、エレベーターの診断装置がリセットされると、ステップＳ２においてイニシャライズ（初期化）処理が実行される。このイニシャライズ処理においては、ＣＰＵ１０は、イベントカウンタ用のレジスタのカウントアップ条件を設定する。このカウントアップ条件は、前述したように、カウンタ入力端子１４に入力される信号の立ち上がりエッジ及び立ち下がりエッジの少なくとも一方を検出した場合に計数値がカウントアップされるように設定される。また、ＣＰＵ１０は、イベントカウンタ用のレジスタの値をクリアする。
【００５０】
ステップＳ２のイニシャライズ処理が終了したら、ステップＳ３へと進む。ステップＳ３においては、ＣＰＵ１０は、ＣＰＵデータ信号端子１１から、初期値、ここでは例えば第１のデータである「５５Ｈ」を出力する。そして、ＣＰＬＤデータ信号端子７１に、この第１のデータが入力され、入力された第１のデータがＣＰＬＤ７０に書き込まれる。また、ＣＰＵ１０は、自身の任意のレジスタに、出力した第１のデータの値である「５５Ｈ」を格納する。
【００５１】
ステップＳ３の後はステップＳ４へと進む。ステップＳ４においては、ＣＰＵ１０は、メイン処理を実行する。メイン処理とは、ここでは、エレベーターの制御に係る処理である。そして、ステップＳ５へと進む。
【００５２】
ステップＳ５においては、ＣＰＵ１０は、メイン処理の最終行までの実行が完了したか否かを確認する。メイン処理の最終行までの実行が完了していなければ、ステップＳ４に戻りメイン処理の実行を継続する。一方、メイン処理の最終行までの実行が完了していれば、ステップＳ６へと進む。
【００５３】
ステップＳ６においては、ＣＰＵ１０は、前回のＣＰＬＤ７０へのデータ書き込み値、すなわち、ＣＰＵデータ信号端子１１からの出力値が「５５Ｈ」（第１のデータ）であるか否かを確認する。これは、ステップＳ３で用いたＣＰＵ１０の前記レジスタの値が「５５Ｈ」であるか否かを確認すればよい。
【００５４】
そして、前回のＣＰＬＤ７０へのデータ書き込み値、すなわち、ＣＰＵデータ信号端子１１からの出力値が「５５Ｈ」（第１のデータ）である場合には、ステップＳ７へと進む。ステップＳ７においては、ＣＰＵ１０は、ＣＰＵデータ信号端子１１から、第２のデータである「ＡＡＨ」を出力する。そして、ＣＰＬＤデータ信号端子７１に、この第２のデータが入力され、入力された第２のデータがＣＰＬＤ７０に書き込まれる。また、ＣＰＵ１０は、自身の任意のレジスタに、出力した第２のデータの値である「ＡＡＨ」を格納する。
【００５５】
ステップＳ７の後はステップＳ８へと進む。ステップＳ８においては、ＣＰＵ１０は、ＣＰＵ１０のイベントカウント用のレジスタに格納されている値を読み出す。
【００５６】
一方、ステップＳ６において、前回のＣＰＬＤ７０へのデータ書き込み値、すなわち、ＣＰＵデータ信号端子１１からの出力値が「５５Ｈ」（第１のデータ）でない場合には、ステップＳ９へと進む。ステップＳ９においては、ＣＰＵ１０は、ＣＰＵデータ信号端子１１から、第１のデータである「５５Ｈ」を出力する。そして、ＣＰＬＤデータ信号端子７１に、この第１のデータが入力され、入力された第１のデータがＣＰＬＤ７０に書き込まれる。また、ＣＰＵ１０は、自身の任意のレジスタに、出力した第１のデータの値である「５５Ｈ」を格納する。
【００５７】
ステップＳ９の後はステップＳ１０へと進む。ステップＳ１０においては、ＣＰＵ１０は、ＣＰＵ１０のイベントカウント用のレジスタに格納されている値を読み出す。
【００５８】
このようにして、ステップＳ６、ステップＳ７及びステップＳ９の処理により、ＣＰＵデータ信号端子１１から交互に第１のデータ及び第２のデータが出力される。そして、ＣＰＬＤ７０に第１のデータ及び第２のデータが交互に正しく書き込まれていれば、トグル信号出力端子７４から出力される診断用信号のレベルが交互に反転されるはずである。
【００５９】
そうすると、カウンタ入力端子１４に入力される診断用信号のレベルが交互に反転される。そして、カウンタ入力端子１４に入力される診断用信号のレベルの反転に応じて、ＣＰＵ１０は、イベントカウント用のレジスタの値をカウントアップする。
【００６０】
ステップＳ８及びステップＳ１０の後は、ステップＳ１１へと進む。ステップＳ１１においては、ＣＰＵ１０は、イベントカウント用のレジスタの値が前回の確認時から１だけ増加しているか否かを確認する。そして、イベントカウント用のレジスタの値が前回の確認時から１だけ増加している場合には、ＣＰＵデータ信号端子１１は正常であると判断してステップＳ４へと戻り、次のクロック周期のメイン処理を実行する。
【００６１】
一方、イベントカウント用のレジスタの値が前回の確認時から１だけ増加していない場合には、ステップＳ１２へと進む。ステップＳ１２においては、ＣＰＵ１０は、ＣＰＵデータ信号端子１１は異常であると判断する。したがって、ＣＰＵ１０は、速やかにエレベーターを安全状態へと移行させる制御のための処理を実行する。
【００６２】
この「エレベーターを安全状態へと移行させる制御」とは、例えば、エレベーターが停止中でありかご内に乗客がいなければ、そのままエレベーターの運転を休止させる。エレベーターが停止中でありかご内に乗客がいれば、停止階において戸開してかご内の乗客を降車させた後にエレベーターの運転を休止させる。
【００６３】
また、エレベーターが走行中でありかご内に乗客がいなければ、エレベーターを緊急停止させた後にエレベーターの運転を休止させる。そして、また、エレベーターが走行中でありかご内に乗客がいれば、エレベーターを最寄階に停止させ、戸開してかご内の乗客を降車させた後にエレベーターの運転を休止させる。
【００６４】
なお、このステップＳ１２においては、エレベーターの運転を休止させた後に外部にＣＰＵデータ信号端子１１の異常が発生した旨を発報するようにしてもよい。ステップＳ１２の後は、一連の処理フローは終了となる。
【００６５】
以上のように構成されたエレベーターの診断装置は、エレベーターの制御に係る演算処理を実行するために設けられ、データを入出力するためのＣＰＵデータ信号端子１１を有し、ｎを２以上の整数として互いに区別可能な第１のデータから第ｎのデータまでのｎ種類の排他的データを、予め定められた一定時間毎に順次かつ循環的に１種類ずつＣＰＵデータ信号端子１１から出力する中央処理装置であるＣＰＵ１０と、ＣＰＵデータ信号端子１１から出力されたデータが入力可能に設けられ、高低２レベルの診断用信号を出力可能な診断用装置であるＣＰＬＤ７０と、を備えている。
【００６６】
そして、ＣＰＬＤ７０は、前記排他的データが第１のデータから順に第ｎのデータが入力された場合に、診断用信号のレベルを現在出力中のものから反転させて出力し、ＣＰＵ１０は、ＣＰＬＤ７０から出力される診断用信号のレベルが反転した回数を計数し、当該計数値に基づいてＣＰＵデータ信号端子の異常を自己診断するものである。
【００６７】
このため、エレベーターの制御に用いるコンピュータのＣＰＵ１０のＣＰＵデータ信号端子１１に係る故障を、迅速かつ確実に検出することができる。すなわち、ＣＰＵ１０は、ＣＰＵ１０内のデータバスの自己診断が可能であり、ＣＰＵ１０自身のデータバス故障の早期発見も可能であって、故障の潜在化も防ぐことができる。
【００６８】
ここで、ＣＰＵデータ信号端子１１とデータバス２０にはエレベーターを制御する上で非常に重要なデータがやりとりされているため、いかに早く故障を検出し、エレベーターを安全状態へ移行させるかが重要な要素となってくる。したがって、前述のようにＣＰＵ１０による迅速かつ確実な自己診断が可能となることで、故障発見までの時間を短縮し、データバス故障時にエレベーターを安全状態へと移行するためのシステムリアクションタイムも短くできるため、ひいてはエレベーターシステムの安全性を向上することにつながる。さらに、回路構成も簡潔であるため、低コストで実現可能であり、ＣＰＵ１０の処理能力への負担も少ない。
【００６９】
なお、ここでは、特に図３においてＣＰＵ１０のメイン処理の最後にＣＰＵ１０内のデータバスの診断処理を実行する例について説明した。しかし、この診断処理は、メイン処理の途中において適宜に行うようにしてもよい。このようにすることで、診断処理の間隔をさらに短縮し、診断処理の実行頻度を増やすことができるため、故障発見までの時間をより短くすることができる。
【符号の説明】
【００７０】
１０  ＣＰＵ、  １１  ＣＰＵデータ信号端子、  １２  ＣＰＵ書込信号端子、  １３  ＣＰＵチップセレクト信号端子、  １４  カウンタ入力端子、  ２０  データバス、  ３０  ＲＯＭ、  ４０  ＲＡＭ、  ５０  ポートパス、  ６０  Ｉ／Ｏ信号、  ７０  ＣＰＬＤ、  ７１  ＣＰＬＤデータ信号端子、  ７２  ＣＰＬＤ書込信号端子、  ７３  ＣＰＬＤチップセレクト信号端子、  ７４  トグル信号出力端子
【図１】
2016013903.tif 000003
【図２】
2016013903.tif 000004
【図３】
2016013903.tif 000005