(57)【要約】【課題】汎用性を確保してマイクロコンピュータの選択肢を広げ、代替を容易にする。【解決手段】制御装置１０は、モータの動作を制御する制御信号を出力する複数のマイクロコンピュータ２１1〜２１5と、これらマイクロコンピュータ２１1〜２１5とバス２７によって相互に接続されたボード制御デバイス２０とを備える。ボード制御デバイス２０は、複数のマイクロコンピュータ２１1〜２１5がアクセスするレジスタをそれぞれ有するＤＰＲＡＭ２４を具備し、外部接続されたバスマスタ基板からのバス制御信号に基づいて、ＤＰＲＡＭ２４のレジスタに制御パラメータを書き込む。マイクロコンピュータ２１1〜２１5は、ＤＰＲＡＭ２４のレジスタに格納された制御パラメータに基づいて、制御信号を生成する。【選択図】図２
2015035184.tif 000002
【特許請求の範囲】
【請求項１】
アクチュエータの動作を制御する制御信号を出力する複数のマイクロコンピュータと、
前記複数のマイクロコンピュータと内部バスによって相互に接続された制御部と、
を備え、
前記制御部は、前記複数のマイクロコンピュータがアクセスするレジスタをそれぞれ有する揮発性メモリを具備し、外部接続されたバスマスタからのバス制御信号に基づいて、前記揮発性メモリの前記レジスタに制御パラメータを書き込み、
前記マイクロコンピュータは、前記揮発性メモリの前記レジスタに格納された制御パラメータに基づいて、前記制御信号を生成する、制御装置。
【請求項２】
請求項１記載の制御装置において、
前記制御部は、前記揮発性メモリの前記レジスタに、２つ以上の前記マイクロコンピュータによるアクセス要求が発生した際に、いずれのマイクロコンピュータとコミュニケーションするかを調停するバス調停を行う、制御装置。
【請求項３】
請求項１記載の制御装置において、
前記複数のマイクロコンピュータは、汎用Ｉ／Ｏポートを用いて、前記制御部とのバス制御信号のやり取りをそれぞれ行う、制御装置。
【請求項４】
請求項１記載の制御装置において、
前記揮発性メモリは、ＤＰＲＡＭである、制御装置。
【請求項５】
請求項１記載の制御装置において、
前記制御部は、プログラミングによる設計が可能な論理デバイスからなる、制御装置。
【請求項６】
請求項１記載の制御装置において、
さらに、前記制御部は、前記アクチュエータの動作量を示す動作量データをサンプリングするサンプリング部を有し、
前記マイクロコンピュータは、前記サンプリング部がサンプリングしたサンプリング値に基づいて、前記アクチュエータにより動作させた制御対象が、他の制御対象と干渉するか否かを判定し、前記制御対象が前記他の制御対象と干渉すると判定した際に、前記制御対象の動作を停止させる、制御装置。
【請求項７】
請求項６記載の制御装置において、
前記揮発性メモリは、
前記サンプリング部がサンプリングしたサンプリング値を格納する第１のレジスタと、
干渉する可能性のある制御対象を示す干渉対象データを格納する第２のレジスタと、
干渉するサンプリング値の範囲を規定するサンプリングしきい値を格納する第３のレジスタと、
を有し、
前記マイクロコンピュータは、前記第２のレジスタに格納される干渉対象データに基づいて、前記アクチュエータが動作させた制御対象に干渉する恐れのある他の制御対象があるか否かを判断し、前記他の制御対象がある場合、前記第３のレジスタのサンプリングしきい値を読み出し、前記第１のレジスタに格納される動作させた前記制御対象のサンプリング値および干渉する恐れのある前記他の制御対象のサンプリング値が、前記サンプリングしきい値よりも小さい場合に干渉すると判定し、前記制御対象の動作を停止させる、制御装置。
【請求項８】
請求項７記載の制御装置において、
さらに、前記揮発性メモリは、前記制御対象の優先順位を示すデータが格納される第４のレジスタを有し、
前記マイクロコンピュータは、前記制御対象の動作を停止させた際に、前記第４のレジスタを参照し、優先順位の高い制御対象から、順番に前記制御対象を初期位置に退避させる、制御装置。
【請求項９】
請求項１記載の制御装置において、
前記制御装置は、体液成分を測定して検査する自動分析装置に用いられる、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、特に、血清などのサンプルの成分濃度を測定する自動分析装置における制御に有効な技術に関する。
【背景技術】
【０００２】
血液検査などにおいては、自動分析装置が広く用いられている。この自動分析装置は、試料と試薬の生化学反応を利用して試料中の測定対象成分を分析する。このような自動分析装置では、試料などの分注、温度管理、および撹拌や光量測定などの分析のため様々な機能を備えており、その実現のため、モータやＡ／Ｄ（Analog/Digital）変換、Ｄ／Ａ（Digital/Analog）変換、およびＤＩＯ（Digital Input Output）制御などの制御機能が必要となる。
【０００３】
これら各種制御のため、自動分析装置では、複数の制御基板を備えており，各制御基板には、複数の対象を制御するために複数のマイクロコンピュータを搭載している。これらマイクロコンピュータには、ＤＰＲＡＭ（Dual Port Ramdom Access Memory）などの半導体メモリが搭載されている。
【０００４】
自動分析装置の動作を管理しているアプリケーションは、試料の分析を実施するため、各種制御基板に搭載のマイクロコンピュータと適宜通信し、制御パラメータの設定や結果の確認をＤＰＲＡＭなどの半導体メモリを介して行っている。
【０００５】
この種の半導体メモリにおける通信技術については、例えばマイクロコンピュータに可変バス制御部を設けることによって外部に接続されたメモリなどの新たなインタフェースに対応するものがある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２８２２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したように、自動分析装置に用いられるマイクロコンピュータには、ＤＰＲＡＭが搭載されており、汎用のマイクロコンピュータとは異なる特殊な仕様となっている。そのため、マイクロコンピュータに故障などの不具合が発生して代替対応が必要になった際に、該マイクロコンピュータの製造が中止されていると、その代わりとなるマイクロコンピュータの選定が困難となってしまうという問題がある。
【０００８】
また、同様の機能を備えたマイクロコンピュータがどうしても選定できない場合には、ＤＰＲＡＭ周辺の機能を含めたハードウェアやソフトウェアの設計見直しなどが必要となり、影響範囲が広くなってしまう。
【０００９】
本発明の目的は、汎用性を確保してマイクロコンピュータの選択肢を広げ、代替を容易にすることのできる技術を提供することにある。
【００１０】
本発明の前記ならびにその他の目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１２】
一実施の形態は、複数のマイクロコンピュータおよび制御部を備える制御装置である。複数のマイクロコンピュータと制御部とは、内部バスによって相互に接続されている。マイクロコンピュータは、アクチュエータの動作をそれぞれ制御する。
【００１３】
また、制御部は、複数のマイクロコンピュータがアクセスするレジスタをそれぞれ有する揮発性メモリを具備し、外部接続されたバスマスタからのバス制御信号に基づいて、揮発性メモリのレジスタに制御パラメータを書き込む。マイクロコンピュータは、揮発性メモリのレジスタに格納された制御パラメータに基づいて、制御信号を生成する。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１５】
マイクロコンピュータの代替を容易とすることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態における自動分析装置の構成の一例を示す説明図である。
【図２】図１の自動分析装置に設けられた制御装置の構成の一例を示す説明図である。
【図３】図１の自動分析装置における動作処理の一例を示すフローチャートである。
【図４】ＤＰＲＡＭを介してバスマスタ基板がマイクロコンピュータにデータを送信する際の一例を示すタイミングチャートである。
【図５】ＤＰＲＡＭを介してマイクロコンピュータがバスマスタ基板へデータを送信する際の一例を示すタイミングチャートである。
【図６】マイクロコンピュータからＤＰＲＡＭへのバスリードアクセス処理の一例を示したフローチャートである。
【図７】マイクロコンピュータからＤＰＲＡＭへのバスライトのアクセス処理の一例を示すフローチャートである。
【図８】２つのマイクロコンピュータおよびボード制御デバイスに注目した制御装置の構成図である。
【図９】図８の構成図におけるバス調停の一例を示すタイミングチャートである。
【図１０】図９のバス調停におけるフローチャートである。
【図１１】本発明者が検討した自動分析装置に設けられる制御装置の構成の一例を示す説明図である。
【図１２】実施の形態２による自動分析装置の一部を抜粋した構成例を示す構成図である。
【図１３】図１２の自動分析装置に用いられる制御装置の一例を示す説明図である。
【図１４】制御対象の動作範囲および干渉領域の一例を示すイメージ図である。
【図１５】図１３の制御装置による自動停止機能の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。
【００１８】
また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１９】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。
【００２０】
同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは特に明示した場合および原理的に明らかにそうではないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００２１】
また、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。なお、図面をわかりやすくするために平面図であってもハッチングを付す場合がある。
【００２２】
（実施の形態１）
以下、実施の形態を詳細に説明する。
【００２３】
〈自動分析装置の構成例〉
図１は、本実施の形態における自動分析装置の構成の一例を示す説明図である。
【００２４】
自動分析装置は、血液が固まった時に上澄みとしてできる液体成分、いわゆる血清や尿などを検体とし、試薬と反応させることによって、糖やコレステロール、タンパク、酵素などの各種成分の測定を行う装置である。
【００２５】
自動分析装置は、図示するように、制御装置１０、パーソナルコンピュータ１１、バスマスタ基板１２、ドライバ基板１３、モータ１４、制御対象１５、およびセンサ１６などを有している。
【００２６】
制御装置１０は、バスマスタ基板１２およびドライバ基板１３にそれぞれ接続されている。制御装置１０とバスマスタ基板１２とは、例えばコネクタＣｎを介してバス規格の１つであるＶＭＥ（Versa Module Eurocard）バスなどによって接続されている。また、制御装置１０とドライバ基板１３とは、例えばコネクタＣｎを介してケーブル配線などによって接続されている。
【００２７】
バスマスタ基板１２は、イーサネット（登録商標）などによってパーソナルコンピュータ１１と接続されている。ドライバ基板１３には、アクチュエータなどの各種モータ１４およびセンサ１６が接続されている。これらモータ１４には、該モータ１４によって動作する制御対象１５が接続されている。センサ１６は、モータ１４によって動作する制御対象１５の動作状態を検知する。センサ１６の検知結果は、ドライバ基板１３を介して制御装置１０に伝達される。
【００２８】
パーソナルコンピュータ１１には、制御用のアプリケーションがインストールされており、該アプリケーションに基づいて自動分析装置を管理する。バスマスタ基板１２は、制御装置１０へのバスアクセスにおけるマスタとなる。ドライバ基板１３は、制御装置１０から出力される制御信号であるモータ制御信号に基づいて、モータ１４を駆動する。
【００２９】
〈制御装置の構成例〉
図２は、図１の自動分析装置に設けられた制御装置の構成の一例を示す説明図である。
【００３０】
制御装置１０は、図２に示すように、ボード制御デバイス２０および複数のマイクロコンピュータ２１1〜２１5を有する。マイクロコンピュータ２１1〜２１5は、汎用のハードウェアによって構成された、いわゆる汎用マイクロコンピュータであり、汎用処理を行う。
【００３１】
また、図２では、５つのマイクロコンピュータ２１1〜２１5を有する例を示しているが、マイクロコンピュータの数は、接続されるモータ１４の数などによって増減する。
【００３２】
制御部であるボード制御デバイス２０は、バスコントロール部２２，２３およびＤＰＲＡＭ２４を有する。このボード制御デバイス２０は、例えばＦＰＧＡ（Field Programmable Gate Array）などの論理デバイスからなる。
【００３３】
ＤＰＲＡＭ２４は、マルチポートメモリであり、ランダムにアクセスできるポートが２つ用意された揮発性半導体メモリである。ＤＰＲＡＭ２４は、図２のアドレス構成に示すように、マイクロコンピュータ２１1〜２１5のアドレス空間をそれぞれ有している。
【００３４】
ＤＰＲＡＭ２４において、各マイクロコンピュータ２１1〜２１5のアドレス空間は、ＰＣＳＴＲ（Parallel Communication Status register）１０７、ＰＣＤＴ（Parallel Communication Data register）１０８、ＰＣＣＭＤ（Parallel Communication Command register）１０９、およびＰＣＣＴＲ（Parallel Communication Control register）１１０によりそれぞれ構成する。
【００３５】
ＰＣＳＴＲ１０７は、マイクロコンピュータ２１1〜２１5のステータスを管理するステータスレジスタであり、パラメータエラーやセンサ１６が検知した検知情報などを格納する。
【００３６】
ＰＣＤＴ１０８は、データレジスタであり、バスマスタ基板１２からマイクロコンピュータ２１1〜２１5にコマンドを送信する際のコマンドに関連したパラメータの設定およびマイクロコンピュータ２１1〜２１5からバスマスタ基板１２にコマンド実行結果のデータを格納する。
【００３７】
ＰＣＣＭＤ１０９は、コマンドレジスタであり、バスマスタ基板１２がマイクロコンピュータ２１1〜２１5に実行させるコマンドを設定する。
【００３８】
ＰＣＣＴＲ１１０は、図１のバスマスタ基板１２とマイクロコンピュータ２１1〜２１5がＤＰＲＡＭ２４を介したデータの送受信、言い換えればコミュニケーションをするためのレジスタである。
【００３９】
ＰＣＣＴＲ１１０は、ＭＷＭＦ（Master Write Mode Flag）、ＥＭＷＩ（Enable Master Write Interrupt）、ＭＷＥＦ（Mater Write End Flag）、ＳＷＭＦ（Slave Write Mode Flag）、ＥＡＫＡＲ（Enable Acknowledge And Request）、およびＳＷＥＦ（Slave Write End Flag）を備える。
【００４０】
ＭＷＭＦは、バスマスタ基板１２の送信権を示すフラグである。ＥＭＷＩは、マイクロコンピュータ２１1〜２１5への割り込みを許可する。ＭＷＥＦは、バスマスタ基板１２が送信データを書き終えたことを示すフラグである。
【００４１】
ＳＷＭＦは、マイクロコンピュータ２１1〜２１5の送信権を示すフラグである。ＥＡＫＡＲは、バスマスタ基板１２への割り込みを許可する。ＳＷＥＦは、マイクロコンピュータ２１1〜２１5が送信データを書き終えたことを示すフラグである。
【００４２】
マイクロコンピュータ２１1〜２１5は、前述したように、安価な、バス制御信号などを備えていない汎用製品であり、ＲＡＭ（Random Access Memory）２５およびＣＰＵ（Central Processing Unit）２６を有する。ＲＡＭ２５は、揮発性半導体メモリであり、ＣＰＵ２６は、中央演算処理装置である。
【００４３】
ボード制御デバイス２０とマイクロコンピュータ２１1〜２１5とは、内部バスであるバス２７を介してそれぞれ接続されている。バス２７を介したバス制御信号のやり取りは、マイクロコンピュータ２１1〜２１5の汎用Ｉ／Ｏが用いられる。マイクロコンピュータ２１1〜２１5は、プログラミングされたバス制御用のプログラムにより動作する。
【００４４】
〈自動分析装置の動作例〉
続いて、自動分析装置における動作について、図１〜図３を用いて説明する。
【００４５】
図３は、図１の自動分析装置における動作処理の一例を示すフローチャートである。
【００４６】
まず、パーソナルコンピュータ１１により、コマンドを実行する（ステップＳ１０１）。パーソナルコンピュータ１１のアプリケーションがコマンドの実行を認識すると、入力されたコマンドに従い制御対象を判断し、その対象を制御するマイクロコンピュータにパラメータとコマンドを設定する（ステップＳ１０２）。
【００４７】
パラメータとコマンドの設定とは、パーソナルコンピュータ１１からバスマスタ基板１２を介して制御装置１０に搭載されたボード制御デバイス２０のＤＰＲＡＭ２４への書き込みである。この書き込み手順については、後述する図４を用いて説明する。
【００４８】
続いて、ＤＰＲＡＭ２４にパラメータとコマンドが設定されると、当該マイクロコンピュータが設定内容をリードし、要求されたコマンドを実行する（ステップＳ１０３）。例えばコマンドがモータ１４の制御であれば、当該マイクロコンピュータは、リードしたパラメータに従ってモータ制御信号を生成する。
【００４９】
ドライバ基板１３は、生成されたモータ制御信号に基づいて、モータ１４を駆動する駆動信号を出力する。モータ１４は、ドライバ基板１３から出力された駆動信号に基づいて回転する。
【００５０】
モータ１４が回転することによって制御対象１５が動作し、一定の範囲の移動あるいはセンサ１６がオンすることによってモータ１４の制御対象１５が期待の位置への移動が完了したことを当該マイクロコンピュータが認識する。これにより、マイクロコンピュータは、モータ制御信号の生成を終了する。
【００５１】
続いて、モータ制御信号の生成を終了したマイクロコンピュータは、コマンドの実施結果をＤＰＲＡＭ２４に書き込む（ステップＳ１０４）。そして、パーソナルコンピュータ１１は、マイクロコンピュータからＤＰＲＡＭ２４に結果が書き込まれたことを認識すると、該ＤＰＲＡＭ２４から結果をリードする（ステップＳ１０５）。
【００５２】
なお、マイクロコンピュータからＤＰＲＡＭ２４への結果の書き込み処理については、後述する図５を用いて説明する。また、マイクロコンピュータからボード制御デバイス２０へのバスリードのアクセス制御については、後述する図６を用いて説明し、バスライトのアクセス制御については後述する図７を用いて説明する。
【００５３】
〈ＤＰＲＡＭの書き込み例〉
続いて、前述したＤＰＲＡＭ２４への書き込み手順について説明する。
【００５４】
図４は、ＤＰＲＡＭ２４を介してバスマスタ基板１２がマイクロコンピュータにデータを送信する際の一例を示すタイミングチャートである。
【００５５】
図４において、上方から下方にかけては、スレーブとなるマイクロコンピュータの動作、マスタとなるバスマスタ基板１２の動作、ＤＰＲＡＭ２４のＭＷＭＦ、ＭＷＥＦ、およびマイクロコンピュータから出力される割り込み信号ＩＲＱにおけるそれぞれの信号タイミングを示している。
【００５６】
まず、バスマスタ基板１２がＤＰＲＡＭ２４のアドレス空間ＰＣＳＴＲ１０７にライトアクセスすると、ＭＷＭＦのフラグが立つ。バスマスタ基板１２は、ＰＣＣＴＲ１１０をリードしてＭＷＭＦが立っていることを確認し、ＰＣＤＴ１０８に任意のデータをライトする。
【００５７】
そして、バスマスタ基板１２が、ＰＣＣＭＤ１０９にライトアクセスすることによりＭＷＥＦのフラグが立ち、マイクロコンピュータへの割り込みが有効になる。マイクロコンピュータは、割り込みを受けてＰＣＣＭＤ１０９をリードする。マイクロコンピュータがＰＣＣＭＤ１０９をリードすると、ＭＷＥＦおよび割り込みが無効となる。
【００５８】
続いて、マイクロコンピュータがＰＣＤＴ１０８をリードし、バスマスタ基板１２が設定したデータを受信する。マイクロコンピュータがＰＣＳＴＲ１０７をリードすると、ＭＷＭＦが無効となり、一連の動作を終了する。
【００５９】
〈バスマスタ基板へのデータの送信例〉
図５は、ＤＰＲＡＭ２４を介してマイクロコンピュータがバスマスタ基板１２へデータを送信する際の一例を示すタイミングチャートである。
【００６０】
図５において、上方から下方にかけては、スレーブとなるマイクロコンピュータ、マスタとなるバスマスタ基板１２、ＳＷＭＦ、ＳＷＥＦ、およびマイクロコンピュータから出力される割り込み信号ＩＲＱにおけるそれぞれの信号タイミングを示している。
【００６１】
まず、マイクロコンピュータがＰＣＳＴＲ１０７にライトすると、ＳＷＭＦのフラグが立つ。マイクロコンピュータは、ＰＣＣＴＲ１１０をリードして、ＳＷＭＦが立っていることを確認した後、ＰＣＤＴ１０８に任意のデータをライトする。
【００６２】
マイクロコンピュータがＰＣＣＭＤ１０９にライトすることによりＳＷＥＦのフラグが立ち、バスマスタ基板１２への割り込みが有効になる。
【００６３】
バスマスタ基板１２は、割り込みを受けてＰＣＣＭＤ１０９をリードする。バスマスタ基板１２がＰＣＣＭＤ１０９をリードするとＳＷＥＦおよび割り込みが無効となる。続いて、バスマスタ基板１２がＰＣＤＴ１０８をリードし、マイクロコンピュータが設定したデータを受信する。バスマスタ基板１２がＰＣＳＴＲ１０７をリードするとＳＷＭＦが無効となり、一連の動作を終了する。
【００６４】
〈バスリードのアクセス処理例〉
続いて、バスリードのアクセス処理について説明する。
【００６５】
図６は、マイクロコンピュータからＤＰＲＡＭ２４へのバスリードアクセス処理の一例を示したフローチャートである。
【００６６】
マイクロコンピュータから、アクセスするＤＰＲＡＭ２４のアドレスを出力する（ステップＳ２０１）。次いで、マイクロコンピュータは、チップ選択信号であるチップセレクト（ChipSelect）信号ＣＳと出力を許可する信号であるアウトプットイネーブル（Output Enable）信号ＯＥをアサートする（ステップＳ２０２）。
【００６７】
チップセレクト信号ＣＳおよびアウトプットイネーブル信号ＯＥをアサートした後、ボード制御デバイス２０は、ＤＰＲＡＭ２４からデータを出力するのを例えば１５０ｎｓ程度待つ（ステップＳ２０３）。
【００６８】
１５０ｎｓ待った後、マイクロコンピュータは、ボード制御デバイス２０から出力されたデータをＲＡＭ２５に格納する（ステップＳ２０４）。そして、チップセレクト信号ＣＳとアウトプットイネーブル信号ＯＥをネゲートし（ステップＳ２０５）、一連のバスリードアクセスを終了する。これら一連の動作は、マイクロコンピュータにおけるＣＰＵ２６が制御する。
【００６９】
〈バスライトアクセスの処理例〉
次に、バスライトアクセス処理について説明する。
【００７０】
図７は、マイクロコンピュータからＤＰＲＡＭ２４へのバスライトのアクセス処理の一例を示すフローチャートである。
【００７１】
マイクロコンピュータから、アクセスするＤＰＲＡＭ２４のアドレスを出力する（ステップＳ３０１）。ライトするデータを出力した後（ステップＳ３０２）、マイクロコンピュータは、チップセレクト信号ＣＳおよび書き込み許可信号であるライトイネーブル（Write Enable）信号ＷＥをアサートさせる（ステップＳ３０３）。
【００７２】
チップセレクト信号ＣＳおよびライトイネーブル信号ＷＥをアサートした後、マイクロコンピュータは、ボード制御デバイス２０がＤＰＲＡＭ２４へデータをライトするまで、例えば１５０ｎｓ程度の間データをホールドする（ステップＳ３０４）。
【００７３】
１５０ｎｓ程度の時間ホールドした後、マイクロコンピュータは、チップセレクト信号ＣＳおよびライトイネーブル信号ＷＥをネゲートし（ステップＳ３０５）、バスライトアクセス処理を終了する。これら一連の動作は、ＣＰＵ２６が制御する。
【００７４】
〈バス調停の制御例〉
次に、制御装置１０におけるバス調停の制御技術について説明する。
【００７５】
図８は、２つのマイクロコンピュータ２１1，２１2およびボード制御デバイス２０が有するバスコントロール部２３に注目した制御装置１０における構成図である。図９は、図８の構成図におけるバス調停の一例を示すタイミングチャートである。図１０は、図９のバス調停におけるフローチャートである。
【００７６】
制御装置１０において、ボード制御デバイス２０とマイコン２１1〜２１5とを接続しているバスは、前述したようにすべてのマイクロコンピュータによって共有している。よって、データの衝突によるデータの破損を避けるため、ボード制御デバイス２０とコミュニケーションが可能なマイクロコンピュータは１度のコミュニケーションで１つとなる。
【００７７】
そのため、２つ以上のマイクロコンピュータからボード制御デバイス２０へのバスアクセス要求がある場合、ボード制御デバイス２０は、どのマイクロコンピュータとコミュニケーションするかを調停するバス調停が必要となる。
【００７８】
バス調停は、バス使用要求（Bus Request）信号ＢＲ、バス使用許可（Bus Grant）信号ＢＧ、およびビジー信号ＢＵＳＹを制御信号として使用する。バス使用要求信号ＢＲは、バスの使用を要求する。バス使用許可信号ＢＧは、バスの使用を許可する。
【００７９】
ビジー信号ＢＵＳＹは、バスが使用中であることを示す信号である。ビジー信号ＢＵＳＹは、マイクロコンピュータからボード制御デバイス２０に出力される信号と、ボード制御デバイス２０からマイクロコンピュータに出力される信号とがある。
【００８０】
バス使用要求信号ＢＲおよびビジー信号ＢＵＳＹは、マイクロコンピュータ２１1〜２１5からそれぞれ出力される。バス使用許可信号ＢＧは、ボード制御デバイス２０から出力される。
【００８１】
図８では、マイクロコンピュータ２１1からボード制御デバイス２０のバスコントロール部２３に対してビジー信号ＢＵＳＹ１が出力され、マイクロコンピュータ２１2からボード制御デバイス２０に対してビジー信号ＢＵＳＹ２がそれぞれ出力される例を示している。
【００８２】
そして、ボード制御デバイス２０に入力されたビジー信号ＢＵＳＹ１とビジー信号ＢＵＳＹ２とは、論理積がとられてる。論理積の演算結果は、バスコントロール部２３にビジー信号ＢＵＳＹＩＮとして入力される。また、このビジー信号ＢＵＳＹＩＮは、マイクロコンピュータ２１1，２１2にそれぞれ入力される。
【００８３】
また、図８においては、マイクロコンピュータ２１1からボード制御デバイス２０のバスコントロール部２３に対してバス使用許可信号ＢＧ１が出力される例を示している。さらに、図８では、マイクロコンピュータ２１2からバスコントロール部２３に対して、バス使用許可信号ＢＧ２が出力される例を示している。
【００８４】
まず、１つのマイクロコンピュータ２１1から、バスの使用を要求するバス使用要求信号ＢＲ１が出力された場合について説明する。
【００８５】
マイクロコンピュータ２１1は、バス使用要求信号ＢＲ１をアサートする。バスコントロール部２３がバス使用要求信号ＢＲ１のアサートを認識すると、該バスコントロール部２３は、バス使用許可信号ＢＧをアサートする。
【００８６】
マイクロコンピュータ２１1がバス使用許可信号ＢＧ１のアサートを認識すると、該マイクロコンピュータ２１1は、ビジー信号ＢＵＳＹ１をアサートし、バス使用要求信号ＢＲ１をネゲートする。
【００８７】
そして、バスコントロール部２３がビジー信号ＢＵＳＹ１のアサートを認識すると、バスコントロール部２３がバス使用許可信号ＢＧ１をネゲートする。バスアクセスを終了すると、マイクロコンピュータ２１1は、ビジー信号ＢＵＳＹ１をネゲートし、一連の動作を終了する。
【００８８】
２つあるいはそれ以上のマイクロコンピュータからのバス使用要求がある場合も、基本的には、１つのマイクロコンピュータからバス使用要求があった場合と同様の処理を行う。
【００８９】
しかし、前述したように、１度にアクセスすることのできるマイクロコンピュータは、１つである。このことから、ボード制御デバイス２０において、予め各マイクロコンピュータのアクセス権に優先順を設定しておく。
【００９０】
そして、同時に複数のマイクロコンピュータからアクセス要求があった場合は、優先度の高いマイクロコンピュータから順にバス使用許可信号ＢＧをアサートし、バスアクセスを許可するものとする。
【００９１】
続いて、２つマイクロコンピュータからバス使用要求があった場合について、図８〜図１０を用いて説明する。
【００９２】
なお、図９および図１０においては、マイクロコンピュータ２１1およびマイクロコンピュータ２１2からそれぞれアクセスがあり、ボード制御デバイス２０のバスコントロール部２３には、マイクロコンピュータ２１1の優先度が、マイクロコンピュータ２１2の優先度よりも高く設定されている場合を示している。
【００９３】
まず、図９に示すように、マイクロコンピュータ２１1およびマイクロコンピュータ２１2から、バス使用要求信号ＢＲ１，ＢＲ２がそれぞれアサートされると、ボード制御デバイス２０のバスコントロール部２３は、バス使用要求信号ＢＲ１，ＢＲ２のアサートを認識する。
【００９４】
このとき、ボード制御デバイス２０のバスコントロール部２３は、マイクロコンピュータ２１1，２１2のどちらのアクセス権の優先順が高いかを判定する。前述のように、マイクロコンピュータ２１1の優先順位が高く設定されているので、バスコントロール部２３は、バス使用許可信号ＢＧ１をアサートする。
【００９５】
マイクロコンピュータ２１1は、バス使用許可信号ＢＧ１のアサートを認識すると、ビジー信号ＢＵＳＹ１をアサートする。これによって、ビジー信号ＢＵＳＹＩＮがアサートされ、マイクロコンピュータ２１1によるバスアクセスが行われる。
【００９６】
マイクロコンピュータ２１1のバスアクセスが終了してビジー信号ＢＵＳＹ１がネゲートとなると、ビジー信号ＢＵＳＹＩＮがネゲートとなる。このとき、バス使用要求信号ＢＲ２はアサートのままなので、バスコントロール部２３は、バス使用許可信号ＢＧ２をアサートする。
【００９７】
マイクロコンピュータ２１2は、バス使用許可信号ＢＧ２のアサートを認識すると、ビジー信号ＢＵＳＹ２をアサートする。これによって、ビジー信号ＢＵＳＹＩＮがアサートされ、マイクロコンピュータ２１1によるバスアクセスが行われる。以上によって、バス調停の制御が終了となる。
【００９８】
〈本発明者が検討した制御装置〉
図１１は、本発明者が検討した自動分析装置に設けられる制御装置５００の構成の一例を示す説明図である。
【００９９】
制御装置５００は、図示するように、ボード制御デバイス５０１および複数のマイクロコンピュータ５０２を有する。これらマイクロコンピュータ５０２は、ＤＰＲＡＭ５０３、ＣＰＵ５０４、およびＲＡＭ５０５をそれぞれ有している。
【０１００】
ボード制御デバイス５０１のバス制御信号は、マイクロコンピュータ５０２のＤＰＲＡＭ５０３にそれぞれ接続され、アドレスデータは、外部接続された図示しないバスマスタ基板から入出力される。
【０１０１】
マイクロコンピュータ５０２は、ＤＰＲＡＭ５０３を有することにより、該ＤＰＲＡＭ５０３の制御パラメータの設定処理などが特殊となる。そのため、マイクロコンピュータ５０２は、図２のマイクロコンピュータ２１1〜２１5のように、汎用のハードウェアによって構成された、いわゆる汎用マイクロコンピュータでない。
【０１０２】
よって、マイクロコンピュータ５０２が故障などによって交換が必要となった場合に、もし、該マイクロコンピュータが生産中止などの理由で入手できないと、該マイクロコンピュータ５０２の代替が困難となってしまう。
【０１０３】
一方、図２に示した制御装置１０では、マイクロコンピュータ２１1〜２１5を汎用のハードウェアによって構成された汎用品のマイクロコンピュータを用いて構成している。
【０１０４】
汎用品であるために、制御装置１０に使用されているマイクロコンピュータが入手できない状態であっても、他の汎用品のマイクロコンピュータを代替として使用できることになる。
【０１０５】
以上により、マイクロコンピュータ２１1〜２１5の代替を容易とすることができる。また、ハードウェアやソフトウェアの設計見直しなどが不要となり、コストを低減することができる。
【０１０６】
（実施の形態２）
〈概要〉
前記実施の形態１に示したように、バス２７をボード制御デバイスにて中継することにより、制御装置１０内で互いの制御対象の状態を把握することが可能となり、その結果、マイクロコンピュータ間での協調動作が可能となる。
【０１０７】
本実施の形態２においては、前記実施の形態１の図２に示した制御装置１０により、マイクロコンピュータ間により協調動作することで、自動分析装置に異常があった際に安全に停止および復帰する技術について説明する。また、アプリケーションを介することなく、自動的に初期状態へ復帰することが可能となる。
【０１０８】
〈自動分析装置の構成例〉
図１２は、本実施の形態２による自動分析装置の一部を抜粋した構成を示す構成図である。
【０１０９】
自動分析装置は、図１２に示すように、制御装置１０、パーソナルコンピュータ１１、バスマスタ基板１２、ドライバ基板１３、試薬ディスク３０、および試薬プローブ３１などを有する。
【０１１０】
ここで、制御装置１０、パーソナルコンピュータ１１、バスマスタ基板１２、およびドライバ基板１３については、前記実施の形態１の図１、図２と同様であるので、説明は省略する。
【０１１１】
試薬ディスク３０は、試薬３２を管理する。試薬ディスク３０の外周部には、等間隔にてしきり３５が設けられている。試薬ディスク３０の中央部には、試薬３２をセットするラック３３が設けられている。試薬ディスク３０の中心部には、例えば棒状の試薬シフト機構３４が設けられている。試薬３２は、試薬シフト機構３４によってしきり３５の間に配置される。
【０１１２】
この試薬シフト機構３４は、ラック３３から試薬ディスク３０へ試薬３２を出し入れする。試薬シフト機構３４は、棒状の先端部がＬ字状となっている。試薬シフト機構３４は、試薬ディスク３０の半径方向に移動する。また、試薬ディスク３０およびラック３３は、該試薬ディスク３０の円周方向にそれぞれ移動する。
【０１１３】
試薬３２を試薬ディスク３０に設置させる際には、試薬シフト機構３４の先端部を試薬ディスク３０の中心方向に移動させる。また、配置されるしきり３５の間に試薬３２が配置されるように試薬ディスク３０を移動させる。
【０１１４】
そして、ラック３３を移動させて分析する試薬３２を所定の位置に移動させ、該試薬シフト機構３４の先端部において、試薬３２をラック３３から試薬ディスク３０の外周方向に押し出して移動させる。
【０１１５】
また、試薬３２をラック３３に設置させる際には、試薬シフト機構３４の先端部のＬ字状部分に試薬３２を引っ掛け、試薬ディスク３０の中心方向に引き戻してラック３３まで移動させる。
【０１１６】
試薬プローブ３１は、試薬ディスク３０の外周部に配置された試薬３２を吸引する。試薬プローブ３１は、支点を中心に回動が可能な可動アームの先端部取り付けられている。
【０１１７】
図１２では、図示していないが、試薬シフト機構３４、試薬ディスク３０、ラック３３、および試薬プローブ３１は、モータによって駆動される。これらモータは、例えば前記実施の形態１の図１に示すモータ１４に相当する。また、試薬シフト機構３４、試薬ディスク３０、ラック３３、および試薬プローブ３１は、図１の制御対象１５に相当する。
【０１１８】
このように、モータによる駆動の対象が多く用いられている構成では、何らかの原因によって、自動分析装置の誤動作が生じた際に、試薬ディスク３０と試薬シフト機構３４とが干渉したり、試薬プローブ３１と試薬ディスク３０とが干渉してしまう恐れがある。
【０１１９】
このような状態に対応するため、制御装置１０は、異常を検知した際に、自動分析装置を安全に停止させる、あるいは停止させるだけではなく、自動分析装置を初期状態へ復帰させる自動停止機能を有する。
【０１２０】
〈制御装置の構成例〉
図１３は、図１２の自動分析装置に用いられる制御装置１０の一例を示す説明図である。
【０１２１】
制御装置１０は、図１３に示すように、ボード制御デバイス２０および複数のマイクロコンピュータ２１1〜２１5を有する。前記実施の形態１の図２と異なるところは、ボード制御デバイス２０にサンプリング部４０が新たに設けられた点である。
【０１２２】
また、サンプリング部４０には、マイクロコンピュータ２１1〜２１5のＣＰＵ２６からそれぞれ出力されるモータ制御信号および動作量データであるエンコーダ信号がそれぞれ入力されるように接続されている。エンコーダ信号は、例えば図１のモータ１４や図１に示す制御対象１５などから出力される信号であり、モータ１４や制御対象１５における移動量や移動角、あるいは回転数などを示す信号である。なお、図１２において、その他の接続構成については、図２と同様であるので、説明は省略する。
【０１２３】
図１３の制御装置１０において、サンプリング部４０は、ＣＰＵ２６から出力されるモータ制御信号および制御対象の状態を検知するエンコーダ信号をサンプリングする。サンプリング部４０によるサンプリング結果は、ＤＰＲＡＭ２４の図示しないレジスタに格納される。このレジスタが第１のレジスタとなる。これによって、各々のマイクロコンピュータ２１1〜２１5は、サンプリング結果をリードすることができる。
【０１２４】
また、マイクロコンピュータ２１1〜２１5のアドレス構成、すなわちＤＰＲＡＭ２４のアドレス構成には、干渉回避のためのレジスタをそれぞれ追加する。ＤＰＲＡＭ２４は、干渉回避のためのレジスタとして、図１３の左下方に示すように、干渉対象設定レジスタ１１０１、干渉ステータス１１０２、制御対象退避優先順位レジスタ１１０３、上限干渉しきい値レジスタ１１０４、下限干渉しきい値レジスタ１１０５、および干渉対象退避優先順位レジスタ１１０６を有する。
【０１２５】
第２のレジスタである干渉対象設定レジスタ１１０１は、制御対象と同じビット数を備え、干渉する可能性のある他の制御対象（以下、干渉対象という）に対応するビットに１をたてることで干渉対象であることを示す。
【０１２６】
干渉ステータス１１０２は、制御対象のステータスおよび干渉履歴で構成する。干渉ステータス１１０２は、通常は２’ｂ００であるが，干渉が起きると２’ｂ０１の停止状態となる。また、制御対象が初期位置へ退避する間は２’ｂ１０とし，制御対象の退避が完了すると２’ｂ００の通常状態へと戻る。
【０１２７】
干渉履歴は、干渉対象と干渉する異常な指令があった場合に、干渉する対象に対応するビットに１をたてることで干渉の履歴とする。この干渉履歴は、０ライトでクリアするまで状態を保持する。
【０１２８】
第４のレジスタである制御対象退避優先順位レジスタ１１０３および干渉対象退避優先順位レジスタ１１０６は、停止状態の後に初期位置へ退避する際に、どの制御対象から動作するかを規定する。干渉対象退避優先順位レジスタ１１０６は、干渉対象が２つある場合に設定される。
【０１２９】
マイクロコンピュータ２１1〜２１5は、制御対象と干渉対象の優先順位を比較し、制御対象の優先順位の方が干渉対象の優先順位より高い場合に初期位置への退避を行う。
【０１３０】
第３のレジスタである上限干渉しきい値レジスタ１１０４および同じく第３のレジスタである下限干渉しきい値レジスタ１１０５は、サンプリングしきい値であり、干渉するサンプリング値の範囲を規定する。
【０１３１】
〈干渉範囲の規定例〉
図１４は、制御対象の動作範囲および干渉領域の一例を示すイメージ図である。
【０１３２】
図１４において、縦軸は制御対象の動作範囲を示しており、横軸は、干渉対象の動作範囲を示している。これらの動作範囲は、例えばサンプリング値にて示される。また、ハッチングにて示す領域が干渉領域となっている。この干渉領域内に制御対象および干渉制御対象がいずれも入っている場合に、干渉する恐れがある範囲を示している。
【０１３３】
図１４に示すように、サンプリング値により制御対象および干渉対象の動作範囲を２次元的に把握し、図中のハッチングにて示す干渉領域の両端を上限干渉しきい値レジスタ１１０４および下限干渉しきい値レジスタ１１０５にそれぞれ設定されたしきい値にて規定する。
【０１３４】
マイクロコンピュータは、移動する範囲に干渉対象があるか比較判定し、干渉の有無を判断可能とする。例えば、制御対象が干渉領域内にあり、干渉対象が干渉領域内にない場合は、干渉がないと判断する。
【０１３５】
制御対象および干渉対象がどちらも干渉領域内にある場合は、干渉ありと判断する。干渉有りと判断した際には、自動分析装置における動作を停止させた後、該自動分析装置を自動復帰させる。
【０１３６】
〈自動停止機能の処理例〉
図１５は、図１３の制御装置１０による自動停止機能の処理の一例を示すフローチャートである。
【０１３７】
マイクロコンピュータは、制御対象を動作させる前に、干渉の恐れのある干渉対象の状態をＤＰＲＡＭ２４に格納されているサンプリング結果をリードして確認する（ステップＳ４０１）。そして、マイクロコンピュータは、干渉対象が上限干渉しきい値レジスタ１１０４および下限干渉しきい値レジスタ１１０５に格納されているしきい値内にある判定するために、ステップＳ４０１の処理のおけるリード結果としきい値とを比較する（ステップＳ４０２）。
【０１３８】
ステップＳ４０２の処理において、しきい値内であると判定した際には、制御対象を制御して、目的の位置へ移動させる（ステップＳ４０３）。また、ステップＳ４０２の処理において、しきい値外であると判定した際には、制御対象の移動を中止する（ステップＳ４０４）。
【０１３９】
そして、干渉するステータスおよび制御対象の移動を中止した旨をＤＰＲＡＭ２４の干渉ステータス１１０２に反映することによってバスマスタ基板１２へ通知する（ステップＳ４０５）。
【０１４０】
続いて、各々のマイクロコンピュータは、制御対象退避優先順位レジスタ１１０３および干渉対象退避優先順位レジスタ１１０６を参照し、優先度の高い制御対象を判断し、制御対象を初期位置へそれぞれ退避させる（ステップＳ４０６）。
【０１４１】
退避が完了すると、マイクロコンピュータは、退避完了のステータスを干渉ステータス１１０２に反映し（ステップＳ４０７）、一連の動作を終了する。また、パーソナルコンピュータ１１のアプリケーションがバスマスタ基板１２を介して干渉ステータス１１０２の変化を認識した場合、例えばパーソナルコンピュータ１１の画面上に警告など表示することによって操作者へ異常を通知する。
【０１４２】
以上により、制御対象の干渉を防止し、信頼性の高い自動分析装置における動作を提供することができる。
【０１４３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１４４】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【０１４５】
また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【符号の説明】
【０１４６】
１０  制御装置
１１  パーソナルコンピュータ
１２  バスマスタ基板
１３  ドライバ基板
１４  モータ
１５  制御対象
１６  センサ
２０  ボード制御デバイス
２１1  マイクロコンピュータ
２１2  マイクロコンピュータ
２１3  マイクロコンピュータ
２１4  マイクロコンピュータ
２１5  マイクロコンピュータ
２２  バスコントロール部
２３  バスコントロール部
２４  ＤＰＲＡＭ
２５  ＲＡＭ
２６  ＣＰＵ
３０  試薬ディスク
３１  試薬プローブ
３２  試薬
３３  ラック
３４  試薬シフト機構
３５  しきり
４０  サンプリング部
５００  制御装置
５０１  ボード制御デバイス
５０２  マイクロコンピュータ
【図１】
2015035184.tif 000003
【図２】
2015035184.tif 000004
【図３】
2015035184.tif 000005
【図４】
2015035184.tif 000006
【図５】
2015035184.tif 000007
【図６】
2015035184.tif 000008
【図７】
2015035184.tif 000009
【図８】
2015035184.tif 000010
【図９】
2015035184.tif 000011
【図１０】
2015035184.tif 000012
【図１１】
2015035184.tif 000013
【図１２】
2015035184.tif 000014
【図１３】
2015035184.tif 000015
【図１４】
2015035184.tif 000016
【図１５】
2015035184.tif 000017