(57)【要約】  【課題】ソフトウェアの開発効率を高めることができ、また、プログラミングの知識を有しない者であっても、所望の目的を達成するソフトウェアを構築することができる制御システムを提供すること。  【解決手段】製品の検査などを行うプログラムを実行する機能を備えた制御システムにおいて、ある目的を達成するためのモジュールを格納する記憶装置１５と、モジュールから呼び出されるファンクションを格納する記憶装置１６と、使用者が操作し得るキーボード１１、マウス１２から得られる、使用者によるモジュール選択情報に基づいて、記憶装置１５に格納されているモジュールを抽出するモジュール抽出手段と、抽出されたモジュールを、所定の順番に実行していくモジュール実行手段とを備えると共に、記憶装置１５に格納されているモジュールそれぞれを独立した構成にする。  【選択図】  図４
2006092272.tif 000002
【特許請求の範囲】
【請求項１】
製品の検査などを行うプログラムを実行する機能を備えた制御システムにおいて、
ある目的を達成するためのモジュールを格納するモジュール格納手段と、
前記モジュールから呼び出されるファンクションを格納するファンクション格納手段と
、
使用者が操作し得る操作手段から得られる、前記使用者によるモジュール選択情報に基
づいて、前記モジュール格納手段に格納されているモジュールを抽出するモジュール抽出
手段と、
該モジュール抽出手段により抽出されたモジュールを、所定の順番に実行していくモジ
ュール実行手段とを備えると共に、
前記モジュール格納手段に格納されているモジュールそれぞれが、独立した構成になっ
ていることを特徴とする制御システム。
【請求項２】
前記モジュール格納手段に格納されているモジュールが、パラメータ化されていること
を特徴とする請求項１記載の制御システム。
【請求項３】
前記モジュール格納手段に格納されているモジュールを、識別符号で管理するモジュー
ル管理手段を備えると共に、
前記モジュール抽出手段が、前記識別符号でモジュールを抽出するものであることを特
徴とする請求項１又は請求項２記載の制御システム。
【請求項４】
あるファンクションから別のファンクションが呼び出されるように構成されていること
を特徴とする請求項１〜３のいずれかの項に記載の制御システム。
【請求項５】
前記モジュール抽出手段により抽出されたモジュールの全部、又はその一部を一つのグ
ループとして管理するグループ管理手段を備え、
該グループ管理手段により管理されているグループを、前記モジュール格納手段に格納
されているモジュールとして扱い得るように構成されていることを特徴とする請求項１〜
４のいずれかの項に記載の制御システム。
【請求項６】
前記モジュール格納手段に格納されているモジュール、及び／又は前記ファンクション
格納手段に格納されているファンクションそれぞれは、ライブラリで管理されるように構
成されていることを特徴とする請求項１〜５のいずれかの項に記載の制御システム。
【請求項７】
前記ライブラリはＤＬＬ（dynamic link library）であり、前記ライブラリで管理され
ているモジュール、及び／又はファンクションは動的にローディングされるように構成さ
れていることを特徴とする請求項６記載の制御システム。
【請求項８】
前記ファンクション格納手段に格納されているファンクションは、パラメータで呼び出
されるように構成されていることを特徴とする請求項１〜７のいずれかの項に記載の制御
システム。
【請求項９】
コメント機能を用いて、前記パラメータの説明文が組み込まれていることを特徴とする
請求項８記載の制御システム。
【請求項１０】
モジュールの実行が正常に終了できたか否かを判断する実行結果判断手段を備え、
前記モジュール実行手段が、
前記実行結果判断手段によりモジュールの実行が正常に終了できなかったと判断された
場合、
各モジュール毎に指定された、実行が正常に終了できなかった場合に次に実行すべきモ
ジュールを、実行するものであることを特徴とする請求項１〜９のいずれかの項に記載さ
れた制御システム。
【請求項１１】
使用者が操作し得る操作手段から得られる、各モジュール毎に指定された、実行が正常
に終了できなかった場合に次に実行すべきモジュールを示した実行先情報を格納する実行
先情報格納手段を備え、
前記モジュール実行手段が、
前記実行結果判断手段によりモジュールの実行が正常に終了できなかったと判断された
場合、
前記実行先情報格納手段に格納されている実行先情報に基づいて、次に実行すべきモジ
ュールを実行するものであることを特徴とする請求項１０記載の制御システム。
【請求項１２】
モジュールの実行が正常に終了したか否かを判断する正常終了判断手段と、
該正常終了判断手段によりモジュールの実行が正常に終了していないと判断された場合
、所定の回数を限度として、当該モジュールの再実行を行う再実行手段とを備えているこ
とを特徴とする請求項１〜１１のいずれかの項に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御システムに関し、より詳細には、コンピュータを使って、製品の検査など
を行うための制御システムに関する。
【背景技術】
【０００２】
ＰＣなどのコンピュータを使って、ある所望の検査を達成するためには、それ用のソフ
トウェアが必要であった。例えば、ラジオ装置を検査するには、ＤＶＭ（digital volt m
eter）やオーディオ・アナライザーなどの周辺機器を制御して、ＡＣ電圧を測定するため
の機能や、ＳＧ（signal generator）などの周辺機器を制御して、各周波数毎のリミッタ
ー感度やＳＮ比（信号対雑音比）などを測定するための機能などを有した、ラジオ装置検
査用のソフトウェアが必要であり、ＣＤ再生装置を検査するには、ＣＤ再生装置検査用の
ソフトウェアが必要であり、また、ナビゲーション装置を検査するには、ナビゲーション
装置検査用のソフトウェアが必要であった。
【０００３】
ソフトウェアの構築には、ソフトウェアのプログラミングが必要であるため、プログラ
ミングの知識を有しない者は、ソフトウェアの構築に携わることができなかった。また、
同じラジオ装置やＣＤ再生装置であったとしても、装置の型が異なれば、その型に適した
検査用のソフトウェアが必要であり、そのような場合にも、ソフトウェアの構築のために
プログラミングが必要であった。
【０００４】
ところが、装置の型が異なったとしても、検査項目にあまり大きな差異はない。例えば
、ＡＣ電圧の測定や、リミッタ感度の測定については、装置の型に関係なく、ラジオ装置
の検査項目に通常含まれる。また、ＡＣ電圧の測定については、ラジオ装置だけでなく、
ＣＤ再生装置やナビゲーション装置の検査項目にも通常含まれる。換言すれば、ラジオ装
置、ＣＤ再生装置、ナビゲーション装置のいずれの装置の検査用のソフトウェアにも、Ｄ
ＶＭやオーディオ・アナライザーなどの周辺機器を制御して、ＡＣ電圧を測定するための
機能が含まれていることになる。
【０００５】
従って、このような機能の使い回し（すなわち、プログラムの一部修正）ができれば、
無駄なプログラミングなどを省くことができ、ソフトウェアの開発効率を上げることがで
きる。しかしながら、プログラムというのは、作成者によって自由に作成されていること
が多いため、別の者による使い回しは容易なことではなかった。また、このような使い回
しを行うにも、やはりプログラミングの知識が必要であった。そのため、たとえ同じよう
な項目を検査する機能であったとしても、別のソフトウェアへの使い回しは決して容易な
ことではなかった。
【０００６】
そこで、最近では、このような問題を解決するために、ソフトウェアのモジュール化が
行われている（例えば、特許文献１参照）。ソフトウェアをモジュール化すれば、プログ
ラムの使い回しが比較的容易になる。しかしながら、単にソフトウェアをモジュール化し
ただけでは、あまりソフトウェアの開発効率を上げることはできない。というのは、例え
ば、制御対象となる周辺機器が変わっただけでも、プログラムを変更する必要があり、こ
の作業も決して容易ではなかった。また、このようなプログラムの変更を行うにも、やは
りプログラミングの知識は必要であった。
【特許文献１】特開２００１−１５９６１４号公報
【発明の開示】
【課題を解決するための手段及びその効果】
【０００７】
本発明は上記課題に鑑みなされたものであって、ソフトウェアの開発効率を高めること
ができ、また、プログラミングの知識を有しない者であっても、所望の目的を達成するソ
フトウェアを構築することができる制御システムを提供することを目的としている。
【０００８】
上記目的を達成するために本発明に係る制御システム（１）は、製品の検査などを行う
プログラムを実行する機能を備えた制御システムにおいて、ある目的を達成するためのモ
ジュールを格納するモジュール格納手段と、前記モジュールから呼び出されるファンクシ
ョンを格納するファンクション格納手段と、使用者が操作し得る操作手段から得られる、
前記使用者によるモジュール選択情報に基づいて、前記モジュール格納手段に格納されて
いるモジュールを抽出するモジュール抽出手段と、該モジュール抽出手段により抽出され
たモジュールを、所定の順番に実行していくモジュール実行手段とを備えると共に、前記
モジュール格納手段に格納されているモジュールそれぞれが、独立した構成になっている
ことを特徴としている。
【０００９】
上記制御システム（１）によれば、前記モジュール格納手段に格納されているモジュー
ル（例えば、ＡＣ電圧を測定するためのモジュールや、リミッタ感度を測定するためのモ
ジュール）それぞれは独立した構成になっているので、自由に組み合わせることができる
。従って、前記モジュール格納手段に格納されているモジュールを自由に組み合わせるこ
とによって、製品（例えば、ラジオ装置）の検査などを行うソフトウェアを構築すること
ができる。
【００１０】
ところで、ラジオ装置の検査項目には、例えば、ＡＣ電圧を測定する項目やリミッタ感
度を測定する項目などが含まれる。ＡＣ電圧を測定するためには、ＤＶＭやオーディオ・
アナライザーなどの周辺機器を制御する必要がある。当然のことではあるが、制御対象と
なる周辺機器が異なれば、ソフトウェアも異なる。そのため、制御対象となる周辺機器が
ＤＶＭである場合には、ＤＶＭ用のソフトウェアを使用しなければならず、制御対象とな
る周辺機器がオーディオ・アナライザーである場合には、オーディオ・アナライザー用の
ソフトウェアを使用しなければならない。また、制御対象となる周辺機器がＤＶＭであっ
たとしても、製造会社が異なったり、製造会社が同じであったとしても、型が異なれば、
使用するソフトウェアも異なる。
【００１１】
図１に、ＡＣ電圧を測定するためのモジュールの一例を示す。ラジオ装置検査用で制御
対象となる周辺機器がＡ社のＤＶＭである場合、モジュールＭR1が使用され、制御対象と
なる周辺機器がＢ社のＤＶＭである場合、モジュールＭR2が使用され、制御対象となる周
辺機器がオーディオ・アナライザーである場合、モジュールＭR3が使用されることが示されている。すなわち、ラジオ装置のＡＣ電圧を測定するためのモジュールとして、モジュ
ールＭR1、ＭR2、ＭR3、…が使用されることが示されている。
【００１２】
同様に、ＣＤ再生装置のＡＣ電圧を測定するためのモジュールとして、モジュールＭc1
、ＭC2、ＭC3、…が使用されることが示され、ナビゲーション装置のＡＣ電圧を測定するためのモジュールとして、モジュールＭN1、ＭN2、ＭN3、…が使用されることが示されている。このように、ＡＣ電圧を測定するためのモジュールだけでも、複数用意しておく必
要がある。
【００１３】
また、ＡＣ電圧を測定するためには、制御対象となる周辺機器だけでなく、図２に示し
たように、測定開始待ち時間や、測定チャンネル、フィルタの有無、単位（Ｖ又はｄＢ）
の選択など、その他数多くの設定すべき事項が存在する。当然のことではあるが、制御対
象となる周辺機器が異なる場合と同様に、測定開始待ち時間などの設定が異なれば、ＡＣ
電圧を測定するためのソフトウェアも異なる。もちろん、測定開始待ち時間の設定は、プ
ログラム内の数値変更といった単純な作業であるが、当該プログラムを作成した者でなけ
れば、数値変更すべき箇所を簡単に見つけることはできない。
【００１４】
従って、ソフトウェアのモジュール化が図られていたとしても、例えば、ラジオ装置の
検査を行うためのソフトウェアを構築する場合、ソフトウェアを構築する者は、制御対象
となる周辺機器を把握し、その機器に応じたＡＣ電圧を測定するためのモジュールを選択
する必要があり、さらには当該モジュール内から数値変更すべき箇所を見つけて、数値変
更を行う必要がある。なお、このような作業はＡＣ電圧の測定だけでなく、リミッタ感度
の測定など、多くの検査項目に対しても必要となる。このように、単にソフトウェアのモ
ジュール化を図っただけでは、ラジオ装置の検査などを行うソフトウェアの構築は容易に
ならない。
【００１５】
ところが、上記制御システム（１）によれば、前記モジュール格納手段に格納されてい
るモジュールから、前記ファンクション格納手段に格納されているファンクションが呼び
出されるようになっているので、本論部分ではない、細かな部分（例えば、各制御対象に
応じた処理機能）については、モジュールではなく、モジュールから呼び出されるファン
クションに持たせるようにすることができる。
【００１６】
これにより、制御対象となる周辺機器を気にせず、単にＡＣ電圧を測定するためのモジ
ュールや、リミッタ感度を測定するためのモジュールなど、ラジオ装置の検査に必要とな
る検査項目を達成するモジュールを選択するだけで、ラジオ装置を検査するためのソフト
ウェアを構築することができるようになる。従って、プログラミングの知識を有しない者
であっても、ラジオ装置の検査など、所望の目的を達成するソフトウェアを構築すること
ができ、ソフトウェアの開発効率を大幅に向上させることができる。
【００１７】
また、本発明に係る制御システム（２）は、上記制御システム（１）において、前記モ
ジュール格納手段に格納されているモジュールが、パラメータ化されていることを特徴と
している。
【００１８】
上記制御システム（２）によれば、前記モジュール格納手段に格納されているモジュー
ルが、パラメータ化されているので、例えば、パラメータを設定することによって、所望
のファンクションが呼び出されるようにすることができる。これにより、モジュールの選
択とパラメータの設定といった単純な作業を行うだけで、ラジオ装置の検査など、所望の
目的を達成するソフトウェアを構築することができるようになる。従って、プログラミン
グの知識を有しない者であったとしても、前記所望の目的を達成するソフトウェアを簡単
に構築することができる。
【００１９】
また、測定開始待ち時間などの数値や、フィルタのＯＮ／ＯＦＦの設定、単位（Ｖ／ｄ
Ｂ）の選択などについても、パラメータ化することによって、汎用的に使用し得るモジュ
ールを実現することができる。すなわち、数値などが違っても、同じモジュールを使用す
ることができ、例えば、測定開始待ち時間を５００ｍ秒から１０００ｍ秒へ変更する場合
には、対応するパラメータへ入れる数値を変更すれば良いことになる。
【００２０】
また、本発明に係る制御システム（３）は、上記制御システム（１）又は（２）におい
て、前記モジュール格納手段に格納されているモジュールを、識別符号で管理するモジュ
ール管理手段を備えると共に、前記モジュール抽出手段が、前記識別符号でモジュールを
抽出するものであることを特徴としている。
【００２１】
上記制御システム（３）によれば、前記モジュール格納手段に格納されているモジュー
ル（例えば、関数で構成されたプログラム）は、識別符号（例えば、数値）で管理されて
いるので、モジュールの管理が非常に簡単になり、システムの負荷を軽減することができ
る。また、前記モジュール格納手段に格納されているモジュールについても、前記識別符
号で抽出されるので、抽出処理についても非常に簡単に行うことができる。
【００２２】
また、本発明に係る制御システム（４）は、上記制御システム（１）〜（３）のいずれ
かにおいて、あるファンクションから別のファンクションが呼び出されるように構成され
ていることを特徴としている。
【００２３】
上記制御システム（４）によれば、モジュールから呼び出されたファンクション（例え
ば、関数）から、別のファンクションが呼び出されたり、また、ファンクションから呼び
出された別のファンクションから、さらに別のファンクションが呼び出されるように構成
されているので、例えば、ＡＣ電圧の測定など、ある目的を実現するためのプログラムを
、モジュールをルート（root：根）として、一つ又は複数のファンクションから構成する
ことができる。
【００２４】
これにより、ある目的を実現するためのプログラムを、細かく分けて作成することがで
きるようになる。例えば、図３に示したように、モジュールＭ１（get_ac）には、ＡＣ電
圧を測定するための本論部分だけを持たせ、パラメータが設定（使用する制御機器の設定
）されることによって、モジュールＭ１から、ＤＶＭを制御する機能を有したファンクシ
ョンＦ１（get_ac_dvm）、又はオーディオ・アナライザーを制御する機能を有したファン
クションＦ２（get_ac_aa ）が呼び出される。
【００２５】
また、別のパラメータが設定（使用する制御機器の型番の設定）されることによって、
ファンクションＦ１から、型番が「３４７８」であるＤＶＭを制御する機能を有したファ
ンクションＦ３（get_ac_3478 ）、又は型番が「６５５１」であるＤＶＭを制御する機能
を有したファンクションＦ４（get_ac_6551 ）が呼び出され、また、ファンクションＦ２
から、型番が「７７２３」であるオーディオ・アナライザーを制御する機能を有したファ
ンクションＦ５（get_ac_7723 ）が呼び出される。
【００２６】
さらに、ファンクションＦ３〜Ｆ５から、ＧＰ−ＩＢ（general purpose interface bu
s ）を介してＤＶＭやオーディオ・アナライザーを制御する機能を有したファンクション
Ｆ６（get_gpib_dat）が呼び出され、このファンクションＦ６の処理によって、ＡＣ電圧
に関するデータが取得されることになる。
【００２７】
また、本発明に係る制御システム（５）は、上記制御システム（１）〜（４）のいずれ
かにおいて、前記モジュール抽出手段により抽出されたモジュールの全部、又はその一部
を一つのグループとして管理するグループ管理手段を備え、該グループ管理手段により管
理されているグループを、前記モジュール格納手段に格納されているモジュールとして扱
い得るように構成されていることを特徴としている。
【００２８】
上記制御システム（５）によれば、前記モジュール抽出手段により抽出されたモジュー
ルの全部、又はその一部が一つのグループとして、前記モジュール格納手段に格納されて
いるモジュールとして扱い得るので、例えば、ラジオ装置の検査に必須となる複数のモジ
ュール（例えば、ＡＣ電圧を測定するためのモジュールや、リミッタ感度を測定するため
のモジュールなど、複数のモジュール）を、仮想的に一つのモジュールとすることができ
る。
【００２９】
すなわち、ラジオ装置の検査に必須となる、ＡＣ電圧測定やリミッタ感度測定などの検
査項目を一つのまとめた検査項目とすることによって、これまで各検査項目それぞれを選
択しなければならなかったところを、一つの検査項目の選択で済むようになり、ソフトウ
ェアの構築をより効率良く行うことができるようになる。
【００３０】
また、本発明に係る制御システム（６）は、上記制御システム（１）〜（５）のいずれ
かにおいて、前記モジュール格納手段に格納されているモジュール、及び／又は前記ファ
ンクション格納手段に格納されているファンクションそれぞれは、ライブラリで管理され
るように構成されていることを特徴としている。
【００３１】
上記制御システム（６）によれば、前記モジュール格納手段に格納されているモジュー
ル、及び／又は前記ファンクション格納手段に格納されているファンクションを利用し易
くすることができる。従って、効率の良い呼び出しなどが可能となる。
【００３２】
また、本発明に係る制御システム（７）は、上記制御システム（６）において、前記ラ
イブラリはＤＬＬ（dynamic link library）であり、前記ライブラリで管理されているモ
ジュール、及び／又はファンクションは動的にローディングされるように構成されている
ことを特徴としている。
【００３３】
上記制御システム（７）によれば、前記ライブラリはＤＬＬであり、前記ライブラリで
管理されているモジュール、及び／又はファンクションは動的にローディングされるよう
に構成されている。すなわち、必要な時だけ、モジュールやファンクションが呼び出され
ることになるので、処理の負荷を軽減することができる。
【００３４】
また、本発明に係る制御システム（８）は、上記制御システム（１）〜（７）のいずれ
かにおいて、前記ファンクション格納手段に格納されているファンクションは、パラメー
タで呼び出されるように構成されていることを特徴としている。
【００３５】
上記制御システム（８）によれば、前記ファンクション格納手段に格納されているファ
ンクションは、パラメータで呼び出されるように構成されている。従って、パラメータを
設定するだけで、所望のファンクションを呼び出すことができる。
【００３６】
また、本発明に係る制御システム（９）は、上記制御システム（８）において、コメン
ト機能を用いて、前記パラメータの説明文が組み込まれていることを特徴としている。
【００３７】
モジュールやファンクションを構成する関数については、その作成者が自由に作成する
ことができる。そのため、パラメータの数や書式などについても、自由に決めることがで
きる。しかしながら、作成者が自由に決めることができれば、作成者以外の者はパラメー
タ機能を理解することは容易ではない。上記制御システム（９）によれば、コメント機能
を用いて、パラメータの説明文が組み込まれているので、作成者以外の者でもパラメータ
機能を容易に理解することができるようになる。
【００３８】
また、本発明に係る制御システム（１０）は、上記制御システム（１）〜（９）のいず
れかにおいて、モジュールの実行が正常に終了できたか否かを判断する実行結果判断手段
を備え、前記モジュール実行手段が、前記実行結果判断手段によりモジュールの実行が正
常に終了できなかったと判断された場合、各モジュール毎に指定された、実行が正常に終
了できなかった場合に次に実行すべきモジュールを、実行するものであることを特徴とし
ている。
【００３９】
上記制御システム（１０）によれば、モジュールの実行が正常に終了できなかった場合
、そのまま正規の順序でモジュールの実行が続けられるのではなく、別のモジュールが実
行される。従って、リカバリー機能を実現することができる。
【００４０】
また、本発明に係る制御システム（１１）は、上記制御システム（１０）において、使
用者が操作し得る操作手段から得られる、各モジュール毎に指定された、実行が正常に終
了できなかった場合に次に実行すべきモジュールを示した実行先情報を格納する実行先情
報格納手段を備え、前記モジュール実行手段が、前記実行結果判断手段によりモジュール
の実行が正常に終了できなかったと判断された場合、前記実行先情報格納手段に格納され
ている実行先情報に基づいて、次に実行すべきモジュールを実行するものであることを特
徴としている。
【００４１】
上記制御システム（１１）によれば、モジュールの実行が正常に終了できなかった場合
に次に実行すべきモジュールを使用者が指定することができる。従って、使用者によって
リカバリー機能の追加が実現されることになる。
【００４２】
また、本発明に係る制御システム（１２）は、上記制御システム（１）〜（１１）のい
ずれかにおいて、モジュールの実行が正常に終了したか否かを判断する正常終了判断手段
と、該正常終了判断手段によりモジュールの実行が正常に終了していないと判断された場
合、所定の回数を限度として、当該モジュールの再実行を行う再実行手段とを備えている
ことを特徴としている。
【００４３】
上記制御システム（１２）によれば、モジュールの実行が正常に終了していない場合、
前記所定の回数を限度として、再実行が行われる。すなわち、リトライ機能を実現するこ
とができる。また、再実行が前記所定の回数を限度として行われるので、前記所定の回数
、実行したとしても、正常に終了しない場合、モジュールの実行が正常に終了できなかっ
たとされる。
【発明を実施するための最良の形態】
【００４４】
以下、本発明に係る制御システムの実施の形態を図面に基づいて説明する。図４は、実
施の形態（１）に係る制御システムの要部を概略的に示したブロック図である。図中１は
ＣＰＵ２、ＲＯＭ３、及びＲＡＭ４などを含んで構成されるシステム制御部を示しており
、システム制御部１には使用者が操作し得るキーボード１１やマウス１２などの入力装置
と、ディスプレイ１３やプリンタ１４などの出力装置と、記憶装置１５〜１７と接続され
ている。また、システム制御部１には、ＧＰ−ＩＢやＲＳ２３２Ｃなどのインターフェー
スを介して、例えば、ＤＶＭ１８や、オーディオ・アナライザー１９、ＳＧ２０、バーコ
ード読取機器２１、検査対象となる製品２２などが接続されている。
【００４５】
記憶装置１５は、それぞれ独立した構成になっているモジュール（関数）を格納するも
のであり、例えば、図５に示したように、各モジュールはグループ分けされて、ライブラ
リで管理されるようになっている。例えば、タイミング関数ＭCO1や、ＡＣ電圧測定関数ＭCO2、メッセージ表示関数ＭCO3などを含むグループ「基本動作」はライブラリ「Com.DLL 」で管理され、パラメータリセット関数ＭRA1や、リミッタ感度測定関数ＭRA2、実用感度測定関数ＭRA3、サーチ感度測定関数ＭRA4などを含むグループ「ラジオ検査」はライブラリ「Radio.DLL 」で管理されている。また、関数ＭTA1、関数ＭTA2などを含むグループ「カセット検査」はライブラリ「Tape.DLL」で管理され、関数ＭCD1、関数CD2などを含むグループ「光学系ディスク検査」はライブラリ「Disk.DLL」で管理されている。
【００４６】
また、これらモジュールには、それぞれ固有の識別符号が付されており、この制御シス
テム内では、識別符号でモジュールを管理することができるようになっている。図６、図
７に、各モジュールの識別符号での管理を実現したプログラムの一例を示す。ここではタ
イミング関数ＭCO1に識別符号「10000 」が割り当てられ、ＡＣ電圧測定関数ＭCO2に識別符号「10001 」が割り当てられ、メッセージ表示関数ＭCO3に識別符号「10002 」が割り当てられており、識別符号「10000 」を指定すれば、タイミング関数ＭCO1を呼び出すことができるようになっている。また、パラメータリセット関数ＭRA1に識別符号「20000 」が割り当てられ、リミッタ感度測定関数ＭRA2に識別符号「20001 」が割り当てられ、実用感度測定関数ＭRA3に識別符号「20002 」が割り当てられており、識別符号「20000 」を指定すれば、パラメータリセット関数ＭRA1を呼び出すことができるようになっている。
【００４７】
記憶装置１６は、モジュール（又はファンクション）から呼び出されるファンクション
（関数）を格納するものであり、例えば、図８に示したように、各ファンクションはグル
ープ分けされて、ライブラリで管理されるようになっている。例えば、ＤＶＭを使ってＡ
Ｃ電圧を測定するための関数Ｆ１「get_ac_dvm」や、オーディオ・アナライザーを使って
ＡＣ電圧を測定するための関数Ｆ２「get_ac_aa 」などを含むグループ「デバイス統括部
」はライブラリ「DevMaster.DLL 」で管理されている。
【００４８】
また、ＤＶＭ（型番3478）を使ってＡＣ電圧を測定するための関数Ｆ３「get_ac_3478 
」や、ＤＶＭ（型番6551）を使ってＡＣ電圧を測定するための関数Ｆ４「get_ac_6551 」
などを含むグループ「ＤＶＭ群」はライブラリ「DevDvm.DLL」で管理され、オーディオ・
アナライザー（型番7723）を使ってＡＣ電圧を測定するための関数Ｆ５「get_ac_7723 」
などを含むグループ「ＡＡ群」はライブラリ「DevAa.DLL 」で管理されている。また、Ｇ
Ｐ−ＩＢを介してＤＶＭやオーディオ・アナライザーを制御するための関数Ｆ６「get_gp
ib_dat」などを含むグループ「ＧＰ−ＩＢ制御」はライブラリ「FT_GPIB.DLL 」で管理さ
れている。
【００４９】
記憶装置１７は、後で詳しく説明するが、キーボード１１やマウス１２などの入力装置
から得られる、使用者によるモジュール選択情報に基づいて、使用者により選択されたモ
ジュールを識別するための情報（ここでは、識別符号）を実行すべき順序に格納するもの
であり、例えば、図９に示したように、モジュールを識別するための情報が実行すべき順
序に格納された状態の一例を示す。ここでは、モジュールを識別するための情報が「2000
1 」、「10000 」、「10000 」、「10000 」、「10000 」、「10001 」、…の順序で格納
されており、このように並べられたモジュールから構築されたソフトウェアを実行すると
、まずリミッタ感度測定関数が実行され、その後、タイミング関数が４回実行され、そし
て、ＡＣ電圧測定関数が実行されていくことになる（図６、図７参照）。
【００５０】
なお、使用者がモジュールを選択するための操作は、ディスプレイ１３の画面上で行わ
れるようになっており、図１０に、モジュールを選択して所望の目的を達成するためのソ
フトウェアを構築するためのデータ編集画面の一例を示す。図中Ｄ１は、データ編集画面
を示しており、データ編集画面Ｄ１には、記憶装置１５に格納されているモジュールのグ
ループ名を表示するための領域Ｅ11と、領域Ｅ11に表示されているグループに属するモジ
ュールの名称を表示するための領域Ｅ12と、使用者により選択されたモジュール（すなわち、実行モジュール）を一覧表示するための領域Ｅ13と、ボタンスイッチＢ11〜Ｂ16とを有している。
【００５１】
図１１に示したように、領域Ｅ11の下側にグループ名（例えば、「基本動作」）が複数
表示されたメニューＭｅが現れている状態で、使用者によりいずれかのグループが選択さ
れると、図１２に示したように、選択されたグループ（ここでは、「基本動作」）の名称
が領域Ｅ11に表示され、そのグループに属するモジュールの名称が領域Ｅ12に表示されようになっている。
【００５２】
図１２に示したような画面状態で、キーボード１１やマウス１２などの入力装置が操作
されることによって、使用者によりいずれかのモジュールが選択され、そしてボタンスイ
ッチＢ11が押下されると、システム制御部１によって、選択されたモジュール（ここでは
、「ＡＣ電圧測定」）の識別符号に基づいて、当該モジュールが実行モジュールに追加さ
れ、記憶装置１７に格納され（図９参照）、そして、図１３に示したように、追加された
モジュールの名称が領域Ｅ13に表示されるようになっている。
【００５３】
なお、別の実施の形態に係る制御システムでは、実行モジュールとして選択されている
モジュールの全部、又はその一部を一つのグループとして管理するようにし、複数のモジ
ュールからなるグループを、記憶装置１５に格納されているモジュールとして扱うことが
できるようにしても良い。これにより、例えば、ラジオ装置の検査に必須となる複数のモ
ジュール（例えば、ＡＣ電圧を測定するためのモジュールや、リミッタ感度を測定するた
めのモジュールなど、複数のモジュール）を、仮想的に一つのモジュールとすることがで
きる。
【００５４】
また、各モジュールは、パラメータ化されており、例えば、パラメータを設定すること
によって、所望のファンクションを呼び出したり、また、測定開始待ち時間などの数値や
、フィルタのＯＮ／ＯＦＦの設定、単位（Ｖ／ｄＢ）の選択などを使用者が自由に行うこ
とができるようになっている。図１４に、測定開始待ち時間などの数値を使用者が設定す
るためのパラメータ入力画面の一例を示す。
【００５５】
図中Ｄ２は、パラメータ入力画面を示しており、パラメータ入力画面Ｄ２には、当該モ
ジュールの識別符号（Code Number ）を表示するための領域Ｅ21（ここでは、「10001 」
）と、ラベル名（Label Name）を設定するための領域Ｅ22と、モジュールの名称を表示するための領域Ｅ23（ここでは、「ＡＣ電圧測定］）と、モジュールを実行したときに得ら
れる値の上限値ＵＰを設定するための領域Ｅ24（ここでは、「２．１」）と、下限値ＬＯ
Ｗを設定するための領域Ｅ25（ここでは、「１．９」）と、モジュールが正常に終了でき
た場合に次に実行すべきモジュールを設定するための領域Ｅ26と、モジュールが正常に終了できなかった場合に次に実行すべきモジュールを設定するための領域Ｅ27、Ｅ28と、モジュールのリトライ回数（Retry Number）ＲＮを設定するための領域Ｅ29と、制御する計測器や、測定待ち時間などを指定するための領域Ｅ30とを有している。
【００５６】
上記したように、図１４に示したパラメータ入力画面上では、モジュールのラベル名や
、モジュールを実行したときに得られる値の上限値ＵＰ、下限値ＬＯＷ、モジュールが正
常に終了できた場合に次に実行すべきモジュール、モジュールが正常に終了できなかった
場合に次に実行すべきモジュールを設定することができるようになっている。また、モジ
ュールのリトライ回数ＲＮについても設定することができ、その回数だけリトライしても
正常に終了しない場合、モジュールは正常に終了できなかったと判断することができるよ
うになっている。なお、次に実行すべきモジュールを指定する方法としては、絶対番号Ａ
ｎ（図１１〜図１３の領域Ｅ13で示されている番号、すなわち実行の順序を示した番号）
で指定する方法や、相対番号Ｒｎ（スキップするモジュールの数、又はバックするモジュ
ールの数）で指定する方法、そしてラベル名Ｌｎ（領域Ｅ22で設定される名称）で指定す
る方法などが挙げられる。
【００５７】
領域Ｅ26、Ｅ27へは、絶対番号Ａｎ又はラベル名Ｌｎを入力することができ、また、領域Ｅ28へは、相対番号Ｒｎを入力することができるようになっている。なお、図１４に示したパラメータ入力画面を通じて設定された内容については、システム制御部１内のＲＡＭ３に記憶されるようになっている。
【００５８】
システム制御部１は、上記したように、キーボード１１やマウス１２などの入力装置か
ら得られる、使用者によるモジュール選択情報に基づいて、記憶装置１６に格納されてい
るモジュールの名称をディスプレイ１３に表示する機能（図１２、図１３参照）や、記憶
装置１７に格納されている情報（すなわち、実行すべき順序に並んでいる、使用者により
選択されたモジュールの識別符号）に基づいて、モジュールを実行していく機能（すなわ
ち、所望の目的を達成するためのソフトウェアを実行する機能）などを有している。
【００５９】
次に、上記実施の形態（１）に係る制御システムにおけるシステム制御部１の行う処理
動作［１］を図１５に示したフローチャートに基づいて説明する。なお、この処理動作［
１］は、キーボード１１やマウス１２などの入力装置が操作されることによって、モジュ
ールの実行に必要となるライブラリのローディングが使用者により指示された場合に行わ
れる動作である。
【００６０】
まず、図１６に示したような、ライブラリを一覧表示したライブラリ設定画面をディス
プレイ１３に表示する（ステップＳ１）。ライブラリ設定画面に表示されている「WinCom
」、「WinRadio」、「WinDisc 」などはそれぞれ、図５に示した、ライブラリ「Com.DLL 
」、「Radio.DLL 」、「Disk.DLL」などに対応している。
【００６１】
次に、キーボード１１やマウス１２などの入力装置が操作されることによって、このラ
イブラリ設定画面を通じて、使用者によりライブラリが選択されると（ステップＳ２）、
選択されたライブラリを動的にローディングする（ステップＳ３）。次に、ライブラリの
ローディングが完了したか否かを判断する（ステップＳ４）。
【００６２】
ローディングが完了したと判断すれば、次に、ローディングしたライブラリ内に格納さ
れている識別符号管理関数にアクセスし（ステップＳ５）、ライブラリ内で使用可能な関
数名を識別符号に対応づけて取得する（ステップＳ６）。これによって、以降、システム
内では、識別符号だけでモジュール（関数）及びファンクション（関数）の呼び出しが可
能になる。換言すれば、使用者（例えば、製品を検査するためのソフトウェアを、モジュ
ールを組み替えるなどして構築する者）は、モジュール開発者から（そのモジュールを使
用するに当たって）必要なライブラリ名を聞いておくことによって、用いたいモジュール
を使用することができる。一方、ステップＳ４において、ローディングが完了していない
と判断すれば、ステップＳ３へ戻る。
【００６３】
次に、上記実施の形態（１）に係る制御システムにおけるシステム制御部１の行う処理
動作［２］を図１７、図１８に示したフローチャートに基づいて説明する。なお、この処
理動作［２］は、キーボード１１やマウス１２などの入力装置が操作されることによって
、モジュールから構築された所望のソフトウェアの実行が使用者により指示された場合に
行われる動作である。
【００６４】
まず、カウンタｎを１にし（ステップＳ１１）、次に、カウンタｃを０にし（ステップ
Ｓ１２）、その後、記憶装置１７に格納されている情報（すなわち、実行すべき順序に並
んでいるモジュールの識別符号）に基づいて、第ｎ番目のモジュールを実行し（ステップ
Ｓ１３）、次に、当該モジュールの実行が正常に終了したか否かを判断する（ステップＳ
１４）。
【００６５】
なお、モジュールの実行が正常に終了したか否かを判断する方法としては、例えば、モ
ジュールがＣ＋＋言語で作成された関数でreturn文で呼び出し側に値を返すようになって
いる場合、「０」が返ってくれば、正常終了、「１」が返ってくれば、問題があっての終
了と判断するといった方法や、モジュールを実行したときに得られる値が上限値ＵＰ、下
限値ＬＯＷの範囲であるか否かを判断するといった方法が挙げられる。上限値ＵＰ、下限
値ＬＯＷについては、図１４に示したようなパラメータ入力画面（領域Ｅ24、Ｅ25）を通じて、使用者が設定することができるようになっている。
【００６６】
ステップＳ１４において、正常に終了したと判断すれば、次に、モジュールが正常に終
了した場合に次に実行すべきモジュールが設定されているか否か（すなわち、jump指定さ
れているか否か）を判断する（ステップＳ１５）。jump指定については、図１４に示した
ようなパラメータ入力画面（領域Ｅ26）を通じて、モジュール毎に使用者が設定すること
ができるようになっている。
【００６７】
ステップＳ１５において、jump指定されていないと判断すれば、次に、カウンタｎに１
を加算し（ステップＳ１６）、第ｎ番目に実行すべきモジュールが存在するか否か（すな
わち、実行すべきモジュールが残っているか否か）を判断する（ステップＳ１７）。実行
すべきモジュールが残っていると判断すれば、ステップＳ１２へ戻って、カウンタｃを０
に戻し、そして、第ｎ番目のモジュールを実行する。一方、実行すべきモジュールが残っ
ていないと判断すれば、処理動作［２］を終了する。
【００６８】
ステップＳ１５において、jump指定されていると判断すれば、次に、jump指定が絶対番
号Ａｎで指定されているか否かを判断し（ステップＳ１８）、絶対番号Ａｎで指定されて
いると判断すれば、カウンタｎを当該モジュールで指定された絶対番号Ａｎにし（ステッ
プＳ１９）、その後、ステップＳ１２へ戻る。
【００６９】
一方、絶対番号Ａｎで指定されていない（すなわち、ラベル名Ｌｎで指定されている）
と判断すれば、当該モジュールで指定されたラベル名Ｌｎに対応する絶対番号Ａｎを呼び
出し（ステップＳ２０）、カウンタｎを呼び出した絶対番号Ａｎにし（ステップＳ２１）
、その後、ステップＳ１２へ戻る。
【００７０】
また、ステップＳ１４において、モジュールが正常に終了していないと判断すれば、次
に、カウンタｃに１を加算し（ステップＳ３１）、カウンタｃがリトライ回数ＲＮを超え
ているか否かを判断する（ステップＳ３２）。リトライ回数ＲＮについては、図１４に示
したようなパラメータ入力画面（領域Ｅ29）を通じて、モジュール毎に使用者が設定する
ことができるようになっている。
【００７１】
カウンタｃがリトライ回数ＲＮを超えていないと判断すれば、ステップＳ１３（図１７
）へ戻って、第ｎ番目のモジュールを再度実行する。一方、カウンタｃがリトライ回数Ｒ
Ｎを超えていると判断すれば、当該モジュールは正常に終了できなかったと判定し、次に
、モジュールが正常に終了できなかった場合に次に実行すべきモジュールが設定されてい
るか否か（すなわち、jump指定されているか否か）を判断する（ステップＳ３３）。jump
指定については、図１４に示したようなパラメータ入力画面（領域Ｅ27、Ｅ28）を通じて
、モジュール毎に使用者が設定することができるようになっている。
【００７２】
ステップＳ３３において、jump指定されていると判断すれば、次に、jump指定が絶対番
号Ａｎで指定されているか否かを判断し（ステップＳ３４）、絶対番号Ａｎで指定されて
いると判断すれば、カウンタｎを当該モジュールで指定された絶対番号Ａｎにし（ステッ
プＳ３５）、その後、ステップＳ１２（図１７）へ戻る。
【００７３】
一方、絶対番号Ａｎで指定されていないと判断すれば、次に、jump指定がラベル名Ｌｎ
で指定されているか否かを判断し（ステップＳ３６）、ラベル名Ｌｎで指定されていると
判断すれば、当該モジュールで指定されたラベル名Ｌｎに対応する絶対番号Ａｎを呼び出
し（ステップＳ３７）、カウンタｎを呼び出した絶対番号Ａｎにし（ステップＳ３８）、
その後、ステップＳ１２へ戻る。
【００７４】
また、ステップＳ３６において、jump指定がラベル名Ｌｎで指定されていない（すなわ
ち、相対番号Ｒｎで指定されている）と判断すれば、カウンタｎに当該モジュールで指定
された相対番号Ｒｎを加算して（ステップＳ３９）、その後、ステップＳ１２へ戻る。例
えば、相対番号Ｒｎが「＋５」であれば、モジュールを５つ分スキップすることになり、
相対番号Ｒｎが「−４」であれば、４つ前のモジュールに戻ることになる。また、ステッ
プＳ３３において、jump指定されていないと判断すれば、次に、カウンタｎに１を加算し
（ステップＳ４０）、ステップＳ１７（図１７）へ進む。
【００７５】
上記実施の形態（１）に係る制御システムによれば、記憶装置１５に格納されているモ
ジュール（例えば、ＡＣ電圧を測定するためのモジュールや、リミッタ感度を測定するた
めのモジュール）それぞれは独立した構成になっているので、自由に組み合わせることが
できる。従って、記憶装置１５に格納されているモジュールを自由に組み合わせることに
よって、製品（例えば、ラジオ装置）の検査などを行うソフトウェアを構築することがで
きる。
【００７６】
また、記憶装置１５に格納されているモジュールから、記憶装置１６に格納されている
ファンクションが呼び出されるようになっているので、本論部分ではない、細かな部分（
例えば、各制御対象に応じた処理機能）については、モジュールではなく、モジュールか
ら呼び出されるファンクションに持たせるようにすることができる。
【００７７】
これにより、制御対象となる周辺機器を気にせず、単にＡＣ電圧を測定するためのモジ
ュールや、リミッタ感度を測定するためのモジュールなど、ラジオ装置の検査に必要とな
る検査項目を達成するモジュールを選択するだけで、ラジオ装置を検査するためのソフト
ウェアを構築することができるようになる。従って、プログラミングの知識を有しない者
であっても、ラジオ装置の検査など、所望の目的を達成するソフトウェアを構築すること
ができ、ソフトウェアの開発効率を大幅に向上させることができる。
【００７８】
また、モジュールやファンクションを構成する関数については、その作成者が自由に作
成することができるようになっている。そのため、パラメータの数や書式などについても
、自由に決めることができる。しかしながら、作成者が自由に決めることができれば、作
成者以外の者はパラメータ機能を理解することは容易ではない。そこで、別の実施の形態
に係る制御システムでは、コメント機能を用いて、パラメータの説明文を組み込むように
しても良い。これにより、作成者以外の者でもパラメータ機能を容易に理解することがで
きるようになる。
【図面の簡単な説明】
【００７９】
【図１】ＡＣ電圧を測定するためのモジュールの一例を示した図である。
【図２】ＡＣ電圧を測定するために設定すべき事項の一例を示した図である。
【図３】モジュールとファンクションとの関係の一例を示した図である。
【図４】本発明の実施の形態（１）に係る制御システムの要部を概略的に示したブロック図である。
【図５】実施の形態（１）に係る制御システムにおける記憶装置に格納されている情報の一例を示した図である。
【図６】各モジュールの識別符号での管理を実現したプログラムの一例を示した図である。
【図７】各モジュールの識別符号での管理を実現したプログラムの一例を示した図である。
【図８】実施の形態（１）に係る制御システムにおける記憶装置に格納されている情報の一例を示した図である。
【図９】実施の形態（１）に係る制御システムにおける記憶装置に格納されている情報の一例を示した図である。
【図１０】実施の形態（１）に係る制御システムにおけるディスプレイに表示される操作画面の一例を示した図である。
【図１１】実施の形態（１）に係る制御システムにおけるディスプレイに表示される操作画面の一例を示した図である。
【図１２】実施の形態（１）に係る制御システムにおけるディスプレイに表示される操作画面の一例を示した図である。
【図１３】実施の形態（１）に係る制御システムにおけるディスプレイに表示される操作画面の一例を示した図である。
【図１４】実施の形態（１）に係る制御システムにおけるディスプレイに表示される操作画面の一例を示した図である。
【図１５】実施の形態（１）に係る制御システムにおけるシステム制御部の行う処理動作を示したフローチャートである。
【図１６】実施の形態（１）に係る制御システムにおけるディスプレイに表示される操作画面の一例を示した図である。
【図１７】実施の形態（１）に係る制御システムにおけるシステム制御部の行う処理動作を示したフローチャートである。
【図１８】実施の形態（１）に係る制御システムにおけるシステム制御部の行う処理動作を示したフローチャートである。
【符号の説明】
【００８０】
１  システム制御部
１１  キーボード
１２  マウス
１３  ディスプレイ
１５〜１７  記憶装置
【図１】
2006092272.tif 000003
【図２】
2006092272.tif 000004
【図３】
2006092272.tif 000005
【図４】
2006092272.tif 000006
【図５】
2006092272.tif 000007
【図６】
2006092272.tif 000008
【図７】
2006092272.tif 000009
【図８】
2006092272.tif 000010
【図９】
2006092272.tif 000011
【図１０】
2006092272.tif 000012
【図１１】
2006092272.tif 000013
【図１２】
2006092272.tif 000014
【図１３】
2006092272.tif 000015
【図１４】
2006092272.tif 000016
【図１５】
2006092272.tif 000017
【図１６】
2006092272.tif 000018
【図１７】
2006092272.tif 000019
【図１８】
2006092272.tif 000020