(57)【要約】【課題】着脱可能な撮影レンズおよびカメラボディを備えたカメラシステムにおいて、カメラボディから撮影レンズに、制御回路用の電源とズームモータ等動力用の電源を独立して供給し、遮断できるカメラシステムを提供する。【解決手段】  ズームモータ６５およびこのズームモータ６５を制御するレンズＣＰＵ６１を備えた撮影レンズ５１と、この撮影レンズ５１が着脱可能なカメラボディ１１とを備えたカメラシステムにおいて、カメラボディ１１は、ボディＣＰＵ３５と、撮影レンズ５１のズームモータ６５およびレンズＣＰＵ６１に電源を独立して供給するバッテリ２０を備え、ボディＣＰＵ３５は、ズームモータ６５への給電状態をチェックして、異常を検知したときはズームモータ６５への給電のみを遮断する。【選択図】    図５９
2004171017.tif 000002
【特許請求の範囲】
【請求項１】
電動手段およびこの電動手段を制御するレンズ制御手段を備えた撮影レンズと、この撮影レンズが着脱可能なカメラボディとを備えたカメラシステムにおいて、
上記カメラボディは、
電源；
該電源の電力を上記電動手段および上記レンズ制御手段に独立して供給する電力供給手段；
上記撮影レンズの電動手段への電力供給が異常かどうかを検知する異常検知手段；および、
上記異常検知手段が異常を検知したときに上記電動手段への電力供給を遮断する遮断手段；を備えていることを特徴とするカメラシステム。
【請求項２】
請求項１記載のカメラシステムにおいて、上記電源は、バッテリを含み、上記カメラボディは、上記バッテリから、上記電動手段用の電力及び上記レンズ制御手段用の定電圧とをそれぞれ別個の電気接点を介して撮影レンズに供給するカメラシステム。
【請求項３】
請求項２記載のカメラシステムにおいて、上記撮影レンズは、ズームレンズ群およびこのズームレンズ群を光軸方向に移動可能に保持するズーム機構を備えたパワーズームレンズであって、上記電動手段は、上記ズーム機構を駆動して上記ズームレンズ群を移動するズームモータであるカメラシステム。
【請求項４】
請求項１記載のカメラシステムにおいて、上記カメラボディは、上記レンズ制御手段に上記電動手段への電力供給状態をチェックさせるバッテリチェック機能を有するボディ制御手段を備えているカメラシステム。
【請求項５】
請求項４記載のカメラシステムにおいて、上記レンズ制御手段は、上記電動手段用の電気接点の電圧をチェックして異常を検出するカメラシステム。
【請求項６】
請求項５記載のカメラシステムにおいて、上記ボディ制御手段は、上記バッテリチェックにおいて上記電力が正常に供給されていないことを検出したときには、上記電動手段用の電力供給を停止させるカメラシステム。
【請求項７】
請求項１記載のカメラシステムにおいて、上記ボディ制御手段は、上記レンズ制御手段にスタンバイコマンドを出力し、スタンバイコマンドを受信したレンズ制御手段は、上記ボディ制御手段にスタンバイコマンドを送信して低消費電力モードに移行し、前記ボディ制御手段は上記電動手段への電力を遮断するカメラシステム。
【請求項８】
請求項７記載のカメラシステムにおいて、上記ボディ制御手段は、レンズ制御手段から電力要求コマンドを入力したときに前記電動手段への電力供給を開始するカメラシステム。
【請求項９】
請求項１から８のいずれか一項記載のカメラシステムにおいて、
上記撮影レンズは、移動レンズ群を駆動する電動手段、および外部操作されるスイッチ手段を備え、上記レンズ制御手段は、上記スイッチ手段、撮影レンズの状態を検出し、上記電動手段を駆動制御し、上記カメラボディとの間で、上記検出したスイッチ手段、撮影レンズの状態、撮影レンズの機能に関するデータおよび電源のオン／オフに関するコマンドを含む情報を入出力する機能を備え、
カメラボディは、カメラシステムの機能全体を制御し、上記レンズ制御手段との間で情報を入出力するボディ制御手段を備え、
上記レンズ制御手段およびボディ制御手段は、互いに上記情報を入出力し、上記ボディ制御手段は、上記レンズ制御手段に上記情報の出力を要求する情報を出力し、入力した情報に応じて起動／スリープし、上記電力供給手段をオン／オフし、レンズ制御手段を起動／スリープさせる情報を出力すること、を特徴とするカメラシステム。
【請求項１０】
カメラボディに着脱可能な撮影レンズであって、
移動レンズ群を駆動する電動手段；
この電動手段を制御するレンズ制御手段；および、
装着されたカメラボディから、上記電動手段用の電力および上記レンズ制御手段用の電力の供給を独立して受ける電力供給手段；を備えたことを特徴とする撮影レンズ。
【請求項１１】
請求項１０記載の撮影レンズは、外部操作を受けるスイッチ手段を備え、上記レンズ制御手段は、上記スイッチ手段、撮影レンズの状態を検出し、上記電動手段を駆動制御し、上記カメラボディとの間で、上記検出したスイッチ手段、撮影レンズの状態、撮影レンズの機能に関するデータおよび電力供給手段のオン／オフに関するコマンドを含む情報をカメラボディとの間で入出力する機能を備え、
上記レンズ制御手段はカメラボディとの間で互いに上記情報を入出力し、上記ボディから、上記情報の出力を要求する情報を入力して上記情報を出力し、入力した情報に応じて起動／スリープ、上記電力供給手段をオン／オフし、レンズ制御手段を起動／スリープさせる情報を出力すること、を特徴とする撮影レンズ。
【請求項１２】
電動手段およびこの電動手段を制御するレンズ制御手段を備えた撮影レンズが着脱可能なカメラボディであって、該カメラボディは、
電源；
該電源の電力を上記電動手段および上記レンズ制御手段に独立して供給する電力供給手段；
上記撮影レンズの電動手段への電力供給が異常かどうかを検知する異常検知手段；および、
上記異常検知手段が異常を検知したときに上記電動手段への電力供給を遮断する遮断手段；を備えていることを特徴とするカメラボディ。
【請求項１３】
請求項１２記載のカメラボディは、カメラシステムの機能全体を制御し、レンズ制御手段との間で情報を入出力するボディ制御手段を備え、
移動レンズ群を駆動する電動手段、および外部操作されるスイッチ手段を備え、上記スイッチ手段、撮影レンズの状態を検出し、上記電動手段を駆動制御し、上記カメラボディとの間で、上記検出したスイッチ手段、撮影レンズの状態、撮影レンズの機能に関するデータおよび電源のオン／オフに関するコマンドを含む情報を入出力する機能を備えた上記レンズ制御手段が搭載された撮影レンズが装着されたときに、上記ボディ制御手段は上記レンズ制御手段と互いに上記情報を入出力し、上記レンズ制御手段に上記情報の出力を要求する情報を出力し、入力した情報に応じて起動／スリープし、上記電力供給手段をオン／オフし、レンズ制御手段を起動／スリープさせる情報を出力すること、を特徴とするカメラボディ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンズ交換式のカメラシステム、撮影レンズ、およびカメラボディに関する。
【背景技術】
【０００２】
従来のレンズ交換式の一眼レフカメラにおいて、自動焦点装置は、焦点検出装置の検出結果に応じてフォーカシングレンズ群をＡＦモータにより駆動する構成である。
【０００３】
従来の自動焦点調節装置を備えた一眼レフカメラは、レンズ交換が可能なカメラボディに搭載したＣＰＵ（マイクロコンピュータ）によりＡＦモータの駆動を制御する構成であった。また、このＡＦモータを撮影レンズ内に搭載し、ＡＦモータの駆動電力をカメラボディ内のバッテリから供給するものがあった（特許文献１）。
【特許文献１】特開昭６２‐１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の一眼レフカメラでは、撮影レンズ内のＡＦモータを駆動する電力およびＡＦモータを制御するレンズ制御回路の動作電力を、同一の端子を介してボディからレンズに供給していた。そのため、ＡＦモータに異常が発生したときなど、正常に電力供給がなされていないときには、レンズ制御回路が正常に動作しないので、この異常をボディ内のマイコンが検知してレンズへの給電を遮断していた。しかも、この異常の原因が、ＡＦモータなのか、レンズ制御回路なのか、電気接点の接触不良なのかが分からなかった。さらに、ＡＦモータへの電力遮断のみならず、レンズ制御回路への電力も遮断するので、レンズ制御回路が正常な場合でもレンズ制御回路は機能しなくなる問題があった。この問題を解決するためにバッテリを交換レンズに搭載する構成は、交換レンズが重量化するなどの問題が発生するため実現されていなかった。
【０００５】
本発明は、上記従来のカメラの問題に鑑みてなされたもので、着脱可能な撮影レンズおよびカメラボディを備えたカメラシステムにおいて、カメラボディから撮影レンズに、制御回路用の電源とズームモータ等動力用の電源を独立して供給し、遮断できるカメラシステム、撮影レンズおよびカメラボディを提供することを目的とする。
【０００６】
この目的を達成する本発明は、電動手段およびこの電動手段を制御するレンズ制御手段を備えた撮影レンズと、この撮影レンズが着脱可能なカメラボディとを備えたカメラシステムにおいて、上記カメラボディは、電源；該電源の電力を上記電動手段および上記レンズ制御手段に独立して供給する電力供給手段；上記撮影レンズの電動手段への電力供給が異常かどうかを検知する異常検知手段；および、上記異常検知手段が異常を検知したときに上記電動手段への電力供給を遮断する遮断手段を備えたことに特徴を有する。
【０００７】
さらに撮影レンズに関する発明は、カメラボディに着脱可能な撮影レンズであって、移動レンズ群を駆動する電動手段；この電動手段を制御するレンズ制御手段；および、装着されたカメラボディから、上記電動手段用の電力および上記レンズ制御手段用の電力の供給を独立して受ける電力供給手段を備えたことに特徴を有する。
【０００８】
実際的には、外部操作を受けるスイッチ手段を備え、上記レンズ制御手段は、上記スイッチ手段、撮影レンズの状態を検出し、上記電動手段を駆動制御し、上記カメラボディとの間で、上記検出したスイッチ手段、撮影レンズの状態、撮影レンズの機能に関するデータおよび電源のオン／オフに関するコマンドを含む情報をカメラボディとの間で入出力する機能を備え、上記レンズ制御手段はカメラボディとの間で互いに上記情報を入出力し、上記ボディから、上記情報の出力を要求する情報を入力して上記情報を出力し、、入力した情報に応じて起動／スリープ、上記電力供給手段をオン／オフし、レンズ制御手段を起動／スリープさせる情報を出力する。
【０００９】
カメラボディに関する発明は、電動手段およびこの電動手段を制御するレンズ制御手段を備えた撮影レンズが着脱可能なカメラボディであって、該カメラボディは、電源；該電源の電力を上記電動手段および上記レンズ制御手段に独立して供給する電力供給手段；上記撮影レンズの電動手段への電力供給が異常かどうかを検知する異常検知手段；および、上記異常検知手段が異常を検知したときに上記電動手段への電力供給を遮断する遮断手段；を備える。
【発明の効果】
【００１０】
本発明は、撮影レンズに対して電動手段用の電源とレンズ制御手段用の電源とを独立して供給するので、電動手段用の電源供給に異常をレンズ制御手段が把握し、供給遮断などの制御をすることが可能になった。
【発明を実施するための最良の形態】
【００１１】
以下図示実施例に基づいて本発明を説明する。図１は、本発明を適用した自動焦点（ＡＦ）一眼レフカメラのボディ部の主要構成を示したブロック図、図２は、同パワーズームレンズの主要構成を示したブロック図、図３は、同パワーズームレンズの回路ブロック図である。
【００１２】
このＡＦ一眼レフカメラは、カメラボディ１１と、このカメラボディ１１に着脱可能な撮影レンズ（パワーズームレンズ）５１とを備えている。パワーズームレンズ５１のズーム光学系５３からカメラボディ１１内に入射した被写体光束は、大部分がメインミラー１３によりファインダ光学系を構成するペンタプリズム１５に向かって反射され、さらに反射光の一部が測光用ＩＣ１７の受光素子（図示せず）に入射する。一方、カメラボディ１１内に入射した被写体光束のうち、メインミラー１３のハーフミラー部１４に入射した被写体光束の一部はここを透過し、後方のサブミラー１９で下方に反射されて測距用ＣＣＤセンサユニット２１に入射する。
【００１３】
測光用ＩＣ１７は、被写体光束を受光する受光素子を備えていて、この受光素子が受光量に応じて発生する電気信号を対数圧縮およびＡ／Ｄ変換し、周辺部制御回路２３を介して測光信号としてメイン（ボディ）ＣＰＵ３５に出力する。ボディＣＰＵ３５は、測光信号およびフィルム感度情報に基づいて所定の演算を実行し、露出用の適正シャッタ速度および絞り値を算出する。そして、これらのシャッタ速度および絞り値に基づいて露出機構（シャッタ機構）２５および絞り機構２７を駆動する。
【００１４】
測距用ＣＣＤセンサユニット２１は、いわゆる位相差方式の焦点検出手段であって、図示しないが、被写体光束を二分割する分割光学系と、二分割された被写体光束をそれぞれ受光して積分（光電変換およびその電荷を蓄積）するＣＣＤラインセンサを備えている。そして測距用ＣＣＤセンサユニット２１は、ＣＣＤラインセンサが積分した積分データを、制御手段としてのボディＣＰＵ３５に出力する。なお、測距用ＣＣＤセンサユニット２１は、周辺部制御回路２３により駆動制御される。また、ＣＣＤセンサユニット２１はモニタ素子を備えていて、周辺部制御回路２３は、このモニタ素子を介して被写体輝度を検出し、その検出結果に応じて積分時間を変更する。
【００１５】
周辺部制御回路２３は、デジタル測光信号およびフィルム感度情報に基づいて所定の露出演算を実行し、露出用の適正シャッタ速度および絞り値を算出する。そして、これらのシャッタ速度および絞り値に基づいて、露光機構（シャッタ機構）２５および絞り機構２７を駆動して露光する。さらに周辺部制御回路２３は、レリーズに際して、モータドライブ回路（モータードライブＩＣ）２９を介してミラーモータ３１を駆動してメインミラー１３のアップ／ダウン処理を行ない、露光終了後には巻上モータ３３を駆動してフィルムを巻上げる。
【００１６】
さらにボディＣＰＵ３５は、周辺部制御回路２３と、ボディマウント面に設けられた電気接点群ＢＣと、パワーズームレンズ５１のマウント面に設けられた電気接点群ＬＣとの接続を介して、レンズＣＰＵ６１との間でデータ、コマンド等の通信を行なう。
【００１７】
また、ボディＣＰＵ３５は、測距用ＣＣＤセンサユニット２１から出力される積分データに基づいて所定の演算（プレディクタ演算）によりデフォーカス量を算出し、そのデフォーカス量に基づいて、ＡＦモータ３９の回転方向および回転数（エンコーダ４１のパルス数）を算出する。そしてボディＣＰＵ３５は、その回転方向およびパルス数に基づき、ＡＦモータドライブ回路３７を介してＡＦモータ３９を駆動する。
【００１８】
さらにボディＣＰＵ３５は、ＡＦモータ３９の回転に応じてエンコーダ４１が出力するパルスを検知し、カウントしてカウント値が上記パルス数に達したらＡＦモータ３９を停止させる。ボディＣＰＵ３５は、このＡＦモータ３９を、起動時にはＤＣ駆動により一気に加速してＤＣ駆動を維持し、フォーカシングレンズ群５３Ｆが目標位置に接近したら停止前に徐々に減速して停止させる。さらにボディＣＰＵ３５は、エンコーダ４１の出力パルスの間隔に基づいてＡＦモータ３９を一定速度制御する機能を有する。なお、ＡＦモータ３９の回転は、カメラボディ１１のマウント部に設けられたＡＦジョイント４７とパワーズームレンズ５１のマウント部に設けられたＡＦジョイント５７との接続を介してパワーズームレンズ５１のＡＦ機構５５に伝達される。そして、ＡＦ機構５５により、フォーカシングレンズ群５３Ｆが駆動される。
【００１９】
またボディＣＰＵ３５は、プログラムをメモリしたＲＯＭ３５ａ、所定のデータをメモリするＲＡＭ３５ｂを内蔵し、さらに外部メモリ手段としてE2PROM４３が接続されている。このE2PROM４３には、カメラボディ１１特有の各種定数のほかに、本発明のＡＦ（オートフォーカス）演算、ＰＺ（パワーズーム）演算に必要な各種関数、定数などがメモリされている。
【００２０】
ボディＣＰＵ３５には、レリーズボタン（図示せず）の半押しでオンする測光スイッチＳＷＳおよび同全押しでオンするレリーズスイッチＳＷＲ、自動焦点スイッチＳＷＡＦ、ボディＣＰＵ３５や周辺機器等への電源をON/OFFするメインスイッチＳＷＭ、ＡＦモード、露出モードなどのモード、シャッタ速度などのパラメータ変更用のアップダウンスイッチＳＷUP/DOWNなどが接続されている。
【００２１】
ボディＣＰＵ３５により設定されたＡＦモード、露出モード、撮影モードなどのモード、シャッタ速度、絞り値などの露出データは、ボディＣＰＵ３５により表示装置４５に表示される。この表示装置４５は、通常、カメラボディ１１の外面およびファインダ視野内の２か所に設けられる。
【００２２】
カメラボディ１１のマウント付近には、バッテリ２０の電力をパワーズームレンズ５１（撮影レンズ）に供給するための一対の電源ピンＢＰＣが設けられている。一方、パワーズームレンズ５１にも、装着時に上記電源ピンＢＰＣと電気的に接続される一対の電源ピンＬＰＣが設けられている。
【００２３】
パワーズームレンズ５１は、撮影光学系としてフォーカシングレンズ群５３Ｆおよびズーミングレンズ群５３Ｚを備えたズーム光学系５３を有している。
【００２４】
フォーカシングレンズ群５３Ｆは、ＡＦ機構５５により駆動される。このＡＦ機構５５には、ＡＦジョイント５７、４７を介してＡＦモータ３９の駆動力が伝達される。フォーカシングレンズ群５３Ｆの移動量は、ＡＦ機構５５の回転に応じてパルスを出力するＡＦパルサー５９のＡＦパルスをレンズＣＰＵ６１がカウントして測定する。なお、レンズＣＰＵ６１は、ＡＦパルスをハード的にカウントするＡＦパルスハードカウンタを含んでいる。
【００２５】
ズーミングレンズ群５３Ｚは、ＰＺ（パワーズーム）機構６７により駆動される。このＰＺ機構６７を駆動するズームモータ６５は、レンズＣＰＵ６１によりモータドライブＩＣ６３を介し制御される。また、ズーミングレンズ群５３Ｚの移動量は、ズームモータ６５の回転に連動してＰＺパルサー６９が出力するＰＺパルスをレンズＣＰＵ６１がカウントして測定する。
【００２６】
パルサー５９、６９は、例えば、円周方向に等間隔で設けられた、半径方向に延びる複数のスリットを有する回転円板と、この回転円板のスリットを挟んで対向するＬＥＤおよびフォトダイオードを備えたフォトインタラプタにより構成されている。そして各パルサー５９、６９の回転円板は、ＡＦ機構５５、ＰＺ機構６７の回転に連動して回転する。また、各パルサー５９、６９のＬＥＤのON/OFFはレンズＣＰＵ６１により制御され、フォトダイオードの出力（パルス）は、レンズＣＰＵ６１に入力される。
【００２７】
さらに、ズーミングレンズ群５３Ｚの絶対位置（焦点距離）およびフォーカシングレンズ群５３Ｆの絶対位置（合焦被写体距離）はそれぞれ、ズームコード板７１、距離コード板８１により検出される。図４および図５にこれらのコード板７１、８１の展開図を示した。各コード板７１、８１のコード列７１ａ〜７１ｆ、８１ａ〜８１ｅにはそれぞれ、ブラシ７３、８５が摺接する。
【００２８】
コード板７１、８１のうち各一列のコード列７１ａ、８１ａは接地され、複数のコード列７１ｂ〜７１ｅ、８１ｂ〜８１ｅは、レンズＣＰＵ６１の入力ポートに接続されている。ズームコード板７１は、ズーミングレンズ群５３Ｚの全移動範囲を２６分割して、各分割領域を５ビットの絶対位置（焦点距離）情報で識別する。距離コード板８１は、フォーカシングレンズ群５３Ｆの全移動範囲を８分割して、各分割領域を３ビットの絶対位置（被写体距離）情報で識別する。各分割領域内における相対位置は、それぞれパルサー６９、５９が出力するパルスをカウントしてそのカウント値により検出する。距離コード板８１のコード列８１ｅの指標８３は、各領域の中央位置を検出するためのものである。コード板７１の各領域の境界位置（切換わり点）７２及びコード板８１のコード列８１ｅの指標８３は、それぞれパルサーのカウント値修正の基準として利用される。
【００２９】
パワーズームレンズ５１は、操作スイッチ類として、ズームスピード切替えスイッチ７５およびズームモード切替えスイッチ７７を備えている。ズームスピード切替えスイッチ７５は、パワーズームモードにおいて、テレ方向ズームとワイド方向ズーム、および各ズーム方向におけるズーミングスピードをそれぞれ３段階調整するスイッチ（詳細は図示せず）を備えている。ズームモード切替えスイッチ７７は、パワーズームとマニュアル駆動ズームとを切り替えるスイッチ（Ｄ／Ｍ）、マニュアルパワーズームモード、一定の制御下で実行する複数のパワーズームモードを切替えるＰＡスイッチ、制御パワーズームモード（像倍率一定パワーズームモード）のときに、現焦点距離等をメモリするＳＬスイッチ等を備えている。ＳＬスイッチは、プリセットズームセットモードが設定されているときは焦点距離をメモリさせ、プリセットズームモードが設定されているときはメモリした焦点距離までパワーズームさせるプリセットスイッチとして機能する。
【００３０】
なお、ズームスピード切り替えスイッチ７５は、図示しないが、レンズ鏡筒に対して回動自在および光軸方向に移動可能に嵌められ、常時回転方向中立位置に付勢されたズーム操作リングに連動する。なお、ズーム操作リングは、パワーズームとマニュアルズームとを機械的に切替える機構も備えている。
【００３１】
以上のズームスピード切替えスイッチ７５およびズームモード切替えスイッチ７７の各接点はレンズＣＰＵ６１に接続されている。レンズＣＰＵ６１は、これらのスイッチ操作を受けてパワーズームに関する制御処理を行なう。
【００３２】
レンズＣＰＵ６１は、インターフェース６２、通信接点ＬＣ、ＢＣおよびカメラボディの周辺部制御回路２３を介してボディＣＰＵ３５と接続され、ボディＣＰＵ３５との間で双方向通信により所定のデータ通信を実行する。レンズＣＰＵ６１からボディＣＰＵ３５に伝達されるデータとしては、開放絞り値ＡＶＭＩＮ、最大絞り値ＡＶＭＡＸ、最小、最大焦点距離、現焦点距離、現被写体距離、Ｋバリュー情報などのほかに、ＡＦパルス数、ＰＺパルス数などがある。なおＫバリュー情報とは、ズーム光学系５３により結像された像面を単位距離（例えば１mm）移動させるために必要なエンコーダ４１（ＡＦパルサー５９）のパルス数データである。
【００３３】
図３には、パワーズームレンズ５１のより詳細な回路をブロックで示してある。電気接点群ＬＣは、インターフェース６２に接続されたCONT端子、RES端子、（反転）SCK端子、DATA端子およびGND端子の５個の端子を備えている。こららの端子の内、CONT端子およびGND端子を介して、レンズＣＰＵ６１等の動作に必要な電源電圧がカメラボディ１１から供給され、残りのRES端子、（反転）SCK端子およびDATA端子を介して通信が行なわれる。RES端子は主にリセット信号、（反転）SCK端子はクロック、DATA端子は所定の情報、コマンドなどのデータの通信に供せられる。なお本明細書では、記号"（反転）"は、トップバーを意味し、この記号"（反転）"が前に付された記号は、アクティブロー、または反転信号であることを表わす。電源ピンＬＰＣは、VBATT端子およびPGND端子からなる。これらのVBATT、PGND端子を介して、ズームモータ６５の駆動に必要な電力が、カメラボディ１１のバッテリ２０から供給される。電力の供給は、周辺部制御回路２３を介してＣＰＵ３５によりコントロールされる。なお、図中９１はクロック発生回路である。また、VBATT端子は、モータドライブＩＣ６３、および抵抗Ｒ４を介してレンズＣＰＵ６１の電圧モニタ用のポートＰ１２にそれぞれ接続されている。
『レンズＣＰＵのメイン処理』
図６および図７を参照して、レンズＣＰＵ６１のメイン処理について説明する。また、インストラクションコマンドを表１、２に、カメラボディから種々のボディ側のデータをレンズ側に送るためのコマンド（データ）を表３に、レンズから種々のレンズ側のデータを送るためのコマンドを表４に、レンズＣＰＵ６１のＲＡＭ６１ｂのメモリマップを表５〜表１１に示してある。
【００３４】
【表１】
2004171017.tif 000003
【００３５】
【表２】
2004171017.tif 000004
【００３６】
【表３】
2004171017.tif 000005
【００３７】
【表４】
2004171017.tif 000006
【００３８】
【表５】
2004171017.tif 000007
【００３９】
【表６】
2004171017.tif 000008
【００４０】
【表７】
2004171017.tif 000009
【００４１】
【表８】
2004171017.tif 000010
【００４２】
【表９】
2004171017.tif 000011
【００４３】
【表１０】
2004171017.tif 000012
【００４４】
【表１１】
2004171017.tif 000013
メインルーチンでは、先ずレンズＣＰＵ６１は、高速作動モードのセット、割込みの禁止、スタックアドレスのセット、ポートＰの初期化を行ない、ズームコード板７１から現在の絶対ズームコードを入力する（Ｓ１０１〜Ｓ１０９）。そして、ズームコードに基づいて演算したデータをＲＡＭ６１ｂにメモリし、カメラボディ１１のクロック信号による通信（旧通信）によりＲＡＭ６１ｂにメモリしたデータ群（表５の  ＬＣ０〜ＬＣ１５）をカメラボディ１１に送信する（Ｓ１１１）。そして、送信が終了したら３msタイマーをスタートさせる（Ｓ１１３）。
【００４５】
その後、旧通信が正常に終了すると、インターフェース６２からKAFEND信号（“Ｌ”レベル）が出力されるので、それを３msタイマーがタイムアップするまで待つ（Ｓ１１５、Ｓ１１７）。３msタイマーがタイムアップする前に旧通信終了信号（KAFEND信号）が出力されなかったときには、旧通信が正常に終了しなかったことになるので、ストップ処理（クロック９１の停止）を行なって処理を停止する（Ｓ１１５、Ｓ１１７、Ｓ１１９）。タイムアップ前にKAFEND信号が出力されたときには正常動作なので、カメラボディ１１から通信によりコマンドを受信するが、それが新通信可能なカメラであることを識別する新通信コマンドでなければ、新通信可能なボディではない場合があるので、ストップ処理を行なう（Ｓ１２１、Ｓ１２３、Ｓ１１９）。新通信とは、カメラボディと撮影レンズとの間において、撮影レンズのクロックに同期して双方向にコマンド、データの送受が可能な通信である。
【００４６】
新通信コマンドを受信したときには、コマンド受信完了信号をカメラボディ１１に出力し、２msタイマ割込みの許可および２msタイマをスタートさせ、さらに、新通信の割込みを許可し、他の割込みも許可する（Ｓ１２３、Ｓ１２５、Ｓ１２７、Ｓ１２８、Ｓ１２９）。これ以降、２msタイマ割込み処理及び新通信の割込みが可能になる。以上の処理は、カメラボディ１１のメインスイッチがオンされ、ボディ１１から電力が供給されたとき最初に実行される。その後は、メインスイッチがオンされている間は以下の処理が繰り返される。
【００４７】
ズームコード板７１からズームコードを入力する（Ｓ１３１）。ズームコードが前回と異なれば、距離コードデータを入力して、これを含むレンズコードデータＬＣ２をＲＡＭ６１ｂにメモリし（表５参照）、ズームコードのデータに基づいて演算を行ない、算出したデータをＬＣ０〜１７及びＬＢ４、ＬＢＢデータとしてレンズＲＡＭ６１ｂにメモリする（Ｓ１３３、Ｓ１３５、Ｓ１３７）。ズームコードが前回と同一であれば、カメラボディ１１から距離コードデータを入力してこれを含むレンズコードデータ（ＬＣ２）をレンズＲＡＭ６１ｂの所定のアドレスにメモリする（Ｓ１３３、Ｓ１３９、Ｓ１４１）。
【００４８】
次に、カメラボディからの通信割込みで、ストップ要求があったかどうか（フラグF_STNDBYがセットされているかどうか）、２msタイマ割込み内で電力要求があったかどうか（フラグF_LBATREQがセットされているかどうか）をチェックし、ストップの要求がないとき、または電力要求があるときには像倍率一定ズーム処理（ＩＳＺ処理）を行なってからＮＩＯＳＴ処理、つまりメインルーチンのＳ１３１に戻って上記処理を繰り返す（Ｓ１４３、Ｓ１４５、Ｓ１４７）。なお、電力要求とは、カメラボディ１１の電源（バッテリ２０の電力）をズームモーター６５駆動用に、電源ピンＢＰＣ、ＬＰＣを介してパワーズームレンズ５１に供給することをカメラボディ１１（ボディＣＰＵ３５）に要求することをいう。
【００４９】
ストップの要求がありかつバッテリの要求がないときには、ストップ準備（２msタイマ割込み禁止、ストップ解除の準備）の後にストップ処理を行なう（Ｓ１４３、Ｓ１４５、Ｓ１４９、Ｓ１５１）。つまり、レンズＣＰＵ６１は、クロック９１を止めて低消費電力（スタンバイ）モードに入る。このストップ状態（低消費電力モード）は、例えば、カメラボディからの通信割込みにより解除され、通常動作（クロック９１作動）に戻る。通常動作に戻ると、通信割込みルーチン終了後にＳ１５３に復帰し、通信割込みにて、ストップ要求が無くなるかまたは電力要求があったときに、２msタイマ割込みの許可および２msタイマスタート処理を行なってＳ１３１に戻るが、それ以外のときにはＳ１４９に戻って再びストップ状態（省電力モード）に入る（Ｓ１５３、Ｓ１５５、Ｓ１５７）。
『ＩＮＴＩ処理』
レンズＣＰＵ６１により実行される、図８に示した通信割込み（ＩＮＴ１）処理について説明する。ＩＮＴ１処理は、通信割込みを行なう処理であって、通信により受信したコマンド及びデータ等に基づいた処理を行なう。なお、このＩＮＴ１処理は、レンズＣＰＵ６１のポートＰINTIにインターフェース６２からの割込み信号が入力されたときに開始される。
【００５０】
通信割込みに入ると、先ず、通信割込みを禁止し、ストップフラグ（F_STNDBY)およびＮＧフラグ(F_SCKNG、F_CMDNG)をクリアした後にカメラボディ１１からコマンドを入力する（Ｓ２０１、Ｓ２０３、Ｓ２０５）。そして、入力したコマンドの上位４ビットをチェックして、その上位ビットに応じたサブルーチンに進む（Ｓ２０７〜Ｓ２２９）。さらに各サブルーチンにおいて、下位ビットに応じた処理を行なう。本実施例では、上位ビット（４ビット）により識別するサブルーチンとして、ＬＢコマンドサブルーチン、ＢＬコマンドサブルーチン、インストラクションコードサブルーチン、１６ｂｙｔｅデータ、前半８ｂｙｔｅデータ、後半８ｂｙｔｅデータサブルーチン、１バイト毎データサブルーチン、テストモードサブルーチンが設けられている（Ｓ２０９、Ｓ２１３、Ｓ２１７、Ｓ２２１、Ｓ２２５、Ｓ２２９）。
【００５１】
上記４ビットが上記の設定されたビットでなければ、コマンドＮＧフラグＦ＿ＣＭＮＤＮＧをセットし、通信割込みを許可してメインルーチンに復帰する（Ｓ２２７、Ｓ２３１、Ｓ２３３）。
『２msタイマ割込み処理』
図９に示した２msタイマ割込みフローチャートを参照して、２msタイマにより割込みが入ったときのレンズＣＰＵ６１の処理について説明する。２msタイマは、２ms経過する毎に割込み信号を出力する、レンズＣＰＵ６１の内蔵ハードタイマであり、２msタイマ割込みは、２msタイマがタイムアップする毎に、割込みが許可されていることを条件に割込み処理を行なう定期的なインターバル処理である。
【００５２】
２msタイマ割込み処理に入ると、先ず、他の割込みを禁止する（Ｓ３０１）。次に、ＡＦパルスカウンタから現在値を入力してレンズＲＡＭ６１ｂにメモリし、距離コード板８１から現在の距離コードデータを入力してレンズＲＡＭ６１ｂにメモリする（Ｓ３０３、Ｓ３０５）。そして、必要に応じて、ＡＦパルス数を補正し、現在の距離コードを次回の２msタイマ割込み処理のために前回の距離コードとしてレンズＲＡＭ６１ｂの別のアドレスにメモリする（Ｓ３０７、Ｓ３０９）。
【００５３】
次に、ズームコード板７１から現在のズームコードを読み込んで現在のズームコードとしてレンズＲＡＭ６１ｂにメモリし、ズームモード切換えスイッチ７７の切換え状態とズームスピード切替えスイッチ７５の切替え状態を入力する（Ｓ３１１、Ｓ３１３）。そして、パワーズームモードであればＤＺ処理に進み、マニュアルズームモードであればＭＺ処理に進む（Ｓ３１５）。
『ＤＺ処理』
図１０に示したＤＺ、ＭＺ処理は、それぞれ電動（パワー）ズームおよびマニュアル（手動）ズーム処理に関するフローチャートである。これらの処理は、レンズＣＰＵ６１により実行される。
【００５４】
パワーズーム（ＤＺ）処理では、先ず、ズーミングレンズ群５３Ｚが端点に達しているかどうかを検出する端点検出処理（端点検出サブルーチン）を実行する（Ｓ３５１）。
【００５５】
次に、ズームスピード切替えスイッチ７５及びフラグF_MOVTRG、F_MOV等の制御用フラグに基づいて、モータを制御するためのフラグ等をセットし、ＰＺパルスおよび焦点距離の現在値の入力及びＲＡＭ６１ｂへのメモリ、必要に応じてＰＺパルスの補正を行ない、また、ズーミングレンズ群５３Ｚの現在位置が不明のときは、ズーミングレンズ群５３Ｚに関するポジションイニシャライズ（ＰＺ‐ＩＮＩＴＰＯＳ）処理を行なって、次回の２msタイマ割込み処理のために前回のズームコードとしてズームコードを別のアドレスにメモリする（Ｓ３５３、Ｓ３５５、Ｓ３５７）。
【００５６】
像倍率一定ズームモード（ＩＳＺ処理）で像倍率メモリフラF_ISM＝１あれば、ＩＳＺメモリ処理を行ない、次回の２msタイマ割込み処理用に、ズームスイッチ７５、７７の状態を保存する（Ｓ３５７〜Ｓ３６１）。そして、Ｓ３５３においてセットしたフラグに応じてズームモータ６５の駆動制御、割込みビット・フラグの設定、ＰＷＭ制御用のデューティー比アップ処理およびＰＷＭ制御時にはＰＷＭタイマーのスタートなどを行なう（Ｓ３６３）。そして、割込みを許可してリターンする（Ｓ３９５）。
【００５７】
マニュアルズーム（ＭＺ）サブルーチンでは、先ずズームモータ６５をストップし、ＰＺパルサー６９のＬＥＤをオフし、バッテリリクエスト（電力要求）フラグ（F_LBATREQ）をクリアし、ＰＺレンズステートPZ_LSTデータの各ビットをクリアする（Ｓ３７１、Ｓ３７３、Ｓ３７５、Ｓ３７９）。
【００５８】
次に、ＰＺコントロールに関するデータをレンズＲＡＭ６１ｂの所定アドレスからクリアし、次回の２msタイマ割込み処理用にズームコードを保存（メモリ）する（Ｓ３８１、Ｓ３８３）。そして、ズームコードより粗検出したＰＺパルス数を、ＰＺパルス現在値（ＰＺＰＸ）、およびＰＺパルススタート値（ＰＺＰＳＴＡＲＴ）としてレンズＲＡＭ６１ｂにメモリし、ＰＺパルスカウンタ（ＰＺＰＣＮＴ）をクリアする。また、粗検出したＰＺパルスの現在値を現在の焦点距離（粗データ）に変換してメモリする（Ｓ３８３、Ｓ３８５、Ｓ３８７）。
【００５９】
そして、ズームスイッチ７５、７７の状態を次回の２msタイマ割込み処理用に保存し、２msタイマーをスタートし、２msタイマ割込みを許可し、ＩＮＴ３（ＰＺパルスカウント）割込みおよびＩＮＴ２（ＰＷＭ）割込みを禁止する（Ｓ３８９〜Ｓ３９３）。そして、他の割込みを許可してリターンする（Ｓ３９５）。
『ＰＷＭの制御方法』
ＰＷＭ制御方法について、図１１ないし図１３に示したフローチャートに基づいて説明する。図１１は、図９及び図１０に示す２msタイマ割込みルーチンのＰＷＭ制御に関する部分を抜粋したものである。また、図１２は、図９６および図図９７に示す、ＰＺパルスカウント割込みルーチンのＰＷＭ制御に関する部分を抜粋したものである。図１３は、ＰＷＭ制御時のＰＷＭ割込みルーチン（ブレーキ処理）である。なお、ＰＷＭ制御は間欠通電の一種であって、通電時間と非通電時間の比（デューティー比）を調整する制御である。
【００６０】
ここで、図６のメインフローと各種割込みルーチンとの関係について説明する。図６のメインフローチャートのＳ１２７〜Ｓ１３１、Ｓ１３１〜Ｓ１５７のルーチン中では、通信割込み、２msタイマー割込み、ＰＺパルスカウント割込み、ＰＷＭ割込みのいずれかによる割込みが可能である。また、通信割込みルーチンにおいては、２msタイマ割込み、ＰＺパルスカウント割込み、ＰＷＭ割込みのいずれかによる割込みが可能となっている。
【００６１】
ＰＷＭ制御は、通電時間と非通電時間の比（PWMデューティー比T_PWMBRK）を増減することにより速度を制御している。つまり、本実施例では、設定時間内にＰＺパルスが来なければＰＷＭデューティー比T_PWMBRKをアップしてズームモータ６５への通電時間を長くすることにより高速化し、ＰＺパルスが規定時間内に来ればＰＷＭデューティー比（T_PWMBRK）をダウンしてズームモータ６５への通電時間を短くすることにより低速化する、という制御により一定速度制御を実現している（図１４参照）。
【００６２】
また、本カメラシステムでは、起動時（モータが停止状態またはブレーキ状態から動作状態になった時）にはデューティー比を最小（通電時間を最短）にセットしてからズームモータ６５への通電を開始し、ＰＺパルサー６９が出力するパルスをカウントする。そして、設定時間内にパルスが出力されないときにはデューティー比を徐々に上げる一方、設定時間内にパルスが出力されたときにはデューティー比を下げることにより、設定時間周期でパルスが出力されるようにズームモータ６５の加速制御および一定速制御をしている。
【００６３】
先ず、ズームモータ６５が起動かどうか（フラグF_STARTがセットされているか）をチェックする（Ｓ４０１）。起動であれば、最低速で起動するために、ＰＷＭタイマT_PWMをクリアし、ＰＷＭデューティー比T_PWMBRKを最小値にセット（最低速）してＳ４０５に進み、起動でなければ、なにもせずにＳ４０５に進む（Ｓ４０１、Ｓ４０３）。
【００６４】
また、モータ起動時デューティー比を最小に設定することで、撮影者による微細な駆動操作を可能にすることができるとともに、自然なズーミング動作が得られる。
【００６５】
Ｓ４０５では、ズームスピード切替スイッチ７５等により設定された速度に応じたパルス間隔（パルス周期T_PWMPLS）をセットして、ズームモータ６５に通電する（Ｓ４０５、Ｓ４０７）。つまり、パルス間隔T_PWMPLSでＰＺパルスが出力されるようにズーム速度を制御することを意味する。
【００６６】
次に、速度に応じたＰＷＭ駆動か、ＤＣ駆動かをチェックし、ＰＷＭ駆動であればＳ４１１に進むが、ＤＣ駆動であればそのままリターンする（Ｓ４０９）。Ｓ４１１では、ＰＷＭタイマT_PWMを１インクリメントする。そして、そのインクリメントした値がパルス周期T_PWMPLSの値を超えたかどうかをチェックし、超えていればＰＷＭデューティー比（T_PWMBRK）をアップし、超えていなければなにもしない（Ｓ４１３、Ｓ４１５）。つまり、設定時間（パルス周期T_PWMPLS）内にＰＺパルスが来なければＰＷＭデューティー比（T_PWMBRK）をアップして通電時間を長くして設定速度まで高速化を図るのである。
【００６７】
そして、ＰＷＭデューティー比（T_PWMBRK）をセットし、ＰＷＭ用タイマ（T_PWM）をスタートさせ、２msタイマ割込みを許可して終了する（Ｓ４１７、Ｓ４１９）。なお、Ｓ４０７〜Ｓ４１９部分が図１４の(A)、(C)、(D)時刻に相当する。
【００６８】
また、ＰＺパルサー６９からＰＺパルスが出力されると、図１２のＰＺパルスカウント割込み処理に入る。ＰＺパルスカウント割込み処理では、先ずパルス周期T_PWMPLSとＰＷＭタイマT_PWMとを比較し、パルス周期T_PWMPLSの方が大きければ、パルス周期T_PWMPLS内にパルスが出力されたのでＰＷＭデューティー比T_PWMBRKを下げてからＰＷＭタイマT_PWMをクリアし、パルス周期T_PWMPLSの方が小さければ、１パルス周期T_PWMPLS経過後にパルスが出力されたのでＰＷＭタイマT_PWMをクリアして終了する（Ｓ４２１、Ｓ４２３、Ｓ４２５）。
【００６９】
図１３のＰＷＭ割込みルーチンでは、割込みを禁止し、ズームモータ６５にブレーキをかけて、ＩＮＴ２（ＰＷＭ）割込みを禁止し、他の割込みを許可してリターンする（Ｓ４３１〜Ｓ４３７）。この部分の処理は、図１４の(B)時刻に相当する。
【００７０】
本カメラシステムのＰＷＭ制御では、パルス周期T_PWMPLSを、ズームスピード切替えスイッチ７５等によって指定された速度に応じて、低速は８、中速は４、高速は３の３段階に設定する。また、ＰＷＭタイマT_PWMはモータ起動時及びＰＺパルサー６９からＰＺパルスが出力され、ＰＺパルスカウント割込み処理に移ったときにクリアされ、その後ＰＺパルスが出力されるまで２msタイマ割込みルーチンのＳ４１１にてカウントアップされる。従って、ＰＷＭタイマT_PWMは、前回のＰＺパルスが出力されてからの経過時間の倍数をほぼ表わすことになる。ただし、ＰＺパルスの出力間隔は、高速時でも２msタイマ割込みの周期より大きいものとする。
【００７１】
例えば、高速３のとき（パルス周期T_PWMPLS＝３）の前回ＰＺパルス出力がされてからの経過時間は、２ms×３＝６msとなる。低速８のときには、パルス周期T_PWMPLS＝８になる。この低速のときの処理を、図１１および図１２に示したフローチャートを参照して説明する。２msタイマ割込みのＳ４１３において、パルス周期T_PWMPLSがＰＷＭタイマT_PWMよりも小さいと判断したとき、すなわち前回ＰＺパルスが出力されてから２ms×８＝１６msよりも長い時間が経過しているときには、ＰＷＭデューティー比を上げる処理（Ｓ４１５）に進む。
【００７２】
また、逆に、ＰＺパルスカウント割込み処理内では、Ｓ４２１のチェックにおいて、パルス周期T_PWMPLSがＰＷＭタイマT_PWMよりも大きいときは、すなわち前回ＰＺパルスが出力されてから２ms×８＝１６ms経過前にＰＺパルスが出力されたことになるので、ＰＷＭデューティー比を下げる（Ｓ４２３）。
【００７３】
以上のように、設定されたパルス周期T_PWMPLSでＰＺパルスが出力されるようにＰＷＭのデューティー比（T_PWMBRK）を上げ下げすることによって、ＰＺパルスの出力間隔が一定になる一定速度制御を実現している。また、設定するパルス周期T_PWMPLSを変えることにより、ＰＺパルスの出力間隔、すなわち制御速度を変えることができる。
『像倍率一定ズーム』
次に像倍率一定ズーム（ＩＳＺ）について説明する。像倍率一定ズームとは、像倍率（撮影倍率）をｍ、被写体距離をＤ、焦点距離をｆとしたときに、ｍ＝ｆ／Ｄで表わされる像倍率ｍが被写体距離Ｄの変動にかかわらず一定になるように焦点距離ｆを制御することである。
【００７４】
先ず、像倍率一定ズームの原理について説明する。説明を簡単にするため、前群および後群の２群で構成されているズームレンズに基づいて説明する。このズームレンズの像倍率ｍは、下記1)式により表わされる。
【００７５】
ｍ1＝ｘ／ｆ1
ｍ2＝ｆ／ｆ1
ｍ  ＝ｍ1・ｍ2＝ｘ・ｆ／ｆ12…(1)
ただし、ｍ  ：像倍率            ｍ1：前群の倍率
ｍ2：後群の倍率        ｆ1：前群の焦点距離
ｆ  ：合成焦点距離
ｘ  ：∞端からの前群レンズ繰出し量（移動量）
像倍率設定時の繰出し量をｘ0、焦点距離をｆ0とすると、像倍率ｍ0は、
ｍ0＝ｘ0・ｆ0／ｆ12        …(2)となる。
【００７６】
ここで、合焦処理によりレンズがｘまで移動したときに、像倍率ｍ0が下記(3)式を満足する焦点距離ｆを求めれば、像倍率を一定にできる。
【００７７】
ｍ0＝ｘ・ｆ／ｆ12              …(3)
上記2)および3)式より、
ｘ0・ｆ0／ｆ12＝ｘ・ｆ／ｆ12
となる。したがって、求める焦点距離ｆは、
ｆ＝ｘ0・ｆ0／ｘ            …(4)となる。
【００７８】
また、ＡＦ測距により、レンズ繰出し量ｘのときにディフォーカス量Δｘが得られたとすると、
ｆ＝ｘ0・ｆ0／（ｘ＋Δｘ）  …(5)
式により目標となる焦点距離ｆが求まる。
【００７９】
以上は像倍率一定ズームの原理であるが、実際の制御においては、レンズ繰出し量はコード板、ＡＦパルサー等によって管理される。なお、ＡＦパルサーは、繰り出し量とほぼリニアな関係になるように構成される。
【００８０】
したがって(4)、(5)の式の繰出し量ｘ及びｘ0は、∞端からのＡＦパルス数に、デフォーカス量はデフォーカスパルス数にそれぞれ置き換えて考えることができる。
【００８１】
次に、本カメラシステムにおける実際の演算方法について説明する。本カメラシステムでは、レンズＣＰＵ６１により像倍率一定ズーム（制御ズーミング）動作がなされる。また、その演算も、カメラボディ１１から送られた像倍率に基づいて演算する場合と、ある時点における被写体距離および焦点距離に基づいて演算する場合とがある。
（１）ボディから像倍率ｍ0が送られてきた場合
(i)  ｍ0より、仮の設定値、繰出しパルス数ｘ0および焦点距離ｆ0を求める。先ず、
ｆ0＝｜ｆ1｜                …(6)とする。
【００８２】
ここで、ｘ0に対応する繰出し量をＸとおくと、(2)式により
ｍ0＝Ｘ・ｆ0／ｆ12          …(7)
となる。レンズ繰出し量１mm当たりの繰出しＡＦパルス数をｋとすると、
ｘ0＝Ｘ・ｋ                  …(8)となる。
【００８３】
以上の(8)式に(6)および(7)式を代入することにより、目的の繰出しパルス数ｘ0が下記式のように求まる。
【００８４】
ｘ0＝ｍ0・｜ｆ1｜・ｋ      …(9)
(ii)  次に、6)および9)式からｘ0・ｆ0を演算し、その結果をｘ0ｆ0とおく。
【００８５】
ｘ0ｆ0＝ｘ0・ｆ0        …(10)
(iii)目標焦点距離ｆを求める。
【００８６】
現在位置（現在の繰出しパルス数）ｘに基づいて演算する場合は、下記式により求まる。
【００８７】
ｆ＝ｘ0ｆ0／ｘ              …(11)
デフォーカスパルス数Δｘに基づいて求める場合は、下記式により求まる。
【００８８】
ｆ＝ｘ0ｆ0／（ｘ＋Δｘ）    …(12)
（２）レンズＲＡＭ６１ｂにメモリした繰出しパルス数ｘ0および焦点距離ｆ0に基づいて求める場合
(i)  ｘ0・ｆ0は、メモリした繰出しパルス数ｘ0および焦点距離ｆ0により、前記(10)式と同様に求め、演算結果をｘ0ｆ0とおく。
【００８９】
ｘ0ｆ0＝ｘ0・ｆ0
(ii)  倍率ｍ0は、前記7)、(8)および(10)式により、下記式のように求まる。
【００９０】
ｍ0＝ｘ0ｆ0／（f12・ｋ）  …(13)
(iii)目標焦点距離ｆを求める。
【００９１】
目標焦点距離ｆは、先の条件（１）の場合(iii)と同様にして、求まる。なお、前群の焦点距離ｆ1はレンズ固有のデータであり、レンズＲＯＭ６１ａにメモリされている。
『ＩＳＺ処理』
次に、上記原理に基づいた本カメラシステムの像倍率一定（イメージサイズ指定）ズーム（ＩＳＺ）に関する演算処理について、図１５および図１６に示したフローチャートに基づいてより詳細に説明する。この処理は、レンズＣＰＵ６１により実行される。
【００９２】
なお、像倍率の設定は、ズームスピード切替えスイッチ７５またはセットスイッチ（ＳＬスイッチ）により行なわれる。詳細は、図９１を参照して後述する。
【００９３】
ＩＳＺ演算は、設定された像倍率の算出および設定像倍率を維持するための焦点距離の算出に関する。焦点距離の演算は、合焦を条件とする場合としない場合、撮影レンズで演算する場合とカメラボディで演算する場合がある。合焦を条件にする場合は、合焦時のレンズ繰出し量に基づいて像倍率および目標レンズ繰出し量を算出する。合焦を条件としない場合は、デフォーカス量および現焦点距離に基づいて像倍率および目標レンズ繰出し量を算出する。
【００９４】
先ず、通信割込みを禁止（ＳＥＩ）し、カメラボディ１１から転送された通信情報に基づいてどのようにＩＳＺの演算を行うかを、フラグ（F_STIS、F_ISZM、F_ISZFOM、F_ISZXOM）によりチェックする（Ｓ４５１、Ｓ４５３、Ｓ４６５、Ｓ４７７、Ｓ４７９）。これらのフラグは、カメラボディ１１との間でＩＳＺに関する通信が行なわれたことを示し、各々の通信が行なわれたときにＲＡＭ６１ｂにセット（メモリ）する。そして、これらのフラグに基づいて必要な演算を行なう。
【００９５】
F_STISは、ボディから転送されるデータ使用を指示するフラグ、F_ISZMは撮影レンズのデータ使用を指示するフラグ、F_ISZFOMは、ボディからの焦点距離ｆデータ使用を指示するフラグ、F_ISZXOMは、ボディからの被写体距離ｘデータ使用を指示するフラグである。
【００９６】
カメラボディ１１から送られた像倍率により像倍率一定ズームを行なうとき（F_STIS＝１のとき）には、通信割込を許可し（ＣＬＩ）、前記6)、9)および(10)式によりｘ0ｆ0を求めてＲＡＭ６１ｂの所定のアドレスにメモリし、割込みを禁止してフラグF_STISをクリアする（Ｓ４５５〜Ｓ４６３）。
【００９７】
像倍率のメモリ処理が行なわれ、すでにメモリされている焦点距離および被写体距離により像倍率一定ズームを行なうとき（F_STIS＝０、F_ISZM＝１のとき）には、割込みを許可し、前記被写体距離（繰出しパルス数）ｘ0および焦点距離ｆ0からｘ0ｆ0を算出し、前記(13)式により像倍率ｍ0を求めてこれらをＲＡＭ６１ｂの所定のアドレスにメモリし、通信割込みを禁止してフラグF_ISZMをクリアする（Ｓ４６５〜Ｓ４７５）。
【００９８】
カメラボディ１１から送られた焦点距離ｆ0および被写体距離（繰出しパルス数）ｘ0により像倍率一定ズームを行なう場合（F_STIS＝０、F_ISZM＝０かつF_ISZFOM＝１、F_ISZXOM＝１）には、先ず、受信した焦点距離ｆ0および被写体距離ｘ0に基づいてｘ0ｆ0を求めてメモリし、さらに(13)式により像倍率ｍ0を求め、割込みを禁止し、フラグF_ISZFOM、F_ISZXOMをクリアする（Ｓ４７７〜Ｓ４８９）。以上のいずれでもなければ、カメラボディ１１との間でＩＳＺの演算に関する通信は行なわれていないのでなにもしない。
【００９９】
次に、カメラボディ１１からすでに送られてきたデフォーカス量Δｘが有効かどうかをフラグF_FPREOKの状態によりチェックし、有効であればフラグF_FPREをセットするが、有効でなければフラグF_FPREをセットしない（Ｓ４９１、Ｓ４９３）。
【０１００】
そして、ＩＳＺズームモードであるかどうかをチェックし、ＩＳＺズームモードであれば現在のフォーカシングレンズ群５３Ｆの位置（被写体距離）が分かっている（F_AFPOS＝１）かどうかをチェックし、分かっていれば（F_AFPOS＝１）、プレディクタ演算結果を使用して制御するＦＰＲＥ‐ＯＰ処理に進み、分かっていなければ（F_AFPOS＝０）ＩＳＺ処理を抜ける（Ｓ４９５、Ｓ４９７）。
【０１０１】
制御ズーム（ＩＳＺ）モードでなければ、フラグF_FPREOK、F_FPRE、F_ISOKをそれぞれクリアし、さらに、所定アドレス（LNS_INF1）の各ビットデータとビット「00000111B」の各ビットの論理和をとったデータを、所定アドレス（LNS_INF1）にメモリしてＩＳＺ処理を抜ける（Ｓ４９５、Ｓ４９８、Ｓ４９９）。
『ＦＰＲＥ‐ＯＰ処理』
Ｓ５０１〜Ｓ５１３に示した、プレディクタ演算結果（デフォーカス量）に基づいて目標焦点距離ｆを求める（ＦＰＲＥ‐ＯＰ）処理について、図１７のフローチャートを参照して説明する。これはレンズＣＰＵ６１により実行される処理であって、カメラボディ１１との通信によりデフォーカス量がカメラボディ１１より送られてきたとき（この通信中にフラグF_FPREがＲＡＭ６１ｂにセット（メモリ）される）、及びカメラボディ１１とのＩＳＺに関する通信により、Ｓ４５３〜Ｓ４６３、Ｓ４６５〜Ｓ４７５、あるいはＳ４７７〜Ｓ４８９が実行されてｘ0ｆ0の値が変更され、かつＳ４９１〜Ｓ４９３によりフラグF_FPREがセットされた場合に実行される。このフラグF_FPREは、デフォーカス量による目標焦点距離ｆを求める演算、ｆ＝ｘ0・ｆ0／（ｘ＋Δｘ）を実行するかしないかを決めるフラグである。
【０１０２】
この処理に入ると、フラグF_FPREがセットされているかどうかをチェックしてプレディクタ量による演算処理を行なうかどうかを判断する（Ｓ５０１）。フラグF_FPREがセットされていなければＳ５１５に飛び、セットされていれば以下の処理を行なう。
【０１０３】
先ず、フラグF_FPREをクリアし、通信割込みを禁止し、プレディクタ量を利用した式(12)により目標焦点距離ｆを求めて通信割込みを禁止する（Ｓ５０３〜Ｓ５０９）。次に、目標焦点距離ｆを、ＷＩＤＥ端からの目標ＰＺパルス数に変換してＲＡＭ６１ｂの所定のアドレス（PZPFPRE）にメモリし、プレディクタ量による演算が有効であることを示すフラグF_FPREOKをセットしてＳ５１５に進む（Ｓ５１１、Ｓ５１３）。
【０１０４】
Ｓ５１５〜Ｓ５２１は、現在のＡＦパルス（繰出しパルス数）による目標焦点距離ｆを求める処理である。
【０１０５】
Ｓ５１５では、割り込み許可（ＣＬＩ）処理を行ない、(11)式により目標焦点距離ｆを演算してＲＡＭ６１ｂの所定のアドレス（ISZ_FL、H）にメモリし、割込み禁止（ＳＥＩ）処理を行なう（Ｓ５１５、Ｓ５１７）。さらに演算した目標焦点距離ｆをＷＩＤＥ端からの目標ＰＺパルスに変換してそのパルス変換値をＲＡＭ６１ｂの所定のアドレス（PZPF）にメモリする（Ｓ５１９、Ｓ５２１）。
【０１０６】
ここで、Ｓ５２９で演算されるＬＮＳ＿ＩＮＦ１のｂｉｔ３〜７の内容について説明する。ＬＮＳ＿ＩＮＦ１の情報（表４参照）は、カメラボディとの通信により、定期的にレンズからボディへ送られる情報である。そのうち、ｂｉｔ３〜７がＩＳＺモードに関する情報である。
【０１０７】
ｂｉｔ６、７は、ＩＳＺ演算によって求められた目標のＰＺパルス（ＰＺＰＦＰＲＥあるいはＰＺＰＦ）が、現在位置のＰＺパルスと比べ、ＷＩＤＥ側にあるか、ＴＥＬＥ側にあるかを示すフラグである。ＷＩＤＥ側にあればｂｉｔ７がセットされ、ＴＥＬＥ側にあればｂｉｔ６がセットされ、また一致していれば、ｂｉｔ６、７はともにセットされない。
【０１０８】
ｂｉｔ３〜５は、目標ＰＺパルス数と現在位置のＰＺパルス数の差、すなわち、現在位置から目標位置まで移動するのに要するＰＺパルス数を、ＰＺの総パルス数（ＷＩＤＥ端からＴＥＬＥ端まで移動させるのに要するＰＺパルス数）で割ったおよその値を０〜７／８の範囲で１／８単位で表す。重みづけはｂｉｔ３が１／８、ｂｉｔ４が１／４、ｂｉｔ５が１／２である。現在位置と目標位置とが一致した場合は上記値は０なので、ｂｉｔ３〜５はすべて“０”にクリアされ、現在位置がＷＩＤＥ端で目標位置がＴＥＬＥ端またはその逆の場合は７／８になるので、ｂｉｔ３〜５はすべて“１”にセットされる。
【０１０９】
このように、ＩＳＺモードにおいてカメラボディ１１は、パワーズームレンズ５１からＬＮＳ＿ＩＮＦ１情報を定期的あるいは必要時に受信することにより、パワーズームレンズ５１に対して適切なＩＳＺ制御情報を送信することができる。
【０１１０】
次に、プレディクタ演算結果が有効（F_FPREOK=1）かどうかをチェックし、有効であればプレディクタ演算を使用して求めた目標ＰＺパルス数（PZPFPRE）をアキュムレータ（ACC）にメモリし、有効でなければ現在のＡＦパルス数に基づいて求めた目標ＰＺパルス数（PZPF）をアキュムレータにメモリする（Ｓ５２３、Ｓ５２５、Ｓ５２７）。
【０１１１】
次に、アキュムレータに入れた目標ＰＺパルス数に基づいてLNS_INF1のbit３〜７の値を演算し、ＲＡＭ６１ｂの所定のアドレス（LNS_INF1のbit３〜７）にメモリして割込み禁止（ＳＥＩ）処理を行なう（Ｓ５２９、Ｓ５３１）。
【０１１２】
そして、像倍率一定ズームモードが選択されていること、現在のズーミングレンズ群５３Ｚの位置（焦点距離）が得られていること（フラグF_PZPOS＝１）、および像倍率一定ズーム中であること（フラグF_ISOK＝１）を条件に以下の処理を行なうが、上記条件が一つでも欠けていればＳ５５１に飛ぶ（Ｓ５３３〜Ｓ５３７）。
【０１１３】
プレディクタ演算結果による目標焦点距離（ＰＺパルス数）の演算が有効であり（フラグF_FPREOK＝１）、かつＩＳＺの制御フラグがセットされていれば（フラグF_ISZD＝１）、プレディクタ演算結果を利用して求めたＰＺパルス数（(11)式による）を目標パルス数としてＲＡＭ６１ｂの所定のアドレス（PZPTRGT）にメモリする（Ｓ５３９、Ｓ５４１、Ｓ５４３）。しかし、プレディクタ演算結果による目標焦点距離の演算が無効（F_FPREOK＝０）か、ＩＳＺ制御フラグがクリアされていれば、現在位置のＡＦパルス（繰出しパルス数）に基づいて(12)式により求めたＰＺパルス数を上記所定のアドレス（PZPTRGT）にメモリする（Ｓ５３９、Ｓ５４１、Ｓ５４５）。なお、フラグF_ISZDは、ボディ１１から通信によって送られ、ＲＡＭ６１ｂにメモリされたデータであり、F_ISZD＝１でプレディクタ演算結果による演算値でＩＳＺ制御を実行し、F_ISZD＝０でＡＦパルスの現在位置による演算値でＩＳＺ制御を実行する。
【０１１４】
そして、カメラボディ１１から通信により送られてきてＲＡＭ６１ｂにメモリされているＩＳＺのズームスピードデータ（BD_ST1のbit6、7）をＲＡＭ６１ｂの所定のアドレス（SPDDRC2のbit2、3）にメモリし、像倍率一定ズームフラグF_ISZをセットし、割り込みを許可してリターンする（Ｓ５４７、Ｓ５４９、Ｓ５５１）。この像倍率一定ズームフラグF_ISZは、レンズＣＰＵ６１が目標焦点距離の算出およびズームモータ６９の駆動設定が完了し、ズームレンズ群５３Ｚを駆動する準備が完了したことを示すものである。このF_ISZがセットされると、２msタイマ割込みルーチンにおいて像倍率一定ズーム処理がなされる。また、PZPTRGT、SPDDRCの値も２msタイマ割込みルーチンで利用される。
『インストラクション処理』
次に、カメラボディ１１からインストラクションコード（コマンド）を受信したときにパワーズームレンズ５１において実行されるインストラクション処理について、図１９ないし図２６に示したフローチャートおよびインストラクションコードの内容を示した表１および表２を参照して説明する。なお、これらのインストラクションコードは、図８の通信割込みルーチンのＳ２１７の詳細である。コマンドの下位の内容によって各インストラクション処理が実行される。
【０１１５】
ＳＴＡＮＤＢＹコマンドは、レンズＣＰＵ６１をスリープ状態にさせるコマンドである。ＳＴＡＮＤＢＹコマンドを入力したときの処理に関するフローチャートを図１９に示してある。
【０１１６】
レンズＣＰＵ６１は、ＳＴＡＮＤＢＹコマンドを受信すると、フラグF_STNDBYをセットし、コマンド受信完了信号をボディ１１に送信し、通信割込みを許可してリターンする（Ｓ６０１、Ｓ６０２、Ｓ６０３）。レンズＣＰＵ６１は、フラグF_STNDBYをメインルーチンのＳ１４３においてチェックし、このフラグF_STNDBYが立っているときには、クロック９１を停止させて低消費電力状態（スタンバイモード）に移行する（図７参照）。
【０１１７】
ＡＦ‐ＩＮＴＰＯＳコマンドは、カメラボディ１１がＡＦモータ３９によりフォーカシングレンズ群５３Ｆを∞端に移動させた後に送られるコマンドで、パワーズームレンズ５１のＡＦパルスカウンタをクリアさせるＡＦの初期化処理コマンドである。このＡＦ‐ＩＮＴＰＯＳコマンドを入力したときのレンズＣＰＵ６１の処理に関するフローチャートを図２０に示してある。
【０１１８】
レンズＣＰＵ６１は、ＡＦ‐ＩＮＩＴＰＯＳコマンドを入力すると、まず距離コード板８１から距離コードデータを入力する（Ｓ６１１）。距離コードデータが∞端（ファー端）であれば、ＲＡＭ６１ｂ内に設けられているＡＦパルス現在位置データ（AFPXL,H)およびＡＦパルススタート位置データ(AFPSTRTL,H)をクリアし、フォーカシングレンズ群５３Ｆの現在位置が判明していることを識別するフラグF_AFPOSをセットしてＳ６１５に進み、∞端でなければ、上記ステップをスキップしてＳ６１５に進む（Ｓ６１２〜Ｓ６１４）。そして、コマンド受信完了信号をボディ１１に出力し、通信割込みを許可してリターンする（Ｓ６１５、Ｓ６１６）。
【０１１９】
ＰＺ‐ＩＮＩＴＰＯＳコマンドは、レンズＣＰＵ６１がズーミングレンズの位置を知るために初期化動作を行なわせるコマンドである。本カメラシステムでは、ズームモータ６５を起動してズームコード板７１のコードの境目７２を検出したときに、そのコードに対応するＰＺパルス数をＰＺパルスカウンタにセットする。ＰＺ‐ＩＮＩＴＰＯＳコマンドを入力したときの処理に関するフローチャートを図２１に示してある。なお、ＰＺパルスのカウント等の処理は、後述の「ＰＯＳ‐ＮＧ処理」（図８７）において説明する。
【０１２０】
レンズＣＰＵ６１は、ＰＺＩＮＴＰＯＳコードを入力すると、フラグF_PZPOSをクリアし、各フラグF_BATREQ、F_IPZB、F_MOVをセットし、レンズＲＡＭ６１ｂのＳＰＤＤＲＣ１に所定のデータ（スピード最低速、方向TELE）をメモリし、現在位置からコードの境界部までのＰＺパルスをカウントするＰＺパルスカウンタのＰＺＰＡ２Ｂを０にする（Ｓ６２１〜Ｓ６２４）。そして、コマンド受信完了信号を出力し、通信割込みを許可してリターンする（Ｓ６２５〜Ｓ６２６）。なお、これらのセットされた値に基づいて、２msタイマ割込み処理中にパワーズーム関係（ＰＺ）の初期化動作が行なわれる。
【０１２１】
ＲＥＴＲＡＣＴ‐ＰＺコマンドは、カメラボディのメインスイッチがオフされた場合などに、パワーズームレンズ５１の鏡筒長が最短状態になるようにパワーズームさせるコマンドである。ＲＥＴＲＡＣＴ‐ＰＺコマンドを入力したときの処理に関するフローチャートが図２２に示されている。
【０１２２】
レンズＣＰＵ６１は、このＲＥＴＲＡＣＴ‐ＰＺコマンドを受信すると、現在の焦点距離データをレンズＲＡＭ６１ｂの所定アドレス（RETPOSL,H)にメモリし、レンズ鏡筒長が最短となるＰＺパルスデータ（レンズ固有のデータ）をレンズＲＡＭ６１ｂの所定アドレス(PZPTRGT)にセットし、SPDDRC2に所定のデータ（最高速）をセットする（Ｓ６３１、Ｓ６３２、Ｓ６３２‐２）。そして、各フラグF_BATREQ、F_IPZB及びフラグF_MOVTRGをセットし、コマンド受信完了信号を送信し、通信割込みを許可してリターンする（Ｓ６３４〜Ｓ６３６）。
【０１２３】
リトラクト（収納）前の焦点距離データは、別の通信コマンド（ＦＯＣＡＬＬＥＮ‐Ｘコマンド）にてカメラボディ１１に送信される。なお、フラグF_BATREQはパワーズームレンズ５１にパワーズーミング用の電力供給を要求するフラグであり、フラグF_IPZBはレンズ内でズーミングの制御（ＩＳＺ、ＰＺ‐ＩＮＩＴＰＯＳ等）を行なっていることを示すフラグであり、フラグF_MOVTRGは、アドレスPZPTRGに設定された目標パルス位置までズーミングレンズ群５３Ｚを動かすように、２msタイマ割込み処理において実行させるフラグである。なお、これらの設定された値に基づいて２msタイマ割込みルーチンにおいて、ズーミングレンズ群５３Ｚに関する収納動作が行なわれる。
【０１２４】
ＲＥＴ‐ＰＺＰＯＳコマンドは、ＲＥＴＲＡＣＴ‐ＰＺコマンドによるズーミングレンズ群５３Ｚの収納状態から収納前の状態に復帰させるコマンドである。つまり、カメラボディのメインスイッチＳＷMAINがオンされた場合等に、ズーミングレンズ群５３Ｚを収納前の状態に復帰（リトラクトパワーズーミングする前の焦点距離位置まで復帰）させるコマンドである。このＲＥＴ‐ＰＺＰＯＳコマンドを入力したときの処理に関するフローチャートを図２３に示してある。
【０１２５】
レンズＣＰＵ６１は、ＰＥＴ‐ＰＺＰＯＳコマンドを受信すると、このコードに含まれる、リトラクトパワーズーム直前に送信したリトラクト前の焦点距離データ（RETPOSL,H）をレンズＲＡＭ６１ｂの所定アドレス(FCLL、H)にセットする（Ｓ６４１）。なお、このアドレスRETPOSL,Hには、別の通信コマンドにてカメラボディ１１より送られてきた収納前の焦点距離データがメモリされている。
【０１２６】
そして、上記焦点距離データを目標パルス数に変換し、目標パルス数ＰＺＰＴＲＧとしてレンズＲＡＭ６１ｂの所定のアドレスにメモリし、SPDDRC2に所定のＰＺスピードデータ（高速）をメモリし、フラグF_BATREQ、F_IPZB、F_MOVTRGをセットし、コマンド受信完了信号を送信し、通信割込みを許可してリターンする（Ｓ６４２〜Ｓ６４６）。なお、この復帰処理も、２msタイマ割込み処理において実行される。
【０１２７】
ＩＰＺ‐ＳＴＯＰコマンドは、パワーズーミング動作をストップさせるためのコマンドである。このコマンドは、ＩＳＺ（像倍率一定）、ＰＺ‐ＩＮＩＴＰＯＳ（復帰）、ＲＥＴＲＡＣＴ‐ＰＺ（収納）等の制御パワーズーミングをストップさせるコマンドであり、マニュアルパワーズームをストップさせるものではない。ＩＰＺ‐ＳＴＯＰコマンドを入力したときの処理に関するフローチャートを図２４に示してある。
【０１２８】
レンズＣＰＵ６１は、ＩＰＺ‐ＳＴＯＰコマンドを入力すると、フラグF_ISOKをクリアし、さらにパワーズーム動作の実行に関する所定のフラグ（F_MOVTARG、F_MOV、F_ISZ）をクリアする（Ｓ６５１、Ｓ６５２）。そして、コマンド受信完了信号を出力し、通信割込みを許可してリターンする（Ｓ６５３、Ｓ６５４）。これらのフラグがクリアされるため、２msタイマ割込み処理内では、マニュアルパワーズーム以外の、例えばＩＳＺ等の制御パワーズーミングは行なわれなくなる。
【０１２９】
ＩＳＺ‐ＭＥＭＯＲＹコマンドは、像倍率一定ズームを行なうために、ＡＦパルスおよび焦点距離の現在値を入力してメモリするためのコマンドである。ＩＳＺ‐ＭＥＭＯＲＹコマンドを入力したときの処理に関するフローチャートを図２５に示してある。
【０１３０】
レンズＣＰＵ６１は、ＩＳＺ‐ＭＥＭＯＲＹコマンドを入力すると、ＡＦパルスカウンタの現在値(AFPXL,H)をＩＳＺＡＦパルスメモリ(ISZ_AFPL,H)（レンズＲＡＭ６１ｂの所定アドレス）にメモリし、焦点距離の現在値(FCLXL,H)をＩＳＺ焦点距離メモリ(ISZ_FCLL,H)（レンズＲＡＭ６１ｂの所定アドレス）にメモリする（Ｓ６６１、Ｓ６６２）。そして、フラグF_ISZMをセットし、コマンド受信完了信号を出力し、通信割込みを許可してからリターンする（Ｓ６６３〜Ｓ６６５）。これらの値をもとに、図１５のＳ４６５〜Ｓ４７５に示されるＩＳＺの演算が行なわれる。
【０１３１】
ＩＳＺ‐ＳＴＡＲＴコマンドは、像倍率一定ズームをスタートさせるコマンドである。ＩＳＺ‐ＳＴＡＲＴコマンドを入力したときの処理に関するフローチャートを図２６に示してある。
【０１３２】
レンズＣＰＵ６１は、このＩＳＺ‐ＳＴＡＲＴコマンドを入力すると、各フラグF_BATREQ、F_IPZB、F_ISOKをセットし、データ送信完了信号を出力し、通信割込みを許可してリターンする（Ｓ６７１〜Ｓ６７３）。これらのフラグに基づいて２msタイマ割込み処理や、図１８のＳ５３７以降の処理が行なわれる。
『ＢＬコマンドサブルーチン』
次に、カメラボディ１１からＢＬコマンドを受信したときのパワーズームレンズ５１における動作について、図２７〜図３７および表３を参照して説明する。このＢＬコマンド通信処理では、先ずコマンド受信完了信号を出力し、その後にデータを入力し、入力完了信号を出力する点が、インストラクションコマンドサブルーチンのときと相違する。なお、これらＢＬコマンドは、図８の通信割込みルーチンにおけるＳ２１３処理の詳細である。コマンドの下位の内容によって各コマンド処理が実行される。
【０１３３】
ＰＺ‐ＢＳＴＡＴＥコマンド（２０）は、ＩＳＺ（像倍率一定ズーム制御）に必要なデータを送るコマンドである。このコマンドにより送られるデータには、フォーカシングレンズ群５３Ｆがファー端（無限遠端）（F_ENDF＝１）にあるかニア端（最近距離端）（F_ENDN＝１）にあるか、ファームーブ（F_FARM＝１）かニアムーブ（F_NEARM＝１）か、オーバーラップ積分中（F_OVAF＝１）かどうか、動体予測モード（F_MOBJ＝１）かどうか、合焦状態（F_AFIF＝１）かどうか、像倍率をメモリするときにボディの命令（通信）によりメモリするか、レンズ自身（レンズＣＰＵ６１）の判断でメモリするか(F_ISM＝１）等に関するデータが含まれる。図２７には、ＰＺ‐ＢＳＴＡＴＥコマンドを受信したときの処理に関するフローチャートを示してある。
【０１３４】
レンズＣＰＵ６１は、ＰＺ‐ＢＳＴＡＴＥコマンドを入力すると、コマンド受信完了信号を送信し、カメラボディ１１から１バイトのＰＺ‐ＢＳＴＡＴＥデータを入力し、ＡＦパルスカウント処理に関するＣＮＴＡＦＰサブルーチンを実行する（Ｓ７０１〜Ｓ７０３）。なお、ＣＮＴＡＦＰサブルーチンの詳細は、図３９〜図４３に示してあり、後でこれらの図に基づいて説明する。
【０１３５】
そして、データ入力完了信号を出力し、通信割込みを許可してからリターンする（Ｓ７０４、Ｓ７０５）。なお、本のカメラはＡＦ駆動源をボディ１１に搭載してあるので、パワーズームレンズ５１内でＡＦパルスをカウントするときには、ＡＦ駆動前及び駆動方向変更時等に、必ずこのコマンドでＡＦの駆動方向情報等をボディ１１からパワーズームレンズ５１に送る。
【０１３６】
ＢＯＤＹ‐ＳＴＡＴＥ０コマンドは、ボディ状態に関するデータを撮影レンズに知らせるコマンドで、撮影レンズとカメラボディ間の定期通信の際に送信される。図２８には、ＢＯＤＹ‐ＳＴＡＴＥ０コマンドを受信したときの処理に関するフローチャートを示してある。
【０１３７】
レンズＣＰＵ６１は、このＢＯＤＹ‐ＳＴＡＴＥ０コマンドを入力すると、コマンド受信完了信号を送信し、カメラボディ１１から１バイトのボディ状態に関するデータ（ＢＯＤＹ‐ＳＴＡＴＥ０）を入力し、そのデータをレンズＲＡＭ６１ｂのＢＤ＿ＳＴ０にストアする（Ｓ７１１〜Ｓ７１３）。そして、上記１バイトデータの上位５ビットをマスクしてレンズＲＡＭ６１ｂのＺＭ＿ＭＯＤＥにストアしたら、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ７１４〜Ｓ７１６）。
【０１３８】
ＢＯＤＹ‐ＳＴＡＴＥ０データには、カメラボディ１１のパワーズームモードに関する情報として、例えば、像倍率一定ズーム（ＩＳＺ）、露光間ズーム（ＥＸＺ）、マニュアルパワーズーム（ＭＰＺ）等の情報が下位３ビットに含まれ、上位５ビットには、ボディ回路系の電源がオン（F_VDD＝１）しているか、測光スイッチがオン（F_SWS＝０）しているか、ボディ１１からズームモータに電力が供給されているか（F_BATT＝１）、ボディ１１のＡＦ／ＭＦ切替えスイッチ（図示せず）がＡＦかＭＦか（F_SWAF=1かどうか）、ＡＦのモードがシングルかコンティニュアスかの情報が入る。
【０１３９】
フラグF_BATTは、カメラ側で（ボディＣＰＵ３５）が、端子ＶＢＡＴＴに電力を供給する際に立てる。一方、レンズ側では、レンズＣＰＵ６１は、ポートＰ１２を介して端子ＶＢＡＴＴの電圧レベルをモニタしていて、電圧が供給されているときはフラグF_VDETを立てる。そして、フラグF_BDETは、ＰＯＦＦ‐ＳＴＡＴＥ通信によりカメラ側（ボディＣＰＵ３５）に取り込まれる。カメラ側は、フラグF_BDETがセットされていることにより、正常に電力供給が行なわれていることを把握する。
【０１４０】
フラグF_BATTをセットしているにもかかわらず、フラグF_BDETがクリアされているときは何らかの異常が発生したものと認識し、端子ＶＢＡＴＴへの電力供給を中止する。
【０１４１】
ＢＯＤＹ‐ＳＴＡＴＥ１コマンドはＢＯＤＹ‐ＳＴＡＴＥ０コマンドと同様のカメラボディ１１の状態に関するデータ送信に関するコマンドであり、カメラボディ１１のシーケンス状態情報が含まれる。図２９には、ＢＯＤＹ‐ＳＴＡＴＥ１コマンドを受信したときの処理に関するフローチャートを示してある。
【０１４２】
レンズＣＰＵ６１は、ＢＯＤＹ‐ＳＴＡＴＥ１コマンドを受信すると、コマンド受信完了信号を送信してカメラボディ１１から１バイトのデータ（ＢＯＤＹ‐ＳＴＡＴＥ１）を入力し、レンズＲＡＭ６１ｂのＢＤ＿ＳＴ１にストアする（Ｓ７２１〜Ｓ７２３）。そして、フラグF_IPZDがセットされていればフラグF_ISOKをクリアしてさらにアドレスＢＤ＿ＳＴ１のフラグF_MOVTRG、F_MOV、F_ISZをクリアするが、フラグF_IPZDがセットされていなければ上記処理を行なわない（Ｓ７２４、Ｓ７２５、Ｓ７２６）。そして、データ入力完了信号を出力し、最後に通信割込みを許可してリターンする（Ｓ７２４、Ｓ７２７、Ｓ７２８）。
【０１４３】
フラグF_IPZDがセットされている場合の動作（Ｓ７２５〜Ｓ７２６）は、インストラクションコード３５のＩＰＺ‐ＳＴＯＰコマンドと同様の処理である。このコマンドはレンズＣＰＵ６１に、ボディ側の情報を受けさせると同時にＩＰＺ‐ＳＴＯＰコマンドの実行も兼ねさせる。本コマンドに関係するフラグについて説明する。
【０１４４】
F_IPZDは、上記のようにＩＰＺ‐ＳＴＯＰと同様の動作を行わせるかどうかを決めるフラグである。
【０１４５】
F_MPZDは、マニュアルパワーズームを禁止するかどうかを決めるフラグであり、F_MPZDがセットされているときにマニュアルパワーズームが禁止される。なお、このフラグF_MPZDは２msタイマ割り込み処理において参照される。
【０１４６】
F_ISZDは、ＩＳＺの制御を現在位置（合焦時）のＡＦパルス数に基づいて求めた焦点距離で行うか、プレディクタ量により求めた焦点距離で行うかを決めるフラグである。このフラグは、ＩＳＺの演算処理ル‐チン（図１８のＳ５４１）で参照される。
【０１４７】
F_ISSPAおよびF_ISSPBは、ＩＳＺの制御スピードを決めるフラグであり、図１８のＳ５４７で参照される。
【０１４８】
図３０には、ＳＥＴ‐ＡＦＰＯＩＮＴコマンドを受信したときの処理に関するフローチャートを示してある。
【０１４９】
レンズＣＰＵ６１は、ＳＥＴ‐ＡＦＰＯＩＮＴコマンド（２３）を入力すると、コマンド受信完了信号を出力し、ボディ側から１バイトのＳＥＴ‐ＡＦＰＯＩＮＴデータを受信してレンズＲＡＭ６１ｂの所定のアドレスにセットし、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ７３１〜７３５）。
ＳＥＴ‐ＡＦＰＯＩＮＴコマンドは、ＬＢコマンド、ＬＥＮＳ‐ＡＦＰＵＬＳＥ（１５）の通信前に、実行される。
【０１５０】
ＬＥＮＳ‐ＡＦＰＵＬＳＥコマンドでは、ＳＥＴ‐ＡＦＰＯＩＮＴコマンドで送られてきた情報により、どのＡＦＰＵＬＳＥをパワーズームレンズ５１からボディ１１へ送るかを決める。
【０１５１】
ｂｉｔ３（Ｘ）がセットされているときは、現在位置のＡＦパルス数（ＡＦＰＵＬＳＥ（ＡＦＰＸＬ，Ｈ））を送る。
【０１５２】
ｂｉｔ７（ＩＳＺＭ）がセットされているときは、ＩＳＺモード時に像倍率をメモリしたときのＡＦパルス数（ＡＦＰＵＬＳＥ（ＩＳＺ＿ＡＦＰＬ，Ｈ））を送る。なお、ｂｉｔ３とｂｉｔ７とが同時にセットされることはない。
【０１５３】
ｂｉｔ３及びｂｉｔ７がセットされていないときは、ｂｉｔ４〜６（ＦＭ０、ＦＭ１、ＦＭ２）が有効となる。
【０１５４】
レンズＣＰＵ６１のレンズＲＡＭ６１ｂ内には、ＡＦパルスデータをメモリする領域が８個（０〜７番）用意されており（ＡＦＰ０Ｌ、Ｈ〜ＡＦＰ７Ｌ，Ｈ）、ボディ１１からのコマンドによりそれぞれの番地にＡＦパルスデータをメモリすることができる。なお、ｂｉｔ４〜６の３ビットで０〜７番までのアドレスを指定し、そのアドレスにメモリされているＡＦパルスデータを送る。なお、このコマンドは、ＬＥＮＳ‐ＡＦＰＵＬＳＥ（１５）においてボディ１１に送るＡＦパルスデータをどれにするかを指定するだけのコマンドである。
【０１５５】
図３１には、ＳＥＴ‐ＰＺＰＯＩＮＴコマンドを受信したときの処理に関するフローチャートを示してある。
【０１５６】
レンズＣＰＵ６１は、ＳＥＴ‐ＰＺＰＯＩＮＴコマンド（２４）を入力すると、コマンド受信完了信号を出力し、ボディ側からＳＥＴ‐ＰＺＰＯＩＮＴデータを受信してレンズＲＡＭ６１ｂの所定のアドレスにセットし、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ７４１〜７４５）。
【０１５７】
ＳＥＴ‐ＰＺＰＯＩＮＴコマンドは、ＬＢコマンド、ＦＯＣＡＬＬＥＮ‐Ｘ（１６）の通信前に実行される。
【０１５８】
ＦＯＣＡＬＬＥＮ‐Ｘコマンドでは、ＳＥＴ‐ＰＺＰＯＩＮＴコマンドで送られてきた情報により、現在位置の焦点距離データ、ＩＳＺモード時に像倍率をメモリしたときの焦点距離のいずれをボディ１１へ送るかを決める。
【０１５９】
ｂｉｔ３（Ｘ）がセットされているときは、現在位置の焦点距離データ（ＦＣＬＸＬ，Ｈ）を送る。
【０１６０】
ｂｉｔ７（ＩＳＺＭ）がセットされているときは、ＩＳＺモード時に像倍率をメモリしたときの焦点距離（ＩＳＺメモリの焦点距離（ＩＳＺ＿ＦＣＬＬ，Ｈ））を送る。なお、ｂｉｔ３とｂｉｔ７とは同時にセットされない。
【０１６１】
ｂｉｔ３及びｂｉｔ７がセットされていないときは、ｂｉｔ４〜６（ＦＭ０、ＦＭ１、ＦＭ２）が有効となる。
【０１６２】
レンズＲＡＭ６１ｂ内には、焦点距離をメモリする領域が８個（０〜７番）用意されており（ＦＣＬ０Ｌ、Ｈ〜ＦＣＬ７Ｌ，Ｈ）、ボディ１１からのＳＥＴ‐ＰＺＰＯＩＮＴコマンドによりそれぞれの番地に焦点距離をメモリすることができる。そのうち、ｂｉｔ４〜６の３ビットで、０〜７番までのアドレスを指定し、そのアドレスにメモリされた焦点距離を送る。なお、このコマンドは、ＦＯＣＡＬＬＥＮ‐Ｘ（１６）においてボディ１１に送る焦点距離をどれにするかを指定するだけのコマンドである。
【０１６３】
ＳＴＯＲＥ‐ＡＦＰコマンドは、指定されたアドレスに所定のＡＦパルスデータをセットさせるコマンドである。図３２には、ＳＴＯＲＥ‐ＡＦＰコマンドを受信したときの処理に関するフローチャートを示してある。
【０１６４】
レンズＣＰＵ６１は、ＳＴＯＲＥ‐ＡＦＰコマンド（２５）を受信すると、コマンド受信完了信号を出力してカメラボディ１１から２バイトのデータを入力する（Ｓ７５１、Ｓ７５２）。入力したデータを、その内のあるビットがＩＳＺメモリでなければ（ＩＳＺＭ＝０）、そのデータ内のＡＭ０〜ＡＭ２により指定されたレンズＲＡＭ６１ｂのアドレス（ＡＦＰ０Ｌ，Ｈ〜ＡＦＰ７Ｌ，Ｈ）にメモリし、ＩＳＺメモリであれば（ＩＳＺＭ＝１）、レンズＲＡＭ６１ｂのＩＳＺメモリ（ＩＳＺ‐ＡＦＰＬ，Ｈ）にストアする（Ｓ７５１〜Ｓ７５６）。そして、ＩＳＺ演算フラグF_ISZXOMをセットして、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ７５７〜７５８）。
【０１６５】
ＳＴＯＲＥ‐ＤＥＦＰ＆Ｄコマンド（２６）は、カメラボディ１１側のＡＦに関するデフォーカス量及びデフォーカスパルスをレンズＲＡＭ６１ｂにメモリさせるコマンドである。図３３には、ＳＴＯＲＥ‐ＤＥＦＰ＆Ｄコマンドを受信したときの処理に関するフローチャートを示してある。
【０１６６】
レンズＣＰＵ６１は、ＳＴＯＲＥ‐ＤＥＦＰ＆Ｄコマンドを受信すると、コマンド入力完了信号を出力してカメラボディ１１から２バイトのデフォーカスパルスデータおよび２バイトのデフォーカス量データを入力し、入力したデフォーカスパルスを１／２倍する（Ｓ７６１〜Ｓ７６４）。本カメラシステムでは、ボディＡＦパルス：レンズＡＦパルスが２：１なので、入力したデフォーカスパルスを１／２倍している。なお、この比は任意に設定可能である。
【０１６７】
そして、フラグF_SIGNがクリアされていればデフォーカスパルス数に現在のＡＦパルス数を加算してＩＳＺ＿ＦＰＸにストアし、フラグF_SIGNが立っていれば現在のＡＦパルス数からデフォーカスパルス数を減算してＩＳＺ＿ＦＰＸにストアする（Ｓ７６５〜Ｓ７６７）。フラグF_SIGN=1のときはＦＡＲ端側へのデフォーカス量で、フラグF_SIGN=0のときはＮＥＡＲ端側へのデフォーカス量である。そしてフラグF_FPREを立ててデータ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ７６５〜Ｓ７７１）。このように通信により送られたデフォーカスパルスは、ＩＳＺ演算ルーチン内で、デフォーカスパルスを利用して目標焦点距離を求める演算に使用される。また、フラグF_FPREは、デフォーカス量を利用した演算実施の指示フラグである。
【０１６８】
ＳＴＯＲＥ‐ＰＺＰコマンド（２７）は、現在のＡＦの位置（フォーカシングレンズの位置または合焦被写体距離）および現在のＰＺの位置（ズーミングレンズ群５３Ｚの位置または焦点距離）を指定のメモリ（アドレス）にメモリさせるコマンドである。
【０１６９】
ＳＴＯＲＥ‐ＰＺＦコマンド（２８）は、カメラボディ１１で指定した焦点距離を所定のアドレスに記憶させるコマンドである。
【０１７０】
図３４には、ＳＴＯＲＥ‐ＰＺＰコマンドを受信したときの処理に関するフローチャートを示してある。
【０１７１】
レンズＣＰＵ６１は、ＳＴＯＲＥ‐ＰＺＰコマンドを受信すると、コマンド受信完了信号を出力してカメラボディ１１から１バイトのデータを入力する（Ｓ７８１、Ｓ７８２）。このデータ内でＰＺメモリと指定されているとき（フラグF_PZMが立っているとき）には、現在位置の焦点距離データをＦＭ０〜ＦＭ２により指定されたアドレス（ＦＣＬ０Ｌ，Ｈ〜ＦＣＬ７Ｌ，Ｈ）にメモリし、ＰＺメモリでないときにはメモリしない（Ｓ７８３、Ｓ７８４）。
【０１７２】
さらに、ＡＦメモリと指定されているとき（フラグF_AFMが立っているとき）には、現在位置のＡＦパルス数をＡＭ０〜ＡＭ２により指定されたアドレス（ＡＦＰ０Ｌ，Ｈ〜ＡＦＰ７Ｌ，Ｈ）にメモリし、ＡＦメモリでないときには何もせずに、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ７８５〜Ｓ７８８）。
【０１７３】
図３５には、ＳＴＯＲＥ‐ＰＺＦコマンドを受信したときの処理に関するフローチャートを示してある。
【０１７４】
レンズＣＰＵ６１は、ＳＴＯＲＥ‐ＰＺＦコマンドを受信すると、カメラボディ１１から２バイトのデータを入力し、これがＩＳＺメモリでなければ（フラグF_ISZMが立っていなければ）、入力した２バイトのデータをビットＦＭ０〜ＦＭ２により指定されたレンズＲＡＭ６１ｂのアドレス（ＦＣＬ０Ｌ，Ｈ〜ＦＣＬ７Ｌ，Ｈ）にストアし、ＩＳＺメモリであれば（F_ISZMが立っていれば）、入力したデータをＩＳＺ用メモリにストアし、焦点距離に基づいてＩＳＺの演算を実行するフラグF_ISZFOMを立てる（Ｓ７９１〜Ｓ７９６）。そして、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ７９７〜Ｓ７９８）。
【０１７５】
ＳＴＯＲＥ‐ＩＳ（２９）コマンドは、像倍率メモリ（レンズＲＡＭ６１ｂのアドレスＩＳＺ‐ＩＭＧＬ，Ｈ）に像倍率をメモリさせるコマンドである。図３６には、ＳＴＯＲＥ‐ＩＳコマンドを受信したときの処理に関するフローチャートを示してある。
【０１７６】
レンズＣＰＵ６１は、ＳＴＯＲＥ‐ＩＳコマンドを受信すると、コマンド受信完了信号を出力し、カメラボディ１１から２バイトの像倍率に関するデータを入力し、そのデータを像倍率メモリ（ＩＳＺ‐ＩＭＧＬ，Ｈ）にストアし、フラグF_STISをセットする（Ｓ８０１〜８０４）。そして、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ８０５〜Ｓ８０６）。なお、フラグF_STISは、ボディ側から送られてくる像倍率に基づいて像倍率一定ズームＩＳＺの演算を実行させるフラグである。
【０１７７】
ＭＯＶＥ‐ＰＺＭＤコマンド（２Ａ）は、指定方向、または指定したメモリ（レンズＲＡＭ６１ｂのアドレス）の焦点距離にパワーズームさせるコマンドである。
【０１７８】
ＭＯＶＥ‐ＰＺｆコマンド（２Ｂ）は、指定焦点距離、例えばカメラボディ１１側で演算した焦点距離にパワーズーミングさせるコマンドであり、このコマンドにより授受されるデータには、焦点距離およびズーミングスピードに関するデータが含まれる。
【０１７９】
図３７には、ＭＯＶＥ‐ＰＺＭＤコマンドを受信したときの処理に関するフローチャートを示してある。
【０１８０】
レンズＣＰＵ６１は、このＭＯＶＥ‐ＰＺＭＤコマンドを入力すると、コマンド入力完了信号を出力し、カメラボディ１１から１バイトのデータを入力する（Ｓ８１１〜Ｓ８１２）。そして、入力したデータ中のフラグF_MDMが立っていれば、ＭＶＭ０〜ＭＶＭ２により指定されたアドレス（ＦＣＬ０Ｌ，Ｈ〜ＦＣＬ７Ｌ，Ｈ）からデータを読み出して、ＰＺパルスデータに変換してレンズＲＡＭ６１ｂのＰＺＰＴＲＧＥＴにストアし、駆動スピードデータ（bit6,7のF_SPA,F_SPB)をＳＰＤＤＲＣ２にセットし、フラグF_MOVTRGを立てるが、フラグF_MDMが下りていれば、入力したデータの上位４ビットをアドレスＳＰＤＤＲＣ１にストアし、フラグF_MOVをセットする（Ｓ８１３〜Ｓ８１９）。これらのデータは、２msタイマ割込みルーチンの中で参照され、指定された動作のパワーズームが行なわれる。
【０１８１】
フラグF_LBATREQおよびF_IPZBをセットしたら、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ８２０〜Ｓ８２０‐２）。なお、フラグF_MDM(bit3)が立っているときは、指定したメモリにストアされている焦点距離にパワーズームさせるコマンドとなり、フラグF_MDMが立っていないときは、フラグF_MDT、F_MDW(bit4,5)で指示される方向にパワーズームさせるコマンドとなる。フラグF_MDTがＴＥＬＥ方向駆動を指定し、フラグF_MDWがＷＩＤＥ方向駆動を指定し、フラグF_SPA、F_SPB(bit6,7)は、ズーミングスピードを指定する。
【０１８２】
図３８には、ＭＯＶＥ‐ＰＺｆコマンドを受信したときの処理に関するフローチャートを示してある。
【０１８３】
レンズＣＰＵ６１は、ＭＯＶＥ‐ＰＺｆコマンドを入力すると、コマンド受信完了信号を出力し、カメラボディ１１から２バイトの焦点距離データを入力し、入力した焦点距離データをＰＺパルスデータに変換してレンズＲＡＭ６１ｂのアドレスＰＺＰＴＲＧＴにストアし、ＳＰＤＤＲＣ２に駆動スピードデータをセットし、フラグF_BATREQ、F_IPZB、F_MOVTRGをセットする。これらのデータは２msタイマ割込みルーチン内で参照され、指定された動作のパワーズームを実行させる。そしてデータ入力完了信号を出力し、通信割込みを許可してからリターンする（Ｓ８２１〜Ｓ８２７）。
『ＣＮＴＡＦ処理』
次に、パワーズームレンズ５１におけるＡＦパルスカウント処理に関して、図３９〜図４３に示したフローチャートを参照して説明する。なお、このカウント処理は、図２７のＰＺ‐ＢＳＴＡＴＥコマンド（２０）のＳ７０３の処理の詳細である。本カメラシステムでは、フォーカシングレンズ群５３Ｆがファー端（無限遠撮影位置）に達したときにＡＦパルスカウンタの値をクリアして０にし、ニア端（最短撮影位置）に達したときには最大値をＡＦパルスカウンタにセットする。そして、ＡＦパルサー５９から出力されるＡＦパルスを、ニアムーブ（至近距離方向に駆動）のときには加算し、ファームーブ（無限遠方向に駆動）のときには減算する。
【０１８４】
先ず、割込みを禁止し、通信で入力したデータをアドレスＰＺ＿ＢＤＳＴにメモリし、距離コード板８１から現在の距離コードを入力する（Ｓ９０１〜Ｓ９０５）。
【０１８５】
そして、ファー端（無限遠位置）であることを識別するフラグF_ENDFが立っていれば、入力した距離コードがファー端のコードであるかどうかをチェックする（Ｓ９０７〜Ｓ９０９）。距離コードがファー端であれば、現在のＡＦパルス値及びＡＦパルスカウントスタート値（アドレスＡＦＰＸＬ，Ｈ、ＡＦＰＳＴＲＴＬ，Ｈの内容）をクリアし、現在位置のＡＦパルスが分かっていることを表わすフラグF_AFPOSを立てる（Ｓ９０９、Ｓ９１３、Ｓ９１５）。さらにニアムーブであることを識別するフラグF_NEARMがクリアされていればＣＮＴＡＦＰ１０処理に飛び、立っていれば駆動方向が変わるのでＣＮＴＡＦＰ１１処理に飛ぶ（Ｓ９１７）。検出した距離コードがファー端コードでなければ、ファー端フラグF_ENDFをクリアしてＣＮＴＡＦＰ３処理に飛ぶ（Ｓ９０９、Ｓ９１１）。
【０１８６】
ファー端フラグF_ENDFがクリアされているときには、ニア端（至近合焦位置）であることを識別するニア端フラグF_ENDNをチェックし、クリアされていればＣＮＴＡＦＰ３に進む（Ｓ９１９）。
【０１８７】
ニア端フラグF_ENDNが立っているときには、距離コードがニア端のコードであるかどうかをチェックし、ニア端のコードでなければ、ニア端フラグF_ENDNをクリアしてＣＮＴＡＦＰ３処理に進む（Ｓ９１９〜Ｓ９２３）。距離コードがニア端のときには、現在のＡＦパルスカウント値及びＡＦパルスカウントスタート値を最大値にセット（Ｎ＿ＡＦＭＡＸＬ，ＨをＡＦＰＸＬ，Ｈ、ＡＦＰＳＴＲＴＬ，Ｈにセット）し、現在のＡＦパルス値がわかっていることを表わすフラグF_AFPOSをセットし、ファームーブ（F_FARM＝１）であるかどうかをチェックし、ファームーブであればＣＮＴＡＦＰ１１処理に進み、ファームーブでなければＣＮＴＡＦＰ１０処理に進む（Ｓ９２５〜Ｓ９２９）。
【０１８８】
以上のように、ファー端（F_ENDF=1)あるいはニア端(F_ENDN=1)のときには、それぞれ所定の値でＡＦパルスのカウント値を補正する。ただし、入力した距離コードを判断して端点にないときは、上記端点補正は行なわない。
【０１８９】
フォーカシングレンズ群５３Ｆがファー端とニア端の間にあるときの処理（ＣＮＴＡＦＰ３処理）について、図４０に示したフローチャートを参照して説明する。
【０１９０】
先ず、現在のＡＦパルスのハードカウンタのカウンタ値をＡＦパルスカウンタ（ＡＦＰＣＮＴＬ，Ｈ）にセットする（Ｓ９３１、Ｓ９３３）。フラグF_FARMがクリアされているときにはＣＮＴＡＦＰ６処理に進み、セットされているときには、前回ニアムーブであったかどうか（フラグF_NEARMOが立っているかどうか）をチェックする（Ｓ９３３、Ｓ９３５）。ニアムーブからファームーブに変わったときには、ＡＦパルスカウントスタート値（ＡＦＰＳＴＲＬ，Ｈ）にＡＦパルスカウント値（ＡＦＰＣＮＴＬ，Ｈ）を加算して所定の現在ＡＦパルス値及びＡＦパルスカウントスタート値メモリＡＦＰＸＬ，Ｈ＆ＡＦＰＳＴＲＴＬ，ＨにメモリしてＣＮＴＡＦＰ１２処理に進む（Ｓ９３５、Ｓ９３７）。
【０１９１】
前回ニアムーブではなかったときには、前回ファームーブであったかどうかをチェックし、ファームーブでもなかったとき、つまり動いていなかったときにはＣＮＴＡＦＰ１１処理に進み、前回もファームーブだったときには駆動方向が変わっていないので、ＡＦパルスカウントスタート値（ＡＦＰＳＴＲＬ，Ｈ）からカウント値（ＡＦＰＣＮＴＬ，Ｈ）を減算してその差を現在のＡＦパルス値（ＡＦＰＸＬ，Ｈ）にメモリし、ＣＮＴＡＦＰ１６処理に進む（Ｓ９３９、Ｓ９４１）。
【０１９２】
現在ファームーブでなかったときのＣＮＴＡＦＰ６処理について、図４１に示したフローチャートを参照して説明する。なお、ＣＮＴＡＦＰ６処理は、ＡＦ処理開始後最初に入るルーチンでもある。
【０１９３】
先ず、ニアムーブであるかどうかをチェックし、ニアムーブでなければＣＮＴＡＦＰ８処理に進む（Ｓ９５１）。ニアムーブであれば、前回ニアムーブであったかどうかをチェックし、前回もニアムーブであったときには、ＡＦパルスカウントスタート値（ＡＦＰＳＴＲＴＬ，Ｈ）にＡＦパルスカウント値（ＡＦＰＣＮＴＬ，Ｈ）を加算してその和を現在のＡＦパルス値（ＡＦＰＸＬ，Ｈ）にメモリする（Ｓ９５３、Ｓ９５５）。
【０１９４】
前回ニアムーブでなく、かつ前記ファームーブであれば駆動方向が変わっているので、ＡＦパルスカウントスタート値（ＡＦＰＳＴＲＴＬ，Ｈ）からＡＦＰカウント値（ＡＦＰＣＮＴＬ，Ｈ）を減算してその差を現在のＡＦパルス値及びＡＦパルスカウントスタート値（ＡＦＰＸＬ，Ｈ＆ＡＦＰＳＴＲＴＬ，Ｈ）にメモリする（Ｓ９５７、Ｓ９５９）。前回ファームーブでなければ、ＣＮＴＡＦＰ１１処理に進む（Ｓ９５７）。
【０１９５】
ＡＦモータ３９が停止しているときの処理（ＣＮＴＡＦＰ８処理）について、図４２に示したフローチャートを参照して説明する。
【０１９６】
ＣＮＴＡＦＰ８処理では、先ず、前回ニアムーブであったかどうかをチェックする（Ｓ９６１）。
【０１９７】
前回ニアムーブであれば、ニアムーブからの停止なので、ＡＦパルスカウントスタート値（ＡＦＰＳＴＲＴＬ，Ｈ）にＡＦパルスカウント値（ＡＦＰＣＮＴＬ，Ｈ）を加算してその和を現在のＡＦパルス値及びＡＦパルスカウントスタート値（ＡＦＰＸＬ，Ｈ＆ＡＦＰＳＴＲＴＬ，Ｈ）にメモリしてＣＮＴＡＦＰ１０処理に進む（Ｓ９６１、Ｓ９６３）。
【０１９８】
前回ファームーブのときにはファームーブからの停止なので、ＡＦパルスカウントスタート値（ＡＦＰＳＴＲＴＬ，Ｈ）からＡＦパルスカウント値（ＡＦＰＣＮＴＬ，Ｈ）を減算して現在のＡＦパルス値及びＡＦパルスカウントスタート値（ＡＦＰＸＬ，Ｈ＆ＡＦＰＳＴＲＴＬ，Ｈ）にメモリしてからＣＮＴＡＦＰ１０処理に進む（Ｓ９６１、Ｓ９６５、Ｓ９６７）。
【０１９９】
前回ニアムーブでもファームーブでもなければ停止なので、ＣＮＴＡＦＰ１６処理に進む（Ｓ９６１、Ｓ９６５）。
【０２００】
ＣＮＴＡＦＰ１０、１１、１２、１６処理について、図４３に示したフローチャートを参照して説明する。ＣＮＴＡＦＰ１０にはＡＦモータ３９が停止した直後に入るので、ＡＦパルサー５９のＬＥＤを消灯し、ＰＺ＿ＢＤＳＴの内容をＰＺ＿ＢＤＳＴ０にメモリし、通信割込みを許可してからＡＦパルスカウント処理を抜ける（Ｓ９７１、Ｓ９７７、Ｓ９７９）。
【０２０１】
ＣＮＴＡＦＰ１１処理には、ＡＦ駆動開始時に入るので、ＡＦパルサー５９のＬＥＤを点灯してＡＦパルスハードカウンタ及びＡＦパルスカウント値メモリ（ＡＦＰＣＮＴＬ，Ｈ）をクリアし、ＰＺ＿ＢＤＳＴのメモリ内容をＰＺ＿ＢＤＳＴ０に移し、通信割込みを許可してからＡＦパルスカウント処理を抜ける（Ｓ９７３、Ｓ９７５、Ｓ９７７、Ｓ９７９）。
【０２０２】
ＣＮＴＡＦＰ１２処理には、ＡＦ駆動中に駆動方向が変わるときに入るので、ＡＦパルスハードカウンタ及びＡＦパルスカウント値（ＡＦＰＣＮＴＬ，Ｈ）をクリアし、ＰＺ＿ＢＤＳＴのメモリ内容をＰＺ＿ＢＤＳＴ０に移し、通信割込みを許可してからＡＦパルスカウント処理を抜ける（Ｓ９７５、Ｓ９７７、Ｓ９７９）。
【０２０３】
ＣＮＴＡＦＰ１６処理には、ニアムーブまたはファームーブでの同方向駆動中（Ｓ６５５、Ｓ６４１）、またはＡＦモータ停止中（Ｓ９６５）に入るので、ＰＺ＿ＢＤＳＴのメモリ内容をＰＺ＿ＢＤＳＴ０に移し、通信割込みを許可してからＡＦパルスカウント処理を抜ける（Ｓ９７７、Ｓ９７９）。
【０２０４】
『ＬＢコマンド処理』
次に、レンズの状態等のレンズ側情報をカメラ側の要求に応じてパワーズームレンズ５１からカメラボディ１１に転送させる処理について、表４および図４４〜図５１に示したフローチャートを参照して説明する。これらのコマンドの内容は、表４に示してある。なお、これらの図４４〜図５１に示したフローチャートは、図８の通信割込みルーチンにおけるＳ２０９に示した処理の詳細図である。コマンドの下位の内容によって対応する処理が実行される。
『ＰＺ‐ＬＳＴＡＴＥ処理』
図４４に示したフローチャートは、ＰＺ‐ＬＳＴＡＴＥ（１０）処理に関するもので、パワーズームレンズ５１のパワーズーム制御状態に関するデータをカメラボディ１１に送る処理である。レンズＣＰＵ６１は、パワーズームに関するレンズステート（ＰＺ‐ＬＳＴＡＴＥ）要求コマンドを受信すると、コマンド受信完了信号を出力した後に、パワーズームの制御状態に関するデータ（ＰＺ＿ＬＳＴ）、例えば像倍率一定ズーム制御中であるかどうかなどをカメラボディ１１に出力する（Ｓ１００１、Ｓ１００２）。そして、データ送信完了信号を出力して通信割込みを許可してリターンする（Ｓ１００３、Ｓ１００４）。
【０２０５】
この処理において使用されるフラグの内容について説明する。
【０２０６】
フラグF_TMOV（bit０）は、ズームモータがＴＥＬＥ方向に動いているときにセットされる。
【０２０７】
フラグF_WMOV（bit１）は、ズームモータがＷＩＤＥ方向に動いているときにセットされる。
【０２０８】
フラグF_TENDは、ズーミングレンズ群５３ＺがＴＥＬＥ端にあるときにセットされる。
【０２０９】
フラグF_WENDは、ズーミングレンズ群５３ＺがＷＩＤＥ端にあるときにセットされる。
【０２１０】
フラグF_IPZBは、マニュアルパワーズーム以外でパワーズーム動作（ＩＳＺ、ＰＺのイニシャライズ動作、収納動作）するときにセットされる。
【０２１１】
フラグF_IPZIは、ＩＳＺ動作中にマニュアルパワーズーム操作が行われたときにセットされる。
【０２１２】
フラグF_ISOKは、ＩＳＺ動作中であるときにセットされる。
【０２１３】
フラグF_MPZIは、マニュアルパワーズーム動作中であるときにセットされる。
『ＰＯＦＦ‐ＳＴＡＴＥ、ＰＯＦＦＳ‐ＷＳＬＥＥＰ処理』
図４５には、ＰＯＦＦ‐ＳＴＡＴＥ（１１）処理及びＰＯＦＦＳ‐ＷＳＬＥＥＰ（１２）処理に関するフローチャートを示してある。これらの処理は、レンズのパワーズームに関するスイッチの情報、バッテリ要求情報、ＰＺ用の電源（バッテリ）のモニタ情報等をボディ１１に送る処理である。ＰＯＦＦ‐ＳＴＡＴＥ（１１）とＰＯＦＦＳ‐ＷＳＬＥＥＰ（１２）との違いは、本コマンド通信終了後にレンズＣＰＵ６１が低消費電力モードに入るかどうかの違いである。ＰＯＦＦＳ‐ＷＳＬＥＥＰ（１２）処理を実行すると、本通信中にフラグF_STNDBYをセットし、メインルーチンに戻ったときに低消費電力モードに移行するコマンドである。すなわち、ＰＯＦＦＳ‐ＷＳＬＥＥＰ（１２）コマンドは、ＰＯＦＦ‐ＳＴＡＴＥ（１１）とインストラクションコードのＳＴＡＮＤＢＹコマンド（３０）の内容を両方実行するコマンドである。
【０２１４】
レンズＣＰＵ６１は、ＰＯＦＦＳ‐ＷＳＬＥＥＰ（１２）コマンドの場合、フラグF_STNDBYをセットしてコマンド受信完了信号を出力し、スイッチ（７５、７７）の状態を入力する（Ｓ１０１１〜Ｓ１０１５）。そして、フラグF_STNDBYがセットされているとき（ＰＯＦＦＳ‐ＷＳＬＥＥＰ（１２）のとき）には電動／手動切替えスイッチ（Ｄ／Ｍスイッチ）が電動のときで、かつテレ、またはワイドスイッチ（スピード切替えスイッチ）がオンされているときにはバッテリ要求フラグF_BATREQを立ててＳ１０２５に進むが、それ以外のときにはそのままＳ１０２５に進む（Ｓ１０１７、Ｓ０１９、Ｓ１０２１、Ｓ１０２３）。
【０２１５】
なお、フラグF_STNDBYがセットされているときは、通常、本通信割り込みを終了して、メインルーチンに戻ったときに、低消費電力モードへ移行するが、フラグF_BATREQがセットされていれば、フラグF_STNDBYがセットされていても、低消費電力モードに移行せず、通常動作を続けることができ、マニュアルパワーズームの動作等が可能となる（図７参照）。
【０２１６】
また、フラグF_STNDBYがセットされていないときは、メインルーチンに戻っても低消費電力モードに移行しないので、ＰＺスピードスイッチ７５がオンされていれば、本コマンド内でフラグF_BATREQをセットしなくてもマニュアルパワーズーム等の動作は可能である。
【０２１７】
フラグF_STNDBYがクリアされているとき（ＰＯＦＦ‐ＳＴＡＴＥ（１１）のとき）には、そのままＳ１０２５に進む。
【０２１８】
Ｓ１０２５では、入力したズームモード切換えスイッチ７７に応じてフラグF_SLSW、F_ASSW、F_PZM、F_PZD、F_AFSWをセットまたはクリアする。そして、端子ＶＢＡＴＴの状態をモニタし、カメラボディ１１からズームモータ６９用の電力が供給されていなければフラグF_BDETをクリアし（ＶＢＡＴＴオフ）、供給されていればフラグF_BDETをセットする（ＶＢＡＴＴオン）（Ｓ１０２７〜Ｓ１０３１）。そして、上記セットした１バイトのデータ（ＰＯＦＦ‐ＳＴ）をカメラボディ１１へ転送し、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ１０３３〜Ｓ１０３７）。
【０２１９】
ＰＯＦＦ‐ＳＴＡＴＥ処理のときには、Ｓ１０１１のフラグF_STNDBYセット処理を飛ばしてＳ１０１３に入り、以降はＰＯＦＦＳ‐ＷＳＬＥＥＰ処理と同一の処理を実行する。
『ＬＥＮＳ‐ＩＮＦ１処理』
図４６に示したＬＥＮＳ‐ＩＮＦ１のフローチャートは、パワーズームレンズ５１の可変情報をカメラボディ１１に送る処理である。
【０２２０】
レンズＣＰＵ６１は、ＬＥＮＳ‐ＩＮＦ１データ要求コマンド入力すると、コマンド受信完了信号を送信し、１バイトのＬＮＳ＿ＩＮＦ１データのうち、パワーズームの方向に関する２ビットをクリアし、ＡＥオートレンズであることを識別する１ビットをセットしてから、ズーム方向スイッチ情報を入力する（Ｓ１０４１〜Ｓ１０４３）。そして、入力したスイッチ情報に応じて対応するビットをセットし、１バイトのレンズデータとしてカメラボディ１１に出力する（Ｓ１０４４、Ｓ１０４５）。そして、データ送信完了信号を出力し、通信割込みを許可してリターンする（Ｓ１０４６〜Ｓ１０４７）。なお、ＬＮＳ＿ＩＮＦ１データには、像倍率一定ズーム処理に関するデータが含まれている。詳細は先に記した通りである。
『ＬＥＮＺ‐ＩＮＦ２処理』
図４７に示したＬＥＮＳ‐ＩＮＦ２のフローチャートは、パワーズームレンズ５１固有の固定データをカメラボディ１１に送信する処理である。
【０２２１】
レンズＣＰＵ６１は、ＬＥＮＳ‐ＩＮＦ２コマンドを入力すると、コマンド受信完了信号を出力し、ＬＮＳ‐ＩＮＦ２データをカメラボディ１１へ出力し、データ入力完了信号を出力し、通信割込みを許可してリターンする（Ｓ１０５１〜Ｓ１０５４）。ＬＥＮＳ‐ＩＮＦ２データには、レンズのバージョン、ＰＺレンズかどうかなどを識別するデータが含まれており、これらのデータは固定値で、レンズＲＯＭ６１ａに格納されている。
『ＬＥＮＳ‐ＡＦＰＵＬＳＥ処理』
図４８に示したＬＥＮＳ‐ＡＦＰＵＬＳＥのフローチャートは、レンズＡＦパルスカウント値をカメラボディ１１に出力する処理である。
【０２２２】
すでに説明したように、ＬＥＮＳ‐ＡＦＰＵＬＳコマンドの通信前に必ず、ＳＥＴ‐ＡＦＰＯＩＮＴコマンド通信が行われる。このＳＥＴ‐ＡＦＰＯＩＮＴコマンドの内容に応じてＬＥＮＳ‐ＡＦＰＵＬＳＥコマンドでどのＡＦパルスをボディに送るかが決まる。
【０２２３】
レンズＣＰＵ６１は、ＬＥＮＳ‐ＡＦＰＵＬＳＥコマンドを入力すると、コマンド受信完了信号を出力し、現在のＡＦパルスを要求されているときには、現在のＡＦパルス数（ＡＦＰＸＬ，Ｈ）をレジスタ（図示せず）にストアする（Ｓ１０６１〜Ｓ１０６３）。像倍率一定ズーム（ＩＳＺ）のパルスを要求されているときには、ＩＳＺのＡＦパルスデータ（ＩＳＺ‐ＡＦＰＬ，Ｈ）をレジスタにストアする（Ｓ１０６２、Ｓ１０６４、Ｓ１０６５）。いずれでもないときには、指定されたアドレスのＡＦパルスデータ（ＡＦＰ０Ｌ，Ｈ〜ＡＦＰ７Ｌ，Ｈ）をレジスタにストアする（Ｓ１０６２、Ｓ１０６４、Ｓ１０６６）。そして、レジスタにセットしたＡＦパルスデータをカメラボディ１１に出力し、データ送信完了信号を出力し、通信割込みを許可してリターンする（Ｓ１０６７〜Ｓ１０６９）。
『ＦＯＣＡＬＬＥＮ‐Ｘ処理』
パワーズームレンズ５１の焦点距離データをカメラボディ１１に出力するＦＯＣＡＬＬＥＮ‐Ｘ処理について、図４９に示したフローチャートを参照して説明する。
【０２２４】
すでに説明したように、ＦＯＣＡＬＬＥＮ‐Ｘコマンドの通信前に必ずＳＥＴ‐ＰＺＰＯＩＮＴコマンドの通信が行われる。このＳＥＴ‐ＰＺＰＯＩＮＴコマンドの内容に応じて、ＦＯＣＡＬＬＥＮ‐Ｘコマンドを受けたときにどの焦点距離をボディに送るかが決まる。
【０２２５】
レンズＣＰＵ６１は、ＦＯＣＡＬＬＥＮ‐Ｘコマンドを受信すると、コマンド受信完了信号を出力し、現在の焦点距離を要求されているときには、現在の焦点距離（ＦＣＬＸＬ，Ｈ）をレジスタにストアする（Ｓ１０７１〜Ｓ１０７３）。像倍率一定ズーム（ＩＳＺ）の焦点距離（ＩＳＺ‐ＦＣＬＬ，Ｈ）を要求されているときには、像倍率一定ズームの焦点距離データをレジスタにストアする（Ｓ１０７２、Ｓ１０７４、Ｓ１０７５）。いずれでもないときには、指定されたアドレスの焦点距離（ＦＣＬ０Ｌ，Ｈ〜ＦＣＬ７Ｌ，Ｈ）をレジスタにストアする（Ｓ１０７２、Ｓ１０７４、Ｓ１０７６）。そして、レジスタにセットした焦点距離データをカメラボディ１１に出力し、データ送信完了信号を出力し、通信割込みを許可してリターンする（Ｓ１０７７〜Ｓ１０７９）。
『ＩＭＡＧＥ‐ＬＳＩＺＥ処理』
図５０に示したＩＭＡＧＥ‐ＬＳＩＺＥのフローチャートは、レンズＲＡＭ６１ｂの所定アドレスにメモリされている、像倍率一定ズーム制御のための像倍率データをカメラボディ１１に送る処理である。
【０２２６】
レンズＣＰＵ６１は、ＩＭＡＧＥ‐ＬＳＩＺＥコマンドを入力すると、コマンド受信完了信号をカメラボディ１１に出力し、像倍率（イメージサイズ）に関するデータ（ＩＳＺ‐ＩＭＧＬ，Ｈ）をカメラボディ１１に出力し、データ送信完了信号を出力し、通信割込みを許可してからリターンする（Ｓ１０８１〜Ｓ１０８５）。
『１６ｂｙｔｅデータ処理』
図５１に示した１６ｂｙｔｅデータフローチャートは、１６バイトの基本レンズデータのすべてをカメラボディ１１に送る処理である。なお、このコマンドは、図８の通信割込みルーチンのＳ２２１における処理の詳細である。コマンド下位の内容によって各コマンドが実行される。なお、前半８ｂｙｔｅおよび後半８ｂｙｔｅ処理は、１６ｂｙｔｅデータ通信と同様なので詳細は略す。
【０２２７】
レンズＣＰＵ６１は、１６ｂｙｔｅコマンドを入力すると、コマンド受信完了信号をカメラボディ１１に出力し、１６バイトの所定データ（ＬＣ０〜ＬＣ１５）をカメラボディ１１に出力し、データ送信完了信号を出力し、通信割込みを許可してリターンする（Ｓ１０９１〜Ｓ１０９５）。
『ボディのＰＺ処理』
次に、カメラボディ１１側のパワーズームに関する処理に関して、図５２〜図５５に示したフローチャートを参照して説明する。この処理は、カメラボディ１１のメイン（ボディ）ＣＰＵ３５のＲＯＭ３５ａにメモリされたプログラムに基いて、ボディＣＰＵ３５により実行される。
【０２２８】
このメインフロー処理には、メインスイッチがオン（電池を入れて電源が投入されたとき）など、ボディＣＰＵ３５がリセットされたときに、最初に入る。この処理に入ると、まずＲＡＭ３５ｂ、ポート設定等のイニシャライズ行い、スイッチ入力、E２PROMデータ入力等により所定の情報を入力し、パワーズームイニシャライズ処理（ＰＺＩＮＩＴサブルーチン）を実行する（Ｓ１１０１、Ｓ１１０３、Ｓ１１０５）。パワズームイニシャライズとは、本カメラシステムでは、ＰＺレンズにズーミングレンズ位置検出のための初期化処理、フォーカシングレンズ位置検出のための初期化処理等を行なわせるための処理である。以上は最初に電源が投入されたとき（図示しないメインスイッチがオンされたとき）の処理で、電源が投入されている間は、次ステップ（Ｓ１１０７）以降の処理を繰り返す。
【０２２９】
Ｓ１１０７では、所定の情報を入力し、ロックされていなければ（メインスイッチがオンしていれば）撮影可能なので所定の処理に進み、ロック解除されていれば（メインスイッチがオフしていれば）、Ｓ１１８１以降のロック処理に進む（Ｓ１１０９）。
【０２３０】
ロックが解除されているときには、そのロック解除が最初の場合、あるいは撮影レンズが装着されてから最初の処理であれば、フラグF_NEWCOM（撮影レンズとの間で旧通信が終了して新通信に入ったときに立つフラグ）をクリアし、ＰＺイニシャライズフラグF_PZINITをクリアしてパワーズームのイニシャライズを行う（Ｓ１１０９〜Ｓ１１１５、Ｓ１１２１、Ｓ１１２３）。
【０２３１】
最初のロック解除でも撮影レンズが装着されて最初の処理でもない場合には、最初のＡＦモードであるか、あるいは最初のＰＺモードであれば、ＡＦ、ＰＺに関する諸動作、データ等をイニシャライズするために、これらがイニシャライズされたときに立つフラグF_PZINITをクリアし、ＰＺＩＮＩＴサブルーチンをコールする（Ｓ１１１１、Ｓ１１１３、Ｓ１１１７〜Ｓ１１２３）。
【０２３２】
次に、スイッチ情報を入力してから、パワーズームに関する処理（ＰＺＬＯＯＰサブルーチン）を実行し、表示装置４５に所定の表示を行なってＳ１１３３に進む（Ｓ１１２７〜Ｓ１１３１）。
【０２３３】
Ｓ１１３３の測光スイッチＳＷＳ（ＡＦスイッチ）チェックにおいて、測光スイッチＳＷＳがオフしていれば、測光ＩＣ、ＣＣＤ、E２PROM及び周辺制御回路の一部の電源Ｖｄｄをオフする（Ｓ１１３３、Ｓ１１３５）。そして、ＡＦ中フラグF_AFがクリアされていれば、ＳＴＡＲＴからの処理へ戻り、ＡＦ中フラグF_AFが立っていればＳ１１６５に進む（Ｓ１１３６）。
【０２３４】
ＡＦ中フラグF_AFが立っていれば、測光スイッチＳＷＳがオフする前にＡＦおよびこれに関連する像倍率一定ズーム処理が行われている場合があるので、像倍率一定ズームストップフラグF_ISZSTOPをセットし、像倍率一定ズームの停止及び停止チェック処理（ＩＰＺＥＮＤＣＨＥＣＫサブルーチン）を実行する（Ｓ１１３６、Ｓ１１６５、Ｓ１１６７）。
【０２３５】
次に合焦フラグF_INFOCUSをクリアし、ＡＦモータ停止処理を行い、ＰＺ‐ＢＳＴＡＴＥコマンド通信により、パワーズームレンズ５１にＡＦの駆動情報等を送り、ＡＦ中フラグF_AFをクリアしてＳ１１７６に進む（Ｓ１１６９、Ｓ１１７１、Ｓ１１７３、Ｓ１１７５）。
【０２３６】
Ｓ１１３３のチェック時に測光スイッチＳＷＳがＯＮしていれば、端子Ｖddをオン（定電圧を印加）し、露出に関する測光および演算を行い、その結果を表示する（Ｓ１１３７、Ｓ１１３８）。そして、ＡＦモードでなければＳ１１６５からの処理へ飛ぶ（Ｓ１１３９、Ｓ１１６５）。
【０２３７】
ＡＦモードのときには、ＡＦ中フラグF_AFをセットし、測距処理、つまり積分を開始し、積分データを取り込んで所定のプレディクタ演算を実行する（Ｓ１１３９、Ｓ１１４０、Ｓ１１４３）。
【０２３８】
そのプレディクタ演算結果が有効のときには、合焦かどうかを判断して、合焦のときには合焦処理を行なう（Ｓ１１４５、Ｓ１１４９、Ｓ１１５１）。非合焦のときには、パワーズームレンズでなければ（F_PZ＝０のとき）Ｓ１１７６に飛ぶが、パワーズームであれば、ＡＦの駆動情報等をＰＺ‐ＢＳＴＡＴＥコマンドでパワーズームレンズ５１に送信して、ＡＦモータ３９を起動してからＳ１１５９の動体処理に進む（Ｓ１１４５、Ｓ１１４９、Ｓ１１５３〜Ｓ１１５７）。
【０２３９】
プレディクタ演算結果が有効範囲内にないとき、例えば被写体のコントラストが低過ぎたときなどは、有効値を求めるサーチ処理を行なってからＳ１１５３に進む（Ｓ１１４５、Ｓ１１４７）。サーチ処理とは、ＡＦモータ３９を近距離側または遠距離側に駆動しながら積分を行なって、有効デフォーカス値を求める処理である。
【０２４０】
Ｓ１１５７の合焦処理が終了したとき、あるいはＳ１１５７のＡＦモータ駆動が終了したときには、被写体が動体であれば動体追従ＡＦ処理を行なう（Ｓ１１５９）。そして、像倍率一定ズームモードであれば像倍率一定ズーム処理を行なってからレリーズスイッチＳＷＲチェック処理（Ｓ１１７６）に進む（Ｓ１１５９〜Ｓ１１６３）。
【０２４１】
Ｓ１１７６ではレリーズスイッチＳＷＲがオンされたかどうかのチェックを行ない、オフされていればそのままスタートに戻り、オンされていればレリーズが許可されていることを条件にレリーズ処理を行なってスタートに戻る（Ｓ１１７６、Ｓ１１７８、Ｓ１１７９）。
【０２４２】
また、Ｓ１１０９のチェック時にロックされているとき（メインスイッチオフのとき）にはＳ１１８１に進む。このロックがこのルーチンにおいて最初のロックかつパワーズームのときには、プリセットズームセットモードでメモリされている焦点距離データをカメラボディに退避するために退避処理（Ｓ１１８３）に進むが、それ以外のときにはＳ１２２３へ飛ぶ（Ｓ１１８１、Ｓ１１８３）。
【０２４３】
最初のロックでないとき、または撮影レンズがパワーズームでないときには、撮影レンズへの定電圧供給（ＣＯＮＴ）および電力供給（ＶＢＡＴＴ）をオフし、表示器４５の表示をオフしてスタートに戻る（Ｓ１１８１、Ｓ１１８３、Ｓ１２２３〜Ｓ１２２７）。
【０２４４】
退避処理では、先ずレンズＲＡＭ６１ｂにメモリされている焦点距離をボディへ退避するため、ＳＥＴ‐ＰＺＰＯＩＮＴコマンドにより退避するメモリ（ＲＡＭ６１ｂ）のアドレスを指定する。次に、ＦＯＣＡＬＬＥＮ‐Ｘコマンドで指定されたアドレスにメモリされている焦点距離データをパワーズームレンズ５１から入力し、入力した焦点距離データを焦点距離データとしてボディＲＡＭ３５ｂのアドレスＦＬＭにメモリする（Ｓ１１８４、Ｓ１１８５、Ｓ１１８７）。そして、レンズＲＡＭ６５ｂから像倍率を含むＩＭＡＧ‐ＬＳＩＺＥデータを入力して像倍率データをボディＲＡＭ３５ｂのアドレスＩＳＭにメモリし、さらにレンズＲＡＭ６５ｂからＬＥＮＳ‐ＩＮＦ２データを入力してＳ１１９５に進む（Ｓ１１８１〜Ｓ１１９３）。
【０２４５】
本カメラシステムでは、退避処理における通信プロセスを簡略化するために、像倍率データをカメラ側に転送する構成としているが、像倍率設定時の焦点距離データおよびレンズ繰出し量データの両方を転送する構成でもよい。
【０２４６】
Ｓ１１９５、Ｓ１１９７では、ＬＥＮＳ‐ＩＮＦ２で入力したデータをもとにパワーズーム収納可能か、パワーズームかどうかをチェックする。パワーズーム収納不可、またはパワーズームでないときにはそのままＣＯＮＴ１に進み、パワーズーム収納可でかつパワーズーム（retPZ=1、PZD=1）のときには、ボディ側でバッテリを要求してバッテリチェックを行ない、バッテリが正常のときには、パワーズームレンズ５１にパワーズーム収納処理を行なわせるコマンド（ＲＥＴＲＡＣＴ‐ＰＺ）を送信し、制御ズーム中であることを識別するフラグF_IPZONを立て、ＮＧタイマーをスタートさせてＣＯＮＴ１処理に進む（Ｓ１１９５〜Ｓ１２０９）。
【０２４７】
また、バッテリチェックにおいてバッテリ異常のときにはＣＯＮＴ１処理に進む（Ｓ１２０３）。なお、フラグretPZは、レンズ固有の情報で、ズームレンズがインナーズーム等でズーミングレンズの収納を必要としない場合はクリアされていて、収納処理をしない。
【０２４８】
ＣＯＮＴ１処理では、パワーズームレンズ５１がＡＦ収納可能かＡＦモードかをＬＥＮＳ‐ＩＮＦ２により入力したＡＦ収納フラグRETAF等によりチェックし、ＡＦ収納可能かつＡＦモードであれば、ＡＦモータ３９を駆動してフォーカシングレンズ群５３Ｆを収納位置（ファー端）に戻す（Ｓ１２１１〜Ｓ１２１５）。そして、制御パワーズーム中であれば、制御パワーズームが終了するのをチェックしながら待ち、終了したら、撮影レンズへの定電圧供給および電力供給をオフし、表示器４５の表示をオフしてスタートに戻る（Ｓ１２１７〜Ｓ１２２７）。ＡＦ収納不可、あるいはＡＦモードでなければレンズ収納処理をスキップする。なお、フラグRETAFはレンズ固有の情報で、ズームレンズがインナーフォーカス等でフォーカシングレンズの収納を必要としない場合はクリアされていて、収納処理をしない。
『ＰＺ、ＡＦ‐ＩＮＩＴ処理』
ボディ１１側で制御する、パワーズームレンズ５１の初期化（Ｓ１１０５）処理について、図５６〜図５８に示したＰＺＩＮＩＴサブルーチンを参照して説明する。
【０２４９】
この処理は、パワーズームレンズ５１にズーミングレンズ群５３Ｚの初期化とフォーカシングレンズ群５３Ｆ群の初期化を実行させ、メインスイッチのOFFでボディ１１に退避していた情報をパワーズームレンズ５１に戻す処理である。すなわち、前者は、ズーミングレンズの位置検出及びＡＦレンズの位置検出のための処理で、後者はメインスイッチオフ時（ロック時）にボディＲＡＭ３５ｂに退避していたＩＳＺの像倍率及びプリセットズーム用の焦点距離を再びパワーズームレンズ５１（レンズＲＡＭ６５ｂ）に戻してメモりさせる処理である。
【０２５０】
この処理に初めて入るときには、旧通信終了を表わす新通信フラグF_NEWCOMがクリアされているので、レンズＲＯＭとの間でカメラボディ１１のクロックに同期してデータ通信を行う旧通信を行ない、その後レンズＣＰＵ６１との間で、レンズＣＰＵ６１のクロックに同期してデータ通信を行う新通信に切り替える（Ｓ１３０１、Ｓ１３０３）。
【０２５１】
装着された撮影レンズがレンズＣＰＵを搭載しているＫｚレンズ（本カメラシステムのパワーズームレンズ５１を含む）でないときには新通信が不可能なのでリターンし、Ｋｚレンズであれば、撮影レンズから新通信ＬＥＮＳ‐ＩＮＦ２（１４）によりデータを入力してパワーズームレンズ（ＰＺレンズ）かどうかをチェックする（Ｓ１３０５、Ｓ１３０９）。ＰＺレンズでなければ、ＰＺレンズであることを識別するフラグF_PZをクリアしてＳ１３２３に進む（Ｓ１３０９、Ｓ１３１１）。
【０２５２】
ＰＺレンズであればフラグF_PZを立て、リセットからきた（電池が入れ替えられた）とき、または初めてレンズが装着されたときには、初期値を像倍率（イメージサイズ）用メモリＩＳＺにメモリする（Ｓ１３１３、Ｓ１３１５、Ｓ１３１９）。他の場合には、ＳＴＯＲＥ‐ＰＺＦ（２８）通信により、Ｓ１１８５においてボディＲＡＭ３５ｂのアドレスＦＭＬに退避させておいたプリセットズーム等のための焦点距離の情報を、レンズＣＰＵ６１のレンズＲＡＭ６１ｂの所定のアドレス（ＦＣＬ０Ｌ，Ｈ〜ＦＣＬ７Ｌ，Ｈ）にメモリさせる（Ｓ１３１５、Ｓ１３１７）。そして、ＳＴＯＲＥ‐ＩＳ（２９）通信を行ない、メインＣＰＵのＲＡＭ（３５ｂ）に退避させておいた像倍率か、Ｓ１３１９でセットした初期値の像倍率をレンズＣＰＵのＲＡＭ（６１ｂ）の所定のアドレス（ＩＳＺ‐ＩＭＧＬ，Ｈ）へメモリさせ、新通信フラグF_NEWCOMをセットする（Ｓ１３２１、Ｓ１３２３）。
【０２５３】
次に、ＰＯＦＦ‐ＳＴＡＴＥ（１１）通信によりレンズＣＰＵ６１からデータを入力する（Ｓ１３２５）。パワーズームのイニシャライズが完了したことを示すフラグF_PZINITがセットされているか、パワーズームであることを示すフラグF_PZがクリアされていれば、スタンバイ処理を行うＳ１３６１に飛ぶ（Ｓ１３２７、Ｓ１３２９）。
【０２５４】
フラグF_PZINITがクリアされ、かつフラグF_PZが立っていれば、パワーズームでないとき（フラグF_PZD（ＰＯＦＦ‐ＳＴＡＴＥデータのｂｉｔ５）がクリアされているとき）、すなわち手動ズームのときには、そのままＡＦ初期化（ＡＦＩＮＩＴ）処理に進む（Ｓ１３２５〜Ｓ１３３１）。パワーズームモードのときには、ＰＺの電源オンをボディ自身が要求するフラグF_BBATREQを立て、ＢＡＴＯＮＯＦＦサブルーチンにおいてＰＺの電源をＯＮしてパワーズームレンズ５１に電力を供給し、さらに正常に電力が供給されたかをチェックする（Ｓ１１３１〜Ｓ１１３７）。バッテリの電力が正常に出力されていなければ（フラグF_BATNG＝１のとき）、そのままＡＦＩＮＩＴ処理に進み、正常（F_BATNG＝０）であればＰＺ‐ＩＮＩＴＰＯＳコマンド（３２）を出力して、撮影レンズにＰＺの初期化動作を行わせ、ＰＺのイニシャライズが完了したことを示すフラグF_PZINITを立ててＡＦＩＮＩＴ処理に進む（Ｓ１３３７〜Ｓ１３４１）。
『ＡＦＩＮＩＴ処理』
図５８に示したＡＦＩＮＩＴ処理フローチャートは、ボディ１１側の制御により、ＡＦに関する初期化を行う処理である。なお、本カメラシステムではＰＺの初期化後にＡＦの初期化を行なっているが、逆でもよい。
【０２５５】
ＡＦＩＮＩＴ処理では、撮影レンズがＡＦモードであることを条件に、フォーカシングレンズ群５３Ｆを収納位置、つまり鏡筒長が最も短くなる位置に移動させる（Ｓ１３４１、Ｓ１３４３）。なお、本カメラシステムにおいて鏡筒長が最も短くなる位置は、無限遠位置である。そして、ＡＦ‐ＩＮＩＴＰＯＳ通信により初期化コマンドを入力し、フラグF_AFINITを立てる（Ｓ１３４５、Ｓ１３４７）。また、この初期化において、レンズＣＰＵ６１は、ＡＦパルスカウント用のレンズＲＡＭ６１ｂの初期化等を行なう。
【０２５６】
次に、手動パワーズーム以外のパワーズームであることを示すフラグF_BBATREQが立っていれば、パワーズームの初期化が終了したかどうかをＩＰＺＥＮＤＣＨＥＣＫサブルーチンでチェックする（Ｓ１３４９〜Ｓ１３５３）。パワーズームの初期化が終了したら、パワーズームが初期化されたことを識別するフラグF_PZINITを立て、ボディ側のバッテリ要求フラグF_BBATREQを降ろし、ＢＡＴＯＮＯＦＦサブルーチンにてバッテリの電力供給停止及び停止チェックを行う（Ｓ１３５５〜Ｓ１３５９）。
【０２５７】
そして、ボディ１１の測光ＩＣ１７、ＣＣＤ２１、E2PROM４３等の電源がオン（Ｖｄｄ  ＯＮ）していればそのままリターンし、オフしていればＳＴＡＮＤＢＹコマンドを送信してパワーズームレンズ５１のレンズＣＰＵ６１をスタンバイ（低消費電力モードへ移行）させてからリターンする（Ｓ１３６１、Ｓ１３６３）。
『ＢＡＴＯＮＯＦＦ処理』
図５９に示したＢＡＴＯＮＯＦＦフローチャートは、電力要求（バッテリ要求）がボディまたはレンズから出されたときに、ズームモータ６５用の電力をカメラボディ１１からパワーズームレンズ５１に対して供給し、供給が正常になされているかどうかをどうかをチェックする、ボディＣＰＵ３５によるチェック処理である。本カメラシステムでは、バッテリ要求は、カメラボディ１１自身が出す場合と、パワーズームレンズ５１が出す場合とがある。
【０２５８】
ＢＡＴＯＮＯＦＦ処理では、先ず、パワーズームレンズ５１からもカメラボディ１１からもバッテリ要求がない場合には、すでに端子ＶＢＡＴＴへの電力供給をしていないとき（フラグF_BATONがクリアされているとき）にはそのままリターンするが（Ｓ１４０１、Ｓ１４０３、Ｓ１４０５）、端子ＶＢＡＴＴに電力が供給されているときには、パワーズームレンズ５１（端子ＶＢＡＴＴ）への電力供給をオフし、フラグF_BATONをクリアし、ＢＯＤＹ‐ＳＴＡＴＥ０コマンドを出力して電力供給がオフしたことを示すデータ（ｂｉｔ５のＶＢＡＴＴ＝１）をレンズに送ってからリターンする（Ｓ１４２１〜Ｓ１４２５）。
【０２５９】
パワーズームレンズ５１またはカメラボディ１１からバッテリ要求があったとき（ＰＯＦＦ‐ＳＴＡＴＥデータのｂｉｔ１のＬＢＡＴＲＥＱがセットされているとき、またはＢＢＡＴＲＥＱがセットされているとき）には、電力がまだ供給されていなければパワーズームレンズ５１に電力供給を行ない、ボディ状態に関するＢＯＤＹ‐ＳＴＡＴＥ０データを送信して電力供給中であることを示すデータ（ｂｉｔ５のＢＢＡＴをセット）をレンズに送り、電力供給中であることを識別するフラグF_BATONを立ててからＰＯＦＦ‐ＳＴＡＴＥデータを受信するが、電力がすでに供給されているときにはそのままＰＯＦＦ‐ＳＴＡＴＥデータを受信する（Ｓ１４０７〜Ｓ１４１５）。
【０２６０】
そして、バッテリ供給が正常（ＰＯＦＦ‐ＳＴＡＴＥのｂｉｔ０のフラグF_PZWAIT＝１）であればバッテリ異常であることを識別するフラグF_BATNGをクリアしてリターンする（Ｓ１４１７、Ｓ１４１８）。しかし、電力供給が異常のとき、例えばＧＮＤラインとショートしているときなどには、バッテリ異常であることを識別するフラグF_BATNGを立てて、パワーズームレンズ５１への電力供給を停止し、フラグF_BATONをクリアし、ＢＯＤＹ‐ＳＴＡＴＥ０コマンドを出力して電力供給停止データをパワーズームレンズ５１に送ってリターンする（Ｓ１４１９〜Ｓ１４２５）。
『ＰＺ‐ＬＯＯＰ処理』
図６０、図６１および図６２に示したＰＺ‐ＬＯＯＰ処理は、ボディＣＰＵ３５が行なうパワーズームに関する処理であって、間欠的に実行される。この処理では、パワーズーム関連、プリセットされた焦点距離までパワーズームするプリセットズーム、焦点距離のプリセット、像倍率一定ズーム制御等を行なう。本カメラシステムでは、プリセットズームセット（ＰＳＺＳ）モードのときは、ＳＬスイッチ（ズームモード切替えスイッチ７７）がオンされた時に現在の焦点距離をメモリし、プリセットズーム（ＰＳＺ）モードのときは、ＳＬスイッチがオンされた時にプリセットされた焦点距離までパワーズームを行なう。そして、ＳＬスイッチがオフされた時、またはズーム操作リングが中立位置に戻った時（ＰＺスピードスイッチ７５がオフした時）にその時の像倍率をメモリする。
【０２６１】
この処理に入ると、新通信およびパワーズーム可能であることを条件にＳ１５０５に進んで各処理を実行するが、新通信不可のときにはそのままリターンする。また、新通信可でパワーズーム不可のときには、ＢＯＤＹ‐ＳＴＡＴＥ０通信を行なう（Ｓ１５０１、Ｓ１５０３、Ｓ１５０４‐１）。このＢＯＤＹ‐ＳＴＡＴＥ０通信では、パワーズームのモード情報等のボディ側の情報をレンズに送り、Ｖｄｄがオンしているときは、ＰＯＦＦ‐ＳＴＡＴＥ通信でレンズ側のスイッチ状態等のレンズ情報を入力する（Ｓ１５０４‐２、Ｓ１５０４‐３）。Ｖｄｄオフのときは、ＰＯＦＦＳ‐ＷＳＬＥＥＰ通信でレンズの情報を入力し、かつ、レンズＣＰＵ６１をスタンバイモード（低消費電力モード）に移行させる（Ｓ１５０４‐２、Ｓ１５０４‐４）。このＰＯＦＦＳ‐ＷＳＬＥＥＰコマンドによりレンズＣＰＵ６１は、次の通信コマンドを受信するまで低消費電力モードを維持したままとなる。
【０２６２】
Ｓ１５０５では、パワーズームレンズ５１からＰＯＦＦ‐ＳＴＡＴＥでレンズのスイッチ等のデータを入力して、そのデータに応じてＰＺモードの切換えおよび表示修正を行なって、電力供給あるいは停止を行なう（Ｓ１５０３〜Ｓ１５０９）。そして、入力したデータに基づいて以下の処理を行なう（Ｓ１５０９〜Ｓ１５１１）。
【０２６３】
プリセットズーム（ＰＳＺ）モードであれば、像倍率一定ズームの動作を禁止し（フラグF_ISZSTOPをセット）、ＩＰＺＥＮＤＣＨＥＣＫサブルーチンにて像倍率一定ズームを終了させる（Ｓ１５１３〜Ｓ１５１７）。プリセットズーム駆動開始（ＳＬスイッチがオン）でなければリターンする（Ｓ１５１９）。プリセットズーム駆動開始であり、かつ現在プリセットズーム駆動中（F_IPZON＝１）であれば、ＩＰＺＥＮＤチェックサブルーチンにてプリセットズームが終了したかどうかのチェック処理を実行し、終了したらリターンする（Ｓ１５１９、Ｓ１５２１、Ｓ１５５５）。
【０２６４】
プリセットズーム駆動中でなければカメラボディ１１自体で電力供給を要求し、電力供給を行なう（Ｓ１５２１〜Ｓ１５２５）。そして、バッテリが異常であればそのままリターンし、正常であれば、ＭＯＶＥ‐ＰＺＮＤコマンドを送信して指定したアドレスにメモリされている焦点距離位置へパワーズームさせ、プリセットズーム中であることを識別するフラグF_BBATREQを立ててリターンする（Ｓ１５２７〜Ｓ１５３１）。
【０２６５】
プリセットズームセット（ＰＳＺＳ）モードのときには、プリセットズームおよび像倍率一定制御の駆動を停止させるフラグ（F_ISZSTOP、F_IPZSTOP）を立てて、ＩＰＺＥＮＤＣＨＥＣＫサブルーチンにてプリセットズームあるいは像倍率一定ズームの駆動を停止させる（Ｓ１５１３、Ｓ１５４１、Ｓ１５４３、Ｓ１５４５）。
【０２６６】
そして、ＳＬスイッチがオンされた時には、レンズＣＰＵ６１に現在の焦点距離データを指定されたレンズＲＡＭ６１ｂのアドレスにメモリさせるために、ＳＴＯＲＥ‐ＰＺＰコマンドをパワーズームレンズ５１に送信し、プリセットズームセット（ＰＳＺＳ）モードをプリセットズーム（ＰＳＺ）モードに変更するとともに、ＢＯＤＹＳＴＡＴＥ０コマンドにおけるビット０〜２の値を変更して、ＢＯＤＹＳＴＡＴＥ０コマンドを出力してプリセットズームモードに変わったこと等をパワーズームレンズ５１に知らせてからリターンする（Ｓ１５４７〜Ｓ１５５３）。ＳＬスイッチがオフのままのときには、何もせずにリターンする（Ｓ１５４７）。
【０２６７】
像倍率一定ズームモードのときには、プリセットズームを停止させ、プリセットズームが終了したことをチェックする（Ｓ１５４１、Ｓ１５６１、Ｓ１５６３、Ｓ１５６５）。
【０２６８】
ここで、ＳＬスイッチがオンされているときには、像倍率一定ズームの開始を禁止するフラグF_PZWAITを立ててリターンする（Ｓ１５６７、Ｓ１５７７）。ＳＬスイッチがオフのときには、ＬＥＮＳ‐ＩＮＦ１データを入力し、ズームスイッチ（ズームスピード切り替えスイッチ７５）がオンされていれば、像倍率一定ズームの開始を禁止するフラグF_PZWAITを立ててリターンする（Ｓ１５６７、Ｓ１５７７）。ズームスピード切り替えスイッチ７５が中立点にあるとき（オフのとき）にはフラグF_PZWAITをクリアし、合焦しているかどうかをチェックし、非合焦であればそのままリターンする（Ｓ１５７１〜Ｓ１５７５）。合焦しているときには、ＳＬスイッチがオフされた時、または、ズームスピード切り替えスイッチ７５が中立点に戻された時（オフ時）に、その時の像倍率をメモリさせるＩＳＺ‐ＭＥＭＯＲＹコマンドを撮影レンズに出力してリターンし、上記いずれの時でもなければそのままリターンする（Ｓ１５７９〜Ｓ１５８３）。
【０２６９】
以上のいずれのモードでもないときには、プリセットズームおよび像倍率一定ズームを停止させ、プリセットズームが終了したことをチェックしてリターンする（Ｓ１５１３、Ｓ１５４１、Ｓ１５６１、Ｓ１５８５〜Ｓ１５８７）。
『ＩＰＺＥＮＤＣＨＥＫ処理』
図６３に示したＩＰＺｅｎｄｃｈｅｋフローチャートは、プリセットパワーズーム及び像倍率一定ズーム処理を終了させ、またはその終了をチェックする、ボディ１１側の処理である。
【０２７０】
このＩＰＺＥＮＤＣＨＥＫサブルーチンに入ると、像倍率一定ズームストップかつ像倍率一定ズーム動作中のとき（F_ISZSTOP＝１、F_ISZON＝１）、またはプリセットズームストップかつプリセットズーム動作中のとき（F_IPZSTOP＝１、F_IPZON＝１）には、フラグF_NGTIMERおよびフラグF_IPZENDをクリアし、パワーズームを停止させるＩＰＺ‐ＳＴＯＰコマンドを送信し、各フラグF_ISZON、F_IPZON、BBATreqをクリアし、バッテリ供給停止及びチェックを行なってからリターンする（Ｓ１６０１〜Ｓ１６０７、Ｓ１６２３〜Ｓ１６３１）。
【０２７１】
上記像倍率一定ズーム中でもなく、プリセットズーム中でもないときには、ＰＺ‐ＬＳＴＡＴＥデータを入力し、パワーズームレンズ５１がプリセットズーム中あるいは像倍率一定ズーム中であるかどうかをチェックし、ズーム中でなければ（ＩＰＺＢ＝０のとき）、プリセットズームあるいは像倍率一定ズーム終了フラグF_IPZSTOP、F_ISZSTOPを立ててリターンする（Ｓ１６０１〜Ｓ１６１７）。プリセットズーム中あるいは像倍率一定ズーム中であれば（ＩＰＺＢ＝１のとき）、異常検出タイマー（ＮＧタイマー）がタイムアップしていなければリターンする（Ｓ１６１９）。
【０２７２】
像倍率一定ズームが終了する前にＮＧ（異常検出）タイマーがタイムアップしたときには何らかの異常があったと考えられるので、フラグF_TIMEUPをセットし（F_TIMEUP＝１）、フラグF_NGTIMERおよびフラグF_IPZENDをクリア（F_NGTIMER＝０、F_IPZEND＝０）する（Ｓ１６２２‐１、Ｓ１６２２‐２）。そして、パワーズーム停止処理を行なう（Ｓ１６２３〜Ｓ１６３１）。
【０２７３】
ＮＧタイマーがタイムアップしていないときには、そのままリターンする
『ＩＳＺ‐ＤＲＩＶＥ１処理』
図６４ないし図６７に示したフローチャート（ＩＳＺ‐ＤＲＩＶＥ１）は、パワーズームレンズ５１（レンズＣＰＵ６１）に像倍率一定ズーム処理を行なわせるボディＣＰＵ３５の処理である。
【０２７４】
フォーカシングレンズ群５３Ｆが無限遠位置にあれば、ＡＦ‐ＩＮＩＴＰＯＳコマンドでＡＦ初期位置に関するデータをパワーズームレズ５１に送信し（Ｓ１７０１、Ｓ１７０３）、至近距離位置にあればＰＺ‐ＢＳＴＡＴＥコマンドでカメラボディ１１側のパワーズームモードに関するＰＺボディステートデータをパワーズームレンズ５１に送信する（Ｓ１７０１、Ｓ１７０５、Ｓ１７０７）。
【０２７５】
パワーズームウエイト（F_PZWAIT＝１）のときまたはプレディクタ演算結果が無効のときにはなにもせずにリターンする（Ｓ１７０９、Ｓ１７１１）。パワーズームウエイトでなく、かつプレディクタ演算結果が有効のときには、合焦状態にあるかどうかをチェックする（Ｓ１７０９〜Ｓ１７１３）。合焦状態にあるときには、すでにＮＧタイマーが起動されているかどうか（F_NGTIMER＝１）をチェックし、起動されていなければＮＧタイマーをスタートさせてフラグF_NGTIMERをセットしてＳ１７２１に進む（Ｓ１７１３、Ｓ１７１５、Ｓ１７１９、Ｓ１７２０）。ＮＧタイマーがすでに起動されていれば、以上の処理をスキップしてＳ１７２１に進む。
【０２７６】
次に、Ｓ１７２１の像倍率一定ズーム終了チェック（ＩＰＺＥＮＤ‐ＣＨＥＣＫ）処理終了後、像倍率一定ズーム駆動中であれば、終了のチェックを行う（Ｓ１７２３、Ｓ１７２５）。像倍率一定ズーム駆動中（F_ISZON＝１）かつ像倍率一定ズームが終了していれば（F_IPZEND＝１）、フラグF_IPZENDをクリアし、フラグF_ISZSTOPを立てて、ＩＰＺＥＮＤ‐ＣＨＥＣＫサブルーチンにて、像倍率一定ズームの停止処理を行ってからリターンする（Ｓ１７２５〜Ｓ１７２９）。
【０２７７】
像倍率一定ズーム中でないか、像倍率一定ズームが終了していなければ、ＰＺ‐ＢＳＴＡＴＥコマンドでカメラボディ１１のパワーズーム状態に関するデータを送信する（Ｓ１７２３、Ｓ１７２５、Ｓ１７３１）。そして、像倍率一定ズーム中でなければボディ側で電力供給を要求してバッテリ供給チェック処理を行ない、像倍率一定ズーム中であることを識別するフラグF_ISZONを立ててから合焦判断に進むが、すでに像倍率一定ズーム中であればそのまま合焦判断に進む（Ｓ１７３３〜１７４１）。
【０２７８】
合焦していれば、現在のＡＦパルス数（レンズ繰出し量）に基づいて像倍率一定ズームを実行させるために、ＢＯＤＹ‐ＳＴＡＴＥ１コマンドで所定のデータをパワーズームレンズ５１に送信し、さらにＩＳＺ‐ＳＴＡＲＴコマンドを送信してパワーズームレンズ５１に像倍率一定ズームをスタートさせてからリターンする（Ｓ１７４１〜Ｓ１７４５）。非合焦であれば、カメラボディ１１で測距したデフォーカスパルスのデータをＳＴＯＲＥ‐ＤＥＦ＆Ｄコマンドで送信し、デフォーカスパルスに基づいて像倍率一定ズームを行なわせるためのデータをＢＯＤＹ‐ＳＴＡＴＥ１コマンドで送信し、ＩＳＺ‐ＳＴＡＲＴコマンドを送信してリターンする（Ｓ１７４１、Ｓ１７４７〜Ｓ１７５１）。
【０２７９】
以上のコマンド、データを受信したレンズＣＰＵ６１は、図１５のＩＳＺ処理を経て目標焦点距離を演算し、ズーミング制御を実行する。
『ＩＳＺ‐ＤＲＩＶＥ２』
図６６および図６７に示した像倍率一定ズーム処理の第２例について説明する。この第２例は、カメラボディ１１において、像倍率一定ズームに関する演算、制御をすることに特徴を有する。
【０２８０】
ステップＳ１８０１〜Ｓ１８２３までの処理は、図６３に示した第１例のＳ１７０１〜Ｓ１７３１と同様であるからそこまでの説明は省略し、Ｓ１８２５以降の処理について説明する。
【０２８１】
合焦状態にないときには、カメラボディ１１のパワーズーム状態に関するデータをＰＺ‐ＢＳＴＡＴＥコマンドで送信する（Ｓ１８１３、Ｓ１８２５〜Ｓ１８３３）。そして、パワーズームレンズ５１が像倍率一定ズーム中でなければ、ボディ側で電力要求を行なってバッテリ供給およびチェックを行ない、制御ズーム中フラグF_IPZONをセットする（Ｓ１８２７〜Ｓ１８３３）。
【０２８２】
次に、像倍率メモリ時の焦点距離がメモリされているレンズＲＡＭ６１ｂのアドレスを指定してＳＥＴ‐ＰＺＰＯＩＮＴコマンドを送信し、パワーズームレンズ５１から、ＳＥＴ‐ＰＺＰＯＩＮＴコマンドで指定した像倍率メモリ時の焦点距離（ＦＯＣＡＬＬＥＮ‐Ｘデータ）を入力する（Ｓ１８３５、Ｓ１８３７）。さらに、レンズＲＡＭ６１ｂにメモリされている像倍率メモリ時の焦点距離データを指定してＳＥＴ‐ＡＦＰＯＩＮＴコマンドを送信し、パワーズームレンズ５１から像倍率メモリ時のＡＦパルス数（ＬＥＮＳ‐ＡＦＰＵＬＳＥデータ）を入力する（Ｓ１８３９、Ｓ１８４１）。そして、入力したデータに基づいて像倍率（ｘ0ｆ0）を演算する（Ｓ１８４３）。さらに、現在のＡＦパルス値を指定してＳＥＴ‐ＡＦＰＯＩＮＴコマンドを送信し、その指定に基づいてパワーズムレンズ５１から現在のＡＦパルス数（ＬＥＮＳ‐ＡＦＰＵＬＳＥデータ）を入力する（Ｓ１８４５、Ｓ１８４７）。
【０２８３】
次に、合焦しているかどうかをチェックし、合焦していれば現ＡＦパルス数ｘを利用した式4)により焦点距離を求め、合焦していなければ、被写体が動体かどうかをチェックし、動体である場合には、合焦時の場合と同様に現在のＡＦパルスに基づいて焦点距離を演算し、動体でない場合は、現ＡＦパルス数ｘおよびデフォーカスパルスΔｘを利用した式5)により目標焦点距離を求める（Ｓ１８４９〜Ｓ１８５３）。そして、算出した目標焦点距離までパワーズームさせるコマンドおよび焦点距離データ（ＭＯＶＥ‐ＰＺＦコマンド）を送信してからリターンする（Ｓ１８５５）。
【０２８４】
このＭＯＶＥ‐ＰＺＦコマンドを受信したレンズＣＰＵ６１は、上記カメラボディ１１から送られてきた目標焦点距離へズーミングレンズ５３Ｆを駆動する。
【０２８５】
なお、上記例において、目標焦点距離の演算方式を撮影レンズの合焦状態により変更する構成となっているが、勿論、他の条件、例えば、動体予測ＡＦであるか否かに基づいて変更する構成としてもよい。この場合、Ｓ１８５３の前に、「被写体が動体か？」の判断処理を付加し、動体である場合は、Ｓ１８５１により目標焦点距離を現在のレンズ繰出し量によって算出し、動体でない場合は、Ｓ１８５３により焦点距離を算出する構成とすればよい。ここで、動体予測ＡＦ時にデフォーカス量を用いずに目標焦点距離を演算する理由は、レンズ駆動の高速化および安定化を図るためである。
『ＩＳＺ‐ＤＲＩＶＥ３』
図６８および図６９に示した像倍率一定ズーム処理は、ボディ１１側で制御する像倍率一定ズームの変形であって、一度合焦してから像倍率一定ズームを行なっても、ズーミング終了時に合焦状態から外れる可能性があるので、像倍率一定ズーム後に再度ＡＦ処理及び像倍率一定ズームを行なう、第３例である。また、この実施例は、併せて、動体予測ＡＦ時に動体移動スピードに応じて像倍率一定ズームのスピードを変えて駆動する方法も示している。
【０２８６】
フォーカシングレンズ群５３Ｆが無限遠位置にあれば、ＡＦ‐ＩＮＩＴＰＯＳコマンドをパワーズームレンズ５１に送信し（Ｓ１９０１、Ｓ１９０３）、至近距離位置にあれば、ＰＺ‐ＢＳＴＡＴＥコマンドでカメラボディ１１側のパワーズームモードに関するＰＺボディステートデータをパワーズームレンズ５１に送信する（Ｓ１９０１、Ｓ１９０５、Ｓ１９０７）。
【０２８７】
パワーズームウエイトのとき、またはプレディクタ演算結果が無効のときにはなにもせずにリターンする（Ｓ１９０９、Ｓ１９１１）。
【０２８８】
パワーズームウエイトでなく、かつプレディクタ演算結果が有効のときには被写体が動体であるかどうかをチェックする（Ｓ１９０９〜Ｓ１９１３）。動体であり、かつ像倍率一定ズーム中フラグが下りているとき（像倍率一定ズーム駆動中でないとき）には（１９１３、Ｓ１９６１）ボディのバッテリ要求フラグをセット（F_BBATREQ＝１）してバッテリの供給を行ない、像倍率一定ズーム中フラグをセット（F_ISZON＝１）する（Ｓ１９６１〜Ｓ１９６７）。そして、動体移動スピード（像面移動スピード）に応じたパワーズームスピードをセットし、セットしたパワーズームのスピードデータ（ＩＳＳＰＡ、ＩＳＳＰＢ）及び、現在位置のＡＦパルスでＩＳＺ制御を行なわせるようにフラグF_ISZDをクリアしてＢＯＤＹ‐ＳＴＡＴＥ１データ通信により送り、ＩＳＺ‐ＳＴＡＲＴコマンドを送信してパワーズームレンズ５１に像倍率一定ズームを開始させる（Ｓ１９６９〜Ｓ１９７３）。
【０２８９】
動体でなければ、合焦２回目（F_INFOCUS＝２）か、１回目（F_INFOCUS＝１）かどうかをチェックする（Ｓ１９１３、Ｓ１９１５、Ｓ１９１７）。なお、F_INFOCUSは２ビットである。合焦２回目でも１回目でもなければ、つまり最初のときには、合焦しているかどうかをチェックし、合焦していなければリターンし、合焦していれば、ボディのバッテリ要求フラグBBATREQをセットして電力供給を行ない、像倍率一定ズーム中のフラグF_ISZONを立てる（Ｓ１９１９〜Ｓ１９２５）。
【０２９０】
そして、像倍率一定ズームスタートコマンドを送信して像倍率一定ズームをスタートさせ、ＮＧタイマーをスタートさせ、像倍率一定ズームの終了チェックを行ない、終了したら合焦１回目フラグをセットし、像倍率一定ズーム終了フラグF_IPZENDをクリアして１回目の処理を終了する（Ｓ１９３５〜Ｓ１９４０）。
【０２９１】
次にこの処理に入ったときには、合焦１回目フラグ立っているので、Ｓ１９１７からＳ１９４１に入り、合焦しているかどうかをチェックする。合焦していなければリターンし、合焦するまで以上の処理を繰り返す。合焦していれば、ＮＧタイマーをスタートさせ、像倍率一定ズームスタートコマンドを撮影レンズに送信して撮影レンズに像倍率一定ズームをスタートさせ、合焦２回目フラグをセットしてリターンする（Ｓ１９４３〜Ｓ１９４７）。
【０２９２】
Ｓ１９４７の処理を終了してからこのＩＳＺ‐ＤＲＩＶＥ３処理に入ったときには合焦２回目フラグが立っているので、Ｓ１９１５からＳ１９５１に入り、像倍率一定（制御）ズームの終了チェックを行なう。制御ズームが終了していなければリターンし、終了していれば制御ズーム終了フラグF_IPZENDをクリアし、像倍率一定ズームストップフラグF_ISZSTOPを立て、像倍率一定ズーム終了処理を行なってからリターンする（Ｓ１９５３〜Ｓ１９５７）。
『ＡＦＰ‐ＣＮＴ処理』
図７０に示したＡＦＰ‐ＣＮＴ処理は、パワーズームレンズ５１におけるＡＦパルスカウント処理である。レンズＣＰＵ６１は、ＡＦパルサー５９が出力するＡＦパルスをハード的にカウントするＡＦパルスカウンタを備えている。このＡＦＰ‐ＣＮＴ処理には、２msタイマ割り込みにより２ms間隔で入る。なお、本処理は、図９に示した２msタイマ割込みルーチンのＳ３０３処理の詳細である。
【０２９３】
ＡＦＰ‐ＣＮＴ処理では先ず、ＡＦパルスハードカウンタのカウント値をＡＦパルスカウント値メモリ（レンズＲＡＭ６１ｂのアドレスＡＦＰＣＮＴＬ，Ｈ）にメモリする（Ｓ２００１）。そして、ＰＺ‐ＢＳＴＡＴＥコマンドにより入力したオートフォーカス制御に関するデータ（レンズＲＡＭ６１ｂの所定アドレスＰＺ＿ＢＤＳＴのbit３からbit０のデータ）を参照し、ＡＦモータ３９がニアムーブ中であり、かつニア端に達していないときには、ＡＦパルスカウントスタート値（ＡＦＰＳＴＲＴＬ，Ｈ）にＡＦパルスカウント値を加算し、これを現在のＡＦパルス値メモリ（レンズＲＡＭ６１ｂのＡＦＰＸＬ，Ｈ）にメモリしてこのルーチンを抜けるが、ニア端に達していたときにはそのまま終了する（Ｓ２００２〜Ｓ２００７）。
【０２９４】
ＡＦモータ３９がファームーブ中であるがファー端に達していないときには、ＡＦパルスカウントスタート値からＡＦパルスカウント値を減算して現在のＡＦパルス値メモリ（ＡＦＰＸＬ，Ｈ）にメモリしてＡＦＰ‐ＣＮＴ処理を抜け、ファー端に達していたときにはそのままＡＦＰ‐ＣＮＴ処理を抜ける（Ｓ２００９〜Ｓ２０１３）。また、ニアムーブでもファームーブでもないときはＡＦモータ３９が回転していないので、なにもしないでＡＦＰ‐ＣＮＴ処理を終了する（Ｓ２００２、Ｓ２００９）。
『ＡＦＰ‐ＡＤＪ処理』
図７１に示したＡＦＰ‐ＡＤＪフローチャートは、バックラッシュ等の影響による現在のＡＦパルス値を補正する、パワーズームレンズ５１側の処理である。本実施例では、ファー端におけるＡＦパルス値を０とし、ニア端のＡＦパルス値を最大値に設定してある。そして、距離コード板８１の指標８３をブラシ８５が通る毎に、その指標８３位置における絶対値コードに基づく絶対ＡＦパルス数（基準ＡＦパルス数）に基づいて、現在のＡＦパルスカウント値を補正する構成である。本処理は、図９に示される２msタイマ割込みルーチンのＳ３０７の詳細である。
【０２９５】
ＡＦＰ‐ＡＤＪ処理に入ると、まず、指標８３にブラシ８５が接触したかどうかをチェックし、接触していなければそのまま処理を終了する（Ｓ２０２１）。接触していても、前回の処理のときも接触していればそのままリターンする（Ｓ２０２１、Ｓ２０２３）。つまり、指標８３とブラシ８５とが接触した時点（指標８３のエッジ）を検出する。
【０２９６】
指標８３とブラシ８５とが接触すると、ＡＦモータ３９がファームーブのときに接触した場合には、その指標８３のニア端位置に対応する、ＡＦパルスＦＡＲテーブルデータ（指標８３のＮＥＡＲ端側エッジのデータ）を読み込んでアドレスＡＦＰＣＤＬ，Ｈにメモリし、ニアムーブで接触したときには、その指標８３のファー端位置に対応するＡＦパルスＮＥＡＲテーブルデータ（指標８３のＦＡＲ端側のエッジのデータ）を読み込んで、アドレスＡＦＰＣＤＬ，Ｈにメモリする（Ｓ２０２５〜Ｓ２０３３）。ＦＡＲテーブルとＮＥＡＲテーブルの２種類のテーブルを備えているのは、指標８３に幅があるので、接触方向によりその幅分接触時の絶対位置が異なるからである。また、ＡＦモータ３９が停止しているときには、そのままこの処理から抜ける（Ｓ２０２７、Ｓ２０３１）。なお、Ｓ２０２５のフラグF_AFPADJはテスト用で、通常はクリアされている。
【０２９７】
次に、現在のＡＦパルス値が分かっているとき（フラグF_AFPOSが立っているとき）には、テーブルデータ（ＡＦＰＣＤＬ，Ｈ）から現在のＡＦパルスカウント値（ＡＦＰＸＬ，Ｈのデータ）を減算し、その減算値（差）をＡＦパルス誤差メモリ（ＡＦＰＤＩＦＸＬ，Ｈ）にメモリする（Ｓ２０３５、Ｓ２０３７）。ここで、その誤差がマイナスのとき（ボローがあるとき）には、上記誤差の絶対値をＡＦパルス現在値メモリにメモリする（Ｓ２０３９、Ｓ２０４１）。
【０２９８】
そして、上記差が所定の許容誤差（N_AFPDIF)よりも大きいかどうかをチェックして、小さい場合にはそのまま処理を終了するが、大きい場合には補正、つまり現在のＡＦパルス値メモリ（ＡＦＰＸＬ，Ｈ）およびＡＦパルスカウントスタート値メモリ（ＡＦＰＳＴＲＴＬ，Ｈ）にテーブルデータ（ＡＦＰＣＤＬ，Ｈ）を入れる（Ｓ２０４３、Ｓ２０４５）。一方、ＡＦパルス現在値が分かっていないときには、無条件で上記Ｓ２０４５の補正処理を実行する（Ｓ２０３５、Ｓ２０４５）。
【０２９９】
そして、ＡＦパルスハードカウンタをクリアしてスタートさせ、ＡＦパルスカウントスタート値（ＡＦＰＣＮＴＬ，Ｈ）をクリアし、現在のＡＦパルス値がわかっていることを示すフラグF_AFPOSを立てて終了する（Ｓ２０４７、Ｓ２０４９）。
『ＬＭＴ‐ＤＴＣ処理』
図７２に示したＬＭＴ‐ＤＴＣフローチャートは、ズーミングレンズ群５３Ｚが端点に達したこと、あるいは何らかの事情で移動できなくなったこと（擬似端点と称す）を検出する、パワーズームレンズ５１側の処理である。本実施例では、ＰＺモータ６５駆動中にＰＺパルスが所定時間内に出力されたかどうかをチェックして検出している。さらに所定時間は、ＰＺモータの駆動速度（ズーミング速度）に応じて変更している。また、ＰＺモータの起動時（停止状態またはブレーキ状態から駆動状態へ移った時）から一定時間は起動トルクが大きくなるため、端点の検出は行なわない。本処理は、図１０に示される２msタイマ割込みルーチンのＳ３５１の詳細である。
【０３００】
まず、ＰＺモータ駆動中であるかどうかをチェックし、駆動中でなければ、リミット（端点または擬似端点）に達したことを検出するためのリミットカウンタＴ＿ＬＭＴをクリアして抜ける（Ｓ２０６１、Ｓ２０７１）。なお、ＰＷＭタイマT_PWMは、ＰＺパルスが出力されて図１２に示されるＰＺパルスカウント割込み処理に入ったときにクリアされる。
【０３０１】
ＰＺ駆動中のときには、起動時からの時間を計測するカウンタＴ＿ＳＴＡＲＴが０になったかどうか（所定時間が経過したかどうか）をチェックし、０でなければカウンタＴ＿ＳＴＡＲＴを１デクリメントとし、リミットカウンタＴ＿ＬＭＴをクリアして抜ける（Ｓ２０６１、Ｓ２０６３、Ｓ２０６９、Ｓ２０７１）。この処理には２msごとに入るので、２msごとにカウンタＴ＿ＳＴＡＲＴがデクリメントとされる。カウンタＴ＿ＳＴＡＲＴの値はズームモータを起動するときに所定の値に設定されるが、起動してから一定期間は端点検出を行なわない。
【０３０２】
カウンタＴ＿ＳＴＡＲＴが０になると、モータ起動後一定期間経過したことになるのでＳ２０６５以降の端点検出の処理へ進む。
【０３０３】
ＰＷＭのデューティ比Ｔ＿ＰＷＭＢＲＫが、ＰＷＭデューティ比の最大限界値Ｎ＿ＰＷＭＭＡＸ以上になった場合、端点検出用のカウンタＴ＿ＬＭＴを１インクリメントしてＳ２０７３に進み、そうでない場合はそのままＳ２０７３に抜ける（Ｓ２０６５、Ｓ２０６７）。また、モータがＤＣ駆動（最高速駆動）のときには、デューティー比Ｔ＿ＰＷＭＢＲＫとして最大限界値Ｎ＿ＰＷＭＭＡＸの値が設定されるので、ＤＣ駆動時は、リミットカウンタＴ＿ＬＭＴがインクリメントされる（Ｓ２０６５、Ｓ２０６７）。
【０３０４】
次に、ズームモータのＰＷＭ駆動は、次のように制御する。
【０３０５】
ＰＷＭデューティ比Ｔ＿ＰＷＭＢＲＫは通常、最大限界値Ｎ＿ＰＷＭＭＡＸより小さい値が設定されている。したがって、カウンタＴ＿ＬＭＴをインクリメントせず、そのまま抜ける（Ｓ２０６５、Ｓ２０７３）。しかし、ＰＺパルスが一定期間出力されないときには、２msタイマールーチンによりデューティ比Ｔ＿ＰＷＭＢＲＫが徐々に大きく変更されるので、所定時間経過後に最大限界値Ｎ＿ＰＷＭＭＡＸと同じ値（ほぼＤＣ駆動）となり、カウンタＴ＿ＬＭＴが１インクリメントされるようになる。
【０３０６】
ここで、ＰＷＭで低速駆動の場合は、ＰＷＭデューティー比Ｔ＿ＰＷＭＢＲＫの値が最初は小さいので、端点あるいは疑似端点に達したときに、カウンタＴ＿ＬＭＴがインクリメントされるまでの時間が長い。
【０３０７】
ＰＷＭで高速駆動の場合は、ＰＷＭデューティー比Ｔ＿ＰＷＭＢＲＫの値が大きいので、端点あるいは疑似端点に達したときに、カウンタＴ＿ＬＭＴがインクリメントされるまでの時間が、ＰＷＭ低速時よりも短い。
【０３０８】
上記の処理により、ズームモータの駆動速度により端点検出時間が可変になる（２０６３〜Ｓ２０６７）。なお、カウンタＴ＿ＬＭＴが所定値（Ｎ＿ＬＭＴ）未満のときには所定の端点検出時間を経過していないので、そのままこのサブルーチンを抜ける（Ｓ２０７３）。
【０３０９】
カウンタＴ＿ＬＭＴが所定値Ｎ＿ＬＭＴ以上になると、端点または擬似端点とみなす。テレ方向駆動のときには、ズームコードがテレ端値のときにはテレ端フラグF_TENDを立て、テレ端でないときには何らかの異常で停止したので疑似テレ端フラグF_LMTTを立てる（Ｓ２０７５〜Ｓ２０８１）。ワイド方向駆動のときには、ズームコードがワイド端値のときにはワイド端フラグF_WENDを立て、テレ端でないときには何らかの異常で停止したので疑似ワイド端フラグＦ＿ＬＭＴＷを立てる（Ｓ２０７５、Ｓ２０８３〜Ｓ２０８７）。
『ＳＥＴ‐ＳＥＴ処理』
図７３〜図８１に示したＳＥＴ‐ＳＥＴフローチャートは、ズームモータの駆動の回転方向およびスピード、停止、ブレーキを制御するステータス（スピード制御ビット）等を設定する、パワーズームレンズ５１側の処理である。本処理は、図１０に示される２ms割込みルーチンのＳ３５３の詳細である。なお、ここのＳＥＴ‐ＳＥＴ処理には、図７３〜図８１に示したＭＯＶ処理、ＩＮＩＴ３割込み処理、ＮＯ‐ＭＯＶＥ、ＭＯＶ１処理、ＢＲＫ１、２処理、ＳＴＰ１処理、ＭＯＶ‐ＴＲＧ処理、ＤＲＶ‐ＴＲＧ８処理が含まれる。
【０３１０】
先ず、電力要求フラグF_BATREQをセットし、ズームスピード切替スイッチ７５の位置を所定のコード（方向及びスピードを示すコード）に変換して変換値メモリＴＲＮＳＳＰＤに入れる（Ｓ２１０１、Ｓ２１０３）。
【０３１１】
指定位置への駆動（Ｆ＿ＭＯＶＴＡＲＧ＝１）であればＭＯＶ＿ＴＲＧ処理へ進み、指定方向への通常の駆動のとき（F_MOVがセットされているとき）にはＭＯＶ処理へ進む（Ｓ２１０５、Ｓ２１０７）。
【０３１２】
いずれの駆動でもなく、かつズーム操作環が中立位置（ズームスイッチ７５がオフ）にあり、かつ像倍率一定ズームモードであればＭＯＶ‐ＴＡＲＧ処理へ進み、像倍率一定ズームモードでなければＮＯ‐ＭＯＶ処理へ進む（Ｓ２１０９、Ｓ２１１５）。ズーム操作環が中立位置にないときには、マニュアルパワーズーム停止ビットがセット（F_MPZD＝１）されているときにはＮＯ‐ＭＯＶ処理へ進み、そうでないときにはマニュアルパワーズームなので、ズームスイッチの状態を変換したズームスピードデータをアドレスＳＰＤＤＲＣ１にメモリして、ＭＯＶ処理に進む（Ｓ２１０９、Ｓ２１１１、Ｓ２１１３）。
【０３１３】
以上の処理において、ボディがレリーズ処理に入ったとき等に、通信コマンドＢＯＤＹ‐ＡＴＡＴＥ１（２２）にてフラグF_MPZDがセットされるので、レリーズ中のマニュアルパワーズーム動作を停止できる。また、パワーズームをストップさせる通信コマンドＩＰＺ‐ＳＴＯＰ（３５）が送られてくれば、各フラグF_MOVTRG、F_MOV、F_ISZ等がクリアされるので、マニュアルパワーズーム以外のパワーズーム動作も停止させることができる。
『ＭＯＶ処理』
次に、パワーズームモータの制御について、図７４〜図７６に示したＭＯＶフローチャートを参照して説明する。この制御は、マニュアルズーム及び指定方向へのパワーズーム制御（フラグF_MOVがセットされているとき）に関するボディパワーレンズ５１における処理である。
【０３１４】
先ず、テレ方向駆動（F_TELE1＝１）かどうか（駆動方向メモリＳＰＤＤＲＣ１のｂｉｔ０）をチェックする（Ｓ２２０１）。
【０３１５】
駆動方向がテレ方向であり、かつテレ端または疑似テレ端に達したときにはＮＯ‐ＭＯＶ処理に進む（Ｓ２２０１〜Ｓ２２０５）。初めての駆動（起動）のときには、初期設定のための処理Ｓ２２３３に進む（Ｓ２２０７）。そして、ズームモータ制御用メモリＺＭ＿ＢＤＳＴにセットされた前回のズームモータ制御に関するデータを参照し、前回も駆動していたが、前回と駆動方向（ズームモータの回転方向）が変わるとき（F_DRCW＝１）、またはボディ１１からの電力供給がオフされたときにはブレーキ処理（ＢＲＫ１）に進む（Ｓ２２０７〜Ｓ２２１１）。前回も同一方向駆動であり、かつ電力が供給されているときにはＳ２２４９のスピード設定処理に進む（Ｓ２２０７〜Ｓ２２１１）。
【０３１６】
駆動方向がテレ方向でなく、ワイド端または疑似ワイド端に達していたとき（F_WEND＝１またはF_LMTW＝１）にはＮＯ‐ＭＯＶ処理に進む（Ｓ２２０１、Ｓ２２２３、Ｓ２２２５）。ワイド端または疑似ワイド端に達していないが起動のときには、初期設定のための処理Ｓ２２３３に進み、前回も駆動していたが、前回と駆動方向が変わるとき、またはボディからの電力供給がオフされたときにはブレーキ処理（ＢＲＫ１）に進み、前回も同一方向駆動であり、かつ電力が供給されているときにはＳ２２４９のスピード設定処理に進む（Ｓ２２２５〜Ｓ２２３１）。
【０３１７】
起動時の初期設定処理は、電力が供給されていることを条件に実行し、電力が供給されていなければ停止処理（ＮＯ‐ＭＯＶ１）へ進む（Ｓ２２３３）。
【０３１８】
電力が供給されているときには、ブレーキフラグF_BRKがセットされているとき（モータがブレーキ中のとき）にはブレーキカウンタＴ＿ＢＲＫを１インクリメントして、ブレーキカウンタＴ＿ＢＲＫが所定値（Ｎ＿ＢＲＫＲＥＶ）以下の場合はブレーキ処理のためにブレーキ２（ＢＲＫ２）処理に進む（Ｓ２２３５〜Ｓ２２３９）。
【０３１９】
ブレーキフラグF_BRKがクリアされているか、セットされていてもブレーキタイマＴ＿ＢＲＫが所定値よりも大きいときにはブレーキ終了なので、スタートフラグF_STARTをセットし、リミットタイマＴ＿ＬＭＴおよびＰＷＭタイマＴ＿ＰＷＭをクリアし、起動時に一定期間端点検出をしないようにするためのカウンタの設定およびＰＷＭデューティー比の初期値（最小値）セットを行なう（Ｓ２２３５〜Ｓ２２４１）。つまり、スタートフラグF_STARTをセットし、端点検出カウンタＴ＿ＬＭＴおよびＰＷＭカウンタＴ＿ＰＷＭをクリアし、スタートカウンタＴ＿ＳＴＡＲＴに初期値を入れ、ＰＷＭのデューティー比Ｔ＿ＰＷＭＢＲＫに最小値を入れる。ＰＷＭデューティー比Ｔ＿ＰＷＭＢＲＫに最小値をセットすることにより、ＰＷＭ時には最低速で起動されることになる。
【０３２０】
設定が終了すると、ＰＺパルサー６９のＬＥＤをオンしてＰＺパルスカウント準備を行ない、ＰＺパルスカウント割込み（ＩＮＴ３）が許可されていなければこれを許可してスピード設定処理（Ｓ２２４９）に進む（Ｓ２２４３〜Ｓ２２４７）。
【０３２１】
スピード設定処理では、設定されたスピードに応じてＰＺパルス間隔（Ｔ＿ＰＷＭＰＬＳの値）を設定する。本実施例では、設定したＰＺパルス周期でＰＺパルスが出力されるようにＰＷＭにおける通電時間を制御する構成であり、４速の設定が可能であるが、これに限定されない。なお、スピードの指定は、ＳＰＤＤＲＣ１のｂｉｔ２、３（Ｆ＿ＳＰＤＡ１、Ｆ＿ＳＰＤＢ１）の２ｂｉｔで指定される。４速については、ＰＷＭ制御ではなくＤＣ制御のため、ＰＺパルス間隔は設定しないで、端点検出用（図７２のＳ２０６５）にＰＷＭデューティー比Ｔ＿ＰＷＭＢＲＫに最大値をセットする。
【０３２２】
スピード設定が終了したら、そのスピードおよびその方向（ＳＰＤＤＲＣ１）をズーム制御用メモリ（ＺＭ＿ＳＴ１）に入れ、ドライブフラグF_DRVをセットし、ブレーキフラグF_BRKをクリアする（Ｓ２２５１）。なお、これらのフラグは、ＺＭ＿ＳＴ１のbit３〜０（フラグSPDB1、SPDA1、WIDE1、TELE1）にそれぞれ対応してセット、クリアされる。
【０３２３】
さらに、テレ端、ワイド端疑似フラグF_LIMTT、F_LIMTWをクリアし、駆動方向フラグF_TMOV、F_WMOV、F_TELE1、F_WIDE1をセットし、テレ端、ワイド端フラグF_TEND、F_WENDをクリアする（Ｓ２２５３〜Ｓ２２５７）。なお、フラグF_TMOV、F_WMOV、F_TENDおよびF_WENDは、ＰＺ‐ＬＳＴデータのフラグであり、フラグF_TMOV、F_WMOVは、ＳＰＤＤＲＣ１のフラグF_TELE1、F_WIDE1とそれぞれ対応してセット、クリアされる。なお、フラグF_TMOV、F_WMOVは、ずれか一方がセット（＝１）されているときには他方はクリア（＝０）される。
【０３２４】
そして、像倍率一定ズーム中であれば像倍率一定ズーム中に割込んでマニュアルパワーズームとなったので、レンズのＰＺ状態に関するメモリデータ（ＰＺ＿ＬＳＴ）に所定の上記フラグF_TMOV、F_WMOV、F_TENDおよびF_WENDなどをセットして終了する（Ｓ２２５９、Ｓ２２６７）。像倍率一定ズーム中でない場合で、ズームスイッチ操作によるパワーズーム（マニュアルパワーズーム）であれば、マニュアルパワーズームに関するフラグF_MPZを含むデータをズーム状態データ（ＰＺ‐ＬＳＴ）に入れ、制御パワーズーム（指定方向へのズーム）であれば、制御パワーズームに関するフラグF_IPZBを含むデータをズーム状態データ（ＰＺ‐ＬＳＴ）に入れてＳＥＴ‐ＳＴ処理を終了する（Ｓ２２６１〜Ｓ２２６５）。なお、ＰＺ＿ＬＳＴデータの内容は、コマンドＰＺ‐ＬＳＴＡＴＥ（１０）に関する通信でカメラボディ１１に送られる。
『ＩＮＴ３割込み許可』
図７７は、ＰＺパルスカウントのための割込み許可処理である。本実施例では、ＰＺパルスは、２msタイマー割込みによりソフト的にカウントしている。そこでこの処理では、ＰＺパルスによるカウンタ割込みを可能にすべく、ＩＮＩＴ割込み許可ビットをセットする。なお本処理は、図７５のＳ２２４７及び図８３のＳ２４５７の詳細である。
『ＮＯ‐ＭＯＶ、ＮＯ‐ＭＯＶ１処理』
図７８に示したＮＯ‐ＭＯＶ、ＮＯ‐ＭＯＶ１処理は、パワーズームを停止またはブレーキに移行させるための処理である。パワーズーム駆動中（フラグF_DRVがセットされているとき）に入ると、ＢＲＫ１処理に進み、パワーズーム駆動中でなく、ブレーキ中でないとき（フラグF_BRKがクリア）には停止処理（ＳＴＰ１）に進み、ブレーキ中のときにはブレーキカウンタをインクリメントし、その値が所定値（Ｎ＿ＢＲＫ）以上になればストップ処理（ＳＴＰ１）を行ない、所定値より小さいときにはブレーキ処理を継続するためにブレーキ２（ＢＲＫ２）処理に進む（Ｓ２３０１〜Ｓ２３０７）。なお、ＮＯ‐ＭＯＶ１処理にはパワーズーム駆動中でないときに入るので、Ｓ２３０１を飛ばしてＳ２３０３から入る。
『ＢＲＫ１、２処理』
図７９のブレーキ処理（ＢＲＫ１）では、ブレーキタイマＴ＿ＢＲＫをクリアし、テレ方向フラグF_DRCT、ワイド方向フラグF_DRCW、スピード１フラグF_SPD0、スピード２フラグF_SPD1および駆動フラグF_DRVをクリアし、ブレーキフラグF_BRKをセットする（Ｓ２３１１、Ｓ２３１３）。ＢＲＫ２には２回目以降に入るので、Ｓ２３１３の処理のみを行なう。以上の処理を行なった後ＳＥＴ‐ＳＴ処理を終了する。
『ＳＴＰ１処理』
図８０に示したＳＴＰ１フローチャートは、パワーズームを停止させるための設定を行なう処理である。
【０３２５】
先ず、ＰＺパルスカウント割込みを禁止し、ＰＺパルサー６９のＬＥＤをオフする（Ｓ２３２１、Ｓ２３２３）。
【０３２６】
ズームスイッチ７５が中立位置にあるときにはＺＭ＿ＳＴ１データをクリア（フラグをすべてクリア）して、バッテリ要求を解除してＳ２３４９に進む（Ｓ２３２７、Ｓ２３３７、Ｓ２３４７）。なお、ズームスイッチ７５が中立に戻ったときには、擬似端点フラグ（F_LMTT、F_LMTW）をクリアするので、前回擬似端点がセットされていた方向にも再びズーミング動作を行なわせることができる。
【０３２７】
ズームスイッチ７５が中立位置でなく、テレ方向にオンしているときには、ＺＭ＿ＳＴ１データ中のフラグF_LMTT、F_LMTWはそのままにして他のフラグをすべてクリアする（Ｓ２３２９、Ｓ２３３１）。テレ端または疑似テレ端であればバッテリ要求を解除してＳ２３４９に進むが、テレ端でも疑似テレ端でもなければバッテリ要求を解除せずにＳ２３４９に進む（Ｓ２３３３、Ｓ２３３５）。ズームモータ６５がワイド方向に回転しているときには、ＺＭ＿ＳＴ１データ中のフラグF_LMTT、F_LMTWをそのままにして他のフラグをクリアする（Ｓ２３２９、Ｓ２３４１）。ワイド端または疑似ワイド端であればバッテリ要求を解除してＳ２３４９に進むが、テレ端でも疑似テレ端でもなければバッテリ要求を解除せずにＳ２３４９に進む（Ｓ２３４３、Ｓ２３４５）。
【０３２８】
Ｓ２３４９では、像倍率一定ズーム中であるかどうかをチェックし、Ｓ２３５１では像倍率一定ズーム演算終了であるかどうかをチェックする。像倍率一定ズーム中かつ演算が終了していないときには、ＰＺ＿ＬＳＴデータ中のフラグF_TEND、F_WEND、F_IPZB、F_ISZOKをそのままにして、他のフラグF_TMOV、F_WMOV、F_IPZI、F_MPZをクリアする（Ｓ２３５３）。像倍率一定ズーム中でないとき、または像倍率一定ズーム中でも演算が終了しているときは、ＰＺ＿ＬＳＴデータ中のフラグF_TEND、F_WENDをそのままにして他のフラグをクリアする（Ｓ２３５５）。なお、ＰＺ＿ＬＳＴデータの内容は、コマンドＰＺ‐ＬＳＴＡＴＥ（１０）の通信でカメラボディ１１に送られる。
【０３２９】
なお、フラグF_PZDRCは、ＺＭ＿ＳＴ１データにおけるフラグF_DRCW、F_DRCTと同一の機能を有するものであり、F_PZDRC＝１のときは、ワイド方向駆動を意味する。
【０３３０】
そして、ＺＭ‐ＳＴ２に、ＺＭ‐ＳＴ２のデータと所定のデータとの論理和をストアして、スタートフラグF_START、像倍率一定ズームフラグF_ISZ、指定方向駆動フラグF_MOVTARG、指定位置駆動フラグF_MOVPLS、F_MOVZC等をクリアしてＳＥＴ‐ＳＴ処理を終了する（Ｓ２３５７）。つまり、ＺＭ‐ＳＴ２データ中のフラグF_PZPOS、F_PZPDRCをそのままにして他のフラグをクリアする。
『ＭＯＶ‐ＴＲＧ』
図８２に示したフローチャートは、指定した位置までズーミングレンズを駆動するＭＯＶ‐ＴＲＧ処理である。プリセットズームモードにおいてズームモード切替えスイッチ７７がオンされたときは、プリセットズームセットモードにおいてメモリした焦点距離までズーミングレンズ群を移動させる。
【０３３１】
先ず、目標ＰＺパルス数が現在のＰＺパルスよりも大きいかどうかをチェックする（Ｓ２４０１）。大きければテレ方向駆動であり、小さければワイド方向駆動である。
【０３３２】
テレ方向駆動のときには、目標パルス数（ＰＺＰＴＲＧＴ）を現在のパルス数（ＰＺＰＸ）から減算してその差を駆動パルス数としてメモリ（ＰＺＰＤＩＦ）する（Ｓ２４０３）。目標パルス数と現在のパルス数とが等しければ駆動する必要がないのでＮＯ‐ＭＯＶ処理に進む（Ｓ２４０５）。等しくなければ、モータ駆動方向をテレ方向に仮セットし、テレ端か疑似テレ端であればＮＯ‐ＭＯＶ処理に進む（Ｓ２４０７〜Ｓ２４１１）。テレ端でも疑似テレ端でもなく、駆動中での場合には、ワイド方向フラグF_DRCWが立っているか、バッテリがオフであればＢＲＫ１処理に進む（Ｓ２４１３〜Ｓ２４１７）。同方向駆動であり、かつバッテリが供給されているときにはＤＲＶ‐ＴＲＧ８処理に進む（Ｓ２４１３〜Ｓ２４１７）。駆動中でない場合はＳ２４４１へ進む。
【０３３３】
ワイド方向のときには、目標パルス数（ＰＺＰＴＲＧＲ）を現在のパルス数（ＰＺＰＸ）から減算してその差を駆動パルス数としてメモリ（ＰＺＰＤＩＦ）する（Ｓ２４２３）。そして、ズームモータ駆動方向をワイド方向に仮セットし、ワイド端か疑似ワイド端であればＮＯ‐ＭＯＶ処理に進む（Ｓ２４２７〜Ｓ２４３１）。
【０３３４】
ワイド端でも疑似ワイド端でもなく、駆動中での場合には、テレ方向フラグF_DRCTが立っているか、バッテリがオフであればＢＲＫ１処理に進む（Ｓ２４３３〜Ｓ２４３７）。同方向駆動であり、かつバッテリが供給されているときにはＤＲＶ‐ＴＲＧ８処理に進む（Ｓ２４３３〜Ｓ２４３７）。駆動中でない場合は２４４１へ進む。
【０３３５】
本制御方法では、目標のＰＺパルスと現在のＰＺパルスが等しくなったときに駆動からブレーキ処理に移るので、パルスの行き過ぎがあり得る。しかし、１パルスの行き過ぎはほとんど問題にならないので、誤差パルスＰＺＰＤＩＦが１のとき、または誤差パルスＰＺＰＤＩＦが１でなくても電力がオフされているときにはＮＯ‐ＭＯＶ１処理に進む（Ｓ２４４１〜Ｓ２４４３）。
【０３３６】
誤差パルスＰＺＰＤＩＦが１でなくかつ電力が供給されている場合には、ブレーキフラグF_BRKがセットされていればブレーキカウンタＴ＿ＢＲＫを１インクリメントし、ブレーキカウンタＴ＿ＢＲＫが所定値よりも小さいときにはブレーキ処理（ＢＲＫ２）に進む（Ｓ２４４３〜Ｓ２４４９）。
【０３３７】
ブレーキフラグF_BRKがクリアされているか、セットされていてもブレーキカウンタＴ＿ＢＲＫが所定値よりも大きいときにはブレーキ処理終了なので、起動フラグF_STARTをセットし、リミットタイマおよびＰＷＭタイマをクリアし、起動時に一定期間端点検出をしないようにするためのカウンタ設定およびＰＷＭデューティー比の初期値（最小値）セットを行なう（Ｓ２４５１）。つまり、スタートフラグF_STARTをセットし、端点検出カウンタＴ＿ＬＭＴおよびＰＷＭカウンタＴ＿ＰＷＭをクリアし、スタートカウンタＴ＿ＳＴＡＲＴに初期値を入れ、ＰＷＭデューティー比Ｔ＿ＰＷＭＢＲＫに最小値を入れる。
【０３３８】
設定が終了すると、ＰＺパルサー６９のＬＥＤをオンしてＰＺパルスカウント準備を行ない、ＰＺパルス割込みが許可されていなければこれを許可してからＤＲＶ‐ＴＲＧ８処理に進む（Ｓ２４５３〜Ｓ２４５７）。
『ＤＲＶ‐ＴＲＧ８処理』
図８４および図８５に示したＤＲＶ‐ＴＲＧ８処理は、目標焦点距離までの駆動ＰＺパルス数に応じてズームスピードを制御する処理であり、目標位置までのパルス数（ＰＺＰＤＩＦ）に応じて段階的に速度を変更している。本実施例では、目標までの駆動パルス数が第３パルス数以上であれば最高速の第４速で駆動（ＤＣ駆動）し、第３パルス数未満第２パルス以上であれば第３速で駆動し、第２パルス数未満第１パルス以上であれば第２速で駆動し、第１パルス数未満であれば第１速で駆動する。なお、第４速＞第３速＞第２速＞第１速、および、第３パルス数＞第２パルス数＞第１パルス数とする。また、本実施例では４速可変としてあるが、可変速度の段数はこれ以上でも以下でもよく、また無段階に近い程度に段階を多くしてもよい。
【０３３９】
先ず、設定されたズームスピードに応じて、スピード選択処理に進む（Ｓ２５０１）。つまり、第１速が設定されているときにはＳ２５０３に進み、第２速が設定されているときにはＳ２５１１に進み、第３速が設定されているときにはＳ２５２１に進み、第４速が選択されているときにはＳ２５４１に進む。なお、スピードの選択は、ＳＰＤＤＲＣ２のｂｉｔ２、３（Ｆ＿ＳＰＤＡ２、Ｆ＿ＳＰＤＢ２）の値に基づいて行なう。ＳＰＤＤＲＣ２は、目標位置が設定されている場合に利用され、ズームレンズ駆動開始時のズーム方向、およびボディＣＰＵ３５あるいはレンズＣＰＵ６１によって自動設定されるズームスピードが格納されるものである。
【０３４０】
第１速が設定されているときには、スピードおよび駆動方向（ＺＭ‐ＳＴ１の値）に変化がないかどうかをチェックし、変化があればＰＷＭブレーキタイマ（ＰＷＭデューティー比）に第１速の基準値Ｎ＿ＰＷＭＭＩ０をセットし、変化がなければなにもせずに、Ｔ‐ＰＷＭＰＬＳに第１速のＰＺパルスの周期Ｎ＿ＰＷＭＰ０をセットし、Ｒ＿ＩＮＴと所定データとの論理和をＺＭ‐ＳＴ１に入れる（スピード及び方向セット）（Ｓ２５０３〜Ｓ２５０９）。これにより、最低速が設定される。そして、ＰＺ‐ＬＳＴデータと所定データの論理積をとり、さらにこの論理積とＲ＿ＩＮＴデータとの論理和をＰＺ‐ＬＳＴデータに入れてこのＳＥＴ‐ＳＴ処理を終了する（Ｓ２５５１）。
【０３４１】
第２速が設定されているときには、目標までのパルス数（ＰＺＰＤＩＦ）が第１のパルス数以上かどうかをチェックし、小さければ、ＤＲＶＰＷＭ０（１速のＳ２５０３）に進む。以上であればＳ２５１３に進み、第２速で制御するために、スピード及び方向（ＺＭ‐ＳＴ１の値）に変化がないかどうかをチェックし、変化があればＰＷＭブレーキタイマ（ＰＷＭデューティー比）に第２速の基準値Ｎ＿ＰＷＭＭＩ１をセットし、変化がなければなにもせずに、Ｔ‐ＰＷＭＰＬＳに第２速のＰＺパルスの周期Ｎ＿ＰＷＭＰ１をセットし、Ｒ＿ＩＮＴデータと所定データとの論理和をＺＭ‐ＳＴ１に入れてＳ２５５１に進む（Ｓ２５０３〜Ｓ２５０９）。以上の処理により、第２速がセットされる。
【０３４２】
第３速が設定されているときには、目標までのパルス数（ＰＺＰＤＩＦ）が第１のパルス数未満であればＳ２５０３の第１速処理（ＤＲＶＰＷＭ０）に進み、第１のパルス数以上第２のパルス数未満であれば第２速処理ＤＲＶＰＷＭ１に進む（Ｓ２５２１、Ｓ２５２３）。そして、第２のパルス以上であれば、第３速で制御するために、スピード及び方向（ＺＭ‐ＳＴ１の値）に変化がないかどうかをチェックし、変化があればＰＷＭブレーキタイマ（ＰＷＭデューティー比）に第３速の基準値Ｎ＿ＰＷＭＭＩ２をセットし、変化がなければなにもせずに、Ｔ＿ＰＷＭＰＬＳに第３速のＰＺパルスの周期Ｎ＿ＰＷＭＰ２をセットし、Ｒ＿ＩＮＴデータと所定データとの論理和をＺＭ‐ＳＴ１に入れてＳ２５５１に進む（Ｓ２５２３〜Ｓ２５３１）。以上の処理により、第３速がセットされる。
【０３４３】
第４速が設定されているときには、目標までのパルス数（ＰＺＰＤＩＦ）が第１のパルス数以上かどうかをチェックし、第１のパルス数未満であればＳ２５０３の第１速処理（ＤＲＶＰＷＭ０）に進み、第１のパルス数以上第２のパルス数未満がどうかをチェックしこの間の値であればＤＲＶＰＷＭ１（第２速処理）に進み、第２のパルス以上第３のパルス数未満であるかをチェックし、第２のパルス以上第３のパルス数未満であればＤＲＶＰＷＭ２（第３速処理）に進み、第３のパルス数以上であれば、ＰＷＭブレーキタイマ（ＰＷＭデューティー比）に最大値Ｎ＿ＰＷＭＭＡＸをセットし、ＺＭ‐ＳＴ１にＲ＿ＩＮＴデータと所定データとの論理和を入れて、Ｓ２５５１に進む（Ｓ２５４７、Ｓ２５４９）。Ｓ２５５１の処理により、第４速（ＤＣ駆動）が設定される。
『ＰＺＰ‐ＣＮＴ処理』
図８６から図９０に示したＰＺＰ‐ＣＮＴフローチャートは、ＰＺパルスカウントに関する、パワーズームレンズ５１側の処理である。本処理は、図１０の２msタイマ割込みルーチンのＳ３５５の詳細である。
【０３４４】
ズーミングレンズ群５３Ｚがワイド端にある場合に、ＰＺパルスを補正するとき（F_PZPADJ＝０のとき）には、現在のＰＺパルス値およびＰＺパルスカウントスタート値を０にリセットし、現在位置がわかっているかどうかのフラグF_PZPOSが立っていればＰＺＰ‐ＣＮＴ５処理に進み、同現在位置フラグがクリアされていればパワーズームのイニシャライズ（ＰＺ‐ＩＮＩＴ）処理に進む（Ｓ２６０１〜Ｓ２６０５、Ｓ２６１５）。補正しないときには、現在位置が分かっているとき（F_PZPOS＝１のとき）は現在位置ＯＫ（ＰＯＳ‐ＯＫ）処理に進み、現在位置が分かっていないとき（（F_PZPOS＝０のとき）には現在位置不明（ＰＯＳ‐ＮＧ）処理に進む（Ｓ２６０３、Ｓ２６０７）。
【０３４５】
ズーミングレンズがテレ端にある場合も同様に、ＰＺパルスを補正するときには、現在のＰＺパルス値およびＰＺパルスカウントスタート値を最大値（Ｎ＿ＰＺＰＭＡＸ）にセットし、現在位置がわかっているかどうかのフラグが立っていればＰＺＰ‐ＣＮＴ５処理に進み、現在位置がわかっているかどうかのフラグがクリアされていればＰＺイニシャライズ（ＰＺ‐ＩＮＩＴ）処理に進む（Ｓ２６０９、Ｓ２６１１、Ｓ２６１３）。補正しないときには、現在位置が分かっているとき（フラグが立っているとき）は現在位置ＯＫ（ＰＯＳ‐ＯＫ）処理に進み、現在位置が分かっていないときには現在位置不明（ＰＯＳ‐ＮＧ）処理に進む（Ｓ２６１１、Ｓ２６０７）。以上のように、ズーミングレンズ群５３Ｚがワイド端（F_WEND＝１）、あるいはテレ端（F_TEND＝１）にあるときは、所定の値でＰＺパルスの補正を行なう。なお、F_PZPADJはテスト用のフラグでF_PZPADJ＝１のときは補正が行なわれない。
【０３４６】
テレ端でもワイド端でもないときには、現在位置が分かってれば現在位置ＯＫ（ＰＯＳ‐ＯＫ）処理に進み、現在位置が分かっていないときには現在位置不明（ＰＯＳ‐ＮＧ）処理に進む（Ｓ２６０１、Ｓ２６１１、Ｓ２６０７）。
『ＰＯＳ‐ＮＧ、ＰＺ‐ＩＮＩＴ処理』
図８７および図８８に示したＰＯＳ‐ＮＧ、ＰＺ‐ＩＮＩＴ処理は、現在位置が不明のとき、あるいはテレ端またはワイド端に達したときの処理である。
【０３４７】
ＰＯＳ‐ＮＧ、ＰＺ‐ＩＮＩＴ処理は、ズーミングレンズの現在位置が不明の時の処理であるが、通常、現在位置が不明のとき、例えばカメラボディのメインスイッチがオンされたとき、あるいは手動ズームから電動ズームにスイッチが切り替わったときに、カメラボディよりパワーズームのイニシャライズコマンドＰＺ‐ＩＮＩＴＰＯＳ（３２）が通信により送られて来るが、この場合も実行される。
【０３４８】
本実施例では、ＰＺ‐ＩＮＩＴＰＯＳコマンドが送られてきた場合、ズーミングレンズ群５３Ｚを最低速でテレ側へ動かして、ズームコード板７１の最初の区分点７２あるいはテレ端を検出し、その位置の絶対ＰＺパルス数をテーブルデータから読出して所定のアドレス（ＰＺＰＸ、ＰＺＰＳＴＲＴ）にメモりすることにより、ズーミングレンズ群５３Ｚの現在位置を知るものである。なお、本実施例では現在位置を検出した後に、ズーミングレンズ群５３Ｚを移動前の元の位置まで戻すという動作を行っている。これはＰＺ＿ＩＮＩＴＰＯＳコマンドが送られてきたときに、あるカウンタ（ＰＺＰＡＺＢ）をクリア（０に）しておき、ズームコード板７１の最初の区分点あるいはテレ端までのＰＺパルスをカウントし、その位置より（現在位置を検出したら）そのカウント分だけ、ズーミングレンズを戻すということで実現している。このズーミングレンズを戻すための動作はＰＺ‐ＩＮＩＴ処理（特にＳ２６３７〜Ｓ２６４９）で行っている。
【０３４９】
最低速でテレ側へ動かすための動作は、ＰＺ‐ＩＮＩＴＰＯＳコマンド通信により実行される。
【０３５０】
本実施例では、現在位置検出のために一律にテレ方向に駆動させているが、これはワイド方向でも構わないし、何らかの条件により、どちらかを選択しても構わない。
【０３５１】
また、本実施例では、現在位置不明のときに、カメラボディ５１よりＰＺ＿ＩＮＩＴＰＯＳコマンドが送られてこなくも、マニュアルパワーズームを動かせば、ズームコード板の区分点あるいは端点（テレ端、ワイド端）に来た時に、自動的に、現在位置を検出する（現在位置が分かる）方式となっている。
【０３５２】
ＰＯＳ‐ＮＧ処理から入ると、スタートフラグF_STARTが立っていれば（ズームモータ起動時）現在位置およびスタートパルスカウンタに今回読み取ったズームコード板７１のコードのＰＺパルス数変換値（ＰＺパルス粗検出値）を入れて、ズームモータドライブ（ＤＲＩＶＳＴＲＴ１）処理に進む（Ｓ２６２１、Ｓ２６２３）。
【０３５３】
スタートフラグF_STARTが下りているときには、以下の処理を行なう。ズームコードが前回のものと同一であれば、切換え点に達していないので、ＰＺＰ＿ＣＮＴ処理から抜ける（Ｓ２６２３、Ｓ２６２５）。ズームコードが変わっているとき（コード板の区分点のとき）は、テレ方向（F_PZPDRC＝０）駆動であれば今回入力したズームコードのＰＺパルス変換値を現在のＰＺパルス値（ＰＺＰＸ）およびＰＺパルスカウントスタート値（ＰＺＰＳＴＲＴ）に入れ、ワイド方向（F_PZPDRC＝１）駆動であれば、前回入力したズームコードのＰＺパルス変換値を現在のＰＺパルス値（ＰＺＰＸ）およびＰＺパルスカウントスタート値（ＰＺＰＳＴＲＴ）に入れる（Ｓ２６２７〜Ｓ２６３１）。
【０３５４】
ムーブフラグ（F_MOV）がクリアされているとき（ＰＺ＿ＩＮＩＴＰＯＳコマンドが送られて来ていないとき）、またはフラグF_PZPINITが立っているときには、現在位置を認識していることを示すフラグF_PZPOSをセットしてパルスカウント（ＰＺＰ‐ＣＮＴ５）処理に進む（Ｓ２６３３、Ｓ２６３５、Ｓ２６４９）。
【０３５５】
ムーブフラグF_MOVが立っていて（ＰＺ‐ＩＮＩＴＰＯＳコマンドが送られてきたとき）、かつ現在位置フラグF_PZINITが下りているときには、現在のＰＺパルス値（コード板境界値）から、ＰＺイニシャライズ動作前の元の位置からコード板の境界位置までのＰＺパルスカウント値（ＰＺＰＡＺＢ）を減算した値を目標ＰＺパルス（ＰＺＰＴＲＧＴ）としてセットする（Ｓ２６３３、Ｓ２６３５、Ｓ２６３７）。なお、F_PZPINITはＰＺのイニシャライズの戻し動作を禁止するフラグで、テスト用に使われる。F_PZPINIT＝１で禁止である。
【０３５６】
上記減算値にボローがあるときには、何らかの誤カウントがあったので目標ＰＺパルス数を０にして駆動フラグF_MOVをクリアし、ボローがないときにはそのままでムーブフラグをクリアする（Ｓ２６３９、Ｓ２６４１）。そして、目標値ムーブフラグ（F_MOVTRG）をセットし、ＰＺスピードを第１速（最低速）にセットし、現在位置フラグをセットしてＰＺＰ‐ＣＮＴ５処理へ進む（Ｓ２６４３〜Ｓ２６４９）。なお、ＰＺ‐ＩＮＩＴ処理から来たときは、Ｓ２６３３からこの処理に入る。
『ＰＯＳ‐ＯＫ、ＤＲＶＳＴＲＴ１処理』
図８９に示したＰＯＳ‐ＯＫ処理は、現在のポジションが分かっているときのＰＺパルスカウント処理である。
【０３５７】
すでに起動しているとき（スタートフラグがクリアされているとき）にはＰＺパルス補正処理（ＰＺＰ‐ＡＤＪ処理）に進み、起動のときは、テレ方向駆動のとき（F_PZPDRC＝０）には、ＰＺパルスカウントスタート値（ＰＺＰＳＴＲＴ）とＰＺパルスカウント値（ＰＺＰＣＮＴ）とを加算してＰＺパルスカウントスタート値（ＰＺＰＡＴＲＴ）および現在のＰＺパルスカウント値（ＰＺＰＸ）に入れ、ワイド方向駆動のとき（F_PZPDRC＝１）にはＰＺパルスカウントスタート値（ＰＺＰＳＴＲＴ）からＰＺパルスカウント値（ＰＺＰＣＮＴ）を減算してＰＺパルスカウントスタート値（ＰＡＰＡＴＲＴ）および現在のＰＺパルス値（ＰＺＰＸ）に入れる（Ｓ２６５１〜Ｓ２６５７）。
【０３５８】
そして、スタートフラグF_STARTをクリアし、テレ方向ムーブ（今回動こうとする方向）のときにはパワーズーム方向フラグF_PZPDRCをクリア（テレ方向をセット）し、ワイド方向ムーブ（今回動こうとする方向）のときにはパワーズーム方向フラグF_PZPDRCをセット（ワイド方向をセット）する（Ｓ２６５９〜Ｓ２６６５）。
【０３５９】
ＤＲＩＶＳＴＡＲＴ１からきたときにはＳ２６５９に入って、スタートフラグのクリアおよび駆動方向のセット処理を行なう（Ｓ２６５９〜Ｓ２６６５）。
『ＰＺＰ‐ＡＤＪ、ＰＺＰ‐ＣＮＴ５処理』
図９０に示したＰＺＰ‐ＡＤＪ処理は、ＰＺパルスのカウント値の積算誤差を補正する処理である。
【０３６０】
先ずズームコードが前回と同じかどうかをチェックし、同じであれば補正できないのでＰＺＰ‐ＣＮＴ処理から抜け、異なれば、ＰＺＰ補正禁止フラグＦ＿ＰＺＤＡＤＪがクリアされていることを条件に補正処理を続ける。つまり、コード板７１の分割領域（境界）を越えるのを待つのである。なお、ＰＺＰ補正禁止フラグＦ＿ＰＺＤＡＤＪはテスト用で、通常はクリアされている。
【０３６１】
パワーズームの駆動方向がテレ方向であれば、今回のズームコードのパルス変換値をレジスタＸにメモリし、ワイド方向であれば前回のズームコードのパルス変換値をレジスタＸにメモリし、レジスタＸの値をアキュムレータにメモリし、この値と現在のＰＺパルス値の差の絶対値が補正限界値未満であるかどうかをチェックする（Ｓ２６７９〜Ｓ２６８３）。補正限界値以上であれば、レジスタＸの値を現在のＰＺパルス値およびＰＺパルスカウントスタート値に入れて補正を行ない、限界値未満であれば補正をしない。そして、ＰＺパルスカウント値（ＰＺＰＣＮＴ）をクリアし、現焦点距離のＰＺパルス数（ＰＺＰＸ）をテーブルデータを基に現焦点距離（mm）に変換し、ＦＣＬＸＬ，ＨにメモリしてＰＺＰ‐ＣＮＴ処理を抜ける（Ｓ２６８５〜Ｓ２６８９）。
【０３６２】
なお、ＰＺＰ‐ＣＮＴ５処理から来たときには、Ｓ２６８３に入り、ＰＺパルスカウント値をクリアし、現焦点距離のパルス数を現焦点距離（mm）に変換し、メモリしてからＰＺＰ‐ＣＮＴ処理を抜ける（Ｓ２６８５〜Ｓ２６８９）。
【０３６３】
以上のボディからのＰＺ‐ＩＮＩＴＰＯＳコマンドによりＰＺパルスイニシャライズ処理実行の指示があると（ボディメイン電源がオンされたときなど）、ズーミングレンズ群５３Ｚをテレ側にズーミングさせて、コード板７１の分割領域を越えた時に、その分割領域の境界位置から絶対位置を検出して、現在位置ＰＺパルス値（ＰＺＰＸ）およびスタート位置（ＰＺＰＳＴＲＴ）を設定することができる。また、現在位置を検出した後、元の位置へ戻すことも可能である。
【０３６４】
また、ズーミング中には、コード板７１の境界を越える度に、その境界部の絶対パルス数をテーブルから読み込んでカウント値と比較し、誤差が一定値より大きければ補正（修正）し、一定値未満であれば補正しない。
『ＩＳＺＭＥＭＯ処理』
図９１に示したＩＳＺＭＥＭＯフローチャートは、像倍率をメモリするパワーズムレンズ５１側の処理である。つまり、像倍率一定ズームモードにおいて、現在のＡＦパルス値（ＡＦＰＸ）と現在の焦点距離（ＦＣＬＸＬ，Ｈ）を、ズームスピード切り替えスイッチ７５またはセットＳＷ（ＳＬスイッチＳＷ）の操作によりメモリする処理である。本処理は、図１０の２msタイマ割込みルーチンのＳ３５９の詳細である。
【０３６５】
本実施例では、合焦を条件として、ズームリングが中立位置に戻されたとき、またはズームリングが中立位置でなくても、セットスイッチＳＬがオフされた時に、その時点のＡＦパルス値及び焦点距離がメモリされる構成である。
【０３６６】
ＩＳＺＭＥＭＯ処理では、像倍率メモリフラグF_ISMがセットされ、像倍率一定モードが選択され、かつ合焦フラグF_AFIFがセットされていることを条件に、Ｓ２７０７以降のメモリ処理に進む（Ｓ２７０１〜Ｓ２７０５）。像倍率メモリフラグF_ISMは、コマンドＰＺ‐ＢＳＴＡＴＥ（２０）によりボディから送られてきて、ＰＺ‐ＢＤＳＴにメモリされる。
【０３６７】
像倍率メモリフラグF_ISMは、通常はクリアされて送られてくるので、像倍率のメモリ（現在のＡＦパルス値及び現在の焦点距離のメモリ）は、レンズ側で勝手に行うのではなく、ボディからのコマンドＩＳＺ‐ＭＥＭＯＲＹ（３６）が送られてきた時に行われる。また、コマンドＩＳＺ‐ＭＥＭＯＲＹ（３６）が送られてくるタイミングは、定期的な通信ＰＯＦＦ‐ＳＴＡＴＥ（１１）のｂｉｔ２（ＳＬＳＷ）及びＬＥＮＳ‐ＩＮＦ１（１３）のｂｉｔ０，１（ＰＴＳＷ、ＰＷＳＷ）をボディ側が見て、レンズのセットスイッチ（ＳＬスイッチ）及びズームスピードスイッチ７５のオン／オフ状態を判断し、ズームスピードスイッチ７５が中立に戻ったときあるいは、セットスイッチＳＬがオフしたときである。
【０３６８】
また、フラグF_ISMがセットされて送られてきたときは本処理の説明のごとく、ボディからのコマンドＩＳＺ‐ＭＥＭＯＲＹによらないで、レンズ側でセットスイッチＳＬ及びズームスピードスイッチ７５のオン／オフを判断して像倍率のメモリを行う。
【０３６９】
ズームスイッチ７５が前回中立位置でなく今回中立位置に戻されたとき、そうでなくても、前回セットスイッチＳＬがオンされているが今回オフされた時に、ＡＦパルスの現在値をアドレスＩＳＺ‐ＡＦＰＬ，Ｈにメモリし、さらに現在の焦点距離をアドレスＩＳＺ‐ＦＣＬＬ，Ｈにメモリし、像倍率メモリフラグF_ISMをセットしてからＩＳＺＭＥＭＯ処理を終了する（Ｓ２７０７〜Ｓ２７１９）。
【０３７０】
つまり、合焦しかつフラグF_ISMがセットされていることを条件として、ズームスイッチ７５がテレあるいはワイド方向から中立位置に戻されたとき、またはセットスイッチＳＬがオン状態からオフされたときに、その時点の像倍率がメモリされる構成である。
『ＭＴＬ‐ＣＴＬ処理』
図９２に示したＭＴＬ‐ＣＴＬフローチャートは、ＳＥＴ‐ＳＴ処理でセットされたズームモータ制御用フラグ（ＺＭ‐ＳＴ１の各フラグ）に応じたズームモータ６５の駆動制御に関するパワーズムレンズ５１の処理である。本処理は、図１０に示した２msタイマ割込みルーチンのＳ３６３の詳細である。
【０３７１】
ドライブフラグF_DRVがクリアされ、かつブレーキフラグF_BRKがセットされているときにはズームモータ６５にブレーキをかけ、ブレーキフラグF_BRKがクリアされているときにはズームモータ６５をフリー状態にしてから、２msタイマーをスタートさせ、２msタイマー割込みを許可し、ＰＷＭ割込みを禁止して終了する（Ｓ２８０１、Ｓ２８０９〜Ｓ２８１３、Ｓ２８１７、Ｓ２８１９）。
【０３７２】
ドライブフラグF_DRVがセットされているときには、テレ方向のときにはズームモータ６５をテレ方向に起動し、ワイド方向のときにはズームモータ６５をワイド方向に起動する（Ｓ２８０１〜Ｓ２８０７）。
【０３７３】
そして、モータを第４速（ＤＣ）駆動するときには、２msタイマーをスタートさせ、２msタイマー割込みを許可し、ＰＷＭ割込みを禁止して終了する（Ｓ２８１５、Ｓ２８１７、Ｓ２８１９）。
【０３７４】
第１〜第３速のＰＷＭ駆動のときには、ＰＷＭハードタイマーを１インクリメントし、インクリメントした値がオーバーフローしたときにはＰＷＭハードタイマーに最大値（ＦＦＨ）を入れ、オーバーフローしていないときにはインクリメントした値を保持する（Ｓ２８１５、Ｓ２８２１〜Ｓ２８２５）。
【０３７５】
次に、ＰＷＭハードタイマー値（Ｔ＿ＰＷＭ）がＰＷＭのＰＺパルス周期（Ｔ＿ＰＷＭＰＬＳ）を越えたかどうか（ＰＷＭのＰＺパルス周期時間内にＰＺパルスが出力されたかどうか）をチェックし、越えていれば周期内にパルスが出力されていないのでデューティー比（Ｔ＿ＰＷＭＢＲＫ）をアップし、越えていなければそのままで、デューティー比（Ｔ＿ＰＷＭＢＲＫ）をＰＷＭ制御用のハードタイマーへセットし、ＰＷＭ制御用ハードタイマーをスタートさせる（Ｓ２８２７〜Ｓ２８３３）。そして、２msタイマーをスタートさせ、２msタイマー割込みを許可し、ＰＷＭ割込みを許可して終了する（Ｓ２８３５、Ｓ２８３７）。
［レリーズ処理］
図９３に示した、カメラボディ１１におけるレリーズ処理について説明する。このレリーズ処理は、レリーズスイッチＳＷＲがオンされたことを条件に、ボディＣＰＵ３５により実行される。
【０３７６】
露光中マニュアルパワーズームが可能かどうかをＥ２ＰＲＯＭ等にメモリされているデータをもとに判断して、この判断に応じて、ＢＯＤＹ‐ＳＴＡＴＥ１通信で所定のデータをレンズに送る（Ｓ２９０１、Ｓ２９０３、Ｓ２９０５）。露光中マニュアルパワーズーム可のときは、ＭＰＺ禁止フラグ（ＭＰＺＤ）をクリアし、制御ズーム停止フラグ（ＩＰＺＤ）をセットし、レリーズ中フラグ（ＲＥＬ）をセットしたＢＯＤＹ‐ＳＴＡＴＥ１データを送る（Ｓ２９０５）。露光中マニュアルパワーズーム不可のときは、ＭＰＺ禁止フラグ（ＭＰＺＤ）をセットし、制御ズーム停止フラグ（ＩＰＺＤ）をセットし、レリーズ中フラグ（ＲＥＬ）をセットしたＢＯＤＹ‐ＳＴＡＴＥ１データを送る（Ｓ２９０３）。これらの通信で、制御ズーム（像倍率一定ズームあるいはプリセットズーム）が動作中であることが分かれば制御ズームを停止させる。
【０３７７】
次に、ＰＺ＿ＬＳＴＡＴＥコマンド通信を行なってフラグF_IPZBをチェックし、制御ズーム（像倍率一定ズームあるいはプリセットズーム）が終了したかをチェックする（Ｓ２９０４‐１〜２）。終了したら、像倍率一定ズーム中フラグF_ISZON、プリセットズーム中フラグF_IPZONをクリアし、ボディのバッテリー要求フラグをクリアし、バッテリの供給を停止する（Ｓ２９０４‐３〜６）。
【０３７８】
次に、ミラーモータ３３および絞り機構４６を起動してミラー１３のアップおよび絞りの絞り込みを行ない、これらの処理が終了したら、露光機構２７の先幕を走行させ、露光間ズームかどうかをチェックする（Ｓ２９０７、Ｓ２９０９、Ｓ２９１１）。露光間ズームであれば、Ｓ２９１３〜Ｓ２９２３の処理を実行する。露光間ズームでなけらば、Ｓ２９１３〜Ｓ２９２３の処理をスキップする。
『露光間ズーム』
露光間ズーム動作について、さらに図９４に示したタイミングチャートを参照して説明する。露光間ズームであれば、露出時間（シャッタ速度）が所定時間（例えば１／６０秒）よりも長いことを条件に、露出時間に応じたズーミングスピードをセットし、パワーズームの方向（ＴＥＬＥ方向またはＷＩＤＥ方向）をセットし、パワーズームレンズ５１に電力を供給し、正常に電力が供給されたかどうかをチェックし、正常に供給されていることを条件に、露出時間の１／２が経過するのを待つ（Ｓ２９１１、Ｓ２９１３〜Ｓ２９２３）。
【０３７９】
露出時間の１／２が経過したら、Ｓ２９１５、Ｓ２９１７でセットしたズーミングスピード及び方向のデータをＭＯＶＥ‐ＰＺＭＤコマンド通信でパワーズームレンズ５１に送信して、パワーズームレンズ５１にパワーズームを開始させて、露光時間が経過するのを待つ（Ｓ２９２３〜Ｓ２９２７）。
【０３８０】
露出時間が経過（後幕が走行を終了）すると、ＢＯＤＹ‐ＳＴＡＴＥ１通信を行ない、マニュアルパワーズーミングを禁止し、露光間ズーミングを停止させる（Ｓ２９２９）。次にＰＺ‐ＬＳＴＡＴＥデータ通信でフラグＩＰＺＢをチェックし、露光間ズームのズーミングが停止したかをチェックする（Ｓ２９２９〜Ｓ２９３１）。停止（ＩＰＺＢ＝０）を確認したら、ボディのバッテリ要求フラグをクリアし、バッテリの供給を停止する（Ｓ２９３１〜Ｓ２９３３）。そして、ミラーモータ３３およびフィルム巻上げモータ２５を起動してミラーダウンおよびフィルム巻上げを行ない、ＢＯＤＹ‐ＳＴＡＴＥ１通信を行なって、マニュアルパワーズームを許可してリターンする（Ｓ２９３４〜Ｓ２９３７）。
【０３８１】
以上本実施例では、露光間ズームを行なう露出時間を１／６０秒以上としたがこれに限定されず、露光時間に応じてズームスピードを変更したが変更しなくてもよく、１／２露出時間が経過してからパワーズームを開始したが、パワーズームの開始、終了のタイミングも任意である。
『ＰＺモード切換え処理』
図９５に示した、カメラボディ１１におけるパワーズーム（ＰＺ）モード切換え処理について説明する。このＰＺモード切換え処理は、図６０に示したＰＺループ処理内のＳ１５０７において実行され、パワーズームレンズ５１のズームモード切換えスイッチ７７が所定操作されたときにＰＺモード変更処理を実行する。本実施例では、手動ズームまたはマニュアルパワーズーム、像倍率一定ズーム、プリセットズーム、プリセットズームセットおよび露光間ズームからなる５種類のズームモードを備えている。なお本フローチャートでは、各モードのナンバーを付し、NO.０が手動ズームまたはマニュアルパワーズームモード、NO.１が像倍率一定ズームモード、NO.２がプリセットズームモード、NO.３がプリセットズームセットモードおよびNO.４が露光間ズームモードとしてある。
【０３８２】
先ず、装着された撮影レンズがパワーズームレンズかどうか、手動ズームモードか電動ズームモードか、およびパワーズームレンズであればマニュアルパワーズーム（電動ズーム）かオートパワーズームかどうかをチェックし、パワーズームレンズ、パワーズームかつオートパワーズームでなければ、パワーズームモードフラグをクリアし、この状態を保存してからリターンする（Ｓ３００１、Ｓ３０３５、Ｓ３０３９）。
【０３８３】
オートパワーズームレンズであれば、すでに保存してあるモードを復帰する。オートフォーカスモードであれば何もしないが、オートフォーカスでないときには、像倍率一定ズームはできないので、復帰したＰＺモードが像倍率一定ズームモード（１）あればＰＺモードをアップ変更し、違えばそのままにする（Ｓ３００９〜Ｓ３０１３）。
【０３８４】
次に、パワーズームレンズ５１のＬＳスイッチ（ズームモード切替えスイッチ７７）がオンされていることを条件に、カメラボディ１１のアップ、ダウンスイッチＳＷＵＰ、ＤＮがオンされたときにＰＺモードの変更処理を行なう（Ｓ３０１５〜Ｓ３０２９）。例えば、ダウンスイッチＳＷＤＮがオンされたときには、ズームモードNO.が４になるまでアップ処理を行なう（Ｓ３０１７、Ｓ３０３１、Ｓ３０３３）。アップスイッチＳＷＵＰがオンされたときは、ズームモードNO.が１になるまでダウン処理を行なうが、オートフォーカスモードでないときには、像倍率一定ズームは選択しない（Ｓ３０１９〜Ｓ３０２９）。
【０３８５】
なお、このＰＺモード切換え処理において、アップ、ダウンスイッチＳＷＵＰ、ＤＮはズームモード変更スイッチとして機能する。
【０３８６】
以上のUP/DOWN処理が終了したら、選択したズームモードNO.を保存してリターンする（Ｓ３０３９）。なお、スイッチＳＷＡＳの状態は、ＰＯＦＦ‐ＳＴＡＴＥ通信により入力するデータに含まれている。
『ＰＺパルスカウント割込み処理』
パワーズームレンズ５１側で実行される、図９６及び図９７に示したＰＺパルスカウント割込み処理について説明する。ＰＺパルス出力の立ち上がりで本割込み処理を行ない、ソフト的にＰＺパルスのカウント等を行なう。なお、レンズＣＰＵの設定により、割込みは立ち下がりで入ってもかまわない。
【０３８７】
先ず、割込みを禁止し、ＰＺイニシャライズ処理のときにＰＺパルスをカウントするＰＺカウンタ（ＰＺＰＡ２Ｂ）、およびＰＺパルスカウント値（ＰＺＰＣＮＴ）を１インクリメントし、ＰＺパルスカウンタの値がオーバーフローしているときは、ＰＺパルスカウント値に最大値を入れる（Ｓ３１０１〜Ｓ３１０９）。
【０３８８】
次にパワーズームの駆動方向をチェックし、テレ方向のときにはＰＺパルスカウントスタート値にＰＺパルスカウント値を加算して現ＰＺパルス値に入れ、ワイド方向のときにはＰＺパルスカウントスタート値からＰＺパルスカウント値を減算して現ＰＺパルス値に入れる（Ｓ３１１１〜Ｓ３１１５）。
【０３８９】
そして、ドライブ中でなければ（F_DRV＝０）、ＰＷＭ制御チェック（ＣＨＫＰＷＭ）処理に進む（Ｓ３１１７）。ドライブ中であるが、そのドライブが像倍率一定ズームか目標位置へのドライブでなければＰＷＭ制御チェック（ＣＨＫＰＷＭ）処理に進む（Ｓ３１１７〜Ｓ３１２１）。像倍率一定ズームでドライブ中であるか目標位置へのドライブ中であるときには、現在のＰＺパルス数と目標ＰＺパルス数とが等しくなければＰＷＭ制御チェック（ＣＨＫＰＷＭ）処理に進むが、等しければすぐにズームモータを停止させるためにブレーキ（ＢＲＥＡＫ）処理に進む（Ｓ３１１７、Ｓ３１１９、Ｓ３１２３）。
『ＢＲＡＫ、ＣＨＫＰＷＭ処理』
図９７には、ズームモータのブレーキ処理（ＢＲＡＫ処理）およびＰＷＭチェック処理に関するフローチャートを示してある。この処理は、ＰＺモータの回転スピードを抑える処理である。
【０３９０】
ブレーキ処理では、先ずズームモータにブレーキをかけ、（ズームモータの入力端子を閉成）して、ＺＭ‐ＳＴ１にブレーキデータ（F_BRKをセット、フラグF_LMTT、F_LMTWはそのまま、他はクリア）を入れる（Ｓ３１５１、Ｓ３１５３）。
【０３９１】
そして、ＰＷＭタイマ、リミットタイマおよびスタートタイマをクリアし、現ＰＺパルス値（ＰＺＰＸ）から現焦点距離データを得てＦＣＬＸＬ，Ｈにメモリし、割込みを許可してリターンする（Ｓ３１５５〜Ｓ３１５９）。
【０３９２】
ＣＨＫＰＷＭ処理は、ＰＷＭ制御においてデューティー比を下げる処理である。ＰＷＭ駆動中でなければ第４速（ＤＣ）そのままＳ３１５５に進むが、ＰＷＭ駆動中であれば、ＰＷＭパルス周期（Ｔ‐ＰＷＭＰＬＳ）とＰＷＭタイマ（Ｔ‐ＰＷＭ）を比較し、ＰＷＭパルス周期によりＰＷＭタイマが小さいときはパワーズームスピードが速すぎるので、デューティー比を下げてからＳ３１５５に進み、ＰＷＭパルス周期よりＰＷＭタイマが大きいときにはそのままＳ３１５５に進む（Ｓ３１６１〜Ｓ３１６５）。
【０３９３】
以上の通り、本カメラシステムに搭載した多数の機能について説明したが、これらは、すべて単一のカメラシステム（カメラボディ及び撮影レンズ）に搭載することができるが、もちろん一部のみを搭載してもよい。
【０３９４】
本カメラシステムの一眼レフカメラのパワーズームレンズ５１は、電動手段（ズームモータ６９）及び電動手段を制御するレンズ制御手段（レンズＣＰＵ６１）を搭載して、ボディ制御手段（ボディＣＰＵ３５）とは独立して電動手段の駆動制御が可能である。
【０３９５】
さらにレンズＣＰＵ６１とボディＣＰＵ３５とは、入出力手段としてのインターフェースＩＣ６２および周辺制御回路２３を介して定期的に、また必要に応じてコマンドおよびデータの通信を実行するので、レンズＣＰＵ６１とボディＣＰＵ３５との間で連係処理も可能になる。この通信の一つにより、ボディＣＰＵ３５は電力供給状態をモニタする。つまり、ズームモータ用のバッテリ供給が正常になされているかどうかをレンズＣＰＵ６１にチェックさせ、そのチェック結果に関するデータを入力して、異常があれば電力供給を遮断するのである。なお本カメラシステムにおいては、ボディＣＰＵ３５が遮断手段として機能し、レンズＣＰＵ６１が異常検出手段として機能する。
【０３９６】
ボディＣＰＵ３５は、上記ズームモータ６５を作動させるときには、上記モニタを行ない、正常に供給されていないときには何らかのトラブルが発生しているのでズームモータ６５への供給を遮断して、トラブルを防止する。しかもこの際に、レンズＣＰＵ６１への給電は遮断しないので、レンズＣＰＵ６１が正常に動作しているときには、ズームモータ６５の駆動以外の制御は実行することができる。つまり、ズームモータ６５への電力が遮断されているだけなので、パワーズームレンズ５１は、マニュアルズームレンズとして正常に機能する。
【０３９７】
本カメラシステムでは、カメラボディにバッテリを搭載してレンズに電力供給を行なったが、逆にレンズにバッテリを搭載してボディに電力供給する構成も可能である。また、本発明はカメラに限定されず、給電装置と被給電装置とからなる装置一般に適用できる。
【図面の簡単な説明】
【０３９８】
【図１】本発明を適用した一眼レフカメラボディの実施例の概要を示すブロック図である。
【図２】本発明を適用した一眼レフカメラ用パワーズームレンズの実施例の概要を示すブロック図である。
【図３】同パワーズームレンズの回路構成の例を示すブロック図である。
【図４】同パワーズームレンズのズームコード板の展開図である。
【図５】同パワーズームレンズの焦点距離コード板の展開図である。
【図６】レンズＣＰＵのメインフローチャートの第一部分である。
【図７】レンズＣＰＵのメインフローチャートの第二部分である。
【図８】レンズＣＰＵの通信割込処理に関するフローチャートである。
【図９】２msタイマ割り込みに関するフローチャートである。
【図１０】パワーズーム、マニュアルズーム処理に関するフローチャートである。
【図１１】ＰＷＭ２msタイマ割り込みに関するフローチャートである。
【図１２】ＰＺパルスカウント割り込み処理に関するフローチャートである。
【図１３】ＰＷＭ割り込みに関するフローチャートである。
【図１４】ＰＷＭ制御に関するタイムチャートである。
【図１５】像倍率一定ズーム制御に関するフローチャートの第一部分である。
【図１６】像倍率一定ズーム制御に関するフローチャートの第二部分である。
【図１７】プレディクタオペレーション処理に関するフローチャートの第一部分である。
【図１８】プレディクタオペレーション処理に関するフローチャートの第二部分である。
【図１９】スタンバイ処理に関するレンズのフローチャートである。
【図２０】ＡＦパルス初期化処理に関するレンズのフローチャートである。
【図２１】パワーズーム位置初期化処理に関するレンズのフローチャートである。
【図２２】パワーズームレンズの収納処理に関するレンズのフローチャートである。
【図２３】パワーズームレンズの復帰処理に関するレンズのフローチャートである。
【図２４】パワーズームのストップ処理に関するレンズのフローチャートである。
【図２５】像倍率一定ズームに必要なデータを受信したときのレンズのフローチャートである。
【図２６】像倍率一定ズーム処理に関するレンズのフローチャートであ。
【図２７】像倍率一定ズームに関する情報を入力したときのレンズ処理に関するフローチャートである。
【図２８】カメラボディの状態に関する情報を入力したときのレンズ処理に関するフローチャートである。
【図２９】ボディシーケンス情報を入力したときのレンズ処理に関するフローチャートである。
【図３０】カメラボディ側からＡＦパルスを入力したときのレンズ処理に関するフローチャートである。
【図３１】カメラボディ側からＰＺパルスを入力したときのレンズ処理に関するフローチャートである。
【図３２】レンズ内でカウントしたＡＦパルスデータをメモリするコマンドを受けたときの処理に関するレンズのフローチャートである。
【図３３】ボディ側のＡＦで求めたデフォーカス量をレンズメモリにストアするレンズ処理に関するフローチャートである。
【図３４】指定されたＰＺパルスデータ、焦点距離データのメモリ処理に関するレンズのフローチャートである。
【図３５】ボディ側のＡＦで求めたデフォーカス量をレンズメモリにストアするレンズ処理に関するフローチャートである。
【図３６】カメラボディから受信した像倍率一定ズームデータのメモリ処理に関するレンズのフローチャートである。
【図３７】指定方向または指定位置へのパワーズーミング処理に関するレンズのフローチャートである。
【図３８】カメラボディにより指定されたデータに基づくパワーズーム処理に関するレンズのフローチャートである。
【図３９】ＡＦパルスカウント処理に関するレンズのフローチャートの第一部分である。
【図４０】ＡＦパルスカウント処理に関するレンズのフローチャートの第二部分である。
【図４１】ＡＦパルスカウント処理に関するレンズのフローチャートの第三部分である。
【図４２】ＡＦパルスカウント処理に関するレンズのフローチャートの第四部分である。
【図４３】ＡＦパルスカウント処理に関するレンズのフローチャートの第五部分である。
【図４４】撮影レンズ側のパワーズームに関するデータの送信処理に関するフローチャートである。
【図４５】撮影レンズのスタンバイ処理等に関するフローチャートである。
【図４６】撮影レンズの可変データ送信処理に関するフローチャートである。
【図４７】撮影レンズの固定情報送信処理に関するフローチャートである。
【図４８】撮影レンズ側のＡＦパルスカウント値送信処理に関するフローチャートである。
【図４９】撮影レンズの現焦点距離データの出力処理に関するフローチャートである。
【図５０】撮影レンズ側の像倍率一定ズームデータ送信処理に関するフローチャートである。
【図５１】撮影レンズのすべてのデータ出力処理に関するフローチャートである。
【図５２】ＰＺ処理に関するフローチャートの第一部分である。
【図５３】ＰＺ処理に関するフローチャートの第二部分である。
【図５４】ＰＺ処理に関するフローチャートの第三部分である。
【図５５】ＰＺ処理に関するフローチャートの第四部分である。
【図５６】ＰＺのイニシャライズ処理に関するフローチャートである。
【図５７】ＡＦのイニシャライズ処理に関するフローチャートの第一部分である。
【図５８】ＡＦのイニシャライズ処理に関するフローチャートの第二部分である。
【図５９】電力供給チェック処理に関するフローチャートである。
【図６０】ＰＺのループ処理に関するフローチャートの第一部分である。
【図６１】ＰＺのループ処理に関するフローチャートの第二部分である。
【図６２】ＰＺのループ処理に関するフローチャートの第三部分である。
【図６３】プリセットパワーズーム終了チェック処理に関するフローチャートである。
【図６４】像倍率一定ズームの第１例のフローチャートの第一部分である。
【図６５】像倍率一定ズームの第１例のフローチャートの第二部分である。
【図６６】像倍率一定ズームの第２例のフローチャートの第一部分である。
【図６７】像倍率一定ズームの第２例のフローチャートの第二部分である。
【図６８】像倍率一定ズームの第３例のフローチャートの第一部分である。
【図６９】像倍率一定ズームの第３例のフローチャートの第二部分である。
【図７０】ＡＦパルスカウント処理に関するレンズのフローチャートである。
【図７１】ＡＦパルスカウント値のアジャスト処理に関するレンズのフローチャートである。
【図７２】ＰＺ端点処理に関するレンズのフローチャートである。
【図７３】ズームモーターの回転方向、回転スピード制御に関するレンズのフローチャートである。
【図７４】ズームスイッチによるパワーズーム動作に関するレンズのフローチャートの第一部分である。
【図７５】ズームスイッチによるパワーズーム動作に関するレンズのフローチャートの第二部分である。
【図７６】ズームスイッチによるパワーズーム動作に関するレンズのフローチャートである。
【図７７】ＰＺパルスカウント割り込み処理に関するレンズのフローチャートである。
【図７８】パワーズーム停止処理に関するレンズのフローチャートである。
【図７９】ズームモーターのブレーキ処理に関するレンズのフローチャートである。
【図８０】撮影レンズ状態のセット処理に関するレンズのフローチャートの第一部分である。
【図８１】撮影レンズ状態のセット処理に関するレンズのフローチャートの第二部分である。
【図８２】指定焦点距離へのパワーズーム処理に関するレンズのフローチャートの第一部分である。
【図８３】指定焦点距離へのパワーズーム処理に関するレンズのフローチャートの第二部分である。
【図８４】目標位置までのパルス数に応じた駆動スピード調整処理に関するレンズのフローチャートの第一部分である。
【図８５】目標位置までのパルス数に応じた駆動スピード調整処理に関するレンズのフローチャートの第二部分である。
【図８６】端点に達したときのＰＺパルスカウント修正処理に関するレンズのフローチャートである。
【図８７】現在のズーミングレンズ位置が不明のときのＰＺパルスカウンタ修正処理に関するレンズのフローチャートの第一部分である。
【図８８】現在のズーミングレンズ位置が不明のときのＰＺパルスカウンタ修正処理に関するレンズのフローチャートの第二部分である。
【図８９】現在の位置が分かっているときのＰＺパルスカウント処理に関するレンズのフローチャートである。
【図９０】ＰＺパルスカウンタ修正処理に関するレンズのフローチャートである。
【図９１】プリセット焦点距離プリセット処理に関するレンズのフローチャートである。
【図９２】ズームモーターの駆動制御に関するレンズのフローチャートである。
【図９３】カメラボディにおけるレリーズ処理に関するフローチャートである。
【図９４】露光間ズームに関するタイミングチャートである。
【図９５】パワーズームモードの切替処理に関するフローチャートである。
【図９６】ＰＺパルスカウント割り込み処理に関するレンズのフローチャートである。
【図９７】ズームモーターのＰＷＭ制御処理に関するレンズのフローチャートである。
【符号の説明】
【０３９９】
１１  カメラボディ
２０  バッテリ
２１  測距用ＣＣＤセンサユニット
２３  周辺部制御回路
２５  露光機構（シャッタ機構）
３５  メイン（ボディ）ＣＰＵ（制御手段）
３５ｂ  ＲＡＭ
３７  モータードライブＩＣ
３９  ＡＦモーター
４１  エンコーダ
５１  撮影レンズ（パワーズームレンズ）
５１Ｆ  フォーカシングレンズ群
５１Ｚ  ズーミングレンズ群
５５  ＡＦ機構
５９  ＡＦパルサー
６１  レンズＣＰＵ（レンズ制御手段）
６１ｂ  レンズＲＡＭ
６２  インターフェース
６３  モータードライブＩＣ
６５  ズームモーター
６７  ＰＺ機構
６９  ＰＺパルサー
７１  ズーム（焦点距離）コード板
７２  切替え点
７７  ズームモード切替えスイッチ
８１  距離コード板
【図１】
2004171017.tif 000014
【図２】
2004171017.tif 000015
【図３】
2004171017.tif 000016
【図４】
2004171017.tif 000017
【図５】
2004171017.tif 000018
【図６】
2004171017.tif 000019
【図７】
2004171017.tif 000020
【図８】
2004171017.tif 000021
【図９】
2004171017.tif 000022
【図１０】
2004171017.tif 000023
【図１１】
2004171017.tif 000024
【図１２】
2004171017.tif 000025
【図１３】
2004171017.tif 000026
【図１４】
2004171017.tif 000027
【図１５】
2004171017.tif 000028
【図１６】
2004171017.tif 000029
【図１７】
2004171017.tif 000030
【図１８】
2004171017.tif 000031
【図１９】
2004171017.tif 000032
【図２０】
2004171017.tif 000033
【図２１】
2004171017.tif 000034
【図２２】
2004171017.tif 000035
【図２３】
2004171017.tif 000036
【図２４】
2004171017.tif 000037
【図２５】
2004171017.tif 000038
【図２６】
2004171017.tif 000039
【図２７】
2004171017.tif 000040
【図２８】
2004171017.tif 000041
【図２９】
2004171017.tif 000042
【図３０】
2004171017.tif 000043
【図３１】
2004171017.tif 000044
【図３２】
2004171017.tif 000045
【図３３】
2004171017.tif 000046
【図３４】
2004171017.tif 000047
【図３５】
2004171017.tif 000048
【図３６】
2004171017.tif 000049
【図３７】
2004171017.tif 000050
【図３８】
2004171017.tif 000051
【図３９】
2004171017.tif 000052
【図４０】
2004171017.tif 000053
【図４１】
2004171017.tif 000054
【図４２】
2004171017.tif 000055
【図４３】
2004171017.tif 000056
【図４４】
2004171017.tif 000057
【図４５】
2004171017.tif 000058
【図４６】
2004171017.tif 000059
【図４７】
2004171017.tif 000060
【図４８】
2004171017.tif 000061
【図４９】
2004171017.tif 000062
【図５０】
2004171017.tif 000063
【図５１】
2004171017.tif 000064
【図５２】
2004171017.tif 000065
【図５３】
2004171017.tif 000066
【図５４】
2004171017.tif 000067
【図５５】
2004171017.tif 000068
【図５６】
2004171017.tif 000069
【図５７】
2004171017.tif 000070
【図５８】
2004171017.tif 000071
【図５９】
2004171017.tif 000072
【図６０】
2004171017.tif 000073
【図６１】
2004171017.tif 000074
【図６２】
2004171017.tif 000075
【図６３】
2004171017.tif 000076
【図６４】
2004171017.tif 000077
【図６５】
2004171017.tif 000078
【図６６】
2004171017.tif 000079
【図６７】
2004171017.tif 000080
【図６８】
2004171017.tif 000081
【図６９】
2004171017.tif 000082
【図７０】
2004171017.tif 000083
【図７１】
2004171017.tif 000084
【図７２】
2004171017.tif 000085
【図７３】
2004171017.tif 000086
【図７４】
2004171017.tif 000087
【図７５】
2004171017.tif 000088
【図７６】
2004171017.tif 000089
【図７７】
2004171017.tif 000090
【図７８】
2004171017.tif 000091
【図７９】
2004171017.tif 000092
【図８０】
2004171017.tif 000093
【図８１】
2004171017.tif 000094
【図８２】
2004171017.tif 000095
【図８３】
2004171017.tif 000096
【図８４】
2004171017.tif 000097
【図８５】
2004171017.tif 000098
【図８６】
2004171017.tif 000099
【図８７】
2004171017.tif 000100
【図８８】
2004171017.tif 000101
【図８９】
2004171017.tif 000102
【図９０】
2004171017.tif 000103
【図９１】
2004171017.tif 000104
【図９２】
2004171017.tif 000105
【図９３】
2004171017.tif 000106
【図９４】
2004171017.tif 000107
【図９５】
2004171017.tif 000108
【図９６】
2004171017.tif 000109
【図９７】
2004171017.tif 000110