(57)【特許請求の範囲】
【請求項１】
各々が唯一の第１状態索引番号と関連付けられている第１レベル状態のシーケンスで動作する少なくとも１つのレベル−１コントローラを備えていて、第１レベル状態のうちの１つと関連した第１レベルコマンドを出す第１の制御レベルと、
第１レベルコマンドに応答して、各々が唯一の第２状態索引番号と関連付けられている第２レベル状態のシーケンスで動作し、第２レベル状態のうちの１つで定められるレベル−２状態が実現されると、状態報告を第１の制御レベルに送る、前記レベル−１コントローラとは別個のレベル−２コントローラを備えた第２の制御レベルとを有し、
さらに、第１レベル状態に関連した複数のコマンドを有し、前記レベル−２コントローラからの状態報告を受けるためのレベル−１コントローラテーブルを生成するプロセッサを更に有し、レベル−１コントローラは、１つの第１レベル状態に関連したレベル−１コントローラテーブル中の識別された少なくとも１つのコマンドを評価することにより選択し、前記レベル−２コントローラに出すことを特徴とするシステム。
【請求項２】
第２の制御レベルは、レベル−２コントローラを含む複数のレベル−２コントローラを有し、第１レベルコマンドは、レベル−２コントローラを標的にしていることを特徴とする請求項１記載のシステム。
【請求項３】
レベル−１コントローラは、第１レベル状態のうちの１つで定められたレベル−１状態を検査し、状態報告及び検査結果に応答して前記１つの第１レベル状態を第１レベル状態のうちの別のレベル状態に移ることを特徴とする請求項１記載のシステム。
【請求項４】
レベル−１コントローラ及びレベル−２コントローラのうちの少なくとも一方は、それぞれ第１レベルコマンド又は第２レベルコマンドを出すことによりシステムコンポーネントを直接制御することを特徴とする請求項１記載のシステム。
【請求項５】
第２の制御レベルとシステムコンポーネントとの間のインタフェースを取る第３の制御レベルを更に有し、第３の制御レベルは、第１レベルコマンド及び第２レベルコマンドのうち少なくとも一方を受け取ったコマンドをシステムコンポーネントのために翻訳するよう設計されていることを特徴とする請求項４記載のシステム。
【請求項６】
ユーザインタフェースを更に有し、レベル−１コントローラテーブル中のパラメータは、ユーザインタフェース中の値を調整することにより可変であることを特徴とする請求項１記載のシステム。
【請求項７】
第１レベル状態のシーケンスは、該シーケンスを含む複数のシーケンスから成り、レベル−１コントローラは、複数のシーケンスの中から第１レベル状態のシーケンスを選択してホスト制御レベルから受け取ったホストレベルコマンドに応答して動作することを特徴とする請求項１記載のシステム。
【請求項８】
サンプル吸引コンポーネント、フローセルコンポーネント、搬送機構及び検尿のための画像収集コンポーネントを更に有し、第２制御レベルは、サンプル吸引コンポーネントを制御する第１のレベル−２コントローラを有し、第１レベル−２コントローラは、レベル−２コントローラであり、前記第２の制御レベルは、フローセルコンポーネントを制御する第２のレベル−２コントローラと、サンプル採取と関連した搬送機構を制御する第３のレベル−２コントローラと、画像収集コンポーネントを制御する第４のレベル−２コントローラとを更に有することを特徴とする請求項１記載のシステム。
【請求項９】
ポンプ、弁及びモータを更に有し、ポンプ、弁及びモータは、第１のレベル−２コントローラにより制御されることを特徴とする請求項８記載のシステム。
【請求項１０】
サンプル吸引コンポーネントを制御するための第２レベルコマンドを含むレベル−２コントローラテーブルを生成するプロセッサを更に有し、第１のレベル−２コントローラは、レベル−２コントローラテーブルに従ってサンプル吸引コンポーネントを制御し、レベル−２コントローラテーブルは、第２状態索引番号によって索引付けられていることを特徴とする請求項８記載のシステム。
【請求項１１】
レベル−２コントローラテーブルは、第１レベルコマンドに応答して動作するのが第２レベル状態のうちのどれであるかを指示することを特徴とする請求項１０記載のシステム。
【請求項１２】
レベル−２コントローラテーブルは、第２状態索引番号により索引付けられた行と、第２レベルコマンドを指示する第１の組をなす列と、前記状態報告を含む状態報告を指示する第２の組をなす列と、前記レベル−２状態を含むレベル−２状態が実現されたかどうかをチェックするためのレベル−２検査を指示する第３の組をなす列と、移るべき第２レベル状態のうちの１つを指示する第４の組をなす列とから成り、前記１つの第２レベル状態は、レベル−２検査の結果で決まることを特徴とする請求項１０記載のシステム。
【請求項１３】
レベル−１コントローラテーブルは、第１状態索引番号により索引付けされる行と、前記第１レベルコマンドを含む第１レベルコマンドを指示する第１の組をなす列と、レベル−１コントローラにより生成される状態報告を指示する第２の組をなす列と、レベル−１状態が実現されたかどうかをチェックするためのレベル−１検査を指示する第３の組をなす列と、検査結果に従って手順を指示する第４の組をなす列とから成ることを特徴とする請求項１２記載のシステム。
【請求項１４】
第１のレベル−２コントローラは、サンプル吸引コンポーネントを制御し、サンプル吸引コンポーネントのサブグループに含まれる弁は、第１のレベル−２コントローラと、第２のレベル−２コントローラの両方により制御されることを特徴とする請求項８記載のシステム。
【請求項１５】
フローセルは、流体の流れを制御する弁及びポンプを有することを特徴とする請求項８記載のシステム。
【請求項１６】
検尿用サンプルを保持する試料ラックを更に有し、搬送機構は、試料ラックを搬送するためのアーム、モータ及びコンベヤベルトのうち少なくとも１つを有することを特徴とする請求項８記載のシステム。
【請求項１７】
パラメータを含むレベル−２コントローラテーブルを生成するプロセッサを更に有し、第３のレベル−２コントローラは、レベル−２コントローラテーブル中のパラメータに従って搬送機構を制御することを特徴とする請求項８記載のシステム。
【請求項１８】
画像収集コンポーネントは、ストローブバルブ、カメラ及びモータを有することを特徴とする請求項８記載のシステム。
【請求項１９】
レベル−１コントローラは、検査結果に応答して、以下の動作、即ち、第１レベル状態のうちの１つから第１レベル状態のうちの別のものに進む動作、アイドル状態に進む動作及び検査結果に応じて誤差信号を生じさせる動作のうち１つを実施することを特徴とする請求項１記載のシステム。
【請求項２０】
検査は、センサの読みを得る段階と、センサの読みを基準値と比較する段階とから成り、結果は、センサの読み及び基準値の相対的大きさから成ることを特徴とする請求項１９記載のシステム。
【請求項２１】
基準値を含む不揮発性メモリを更に有し、基準値は、不揮発性メモリの再プログラミングにより可変であることを特徴とする請求項２０記載のシステム。
【請求項２２】
基準値は、再プログラムされた基準値を上書きすることなくユーザインタフェースにより可変であることを特徴とする請求項２０記載のシステム。
【請求項２３】
第２の制御レベルは、前記レベル−２コントローラを含む複数のレベル−２コントローラを有し、複数のレベル−２コントローラは各々、第１レベルコマンドに応答して第２レベル状態の一義的なシーケンスで動作するためのものであり、複数のレベル−２コントローラは、互いに対し非同期的にこれらのそれぞれのシーケンスで動作し、レベル−１コントローラは、複数のレベル−２コントローラの第２レベル状態のそれぞれのシーケンスの終了に応答して第１レベル状態を終了させることを特徴とする請求項１記載のシステム。
【請求項２４】
複数のレベル−２コントローラは、システムコンポーネントを直接的又は間接的に制御することを特徴とする請求項２３記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、米国仮特許出願第６０／４２７，４４５号及び米国仮特許出願第６０／４２７，５２７号についての３５ＵＳＣ§１１９（ｅ）に基づく権益主張出願であり、これら米国特許出願明細書の記載内容を参照により引用する。
発明の分野
本発明は一般に、状態機械アーキテクチャに関し、特に、希釈流体サンプル中の粒子を分析する方法及びシステムに関する。
【背景技術】
【０００２】
発明の背景
大抵のプロセスは、物理的に且つ時間的に一貫した仕方で互いに適合する幾つかのプロセスセグメントから成っている。例えば、流体制御及び画像化システム、例えば検尿システムは、サンプルを受け入れ、サンプルを吸引し、サンプルを流体系中へ注入するプロセスセグメントを有し、流体系において、サンプルが適正な仕方で流れているときに画像を撮る。有意なデータを生じさせるためには、サンプル容器、吸引器、弁、ポンプ及び光学部品は、適正な時期に適正な位置になければならず、種々の流体は、適正な時期に放出されなければならない。代表的には、これらプロセスセグメントは、ソフトウェア又はファームウェア中の命令に従って単一のプロセッサによりリアルタイム方式で制御される。命令は通常、「ハードコード化」分岐条件を考慮することにより種々の入力への応答を必要とする。この種の「ハードコード化」分岐は、“ＣＡＳＥ文（場合分け文）”の形態で起こり、この場合、各ケースは、状態に対応し、比較的複雑な“ＩＦ文”は、所与の状態の場合における入力への応答を定める。
【０００３】
この種のリアルタイム動作では、プロセスセグメントは、全て完全に同時には起こらない。例えば、フローセルに洗浄溶液をフラッシングしているときにそれと同時にサンプルを受け取って吸引できるが、吸引及びフラッシングは、終了するまでの時間の長さは互いに異なり、したがって、同時に開始して同時に終了することはない。さらに、これらプロセスの各々が終了するまでにかかる時間がどれぐらいの長さであるかは、常に正確に予測できるとは限らない。というのは、プロセスは、ランダムな要素（例えば、サンプル濃度が一定数の画像を捕捉するのに必要な時間を定めることになる）又は突発的な予定外の事態、例えば吸引針がつっかえて動かなくなった事態又は洗浄流体が正確に輸注されていない事態を有する場合があるからである。プロセスが成功するかどうかは、各プロセスセグメントがスムーズに動作するかどうかにかかっており、この種の突発的な予定外の事態は、もしその事態が正しく取り扱われなければ、プロセスセグメントを混乱させるだけでなくプロセスラン全体を無駄な努力にしてしまう。さらに、ランが間違っていることがいったん判定されると問題解決（トラブルシューティング）と関連した余分の非効率性が生じる。というのは、どのプロセスセグメントが或る特定の時点において進行していたかを正確に知ることは困難だからである。
【０００４】
単一プロセッサ型ハードコード化リアルタイムコントローラと関連した上述の欠点に加えて、プロセスエンジニアがソフトウェアエンジニアと協力してプロセスパラメータを調整することが必要であることに起因して追加の非効率源がある。プロセスエンジニアはプロセスを理解してコンポーネントをどのように設定すべきかを知っているが、プロセスの実行には通常、ソフトウェアエンジニアが必要である。かくして、典型的には、プロセスエンジニアは、プロセスを説明し、自分が達成して欲しいことをプログラマーに説明しなければならず、プログラマーは、コードを工夫する。このプロセスエンジニアとソフトウェアエンジニアの通信リンクには時間がかかるだけでなく伝達不十分（誤った伝達）又は理解不足（誤った理解）に基づく誤差の恐れが多く生じる。
上述の理由で、プロセスをより効率的に制御する方法が望ましい。
【発明の開示】
【課題を解決するための手段】
【０００５】
発明の概要
本発明は、コントローラのマルチレベルを有するシステム（例えば、検尿システム）である。このシステムは、第１レベル状態のシーケンスで動作する少なくとも１つのレベル−１コントローラを有する第１の制御レベルを有し、第１の制御レベルは、第１レベル状態のうちの１つと関連した第１レベルコマンドを発生する。このシステムは、第１レベルコマンドに応答して第２レベル状態のシーケンスで動作する少なくとも１つのレベル−２コントローラを有する第２の制御レベルを更に含む。レベル−２コントローラは、第２レベル状態のうちの１つで定められたレベル−２状態が第２レベル状態で実現されると、状態報告を第１の制御レベルに送る。
【０００６】
本発明は又、プロセスを実行する方法に関する。この方法は、実行されるべき第１レベル状態のシーケンスを識別する段階、第１レベル状態のうちの１つに関連付けられた第１レベルコマンドをレベル−２コントローラを有する第２レベルに出す段階及びレベル−２コントローラから第２レベル状態報告を受け取る段階を有する。状態報告は、第１レベルコマンドに応答したレベル−２コントローラの状態を指示している。
【０００７】
本発明は、別の特徴では、コントローラ及びシステムコンポーネントを有するシステムを制御する方法に関する。この方法は、コントローラによっては読み取りできない第１の言語で表されていて、システムコンポーネントを制御する命令である入力パラメータを受け取る段階、入力パラメータをコントローラによって読取り可能な第２の言語で表された翻訳パラメータに変換する段階及び入力パラメータ及びこれに対応した翻訳パラメータを含むテーブルを作成する段階を有する。入力パラメータは、テーブル中で編集可能である。
【０００８】
本発明は、更に別の特徴として、コントローラ、システムコンポーネント及びコントローラ及びシステムコンポーネントを制御するのに有用なテーブルを生成するプロセスを含むシステムに関する。テーブルは、コントローラによっては読み取りできない第１の言語で表された命令を含む第１の組をなす列と、コントローラによって読取り可能な第２の言語で表された命令を含む第２の組をなす列とを有する。第２の組をなす列中の値及び命令は、第１の組をなす列中の命令の翻訳バージョンである。
【０００９】
本発明は、別の特徴では、レベル−１タスクを第１のレベル−２タスク及び第２のレベル−２タスクに分割し、第１レベルコマンドをそれぞれ第１のレベル−２コントローラ及び第２のレベル−２コントローラに出すレベル−１コントローラを有するシステムに関し、第１のレベル−２コントローラは、第１のレベル−２タスクを実行し、第２のレベル−２コントローラは、第１レベルコマンドに応答して第２のレベル−２タスクを実行し、第１のレベル−２コントローラ及び第２のレベル−２コントローラがこれらのレベル−２タスクを終了させ、レベル−１コントローラがレベル−１タスクを終了させるようにする。
【００１０】
本発明は又、互いに異なる制御レベルの複数のコントローラを有する多層制御システムに関する。各コントローラは、一義的な組をなす値を含むコントローラテーブルに従って挙動する。コントローラテーブルは互いに異なる値を含むが、これらテーブルは、実質的に似通ったフォーマットを有している。各コントローラテーブルは、状態によって索引付けされ、低レベルコントローラに出される第１の列をなすコマンド、高レベルコントローラに送られる第２の列をなす状態報告、あらかじめ定められた条件が満たされたかどうかをチェックするための第３の列をなす検査及びあらかじめ定められた条件が満たされた場合の手順を定める第４の列を有する。インタフェース制御レベルは、複数のコントローラからコマンドを受け取り、これらコマンドに応答してシステムコンポーネントを制御する。
【発明を実施するための最良の形態】
【００１１】
好ましい実施形態の詳細な説明
本発明は、検尿プロセスに特に利用でき、この関係において、本発明を説明する。しかしながら、本発明のシステム及び方法の利用可能性は広いことは理解されよう。というのは、かかるシステム及び方法は、１以上の状態機械としてモデル化できる他形式のプロセスに使用できるからである。本発明は、米国特許第４，３３８，０２４号明細書及び第４，３９３，４６６号明細書に開示された技術を利用するin vitro検尿診断装置に組み込むことができる。
【００１２】
一般に、２種類の状態機械、即ち同期型状態機械及び非同期型状態機械がある。同期型状態機械は、クロックのビートに同期されたプロセス（又はプロセスのタイムスライス）のセグメントを実施する。かくして、プロセスが一連の１分間のタイムスライスに分割される場合、これらタイムスライスの各々についてのあらかじめ割り当てられたタスクは、各クロック信号でトリガされる。同期型状態機械の利点は、その安定性にあり、これは、全てがクロックに同期されていることに由来している。しかしながら、この同期は、同期型状態機械の欠点でもある。というのは、同期は、最も早いプロセスランを得ることができない場合が多いからである。さらに、正しいクロック速度を選択することは、手が込んでいて難しい場合がある。というのは、プロセスの幾つかの部分は、他の部分よりも早いクロック速度を必要とする場合があるからである。クロック速度が遅過ぎると、連続したクロック信号相互間で開始したり終了する事象又はイベントの中には見過ごされてしまうものが生じる恐れがある。
【００１３】
非同期型状態機械は、同期型状態機械よりも早い解決策を提供する。クロックのビートに合わせて動作することはない非同期型状態機械は通常、出力が遅延線を通って入力としてフィードバックされる論理素子のブロックから成る。
【００１４】
かくして、非同期型状態機械の出力及び次の状態は、現在の状態と現在の入力の組合せで決定される。現在の状態値が遅延線をいったん通過すると次の状態が即座に決定されるということにより、プロセスは、もし遅延が短ければ早くランできる。しかしながら、これら非同期型状態機械に欠点が無いわけではない。入力検査条件の全ての変化は組合せ論理の出力に即座に反映され、遅延要素を介して伝搬する次の状態を開始させるので、非同期型状態機械は、不安定な場合がある。非同期及び同期型状態機械についての技術背景情報及び詳細は、ティンダー・リチャード・エフ（Tinder, Richard F）著，「エンジニアリング・ディジタル・デザイン（Engineering Digital Design），アカデミック・プレス（Academic Press），２０００年１月に見られる。
【００１５】
本発明は、同期型状態機械の安定性と非同期型状態機械の速度を有するが、いずれの欠点も無いハイブリッド型状態機械を提供する。このハイブリッド型状態機械は、１以上のコントローラが各レベルで存在するマルチレベルコントローラシステムの形態で具体化される。一レベルに多数のコントローラがあれば、同一レベル内でのコントローラは、互いに別々に挙動する。各コントローラの挙動は、状態記録理論（status record formalism
）で定められ、かかる状態記録理論は、スプレッドシート（表計算）／テーブルで具体化できる。スプレッドシートは、多数の欄（フィールド）を有し、各行は、「状態記録」である。欄の中には、或る特定の条件を検査するものがあり、「次の状態」は、検査結果に基づいて識別される。次に、コントローラは、次の状態に移り、この次の状態における欄の値／コマンドを実行する。
【００１６】
マルチレベルコントローラシステムの各コントローラは、それ自体のスプレッドシートに従って挙動する。例えば、第１の制御レベルに１つのコントローラを有し、第２の制御レベルに３つのコントローラを有するシステムの場合、４つのスプレッドシートがあることになる。第１の制御レベルのコントローラは、コマンドを第２の制御レベルの３つのコントローラに出し、３つのコントローラは、コマンドに従って自分のタスクを実行し、これらのタスクが終了すると、少なくとも１つの信号を第１の制御レベルのコントローラに送り戻す。３つのコントローラは必ずしも同時に自分のタスクを終了しないが、第１の制御レベルのコントローラは、第１の制御レベルに関するスプレッドシートの次の状態に移る前に３つ全てのコントローラから戻ってくる連絡を受けるのを待っている（又は、しかしながら多くの場合、３つ全てのコントローラから戻ってくる連絡を受ける必要がある）。かくして、第２の制御レベルの３つのコントローラが互いに別個に自分のタスクを実行するが、第１の制御レベルのコントローラは、次の状態に進む前に３つのコントローラから戻ってくる連絡を受けるのを待つことにより状態を或る程度同期させる。
【００１７】
このハイブリッド型状態機械は、第１の制御レベルのコントローラが所定の組をなすタスクを達成し又は条件が満たされると、現在の状態から次の状態に移るという点で同期型状態機械に似ている。しかしながら、このハイブリッド型状態機械は、同期型状態機械のようにクロックのビートに制約されることはない。これとは異なり、ハイブリッド型状態機械は、できるだけ迅速にプロセスを実行することができ、そのコンポーネントはそれぞれ別々のタスクを実行することができる。高速プロセッサを用いることにより、ハイブリッド型状態機械は、非同期型状態機械とほぼ同じほど早くプロセスを実行するよう製作できる。
【００１８】
ハイブリッド型状態機械は、非同期型状態機械の特性を更に有する。例えば、ハイブリッド型状態機械は、次の段階を決定する条件を検査し、これら条件が満たされるとすぐに次の状態に進む。しかしながら、ハイブリッド型状態機械では、非同期型状態機械のような不安定性の問題が生じない。というのは、第１のレベルは、プロセス中の或る特定の点（即ち、各状態の終わり）でプロセスセグメントを同期させ、状態記録理論に鑑みて、全ての考えられる状態及び状態移行が特定される。欄付きのスプレッドシートで具体化される状態記録理論は、パラメータを全て特定してプロセスの或る特定の点が同期されるようにする。
【００１９】
このマルチレベルコントローラアーキテクチャのもう１つの利点は、最も低いレベルを除き、あらゆるレベルでの構文を同一に作ることができ、プログラミングプロセスが劇的に単純化されることにある。このマルチレベルコントローラシステムの各レベルでは、コントローラは、そのスプレッドシートに何があるかについて単に「認識する（知る）」と共に関心を示すに過ぎず、それ自体のレベルの上又は下のレベルで起こっている詳細の全てについて認識しているわけではない。例えば、３レベル化システムは、１）ランシーケンスを実行する高制御レベル、２）ランシーケンスの各々の状態を実行し、コマンドを次の低制御レベルに出す中間制御レベル、及び３）状態中のコマンドに従ってモータ、アクチュエータ及び弁を制御する低制御レベルを含む場合がある。このシステムでは、高制御レベルは、ランシーケンスコマンドを中間制御レベルに送り、これが連絡を聞く必要のある中間制御レベルの全てのコントローラから戻って来る連絡をいったん受けると、次のランシーケンス状態に移るのを認識しているに過ぎない。高制御レベルは、中間制御レベルにおける状態の詳細、中間レベルよりも下の低制御レベルの存在、低制御レベル、弁及びモータ等の各々の機能を全て認識していない。これと同様に、中間制御レベルは、或る特定のコマンドを高制御レベルからのコマンドに応答して低制御レベルに送り出し低制御レベルから戻って来る連絡を受けると次の状態を決定するのを認識しているに過ぎない。
【００２０】
スプレッドシートを用いた場合の利点は、プロセスエンジニアの用語法（例えば、モータ＃２オン／オフ、検査センサ＃１２、弁＃３オン／オフ）がスプレッドシートの欄に用いられている場合、プロセスエンジニアは、プログラマーから援助を受けないでプロセスランの設定値を調整できるということにある。値をスプレッドシートの欄に入力することにより、プロセスエンジニアは、自分で各レベルについての状態及びランシーケンスを特定することができる。スプレッドシートにより、プロセスエンジニアの好みの言語でプロセスエンジニアからの入力信号を受け取り、これら入力信号を機械により使用できるコードに変換することによりプロセス技術用語に分解することができる。変換されたコードは、スプレッドシートの部分、例えば別個の組をなす列（縦の列）の状態で再び送ることができる。
【００２１】
本明細書で用いる「状態（ステータス）」は、或る特定の位置／設定値の状態にあり又は特定のタスクを実行しているコントローラ及びシステムのコンポーネントと関連したプロセスセグメントを意味する。「タスク」は、何か積極的なことを行ない、例えば弁を開く命令又は待機のような何か自動的なことを行なう命令であるのがよい。図８、図９、図１０及び図１１のスプレッドシートの行（横の列）は、例えば状態を表している。「状態記録」は、図８、図９、図１０及び図１１のスプレッドシートの行中の欄の値又はパラメータの集まりである。「パラメータ」は、テーブル中の値を意味している。状態は、「状態索引（インデックス）」又は「状態順序」によって索引付けできる。状態記録中の欄は、所与の状態にあるとき、検査及びこれら検査が状態を終了させるために満足させなければならない条件と共にコントローラからの出力を表し／特定する。例えば、レベル−１コントローラが第１レベルコマンドを第２の制御レベルの３つのコントローラに出そうとしている場合、レベル−１コントローラは、その状態記録のそれぞれの欄からこれらレベル−２コントローラの各々についての特定のコマンドを得ることになる。これら第１レベルコマンドは、各レベル−２コントローラにより実行されるランシーケンスを識別することができる。この場合、各レベル−２コントローラは、識別されたランシーケンス中の第２にレベル状態を実行する。本明細書においては、第１の制御レベルのコントローラを「レベル−１コントローラ」と呼び、第２の制御レベルのコントローラを「レベル−２コントローラ」等と呼ぶ。また、本明細書で用いる「第１レベルコマンド」は、レベル−１コントローラにより出されるコマンドを意味し、「第２レベルコマンド」は、レベル−２コントローラ等により出されるコマンドを意味する。状態の「実行」は、各状態において適切な措置を講じて状態を適当な順序で行なうことを意味する。
【００２２】
多数の状態は、「ランシーケンス」を構成する。代表的には、ランシーケンスは、特定の機能、例えばサンプル吸引又は試料ラックを点Ａから点Ｂに移動させる機能を達成するよう特定の順序で配列された特定の組をなす状態を有する。多くの場合、第２の制御レベルにおける多数の状態ランシーケンスは、第１の制御レベルの単一の状態に対応している。
【００２３】
本明細書で用いる「モータ」は、実際に機械部品を動かすモータとポンプ等を駆動するモータの両方を含む。本明細書で用いる「コンポーネント」は、コントローラ以外のシステムの物理的部分全てを意味している。「コマンド」は、高レベルのコントローラから低レベルのコントローラに伝わる信号であり、「状態報告」は、低レベルのコントローラから高レベルのコントローラに伝わる信号である。
【００２４】
次に、図面を参照して本発明を更に説明する。
図１は、本発明により具体化できる例示の検尿プロセス１０のフローチャートである。分析プロセス１０は、尿サンプルがサンプル採取システムにより受け取られると（段階１２）開始する。受け取ったサンプルを混合してシステム中へ吸引し、流体系中へ導入する（段階１４）。流動顕微鏡中の要素は、サンプルを染色して混合し（段階１６）、これをフローセルに通し、ここで画像を撮る（段階１８）。ホストコントローラは、撮像を監督する。画像化コンピュータは、フローセルからデータを受け取り（段階２０）、これらを必要に応じて処理し（段階２２）、そしてデータを表示する（段階２４）。
【００２５】
図２は、例示の検尿システム３０の主要コンポーネントを示すブロック図である。検尿システム３０は、サンプラ３２及び鏡検分析器ユニット３４を有しこれらは両方共、情報コンピュータ３６に送る。通信リンク３７が、鏡検分析器ユニット３４をコンピュータ３６に接続し、このコンピュータ３６は又、実験室情報システム（ＬＩＳ）３８に接続されている。サンプルの検査管を備えた試料ラック４０が、サンプラ３２と鏡検分析器ユニット３４との間を移動する。実施形態の中には、自動化ラック移送機構が、試料ラック４０をサンプラ３２から鏡検分析器ユニット３４に移送するものがある。実施形態の中には、移送が手作業で行なわれるものもある。
【００２６】
図３は、本発明に使用できる例示のベンチトップモジュール鏡検分析器ユニット３４の斜視図である。鏡検分析器ユニット３４は、サンプルを吸引し、流動顕微鏡内に提供された検体（分析物）画像のディジタル画像捕捉法を用いて尿サンプルから画像を収集し、画像処理を行なって個々の粒子を単離する。鏡検分析器ユニット３４は、それ自体の電源、プロセッサ、コントローラ、サンプルを識別するバーコードリーダ、システムの機械的コンポーネントを駆動するモータ、ピペットでサンプルを検査管から移す流体系及びコンピュータ３６への通信リンク３７を有している（図２参照）。鏡検分析器ユニット３４は外部に、試料ラック４０が載せられるプラットホーム４２及び幾つかのボタン、例えば開始ボタン４４を有する。試料ラック４０は、プラットホーム４２の測定側４４上に載置する。多数（例えば、５つ）のラックを同時に載置することができる。入力コンベヤ（ＣＩ）が、ラックをユーザから遠ざけて壁４８に近づけ、ここでサンプルをピペットシステム（図示せず）により吸引する。各サンプルが吸引されると、シフトレバーアームが、ラックを戻し側４６に小刻みに近づけ、次のサンプル検査管をピペットの下に配置する。全ての検査管のサンプルが採取されると、戻し側４６の近くに位置する出力コンベヤ（ＣＯ）がラックを前方に移動し、壁４８から遠ざける。多数のラックがプラットホーム４２上に置かれる場合、測定側４４上のちょうど後ろのところ（即ち、壁４８の近く）に位置していたラックは、戻し側上で前のところ（即ち、壁４８から遠ざかったところ）で終わりになるであろう。
【００２７】
図４は、鏡検分析器ユニット３４の略図である。図の左から右に沿って９個のコネクタ５０が、レベル−１コントローラ５２（ＨＬＣ）及びレベル−１コントローラによって制御されるレベル−２コントローラ５４に接続されている。図４に示す実施形態では、レベル−２コントローラは、第１のレベル−２コントローラ５４ａ（これは、試料呈示組立体（ＳＰＡ）コントローラとも呼ばれる）、第２のレベル−２コントローラ５４ｂ（これは、流体ブロック組立体（ＦＢＡ）コントローラとも呼ばれる）、第３のレベル−２コントローラ５４ｃ（これは、試料搬送機構（ＳＴＭ）コントローラとも呼ばれる）及び第４のレベル−２コントローラ５４ｄ（これは、光学ブロック組立体（ＯＢＡ）コントローラとも呼ばれる）を含む。レベル−２コントローラは各々、或るシステムコンポーネントを制御する。
【００２８】
第１のレベル−２コントローラ５４ａは、信号をピペットモータ６０，６２、排気ポンプ６４、シースポンプ６７及び弁６８のうちの幾つかに送ることにより吸引プロセスを制御する。第１のレベル−２コントローラ５４ａによって制御されるピペット操作ステーションが、鏡検分析器ユニット３４の前の近くに配置される。ピペットモータ６０，６２によって制御されるピペッタは、サンプルを混合し、所定量のサンプルを吸引する。サンプルをその管内で混合し、サンプル採取プローブは、管の底部まで下降し、空気のパルスを追い出して鏡検分析器ユニット３４により処理される前に沈澱物の一様な混合を保証する。混合後、サンプルを真空により一連の管を通ってフローセル内へ引き込み、これら管は、染色液を尿中へ導入して混合させることができる。
【００２９】
第２のレベル−２コントローラ５４ｂは、信号をカニューレポンプ７０、シースポンプ６７及び弁６８の幾つかに送ることによりフローセルを制御する。特定の実施形態では、弁６８は、第１のレベル−２コントローラ５４ａと第２のレベル−２コントローラ５４ｂの両方によって制御される。流体系コンポーネントは、染色液容器（図示せず）、シース容器（図示せず）及びサンプル、染色液、シース流体及び洗浄液（例えば、ＩＲＩＳｏｌｖ）を吸引してこれらを流体ブロック及びフローセル中へ循環させる３つのポンプ６４，６７，７０で構成されている。ポンプ６４，６７，７０は、蠕動ポンプ又は押し退けポンプであるのがよい。
【００３０】
第３のレベル−２コントローラ５４ｃは、ラックを経路に沿って動かす種々のアームに信号を送ることにより、試料ラック４０を搬送するよう機能するコンポーネントに信号を送る。具体的に説明すると、第３のレベル−２コントローラ５４ｃは、信号をフロントアーム式ステップモータ７６ａ、リヤアーム式ステップモータ７６ｂ、１以上の電子モータ７８に送って主要ラック４０を動かす。サンプルプラットホーム４２上の管（図３に示されている）からのサンプル採取は、ポンプで駆動されるフルイディックスサブシステムによって行なわれる。サンプル採取プロセスを駆動するのに任意適当なポンプを用いることができ、かかるポンプとしては、米国特許出願（願番未付与；代理人事件番号：２１０２４０２−９１４９１１）に記載された形式の押し退けポンプが挙げられる。
【００３１】
第３のレベル−２コントローラ５４ｃは、バーコードリーダ９０とインタフェースを取る。バーコードリーダ９０は、サンプル管上のバーコードラベルを走査し、識別情報を局部記憶状態に保持する。最終的に、バーコードリーダ９０は、コンピュータ３６を介して、走査された識別情報を実験室情報システム（ＬＩＳ）３８に送る。
【００３２】
第４のレベル−２コントローラ５８は、流動顕微鏡の光学コンポーネントを制御し、かかる光学コンポーネントは、顕微鏡（図示せず）内に設けられていて、フローセルの位置を調整する電動式ポジショナ８６を含むのがよい。鏡検分析器ユニット３４がストローブ照明を利用する実施形態では、ストローブは、ＣＣＤカメラ８４と同期した状態で高速で点滅する。ホストコントローラにより制御されるＣＣＤカメラ８４は、ストローブフラッシュ中に画像を捕捉する。レベル−１コントローラは、ストローブバルブ又はストローブ球８２を間接的に制御する。顕微鏡は代表的には例えば拡散フィルタ、レンズ及び光を所望の仕方で合焦させる他の光学素子のようなコンポーネントを有する。図示の実施形態では、これらのコンポーネントのうち幾つかは、第４のレベル−２コントローラ５４ｄによって制御される。
【００３３】
画像を撮った後、廃棄物ポンプ９４は、廃棄物チャンバに通じている廃棄物ライン中へ流体を破棄する。廃棄物ウェル液体レベルセンサ組立体７３が、廃棄物チャンバ内の液位を検出する。
【００３４】
図５は、本発明のレベル化システムアーキテクチャ１００の略図である。単一のプロセッサを用いてリアルタイム動作を実行する従来型システムの場合とは異なり、レベル化システムアーキテクチャ１００は、互いに制御し、最終的にはシステムコンポーネントを制御するマルチレベルのプロセッサ及び（又は）コントローラを有している。例えば、ホストレベルコントローラ５６は、ホストプロセッサを含み、レベル−１コントローラ５２は、マスターコントローラを含み、レベル−２コントローラ５４は、４つのコントローラ５４ａ，５４ｂ，５４ｃ，５４ｄを含み、レベル−３コントローラは、レベル−２コントローラとシステムコンポーネントとのインタフェースを取る１以上のコントローラを含む。モータ、ポンプ及び弁は、レベル−３コントローラによって制御され、これらレベル−３コントローラは、Ｃでプログラムされており、代表的には、プロセスエンジニアが第２及びレベル−２コントローラ５２，５４の動作を制御するために接近する状態記録のように可変ではない。
【００３５】
図示の実施形態では、ホストレベルコントローラ５６は、分析プロセッサ（ＡＰ）５６ａ及び沈澱物モジュールホスト（ＳＭＨ）５６ｂを有する。ＳＭＨ５６ｂは、レベル−１コントローラ５２を直接制御する。しかしながらユーザインタフェースは、ＡＰ５６ａで具体化される。かくして、ユーザの観点からは、システムを制御するのに２つの経路があり、即ち、１）鏡検分析器ユニット３４に設けられたボタン（図３参照）を押すこと、又は、２）ＡＰ５６ａにおいてユーザインタフェース（例えば、ＧＵＩ）を用いてコマンドを入力することである。２つの経路により、ユーザは、システムの互いに異なる特徴を制御することができる。本発明は、図５に示されたホストレベルコントローラ５６の特定の形態には限定されない。
【００３６】
このマルチレベルシステムアーキテクチャ１００では、「高」レベルは、コマンドを「低」レベルに送り、この「低」レベルは、コマンドに従って或る特定の機能を実行し、命令を出した「高」レベルに少なくとも１つの状態報告を戻す。例えば、レベル−１コントローラ５６は、第１レベルコマンドをレベル−２コントローラ５２に送り、レベル−２コントローラ５２は、レベル−１コントローラ５６からの第１レベルコマンドに従ってレベル−３コントローラ５４に第２レベルコマンドを送る。レベル−３コントローラ５４は、レベル−２コントローラ５２からの第２レベルコマンドに従ってその機能を実行し、機能を終了させると、状態報告をレベル−２コントローラ５２に戻す。レベル−２コントローラ５２は、これが受け取るのを期待する全ての状態報告を受け取るのを待ち、これが生じると、状態報告をレベル−１コントローラ５６に送ってレベル−１コントローラにレベル−２コントローラ５２がその機能を終了したことを知らせる。本明細書で用いる「終了」は、指定されたタスクの上首尾の終了又は指定された時間の長さの経過を意味するのがよい。
【００３７】
このレベル化システムアーキテクチャ１００を上述の検尿プロセス１０に利用することができる。ただし、その有用性は、これには限定されない。図８、図９、図１０及び図１１には図示されていないが、スプレッドシートの各々は、スプレッドシートにより作成され、コントローラをプログラムするヘッダファイルを備えた列を含む。ヘッダファイルは通常、状態記録情報を含む１６進法ファイルの形態を取っており、レベル−１コントローラ５２及びレベル−２コントローラ５４を具体化するマイクロコントローラの各々と関連したＥＥＰＲＯＭにロードされるようになる。このように、プログラマーである必要は無いプロセスエンジニアは、コントローラにより解読されたコードを自動的に発生させる欄の値をスプレッドシートに入力することができる。レベル−１コントローラ５２及びレベル−２コントローラ５４についてのスプレッドシート中の値を入力し又は修正することにより、プロセスエンジニアは、プログラマーに頼ることなくプロセスパラメータを修正することができる。
【００３８】
図６は、ホストコントローラ５６がレベル−１コントローラ５２に送る例示の組をなすランシーケンスを提供している。図示の実施形態では、各ランシーケンスは、２文字のコードＬ1Ｌ2６００によって識別される。各ランシーケンスに関し、開始状態６０２、終了状態６０４及び特定のランシーケンスで何が行なわれているかについての一般的な説明６０６がある。例えば、状態１〜状態１４で実施されるランシーケンスＲＨでは、レベル−２コントローラ５４は、リセットされる。状態１５〜状態９９で実施されるランシーケンス１６では、システムは、ラックのランを再開させる。ランシーケンスを実施する順序には制約は無く、全てのランシーケンスが、プロセス中に実行される必要はない。また、幾つかの状態を多数のランシーケンスで実施できる。状態３５０〜状態３６６を含む“Irisolve clean”についてのランシーケンスＰＩは、「漂白剤による洗浄（wah with bleach ）」についてのランシーケンスＷＡの一部である（状態３５６〜３９２）。ホストコントローラ５６の沈澱物モジュールホストＰＣ部分は、プロセスエンジニアが何が行なわれるかを望むに応じてランシーケンスＰＩ又はランシーケンスＷＡについての信号を送る。
【００３９】
図７は、レベル−１コントローラ５２及び最も低いレベルのコントローラを除く他のレベルの各々が作動信号をホストコントローラ５６（又は次の高いレベルのコントローラ）からいったん受け取ると、どのようにランシーケンスを実行するかを示す状態機械記録インタプリタを示す図である。当初、作動時、レベル−１コントローラ５２をリセットし（段階７００）、アイドル状態にある（段階７０２）。この時点で、現在の状態は、図６に「開始状態」列中に確認された状態である。第１の状態の機能を終了させた後、コントローラは、シーケンス中の次の段階に進み、状態番号（段階７０４）を調節して先の状態において「次の状態」であった状態が今や「現在の状態」であるようにする。コントローラは、次の段階を終了させるのを待ち（段階７０６）、次に矢印７０８で示されているように次の段階に移行する。シーケンス中の次の状態が無いようになるまで段階７０４，７０６を繰り返し実施した後、その時点で、ランシーケンスが終了し、レベル−１コントローラ５２は、段階７０２中のアイドル状態に戻る。
【００４０】
図８、図９、図１０及び図１１は、検尿プロセス１０を実施するために用いることができる例示のテーブル（表）を定めている。図８のテーブルは、レベル−１コントローラの状態記録テーブル３００であり、これは、レベル−１コントローラ５２の挙動を定めている。図８、図９及び図１０のテーブルは、レベル−２コントローラ５４の挙動を定めるレベル−２コントローラ状態記録テーブルである。表は、状態が各行で表され、信号が各列で表されるよう作成されている。テーブル中において、“ＳＭ”は、隣りの高いレベルにあるコントローラ又はプロセッサを意味している。例えば、レベル−１コントローラ５２の全体から見たＳＭは、ホストコントローラ５６であり、レベル−２コントローラ５４の全体から見たＳＭは、レベル−１コントローラ５２である。
【００４１】
図８は、例示のレベル−１コントローラ状態記録テーブル３００を示す図である。状態記録テーブル３００は、種々の欄を示す列及び互いに異なる状態を示す行を備えたスプレッドシートの形態をしている。レベル−１コントローラ５２は、ランシーケンスを終了させるまで現在の状態から次の状態に移る。状態索引３０２は、説明列３０４に記載された状態についての数値表示を示している。各状態に関し、レベル−１コントローラ５２がレベル−２コントローラ５４に出すコマンド３０６がある。コマンド３０６ａ，３０６ｂ，３０６ｃ，３０６ｄに応答して、レベル−２コントローラ５４ａ，５４ｂ，５４ｃ，５４ｄは、或る特定の機能を実行し、状態報告３０８ａ，３０８ｂ，３０８ｃ，３０８ｄをレベル−１コントローラ５２に戻す。レベル−２コントローラ５４は、これらの機能を互いに別個独立に且つ非同期状態で実行する。レベル−２コントローラ５４はこれらのそれぞれの機能を終了させるのに要する時間の長さが互いに異なるので、これらコントローラは各々、これらのそれぞれの状態報告を互いに異なる時点でレベル−１コントローラ５２に戻すことになる。レベル−１コントローラ５２は、全ての予想される状態報告が戻されるまでは次の状態を実行するコマンドを送らない。レベル−１コントローラ５２が次の状態に移る前に受け取ることが必要な状態報告の数には制約がない。状態報告欄３０８中の値は、プロセスエンジニアによって変えることができ、テーブル３００においては、“０Ｘ００”は、状態報告が必要でないことを意味している。
【００４２】
レベル−２コントローラ５４との通信に関連した欄３０６，３０８に加えて、レベル−１コントローラ状態記録テーブル３００は、ホストコントローラ５６との通信に関連した欄パラメータを含む。ＳＭＴｅｓｔ３１０は、レベル−１コントローラ５２がホストコントローラ５６から受け取る信号を意味している。ＳＭＴｅｓｔ３１０の特定の値は、２文字コードを表し、この２文字コードは、２文字コードを受け取った時点におけるレベル−１コントローラの状態に応じて別々に解読される。例えば、レベル−１コントローラが特定のコードを受け取った時点でアイドル状態であれば、レベル−１コントローラは、そのコードを図６に示すランシーケンスとして解読することになる。レベル−１コントローラは、ランシーケンスを識別するために図６のテーブルにアクセスした後ランシーケンスを実行することになる。レベル−１コントローラは又、信号ＴｏＳＭ３１２をホストコントローラに送り、ランシーケンスが進行中であることをホストコントローラに知らせる。以後の或る時点で、ホストコントローラは、別の２文字コードを出して例えば全ての必要なデータを収集したという理由でランシーケンスを停止させる。この時点で、レベル−１コントローラは２文字コードを受け取った時点でランしているので、レベル−１コントローラは、受け取った２文字コードがＳＭＴｅｓｔ３１０の欄中の値に合致しているかどうかを確認する。この値がＳＭＴｅｓｔ３１０の値に合致していれば、レベル−１コントローラは、その状態を終了させる。次に、レベル−１コントローラは、信号ＴｏＳＭ３１２を送ってランシーケンスが終了したことを指示する。
【００４３】
Ｔｖａｌｕｅ３１４とＴｆｕｎｃ３１６は一緒になって、状態がどれぐらい長く続くかを求める。具体的に説明すると、Ｔｖａｌｕｅ３１４は、時間フレームを或る所定の時間的単位で指示し、Ｔｆｕｎｃ３１６は、Ｔｖａｌｕｅ３４０中へ指示された時間フレームがどのように使用されるべきかを指示する（例えば、最大ランタイムとして）。状態がＴｖａｌｕｅ３１４及びＴｆｕｎｃ３１６により定められた時間フレーム内で終了しない場合、ユーザに予期しない事態がこの状態で発生したという警告を出すためにエラーメッセージを生じさせるのがよい。
【００４４】
Ｓｅｎｓ３１８、ＳＴｓｔ３２０及びＳＭｓｋ３２２は、センサ状態の決定に関している。パラメータを測定し又は検出する多くのセンサが鏡検分析器ユニット３４内に設けられており、Ｓｅｎｓ３１８は、特定の状態に適したセンサを識別する。ＳＴｓｔ３２０
は、センサの状態（例えば、オン又はオフ）を識別する。ＳＭｓｋ３２２は、手順を決めるためにＳＴｓｔ値と比較される基準値を提供する。基準値に対して或る特定の関係を持つＳＴｓｔ値を本明細書においては次の段階を終了に向かって連れていく（条件）と呼ぶ。
【００４５】
ホストコントローラからの信号（ＳＭＴｅｓｔ３１０）、第３レベルのコントローラの状態３０８及びＳＭｓｋ３２２に対するセンサの状態（ＳＴｓｔ３２０）は、次の状態を決定する。これらの値により分岐が起きないことが分かると、現在の状態は、終了し、現在のランシーケンス中の次の連続番号の状態索引が起動された状態になる。現在の状態がランシーケンスの終わりに終了する場合、ＴｏＳＭ３１２信号がホストコントローラ５６に送られてランシーケンスが終了したことを指示する。すると、レベル−１コントローラ５２は、ホストコントローラ５６が新たなランシーケンスを起動する別のＳＭＴｅｓｔ信号を出すまではアイドル状態のままであろう。ＳＭＴｅｓｔ３１０、レベル−２コントローラ状態３０８及びセンサ状態ＳＴｓｔ３２０により現在の状態が分岐することが分かり、それにより分岐に関する「指定された条件」が満足される場合、Ｄｅｓｔ３２８は、その状態の方を指し、分岐し、そしてＢｒａｎ３２６が分岐をトリガする。
【００４６】
上述したように、プロセスエンジニアは、テーブル３００中のパラメータ値のうちの少なくとも幾つかを調整することができる。というのは、これらパラメータ値は、システムがプロセスエンジニアの観点から考慮したときに意味が分かるパラメータである。例えば、プロセスエンジニアは、状態がエラー信号を発生させる前に長い期間又は短い期間にわたり待つようＴｖａｌｕｅ３１４を調整でき或いは、或る特定の弁が開き、閉じられていないようにコマンド３０６中の値を調整することができる。システムは、プロセスエンジニアが別個のテーブル（ちょうどレベル−１コントローラ用のテーブルではない）中の「較正」値を調節することができるようにするユーザインタフェースを有する。これら較正値を用いると、時間間隔、モータ動作を制御し、或いはセンサ読み出しのための閾値設定値として制御することができる。
【００４７】
検尿システム３０中のコントローラは、プロセスエンジニアにより入力されたパラメータを変換して列３３０中に機械により読取り可能な値を生じさせる。プログラマーが当初この変換方法をプログラムする必要があるが、プログラマーは、パラメータを調節するたびに関与する必要はない。
【００４８】
レベル−２コントローラ５４ａ，５４ｂ，５４ｃ，５４ｄは、コマンド３０６をレベル−１コントローラ５２から受け取ると、レベル−２コントローラ５４は各々、受け取ったコマンドに従って機能を開始する。上述したように、レベル−２コントローラ５４ａ，５４ｂ，５４ｃ，５４ｄ用のスプレッドシートは、レベル−１コントローラ用のスプレッドシートと実質的に同一の構文を有する。この類似性は、スプレッドシート中の欄に及ぶだけでなく隣接のレベルとの通信モードにも及ぶ。例えば、隣接の高レベルからのコードに関するレベル−１コントローラの解読がコードを受け取った時点におけるレベル−１コントローラの状態で決まるのと同一の仕方で、レベル−２コントローラは、コードを受け取ったときにこれがアイドル状態にあるか活動状態にあるかどうかに応じて入力を互いに別々に解読する。
【００４９】
図９は、第１のレベル−２コントローラ５４ａがレベル−１コントローラ５２からコマンドを受け取った際に何をするかを示している。第１のレベル−２コントローラ状態記録テーブル４００は、付勢弁４０６、第１のモータ４１０、第２のモータ４１２、ＥＰ４０８及びＳＰ４１４という標識がそれぞれ付けられた列中の弁６８、ピペットモータ６０，６２、排気ポンプ６４及びシースポンプ６７（図４参照）に送られるコマンドを含んでいる。弁及びポンプの位置は、状態順序４０２によって割り送りされ、これらの位置の各々については説明４０４がある。本明細書における“ＳＰ”は、全ての状態において一定の値によって指示されるように特定の実施形態では用いられないダミー欄である。
【００５０】
第１のレベル−２コントローラ５４ａは、空気ストレージ内部の圧力を測定するために圧力センサを用いている。この空気は、例えばエアブラストにより試料を混合するために用いられる。センサ選択４１６はセンサを識別し、センサ状態４１８は、選択されたセンサの状態を指示し、センサマスク４２０には基準値が入っている。モータの状態を検出するＭｏｔｏｒＴｅｓｔ４２２は、次に何をすべきかを決定するために考慮される要因のうちの１つである。モータは、幾つかの状態のうちの１つの状態であるのがよく、正確な数は、モータのタイプで決まる。例えば、モータは、１）動作中であるがそうであると考えられる場合ではない、２）動作中であり、しかもそうであると考えられる場合、又は３）停止され、しかもそうであると考えられる場合である。ＭｏｔｏｒＴｅｓｔ４２２中の値は、モータが３つの状態のうちのどれにあるかを指示する。
【００５１】
レベル−１コントローラ５２とは異なり、第１のレベル−２コントローラ５４ａは、高レベルコントローラからの特定のメッセージがあるかどうかを検査せず、この場合、高レベルコントローラは、レベル−１コントローラ５２である。かくして、ＳＭＴｅｓｔ４２４は、値０Ｘ００００に設定される。しかしながら、弁及びモータの状態は、ＴｏＳＭ４２６中のゼロではない値によって指示されるようにレベル−１コントローラに報告される。Ｔｖａｌｕｅ４２８は、それぞれの状態と関連した時間切れ（タイムアウト）値を指示し、Ｔｆｕｎｃ４３０は、時間切れ値がどのように用いられるかを指示する。モータ検査４２２、Ｔｖａｌｕｅ４２８及びＴｆｕｎｃ４３０中の値に基づいて（即ち、これらが基準値に対し指定された条件を満足しているかどうかに基づいて）、第１のレベル−２コントローラは、状態が終了すべきかどうかを判定する。状態が終了する場合、Ｅｎｄ  Ｃｔｒｌ４３２と標識が付けられた列中の値は、特定の状態がどのように終了するかを指示している。状態が分岐する場合、Ｂｒａｎ  Ｃｔｒｌ４３４は、分岐をトリガし、Ｄｅｓｔ４３６は、状態又はランシーケンスを分岐の方に向ける。
【００５２】
図１０は、或る特定の機能を実行するよう第２のレベル−２コントローラ５４ｂに指図するために使用できる第２のレベル−２コントローラテーブル５００を示している。第２のレベル−２コントローラテーブル５００は、状態順序５０２によって索引付けられており、これらの各々は、状態説明５０４を有している。第２のレベル−２コントローラテーブル５００は、弁６８を制御する点において第１のレベル−２コントローラテーブル４００（上述の図４参照）と似通っている。加うるに、かかるテーブルは、シースポンプ６７及びカニューレポンプ７０を制御する。ＭｏｔｏｒＴｅｓｔ５２２は、シースポンプ６７及びカニューレポンプ７０の状態を検出する。付勢弁５０６は、付勢される流体ブロック弁を識別する。コマンドの列５０９は、カニューレポンプに送られる信号を指示するＣＰ５０８及びシースポンプに送られる信号を指示するＳＰ５１４を含む。ダミーモータ５１０及びダミーモータ５１２は、両方の列中の一定の値８０ＦＦによって指示されるように図示の実施形態では使用されない。ダミーモータ欄は、それ以上のモータがシステムに追加される場合使用できる。これと同様に、センサの選択に関連した列、例えばセンサ選択５１６、センサ状態５１８及びセンサマスク５２０は、第２のレベル−２コントローラがセンサを用いないので図示の実施形態では使用されない。使用されない欄は、例えばセンサのようなコンポーネントが第２のレベル−２コントローラ５４に用いられる場合使用できる。モータ状態を検査し、状態コードをＭｏｔｏｒＴｅｓｔ５２２中の検査値と比較する。ＴｏＳＭ５２６中の信号により示されるように、第２のレベル−２コントローラ５４ｂ、レベル−１コントローラ５２からは２方向の通信がある。しかしながら、ＳＭＴｅｓｔ５２４中の一定値０Ｘ００００によって指示されるように、レベル−１コントローラ５２から第２のレベル−２コントローラ５４ｂに伝送される信号は存在しない。
【００５３】
Ｔｖａｌｕｅ５２８は、それぞれの状態と関連した時間切れ値を指示し、Ｔｆｕｎｃ５３０は、時間切れ値がどのように用いられるかを指示している。時間切れ値により指示された時間の長さが切れる前にＥｎｄＣｔｌ中の指定された条件が満足されていないので現在の状態が終了しない場合、エラー信号を発生させるのがよい。ＭｏｔｏｒＴｅｓｔ５２２、Ｔｖａｌｕｅ５２８及びＴｆｕｎｃ５３０の値がこの指定された条件を満足するかどうかに応じて、状態は、終了するか又は分岐することになる。Ｅｎｄ  Ｃｔｒｌ５３２という標識が付けられた列中の値は、特定の状態が終了するために満足されるべき条件を指示している。状態が分岐する場合、Ｂｒａｎ  Ｃｔｒｌ５３４は、条件又は分岐方法を指示し、Ｄｅｓｔ５３６は、状態又はランシーケンスを分岐するように向ける。状態２４では、Ｄｅｓｔ＝０であり、次の状態がアイドル状態であることを指示している（状態順序０）。
【００５４】
図１１は、試料ラック４２（図３参照）を制御する第３のレベル−２コントローラ５４ｃ用の第３のレベル−２コントローラ状態記録テーブル６００を示している。第３のレベル−２コントローラ状態記録テーブル６００は、状態順序６０２及び説明６０４によって索引付けられている。図３において上述したように、システムには、少なくとも２つのコンベヤ、即ち、入力コンベヤ（ＣＩ）及び出力コンベヤ（ＣＯ）がある。ＣＩは、試料ラックを鏡検分析器ユニット３４（図３参照）の壁４８に向かって押す。すると、ラックは、側方へ小刻みにシフトして互いに異なる検査管のサンプル採取を可能にする。図４のステップモータ７６ａにより制御されるシフトレバーアーム（ＳＭ）は、この経路に沿って試料ラック４０をＣＩからＣＯにシフトさせ、各管をサンプル採取できるよう停止させる。次に、ＣＯは、試料ラックをＣＩがこれを残した位置から動かして、試料ラックを前に持って行き、したがってＣＩとＣＯは一緒になってＵ字形経路上で試料ラックを連れて行くようになる。ステップモータ７６ｂ（図４）によって制御される再位置決めアーム（ＣＭ）は、コマンド６１２を出してラックをＵの最終端部からＵの開始端部に動かしてＣＩが試料ラックを再び動かすことができるようにするために使用できる。ＳＭ６１０、ＣＭ６１２、ＣＩ６１４及びＣＯ６１６は、各状態においてそれぞれのアームに送られる信号を示している。例示のテーブル６００では、列Ｄｏｒ６０６及びＤａｎｄ６０８、並びにＲＣ６１８は、一定の値によって指示されるようにダミー列である。これらダミー列は、もし追加のコンポーネントがシステムに組み込まれると使用可能になる。
【００５５】
幾つかのセンサが第３のレベル−２コントローラ５４ｃによって使用される。ＳｅｎＳｅｌ６２０は、各状態において検査されるセンサを識別し、Ｓｔｓｔ６２２は、検査によって決定されるセンサの状態を指示し、ＳＭｔｓｔ６２４は、センサの状態を検査するために用いられる基準値を指示している。Ｍｔｓｔ６２６は、モータ７６ａ，７６ｂ又は７８ａ，７８ｂ（図４参照）のコード化された状態である。ＳＭｔｓｔ６２８は使用されず、これはレベル−１コントローラ５２が検査されていないことを指示している。ＴｏＳＭ６３０中の信号は、或る特定の条件が満足されると、レベル−１コントローラ５２に送られる。
【００５６】
Ｔｖａｌｕｅ６３２は、それぞれの状態と関連した時間切れ値を指示し、Ｔｆｕｎｃ６３４は、時間切れ値がどのように用いられるかを指示している。ＳＭ６１０、ＣＭ６１２、ＣＩ６１４、ＣＯ６１６及びＭｔｓｔ６２６が指定された条件を満足するかどうかに応じて、現在の状態は、終了するか又は分岐することになる。状態が終了する場合、ＥｎｄＣｔｒｌ６３６の標識が付けられた列中の値は、特定の状況がどのようにして終了しているかを指示している。状態が分岐する場合、ＢｒａｎＣｔｒｌ６３８は、分岐をトリガし、Ｄｅｓｔ６４０は、状態又はランシーケンスがブランチするように向ける。
【００５７】
実施例
この実施例は、ランシーケンスを終了させるためにマルチレベルコントローラが互いにどのように相互作用するかを示している。具体的に説明すると、この実施例は、レベル−１コントローラがどのようにレベル−２コントローラをリセットし、サンプルの処理のためにシステムを準備するランシーケンスをこれらにどのように実施させるか（即ち、図６に示す第１のランシーケンスを実施させる）を示している。図６に示すように、ランシーケンスＲＨは、レベル−１コントローラ状態記録テーブル３００の状態索引１〜１４を必要とする。このプロセスの間、シースびんは、シース流体で満たされ、ピペット位置は、初期化され、ＳＴＭは、ラック運動レバーの位置を初期化して入力及び出力コンベヤをクリアする。このリセットプロセスの第１の状態では（即ち、図８、状態索引＝１）、レベル−１コントローラ５２は、リセット信号（ＲＥ）を４つの高レベルコントローラの各々に送る。４つのレベル−２コントローラ５４は、リセット信号に応答してそれ自体リセットを行ない、状態報告（０ＸＦＦ）を送り戻す。４つの状態報告を全て受け取った後、レベル−１コントローラ５２は、状態索引２と関連した信号を送る。状態索引２では、レベル−１コントローラ５２は、“Ｓ１”を第１のレベル−２コントローラ５４ａに送る。次に、状態記録テーブル４００の状態６１を開始させる第１のレベル−２コントローラ５４ａは、シースびんを充填する。値“０Ｘ００００”は、信号が送られていないことを指示しているので、状態索引２においては、第２、第３及び第４のレベル−２コントローラに送られる信号は存在しない。シースびんが充填を開始すると、第１のレベル−２コントローラ５４ａは、テーブル４００のＴｏＳＭ列及びテーブル３００のＳＰＡｓｔａｔ列中に示されるように終了状態“０Ｘ３２”を戻す。Ｅｎｄ列３２４中の値０Ｘ０００２は、“０Ｘ３２”状態が第１のレベル−２コントローラ５４ａから戻されるとすぐに状態索引２が終了することを指示している。
【００５８】
０Ｘ０００５の時間切れ値３１４及び０Ｘ４２のＴｆｕｎｃ３１６を有する状態索引３は、時間切れ値３１４に達すると、シースびんの充填を止めるよう指示する。０Ｘ００３３のＳｅｎｓ３１８値、０Ｘ０１のＳＴｓｔ値及び０Ｘ０１のＳＭｓｋ値は、０Ｘ００３３により識別されたセンサが状態０Ｘ０１に達すると、シースびんが満杯であることを指示する。Ｅｎｄ列３２４は、値０Ｘ８３８３を有し、これは、シースびんが満杯であるか時間切れ値３１４に達すると状態が終了することを意味している。現在の状態が終了すると、レベル−１コントローラは、状態索引４に進み、それにより、Ｓ０信号が第１のレベル−２コントローラ５４ａに送られて重点を停止させる。信号Ｓ０を受け取ると、第１のレベル−２コントローラ５４ａは、シースポンプの作動を停止させ、信号０Ｘ３３をレベル−１コントローラ５２に送り、このレベル−１コントローラ５２は、次に現在の状態を終了させる。
【００５９】
状態索引５では、レベル−１コントローラ５２は、第１のレベル−２コントローラ５４ａがシースポンプを作動停止させ、今やこれがアイドル状態にあることを指示する信号０ＸＦＦを送るのを待つ。
【００６０】
シースポンプを充填した後、シースのレベルを状態索引６で検査する。シースレベルは、列３１８の０Ｘ００３２によって選択された低レベルセンサを識別し、これをＳＭｓｋ値０Ｘ８０によって選択された較正テーブル値と比較することにより検査される。検査によりシースレベルが低いことが分かると、プロセスは、Ｂｒａｎ３２及びＤｅｓｔ８に従って状態索引８に分岐する。状態索引８では、シースが空であるかどうかが検査される。列３１８中のシースセンサ０Ｘ００３２により、０Ｘ４０のＳＭｓｋ値によって選択された較正テーブル値と比較した場合にシースが空であることが分かると、Ｂｒａｎ３２６値及びＤｅｓｔ３２８値は、レベル−１コントローラに指図してこれを状態索引１０に分布させる。状態索引１０では、レベル−１コントローラは、メッセージ０Ｘ２１をホストプロセッサに送ってシースが空であることをホストプロセッサに知らせる。次に、レベル−１コントローラは、状態索引１００に分岐し、それによりラッククリアプロセスを開始させる。
【００６１】
状態索引６に戻ってこれを参照すると、０Ｘ００３２によって選択されたセンサによりシースレベルが低いことが指示されていなければ、分岐は起こらず、次の状態は、状態索引７である。状態索引７では、レベル−１コントローラ５２は、ＴｏＳＭメッセージ０Ｘ１Ｆを送ることによりシースレベルがホストプロセッサにとってオーケーであることを報告する。次に、レベル−１コントローラ５２は、状態索引１１を実行する。
【００６２】
状態索引１１では、レベル−１コントローラ５２は、コマンドＰＨ、ＨＳ及びＣＲをそれぞれ第１のレベル−２コントローラ５４ａ、第２のレベル−２コントローラ５４ｂ及び第３のレベル−２コントローラ５４ｃに送る。光学ベンチ初期化はリセットされたランシーケンスでは不要なので第４のレベル−２コントローラ（ＯＢＡコントローラ）に送られる信号は存在しない。第１のレベル−２コントローラは、ＰＨコマンドを受け取ると、テーブル４００中の状態４〜９を実行することにより、ピペッタを持ち上げてピペッタをバックセンサに送り、最終的に廃棄物ウェルに送るのを開始する。状態４，５では、信号を水平モータに送ってピペットアームをバックセンサまで移動させる。状態６では、信号をモータに送ってピペッタを廃棄物ウェルまで回転させる。次に、センサ１０Ｂ０を用いて基準センサマスク値と比較するよう空気圧力を状態７でチェックする。圧力が既に許容レベルにあれば、ＳＰＡコントローラ３６ｂは、状態９に分岐し、ここで、メッセージ０Ｘ１２がレベル−１コントローラに送られて圧力レベルが合格であることを知らせる。圧力が許容レベルに無い場合、第１のレベル−２コントローラ５４ａは、値を設定し、空気ポンプを作動させて圧力を状態８の許容レベルまで再投入し、その後信号を状態９においてレベル−１コントローラに送る。
第２のレベル−２コントローラ５４ｂは、ＨＳコマンドを受け取ると、弁ＣＢＶ３を作動させ、信号８０ＦＥをカニューレポンプ７０及びシースポンプ６７（図４参照）に送ってこれらを状態３２において待機位置にする。次に、ポンプローラを状態３３において管上に配置する。次に、状態報告信号０Ｘ２１を状態３４においてレベル−１コントローラ５２に送る。
【００６３】
第３のレベル−２コントローラ５４ｃは、ＣＲコマンドを受け取ると、信号０Ｘ８０ＦＦをＳＭに送り、信号０Ｘ０１００をＣＩに送り、信号０Ｘ８８０ＦＦをＣＯに送ることにより送り込みコンベヤを逆に動作させる。これは、Ｔｖａｌ＝０Ｘ００１６及びＴｆｎｃ＝０Ｘ０２によって定められた期間の間行なわれる。この指定された期間後、信号０Ｘ３０をレベル−１コントローラに送り、状態３４が終了する。
【００６４】
テーブル３００に戻ってこれを参照すると、０Ｘ２１のＦＢＡｓｔａｔ値を状態１１で受け取る。０Ｘ０００９のＴｖａｌｕｅ及び０Ｘ４４のＴｆｕｎｃ値は、ＦＢＡｓｔａｔ値を戻さなければならない時間フレームを設定する。終了値０Ｘ００５Ｆは、０Ｘ２１のＦＢＡｓｔａｔ値が指定された時間フレームの終了によって受け取られない場合、誤差信号を発生させ、ＦＢＡｓｔａｔ値が時間内に受け取られると、レベル−１コントローラが状態１２に移行することを指示する。
【００６５】
状態索引１２では、レベル−１コントローラ５２は、０ＸＦＦのＳＰＡｓｔａｔ値を受け取るのを待ち、受け取ると状態１３に移行する。状態１３では、レベル−１コントローラは、０ＸＦＦのＳＴＭｓｔａｔ値を受け取るよう待ち、受け取ると状態１４に移行する。ランシーケンスＲｅｓｅｔＨｉｇｈ（ＲＨ）では、レベル−１コントローラとＯＢＡコントローラとの間には信号は交換されない。状態１４では、ＲｅｓｅｔＨｉｇｈランシーケンスが終了する。
【００６６】
本発明のレベル化コアコントローラアーキテクチャ１００（図５参照）では、各レベル−２コントローラ５４は、互いに独立して動作する。しかしながら、レベル−１コントローラ５２が予想された状態報告の全てを高レベルコントローラから受け取るまで次の状態に進まないので、レベル−１コントローラは、プロセス中の或る特定の「チェックポイント」で高レベルコントローラ同期させる。予想された状態報告の全てが指定された時間フレーム（例えば、Ｔｖａｌｕｅ）内に受け取られない場合、誤差信号を発生させ、任意的に、プロセスが停止する。各状態の終わりにおけるこの「チェックポイント」システムを設けることにより、プロセスラン全体がエラーでうまくいかないのが阻止される。さらに、「チェックポイント」システムは、プロセスエンジニアがどの状態において誤差が発生しているかを正確に知ることができるようになることにより問題解決を容易にする。
【００６７】
上記は本発明の特定の実施形態に関するが、当業者であれば、本発明の原理及び精神、特許請求の範囲に記載された本発明の範囲から逸脱することなくこの実施形態の変更を想到することは理解されよう。
【００６８】
例えば、高い制御レベルが低い制御レベル又はシステムコンポーネントを「直接的」又は「間接的」に制御することは本発明の範囲に属する。制御が「直接的」であれば、制御を行なっているレベルと、制御されているレベルとの間に介在するレベルは存在しない。例えば、レベル−２コントローラは通常、レベル−２コントローラを直接制御する。これとは対照的に、制御が「間接的」であれば、制御を行なっているレベルと制御されているレベルとの間に介在するレベルが１以上存在する。例えば、３レベル制御システムでは、第１の制御レベルは、状況に応じて、第２の制御レベル又は第３の制御レベルを、制御できるように設計されているのがよい。
【００６９】
多数の低レベルコントローラを有する実施形態では、高レベルコントローラによって出されるコマンドは、特定の低レベルコンポーネントのうちの１以上に向けられ又はこれを「標的とし」ている。或る幾つかの実施形態では、高レベルコントローラは、コマンドを標的にされた低レベルコントローラにのみ送る。これら実施形態では、標的にされていない低レベルコントローラは、コマンドを受け取らない。他の実施形態では、高レベルコントローラは、コマンドを低レベルコントローラのうちの多くに「ブロードキャスト」し、低レベルコントローラにコマンドがこれらに適用されるかどうかを判定させる。低レベルコントローラによりコマンドが適用できないことが判定されると、低レベルコントローラはコマンドを無視することになる。
【００７０】
実施形態に応じて、同一制御レベルのコントローラは、互いに限定され又は完全な通信状態が可能になる。場合によっては、通信は、高レベルコントローラと低レベルコントローラとの間のレベル内通信に限定される。当業者であれば、多くの変形例が可能であることは理解されよう。
【図面の簡単な説明】
【００７１】
【図１】本発明に使用できる例示の検尿プロセスのフローチャートである。
【図２】例示の検尿システムの主要コンポーネントを示すブロック図である。
【図３】本発明に使用できる例示のベンチトップモジュール分析器ユニットの斜視図である。
【図４Ａ】分析器ユニットの略図である。
【図４Ｂ】分析器ユニットの略図である。
【図５】本発明のレベル化されたシステムアーキテクチャの略図である。
【図６】ホストコントローラがレベル−１コントローラに送る例示の組をなすランシーケンスを記載した図である。
【図７】作動信号がホストコントローラからいったん受け取られると、レベル−１コントローラがどのようにランシーケンスを実行するかを示す図である。
【図８Ａ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ａ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｂ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｂ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｃ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｃ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｄ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｄ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｅ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｅ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｆ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｆ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｇ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｇ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｈ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｈ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｉ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｉ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｊ１】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図８Ｊ２】検尿プロセスにおいてレベル−１コントローラに用いることができる例示のテーブルを示す図である。
【図９Ａ１】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図９Ａ２】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図９Ｂ１】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図９Ｂ２】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図９Ｃ１】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図９Ｃ２】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１０Ａ１】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１０Ａ２】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１０Ｂ１】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１０Ｂ２】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１１Ａ１】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１１Ａ２】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１１Ｂ１】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１１Ｂ２】検尿プロセスにおいてレベル−２コントローラに用いることができる例示のテーブルを示す図である。
【図１】
0004754828.tif 000002
【図２】
0004754828.tif 000003
【図３】
0004754828.tif 000004
【図４Ａ】
0004754828.tif 000005
【図４Ｂ】
0004754828.tif 000006
【図５】
0004754828.tif 000007
【図６】
0004754828.tif 000008
【図７】
0004754828.tif 000009
【図８Ａ１】
0004754828.tif 000010
【図８Ａ２】
0004754828.tif 000011
【図８Ｂ１】
0004754828.tif 000012
【図８Ｂ２】
0004754828.tif 000013
【図８Ｃ１】
0004754828.tif 000014
【図８Ｃ２】
0004754828.tif 000015
【図８Ｄ１】
0004754828.tif 000016
【図８Ｄ２】
0004754828.tif 000017
【図８Ｅ１】
0004754828.tif 000018
【図８Ｅ２】
0004754828.tif 000019
【図８Ｆ１】
0004754828.tif 000020
【図８Ｆ２】
0004754828.tif 000021
【図８Ｇ１】
0004754828.tif 000022
【図８Ｇ２】
0004754828.tif 000023
【図８Ｈ１】
0004754828.tif 000024
【図８Ｈ２】
0004754828.tif 000025
【図８Ｉ１】
0004754828.tif 000026
【図８Ｉ２】
0004754828.tif 000027
【図８Ｊ１】
0004754828.tif 000028
【図８Ｊ２】
0004754828.tif 000029
【図９Ａ１】
0004754828.tif 000030
【図９Ａ２】
0004754828.tif 000031
【図９Ｂ１】
0004754828.tif 000032
【図９Ｂ２】
0004754828.tif 000033
【図９Ｃ１】
0004754828.tif 000034
【図９Ｃ２】
0004754828.tif 000035
【図１０Ａ１】
0004754828.tif 000036
【図１０Ａ２】
0004754828.tif 000037
【図１０Ｂ１】
0004754828.tif 000038
【図１０Ｂ２】
0004754828.tif 000039
【図１１Ａ１】
0004754828.tif 000040
【図１１Ｂ１】
0004754828.tif 000041