(57)【要約】【課題】  優先順位が高いコマンドが処理待ちの状態となってしまう事態を回避する。【解決手段】  通信制御プログラム２１が制御器３から受信したステータス要求コマンドを装置制御プログラム２２に送信し、当該ステータス要求コマンドに対応して装置制御プログラム２２がステータス送信制御処理を行っている間に、通信制御プログラム２１が制御器３から新たなステータス要求コマンドを受信すると、コマンドフィルタ２３は状態遷移マトリックスに基づいてこれら新たなステータス要求コマンドを破棄して装置制御プログラム２２へ送信しない。【選択図】  図７
2008146527.tif 000002
【特許請求の範囲】
【請求項１】
外部との間の通信を制御する通信制御手段と、
通信制御手段を介して受信したコマンドに応じて制御対象の装置が有する機能を制御する装置制御手段と、
通信制御手段が外部から受信したコマンドを装置制御手段へ送るか否かを予め設定された状態遷移情報に基づいて決定するコマンドフィルタ手段と、
を備えたことを特徴とするコマンド処理方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から受信したコマンドをフィルタリング処理する方式に関し、例えば、組込み型システムの制御部のコマンド処理方式に適用して好適な技術に関する。
【背景技術】
【０００２】
図１には、組込み型システムのＰＡ制御装置（Power Amplification 増幅装置）に係る構成の一例を示してある。
従来では、ＰＡ制御装置１に設けられたＰＡ制御部２は外部の制御器３に接続されており、制御器３から送信されてきた全てのコマンドはその送信順にＰＡ制御部２で処理されていた。
【０００３】
このため、コマンド発生頻度が高くなった場合、ＰＡ制御部２に搭載されたＣＰＵ（プロセッサ）の処理負担が増大し、当該ＣＰＵの処理性能が十分でないときにはコマンド処理が追いつかなくなり、設定コマンド等の優先順位が高いコマンドが処理を待たされてしまうという問題があった。
より具体的には、比較的優先順位の低いステータス要求コマンドが制御器３から連続して送信された場合、これらコマンドが連続してＰＡ制御部２で受信されることとなり、ＰＡ制御部２ではステータス要求処理を繰り返し行うことになる。しかしながら、この繰り返し処理の間に、比較的優先順位の高い送信出カレベル設定コマンドが制御器３から送信された場合、ＰＡ制御部２ではこの送信出カレベル設定コマンドに対する処理が待たされることになる。
【０００４】
図１に示す例はＰＡ制御装置１に１台の制御器３が接続された構成であるが、昨今では装置のシステム化に伴い、図２に示すようにネットワーク通信回線を通してＰＡ制御装置１に複数台の制御器３が接続される構成もあり、ＰＡ制御装置１（ＰＡ制御部２）に対するコマンド発生頻度が更に高くなり、ＰＡ制御部２に搭載されたＣＰＵを更に圧迫する傾向にある。
【０００５】
制御コマンドの種類毎に通過できるか否かを予め固定的に設定したテーブルを参照して、プロセス間通信で入手したコマンドをフィルタリングし、通過が許可されたコマンドをコンピュータに送信する発明が提案されている（特許文献１参照）。
【特許文献１】特開２０００―２６７９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来の事情に鑑みなされたものであり、優先順位が高いコマンド（例えば、リアルタイム性を要求されるコマンド）が処理待ちの状態となってしまう事態を回避することを目的としている。
また、本発明は、制御部の負荷低減を図ってコマンド処理待ちを回避し、コマンドのリアルタイム処理を実現することを目的としている。
【課題を解決するための手段】
【０００７】
本発明は、外部との間の通信を制御する通信制御手段と、通信制御手段を介して受信したコマンドに応じて制御対象の装置が有する機能を制御する装置制御手段と、通信制御手段が外部から受信したコマンドを装置制御手段へ送るか否かを予め設定された状態遷移情報に基づいて決定するコマンドフィルタ手段と、を備えたことを特徴とするコマンド処理方式である。
【０００８】
本発明によると、通信制御手段を介して受信したコマンドを装置制御手段へ送るか否かが状態遷移情報に基づいて決定される。すなわち、装置制御手段の現在の状態に応じて、当該装置制御手段にコマンドを送って処理をさせるか否かが動的に決定される。
したがって、例えば装置制御手段の処理負担が大きい場合には優先順位の低い種類のコマンドは当該装置制御手段へ送るのを取り止めるといったように、状態遷移情報に予め設定しておくことで、外部から受信した優先順位の高いコマンドを迅速に装置制御手段へ転送して処理させることができる。
【発明の効果】
【０００９】
本発明によると、通信制御手段を介して受信したコマンドを装置制御手段へ送るか否かを状態遷移情報に基づいて動的に決定するようにしたため、優先順位やリアルタイム性等が高いコマンドが処理待ちとなる状況を回避して迅速に処理することができる。
すなわち、装置制御手段の現状に応じて当該装置制御手段が処理すべきコマンドを取捨選択することができ、例えば装置制御手段を構成するＣＰＵ（上記の例のＰＡ制御部２を構成するＣＰＵに相当）の負荷低減を図ってコマンド処理待ちを回避することができ、コマンドのリアルタイム処理を実現することができる。
【発明を実施するための最良の形態】
【００１０】
本発明を、実施例に基づいて具体的に説明する。
本実施例は、本発明を図１や図２に示したような組み込みシステムに適用するものであり、外部の制御器３から受信したコマンドをＰＡ制御装置１に設けられたＰＡ制御部２で処理する。
【００１１】
本実施例のＰＡ制御部２はＣＰＵにより本発明に係るコマンド処理プログラムを実行することでその機能手段を実現しており、本発明の主要な構成である通信制御手段、装置制御手段、及び、コマンドフィルタ手段はそれぞれ同様にＰＡ制御部２のＣＰＵにより通信制御プログラム２１、装置制御プログラム２２、コマンドフィルタプログラム２３を実行することで実現されている。
【００１２】
本実施例におけるＰＡ制御部２のＣＰＵ上で動作するプログラム構成について説明する。
プログラムは、大まかに通信制御プログラム２１と装置制御プログラム２２に分けられ、通信制御プログラム２１は制御器３との通信のやり取りの制御を行い、装置制御プログラム２２はＰＡ制御装置１が所有する機能を実現するための制御を行う。
なお、本実施例では、図６に示すように、コマンドフィルタプログラム２３は通信制御プログラム２１の一部として構成されている。
【００１３】
ここで、プログラムを実装する形態としては、図３に示すようにＰＡ制御部２を構成する１つのＣＰＵ上に通信制御プログラム２１と装置制御プログラム２２を実装する形態、図４に示すようにＰＡ制御部２を構成する２つのＣＰＵ１とＣＰＵ２上に通信制御プログラム２１と装置制御プログラム２２を分けて実装する形態等、種々な形態が可能である。
【００１４】
図３に示す実装形態では、１つのＣＰＵ上に通信制御プログラム２１と装置制御プログラム２２が存在し、各プログラム２１、２２間のデータのやり取りは共有メモリを通して行い、この１つのＣＰＵにより通信制御と装置制御の両方を行う。
図４に示す実装形態では、一方のＣＰＵ１に通信制御プログラム２１が存在して当該ＣＰＵ１では通信制御処理のみ行い、他方のＣＰＵ２に装置制御プログラム２２が存在して当該ＣＰＵ２では装置制御処理のみ行う。また、ＣＰＵ１とＣＰＵ２は通信回線で結合され装置制御の指示コマンドがＣＰＵ１からＣＰＵ２へ送られ、装置制御の結果ステータスがＣＰＵ２からＣＰＵ１に送られる。
【００１５】
なお、図３に示す実装形態は比較的処理能カが高いＣＰＵを使用する場合にとられる形態であり、図４に示す実装形態は処理能力が低いＣＰＵを使用する場合、あるいはＰＡ制御装置１の装置制御が複雑（例えば、外部との入出力インタフェース処理を多く含む）であったり、処理負荷が高い場合にとられる形態である。
【００１６】
図５には、各プログラムの処理内容を示す。
通信制御プログラム２１（図５（ａ））は、回線制御３１、制御器３からの制御メッセージ（コマンド）受信３２、制御器３への制御結果ステータス送信３３に分類される。
【００１７】
回線制御３１では、制御器３からの回線接続、回線切断コマンドの受信、回線接続後の回線状態チェック（例えば、電源断等により回線が物理的に切断されていないかのチェック）を行う。
【００１８】
制御器からの制御メッセージ受信３２では、回線接続コマンドの受信後、制御器３から送られてくる制御メッセージ（コマンド）を受信し、受信した制御メッセージの電文フォーマットが正しいかを解析してチェックし、正しければＡＣＫを制御器３へ送信し、間違っていればＮＡＫを制御器３へ送信して、伝送制御手順に従った通信制御を行う。また、正しく受信した制御メッセージから制御指示を作成し、装置制御プログラム２２ヘ送信する。
【００１９】
制御器３へ制御結果ステータス送信３３では、装置制御プログラム２２からの制御結果ステータスを取得し、制御器３に送信する制御結果ステータス電文を作成し、制御器３に前記電文を送信する。また、電文の送信後、伝送制御手順に従った通信制御（無応答通信エラー処理、ＮＡＫ受信エラー処理、ＡＣＫ受信処理）を行う。
【００２０】
装置制御プログラム２２（図５（ｂ））は、通信制御プログラムからの制御指示取得４１、装置制御４２、通信制御プログラムヘの制御結果ステータス通知４３に分類される。
【００２１】
通信制御プログラムからの制御指示取得４１では、通信制御プログラム２１から通知された制御指示を取得する。例えば、ＰＡ制御装置１の場合には、通信制御プログラム２１から電波型式制御、周波数制御、送信出カ制御、自己診断制御、リセットフォールト制御、設定クリア制御、ステータス送信制御の各制御指示が通知される。
【００２２】
装置制御４２では、通信制御プログラムからの制御指示取得４１が取得した制御指示の内容に従ったＰＡ制御装置１の制御を行う。
【００２３】
通信制御プログラムヘの制御結果ステータス通知４３では、装置制御４２の制御結果を通信プログラム２１ヘ通知する。
【００２４】
ここで、従来では、制御器３から送られてくる制御メッセージ(コマンド)を通信制御プログラム２１が受信し、制御メッセージから装置制御プログラム２２に通知すべき装置制御指示を作成し、それをそのまま装置制御プログラム２２に送っていた。
これに対して、本実施例では、図６に示すように、装置制御プログラム２２に送る必要の無いコマンドは装置制御プログラム２２に送らないよう機能するコマンドフィルタ手段２３が通信制御プログラム２１に構成されている。このコマンドフィルタ２３は通信制御プログラム２１上で機能し、予め設定されている状態遷移情報に基づいて、装置制御プログラム２２に送る必要の有無を動的に決定する。
【００２５】
なお、具体的には、本実施例のコマンドフィルタ手段（コマンドフィルタプログラム）２３は、図５及び図６に示すように、通信制御プログラム２１の装置制御プログラムヘの制御指示（制御器からの制御メッセージ受信３２）と装置制御プログラムからの制御結果ステータス取得処理（制御器へ制御結果ステータス送信３３）の間に組み込まれている。
【００２６】
ここで、コマンドフィルタ手段２３によるフィルタリング処理の例を説明する。
＜例１＞
ＰＡ制御装置１のステータスを要求するステータス送信制御指示（ステータス要求コマンド）を装置制御プログラム２２に送信中に、ステータス送信制御指示に対する応答結果が返らないうちに通信制御プログラム２１が制御器３から次のステータス要求コマンドを受信した場合には、後のステータス要求コマンドの制御指示は装置制御プログラム２２には送らず、前のステータス要求の応答結果が装置制御プログラム２２から返ってくるのを待ち、返ってきた制御結果ステータスをＰＡ制御装置１のステータスとして制御器３に送信する。
これにより２番目以降に送られてきたステータス要求コマンドは、１番目のステータス要求コマンドが装置制御プログラム２２で処理中は装置制御プログラム２２に送られることなく破棄され、装置制御プログラム２２の不要な処理を取り除くことができる。
【００２７】
＜例２＞
装置制御プログラム２２が或る制御（例えば、自己診断制御）を処理中に、別の装置制御（例えば、周波数制御）の制御メッセージを通信制御プログラムが制御器から受信した場合、通信制御プログラム２１は、このコマンド(制御指示)を装置制御プログラム２２に送らずビジー応答を制御器３に返す。
従来では、装置制御プログラム２２が自己診断処理を実行中に通信制御プログラム２１が制御器３から周波数設定の制御メッセージを受信した時は、そのまま装置制御プログラム２２に周波数設定の指示を通知し、装置制御プログラム２２からビジー応答が返ってきたときにはそれを制御器３に送信していた。このため、装置制御プログラム２２が周波数設定指示を受信バッファから取り出してビジーの判定をし、通信制御プログラム２１に通知するという不要な処理が実行されていたが、本例によると当該不要な処理が回避される。
【００２８】
図７には、制御器３から受信したステータス要求コマンドに応じて装置制御プログラム２２が処理を行っているときに、制御器３から受信した新たなコマンドに対してコマンドフィルタ２３が行う制御処理の一例を示してある。
すなわち、通信制御プログラム２１が制御器３から受信したステータス要求コマンドを装置制御プログラム２２に送信し、当該ステータス要求コマンドに対応して装置制御プログラム２２がステータス送信制御処理を行っている間に、通信制御プログラム２１が制御器３から新たなステータス要求コマンドを受信すると、コマンドフィルタ２３はこれら新たなステータス要求コマンドを破棄して装置制御プログラム２２へ送信しない。
【００２９】
後続する新たなステータス要求コマンドを装置制御プログラム２２へ送信したとしても、装置制御プログラム２２から同じステータスが得られるだけであるので、上記のように後続する新たなステータス要求コマンドを破棄しても問題は生じない。
一方、リアルタイム性が高い等の理由でステータス要求コマンドに対して優先順位の高いコマンド（図示の例では送信出力設定コマンド）を通信制御プログラム２１が制御器３から受信したときには、装置制御プログラム２２がステータス送信制御処理を行っている間であっても、当該優先順位の高いコマンドはコマンドフィルタ２３が破棄せずに装置制御プログラム２２へ送信される。
【００３０】
上記のようなコマンドフィルタ手段２３による処理は、本例では図８及び図９に示すような状態遷移マトリックスを参照して行われる。
状態遷移マトリックスはコマンドフィルタ手段２３が有しており、状態遷移マトリックスには装置制御プログラム２２の状態遷移を模擬する２つのマトリックスが予め設定されている。
図８に示すマトリックスは通信制御プログラム２１が制御器３からコマンドを受信した際の状態遷移マトリックスであり、図９に示すマトリックスは通信制御プログラム２１が装置制御プログラム２２から装置制御結果ステータスを受信した際の状態遷移マトリックスである。
【００３１】
図８の状態遷移マトリックスは通信制御プログラム２１が制御器３からコマンドを受信した時に取るべき処理を示している。図中、取るべき処理と、ステータスを移行する必要があれば（→ステータス番号）の形式で書かれている。
取るべき処理として（送信）（ＢＵＳＹ）（ステータス結果通知待ち）があり、（送信）は受信したコマンドを装置制御プログラム２２に送信することを意味し、（ＢＵＳＹ）は受信したコマンドを装置制御プログラム２２には送信せずに通信制御プログラム２１が制御器３にビジー応答を直接返すことを意味し、（ステータス結果通知待ち）は装置制御プログラム２２に前回送信したステータス送信制御指示（ステータス要求コマンド）の応答結果が返るのを待つことを意味する。
【００３２】
例えば、アイドル中に制御器３から電波型式の制御メッセージ（コマンド）を受信したとする。このとき通信制御プログラム２１（コマンドフィルタ２３）は装置制御プログラム２２に電波型式の制御指示を送信して、ステータスを電波型式処理中にする。
また、電波型式処理中に制御器３から電波型式、自己診断、リセットフォールト、設定クリアの制御コマンドを受信した時には、ビジー応答を制御器３に返してステータスは変化しない。一方、周波数、送信出力、ステータス要求の制御コマンドを制御器３から受信した時には、装置制御プログラム２２にこれら周波数、送信出カ、ステータス要求の制御指示を送信し、ステータスをそれぞれ電波型式／周波数処理中、電波型式／送信出処理中、電波型式＋ステータス処理中に移す。
【００３３】
また、電波型式＋ステータス処理中に制御器３からステータス要求の制御メッセージを受信した時には、コマンドフィルタ２３は当該ステータス要求の制御メッセージを破棄して、前回送信したステータス送信制御指示の応答を待ち、応答が返ってきたらそれを制御装置のステータスとして制御器３に送信する。
【００３４】
図９の状態遷移マトリックスは通信制御プログラム２１が装置制御プログラム２２から装置制御結果ステータス応答を受信した時に取るべき処理を示している。図８と同様に、図中、取るべき処理と、ステータスを移行する必要があれば（→ステータス番号）の形式で書かれている。
例えば、通信制御プログラム２１（コマンドフィルタ２３）は制御結果ステータス応答を受信すると、ステータス番号を変更し、制御結果の制御結果ステータス電文を作成して制御部３へ送信する。
【００３５】
このようにコマンドフィルタ２３は図８及び図９の状態遷移マトリックスに記述された通りに動作し、制御器３から送られてきたコマンドにフィルタリング処理を行って装置制御プログラム２２に送信すべきコマンドを決定する。
これにより、コマンド発生頻度が高くなると制御装置１の制御部２のＣＰＵ処理負荷が大きくなってコマンド処理待ちが発生する不具合を回避し、優先順位の高いコマンドのリアルタイム処理を実現する。
【図面の簡単な説明】
【００３６】
【図１】本発明を適用する組み込みシステムの一例を説明する図である。
【図２】本発明を適用する組み込みシステムの他の一例を説明する図である。
【図３】本発明を適用する制御部の一例を説明する図である。
【図４】本発明を適用する制御部の他の一例を説明する図である。
【図５】本発明の一例に係るプログラム構成を説明する図である。
【図６】本発明の一例に係る機能構成を説明する図である
【図７】本発明の一例に係るコマンドフィルタの機能を説明する図である
【図８】本発明の一例に係る状態遷移マトリックスを説明する図である。
【図９】本発明の一例に係る状態遷移マトリックスを説明する図である。
【符号の説明】
【００３７】
１：ＰＡ制御装置、  ２：ＰＡ制御部、
３：制御器、  ２１：通信制御プログラム、
２２：装置制御プログラム、  ２３：コマンドフィルタプログラム、
【図１】
2008146527.tif 000003
【図２】
2008146527.tif 000004
【図３】
2008146527.tif 000005
【図４】
2008146527.tif 000006
【図５】
2008146527.tif 000007
【図６】
2008146527.tif 000008
【図７】
2008146527.tif 000009
【図８】
2008146527.tif 000010
【図９】
2008146527.tif 000011