(57)【要約】【課題】  本発明では、顕微鏡用電動ステージの位置を取得し、バックラッシュによるロストモーションの影響を考慮してその位置に復帰させることができる、廉価な顕微鏡用電動ステージシステムを提供する。【解決手段】  ２次元方向に駆動する電動ステージと、この電動ステージの駆動させるために指示を与えるジョイスティックと、所望の位置で停止した電動ステージの位置及び停止直前の駆動方向が記憶される停止時位置方向テーブルと、停止時位置方向テーブルに格納された位置と方向の情報に基づいて、電動ステージを前記位置に移動して停止させる場合、この方向と同方向で停止させるように電動ステージを制御する電動ステージ制御部とを備える顕微鏡用電動ステージ制御システムにより、上記課題の解決を図る。【選択図】      図１
2005092152.tif 000002
【特許請求の範囲】
【請求項１】
標本を載置するためのステージを有する顕微鏡の該ステージの動作を制御する顕微鏡用電動ステージ制御システムにおいて、
前記ステージを前記顕微鏡の光軸に対して垂直方向に移動させるステージ移動手段と、
前記ステージを移動させるための指示情報を取得する移動指示取得手段と、
前記移動指示取得手段により取得した前記指示情報に基づいて生成される情報であって、前記ステージ移動手段の動作が停止させる位置及び停止させるときの方向に関する該情報である停止位置方向情報を格納する停止位置方向格納手段と、
前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記ステージ移動手段の動作を制御するステージ移動制御手段と、
を備えることを特徴とする顕微鏡用電動ステージ制御システム。
【請求項２】
前記ステージ移動制御手段は、前記ステージを前記位置に移動させて停止させる場合、前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記方向と同方向で停止させるように前記ステージ移動手段を制御することを特徴とする請求項１に記載の顕微鏡用電動ステージ制御システム。
【請求項３】
前記顕微鏡用電動ステージ制御システムは、さらに、
前記ステージ移動手段により移動した前記ステージの実際の移動量と前記ステージ移動制御手段の制御で指示されている該ステージの移動量との誤差を取得する移動量誤差取得手段と、
を備えることを特徴とする請求項１、又は２に記載の顕微鏡用電動ステージ制御システム。
【請求項４】
前記ステージ移動制御手段は、前記移動量誤差取得手段により取得した移動量誤差に基づいて、前記ステージ移動手段を制御することを特徴とする請求項３に記載の顕微鏡用電動ステージ制御システム。
【請求項５】
標本を載置するためのステージを有する顕微鏡の該ステージを該顕微鏡の光軸に対して垂直方向に移動させる動作を制御する顕微鏡用電動ステージ制御装置において、
前記ステージを移動させる情報である移動情報を取得する取得手段と、
前記ステージの移動を停止させる場合、前記取得手段により取得した移動情報に基づいて生成される情報であって、停止させる位置及び停止させるときの方向に関する該情報である停止位置方向情報を格納する停止位置方向格納手段と、
前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記ステージの前記動作を制御するステージ移動制御手段と、
を備えることを特徴とする顕微鏡用電動ステージ制御装置。
【請求項６】
前記ステージ移動制御手段は、前記ステージを前記位置に移動させて停止させる場合、前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記方向と同方向で停止させるように前記ステージの移動を制御することを特徴とする請求項５に記載の顕微鏡用電動ステージ制御装置。
【請求項７】
標本を載置するためのステージを有する顕微鏡の該ステージの動作を制御する顕微鏡用電動ステージ制御方法において、
前記ステージを前記顕微鏡の光軸に対して垂直方向に移動させるための指示情報を取得する移動指示取得処理と、
前記移動指示取得処理により取得した前記指示情報に基づいて得られる情報であって、前記ステージの移動の動作が停止させる位置及び停止させる方向に関する該情報である停止位置方向情報に基づいて、前記ステージの移動を制御するステージ移動制御処理と、
を行うことを特徴とする顕微鏡用電動ステージ制御方法。
【請求項８】
前記ステージ移動制御処理は、前記ステージを前記位置に移動させて停止させる場合、前記停止位置方向情報に基づいて、前記方向と同方向で停止させるように前記ステージの移動を制御することを特徴とする請求項７に記載の顕微鏡用電動ステージ制御方法。
【請求項９】
前記顕微鏡用電動ステージ制御方法は、さらに、
移動した前記ステージの実際の移動量と前記ステージ移動制御処理の制御で指示されている該ステージの移動量との誤差を取得する移動量誤差取得処理と、
を行うことを特徴とする請求項７、又は８に記載の顕微鏡用電動ステージ制御方法。
【請求項１０】
前記ステージ移動制御処理は、前記移動量誤差取得処理により取得した移動量誤差に基づいて、前記ステージの移動を制御することを特徴とする請求項９に記載の顕微鏡用電動ステージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学顕微鏡に設けられ電動で観察対象物を２次元移動させるための顕微鏡用電動ステージに関する。
【背景技術】
【０００２】
顕微鏡は、医学、生物学の分野、および工業系分野などの広い分野において、その用途に応じた様々な形式で用いられている。特に半導体製造をはじめとする工業系分野では、作業の省力化のため、あるいは、正確性の向上のため、顕微鏡を含む装置の自動化が早期から進み、顕微鏡の各動作部、駆動部も電動化が進んできた。
【０００３】
こうして、当初、高価であった電動化された顕微鏡も、その需要増大に伴い廉価なものや、低価格のものが多くを占めるようになってきた。
一方、医学、生物学の分野においても、電動化された顕微鏡の低価格化に相まって、需要が増している。そして、より使いやすく、より低価格な電動化された顕微鏡が望まれてきた。例えば、特許文献１には、被検体を固定する移動可能なステージと、任意の位置に移動されたステージ上の前記被検体を撮像し、撮像信号を出力する撮像手段と、前記撮像信号に対応する前記ステージの絶対位置を表す絶対座標を取得する取得手段と、前記絶対座標を記憶する記憶手段と、前記被検体を前記ステージに再固定する場合、前記記憶手段の記憶値に基づいて前記ステージを移動させる移動制御手段とを具備する撮像装置及び顕微鏡画像伝送システムが記載されている。
【０００４】
上記撮像装置及び顕微鏡画像伝送システムによれば、まず、任意の位置に移動されたステージ上の被検体を撮像手段によって撮像して撮像信号を出力する。次に、この撮像信号に対応する前記ステージの絶対位置を表す絶対座標を取得して記憶手段に記憶しておく。
そして、前記初検体を前記ステージに再固定する場合は、前記記憶手段の記憶値に基づいて前記ステージを移動させるようにする。
【０００５】
これにより、同一標本の観察を再度行う場合のステージ位置を正確に指定することができるようになった撮像装置及び顕微鏡画像伝送システムが実現されている。
顕微鏡用ステージは、平面上を連続的に走査しながら、所望の観察点を探し位置決めするものである。従来の顕微鏡用ステージでは、モータなどの駆動手段の駆動量と、これに対する実際のステージ変位量との誤差発生は避けることが出来ない。この誤差の主な要因は、動力伝達手段が歯車列などで構成されることによるこれら歯車間のガタによるバックラッシュである。
【０００６】
また、仮に歯車間のガタを機械的な組み立て調整で少なくできたとしても、ステージの運行に伴う歯車の磨耗等の経時変化により、バックラッシュは避けられない。
顕微鏡用電動ステージは、電動化された顕微鏡の主要な構成要素のひとつである。パーソナルコンピューターを核とする電動化された顕微鏡を含むシステムでは、あらかじめ作業者はジョイスティックやトラックボールなどの操作により標本上の観察、測定点を複数選び、これらの位置座標を一且記憶し、以降、パーソナルコンピューター上のプログラムにより選択された観察、測定点について、画像処理、計測処理などを自動に制御することが行われている。
【０００７】
この場合、予め作業者が選択した観察、測定点と、自動制御での観察、測定点とが、誤差を生じないよう講じることが重要である。
このようなバックラッシュ、位置選択誤差の影響を取り除き、駆動手段の駆動量と、これに対する実際のステージ変位量との誤差を無くすために、特許文献２では、試料が載せられた試料ステージと、試料の位置を検出する試料位置検出手段と、試料ステージを移動させるための駆動手段と、試料ステージの移動を操作する操作手段と、操作手段からの信号に基づいて駆動手段を制御する制御部とを備えており、該制御部は、操作手段からの試料の移動についての信号と試料位置検出手段からの試料の実際の移動を示す信号とに基づいて駆動手段を制御するように構成したことを特徴とする試料ステージ駆動装置が記載されている。
【０００８】
上記試料ステージ駆動装置によれば、試料の位置を検出する試料位置検出手段からの試料の実際の移動を示す信号に基づいて試料ステージの駆動の制御を行い、バックラッシュを解消させるステージの駆動を急速に行うと共に、その後のステージの移動を正確に行う試料ステージ駆動装置が実現されている。
【特許文献１】特開平９−１２００３１号公報
【特許文献２】特開平７−２７２６６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１では、電動ステージは現在位置のＸ−Ｙ方向の絶対座標を取得するための取得手段を有していて、パソコンから「Ｘ−Ｙ座標を取得せよ」というコマ
ンドをインターフェースを介して送ると、電動ステージは現在のＸ座標及びＹ座標を取得してインターフェースを介してパソコンへ返す。
【００１０】
ここで、電動ステージの絶対座標とは、電動ステージの機械的原点を座標原点としたときのＸ−Ｙ座標を指すものとしている。特許文献１では詳述されていないが、このような現在位置のＸ−Ｙ方向の絶対座標を取得するための取得手段は、該座標原点からの機械的な変位量、速度等を電気量として検出するリニアエンコーダなどをステージのＸＹ方向にそれぞれ取り付ける構成が必要である。
【００１１】
すなわち、高価なリニアエンコーダを２本使用しなければならないため、電動ステージ、ひいては、顕微鏡装置を高価なものとしてしまうという問題がある。
また、ステージのＸ方向及びＹ方向にはリニアエンコーダ及びリニアエンコーダのパターンを読み取る検出ヘッドがそれぞれ取り付けられるため、観察作業を行う場合、ステージ周りの使い勝手が悪くなるという問題がある。
【００１２】
また、特許文献２では、試料位置検出手段としてリニアエンコーダやレーザ干渉計などが必要となり、非常に高価な構成となってしまう。
以上の問題に起因して、従来の顕微鏡用電動ステージでは、電動ステージの所望の位置を記憶させ、再びその位置に顕微鏡用電動ステージを復帰させる場合、どのような精密な機構であってもバックラッシュ（機械要素間の接触面の遊びのこと）によるロストモーション（遊びや、機械系の剛性と摩擦力などの関係によって出力されない運動）が生じるので、その復帰位置に誤差が生じるという問題があった。
【００１３】
上記の課題に鑑み、本発明では、顕微鏡用電動ステージの位置を取得し、バックラッシュによるロストモーションの影響を考慮してその位置に復帰させることができる、廉価な顕微鏡用電動ステージ制御システム、制御装置、制御方法を提供する。
【課題を解決するための手段】
【００１４】
上記課題は、特許請求の範囲の請求項１に記載の発明によれば、標本を載置するためのステージを有する顕微鏡の該ステージの動作を制御する顕微鏡用電動ステージ制御システムにおいて、前記ステージを前記顕微鏡の光軸に対して垂直方向に移動させるステージ移動手段と、前記ステージを移動させるための指示情報を取得する移動指示取得手段と、
前記移動指示取得手段により取得した前記指示情報に基づいて生成される情報であって、前記ステージ移動手段の動作が停止させる位置及び停止させるときの方向に関する該情報である停止位置方向情報を格納する停止位置方向格納手段と、前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記ステージ移動手段の動作を制御するステージ移動制御手段と、を備えることを特徴とする顕微鏡用電動ステージ制御システムを提供することによって達成できる。
【００１５】
このように構成することによって、ロストモーションの影響を考慮して予め記憶させた位置に電動ステージを復帰させることができる。
また上記課題は、特許請求の範囲の請求項２に記載の発明によれば、前記ステージ移動制御手段は、前記ステージを前記位置に移動させて停止させる場合、前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記方向と同方向で停止させるように前記ステージ移動手段を制御することを特徴とする請求項１に記載の顕微鏡用電動ステージ制御システムを提供することによって達成できる。
【００１６】
このように構成することによって、記憶時と同方向のアプローチで電動ステージをその記憶させた位置に復帰させることができる。
また上記課題は、特許請求の範囲の請求項３に記載の発明によれば、前記顕微鏡用電動ステージ制御システムは、さらに、前記ステージ移動手段により移動した前記ステージの実際の移動量と前記ステージ移動制御手段の制御で指示されている該ステージの移動量との誤差を取得する移動量誤差取得手段と、を備えることを特徴とする請求項１、又は２に記載の顕微鏡用電動ステージ制御システムを提供することによって達成できる。
【００１７】
このように構成することによって、現時点でのバックラッシュによる電動ステージの移動誤差を取得することができる。
また上記課題は、特許請求の範囲の請求項４に記載の発明によれば、前記ステージ移動制御手段は、前記移動量誤差取得手段により取得した移動量誤差に基づいて、前記ステージ移動手段を制御することを特徴とする請求項３に記載の顕微鏡用電動ステージ制御システムを提供することによって達成できる。
【００１８】
このように構成することによって、復帰のアプローチを最適な条件で行うことができる。
また上記課題は、特許請求の範囲の請求項５に記載の発明によれば、標本を載置するためのステージを有する顕微鏡の該ステージを該顕微鏡の光軸に対して垂直方向に移動させる動作を制御する顕微鏡用電動ステージ制御装置において、前記ステージを移動させる情報である移動情報を取得する取得手段と、前記ステージの移動を停止させる場合、前記取得手段により取得した移動情報に基づいて生成される情報であって、停止させる位置及び停止させるときの方向に関する該情報である停止位置方向情報を格納する停止位置方向格納手段と、前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記ステージの前記動作を制御するステージ移動制御手段と、を備えることを特徴とする顕微鏡用電動ステージ制御装置を提供することによって達成できる。
【００１９】
このように構成することによって、ロストモーションの影響を考慮して予め記憶させた位置に電動ステージを復帰させることができる。
また上記課題は、特許請求の範囲の請求項６に記載の発明によれば、前記ステージ移動制御手段は、前記ステージを前記位置に移動させて停止させる場合、前記停止位置方向格納手段に格納された前記停止位置方向情報に基づいて、前記方向と同方向で停止させるように前記ステージの移動を制御することを特徴とする請求項５に記載の顕微鏡用電動ステージ制御装置を提供することによって達成できる。
【００２０】
このように構成することによって、記憶時と同方向のアプローチで電動ステージをその記憶させた位置に復帰させることができる。
また上記課題は、特許請求の範囲の請求項７に記載の発明によれば、標本を載置するためのステージを有する顕微鏡の該ステージの動作を制御する顕微鏡用電動ステージ制御方法において、前記ステージを前記顕微鏡の光軸に対して垂直方向に移動させるための指示情報を取得する移動指示取得処理と、前記移動指示取得処理により取得した前記指示情報に基づいて得られる情報であって、前記ステージの移動の動作が停止させる位置及び停止させる方向に関する該情報である停止位置方向情報に基づいて、前記ステージの移動を制御するステージ移動制御処理と、を行うことを特徴とする顕微鏡用電動ステージ制御方法を提供することによって達成できる。
【００２１】
このように構成することによって、ロストモーションの影響を考慮して予め記憶させた位置に電動ステージを復帰させることができる。
また上記課題は、特許請求の範囲の請求項８に記載の発明によれば、前記ステージ移動制御処理は、前記ステージを前記位置に移動させて停止させる場合、前記停止位置方向情報に基づいて、前記方向と同方向で停止させるように前記ステージの移動を制御することを特徴とする請求項７に記載の顕微鏡用電動ステージ制御方法を提供することによって達成できる。
【００２２】
このように構成することによって、記憶時と同方向のアプローチで電動ステージをその記憶させた位置に復帰させることができる。
また上記課題は、特許請求の範囲の請求項９に記載の発明によれば、前記顕微鏡用電動ステージ制御方法は、さらに、移動した前記ステージの実際の移動量と前記ステージ移動制御処理の制御で指示されている該ステージの移動量との誤差を取得する移動量誤差取得処理と、を行うことを特徴とする請求項７、又は８に記載の顕微鏡用電動ステージ制御方法を提供することによって達成できる。
【００２３】
このように構成することによって、現時点でのバックラッシュによる電動ステージの移動誤差を取得することができる。
また上記課題は、特許請求の範囲の請求項１０に記載の発明によれば、前記ステージ移動制御処理は、前記移動量誤差取得処理により取得した移動量誤差に基づいて、前記ステージの移動を制御することを特徴とする請求項９に記載の顕微鏡用電動ステージ制御方法を提供することによって達成できる。
【００２４】
このように構成することによって、復帰のアプローチを最適な条件で行うことができ、時間的にも最短で行うことができる。
【発明の効果】
【００２５】
本発明を用いることで、顕微鏡用電動ステージの所望の位置を記憶させ、再びその位置に顕微鏡用電動ステージを復帰させる場合、記憶時と同一方向からのアプローチで顕微鏡用電動ステージを復帰させることができるので、ロストモーションによる観測誤差を無くすことができ、また、低コストで提供することができる。
【００２６】
またロストモーションの影響から生じる顕微鏡用電動ステージの移動量誤差を取得することができるので、上記のアプローチを最適な条件で行うことができる。
【発明を実施するための最良の形態】
【００２７】
＜第１の実施形態＞
本実施形態では、顕微鏡用電動ステージの所望の位置を記憶させ、再びその位置に顕微鏡用電動ステージを復帰させる場合、どのような精密な機構であってもバックラッシュ（機械要素間の接触面の遊びのこと）によるロストモーション（遊びや、機械系の剛性と摩擦力などの関係によって出力されない運動）が生じるので、この影響を考慮した顕微鏡用電動ステージシステムについて説明する。
【００２８】
ここで、ロストモーションが与える影響について述べる。所定の位置で顕微鏡用電動ステージを停止させる場合、もし、ロストモーションが発生しなかったら、その位置で寸分違わずにその位置で停止することができるが、現実的には不可能である。一方、ロストモーションが発生すると、停止予定位置と実際に停止する位置とは相違する。
【００２９】
そして、この相違は停止動作直前の顕微鏡用電動ステージの動作（停止直前の停止方向や速度）に依存する。例えば、上方向に移動している顕微鏡用電動ステージを停止させると、停止予定位置より少し上の位置で停止する。このようなロストモーションの影響は、微小な標本を拡大する顕微鏡による観測においては、殊のほか深刻である。そこで、本実施形態では、以下でこれらの影響を考慮した顕微鏡用電動ステージシステムについて述べる。
【００３０】
図１は、本実施形態における顕微鏡用電動ステージを使用した顕微鏡システムの全体構成を示す。顕微鏡１は、電動ステージ５を備えており、後述する制御部３２に接続され、制御部３２は外部通信手段を介してパーソナルコンピューターなどの機器７０（以下、Ｈｏｓｔという）から制御を受ける。また、制御部３２は、操作部５６と接続されている。
【００３１】
図２は、本実施形態における顕微鏡と顕微鏡用電動ステージとの関係を示す。同図において、顕微鏡１の光軸ＯＰ上には、電動ステージ５に載置された観察対象である標本２を挟む位置に、標本２を拡大観察するための対物レンズ３と、標本２に十分な光を照射するためのコンデンサ４とが所定の位置に調整可能に配設されている。
【００３２】
顕微鏡１に求められる光学性能を十分に発揮するためには、一般に標本２、対物レンズ３およびコンデンサ４は、数［ｍｍ］の空間内に配置されているため、顕微鏡用の電動ステージ５に許容される厚みは１０数［ｍｍ］程度となる。
図３は、本実施形態における顕微鏡用電動ステージの斜視図である。同図において、電動ステージ５は、顕微鏡１に取り付けるための固定部材１０に対して一方向に移動可能な可動部材１１上に標本２を載せ、直交するもう一方には、標本２を挟んだ状態で可動部材１１上を滑らせるクレンメル１２にて顕微鎖１の光軸ＯＰに対して標本２の２次元走査を行っている。
【００３３】
次に、固定部材１０と可動部材１１との間のガイド（Ｙ方向）について説明する。電動ステージ５は、通常直交する２方向への移動が可能であるが、構成作用は同様のため、もう一方のガイド（Ｘ方向）の説明は省略する。固定部材１０にはＶ字形状のガイド溝１０ａ，１０ｂが形成されている。
【００３４】
可動部材１１には保持部材１３が螺着され、固定部材１０のガイド溝溝１０ａ，１０ｂと平行なＶ字形状のガイド溝１１ａ、１３ａが形成されている。対峙する各ガイド溝には、ボール１４が挿入され、固定部材１０を可動部材１１と保持部材１３とで挟持した状態にて、保持部材１３は可動部材１１に螺着されている。そのため、可動部材１１はガタ付くことなく、またボール１４にて点接触で保持されているため摺動抵抗が小さく、一方向への移動が可能となっている。
【００３５】
動力伝達手段には、細い金属材料の素線を撚って作られたワイヤロープ１５を用いる。ワイヤロープ１５の両端は輪形状になっており、可動部材１１に突設された２本の支持ピン１６間に張架されている。一方の支持ピン１６は、ワイヤロープ１５の張られた方向に移動可能である。また、固定部材１０上には、減速機１７Ａが配設され、その減速機出力軸２１上に装着されたプーリ１８は、２本の支持ピン１６を結ぶ直線に接する位置に配置され、かつワイヤロープ１５はプーリ１８に1回転巻き付けられている。
【００３６】
移動可能な支持ピン１６を移動させて、ワイヤロープ１５の張力を高めることにより、プーリ１８とワイヤロープ１５の摩擦力を高めることが可能となり、過負荷が加わらない限りワイヤロープ１５とプーリ１８との間で滑りが生じることはない。また、プーリ１８はワイヤロープ１５に接する位置に配置しているため、可動部材１１の移動に伴い、ワイヤロープ１５の全長が変動することはない。これらの２つの作用により、プーリ１８の回転をワイヤロープ１５に正確に伝達することが可能であり、プーリ１８の回転量を正確に可動部材１１の直線移動量に変換することができる。
【００３７】
駆動手段としては、Ｙステッピングモータ２０を用いる。Ｙステッピングモータ２０は、外部からのパルス信号を受け、ステータ捲線に生じる電磁力でロータを吸引し、パルス信号に比例した角度だけ出力軸が回転するモータである。Ｙステッピングモータ２０は、出力軸１回転が２００分割されたモータで、外部より１パルス信号を発するとモータ出力軸は１．８°回転する。
【００３８】
固定部材１０に配設されたＹステッピングモータ２０の出力軸に直接ワイヤロープ駆動用のプーリを装着した場合、２．５［μm］の分解能を得るためには、プーリの直径は０．１５［ｍｍ］となり現実的ではない。そのため分解能を高めるための平歯車による減速機１７Ａを固定部材１０上に配設している。減速機１７Ａは、歯数の異なる平歯車を同軸上にて一体に構成し、歯数の異なる歯車同士を噛み合わせた歯車列により減速する。１組の歯車の歯数が１：４であり、減速機出力軸２１の歯車６１とステッピングモータ２０の出力軸のモータ歯車４３とを合わせて３組の歯車列とすることにより、１／６４の減速比を得ている。
【００３９】
上記構成により、ステッピングモータ２０の１ステップでの可動部材１１の移動量は、ワイヤロープ１５が巻き付けられる減速機出力軸２１のプーリ１８の直径を１０［ｍｍ］とすると、Ｙステッピングモータ２０の分割数が２００なので、
１０［ｍｍ］×π／（２００×６４）＝  ２．５［μｍ］
の分解能をもつことになり、微小な送りが可能となる。
【００４０】
次に、原点検出手段とステージの位置を管理する制御手段について説明する。
図４は、本実施形態におけるステージの位置管理をする制御手段の斜視図である。同図において、固定部材１０には、フォトインタラプタ型のＹ原点センサ３０が配設されている。また、可動部材１１には、Ｙ原点サンサ３０を遮光する遮光板３１が配設されている。Ｙ原点センサ３０と遮光板３１とにより原点検出手段を構成している。可動部材１１を駆動する際は、可動部材１１を決まった一方向に移動し、遮光板３１にてＹ原点センサ３０を遮光する。
【００４１】
すなわち、固定部材１０に対する可動部材１１の原点位置を予め合わせた後、制御手段としての制御部３２より出力されたパルス信号にて可動部材１１を駆動する。このように、制御手段としての制御部３２で、Ｙステッピングモータ２０への出力パルス数を管理することにより、可動部材１１の位置管理が可能となる。
【００４２】
次に、制御手段としての制御部３２について説明する。制御手段は、位置検出手段、位置方向記憶手段、復帰制御手段、移動量誤差検出手段、誤差補正制御手段を含んでいる。
図５は、本実施形態における制御部３２の構成を示す。制御部３２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２−１とＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３２−２とＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３２−３、不揮発メモリ３２−４および、Ｘパルスジェネレータ３２−５、Ｘドライバ３２−６、Ｙパルスジェネレータ３２−７、Ｙドライバ３２−８、からなり、各々ＣＰＵバスを介して接続されている。
【００４３】
ＲＯＭ３２−２に制御内容を記述したプログラムが記憶され、ＲＡＭ３２−３には、制御演算などのデータが格納される。不揮発メモリ３２−４は、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ）あるいは、フラッシュメモリ等であり、プログラムの実行により必要な情報の記憶、読み出しが行われる。
【００４４】
Ｘパルスジェネレータ３２−５は、ＣＰＵ３２−１からの移動方向、パルス量、パルス速度、加減速形式などの駆動パラメータの書き込みにより、Ｘドライバ３２−６へこの駆動パラメータに応じた移動方向信号やパルス信号を出力する。Ｘドライバ３２−６は、移動方向信号、パルス信号を受けて、これらに応じて不図示のＸステッピングモーターに印加する駆動パルスを出力する。
【００４５】
Ｘパルスジェネレータ３２−５はその内部にＸカウンタ３２−５−１を持っていて、出力するパルスの方向・量に従い、このカウンタをアップカウントあるいはダウンカウントする。ＣＰＵ３２−１はＸカウンタ３２−５−１のカウントをＣＰＵバスを介して、いつでも読み出すことが可能であり、また、Ｘカウンタ３２−５−１のカウントヘ任意の値を書き込むことができる。ＣＰＵ３２−１は、固定部材１０に配設された不図示のＸ原点センサのセンサ信号をいつでも読み出すことが可能である。
【００４６】
Ｙパルスジェネレータ３２−７は、ＣＰＵ３２−１からの移動方向、パルス量、パルス速度、加減速形式などの駆動パラメータの書き込みにより、Ｙドライバ３２−８へこの駆動パラメータに応じた移動方向信号やパルス信号を出力する。Ｙドライバ３２−８は、移動方向信号、パルス信号を受けて、これらに応じてＹステッピングモーター２０に印加する駆動パルスを出力する。
【００４７】
Ｙパルスジェネレータ３２−７はその内部にＹカウンタ３２−７−１を持っていて、出力するパルスの方向・量に従い、このカウンタをアップカウントあるいはダウンカウントする。ＣＰＵ３２−１はＹカウンタ３２−７−１のカウントをＣＰＵバスを介して、いつでも読み出すことが可能であり、また、Ｙカウンタ３２−７−１のカウントヘ任意の値を書き込むことができる。
【００４８】
ＣＰＵ３２−１は、固定部材１０に配設されたＹ原点センサ３０のセンサ信号をいつでも読み出すことが可能である。また、制御部３２には、マンマシンインターフェースとしての操作部５６が接続されている。この操作部５６は、表示部５６−１と操作入力部５６−２、及び不図示のジョイスティックから構成されている。
【００４９】
図６は、本実施形態における操作部の外観構成を示す。同図において、操作部５６は、表示部５６−１と操作入力部をなす複数のボタン５６−２ａ〜ｄ、ジョイスティック５６−３からなり、各々ＣＰＵ３２−１と接続されている。ボタン５６−２ａ〜ｄは、押下操作、開放操作に応じた操作信号をＣＰＵ３２−１へ出力するもので、ＣＰＵ３２−１はこの操作信号を読み出すことができる。
【００５０】
ジョイスティック５６−３は、中立位置からの操作倒し角に応じた操作信号を入力するもので、入力された操作信号は、ＣＰＵ３２−１へ伝達される。ＣＰＵ３２−１は、この操作信号を読み出すことが可能である。ＣＰＵ３２−１は、操作部５６からの操作入力を受けると、この操作入力に応じて各部位を制御する。すなわち、ジョイスティック５６−３の操作に連動して可動部材１１が２次元平面上を動作したり、または、Ｈｏｓｔ７０のディスプレイ上に表示されるカーソルを動作させたりすることができる。
【００５１】
また、表示部５６−１は、ＣＰＵ３２−１から指示に従い各部位の動作状況や位置情報等を表示するものである。
制御部３２には、外部通信手段としてＲＳ−２３２Ｃや、ＵＳＢあるいは、イーサネット（登録商標）等の外部通信部（以下、Ｉ／Ｆ（インターフェース）と略する）が設けられており、Ｈｏｓｔ７０から、ＣＰＵ３２−１が、このＩ／Ｆを介してコマンドを送受することにより、操作部５６からの操作と同等の駆動部制御を行うとともに、外部との情報交換を行う。
【００５２】
次に、本実施形態の顕微鏡用電動ステージの動作について、以下に説明する。
図７は、本実施形態における操作部の操作によって発生する制御の処理フローを示す。ジョイスティック５６−３の操作により測定点を選択する動作を示す。まず、電源が投入されると、ＣＰＵ３２−１は不揮発メモリ３２−４から電源切断時のＸ位置、Ｙ位置を読み出し、Ｘパルスジェネレータ３２−５のＸカウンタ３２−５−１へＸ位置を書き込み、Ｙパルスジェネレータ３２−７のＹカウンタ３２−７−１へＹ位置を書き込む（Ｓ１−１）。不揮発メモリ３２−４から読み出すこのＸ位置、Ｙ位置の単位はＸカウンタ３２−５−１、Ｙカウンタ３２−７−１がカウントする出力パルス数である。
【００５３】
次に、ジョイスティック５６−３が操作されたか否かが判断される（Ｓ１−２）。ジョイスティック５６−３を操作すると（Ｓ１−２で「Ｙｅｓ」へ進む）、ＣＰＵ３２−１はこれを検出し処理を開始する。ＣＰＵ３２−１は、ジョイスティック５６−３の操作角度を読み込む。たとえば、ジョイスティック５６−３は操作角度を直交するＸ軸、Ｙ軸に分離して、各々の角度により抵抗値の変化する機構を内部に持っていて、ＣＰＵ３２−１は、この抵抗値を電圧として検出しＡ／Ｄ変換の後、０から２５５の値を持つ８ｂｉｔのディジタルデータとして読み込むことができる。
【００５４】
図８は、本実施形態における操作角度と該ディジタルデータの関係を示す。同図のように、ジョイスティックの倒し角度は、０から２５５の値を持つ８ｂｉｔのディジタルデータを対応させている。このディジタルデータは、Ｘ軸角度とＹ軸角度のそれぞれについて設定されている。ＣＰＵ３２−１は、ジョイスティック５６−３の操作角度をＸ軸角度および、Ｙ軸角度との２つのディジタルデータを読み込む。
【００５５】
ジョイスティック５６−３への操作を検出した場合、その操作は、（１）Ｘ軸とＹ軸ともに操作される場合、（２）Ｘ軸だけ操作される場合、（３）Ｙ軸だけ操作される場合の３通りがある。
上記（１）「Ｘ軸とＹ軸ともに操作される」場合について説明する。Ｓ１−２でジョイスティック５６−３が操作され、ＣＰＵ３２−１によりそれがＸ軸方向へ操作されたことが検知されると（Ｓ１−６で「Ｙｅｓ」へ進む）、ジョイスティック処理をする（Ｓ１−７）。さらに、ＣＰＵ３２−１によりＹ軸方向へ操作されたことが検知されると（Ｓ１−８で「Ｙｅｓ」へ進む）、ジョイスティック処理をする（Ｓ１−９）。
【００５６】
上記（２）「Ｘ軸だけ操作される」場合について説明する。Ｓ１−２でジョイスティック５６−３が操作され、ＣＰＵ３２−１によりそれがＸ軸方向へ操作されたことが検知されると（Ｓ１−６で「Ｙｅｓ」へ進む）、ジョイスティック処理をする（Ｓ１−７）。そして、この場合、Ｙ軸方向への操作はされていないので、ＣＰＵ３２−１によるＹ軸方向への操作されたことは検出されず、Ｓ１−８で「Ｎｏ」へ進み、可動部材１１はＹ軸方向への駆動動作は行われない。
【００５７】
なお、このようにＸ軸方向へのみ駆動し、Ｙ軸方向への駆動動作は行われない可動部材１１を、以下Ｘステージ、またはＸ軸ステージという。また、Ｙ軸方向へのみ駆動し、Ｘ軸方向への駆動動作は行われない可動部材１１を、以下Ｙステージ、またはＹ軸ステージという。
【００５８】
上記（３）「Ｙ軸だけ操作される」場合について説明する。Ｓ１−２でジョイスティック５６−３が操作されると、それがＸ軸方向への操作か否かがＣＰＵ３２−１により判断される（Ｓ１−６）。ＣＰＵ３２−１によりそれがＸ軸方向への操作ではない場合（Ｓ１−６で「Ｎｏ」へ進む）、つまりＹ軸方向への操作である場合、Ｘステージは駆動せず停止した状態となる（Ｓ１−１１）。それから、ジョイスティック処理をする（Ｓ１−１２）。
【００５９】
ここで、Ｓ１−７、Ｓ１−９、Ｓ１−１２の詳細な処理の説明をする前に、図９の説明をする。
図９は、本実施形態におけるジョイスティック操作角に由来するディジタルデータからパル速度への変換するテーブル（速度変換テーブル８０）である。このテーブル８０は、ＲＯＭ３２−２や不揮発メモリ３２−４に予め格納されているのである。この速度変換テーブル８０には、０〜２２５の各ディジタルデータに対応するパルス速度が設定されている。この速度変換テーブル８０については、後述する。
【００６０】
図１０は、本実施形態におけるＸ，Ｙ軸方向への操作に伴うジョイスティック処理のフローを示す。まず、Ｘ軸方向への操作の場合（例えば、図７のＳ１−７）のジョイスティック処理のフローについて説明する。ＣＰＵ３２−１は、ジョイスティック５６−３の操作角度をＸ軸角度のディジタルデータを読み込む（ＳＪ１）。ＣＰＵ３２−１は、読み込んだディジタルデータから、図９の速度変換テーブル８０により駆動方向とパルス速度を求める（ＳＪ２，ＳＪ３）。ここで、求めたパルス速度は駆動方向を含んでいて、該パルス速度が正数であれば原点センサから遠ざかる方向を示し、該パルス速度が負数であれば原点センサヘ向かう方向を示す。
【００６１】
ディジタルデータからパルス速度への変換は、定数関数、比例関数、指数関数、または、これらの複合が考えられるが、どれを用いても良い。ＣＰＵ３２−１は不図示のＤＩＰ−ＳＷ（ディップスイッチ）などを読み込み、予め用意された定数関数の速度変換テーブル、比例関数の速度変換テーブル、指数関数の速度変換テーブル、定数関数、比例関数、指数関数を組み合わせた複合関数の速度変換テーブルから一つを選択することも可能である。
【００６２】
さらに、速度変換テーブル８０を不揮発メモリ３２−４に配置した構成をとるなら、外部通信手段を介して所望の値に書き換えることも可能である。速度変換テーブル８０は、本実施形態ではＸ軸、Ｙ軸ともに同一のものを用いるが、特別な事情があれば、変換方式の異なる独立した個別の速度変換テーブルを用いても良い。
【００６３】
次に、ＣＰＵ３２−１は、速度変換テーブル８０より求めた駆動方向、パルス速度、規定パルス量をＸパルスジェネレータ３２−５に書き込み、パルス出力を開始する（ＳＪ４）。ここで、規定パルス量とは、Ｘ、Ｙともに各々の可動範囲程度のパルス量であり、本実施形態では、例えばＸ軸方向への可動範囲を７０［ｍｍ］であるとすると、２８０００［ｐ］（＝７００００［μｍ］／２．５［μｍ／ｐ］）である。
【００６４】
その後、ＣＰＵ３２−１は、Ｘ駆動方向をＲＡＭ３２−３に確保した符号付き変数、ｄｉｒ＿Ｘに格納する。Ｘ駆動方向が原点センサから遠ざかる方向であれば１をｄｉｒ＿Ｘに格納し、Ｘ駆動方向が原点センサヘ向かう方向であれば−１をｄｉｒ＿Ｘに格納する。ＣＰＵ３２−１は、ｄｉｒ＿Ｘを不揮発メモリ３２−４に記憶する（ＳＪ５）。
【００６５】
さて、次は、Ｙ軸方向への操作のジョイスティック処理（例えば、図７のＳ１−９，Ｓ１−１２）のフローについて説明する。ＣＰＵ３２−１は、上記で述べたように、読み込んだディジタルデータから、図９の速度変換テーブル８０により駆動方向とパルス速度を求める（ＳＪ１〜ＳＪ３）。
【００６６】
次に、ＣＰＵ３２−１は、速度変換テーブル８０より求めた駆動方向、パルス速度、規定パルス量をＹパルスジェネレータ３２−７に書き込み、パルス出力を開始する。ここで、規定パルス量とは、Ｘ、Ｙともに各々の可動範囲程度のパルス量であり、本実施形態では、例えばＹ軸方向への可動範囲を８０［ｍｍ］であるとすると、３２，０００［ｐ］（＝８００００［μｍ］／２．５［μｍ／ｐ］）である（ＳＪ４）。
【００６７】
ＣＰＵ３２−１は、Ｙ駆動方向をＲＡＭ３２−３に確保した符号付き変数、ｄｉｒ＿Ｙに格納する。Ｙ駆動方向が原点センサから遠ざかる方向であれば１をｄｉｒ＿Ｙに格納し、Y駆動方向が原点センサヘ向かう方向であれば−１をｄｉｒ＿Ｙに格納する。ＣＰＵ３２−１は、ｄｉｒ＿Ｙを不揮発メモリ３２−４に記憶する（ＳＪ５）。
【００６８】
以降、ジョイスティック５６−３が操作されている間、上記（１）、（２）、または、（３）を繰り返す。
さて、再び図７の説明に戻る。ここでは、ジョイスティック５６−３の操作を止めた場合についての処理を説明する。ジョイスティック５６−３の操作が止められると、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５へ停止を書き込み、ステージのＸ方向移動を停止し、Ｙパルスジェネレータ３２−７へ停止を書き込みステージのＹ方向移動を停止する（Ｓ１−３）。
【００６９】
次に、ＣＰＵ３２−１は、操作部５６のボタン５６−２ａ〜ｄへの操作を検出する（Ｓ１−４）。ボタンには、インクリメントボタン（５６−２ａ）、デクリメントボタン（５６−２ｂ）、記憶ボタン（５６−２ｃ）、復帰ボタン（５６−２ｄ）がある。
これらのボタンのうち、いずれかが操作されると（Ｓ１−４で「Ｙｅｓ」に進む）、各ボタンに応じた処理が実行される（Ｓ１−５）。いずれのボタンも操作されない場合（Ｓ１−４で「Ｎｏ」に進む）、ジョイスティック５６−３の検出（Ｓ１−２）へ戻る。
【００７０】
図１１は、本実施形態における各ボタンに応じた処理（図７のＳ１−５の処理）の詳細なフローを示す。操作されたボタンがインクリメントボタン５６−２ａの場合（ＳＢ１で「Ｙｅｓ」へ進む）、後述する処理Ａ１を実行する。また、操作されたボタンがデクリメントボタン５６−２ｂの場合（ＳＢ２で「Ｙｅｓ」へ進む）、後述する処理Ａ２を実行する。また、操作されたボタンが記憶ボタン５６−２ｃの場合（ＳＢ３で「Ｙｅｓ」へ進む）、後述する処理Ａ３を実行する。また、操作されたボタンが復帰ボタン５６−２ｄの場合（ＳＢ４で「Ｙｅｓ」へ進む）、後述する処理Ａ４を実行する。
【００７１】
ここで、Ａ１〜Ａ４の各処理の詳細について説明する前に、図１２について説明する。
図１２は、本実施形態におけるＸ位置、Ｙ位置及びその位置に停止するときの方向を格納するためのテーブルである。以下、本テーブルを停止時位置方向テーブル９０という。同図は、本実施形態での復帰動作のためのデータ構造図（初期値）である。このデータは、不揮発メモリ３２−４に格納されており、「記憶Ｎｏ．」、「位置（Ｘ軸）」、「位置（Ｙ軸）」、「停止時方向（Ｘ軸）」、「停止時方向（Ｙ軸）」のデータ項目から構成され、これらを１６セット格納することができる。「記憶Ｎｏ．」には０〜１５の値が格納される。
【００７２】
「位置（Ｘ軸）」、「位置（Ｙ軸）」は、例えば、ジョイスティック５６−３の操作に連動して可動部材１１が２次元平面上を動作する場合には、Ｈｏｓｔ７０のディスプレイに表示されている画面の所定の位置（例えば、画面の中央点）、すなわち、可動部材１１上の所定の点を示すものであったり、または、ジョイスティック５６−３の操作に連動してＨｏｓｔ７０のディスプレイ上に表示されるカーソルを動作させる場合には、そのカーソルの位置を示すものであったりする。すわなち、ある時点からのジョイスティックの操作量が格納されている。
【００７３】
「位置（Ｘ軸）」、「位置（Ｙ軸）」に格納される値はそれぞれ、上述したように、Ｘカウンタ３２−５−１、Ｙカウンタ３２−７−１がカウントする出力パルス数である。「停止時方向（Ｘ軸）」、「停止時方向（Ｙ軸）」に格納される値は、「位置（Ｘ軸）」、「位置（Ｙ軸）」でジョイスティック５６−３の操作を止める直前のジョイスティック５６−３の方向を格納するものである。
【００７４】
つまり、ジョイスティック５６−３が止まる直前、その停止動作がＸ駆動方向において原点センサから遠ざかる方向であれば「停止時方向（Ｘ軸）」に１を格納し、その停止動作がＸ駆動方向において原点センサへ向かう方向であれば「停止時方向（Ｘ軸）」に−１を格納する。また、停止時方向（Ｙ軸）についても同様に、ジョイスティック５６−３が止まる直前、その停止動作が原点センサから遠ざかる方向であれば「停止時方向（Ｙ軸）」に１を格納し、その停止動作が原点センサへ向かう方向であれば「停止時方向（Ｙ軸）」に−１を格納する。
【００７５】
図１３は、本実施形態におけるインクリメントボタン５６−２ａが操作された場合（図１１のＡ１）の処理フローを示す。インクリメントボタン５６−２ａが操作されると、ＣＰＵ３２−１はこれを検出して、ＲＡＭ３２−３に確保した変数：インデックスをインクリメントする（ＳＢ１−１）。
【００７６】
インデックス  ←  インデックス＋１
この変数：インデックスは、図１２の停止時位置方向テーブル９０の記憶Ｎｏ．である。つまり、この変数：インデックスは、後述する記憶ボタン５６−２ｃ、復帰ボタン５６−２ｄが操作された場合の対象データを指し示すものである。本実施形態では、記憶Ｎｏ．を０〜１５の１６個としている。インデックスが最大値１５を超えた場合（ＳＢ１−２で「Ｙｅｓ」へ進む）は、インデックスを０とする（ＳＢ１−３）。また、インデックスが１５以下の場合（ＳＢ１−２で「Ｎｏ」へ進む）は、次の処理へ進む。
【００７７】
次に、ＣＰＵ３２−１は、インデックスの値を表示部５６−１へ表示する（ＳＢ１−４）。これにより、操作者は対象となる記憶Ｎｏ．を知ることができる。その後、ＣＰＵ３２−１は、インデックスを不揮発メモリ３２−４へ記憶する（ＳＢ１−５）。
図１４は、本実施形態におけるデクリメントボタン５６−２ｂが操作された場合（図１１のＡ２）の処理フローを示す。デクリメントボタン５６−２ｂが操作されると、ＣＰＵ３２−１はこれを検出して、ＲＡＭ３２−３に確保した変数：インデックスをデクリメントする（ＳＢ２−１）。
【００７８】
インデックス  ←  インデックス  −１
この変数：インデックスは図１２の停止時位置方向テーブル９０の記憶Ｎｏ．である。つまり、この変数：インデックスは、後述する記憶ボタン５６−２ｃ、復帰ボタン５６−２ｄが操作された場合の対象データを指し示すものである。本実施形態では、記憶Ｎｏ．を０〜１５の１６個としている。インデックスが最小値０より小さい場合（ＳＢ２−２で「Ｙｅｓ」へ進む）は、インデックスを最大値１５とする（ＳＢ２−３）。また、インデックスが最小値０より小さい場合（ＳＢ２−２で「Ｎｏ」へ進む）は、次の処理へ進む。
【００７９】
次に、ＣＰＵ３２−１は、インデックスの値を表示部５６−１へ表示する（ＳＢ２−４）。これにより、操作者は対象となる記憶Ｎｏ．を知ることができる。その後、ＣＰＵ３２−１は、インデックスを不揮発メモリ３２−４へ記憶する（ＳＢ２−５）。
図１５は、本実施形態における記憶ボタン５６−２ｃが操作された場合（図１１のＡ３）の処理フローを示す。まず、パルスジェネレータのカウンタから現在の位置を読み出す（ＳＢ３−１）。ここでは、ＣＰＵ３２−１は、記憶ボタン５６−２ｃへの操作を検出すると、Ｘカウンタ、Ｙカウンタからそれぞれ位置（パルス単位）を読み出し、現在のインデックスが指す不揮発メモリ３２−４に確保された停止時位置方向テーブル９０（図１２）のＸ軸位置、Ｙ軸位置へ書き込み、記憶する。
【００８０】
次に、インデックスに対応して、位置と駆動方向を不揮発メモリへ記憶する（ＳＢ３−２）。ここでは、不揮発メモリ３２−４の別場所に記憶されているｄｉｒ＿Ｘ、ｄｉｒ＿Ｙを読み出し、現在のインデックスが指す、不揮発メモリ３２−４に確保された停止時位置方向テーブル９０（図１２）のＸ軸停止時方向、Ｙ軸停止時方向へ書き込み、記憶する。
【００８１】
図１６は、本実施形態における更新された停止時位置方向テーブル９０の一例を示す。本実施形態において、たとえば、インデックス：６、Ｘカウンタ：２０００、Ｙカウンタ：５００００、ｄｉｒ＿Ｘ：−１、ｄｉｒ＿Ｙ：−１であるとすると、停止時位置方向テーブル９０には同図に示すように格納される。
【００８２】
図１７は、本実施形態における復帰ボタン５６−２ｄが操作された場合（図１１のＡ４）の処理フローを示す。ここでの処理概要を説明すると、ＣＰＵ３２−１は、復帰ボタン５６−２ｄへの操作を検出すると、不揮発メモリ３２−４に確保された停止時位置方向テーブル９０の現在のインデックスで指し示される位置へ、停止時方向が一致するように復帰移動を行う。
【００８３】
まず、パルスジェネレータのカウンタから現在位置を読み出す（ＳＢ４−１）。ここでは、ＣＰＵ３２−１は、カウンタＸから現在の位置を読み出し、ＲＡＭ３２−２に確保した変数ｎｏｗ＿Ｘに格納する。ＣＰＵ３２−１は、カウンタＹから現在の位置を読み出し、ＲＡＭ３２−２に確保した変数ｎｏｗ＿Yに格納する。
【００８４】
次に、不揮発メモリの停止時位置方向テーブル９０からインデックスに対応する位置と停止時駆動方向を読み出す（ＳＢ４−２）。ＣＰＵ３２−１は、不揮発メモリ３２−４に確保された停止時位置方向テーブル９０の現在のインデックスで指し示されるＸ位置を読み出し、ＲＡＭ３２−２に確保した変数ｄｓｔ＿Ｘに格納する。ＣＰＵ３２−１は、不揮発メモリ３２−４に確保された停止時位置方向テーブル９０の現在のインデックスで指し示されるＹ位置を読み出し、ＲＡＭ３２−２に確保した変数ｄｓｔ＿Ｙに格納する。
【００８５】
さらに、ＣＰＵ３２−１は、不揮発メモリ３２−４に確保された停止時位置方向テーブル９０の現在のインデックスで指し示されるＸ軸停止時方向を読み出し、ＲＡＭ３２−２に確保した変数ｌａｓｔ＿ｄｉｒ＿Ｘに格納する。ＣＰＵ３２−１は、不揮発メモリ３２−４に確保された停止時位置方向テーブル９０の現在のインデックスで指し示されるＹ軸停止時方向を読み出し、ＲＡＭ３２−２に確保した変数ｌａｓｔ＿ｄｉｒ＿Ｙに格納する。
【００８６】
次に、現在位置から復帰位置への移動量を求める（ＳＢ４−３）。ＣＰＵ３２−１は、Ｘ軸移動量ｐｕｌｓｅ＿Ｘを求める。Ｘ軸移動量は、復帰Ｘ位置から現在のＸ位置を減じたものである。
ＲＡＭ３２−２に確保した符号付き変数：
ｐｕｌｓｅ＿Ｘ  ←  ｄｓｔ＿Ｘ  −  ｎｏｗ＿Ｘ
ＣＰＵ３２−１は、Ｙ軸移動量：ｐｕｌｓｅ＿Ｙを求める。Ｙ軸移動量は、復帰Ｙ位置から現在のＹ位置を減じたものである。
【００８７】
ＲＡＭ３２−２に確保した符号付き変数：
ｐｕｌｓｅ＿Ｙ  ←  ｄｓｔ＿Ｙ  −  ｎｏｗ＿Ｙ
次に、現在位置から復帰位置への移動方向を求める（ＳＢ４−４）。ＣＰＵ３２−１は、Ｘ軸復帰移動の方向を求める。Ｘ軸復帰移動の方向は、ｐｕｌｓｅ＿Ｘの符号を調べることで分かる。ｐｕｌｓｅ＿Ｘが正数であれば原点センサから遠ざかる方向であり、ｐｕｌｓｅ＿Ｘが負数であれば原点センサヘ向かう方向である。
【００８８】
ＣＰＵ３２−１は、Ｙ軸復帰移動の方向を求める。Ｙ軸復帰移動の方向は、ｐｕｌｓｅ＿Ｙの符号を調べることで分かる。ｐｕｌｓｅ＿Ｙが正数であれば原点センサから遠ざかる方向であり、ｐｕｌｓｅ＿Ｙが負数であれば原点センサヘ向かう方向である。
次に、Ｘ，Ｙ移動方向が、停止時Ｘ，Ｙ駆動方向と同じ方向か否かを判断する（ＳＢ４−５）。ここでは、ｐｕｌｓｅ＿Ｘとｌａｓｔ＿ｄｉｒ＿Ｘとの符号が同一で、かつ、ｐｕｌｓｅ＿Ｙとｌａｓｔ＿ｄｉｒ＿Ｙとの符号が同一であるかを判断する。この条件を満たす場合（ＳＢ４−５で「Ｙｅｓ」へ進む）、処理Ｂ１へ進む。また、この条件を満たさない場合（ＳＢ４−５で「Ｎｏ」へ進む）、処理ＳＢ４−６へ進む。
【００８９】
次に、Ｘ移動方向のみ、停止時Ｘ駆動方向と同じ方向か否かを判断する（ＳＢ４−６）。ここでは、ｐｕｌｓｅ＿Ｘとｌａｓｔ＿ｄｉｒ＿Ｘとの符号が同一であるか否かを判断する。この条件を満たす場合（ＳＢ４−６で「Ｙｅｓ」へ進む）、処理Ｂ２へ進む。また、この条件を満たさない場合（ＳＢ４−６で「Ｎｏ」へ進む）、処理ＳＢ４−７へ進む。
【００９０】
次に、Ｙ移動方向のみ、停止時Ｙ駆動方向と同じ方向か否かを判断する（ＳＢ４−７）。ここでは、ｐｕｌｓｅ＿Ｙとｌａｓｔ＿ｄｉｒ＿Ｙとの符号が同一であるか否かを判断する。この条件を満たす場合（ＳＢ４−７で「Ｙｅｓ」へ進む）、処理Ｂ３へ進む。また、この条件を満たさない場合（ＳＢ４−７で「Ｎｏ」へ進む）、処理Ｂ４へ進む。
【００９１】
たとえば、現在の位置ｎｏｗ＿Ｘ：１０００、ｎｏｗ＿Ｙ：２００００、インデックス：６であるとすると、復帰位置ｄｓｔ＿Ｘ：２０００、ｄｓｔ＿Ｙ：５００００、停止時方向ｌａｓｔ＿ｄｉｒ＿Ｘ：−１、ｌａｓｔ＿ｄｉｒ＿Ｙ：−１であり、ｐｕｌｓｅ＿Ｘ：１０００、ｐｕｌｓｅ＿Ｙ：３００００であるから、Ｘ軸、Ｙ軸ともに復帰方向と停止方向が異なり、ＳＢ４−５で「Ｎｏ」へ進み、ＳＢ４−６で「Ｎｏ」へ進み、ＳＢ４−７で「Ｎｏ」へ進み、処理Ｂ４へ進む。
【００９２】
図１８は、本実施形態におけるＸ，Ｙ移動方向が停止時Ｘ，Ｙ駆動方向と同一の場合の可動部材１１の移動処理（図１７のＢ１の処理）を示す。まず、Ｘ，Ｙパルスジェネレータへ駆動方向、移動量（駆動パルス量）、規定パルス速度を書き込み、パルス出力を開始する（ＳＢ４−１１）。
【００９３】
なお、以下では、Ｘパルスジェネレータに由来するパルス出力をＸパルス出力、Ｙパルスジェネレータに由来するパルス出力をＹパルス出力といい、また、これらの出力されるパルスをそれぞれ、Ｘパルス、Ｙパルスという。Ｘ，Ｙともにパルス出力が終了するまで、ＣＰＵ３２−１は待機状態になり（ＳＢ４−１２で「Ｎｏ」へ進む）、パルス出力が終了すると、処理Ｂ１は終了する（ＳＢ４−１２で「Ｙｅｓ」へ進む）。
【００９４】
図１９は、本実施形態における図１８の処理によって実現された復帰動作を示す。同図は、Ｈｏｓｔ７０のディスプレイに表示された標本２の画面イメージ（標本画像部分は省略している）である。例えば、点Ｐ１（ｄｓｔ＿Ｘ，ｄｓｔ＿Ｙ）がジョイスティック操作によって予め記憶された復帰する位置であり、点Ｐ０（ｎｏｗ＿Ｘ，ｎｏｗ＿Ｙ）が現在の位置であるとする。
【００９５】
なお、位置Ｐ１に復帰するとは、Ｐ１を中央にしてＨｏｓｔのディスプレイに標本を表示させるために可動部材１１を動作させることであり、位置Ｐ１に復帰するとは、Ｐ１を中央にしてＨｏｓｔのディスプレイに標本を表示させるために可動部材１１を動作させることである。また、現在位置Ｐ０とは、現在Ｐ０を中央にしてＨｏｓｔのディスプレイに標本を表示されていることである。
【００９６】
点Ｐ１は、記憶時には、図の右上方向に向かって（Ｘ軸方向：原点センサから遠ざかる方向、Ｙ軸方向：原点センサから遠ざかる方向）停止したものとする。この場合、記憶時の停止動作と同様の方向からのアプローチでＰ０からＰ１へ復帰する。
図２０は、本実施形態におけるＸ移動方向のみが停止時Ｘ駆動方向と同一の場合の可動部材１１の移動処理（図１７のＢ２の処理）を示す。まず、Ｘパルスジェネレータへ駆動方向、移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＢ４−２１）。
【００９７】
次に、Ｙパルスジェネレータへ駆動方向、ｏｖｅｒ−ｒｕｎ量を加えた移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＢ４−２２）。ここでは、まず、ＣＰＵ３２−１は、Ｙ軸ｏｖｅｒ−ｒｕｎ量（パルス単位）を不揮発メモリ３２−４から読み込む。Ｙ軸ｏｖｅｒ−ｒｕｎ量は、復帰Ｙ位置：ｄｓｔ＿Ｙを原点から遠ざかる方向へ通り過ぎる量である。
【００９８】
ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７へ駆動方向、および、移動量としてｐｕｌｓｅ＿ＹにＹ軸ｏｖｅｒ−ｒｕｎ量を加えた値を書き込む。例えば、Ｘ軸ｏｖｅｒ−ｒｕｎ量＝２、ｐｕｌｓｅ＿Ｘ＝３００００とすると、ｐｕｌｓｅ＿Ｘに書き込まれた移動量は、ｐｕｌｓｅ＿Ｘ＝３０００２となる。
【００９９】
次に、Ｘ，Ｙパルス出力を開始する（ＳＢ４−２３）。ここでは、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５へパルス出力開始を書き込み、Ｘ軸ステージを復帰移動開始する。ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７へパルス出力開始を書き込み、Ｙ軸ステージを復帰移動開始する。
【０１００】
次に、Ｙパルスの出力が終了したか否かが判断される（ＳＢ４−２４）。Ｙパルスの出力が終了するまでＣＰＵ３２−１は待機状態になり（ＳＢ４−２４で「Ｎｏ」へ進む）、パルス出力が終了すると（ＳＢ４−２４で「Ｙｅｓ」へ進む）、ＳＢ４−２５へ進む。次に、Ｙパルスジェネレータへ逆の駆動方向、ｏｖｅｒ−ｒｕｎ量（駆動パルス量）、規定パルス速度を書き込み、パルス出力を開始する（ＳＢ４−２５）。ここでは、Ｙ軸ステージが復帰位置を通り過ぎて停止すると、ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７を経てこれを検出する。
【０１０１】
ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７へ駆動方向をｌａｓｔ＿ｄｉｒ＿Ｙ：−１の示す原点へ向かう方向とし、駆動パルス量をY軸ｏｖｅｒ−ｒｕｎ量とし、予め決められた復帰時のパルス速度を書き込み、さらにパルス出力開始を書き込み、Ｙ軸ステージを移動開始する。
【０１０２】
次に、Ｘ，Ｙともにパルス出力が終了したか否かが判断される（ＳＢ４−２６）。ここでは、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５および、Ｙパルスジェネレータ３２を経てＸパルス出力の終了、Ｙパルス出力の終了、すなわちＸ軸ステージの停止、Ｙ軸ステージの停止を検出すると、復帰ボタン５６−２ｄの処理を終わり（図７のＳ１−５が終了する）、ジョイスティック５６−３の検出（Ｓ１−２）へと戻る。
【０１０３】
図２１は、本実施形態における図２０の処理によって実現された復帰動作を示す。図２１は、図１９と同様の構成となっている。図２１において、Ｐ０（ｎｏｗ＿Ｘ，ｎｏｗ＿Ｙ）は現在の位置を、Ｐ２（ｄｓｔ＿Ｘ，ｄｓｔ＿Ｙ）は復帰位置を、ΔｙはＹ軸ｏｖｅｒ−ｒｕｎ量を示す。点Ｐ２は、記憶時には、図の下方向へ向かって（Ｙ軸方向：原点センサへ近づく方向）停止したものとする。この場合、記憶時の停止動作と同様の方向からのアプローチでＰ０からＰ２へ復帰するためには、Ｙ軸方向へ一旦Δｙだけ余分に移動させた後、Δｙだけ戻す。
【０１０４】
図２２は、本実施形態におけるＹ移動方向のみが停止時Ｙ駆動方向と同一の場合の可動部材１１の移動処理（図１７のＢ３の処理）を示す。まず、Ｘパルスジェネレータへ駆動方向、ｏｖｅｒ−ｒｕｎ量を加えた移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＢ４−３１）。ここでは、ＣＰＵ３２−１は、Ｘ軸ｏｖｅｒ−ｒｕｎ量（パルス単位）を不揮発メモリ３２−４から読み込む。Ｘ軸ｏｖｅｒ−ｒｕｎ量は、復帰Ｘ位置ｄｓｔ＿Ｘを原点から遠ざかる方向へ通り過ぎる量である。
【０１０５】
ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５へ駆動方向、および、移動量としてｐｕｌｓｅ＿ＸにＸ軸ｏｖｅｒ−ｒｕｎ量を加えた値を書き込む。例えば、Ｘ軸ｏｖｅｒ−ｒｕｎ量＝２、ｐｕｌｓｅ＿Ｘ＝１０００とすると、ｐｕｌｓｅ＿Ｘに書き込まれた移動量は、ｐｕｌｓｅ＿Ｘ＝１００２となる。
【０１０６】
次に、Ｘパルスジェネレータへ駆動方向、移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＢ４−３２）。
次に、Ｘパルス出力が終了するまで、ＣＰＵ３２−１は待機状態になり（ＳＢ４−３４で「Ｎｏ」へ進む）、Ｘパルス出力が終了すると（ＳＢ４−３４で「Ｙｅｓ」へ進む）、ＳＢ４−２５へ進む。
【０１０７】
次に、Ｘパルスジェネレータへ逆の駆動方向、ｏｖｅｒ−ｒｕｎ量（駆動パルス量）、規定パルス速度を書き込み、パルス出力を開始する（ＳＢ４−３５）。Ｘ軸ステージが復帰位置を通り過ぎて停止すると、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５を経てこれを検出する。
【０１０８】
ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５へ駆動方向をｌａｓｔ＿ｄｉｒ＿Ｘ：−１の示す原点へ向かう方向とし、駆動パルス量をＸ軸ｏｖｅｒ−ｒｕｎ量とし、予め決められた復帰時のパルス速度を書き込み、さらにパルス出力開始を書き込み、Ｘ軸ステージを移動開始する。
【０１０９】
次に、Ｘ，Ｙともにパルス出力が終了したか否かが判断される（ＳＢ４−３６）。ここでは、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５および、Ｙパルスジェネレータ３２を経てＸパルス出力の終了、Ｙパルス出力の終了、すなわちＸ軸ステージの停止、Ｙ軸ステージの停止を検出すると、復帰ボタン５６−２ｄの処理を終わり（図７のＳ１−５が終了する）、ジョイスティック５６−３の検出（Ｓ１−２）へと戻る。
【０１１０】
図２３は、本実施形態における図２２の処理によって実現された復帰動作を示す。図２３は、図１９と同様の構成となっている。図２３において、Ｐ０（ｎｏｗ＿Ｘ，ｎｏｗ＿Ｙ）は現在の位置を、Ｐ３（ｄｓｔ＿Ｘ，ｄｓｔ＿Ｙ）は復帰位置を、ΔｘはＸ軸ｏｖｅｒ−ｒｕｎ量を示す。点Ｐ３は、記憶時には、図の左方向へ向かって（Ｘ軸方向：原点センサへ近づく方向）停止したものとする。この場合、記憶時の停止動作と同様の方向からのアプローチでＰ０からＰ２へ復帰するためには、Ｘ軸方向へ一旦Δｘだけ余分に移動させた後、Δｘだけ戻す。
【０１１１】
図２４は、本実施形態におけるＸ，Ｙ移動方向が共に停止時駆動方向と異なる場合の可動部材１１の移動処理（図１７のＢ４の処理）を示す。まず、Ｘパルスジェネレータへ駆動方向、ｏｖｅｒ−ｒｕｎ量を加えた移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＢ４−４１）。ここでは、ＣＰＵ３２−１は、Ｘ軸ｏｖｅｒ−ｒｕｎ量（パルス単位）を不揮発メモリ３２−４から読み込む。Ｘ軸ｏｖｅｒ−ｒｕｎ量は、復帰Ｘ位置ｄｓｔ＿Ｘを原点から遠ざかる方向へ通り過ぎる量である。
【０１１２】
ＣＰＵ３２−１は、■パルスジェネレータ３２−５へ駆動方向、および、移動量として
ｐｕｌｓｅ＿ＸにＸ軸ｏｖｅｒ−ｒｕｎ量を加えた値を書き込む。例えば、Ｘ軸ｏｖｅｒ−ｒｕｎ量＝２、ｐｕｌｓｅ＿Ｘ＝１０００とすると、ｐｕｌｓｅ＿Ｘに書き込まれた移動量は、ｐｕｌｓｅ＿Ｘ＝１００２となる。
【０１１３】
Ｙパルスジェネレータへ駆動方向、ｏｖｅｒ−ｒｕｎ量を加えた移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＢ４−４２）。ここでは、まず、ＣＰＵ３２−１は、Ｙ軸ｏｖｅｒ−ｒｕｎ量（パルス単位）を不揮発メモリ３２−４から読み込む。Ｙ軸ｏｖｅｒ−ｒｕｎ量は、復帰Ｙ位置：ｄｓｔ＿Ｙを原点から遠ざかる方向へ通り過ぎる量である。
【０１１４】
ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７へ駆動方向、および、移動量としてｐｕｌｓｅ＿ＹにＹ軸ｏｖｅｒ−ｒｕｎ量を加えた値を書き込む。例えば、Ｘ軸ｏｖｅｒ−ｒｕｎ量＝２、ｐｕｌｓｅ＿Ｘ＝３００００とすると、ｐｕｌｓｅ＿Ｘに書き込まれた移動量は、ｐｕｌｓｅ＿Ｘ＝３０００２となる。
【０１１５】
次に、Ｘ，Ｙパルス出力を開始する（ＳＢ４−４３）。ここでは、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５へパルス出力開始を書き込み、Ｘ軸ステージを復帰移動開始する。ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７へパルス出力開始を書き込み、Ｙ軸ステージを復帰移動開始する。
【０１１６】
次に、Ｘパルスの出力が終了したか否かが判断される（ＳＢ４−４４）。Ｘパルスの出力が終了した場合、ＳＢ４−４５へ進み、Ｘパルスの出力が終了していない場合、ＳＢ４−４９へ進む。
ＳＢ４−４４で「Ｙｅｓ」へ進んだ場合、Ｘパルスジェネレータへ逆の駆動方向、ｏｖｅｒ−ｒｕｎ量（駆動パルス量）、規定パルス速度を書き込み、パルス出力を開始する（ＳＢ４−４５）。ここでは、Ｘ軸ステージが復帰位置を通り過ぎて停止すると、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５を経てこれを検出する。ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５へ駆動方向をｌａｓｔ＿ｄｉｒ＿Ｘ：−１の示す原点へ向かう方向とし、駆動パルス量をＸ軸ｏｖｅｒ−ｒｕｎ量とし、予め決められた復帰時のパルス速度を書き込み、さらにパルス出力開始を書き込み、Ｘ軸ステージを移動開始する。
【０１１７】
次に、Ｙパルスの出力が終了したか否かが判断される（ＳＢ４−４６）。Ｙパルスの出力が終了するまでＣＰＵ３２−１は待機状態になり（ＳＢ４−４６で「Ｎｏ」へ進む）、パルス出力が終了すると（ＳＢ４−４６で「Ｙｅｓ」へ進む）、ＳＢ４−４７へ進む。
次に、Ｙパルスジェネレータへ逆の駆動方向、ｏｖｅｒ−ｒｕｎ量（駆動パルス量）、規定パルス速度を書き込み、パルス出力を開始する（ＳＢ４−４７）。ここでは、Ｙ軸ステージが復帰位置を通り過ぎて停止すると、ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７を経てこれを検出する。ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７へ駆動方向をｌａｓｔ＿ｄｉｒ＿Ｙ：−１の示す原点へ向かう方向とし、駆動パルス量をY軸ｏｖｅｒ−ｒｕｎ量とし、予め決められた復帰時のパルス速度を書き込み、さらにパルス出力開始を書き込み、Ｙ軸ステージを移動開始する。
【０１１８】
一方、ＳＢ４−４４で「Ｎｏ」へ進んだ場合の処理について説明する。このとき、Ｙパルスの出力が終了したか否かが判断される（ＳＢ４−４６）。Ｙパルスの出力が終了しない場合、ＳＢ４−４４へ戻り（ＳＢ４−４９で「Ｎｏ」へ進む）、パルス出力が終了した場合（ＳＢ４−４６で「Ｙｅｓ」へ進む）、ＳＢ４−５０へ進む。
【０１１９】
次に、Ｙパルスジェネレータへ逆の駆動方向、ｏｖｅｒ−ｒｕｎ量（駆動パルス量）、規定パルス速度を書き込み、パルス出力を開始する（ＳＢ４−５０）。ここでは、Ｙ軸ステージが復帰位置を通り過ぎて停止すると、ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７を経てこれを検出する。ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７へ駆動方向をｌａｓｔ＿ｄｉｒ＿Ｙ：−１の示す原点へ向かう方向とし、駆動パルス量をY軸ｏｖｅｒ−ｒｕｎ量とし、予め決められた復帰時のパルス速度を書き込み、さらにパルス出力開始を書き込み、Ｙ軸ステージを移動開始する。
【０１２０】
次に、Ｘパルスの出力が終了したか否かが判断される（ＳＢ４−５１）。Ｙパルスの出力が終了するまでＣＰＵ３２−１は待機状態になり（ＳＢ４−５１で「Ｎｏ」へ進む）、パルス出力が終了すると（ＳＢ４−５１で「Ｙｅｓ」へ進む）、ＳＢ４−５２へ進む。
次に、Ｘパルスジェネレータへ逆の駆動方向、ｏｖｅｒ−ｒｕｎ量（駆動パルス量）、規定パルス速度を書き込み、パルス出力を開始する（ＳＢ４−５２）。ここでは、Ｘ軸ステージが復帰位置を通り過ぎて停止すると、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５を経てこれを検出する。ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５へ駆動方向をｌａｓｔ＿ｄｉｒ＿Ｘ：−１の示す原点へ向かう方向とし、駆動パルス量をＸ軸ｏｖｅｒ−ｒｕｎ量とし、予め決められた復帰時のパルス速度を書き込み、さらにパルス出力開始を書き込み、Ｘ軸ステージを移動開始する。
【０１２１】
さて、ＳＢ４−４７またはＳＢ４−５２の処理が終了すると、Ｘ，Ｙともにパルス出力が終了したか否かが判断される（ＳＢ４−４８）。ここでは、ＣＰＵ３２−１は、Ｘパルスジェネレータ３２−５および、Ｙパルスジェネレータ３２を経てＸパルス出力の終了、Ｙパルス出力の終了、すなわちＸ軸ステージの停止、Ｙ軸ステージの停止を検出すると、復帰ボタン５６−２ｄの処理を終わり（図７のＳ１−５が終了する）、ジョイスティック５６−３の検出（Ｓ１−２）へと戻る。
【０１２２】
図２５は、本実施形態における図２４の処理によって実現された復帰動作を示す。図２５は、図１９と同様の構成となっている。図２５において、Ｐ０（ｎｏｗ＿Ｘ，ｎｏｗ＿Ｙ）は現在の位置を、Ｐ４（ｄｓｔ＿Ｘ，ｄｓｔ＿Ｙ）は復帰位置を、ΔｙはＹ軸ｏｖｅｒ−ｒｕｎ量を示す。点Ｐ４は、記憶時には、図の左下方向へ向かって（Ｘ軸方向：原点センサへ近づく方向、Ｙ軸方向：原点センサへ近づく方向）停止したものとする。この場合、記憶時の停止動作と同様の方向からのアプローチでＰ０からＰ４へ復帰するためには、Ｘ軸方向へ一旦Δｘだけ余分に移動させた後、Δｘだけ戻し、さらにＹ軸方向へ一旦Δｙだけ余分に移動させた後、Δｙだけ戻す。
【０１２３】
なお、図１０のＳＪ３において、操作角度から求めたパルス速度をＳＪ５での駆動方向と同じように不揮発メモリに記憶する構成も可能である。このパルス速度は、駆動を停止する直前移動速度を示すもので、記憶位置への復帰動作において停止時移動方向の考慮に加えて、該直前移動速度の大小により、ｏｖｅｒ−ｒｕｎ量を調整するような構成も可能である。
【０１２４】
以上のように、ジョイスティックの操作により標本上の任意の点を選択し、記憶ボタンの操作によりこの位置の記憶とこの位置を選択したときのＸ軸停止時方向、Ｙ軸停止時方向も合わせて記憶することができる。
また、復帰ボタンの操作により、記憶した位置への復帰動作に際して、Ｘ軸停止時方向、Ｙ軸停止時方向が同じ方向となるよう制御しているので、バックラッシュなどに起因するロストモーションの影響を取り除くことが可能である。
【０１２５】
＜第２の実施形態＞
本実施形態では、バックラッシュによるロストモーションの影響から生じる移動量誤差を制御する。ここで、移動量誤差について説明する。顕微鏡用電動ステージを機構的に駆動させても、実際に顕微鏡用電動ステージが動作し始めるには、時間的な誤差が生じる。そこで、時間的な誤差がない場合（すなわち、バックラッシュがない場合）の顕微鏡用電動ステージの移動量と時間的な誤差がある場合（すなわち、バックラッシュがある場合）の顕微鏡用電動ステージの移動量の差を移動量誤差という。
【０１２６】
本実施形態は、第１の実施形態と比較して、原点検出手段と制御手段のみが異なり、他の部分は第１の実施形態と同様のため異なる部分のみを説明し、同様の部分の図と説明を省略する。
制御部３２には、外部通信手段としてＲＳ−２３２Ｃや、ＵＳＢあるいは、イーサネット（登録商標）等の外部通信部が設けられており、ＰＣ等の外部機器７０（以下、Ｈｏｓｔという）から、ＣＰＵ３２−１が、このＩ／Ｆを介してコマンドを送受することにより、操作部５６からの操作と同等の駆動部制御を行うとともに、外部との情報交換を行う。
【０１２７】
図２６は、本実施形態における制御部３２の有するコマンドセットを示す。コマンド名「ＯＲＧ」（名称：原点検出動作）は、原点センサで規定される原点へステージを移動し、位置（座標）をリセットするためのコマンドである。コマンド名「ＭＯＶＥＲＲ？」（名称：移動量誤差取得）は、移動量誤差ｅｒｒ＿Ｘ，ｅｒｒ＿Ｙを知らせるためのコマンドである。
【０１２８】
コマンド名「ＰＯＳ？」（名称：位置取得）は、ステージ位置ａｘ，ａｙを知らせるためのコマンドである。コマンド名「ＤＩＲ？」（名称：移動停止時方向取得）は、ステージ停止時の方向ｄｉｒ＿Ｘ，ｄｉｒ＿ｙを知らせるためのコマンドである。コマンド名「ＭＯＶＡＢＳ  ａｘ，ａｙ」（名称：移動）は、ａｘおよびａｙで指定される（絶対）位置へステージを移動させるためのコマンドである。
【０１２９】
次に本実施形態の顕微鏡用電動ステージの動作について、以下に説明する。
図２７は、本実施形態における操作部の操作によって発生する制御の処理フローを示す。Ｓ１−１〜Ｓ１−１２は、第１の実施形態と同様であるので、ここでは、Ｓ２−１とＳ２−２の処理について述べる。
【０１３０】
ＣＰＵ３２−１は、Ｈｏｓｔからの受信コマンドを調ベ、コマンドを受信していれば（Ｓ２−１で「Ｙｅｓ」へ進む）、このコマンドに応じた処理をする（Ｓ２−２）。一方、Ｈｏｓｔからの受信コマンドがなければ（Ｓ２−１で「Ｎｏ」へ進む）、再びＳ１−２へ戻る。
【０１３１】
図２８は、本実施形態における各コマンドに応じた処理（図２７のＳ２−２の処理）を実行させる処理フローを示す。受信したコマンドが「ＯＲＧ（原点検出動作コマンド）」の場合、後述する処理Ｃ１を実行する。また、受信したコマンドが「ＭＯＶＥＲＲ？（移動量誤差取得コマンド）」の場合、後述する処理Ｃ２を実行する。また、受信したコマンドが「ＰＯＳ？（位置取得コマンド）」の場合、後述する処理Ｃ３を実行する。また、受信したコマンドが「ＤＩＲ？（移動停止時方向取得コマンド）」の場合、後述する処理Ｃ４を実行する。また、受信したコマンドが「ＭＯＶＡＢＳ  ａｘ，ａｙ（移動コマンド）」の場合、後述する処理Ｃ５を実行する。
【０１３２】
図２９は、本実施形態における原点検出動作コマンドを受信した場合（図２８の処理Ｃ１）の詳細なフローを示す。まず、ＣＰＵ３２−１は、Ｙ原点センサ３０の信号を読み込む。Ｙ原点センサ３０の信号は遮光版３１が遮光している位置、つまり、可動部材１１が原点に位置している場合をｏｎ、遮光版３１が遮光していない位置、つまり、可動部材１１が原点に位置していない場合をｏｆｆとする。
【０１３３】
ＣＰＵ３２−１は、Ｙ原点センサ３０の信号がｏｎであるか否かを判断する（ＳＣ１−１）。Ｙ原点センサ３０の信号がｏｆｆであると（ＳＣ１−１で「Ｎｏ」へ進む）、ＳＣ１−４へ進む。
一方、ＣＰＵ３２−１は、Ｙ原点センサ３０の信号がｏｎであると（ＳＣ１−１で「Ｙｅｓ」へ進む）、Ｙステッピングモーター２０を＋方向へ所定パルス量（２０パルス）にて駆動し、可動部材１１を５０［μm］（＝２．５［μｍ／ｐ］×２０［ｐ］）を＋方向へ移動する（ＳＣ１−２）。
【０１３４】
ＣＰＵ３２−１は、２０パルス出力終了後再びＹ原点センサ３０の信号を読み込み、Ｙ原点センサ３０の信号がｏｎであるか否かを判断する（ＳＣ１−３）。この信号がｏｎであれば（ＳＣ１−３で「Ｙｅｓ」へ進む）、ＳＣ１−２へ戻り、再度所定量を出力する。このようにして、Ｙ原点センサ３０の信号がｏｆｆとなるまで可動部材１１を＋方向へ５０［μｍ］ずつ移動し、Ｙ原点センサ３０の信号がｏｆｆとなると（ＳＣ１−３で「Ｎｏ」へ進む）、ＳＣ１−４へ進む。
【０１３５】
次に、ＣＰＵ３２−１はＹステッピングモータ２０を一方向へ所定パルス量（−パルス）にて駆動開始し、可動部材１１の一方向への移動を開始する（ＳＣ１−４）。可動部材１１の移動ストロークを例えば７０［ｍｍ］とすれば、ＣＰＵ３２−１は、−２８０００パルス（＝−７００００［μｍ］／２．５［μｍ／ｐ］）程度の出力を開始する。これにより、可動部材１１は一方向への移動を開始し、遮光版３１はＹ原点センサ３０へ近づいていく。
【０１３６】
次に、ＣＰＵ３２−１は、一方向へ所定パルス量（−パルス）の出力を開始した後、Ｙ原点センサ３０の信号を読み込み、Ｙ原点センサ３０の信号がｏｎであるか否かを判断する（ＳＣ１−５）。Ｙ原点センサ３０の信号がｏｎであれば、ＳＣ１−６へ至る。一方、Ｙ原点センサ３０の信号がｏｆｆであれば、再び、Ｙ原点センサ３０の信号を読み込み、この信号がｏｆｆの間、これを繰り返す（ＳＣ１−５で「Ｎｏ」へ進む）。
【０１３７】
Ｙ原点センサ３０の信号がｏｎであると、ＣＰＵ３２−１は直ちにＹステッピングモータ２０へのパルス出力を中断して、可動部材１１を停止させる（ＳＣ１−６）。
このようにして、Ｙ原点センサ３０を遮光版３１が遮光し、Ｙ原点センサ３０の信号がｏｎとなる位置に可動部材１１は位置づけられ、原点検出動作の前半が終了する。
【０１３８】
次に、ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７のＹカウンタ３２−７−１へ０を書き込み、カウンタをクリアする（ＳＣ１−７）。
次に、ＣＰＵ３２−１は、可動部材１１をＹ軸＋方向（原点から遠ざかる方向）へ低速で駆動を開始する（ＳＣ１−８）。
【０１３９】
次に、ＣＰＵ３２−１は、Ｙ軸＋方向へ所定パルス量（＋パルス）の出力を開始した後、Ｙ原点センサ３０の信号を読み込み、Ｙ原点センサ３０の信号がｏｎであるか否かを判断する（ＳＣ１−９）。Ｙ原点センサ３０の信号がｏｎであれば（ＳＣ１−９で「Ｎｏ」へ進む）、再び、Ｙ原点センサ３０の信号を読み込み、この信号がｏｎの間、これを繰り返す。
【０１４０】
一方、Ｙ原点センサ３０の信号がｏｆｆになると（ＳＣ１−９で「Ｙｅｓ」へ進む）、ＣＰＵ３２−１は直ちにＹステッピングモータ２０へのパルス出力を中断して、可動部材１１を停止させる（ＳＣ１−１０）。
次に、ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７のＹカウンタ３２−７−１からカウントを読み出し、この値をＹ軸移動量誤差を保持する変数として、ＲＡＭ３２−３に確保した変数：ｅｒｒ＿Ｙに格納する（ＳＣ１−１１）。
【０１４１】
次に、ＣＰＵ３２−１は、Ｙパルスジェネレータ３２−７のＹカウンタ３２−７−１へ０を書き込み、カウンタをクリアする（ＳＣ１−１２）。
さて、ＣＰＵ３２−１は、Ｘ軸に関しても、上記したＹ軸の処理と全く同様にＳＣ１−１〜ＳＣ１−１２を行い、Ｘ軸移動量誤差を保持する変数として、ＲＡＭ３２−３に確保した変数：ｅｒｒ＿Ｘに格納する（ＳＣ１−１〜ＳＣ１−１２）。
【０１４２】
Ｈｏｓｔへ原点検出動作の終了コマンドを送信し（ＳＣ１−１３）、原点検出動作コマンドの処理を終了する。
図３０は、本実施形態における移動量誤差取得コマンドを受信した場合（図２８の処理Ｃ２）の詳細なフローを示す。まず、ＣＰＵ３２−１は、移動量誤差取得コマンドを受信すると、Ｘ軸移動量誤差を保持する変数として、ＲＡＭ３２−３に確保した変数：ｅｒｒ＿ＸとＹ軸移動量誤差を保持する変数として、ＲＡＭ３２−３に確保した変数：ｅｒｒ＿Ｙと読み込む（ＳＣ２−１）。
【０１４３】
次に、Ｈｏｓｔへ移動量誤差をパラメータに持つ通知コマンドを送信し（ＳＣ２−２）、移動量誤差取得コマンドの処理を終了する。
これより、Ｈｏｓｔは、この通知コマンドを受信することで移動量誤差を知ることが出来る。なお、移動量誤差取得コマンドにより、移動量誤差を取得し、この値をｏｖｅｒ−ｒｕｎ量に用いることで、任意の測定点への移動動作のタクトタイムを最短に縮めることができる。
【０１４４】
図３１は、本実施形態における位置取得コマンドを受信した場合（図２８の処理Ｃ３）の詳細なフローを示す。まず、位置取得コマンドを受信すると、ＣＰＵ３２−１は、カウンタＸから現在の位置を読み出し、ＲＡＭ３２−２に確保した変数：ｎｏｗ＿Ｘに格納する。また、ＣＰＵ３２−１は、カウンタＹから現在の位置を読み出し、ＲＡＭ３２−２に確保した変数：ｎｏｗ＿Ｙに格納する（ＳＣ３−１）。
【０１４５】
次に、ＣＰＵ３２−１は、現在の位置を保持するｎｏｗ＿Ｘ、ｎｏｗ＿Ｙをパラメータに持つ通知コマンドを送信し（ＳＣ３−２）、位置取得コマンドの処理を終了する。
これより、Ｈｏｓｔは、この通知コマンドを受信することでステージの位置を知ることが出来る。
【０１４６】
図３２は、本実施形態における移動停止時方向取得コマンドを受信した場合（図２８の処理Ｃ４）の詳細なフローを示す。まず、移動停止時方向取得コマンドを受信すると、ＣＰＵ３２−１は、Ｘ移動停止時方向（最後の移動方向）を保持するＲＡＭ３２−３に確保した符号付き変数、ｄｉｒ＿Ｘと、Ｙ移動停止時方向（最後の移動方向）を保持するＲＡＭ３２−３に確保した符号付き変数、ｄｉｒ＿Ｙとを読み込む（ＳＣ４−１）。
【０１４７】
次に、ＣＰＵ３２−１は、Ｘ移動停止時方向（最後の移動方向）を保持するｄｉｒ＿Ｘ、ｄｉｒ＿Ｙをパラメータに持つ通知コマンドを送信し（ＳＣ４−２）、移動停止時方向取得コマンドの処理を終了する。
これより、Ｈｏｓｔは、この通知コマンドを受信することでステージの移動停止時方向を知ることが出来る。
【０１４８】
図３３は、本実施形態における移動コマンドを受信した場合（図２８の処理Ｃ５）の詳細なフローを示す。ここでの処理概要を説明すると、ＣＰＵ３２−１は、復帰ボタン５６−２ｄへの操作を検出すると、不揮発メモリ３２−４に確保された停止時位置方向テーブル９０の現在のインデックスで指し示される位置へ、停止時方向が一致するように復帰移動を行う。
【０１４９】
まず、パルスジェネレータのカウンタから現在位置を読み出す（ＳＣ５−１）。次に、現在位置から移動先位置への移動量を求める（ＳＣ５−２）。次に、現在位置から移動先位置への移動方向を求める（ＳＣ５−３）。次に、Ｘパルスジェネレータへ駆動方向、移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＣ５−４）。次に、Ｙパルスジェネレータへ駆動方向、移動量（駆動パルス量）、規定パルス速度を書き込む（ＳＣ５−５）。
【０１５０】
次に、Ｘ，Ｙパルス出力を開始する（ＳＣ５−６）。次に、Ｘ，Ｙともにパルス出力が終了するまで、ＣＰＵ３２−１は待機し（ＳＣ５−７で「Ｎｏ」へ進む）、Ｘ，Ｙともにパルス出力が終了したら（ＳＣ５−７で「Ｙｅｓ」へ進む）、Ｈｏｓｔへ終了コマンドを送信し（ＳＣ５−８）、移動コマンドの処理を終了する。なお、ＳＣ５−１〜ＳＣ５−７の各処理についての詳細は、第１の実施形態のそれぞれの処理に対応する処理と同様である（図１７配下の各処理を参照）。
【０１５１】
これより、Ｈｏｓｔは、この終了コマンドを受信することでステージの移動が完了したことを知ることが出来る。
以上のようなコマンドセットを持っているので、Ｈｏｓｔ上で所望のシステムを実現するアプリケーションプログラムから、本実施形態のコマンドを使うことが可能である。よって、Ｈｏｓｔは、ジョイスティック操作により選択した観察、測定点に対して、都度、位置取得コマンドによる位置の取得、および、移動停止時方向取得コマンドによる停止時方向の取得が可能であり、以降これらの位置を復帰移動する際に、位置取得コマンドにより現在位置を取得し、適当なｏｖｅｒ−ｒｕｎ量を加え、Ｘ軸停止時方向、Ｙ軸停止時方向が同じ方向となるよう移動コマンドを用いることができる。すなわち、最小のｏｖｅｒ−ｒｕｎ量で復帰動作を行うことができるので、時間的にも最短で行うことができる。
【０１５２】
これにより本実施形態においても第１の実施形態同様、バックラッシュなどの影響を取り除くことが可能である。また、本実施形態においては、必ずしも不揮発メモリを必要としないので、より簡単、安価な構成をとることも可能である。
【図面の簡単な説明】
【０１５３】
【図１】第１の実施形態における顕微鏡用電動ステージを使用した顕微鏡システムの全体構成を示す図である。
【図２】第１の実施形態における顕微鏡と顕微鏡用電動ステージとの関係を示す図である。
【図３】第１の実施形態における顕微鏡用電動ステージの斜視図である。
【図４】第１の実施形態におけるステージの位置管理をする制御手段の斜視図である。
【図５】第１の実施形態における制御部３２の構成を示す図である。
【図６】第１の実施形態における操作部の外観構成を示す図である。
【図７】第１の実施形態における操作部の操作によって発生する制御の処理フローを示す図である。
【図８】第１の実施形態における操作角度と該ディジタルデータの関係を示す図である。
【図９】第１の実施形態における速度変換テーブルを示す図である。
【図１０】第１の実施形態におけるＸ，Ｙ軸方向への操作に伴うジョイスティック処理のフローを示す図である。
【図１１】第１の実施形態における各ボタンに応じた処理（図７のＳ１−５の処理）の詳細なフローを示す図である。
【図１２】第１の実施形態における停止時位置方向テーブルを示す図である。
【図１３】第１の実施形態におけるインクリメントボタン５６−２ａが操作された場合（図１１のＡ１）の処理フローを示す図である。
【図１４】第１の実施形態におけるデクリメントボタン５６−２ｂが操作された場合（図１１のＡ２）の処理フローを示す図である。
【図１５】第１の実施形態における記憶ボタン５６−２ｃが操作された場合（図１１のＡ３）の処理フローを示す図である。
【図１６】第１の実施形態における更新された停止時位置方向テーブル９０の一例を示す図である。
【図１７】第１の実施形態における復帰ボタン５６−２ｄが操作された場合（図１１のＡ４）の処理フローを示す図である。
【図１８】第１の実施形態におけるＸ，Ｙ移動方向が停止時Ｘ，Ｙ駆動方向と同一の場合の可動部材１１の移動処理（図１７のＢ１の処理）を示す図である。
【図１９】第１の実施形態における図１８の処理によって実現された復帰動作を示す図である。
【図２０】第１の実施形態におけるＸ移動方向のみが停止時Ｘ駆動方向と同一の場合の可動部材１１の移動処理（図１７のＢ２の処理）を示す図である。
【図２１】第１の実施形態における図２０の処理によって実現された復帰動作を示す図である。
【図２２】第１の実施形態におけるＹ移動方向のみが停止時Ｙ駆動方向と同一の場合の可動部材１１の移動処理（図１７のＢ３の処理）を示す図である。
【図２３】第１の実施形態における図２２の処理によって実現された復帰動作を示す図である。
【図２４】第１の実施形態におけるＸ，Ｙ移動方向が共に停止時駆動方向と異なる場合の可動部材１１の移動処理（図１７のＢ４の処理）を示す図である。
【図２５】第１の実施形態における図２４の処理によって実現された復帰動作を示す図である。
【図２６】第２の実施形態における制御部３２の有するコマンドセットを示す図である。
【図２７】第２の実施形態における操作部の操作によって発生する制御の処理フローを示す図である。
【図２８】第２の実施形態における各コマンドに応じた処理（図２７のＳ２−２の処理）を実行させる処理フローを示す図である。
【図２９】第２の実施形態における原点検出動作コマンドを受信した場合（図２８の処理Ｃ１）の詳細なフローを示す図である。
【図３０】第２の実施形態における移動量誤差取得コマンドを受信した場合（図２８の処理Ｃ２）の詳細なフローを示す図である。
【図３１】第２の実施形態における位置取得コマンドを受信した場合（図２８の処理Ｃ３）の詳細なフローを示す図である。
【図３２】第２の実施形態における移動停止時方向取得コマンドを受信した場合（図２８の処理Ｃ４）の詳細なフローを示す図である。
【図３３】第２の実施形態における移動コマンドを受信した場合（図２８の処理Ｃ５）の詳細なフローを示す図である。
【符号の説明】
【０１５４】
１      顕微鏡
２      標本
３      対物レンズ
４      コンデンサ
５      電動ステージ
１０    固定部材
１１    可動部材
２０    ステッピングモータ
３０    Ｙ原点センサ
３１    遮光板
３２    制御部
３２−１  ＣＰＵ
３２−２  ＲＯＭ
３２−３  ＲＡＭ
３２−４  不揮発メモリ
３２−５  Ｘパルスジェネレータ
３２−５−１  Ｘカウンタ
３２−６  Ｘドライバ
３２−７  Ｙパルスジェネレータ
３２−７−１  Ｙカウンタ
３２−８  Ｙドライバ
５６    操作部
５６−１  表示部
５６−２  操作入力部
５６−２ａ  インクリメントボタン
５６−２ｂ  デクリメントボタン
５６−２ｃ  記憶ボタン
５６−２ｄ  復帰ボタン
５６−３  ジョイスティック
７０    Ｈｏｓｔ
８０    速度変換テーブル
９０    停止時位置方向テーブル
【図１】
2005092152.tif 000003
【図２】
2005092152.tif 000004
【図３】
2005092152.tif 000005
【図４】
2005092152.tif 000006
【図５】
2005092152.tif 000007
【図６】
2005092152.tif 000008
【図７】
2005092152.tif 000009
【図８】
2005092152.tif 000010
【図９】
2005092152.tif 000011
【図１０】
2005092152.tif 000012
【図１１】
2005092152.tif 000013
【図１２】
2005092152.tif 000014
【図１３】
2005092152.tif 000015
【図１４】
2005092152.tif 000016
【図１５】
2005092152.tif 000017
【図１６】
2005092152.tif 000018
【図１７】
2005092152.tif 000019
【図１８】
2005092152.tif 000020
【図１９】
2005092152.tif 000021
【図２０】
2005092152.tif 000022
【図２１】
2005092152.tif 000023
【図２２】
2005092152.tif 000024
【図２３】
2005092152.tif 000025
【図２４】
2005092152.tif 000026
【図２５】
2005092152.tif 000027
【図２６】
2005092152.tif 000028
【図２７】
2005092152.tif 000029
【図２８】
2005092152.tif 000030
【図２９】
2005092152.tif 000031
【図３０】
2005092152.tif 000032
【図３１】
2005092152.tif 000033
【図３２】
2005092152.tif 000034
【図３３】
2005092152.tif 000035