"追尾用アンテナの駆動機能である駆動モードとして、搭載される装置の種類によらず共通の複数種類の駆動モードの中から一つ以上を選択して前記追尾用アンテナを制御する追尾用アンテナ制御装置であって、前記追尾用アンテナの制御プログラムを、追尾用アンテナを備えた装置の種類によらず全ての機種で共通なコードからなる共通部と、追尾用アンテナを備えた装置のうち、特定種類の装置に固有の駆動モード遷移処理を実現するコードからなる固有部と、を含んで構成するとともに、前記制御プログラムの実行時に前記固有部に参照させるための情報として、前記複数種類の駆動モードの中から一つ以上の駆動モードを選択させた結果を保持しておく設定部、を備えることを特徴とする追尾用アンテナ制御装置。前記複数種類の駆動モードは、追尾対象を自律的に追尾する自動追尾モードを含み、当該自動追尾モードの有効/無効の設定情報を前記設定部で保持することを特徴とする請求項1に記載の追尾用アンテナ制御装置。前記複数種類の駆動モードは、あらかじめプログラムされた軌道に従って追尾用アンテナを動作させるプログラム追尾モードを含み、当該プログラム追尾モードの有効/無効の設定情報を前記設定部で保持することを特徴とする請求項1に記載の追尾用アンテナ制御装置。前記複数種類の駆動モードは、人の操作に従ってアンテナの軸を動作させる手動モードを含み、当該手動モードの有効/無効の設定情報を前記設定部で保持することを特徴とする請求項1に記載の追尾用アンテナ制御装置。前記複数種類の駆動モードは、指定された特定の方向にアンテナを向けるポジションモードを含み、当該ポジションモードの有効/無効の設定情報を前記設定部で保持することを特徴とする請求項1に記載の追尾用アンテナ制御装置。前記固有部および前記設定部は、追尾用アンテナを備えた複数種類の装置ごとに存在することを特徴とする請求項1に記載の追尾用アンテナ制御装置。特許文献1~3では、パラメータ及び処理追加によるソフトウェアのカスタマイズ方法がそれぞれ提案されている。しかしながら、以下に示すような課題をそれぞれ有している。特許文献1に記載の技術は、固有パラメータを用いてソフトウェアの条件の変更に対応可能であるため、プログラムロジックが確立している機能に対しては、容易に機種固有の仕様を実現できるという利点がある。しかし、機種によってプログラムロジックの変更が必要になる場合には適用できないという問題点がある。特許文献2に記載の技術は、機種毎に専用部を持たせて選択的に実行させることによって、複数種類の機種に対応することができるため、カスタマイズの自由度が高く、様々な機能のバリエーションに対応できるという利点がある。しかし、専用部のプログラムを車種ごとに作る必要があるので、製品系列全体で開発量が大きくなるという問題点がある。特許文献3に記載の技術は、複数のソフトウェアに共通する部分を、他のソフトウェア開発時に再利用できるため、開発効率化ができるという利点がある。しかし、ソフトウェアの拡充に伴い、共通する部分に変更が発生する場合、開発効率が悪化するという問題点がある。追尾用アンテナ制御装置の制御プログラムにおいては、プログラムの高い再利用性と機種展開に必要なカスタマイズの柔軟性の両立が課題である。追尾用アンテナ装置の制御プログラムの特徴として、駆動モードを選択することにより異なる制御方法を選択でき、この制御方法は機種によらずほぼ同じである一方で、特定の機種が備える駆動モードは製品系列全体で共通に定義された駆動モード群のサブセットであり、また、駆動モード間の遷移判定処理は機種ごとに大きく異なるという点が挙げられる。このような特徴を持つ追尾用アンテナ制御装置の制御プログラムを特許文献1~3に挙げた方法で構築しようとすると、特許文献1~3それぞれの項で説明した問題点により、機種単体での開発効率が低下するか、製品系列全体での開発量が増大するといった問題が生じてしまう。本発明は、上記に鑑みてなされたものであって、追尾用アンテナを備えた機器を多機種展開する場合の開発効率を向上させることが可能な追尾用アンテナ制御装置を得ることを目的とする。上述した課題を解決し、目的を達成するために、本発明は、追尾用アンテナの駆動機能である駆動モードとして、搭載される装置の種類によらず共通の複数種類の駆動モードの中から一つ以上を選択して前記追尾用アンテナを制御する追尾用アンテナ制御装置であって、前記追尾用アンテナの制御プログラムを、追尾用アンテナを備えた装置の種類によらず全ての機種で共通なコードからなる共通部と、追尾用アンテナを備えた装置のうち、特定種類の装置に固有の駆動モード遷移処理を実現するコードからなる固有部と、を含んで構成するとともに、前記制御プログラムの実行時に前記固有部に参照させるための情報として、前記複数種類の駆動モードの中から一つ以上の駆動モードを選択させた結果を保持しておく設定部、を備えることを特徴とする。本発明によれば、追尾用アンテナを備えた機器の追尾用アンテナ制御プログラムへの機能追加や変更が容易になり、多機種展開時の開発効率を向上できるという効果を奏する。以下に、本発明にかかる追尾用アンテナ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。実施の形態.図1は、本発明にかかる追尾用アンテナ制御装置の構成例を示す図である。この追尾用アンテナ制御装置は、詳細については後述するが、追尾用アンテナの駆動機能である駆動モードとして、搭載される機種によらず共通の複数種類の駆動モードの中から一つ以上を選択し、追尾用アンテナを制御する。また、図1に示したように、追尾用アンテナ制御装置1は、CPU2、ファイルシステム3およびRAM4を備える。ファイルシステム3は制御プログラム5およびデータ6を含んで構成されている。制御プログラム5には共通部7および固有部8が含まれており、共通部7は、追尾用アンテナに関する製品系列内の全ての機種で共通に使用する制御プログラムである。そのため、共通部7は、実装する際、機種によらずプログラムの変更の必要がない。固有部8は、追尾用アンテナに関する製品系列内の特定の機種の動作を実現する制御プログラムである。特定の機種の動作とは、駆動モードの状態遷移処理であり、固有部8の制御プログラムは共通部7に設定された拡張点に追加される。また、データ6には設定部9が含まれている。設定部9は、追尾用アンテナの製品系列内に複数存在する駆動モードの有効/無効を機種ごとに切り替えるためのリスト機能選択表10と駆動モードの状態遷移処理を登録するためのリスト構築リスト11とを含んで構成されている。これらのリストは、制御プログラムが実装される機種に応じて予め変更される。機能選択表10には、実装される機種に搭載する駆動モードの選択結果が登録され、構築リスト11には、機能選択表10に対応する状態遷移処理が登録される。共通部7、固有部8および設定部9の実行プログラムをRAM4上に配置したメモリイメージが、共通部12、固有部13および設定部14である。駆動制御のプログラムの構成と制御方法について、図2を参照して説明する。共通部7は、駆動モード71と、機能選択表呼び出し処理72と、機能選択表データ保管庫73と、機能選択表アクセスI/F74と、構築リスト呼び出し処理75と、拡張処理76と、拡張点77と、を備える。駆動モード71は、機種間で共通の駆動モードの処理本例では、自動追尾モード71a、プログラム追尾モード71b、手動モード71cおよびポジションモード71dの各処理としているを持つ。自動追尾モード71aはロケットなどの追尾対象を自律的に追尾するモードであり、プログラム追尾モード71bはあらかじめプログラムされた軌道に従ってアンテナを動作させるモードである。また、手動モード71cは人の操作に従ってアンテナの軸を動作させるモード、ポジションモード71dは指定された特定の方向にアンテナを向けるモードである。機能選択表呼び出し処理72は、設定部9にある機能選択表10を呼び出す処理である。機能選択表データ保管庫73は、機能選択表10の情報を保管する。機能選択表アクセスI/F74は、駆動モード71が機能選択データ保管庫73を参照するためのI/Fである。構築リスト呼び出し処理75は、設定部9にある構築リスト11を呼び出す処理である。拡張処理76は、拡張点77に登録された機種固有の駆動モード遷移処理を呼び出す処理である。拡張点77は、機種固有の駆動モード遷移処理を登録する箇所である。設定部9は、機種ごとに存在し、機能選択表10および構築リスト11を保持している。固有部8は、機種ごとに存在し、駆動モード遷移処理81および構築処理82を含んでいる。駆動モード遷移処理81は、機種固有の駆動モードの状態遷移処理である。構築処理82は、駆動モード遷移処理81を共通部7の拡張点77に登録するための処理である。図3は、本実施の形態の追尾用アンテナ制御装置における制御プログラムの処理の流れを示したフローチャートである。この図3を参照して、制御プログラムの処理の流れを説明する。まず、ステップS1では、図2に示した共通部7、固有部8および設定部9の実行プログラムをRAM4図1参照上に展開する。次に、ステップS2においてプログラムの初期化処理を行い、ステップS3ではプログラムの初期化後処理を行う。ステップS2の初期化処理では、まず、駆動モード遷移処理81を共通部7の拡張点77に登録しステップS4、次に、機能選択表10に従い、共通部7の駆動モードの有効/無効処理を決定するステップS5。ステップS4の詳細について、図4のフローチャートと図5のソースコード例を参照して説明する。なお、図4のフローチャートは、ステップS4で実行する処理の詳細を示したものである。ステップS4の処理を開始するにあたっては、まず、共通部7に含まれている構築呼び出し処理75図2参照より、設定部9にある構築リスト11を呼び出す。図5のC3には、構築リストとして、駆動モード遷移処理81を実行する関数construct_drive_mode_hook_implが定義されている。この構築リストのアドレスをC1に示した構築呼び出し処理の関数constructlist_callの引数とし、構築呼び出し処理が構築リスト11を呼び出す。構築リスト11を呼び出すと、次に、呼び出した構築リスト11を上から順番に読みこみ、読み込んだ行が末尾であるかどうかを判定するステップS41。読み込んだ行が末尾である場合ステップS41:Yes、処理を終了する。一方、読み込んだ行が末尾ではない場合ステップS41:No、構築リスト11に構築処理が登録されているかどうかを判定するステップS42。これらのステップS41およびS42は、図5のC1に示した構築リスト呼び出し処理のif文に対応し、構築リストの末尾と構築処理の登録有無判定を行う。ステップS42の判定の結果、構築処理が登録されている場合ステップS42:Yes、構築呼び出し処理75が構築処理82を呼び出し、駆動モード遷移処理81の関数のアドレスを共通部7の拡張点77に設定するステップS43。このステップS43では、図5のC1に示したconstructlist_callがC4に示した構築処理を実行する関数construct_drive_mode_hook_implを呼び出し、C2に示した拡張点initprepostに駆動モード遷移処理の関数を登録する。ステップS43を実行した後、または、ステップS42において構築処理が登録されてないと判定した場合ステップS42:No、次の処理として、構築リスト11のポインタを一つ進めるステップS44。そして、上述したステップS41~S43を再度実行する。以降、ステップS41において末尾と判定するまで処理を継続する末尾と判定すると処理を終了する。つづいて、ステップS5の詳細について、図6のフローチャートと図7のソースコード例を参照して説明する。なお、図6のフローチャートは、ステップS5で実行する処理の詳細を示したものである。ステップS5においては、まず、共通部7の機能選択表呼び出し処理72が、機能選択表10を呼び出すステップS51。図7のC5には、機能選択表10の例が示されており、例示した機能選択表には駆動モードの有効無効が定義されている。この定義はC7に示すvariabilityに格納され、variabilityのアドレスをC7に示す機能選択表呼び出し処理の関数setVariabilityの引数とし、機能選択表呼び出し処理72が機能選択表10を呼び出す。さらに、機能選択表呼び出し処理72が、機能選択データ保管庫73に駆動モードの有効無効情報を登録するステップS52。図7のC6には、機能選択データ保管庫73に相当する変数w_variabilityが記載されており、このステップS52では、変数w_variability有効無効情報を登録する。図7の例に従った場合、機能選択データ保管庫73には、自動追尾モードは無効、プログラム追尾モードは有効、手動モードは有効、ポジションモードは無効の情報が登録される。図3の説明に戻り、ステップS3の処理プログラムの初期化後処理では、まず、各駆動モードの処理を実行しステップS6、次に、共通部7の拡張点77に登録した駆動モード上記のステップS4において登録した駆動モードの遷移処理を実行するステップS7。ステップS7の処理が終了するとステップS6を再度実行する。すなわち、これらのステップS6,S7の処理を繰り返す。ステップS6の詳細について、図8のフローチャートと図9のソースコード例を参照して説明する。なお、図8のフローチャートは、ステップS6で実行する処理の詳細を示したものである。ステップS6においては、まず、共通部7の各駆動モード71が、機能選択表アクセスI/F74を介して、機能選択データ保管庫73を参照するステップS61。図9のC8には機能選択表アクセスI/Fの関数getVariabilityを示している。この関数getVariabilityにより、機能選択データ保管庫73図7のC6に格納された変数w_variabilityのアドレスを返す。次に、駆動モードの有効無効の判定を行うステップS62。有効の場合はステップS62:Yes、駆動モードの処理を実行するステップS63。無効の場合は処理を終了するステップS62:No。これらのステップS61~S63は、図9のC9に示した有効無効処理のif文に対応し、駆動モードが有効か無効を判定する。判定の結果、有効であれば駆動モードの処理を実行する。図示したソースコード例では、プログラム追尾モードと手動モードが有効であり図7のC5参照、これらの駆動モードの処理を実行する。つづいて、ステップS7の詳細について、図10のフローチャートと図11のソースコード例を参照して説明する。なお、図10のフローチャートは、ステップS7で実行する処理の詳細を示したものである。ステップS7においては、まず、共通部7の拡張処理76が、上記ステップS43で拡張点77に登録された駆動モード遷移処理81のアドレスを呼び出しステップS71、次に、呼び出したアドレスを介して、駆動モード遷移処理81を実行するステップS72。これらのステップS71,S72では、図11のC4に示した構築処理を実行して登録したdrive_mode_hooksinit、drive_mode_hookspre、drive_mode_hookspostを、C10に示した拡張処理にて呼び出し、拡張点に登録された関数init_drive_mode_hook_impl、pre_drive_mode_hook_impl、post_drive_mode_hook_implを実行する。図12は、駆動処理の実行時の構成を示した図であり、上述したソースコードに従って駆動処理を実行した場合の構成例を示している。この例では、プログラム追尾モード71bと手動モード71cの処理が実行され、駆動モード遷移処理81は拡張処理76により呼び出され実行される。このように、本実施の形態の追尾用アンテナ制御装置においては、駆動モードの制御プログラムの構成を、機種によらず不変の共通部、すなわち、プログラム構造が類似する駆動モードのプログラムを共通化し、追尾用アンテナに関する製品系列内の全ての機種で共通に使用するブロックと、機種に固有の機能を実現するための固有部、すなわち、追尾用アンテナに関する製品系列内の特定の機種の動作である駆動モード遷移処理を持ち、固有部の追加処理で駆動モード遷移処理をカスタマイズ可能なブロックと、搭載される機種によらずプログラムが固定でなおかつ搭載される機種が可変の複数の駆動モード全ての機種において選択的に搭載可能な複数の駆動モードそれぞれについて、有効無効を設定する設定部、すなわち、追尾用アンテナに関する製品系列内に複数存在する駆動モードの有効/無効を機種ごとに切り替え、機種ごとに必要な駆動モードを選択可能なブロックと、を備えた構成とした。これにより、単一の共通部のモジュールを全ての機種で再利用することができる。また、頻度が少ないロジック変更である遷移条件の変更の場合は、固有部への処理追加で対応することができる。また、機種間で相違が現れやすい利用可能な駆動モード種別については、データ設定だけで特定機種に適用することができる。以上のことから、本実施の形態の追尾用アンテナ制御装置によれば、追尾用アンテナを備えた複数種類の機器における制御プログラムのより多くの部分を共通化し、制御プログラムへの機能追加や変更が容易になり、多機種展開する際の開発効率を向上できるという効果が得られる。"