(57)【要約】  家電製品等の様々な機能を備える製品において、各機能からデバイスへ出力される競合する要求を調停する処理構造を単純にして、保守性や拡張性を高くすることを目的とする。ミドルウェア部（２０）が有する複数のフェーズのうち、機能実行部（１２）毎に予め定められたフェーズへ、各機能実行部（１２）が出力した動作要求が入力される。ミドルウェア部（２０）は、先頭のフェーズから順に、予め定めた調停情報に従い、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力する。デバイス制御部（３０）は、最後のフェーズで生成された動作要求に従い、デバイスの動作を制御する。
2013168280.tif 000002
【特許請求の範囲】
【請求項１】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御装置であり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力部と、
前記フェーズ毎に、調停情報を記憶した調停情報記憶部と、
先頭のフェーズから順に、前記調停情報記憶部が記憶した調停情報に従い、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成部と、
最後のフェーズで前記要求生成部が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御部と
を備えることを特徴とする制御装置。
【請求項２】
前記調停情報記憶部は、前記複数のフェーズのうちの選択フェーズについては、入力される動作要求についての優先度を前記調停情報として記憶し、
前記要求生成部は、前記選択フェーズにおいては、入力された動作要求から、優先度の高い１つの動作要求を選択して、選択した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記調停情報記憶部は、前記複数のフェーズのうちの組合せフェーズについては、入力された動作要求の組合せに応じて、生成される動作要求を定めた組合せ情報を前記調停情報として記憶し、
前記要求生成部は、前記組合せフェーズにおいては、組合せ情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記調停情報記憶部は、前記複数のフェーズのうちの遷移フェーズについては、前記デバイスの動作状態と、入力された動作要求との組合せに応じて、生成される動作要求を定めた状態遷移情報を前記調停情報として記憶し、
前記要求生成部は、前記遷移フェーズにおいては、状態遷移情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１から３までのいずれかに記載の制御装置。
【請求項５】
前記調停情報記憶部は、前記複数のフェーズのうちの補正フェーズについては、前記ＡＰＰから出力された動作要求についての優先度を前記調停情報として記憶し、
前記要求生成部は、前記補正フェーズにおいては、前記ＡＰＰから出力された動作要求から優先度の高い１つの動作要求を選択して、選択した動作要求で前のフェーズで生成した動作要求を補正し、補正した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１から４までのいずれかに記載の制御装置。
【請求項６】
前記要求入力部は、優先度の高い動作要求ほど前のフェーズあるいは後のフェーズへ入力する
ことを特徴とする請求項１から５までのいずれかに記載の制御装置。
【請求項７】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御方法であり、
処理装置が、順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力工程と、
処理装置が、フェーズ毎に予め記憶装置に記憶した調停情報に従い、先頭のフェーズから順に、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成工程と、
処理装置が、最後のフェーズで前記要求生成工程が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御工程と
を備えることを特徴とする制御方法。
【請求項８】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御プログラムであり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力処理と、
フェーズ毎に予め記憶装置に記憶した調停情報に従い、先頭のフェーズから順に、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成処理と、
最後のフェーズで前記要求生成処理が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御処理と
をコンピュータに実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、複数のソフトウェアからデバイスに対して出力された競合する要求を調停する技術に関する。
【背景技術】
【０００２】
冷蔵庫、エアコン、クッキングヒータ、乾燥器等の家電製品の技術進歩に伴う高機能化、高性能化により、組込ソフトウェアの開発ボリュームが大きくなっている。
元々、家電製品がマイクロコンピュータを搭載していない時代には、デバイスの制御はハードウェア回路により実現されていた。しかし、マイクロコンピュータの出現に伴い、デバイスの制御は組込ソフトウェアによる制御に移り変わった。ハードウェア回路から組込ソフトウェアへ制御を移行する際、ハードウェア回路のハードワイアードロジックが、デバイスを制御するプログラムに置き換えられた。【０００３】
ハードワイアードロジックからプログラムへの置き換えでは、ハードワイアードロジックで実現される機能を機械語へ直接変換しようとして、機械語の手順に従い命令が羅列される。このように作成された組込ソフトウェアは、論理的なプログラム設計手法に基づいて組込ソフトウェアが最初から作成された場合に比べて、構造化設計がなされていない。こうした組込ソフトウェアのソースコードは、スパゲッティコードと称されるような非常に複雑なものになる傾向があった。そのため、問題発生箇所の特定等の保守作業や、改良のための機能拡張が困難である。【０００４】
現在では、組込ソフトウェアは、上述した機械語によるプログラムから一般の計算機向け言語によるプログラムへ移り変わってきている。また、組込ソフトウェアでは、デバイスに対して直接的に単純な操作命令を送信するデバイスドライバと呼ばれる部分プログラムが他のプログラムから分離して作成され、使い回すようになってきている。そのため、現在では、当初の機械語による組込ソフトウェアの開発よりも開発効率は向上している。【０００５】
しかし、製品に要求される機能は多数あり、高機能化に伴いますます増加する傾向にある。多数の機能から出力される多様な要求は、最終的にデバイスを作動させるときに競合する場合がある。組込ソフトウェアは、この競合する要求を適切に調停することが求められており、その調停機能の作成が難しいことが課題となっている。【０００６】
一般的に、開発者が、製品の要求仕様書に基づき、機能毎にプログラムを作成して組込ソフトウェアを開発する。開発者は、機能を実現するプログラムに、デバイスに対する要求を調停する条件のプログラムを含めて作成してしまう。
少ない機能の製品であれば、こうしたやり方でもプログラムの作成は比較的容易である。しかし、数多くの機能がデバイスへ多様な要求を出す製品では、要求が競合した場合にどの機能の要求を有効にして、どの機能の要求を無効にするかという条件が非常に複雑になる。
この場合には、最初に組込ソフトウェアを開発した開発者しか、複雑な条件を実現するプログラムの仕組が理解できず、他の開発者が改修を行うのは非常に難しい。他の開発者が、条件を実現するプログラムの理解が不十分なまま無理に改修を行って、不具合が増えてしまう場合もある。これは、数多くの機能が１つのデバイスに対して密接な関係を持つため、１つの機能だけに着目して改修を行うと、一見関係ないと思われた機能にまで知らずに影響が及んでいることがあるためである。【０００７】
そこで、組込ソフトウェアの開発方法として、オブジェクト指向設計や構造化設計等の効率的なプログラム設計方法が考案されている。これらの設計手法に基づき、開発用ソフトウェアプラットホーム、ミドルウェア、ソフトウェア自動作成ツール等が開発されている。【０００８】
その例として、特許文献１には、組込ソフトウェアを制御フィルタ部品として機能分割を行い、機能分割した制御フィルタ部品を優先順位指定で配列するという設計モデリングについての記載がある。【０００９】
他の例として、非特許文献１には、デバイスの状態遷移の管理、デバイスを利用する際の競合解決の管理、各処理に課せられる時間制約の管理という大きな３つの役割に分担して管理する設計モデリングについての記載がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−７８８０９号公報
【非特許文献】
【００１１】
【非特許文献１】岩橋  正美、満田  成紀、鰺坂  恒夫、中島  毅著  「オブジェクトの自律化と競合解決に基づく組込みオブジェクト指向開発手法の提案」情報処理学会研究報告  Ｖｏｌ．２００９−ＳＥ−１６４  Ｎｏ．１１
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１や非特許文献１に記載された設計モデリングを用いても、機能を実現する上位の部分プログラムと、デバイスを制御する下位の部分プログラムとが密接に結合した状態となる。その結果、構造的なプログラム設計が難しくなってしまい、ソフトウェアが複雑になり、保守性、再利用性、拡張性が低下してしまう。
この発明は、競合する要求を調停する処理構造を単純にすることを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係る制御装置は、
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御装置であり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力部と、
前記フェーズ毎に、調停情報を記憶した調停情報記憶部と、
先頭のフェーズから順に、前記調停情報記憶部が記憶した調停情報に従い、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成部と、
最後のフェーズで前記要求生成部が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御部と
を備えることを特徴とする。
【発明の効果】
【００１４】
この発明に係る制御装置は、ＡＰＰには、競合する要求を調停する機能を含める必要がなく、ＡＰＰと、競合する要求を調停する機能とを分離することが可能である。特に、この発明に係る制御装置は、複数のフェーズに分けて順に要求を調停するため、競合する要求を調停する処理構造を単純にすることが可能である。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係る制御装置１００の構成図。
【図２】実施の形態１に係るミドルウェア部２０の構成図。
【図３】実施の形態１に係るミドルウェア部２０の動作を示すフローチャート。
【図４】制御装置１００が冷蔵庫に実装されている場合を想定した例を示す図。
【図５】実施の形態１に係るフェーズ１についての調停情報を示す図。
【図６】実施の形態１に係るフェーズ２についての調停情報を示す図。
【図７】実施の形態２に係る制御装置１００の構成図。
【図８】実施の形態２に係るミドルウェア部２０の動作を示すフローチャート。
【図９】実施の形態２に係るフェーズ１についての調停情報を示す図。
【図１０】実施の形態３に係る制御装置１００の構成図。
【図１１】実施の形態３に係るミドルウェア部２０の動作を示すフローチャート。
【図１２】実施の形態３に係るフェーズ１についての調停情報を示す図。
【図１３】実施の形態４に係る制御装置１００の構成図。
【図１４】実施の形態４に係るミドルウェア部２０の構成図。
【図１５】実施の形態４に係るミドルウェア部２０の動作を示すフローチャート。
【図１６】実施の形態４に係るフェーズ１についての調停情報を示す図。
【図１７】制御装置１００がエアコンに実装されている場合を想定した例を示す図。
【図１８】図１７に示す例において出力される２次要求を示す図。
【図１９】一般的な制御装置がエアコンに実装されている場合を想定した例を示す図。
【図２０】ＤＣ（直流）モータ駆動型の自動運搬車の説明図。
【図２１】制御装置１００が図１８に示す自動運搬車に実装されている場合を想定した例を示す図。
【図２２】上記実施の形態に係る制御装置１００のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１６】
実施の形態１．
図１は、実施の形態１に係る制御装置１００の構成図である。
制御装置１００は、家電製品を制御する。制御装置１００は、アプリケーション部１０、ミドルウェア部２０、デバイス制御部３０、デバイスドライバ４０を備える。
【００１７】
アプリケーション部１０は、何らかの機能を実現するアプリケーションプログラム（以下、ＡＰＰ）であり、基本運転実行部１１、複数の機能実行部１２（ここでは、機能実行部１２Ａ〜Ｅ）を備える。
基本運転実行部１１は、家電製品の基本運転を実現するＡＰＰである。基本運転実行部１１は、家電製品の電源が入っている場合には、利用者の操作や外部の環境等に関わらず動作する。
機能実行部１２は、家電製品の付加機能を実現するＡＰＰである。機能実行部１２は、付加機能毎に設けられ、利用者の操作や外部の環境等に応じて動作する。
【００１８】
ミドルウェア部２０は、基本運転実行部１１及び各機能実行部１２からデバイスの動作要求（以下、１次要求）を取得し、競合する１次要求を調停した新動作要求（以下、２次要求）を生成して出力する。
ミドルウェア部２０は、順序が設定された複数のフェーズ（ここでは、フェーズ１〜４）を有しており、基本運転実行部１１及び各機能実行部１２から出力された１次要求をいずれかのフェーズに入力する。そして、ミドルウェア部２０は、上位のフェーズから順に、入力された１次要求を調停して、調停した１次要求を次のフェーズへ入力することを繰り返し、最終的に２次要求を生成する。
【００１９】
デバイス制御部３０は、ミドルウェア部２０が生成した２次要求に従い、デバイスドライバ４０へ与える制御パラメータを生成する。デバイス制御部３０は、生成した制御パラメータをデバイスドライバ４０へ与えることにより、デバイスを制御する。
【００２０】
デバイスドライバ４０は、デバイス制御部３０が生成した制御パラメータに従い、デバイス（ハードウェア）を動作させる。
【００２１】
図２は、実施の形態１に係るミドルウェア部２０の構成図である。
ミドルウェア部２０は、要求入力部２１、調停情報記憶部２２、要求生成部２３を備える。
要求入力部２１は、基本運転実行部１１が出力した１次要求を先頭のフェーズ１へ入力する。また、要求入力部２１は、複数のフェーズのうち、機能実行部１２毎に予め定められたフェーズへ各機能実行部１２が出力した１次要求を入力する。
調停情報記憶部２２は、フェーズ毎に、１次要求の競合を調停するための調停情報を記憶装置に記憶する。ここでは、調停情報は、各１次要求についての優先度である。
要求生成部２３は、先頭のフェーズから順に、入力された１次要求から、調停情報が示す優先度が最も高い１次要求を選択する。要求生成部２３は、最終フェーズ以外のフェーズでは、選択した１次要求を次のフェーズへ入力する。要求生成部２３は、最終フェーズでは、選択した１次要求を２次要求としてデバイス制御部３０へ出力する。
【００２２】
図３は、実施の形態１に係るミドルウェア部２０の動作を示すフローチャートである。
家電製品の電源が入れられると、制御装置１００が起動し、処理が開始する。
すると、要求入力部２１は、基本運転実行部１１が出力した１次要求をフェーズ１へ入力するとともに、各機能実行部１２が出力した１次要求を予め定められたフェーズへ入力する（Ｓ１１）。
次に、要求生成部２３は、フェーズを表す変数ｉを１に初期化する（Ｓ１２）。そして、要求生成部２３は、フェーズｉについて、入力された１次要求から優先度が最も高い１次要求を選択する（Ｓ１３）。要求生成部２３は、フェーズｉが最終フェーズであるか否かを判定し（Ｓ１４）、最終フェーズでない場合、選択した１次要求を次のフェーズｉ＋１へ入力し（Ｓ１５）、変数ｉに１を加えて（Ｓ１６）、処理をＳ１３へ戻す。一方、要求生成部２３は、最終フェーズである場合、選択した１次要求を２次要求として、デバイス制御部３０へ出力する（Ｓ１７）。
要求生成部２３は、２次要求を出力すると、所定の時間が経過した後、再びＳ１１から処理を実行する。
【００２３】
図４は、制御装置１００が冷蔵庫に実装されている場合を想定した例を示す図である。
一般に、冷蔵庫には、圧縮機（デバイスの一例）が備えられており、圧縮機の動作速度（回転速度ｒｐｍや回転周波数Ｈｚ）を変更することにより、庫内の温度を制御することができる。ここでは、制御装置１００が冷蔵庫の圧縮機の動作速度を制御する例を説明する。
なお、ここでは、圧縮機の動作速度は、停止状態の０速から、最高速度の１０速まであるものとする。
【００２４】
冷蔵庫は、電源が入れられると、継続的に庫内を冷やす動作をする。この動作を実行するのが基本運転実行部１１である。
また、冷蔵庫は、庫内を急速に冷やす急冷機能や、氷を速やかに製造する製氷機能を有する。急冷機能や製氷機能は、それぞれ急冷ボタンや製氷ボタンが押下された場合に実行され、所定の条件を満たすと終了する。さらに、冷蔵庫は、圧縮機等の故障を防止するために、圧縮機の動作を抑制する保護機能弱、強を有する。保護機能弱、強はそれぞれ、所定の保護条件を満たす場合に実行され、保護条件を満たさなくなると終了する。急冷機能、製氷機能、各保護機能を実行するのが各機能実行部１２である。ここでは、機能実行部１２Ａが急冷機能を実行し、機能実行部１２Ｂが製氷機能を実行し、機能実行部１２Ｃが保護機能弱を実行し、機能実行部１２Ｄが保護機能強を実行する。
また、機能実行部１２Ａが出力した１次要求である急冷要求と、機能実行部１２Ｂが出力した１次要求である製氷要求とは、フェーズ１に入力され、機能実行部１２Ｃが出力した１次要求である保護弱要求と、機能実行部１２Ｄが出力した１次要求である保護強要求とは、フェーズ２に入力される。
また、基本運転実行部１１が出力した１次要求である基本要求は４速での運転を要求し、急冷要求は７速での運転を要求し、製氷要求は５速での運転を要求し、保護弱要求は２速での運転を要求し、保護強要求は０速での運転を要求する。
【００２５】
図５は、実施の形態１に係るフェーズ１についての調停情報を示す図である。
図５に示す調停情報は、基本要求と急冷要求と製氷要求との優先度である。ここでは、基本要求の優先度が最も低く、急冷要求の優先度が次に低く、製氷要求の優先度が最も高いことが示されている。
【００２６】
図６は、実施の形態１に係るフェーズ２についての調停情報を示す図である。
図６に示す調停情報は、フェーズ１で生成された１次要求と保護弱要求と保護強要求との優先度である。ここでは、フェーズ１で生成された１次要求の優先度が最も低く、保護弱要求の優先度が次に低く、保護強要求の優先度が最も高いことが示されている。
【００２７】
図３のフローチャートに従い、処理の例を説明する。
ここでは、冷蔵庫の運転が開始され（ステージ１）、その後しばらくして急冷ボタンが押下され（ステージ２）、急冷運転中に製氷ボタンが押下され（ステージ３）、急冷及び製氷運転中に保護機能弱が動作する（ステージ４）場合について説明する。
【００２８】
＜ステージ１＞
冷蔵庫の電源が入れられ、制御装置１００が起動する。すると、要求入力部２１は、基本運転実行部１１が出力した１次要求である基本要求をフェーズ１へ入力する（Ｓ１１）。この時点では、付加機能は動作しておらず、他の１次要求は入力されない。
要求生成部２３は、変数ｉを１に初期化し（Ｓ１２）、フェーズ１についての競合を調停する（Ｓ１３）。ここでは、基本運転実行部１１が出力した基本要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、基本運転実行部１１が出力した基本要求を選択する。フェーズ１は最終フェーズではないため（Ｓ１４でＮＯ）、要求生成部２３は、Ｓ１３で選択された基本要求をフェーズ２へ入力する（Ｓ１５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ１３へ戻す（Ｓ１６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ１３）。ここでは、フェーズ１から入力された基本要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された基本要求を選択する。フェーズ２は最終フェーズであるため（Ｓ１４でＹＥＳ）、要求生成部２３は、Ｓ１３で選択された基本要求を２次要求として、デバイス制御部３０へ出力する（Ｓ１７）。
つまり、この時点では、基本要求がそのままデバイス制御部３０へ出力され、圧縮機が４速で動作する。
【００２９】
＜ステージ２＞
その後、急冷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求とをフェーズ１へ入力する（Ｓ１１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ１２）、フェーズ１についての競合を調停する（Ｓ１３）。ここでは、基本要求と急冷要求とが入力されたため、要求生成部２３は、図５に示す調停情報に従い、競合を調停する。その結果、優先度が高い急冷要求が選択される。フェーズ１は最終フェーズではないため（Ｓ１４でＮＯ）、要求生成部２３は、Ｓ１３で選択された急冷要求をフェーズ２へ入力する（Ｓ１５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ１３へ戻す（Ｓ１６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ１３）。ここでは、フェーズ１から入力された急冷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された急冷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ１４でＹＥＳ）、要求生成部２３は、Ｓ１３で選択された急冷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ１７）。
つまり、この時点では、急冷要求がデバイス制御部３０へ出力され、圧縮機が７速で動作する。
【００３０】
＜ステージ３＞
その後、急冷運転中に製氷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力する（Ｓ１１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ１２）、フェーズ１についての競合を調停する（Ｓ１３）。ここでは、基本要求と急冷要求と製氷要求とが入力されたため、要求生成部２３は、図５に示す調停情報に従い、競合を調停する。その結果、優先度が高い製氷要求が選択される。フェーズ１は最終フェーズではないため（Ｓ１４でＮＯ）、要求生成部２３は、Ｓ１３で選択された製氷要求をフェーズ２へ入力する（Ｓ１５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ１３へ戻す（Ｓ１６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ１３）。ここでは、フェーズ１から入力された製氷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された製氷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ１４でＹＥＳ）、要求生成部２３は、Ｓ１３で選択された製氷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ１７）。
つまり、この時点では、製氷要求がデバイス制御部３０へ出力され、圧縮機が５速で動作する。
【００３１】
＜ステージ４＞
その後、製氷運転中に保護機能弱が動作する。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力し、機能実行部１２Ｃが出力した保護弱要求をフェーズ２へ入力する（Ｓ１１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ１２）、ステージ３と同様に、フェーズ１についての競合を調停し、急冷要求をフェーズ２へ入力する（Ｓ１３−Ｓ１５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ１３へ戻す（Ｓ１６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ１３）。ここでは、フェーズ１から入力された製氷要求と、機能実行部１２Ｃから出力された保護弱要求とが入力されたため、要求生成部２３は、図６に示す調停情報に従い、競合を調停する。その結果、優先度が高い保護弱要求が選択される。フェーズ２は最終フェーズであるため（Ｓ１４でＹＥＳ）、要求生成部２３は、Ｓ１３で選択された保護弱要求を２次要求として、デバイス制御部３０へ出力する（Ｓ１７）。
つまり、この時点では、保護弱要求がデバイス制御部３０へ出力され、圧縮機が２速で動作する。
【００３２】
以上のように、実施の形態１に係る制御装置１００は、アプリケーション部１０とデバイス制御部３０との間に、ミドルウェア部２０を設けた。そして、ミドルウェア部２０によりアプリケーション部１０からデバイスへ出力された競合する動作要求を調停した。
そのため、アプリケーション部１０において、各機能を実現する基本運転実行部１１、機能実行部１２は、実現する機能だけが実装されていればよく、デバイス制御に関しては単に動作要求を出力するだけでよい。そして、競合する動作要求を調停する機能については、各機能とは別にミドルウェア部２０において実装すればよい。
特に、競合する動作要求を調停する機能については、各機能から出力される動作要求を複数のフェーズに分けて段階的に処理する。そのため、各フェーズにおいて、競合する動作要求を調停する機能を単純な構成とすることができる。具体的には、各フェーズにおいて、競合する動作要求を調停する機能を、図５や図６に示す優先度により表すことが可能である。
その結果、従来の組込ソフトウェアとは異なり、各機能を実現する機能部に、競合する動作要求を調停する機能を含めないので、各機能部が密接に関連し合うことがなくなる。
【００３３】
実施の形態２．
実施の形態１では、各フェーズで、入力された１次要求から優先度が最も高い１次要求を選択することについて説明した。しかし、２つ以上の１次要求を同時に満たすことが可能な場合も考えられる。上述した冷蔵庫の例であれば、急冷要求と製氷要求とは、圧縮機の速度を速くすることにより同時に実現可能である。
実施の形態２では、２つ以上の１次要求を同時に満たすことが可能なフェーズでは、入力された１次要求から優先度が最も高い１次要求を選択するのではなく、２つ以上の１次要求を同時に実現する新しい１次要求を生成することを説明する。
【００３４】
図７は、実施の形態２に係る制御装置１００の構成図である。
実施の形態２に係る制御装置１００は、フェーズ毎に、選択フェーズと組合せフェーズとのいずれかであることが定められている点が、実施の形態１に係る制御装置１００と異なる。
選択フェーズは、実施の形態１で説明したフェーズである。つまり、選択フェーズでは、入力された複数の１次要求から１つの１次要求が選択される。
組合せフェーズは、２つ以上の１次要求を同時に実現する新しい１次要求を生成するフェーズである。組合せフェーズでは、入力された動作要求の組合せに応じて新しい１次要求が生成される。
【００３５】
実施の形態２に係るミドルウェア部２０の構成は、図２に示す実施の形態１に係るミドルウェア部２０の構成と同じである。但し、実施の形態２に係るミドルウェア部２０は、調停情報記憶部２２が記憶する調停情報が実施の形態２に係るミドルウェア部２０と異なる。
調停情報記憶部２２は、選択フェーズについては、実施の形態１と同様に、調停情報として優先度を記憶する。しかし、調停情報記憶部２２は、組合せフェーズについては、調停情報として、入力された１次要求の組合せに応じて、新たに生成される１次要求を定めた組合せ情報を記憶する。
調停情報が組合せ情報である場合、要求生成部２３は、組合せ情報に従い、入力された１次要求の組合せに応じて新たに１次要求を生成する。
【００３６】
図８は、実施の形態２に係るミドルウェア部２０の動作を示すフローチャートである。
Ｓ２１からＳ２２は、図３に示すＳ１１からＳ１２と同様であり、Ｓ２４からＳ２７は図３に示すＳ１４からＳ１７と同様である。
Ｓ２３では、要求生成部２３は、フェーズｉが選択フェーズであれば、入力された１次要求から優先度が最も高い１次要求を選択する。要求生成部２３は、フェーズｉが組合せフェーズであれば、組合せ情報に従い、入力された１次要求の組合せに応じて、新しい１次要求を生成する。
【００３７】
図４に示す例（制御装置１００が冷蔵庫に実装されている場合を想定した例）について説明する。
但し、フェーズ１は組合せフェーズであり、フェーズ２は選択フェーズであるとする。フェーズ１についての調停情報は、図９に示す調停情報である。図９に示す調停情報は、基本運転実行部１１と、急冷機能と、製氷機能とから出力された１次要求の組合せに応じて新たに生成される１次要求を示す組合せ情報である。但し、基本要求は、常に出力されているため、基本要求が出力されていない場合については省略した。
【００３８】
ステージ１では、基本要求のみが入力されるため、実施の形態１と同様に、入力された基本要求に従い、冷蔵庫が４速で動作する。
【００３９】
＜ステージ２＞
ステージ１の後、急冷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求とをフェーズ１へ入力する（Ｓ２１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ２２）、フェーズ１についての競合を調停する（Ｓ２３）。ここでは、基本要求と急冷要求とが入力されたため、要求生成部２３は、図９に示す調停情報に従い、競合を調停する。その結果、基本＆急冷要求に対応する急冷要求が生成される。フェーズ１は最終フェーズではないため（Ｓ２４でＮＯ）、要求生成部２３は、Ｓ２３で生成した急冷要求をフェーズ２へ入力する（Ｓ２５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ２３へ戻す（Ｓ２６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ２３）。ここでは、フェーズ１から入力された急冷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された急冷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ２４でＹＥＳ）、要求生成部２３は、Ｓ２３で選択された急冷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ２７）。
つまり、この時点では、急冷要求がデバイス制御部３０へ出力され、圧縮機が７速で動作する。
【００４０】
＜ステージ３＞
その後、急冷運転中に製氷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力する（Ｓ２１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ２２）、フェーズ１についての競合を調停する（Ｓ２３）。ここでは、基本要求と急冷要求と製氷要求とが入力されたため、要求生成部２３は、図９に示す調停情報に従い、競合を調停する。その結果、基本＆急冷＆製氷要求に対応する急冷＆製氷要求が生成される。フェーズ１は最終フェーズではないため（Ｓ２４でＮＯ）、要求生成部２３は、Ｓ２３で生成した急冷＆製氷要求をフェーズ２へ入力する（Ｓ２５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ２３へ戻す（Ｓ２６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ２３）。ここでは、フェーズ１から入力された急冷＆製氷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された急冷＆製氷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ２４でＹＥＳ）、要求生成部２３は、Ｓ２３で選択された急冷＆製氷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ２７）。
つまり、この時点では、急冷＆製氷要求がデバイス制御部３０へ出力され、圧縮機が１０速で動作する。
【００４１】
＜ステージ４＞
その後、急冷及び製氷運転中に保護機能弱が動作する。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力し、機能実行部１２Ｃが出力した保護弱要求とをフェーズ２へ入力する（Ｓ２１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ２２）、ステージ３と同様に、フェーズ１についての競合を調停し、急冷＆製氷要求をフェーズ２へ入力する（Ｓ２３−Ｓ２５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ３へ戻す（Ｓ２６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ２３）。ここでは、フェーズ１から入力された急冷＆製氷要求と、機能実行部１２Ｃから出力された保護弱要求とが入力されたため、要求生成部２３は、図６に示す調停情報に従い、競合を調停する。その結果、優先度が高い保護弱要求が選択される。フェーズ２は最終フェーズであるため（Ｓ２４でＹＥＳ）、要求生成部２３は、Ｓ２３で選択された保護弱要求を２次要求として、デバイス制御部３０へ出力する（Ｓ２７）。
つまり、この時点では、保護弱要求がデバイス制御部３０へ出力され、圧縮機が２速で動作する。
【００４２】
以上のように、実施の形態２に係る制御装置１００は、調停情報として組合せ情報を記憶することにより、２つ以上の１次要求を同時に実現する新しい１次要求を生成することが可能である。
そのため、実施の形態１と同様に、競合する動作要求を調停する機能を単純な構成としつつ、実施の形態１よりも柔軟な制御を行うことが可能である。
【００４３】
実施の形態３．
実施の形態１，２では、各フェーズにおいて、入力された１次要求のみに基づき、競合を調停することについて説明した。実施の形態３では、入力された１次要求だけでなく、デバイスの動作状態に基づき、競合を調停することについて説明する。
【００４４】
図１０は、実施の形態３に係る制御装置１００の構成図である。
実施の形態３に係る制御装置１００は、フェーズ毎に、選択フェーズと組合せフェーズと遷移フェーズとのいずれかであることかが定められている点が、実施の形態１，２に係る制御装置１００と異なる。
遷移フェーズは、デバイスの動作状態と、入力された１次要求とに応じて新しい１次要求を生成するフェーズである。
【００４５】
実施の形態３に係るミドルウェア部２０の構成は、図２に示す実施の形態１に係るミドルウェア部２０の構成と同じである。但し、実施の形態３に係るミドルウェア部２０は、調停情報記憶部２２が記憶する調停情報が実施の形態１，２に係るミドルウェア部２０と異なる。
調停情報記憶部２２は、選択フェーズと組合せフェーズとについては、実施の形態２と同様に、それぞれ優先度と組合せ情報とを記憶する。しかし、調停情報記憶部２２は、遷移フェーズについては、調停情報として、デバイスの状態と新たに入力された１次要求とに応じて、生成する１次要求を定めた状態遷移情報を記憶する。
調停情報が状態遷移情報である場合、要求生成部２３は、状態遷移情報に従い、デバイスの状態と新たに入力された１次要求とに応じて新たに１次要求を生成する。要求生成部２３は、新たに１次要求が入力されない場合、その時のデバイスの状態を維持する１次要求を生成する。
【００４６】
図１１は、実施の形態３に係るミドルウェア部２０の動作を示すフローチャートである。
Ｓ３１からＳ３２は、図８に示すＳ２１からＳ２２と同様であり、Ｓ３４からＳ３７は図８に示すＳ２４からＳ２７と同様である。
Ｓ３３では、要求生成部２３は、フェーズｉが選択フェーズであれば、入力された１次要求から優先度が最も高い１次要求を選択する。要求生成部２３は、フェーズｉが組合せフェーズであれば、組合せ情報に従い、入力された１次要求の組合せに応じて、新しい１次要求を生成する。要求生成部２３は、フェーズｉが遷移フェーズであれば、状態遷移情報に従い、デバイスの動作状態と、入力された１次要求とに応じて、新しい１次要求を生成する。
【００４７】
図４に示す例（制御装置１００が冷蔵庫に実装されている場合を想定した例）について説明する。
但し、フェーズ１は遷移フェーズであり、フェーズ２は選択フェーズであるとする。フェーズ１についての調停情報は、図１２に示す調停情報である。図１２に示す調停情報は、圧縮機の動作状態と、入力された１次要求とに応じて新たに生成される１次要求を示す。なお、ここでは、簡単のため保護機能弱、強が動作している場合については省略した。また、図１２には示していないが、冷蔵庫の起動時には、基本要求だけが入力され、通常運転が開始される。
【００４８】
ステージ１では、基本要求のみが入力されるため、実施の形態１，２と同様に、入力された基本要求に従い、冷蔵庫が４速で動作する。
【００４９】
＜ステージ２＞
ステージ１の後、急冷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが入力した急冷要求とをフェーズ１へ入力する（Ｓ３１）。つまり、新たに急冷要求がフェーズ１へ入力される。
要求生成部２３は、変数ｉを１に初期化し（Ｓ３２）、フェーズ１についての競合を調停する（Ｓ３３）。ここでは、圧縮機の動作状態が通常（４速）であり、新たに急冷要求が入力されたため、要求生成部２３は、図１２に示す調停情報に従い、急冷要求を生成する。フェーズ１は最終フェーズではないため（Ｓ３４でＮＯ）、要求生成部２３は、Ｓ３３で生成した急冷要求をフェーズ２へ入力する（Ｓ３５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ３３へ戻す（Ｓ３６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ３３）。ここでは、フェーズ１から入力された急冷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された急冷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ３４でＹＥＳ）、要求生成部２３は、Ｓ３３で選択された急冷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ３７）。
つまり、この時点では、急冷要求がデバイス制御部３０へ出力され、圧縮機が７速で動作する。
【００５０】
＜ステージ３＞
その後、急冷運転中に製氷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが入力した急冷要求と、機能実行部１２Ｂが出力した製氷要求を新たにフェーズ１へ入力する（Ｓ３１）。つまり、新たに製氷要求がフェーズ１へ入力される。
要求生成部２３は、変数ｉを１に初期化し（Ｓ３２）、フェーズ１についての競合を調停する（Ｓ３３）。ここでは、圧縮機の動作状態が急冷（７速）であり、製氷要求が入力されたため、要求生成部２３は、図１２に示す調停情報に従い、急冷＆製氷要求を生成する。フェーズ１は最終フェーズではないため（Ｓ３４でＮＯ）、要求生成部２３は、Ｓ３３で生成した急冷＆製氷要求をフェーズ２へ入力する（Ｓ３５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ３３へ戻す（Ｓ３６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ３３）。ここでは、フェーズ１から入力された急冷＆製氷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された急冷＆製氷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ３４でＹＥＳ）、要求生成部２３は、Ｓ３３で選択された急冷＆製氷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ３７）。
つまり、この時点では、急冷＆製氷要求がデバイス制御部３０へ出力され、圧縮機が１０速で動作する。
【００５１】
＜ステージ４＞
その後、急冷及び製氷運転中に保護機能弱が動作する。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力し、機能実行部１２Ｃが出力した保護弱要求とをフェーズ２へ入力する（Ｓ３１）。つまり、新たに保護弱要求がフェーズ２へ入力される。
要求生成部２３は、変数ｉを１に初期化し（Ｓ３２）、フェーズ１についての競合を調停する（Ｓ３３）。ここでは、新たに入力された１次要求がないので、現在の圧縮機の動作状態を維持する急冷＆製氷要求が生成される。フェーズ１は最終フェーズではないため（Ｓ３４でＮＯ）、要求生成部２３は、Ｓ３３で生成した急冷＆製氷要求をフェーズ２へ入力する（Ｓ３５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ３３へ戻す（Ｓ３６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ３３）。ここでは、フェーズ１から入力された急冷＆製氷要求と、機能実行部１２Ｃから出力された保護弱要求とが入力されたため、要求生成部２３は、図６に示す調停情報に従い、競合を調停する。その結果、優先度が高い保護弱要求が選択される。フェーズ２は最終フェーズであるため（Ｓ３４でＹＥＳ）、要求生成部２３は、Ｓ３３で選択された保護弱要求を２次要求として、デバイス制御部３０へ出力する（Ｓ３７）。
つまり、この時点では、保護弱要求がデバイス制御部３０へ出力され、圧縮機が２速で動作する。
【００５２】
以上のように、実施の形態３に係る制御装置１００は、調停情報として状態遷移情報を記憶することにより、デバイスの状態に応じた新しい１次要求を生成することが可能である。
そのため、実施の形態１，２と同様に、競合する動作要求を調停する機能を単純な構成としつつ、実施の形態１，２よりも柔軟な制御を行うことが可能である。
【００５３】
なお、上記説明では、圧縮機の動作状態として、１次要求で制御する速度だけを参照していた。しかし、圧縮機が消費する単位時間当たりの電力等、１次要求で制御するパラメータ以外の情報を、圧縮機の動作状態として参照してもよい。また、膨張弁の開度等、１次要求で制御する圧縮機以外のデバイスの動作状態を参照してもよい。
つまり、遷移フェーズにおける状態遷移情報は、デバイスの動作状態として、１次要求で制御するパラメータ以外の情報や、１次要求で制御するデバイス以外のデバイスの情報であってもよい。
【００５４】
実施の形態４．
実施の形態１−３では、各フェーズにおいて、入力された複数の１次要求から１つの１次要求を選択する、あるいは、入力された１次要求等に応じて新しい１次要求を生成した。
実施の形態４では、機能実行部１２から入力された１次要求により、前のフェーズから入力された１次要求を補正するフェーズを含めた場合について説明する。
【００５５】
図１３は、実施の形態４に係る制御装置１００の構成図である。
実施の形態４に係る制御装置１００は、フェーズ毎に、選択フェーズと組合せフェーズと遷移フェーズと補正フェーズとのいずれかであることが定められている点が、実施の形態１−３に係る制御装置１００と異なる。
補正フェーズは、機能実行部１２から入力された１次要求により、基本運転実行部１１から出力された１次要求、あるいは、前のフェーズから入力された１次要求が補正され、新しい１次要求を生成するフェーズである。
【００５６】
図１４は、実施の形態４に係るミドルウェア部２０の構成図である。
実施の形態４に係るミドルウェア部２０は、補正情報記憶部２４を備える点が、実施の形態１−３に係るミドルウェア部２０と異なる。
補正情報記憶部２４は、補正フェーズ毎に、１次要求の補正の方法を示す補正情報を記憶する。補正情報は、例えば、機能実行部１２から入力された１次要求が示す補正値を、基本運転実行部１１から出力された１次要求、あるいは、前のフェーズから入力された１次要求に加算することや、乗算すること等を示す。
なお、調停情報記憶部２２は、選択フェーズと組合せフェーズと遷移フェーズとについては、実施の形態３と同様に、それぞれ優先度と組合せ情報と状態遷移情報とを記憶する。調停情報記憶部２２は、補正フェーズについては、調停情報として、優先度と組合せ情報と状態遷移情報とのいずれかを記憶する。但し、調停の対象は、機能実行部１２から入力された１次要求だけであり、基本運転実行部１１から出力された１次要求や、前のフェーズから入力された１次要求は含まれない。
要求生成部２３は、補正フェーズでは、調停情報に従い機能実行部１２から入力された１次要求の競合を調停した１次要求を生成する。そして、要求生成部２３は、補正情報に従い、生成した１次要求が示す補正値で、基本運転実行部１１から出力された１次要求、あるいは、前のフェーズから入力された１次要求を補正して、新しい１次要求を生成する。
【００５７】
図１５は、実施の形態４に係るミドルウェア部２０の動作を示すフローチャートである。
Ｓ４１からＳ４２は、図１１に示すＳ３１からＳ３２と同様であり、Ｓ４４からＳ４７は図１１に示すＳ３４からＳ３７と同様である。
Ｓ４３では、要求生成部２３は、フェーズｉが選択フェーズであれば、入力された１次要求から優先度が最も高い１次要求を選択する。要求生成部２３は、フェーズｉが組合せフェーズであれば、組合せ情報に従い、入力された１次要求の組合せに応じて、新しい１次要求を生成する。要求生成部２３は、フェーズｉが遷移フェーズであれば、状態遷移情報に従い、デバイスの動作状態と、入力された１次要求とに応じて、新しい１次要求を生成する。要求生成部２３は、フェーズｉが補正フェーズであれば、機能実行部１２から入力された１次要求により、基本運転実行部１１から出力された１次要求、あるいは、前のフェーズから入力された１次要求を補正し、新しい１次要求を生成する。
【００５８】
図４に示す例（制御装置１００が冷蔵庫に実装されている場合を想定した例）について説明する。
但し、フェーズ１は補正フェーズであり、フェーズ２は選択フェーズであるとする。フェーズ１についての調停情報は、図１６に示す調停情報である。図１６に示す調停情報は、急冷要求と製氷要求との優先度である。ここでは、急冷要求の優先度が低く、製氷要求の優先度が高いことが示されている。
また、補正情報記憶部２４は、フェーズ１についての補正情報として、基本要求へ補正値を加算することを記憶している。
また、基本運転実行部１１が出力した１次要求である基本要求は４速での運転を要求し、保護弱要求は２速での運転を要求し、保護強要求は０速での運転を要求する。急冷要求は補正値として３速を示し、製氷要求は補正値として１速を示す。
【００５９】
ステージ１では、基本要求のみが入力されるため、実施の形態１−３と同様に、入力された基本要求に従い、冷蔵庫が４速で動作する。
【００６０】
＜ステージ２＞
ステージ１の後、急冷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが入力した急冷要求とをフェーズ１へ入力する（Ｓ４１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ４２）、フェーズ１についての競合を調停する（Ｓ４３）。ここでは、基本要求以外に、急冷要求が入力されたため、要求生成部２３は急冷要求を選択する。そして、要求生成部２３は、補正情報に従い、選択した急冷要求が示す補正値３速を、基本要求が示す４速に加え、７速で運転することを要求する急冷要求を生成する。フェーズ１は最終フェーズではないため（Ｓ４４でＮＯ）、要求生成部２３は、Ｓ４３で選択された急冷要求をフェーズ２へ入力する（Ｓ４５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ４３へ戻す（Ｓ４６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ４３）。ここでは、フェーズ１から入力された急冷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された急冷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ４４でＹＥＳ）、要求生成部２３は、Ｓ４３で選択された急冷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ４７）。
つまり、この時点では、急冷要求がデバイス制御部３０へ出力され、圧縮機が７速で動作する。
【００６１】
＜ステージ３＞
その後、急冷運転中に製氷ボタンが押下される。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力する（Ｓ４１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ４２）、フェーズ１についての競合を調停する（Ｓ４３）。ここでは、基本要求以外に、急冷要求と製氷要求とが入力されたため、要求生成部２３は、図１６に示す調停情報に従い、競合を調停する。その結果、優先度が高い製氷要求が選択される。そして、要求生成部２３は、補正情報に従い、選択した製氷要求が示す補正値１速を、基本要求が示す４速に加え、５速で運転することを要求する製氷要求を生成する。フェーズ１は最終フェーズではないため（Ｓ４４でＮＯ）、要求生成部２３は、Ｓ４３で選択された製氷要求をフェーズ２へ入力する（Ｓ４５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ４３へ戻す（Ｓ４６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ４３）。ここでは、フェーズ１から入力された製氷要求以外に１次要求がないため、１次要求の競合は発生しない。したがって、要求生成部２３は、フェーズ１から入力された製氷要求を選択する。フェーズ２は最終フェーズであるため（Ｓ４４でＹＥＳ）、要求生成部２３は、Ｓ４３で選択された製氷要求を２次要求として、デバイス制御部３０へ出力する（Ｓ４７）。
つまり、この時点では、製氷要求がデバイス制御部３０へ出力され、圧縮機が５速で動作する。
【００６２】
＜ステージ４＞
その後、製氷運転中に保護機能弱が動作する。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力し、機能実行部１２Ｃが入力した保護弱要求をフェーズ２へ入力する（Ｓ４１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ４２）、ステージ３と同様に、フェーズ１についての競合を調停し、製氷要求をフェーズ２へ入力する（Ｓ４３−Ｓ４５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ３へ戻す（Ｓ４６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ４３）。ここでは、フェーズ１から入力された製氷要求と、機能実行部１２Ｃから出力された保護弱要求とが入力されたため、要求生成部２３は、図６に示す調停情報に従い、競合を調停する。その結果、優先度が高い保護弱要求が選択される。フェーズ２は最終フェーズであるため（Ｓ４４でＹＥＳ）、要求生成部２３は、Ｓ４３で選択された保護弱要求を２次要求として、デバイス制御部３０へ出力する（Ｓ４７）。
つまり、この時点では、保護弱要求がデバイス制御部３０へ出力され、圧縮機が２速で動作する。
【００６３】
以上のように、実施の形態４に係る制御装置１００は、新たに補正情報を記憶することにより、前のフェーズで生成された１次要求を補正して新しい１次要求を生成することが可能である。
そのため、実施の形態１−３と同様に、競合する動作要求を調停する機能を非常に単純な構成としつつ、より柔軟な制御を行うことが可能である。
【００６４】
なお、上記説明では、付加機能が動作していない場合、圧縮機の動作速度は常に４速であるとして説明した。しかし、付加機能が動作していない場合であっても、例えば、庫内の温度を一定に保つため、冷蔵庫の周囲の温度等に応じて圧縮機の動作速度が変更されることが考えられる。つまり、基本運転実行部１１は、冷蔵庫の周囲の温度等に応じて異なる動作速度を要求する基本要求を出力することが考えられる。
この場合、実施の形態４で説明したように、急冷機能や製氷機能等の付加機能が動作する場合に、付加機能に応じた補正値で現在の動作速度を補正することにより、適切な制御が可能になる。
一方で、保護機能のように、現在の動作速度に関わらず、一定の速度に制御する必要がある付加機能もある。この場合には、実施の形態１で説明したように、現在の動作速度に関わらず、付加機能で指定した動作速度で制御することにより、適切な制御が可能となる。
【００６５】
実施の形態５．
実施の形態１−４では、制御装置１００が冷蔵庫に実装されている場合を想定した例を用いて、制御装置１００の処理について説明した。しかし、制御装置１００は、冷蔵庫以外の家電製品や、他の機器に実装されることも考えられる。
実施の形態５では、制御装置１００が他の機器に実装されている場合を想定した例について説明する。
【００６６】
図１７は、制御装置１００がエアコンに実装されている場合を想定した例を示す図である。
一般に、エアコンには、圧縮機（デバイスの一例）が備えられており、圧縮機の動作速度（回転速度ｒｐｍや回転周波数Ｈｚ）を変更することにより、室内の温度を制御することができる。ここでは、制御装置１００が冷房運転時のエアコンの圧縮機の動作速度を制御する例を説明する。
【００６７】
エアコンは、電源が入れられると継続的に室内を冷やす基本運転（基本運転実行部１１）をする。
また、エアコンは、他に様々な機能（機能実行部１２）を備えている。ここでは、エアコンは、付加機能１（ハイパワー運転）、付加機能２（任意周波数制御）、保護機能１（吐出温度過昇防止）、保護機能２（凝縮温度過昇防止）、保護機能３（ＭＩＮ周波数保護）、保護機能４（停止振動対策）、保護機能５（吐出過昇停止）の機能を備えている。
ハイパワー運転（付加機能１）は、利用者が空調性能を強くするため、操作ボタンを操作すると動作する機能である。付加機能１は、圧縮機の動作速度に、所定の補正値を加え、圧縮機の動作速度を速くする。
任意周波数制御（付加機能２）は、工場での出荷時における検査等で用いられる機能である。付加機能２は、圧縮機を予め決められた動作速度に設定して動作させる。
吐出温度過昇防止（保護機能１）は、吐出ガスの温度や圧力が過剰に上昇して圧縮機が壊れないようにするための機能である。保護機能１は、センサにより温度や圧力の異常上昇を検知した場合、圧縮機の動作速度から所定の補正値を減じ、圧縮機の動作速度を遅くする。
凝縮温度過昇防止（保護機能２）は、高圧側の圧力上昇を抑制して冷媒系（圧縮機、熱交換機）が壊れないようにするための機能である。保護機能２は、センサにより圧力の異常上昇を検知した場合、圧縮機の動作速度から所定の補正値を減じ、圧縮機の動作速度を遅くする。
ＭＩＮ周波数保護（保護機能３）は、必要以上に遅い動作速度になると却って圧縮機に負担がかかるため、最低速度を維持して冷媒循環量を確保できるようにする機能である。保護機能３は、一定の速度を下回った場合、圧縮機の動作速度を最低速度に設定する。
停止振動対策（保護機能４）は、圧縮機を停止させる際に発生する振動により配管が切断することを防止する機能である。保護機能３は、圧縮機の停止前に圧縮機の動作速度を一定時間所定の速度に設定する。
吐出過昇停止（保護機能５）は、センサにより吐出ガスの温度、圧力の異常上昇を検知した場合、圧縮機を緊急停止をさせる機能である。保護機能５は、圧縮機の動作速度を０に設定する。
【００６８】
基本運転と付加機能１とが出力した１次要求は、フェーズ１（補正フェーズ）へ入力される。付加機能２が出力した１次要求は、フェーズ２（選択フェーズ）へ入力される。保護機能１，２が出力した１次要求は、フェーズ３（補正フェーズ）へ入力される。保護機能３，４，５が出力した１次要求は、フェーズ４（選択フェーズ）へ入力される。
なお、フェーズ３では、保護機能１だけが実行されている場合には、保護機能１の補正値が選択され、保護機能２だけが実行されている場合には、保護機能２の補正値が選択され、保護機能１，２が同時に実行されている場合には、２つの補正値の両方が選択される組合せ情報が調停情報として設定されている。
【００６９】
図１８は、図１７に示す例において出力される２次要求を示す図である。
フェーズ１では、基本運転で設定される圧縮機の速度Ｆ０が動作の前提となる。付加機能１が実行されている場合には、速度Ｆ０に速度ΔＦ１が加算される。したがって、フェーズ１からは、速度Ｆ０又は速度Ｆ０＋ΔＦ１が出力される。
フェーズ２では、フェーズ１で出力された速度（速度Ｆ０又は速度Ｆ０＋ΔＦ１）と、付加機能２から出力された速度Ｆ２とのいずれかが出力される。したがって、フェーズ２からは、速度Ｆ０と速度Ｆ０＋ΔＦ１と速度Ｆ２とのいずれかが出力される。
フェーズ３では、フェーズ２で出力された速度に対して、保護機能１のみが動作している場合には、速度−ΔＦ３Ａで補正がされる。保護機能２のみが動作している場合には、速度−ΔＦ３Ｂで補正がされる。保護機能１，２の両方が動作している場合には、速度−ΔＦ３Ａと速度−ΔＦ３Ｂとの両方で補正がされる。その結果、組合せに応じた９通りの速度のいずれかが出力される。
フェーズ４では、フェーズ３で出力された速度と、保護機能３，４，５から出力された速度とのいずれかが出力される。
したがって、付加機能や保護機能の実行状態に応じて合計１５通りの速度が出力される。
【００７０】
図１９は、一般的な制御装置がエアコンに実装されている場合を想定した例を示す図である。
一般的な制御装置では、各機能が、内部で他の機能の実行状態を見て、デバイスドライバへ動作要求を出力するか否かを判定している。そのため、各機能には、非常に複雑な条件判定が含まれており、保守性、再利用性、拡張性が低い。
これに比べて、図１７に示すように、制御装置１００を用いた場合、デバイスドライバへ動作要求を出力するか否かの条件判定は、整理されており、保守性、再利用性、拡張性が高い。
【００７１】
図２０は、ＤＣ（直流）モータ駆動型の自動運搬車の説明図である。
自動運搬車は、モータ（デバイスの一例）が備えられており、モータへ印加する電圧を変更することにより、モータの動作速度が変更され、自動運搬車の移動速度を制御することができる。
自動運搬車は、単純な直線移動により荷物を運搬する。自動運搬車は、モータに付随してトルクセンサ、速度センサ、温度センサを備えるとともに、進行方向の前方には前方障害物センサ、進行方向の後方には後方障害物センサを備える。
【００７２】
図２１は、制御装置１００が図２０に示す自動運搬車に実装されている場合を想定した例を示す図である。
ここでは、制御装置１００が自動運搬車のモータの動作速度を制御する例を説明する。
【００７３】
自動運搬車は、電源が入れられると、単純な直線移動により荷物を運搬する基本運転（基本運転実行部１１）をする。基本運転は、運転開始時、定速走行時、停止時のそれぞれ異なる一定の電圧値でモータへの出力を行う。
また、自動運搬車は、他に様々な機能（機能実行部１２）を備えている。ここでは、自動運搬車は、付加機能１（速度維持）、付加機能２（省エネ運転）、付加機能３（高速運転）、付加機能４（安全運転）、保護機能１（後方障害加速）、保護機能２（過負荷減速）、保護機能３（前方障害停止）、保護機能４（緊急停止）の機能を備えている。
付加機能１（速度維持）は、定速で走行時に、その速度を維持する機能である。付加機能１は、速度センサの情報に従い、電圧値を補正して速度を調整する。
付加機能２（省エネ運転）は、省エネ運転を実現する機能である。付加機能２は、電圧値から補正値を減じて電圧値を下げる。
付加機能３（高速運転）は、効率的に運搬を行う場合等に、高速で運転させる機能である。付加機能３は、最高電圧を出力して加速させる。
付加機能４（安全運転）は、荷崩れの危険性のある場合等に、低速で運転させ安全を図る機能である。付加機能４は、低い電圧を出力して減速させる。
保護機能１（後方障害加速）は、後方障害物センサにより後方に障害物を検知した場合に危険を回避するための機能である。保護機能１は、後方に障害物を検知した場合に、現在の電圧値に補正値を加えて加速させる。
保護機能２（過負荷減速）は、トルクセンサにより過負荷状態を検知して、モータ破壊を防止する機能である。保護機能２は、過負荷状態を検知した場合に、現在の電圧値から補正値を減じて減速させる。
保護機能３（前方障害停止）は、前方障害物センサにより前方に障害物を検知した場合に衝突を防止する機能である。保護機能３は、前方に障害物を検知した場合に、電圧値０を出力して、急ブレーキをかける。
保護機能４（緊急停止）は、温度センサでモータの異常温度上昇を検知した場合にモータの破損を防止する機能である。保護機能４は、モータの異常温度上昇を検知した場合に、電圧値０を出力して、モータを緊急停止させる。
【００７４】
基本運転と付加機能１，２とが出力した１次要求は、フェーズ１（補正フェーズ）へ入力される。付加機能３，４が出力した１次要求は、フェーズ２（選択フェーズ）へ入力される。保護機能１，２が出力した１次要求は、フェーズ３（補正フェーズ）へ入力される。保護機能３，４が出力した１次要求は、フェーズ４（選択フェーズ）へ入力される。
なお、フェーズ１では、付加機能１，２が同時に実行されている場合には、２つの補正値の両方により補正がされるように調停情報が設定されている。
【００７５】
フェーズ１では、基本運転で設定されるモータの電圧値Ｖ０が動作の前提となる。付加機能１のみが動作している場合には、電圧値±ΔＶ１Ａで補正がされる。付加機能２のみが動作している場合には、電圧値−ΔＶ１Ａで補正がされる。付加機能１，２の両方が動作している場合には、電圧値±ΔＶ１Ａと電圧値−ΔＶ１Ａとの両方で補正がされる。
フェーズ２では、フェーズ１で出力された電圧値と、付加機能３，４から出力された電圧値とのいずれかが選択される。
フェーズ３では、フェーズ２で出力された電圧値に対して、保護機能１，２から出力された電圧値のいずれかにより補正がされる。
フェーズ４では、フェーズ３で出力された電圧値と、保護機能３，４から出力された電圧値とのいずれかが選択される。
【００７６】
以上のように、冷蔵庫に限らず、マイクロコンピュータを用いて様々な機能から出力された動作要求により、アクチュエータ等の各種デバイスを制御する製品であれば、実施の形態１−４に係る制御装置１００を実装することが可能である。そして、実施の形態１−４に係る制御装置１００を用いることにより、競合する動作要求を調停する機能を非常に単純な構成とすることが可能である。そのため、製品の保守や機能拡張を容易に行うことができる。
【００７７】
上述した家電製品や自動運搬車以外に、例えば、多くの駆動モータが搭載されたロボットや、マニピュレータ、自動車、人工衛星等に、実施の形態１−４に係る制御装置１００を実装することが可能である。
【００７８】
なお、上記説明では、圧縮機の動作速度等の制御値が２次要求として、ミドルウェア部２０からデバイス制御部３０へ出力された。
しかし、制御値に限らず、例えば、通常処理、初期化処理、緊急停止処理、デモモード処理等の各種処理を示す情報が２次要求として、ミドルウェア部２０からデバイス制御部３０へ出力されてもよい。この場合、デバイス制御部３０は、２次要求が示す処理に応じた制御パラメータをデバイスドライバ４０へ出力して、その処理をデバイスに実行させる。
【００７９】
また、上記説明では、デバイス制御部３０は、ミドルウェア部２０から出力された２次要求を単にパラメータとしてデバイスドライバ４０へ出力し、デバイスを制御した。例えば、上述した冷蔵庫の例では、デバイス制御部３０は、２次要求が示す速度をパラメータとしてデバイスドライバ４０へ出力し、圧縮機をその速度で動作させた。
しかし、デバイス制御部３０は、２次要求を単にパラメータとしてデバイスドライバ４０へ出力するだけでなく、２次要求から他のデバイスを制御するパラメータを計算する等してもよい。例えば、上述した冷蔵庫の例では、デバイス制御部３０は、２次要求が示す速度をパラメータとして圧縮機のデバイスドライバ４０へ出力するだけでなく、２次要求が示す速度に応じたファンの回転数を計算して、計算した回転数をパラメータとしてファンのデバイスドライバ４０へ出力してもよい。デバイス制御部３０は、その他にも、２次要求が示す速度に応じたランプを点灯させるパラメータを、ランプのデバイスドライバ４０へ出力してもよい。
【００８０】
また、デバイス制御部３０は、パラメータの限界値（上限値、下限値）を記憶しており、限界値を超えた値が２次要求として入力された場合には、限界値を制御パラメータとしてデバイスドライバ４０へ与えてもよい。つまり、デバイス制御部３０は、最終的な保護機能の役割を果たしてもよい。
【００８１】
また、ミドルウェア部２０では、制御するデバイス毎に、各機能実行部１２から出力された１次要求をどのフェーズへ入力するかと、各フェーズにおける調停情報とを定める必要がある。
しかし、共通の条件により制御できるデバイスがある。例えば、上述したエアコンの例では、空気を室内へ送り出すためのファンモータの速度制御については、圧縮機と同じ制御により実現できる。このように共通の条件により制御できるデバイスについては、１次要求を同じフェーズへ入力するとともに、同じ調停情報を用いて制御することが可能である。これにより、調停情報を記憶する記憶装置の記憶領域を節約することができる。
【００８２】
また、優先度の高い機能から出力された１次要求ほど、前のフェーズ、あるいは、後のフェーズに入力すると、競合する動作要求を調停する機能を整理して構成することができる。
【００８３】
図２２は、上記実施の形態に係る制御装置１００のハードウェア構成の一例を示す図である。
図２２に示すように、制御装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５と接続され、これらのハードウェアデバイスを制御する。
【００８４】
ＲＯＭ９１３は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４とは、記憶装置（メモリ）の一例である。通信ボード９１５は、通信装置の一例である。
【００８５】
ＲＯＭ９１３には、プログラム群９１６、ファイル群９１７が記憶されている。プログラム群９１６のプログラムは、ＣＰＵ９１１により実行される。
【００８６】
プログラム群９１６には、上記の説明において「アプリケーション部１０」、「ミドルウェア部２０」、「デバイス制御部３０」、「デバイスドライバ４０」、「基本運転実行部１１」、「機能実行部１２」、「要求入力部２１」、「要求生成部２３」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９１７には、上記の説明において「動作要求」、「調停情報」、「補正情報」等の情報が記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００８７】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【００８８】
１０  アプリケーション部、１１  基本運転実行部、１２  機能実行部、２０  ミドルウェア部、２１  要求入力部、２２  調停情報記憶部、２３  要求生成部、２４  補正情報記憶部、３０  デバイス制御部、４０  デバイスドライバ、１００  制御装置。
【図１】
2013168280.tif 000003
【図２】
2013168280.tif 000004
【図３】
2013168280.tif 000005
【図４】
2013168280.tif 000006
【図５】
2013168280.tif 000007
【図６】
2013168280.tif 000008
【図７】
2013168280.tif 000009
【図８】
2013168280.tif 000010
【図９】
2013168280.tif 000011
【図１０】
2013168280.tif 000012
【図１１】
2013168280.tif 000013
【図１２】
2013168280.tif 000014
【図１３】
2013168280.tif 000015
【図１４】
2013168280.tif 000016
【図１５】
2013168280.tif 000017
【図１６】
2013168280.tif 000018
【図１７】
2013168280.tif 000019
【図１８】
2013168280.tif 000020
【図１９】
2013168280.tif 000021
【図２０】
2013168280.tif 000022
【図２１】
2013168280.tif 000023
【図２２】
2013168280.tif 000024
【手続補正書】
【提出日】平成26年3月27日(2014.3.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御装置であり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力部と、
前記フェーズ毎に、調停情報を記憶した調停情報記憶部と、
先頭のフェーズから順に、前記調停情報記憶部が記憶した調停情報に従い、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力することにより、段階的に動作要求の競合を調停する要求生成部と、
最後のフェーズで前記要求生成部が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御部と
を備えることを特徴とする制御装置。
【請求項２】
前記調停情報記憶部は、前記複数のフェーズのうちの選択フェーズについては、入力される動作要求についての優先度を前記調停情報として記憶し、
前記要求生成部は、前記選択フェーズにおいては、入力された動作要求から、優先度の高い１つの動作要求を選択して、選択した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記調停情報記憶部は、前記複数のフェーズのうちの組合せフェーズについては、入力された動作要求の組合せに応じて、生成される動作要求を定めた組合せ情報を前記調停情報として記憶し、
前記要求生成部は、前記組合せフェーズにおいては、組合せ情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記調停情報記憶部は、前記複数のフェーズのうちの遷移フェーズについては、前記デバイスの動作状態と、入力された動作要求との組合せに応じて、生成される動作要求を定めた状態遷移情報を前記調停情報として記憶し、
前記要求生成部は、前記遷移フェーズにおいては、状態遷移情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１から３までのいずれかに記載の制御装置。
【請求項５】
前記調停情報記憶部は、前記複数のフェーズのうちの補正フェーズについては、前記ＡＰＰから出力された動作要求についての優先度を前記調停情報として記憶し、
前記要求生成部は、前記補正フェーズにおいては、前記ＡＰＰから出力された動作要求から優先度の高い１つの動作要求を選択して、選択した動作要求で前のフェーズで生成した動作要求を補正し、補正した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１から４までのいずれかに記載の制御装置。
【請求項６】
前記要求入力部は、優先度の高い動作要求ほど前のフェーズあるいは後のフェーズへ入力する
ことを特徴とする請求項１から５までのいずれかに記載の制御装置。
【請求項７】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御方法であり、
処理装置が、順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力工程と、
処理装置が、フェーズ毎に予め記憶装置に記憶した調停情報に従い、先頭のフェーズから順に、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力することにより、段階的に動作要求の競合を調停する要求生成工程と、
処理装置が、最後のフェーズで前記要求生成工程が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御工程と
を備えることを特徴とする制御方法。
【請求項８】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御プログラムであり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力処理と、
フェーズ毎に予め記憶装置に記憶した調停情報に従い、先頭のフェーズから順に、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力することにより、段階的に動作要求の競合を調停する要求生成処理と、
最後のフェーズで前記要求生成処理が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御処理と
をコンピュータに実行させることを特徴とする制御プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
【図１】実施の形態１に係る制御装置１００の構成図。
【図２】実施の形態１に係るミドルウェア部２０の構成図。
【図３】実施の形態１に係るミドルウェア部２０の動作を示すフローチャート。
【図４】制御装置１００が冷蔵庫に実装されている場合を想定した例を示す図。
【図５】実施の形態１に係るフェーズ１についての調停情報を示す図。
【図６】実施の形態１に係るフェーズ２についての調停情報を示す図。
【図７】実施の形態２に係る制御装置１００の構成図。
【図８】実施の形態２に係るミドルウェア部２０の動作を示すフローチャート。
【図９】実施の形態２に係るフェーズ１についての調停情報を示す図。
【図１０】実施の形態３に係る制御装置１００の構成図。
【図１１】実施の形態３に係るミドルウェア部２０の動作を示すフローチャート。
【図１２】実施の形態３に係るフェーズ１についての調停情報を示す図。
【図１３】実施の形態４に係る制御装置１００の構成図。
【図１４】実施の形態４に係るミドルウェア部２０の構成図。
【図１５】実施の形態４に係るミドルウェア部２０の動作を示すフローチャート。
【図１６】実施の形態４に係るフェーズ１についての調停情報を示す図。
【図１７】制御装置１００がエアコンに実装されている場合を想定した例を示す図。
【図１８】図１７に示す例において出力される２次要求を示す図。
【図１９】一般的な制御装置がエアコンに実装されている場合を想定した例を示す図。
【図２０】ＤＣ（直流）モータ駆動型の自動運搬車の説明図。
【図２１】制御装置１００が図２０に示す自動運搬車に実装されている場合を想定した例を示す図。
【図２２】上記実施の形態に係る制御装置１００のハードウェア構成の一例を示す図。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
実施の形態２に係るミドルウェア部２０の構成は、図２に示す実施の形態１に係るミドルウェア部２０の構成と同じである。但し、実施の形態２に係るミドルウェア部２０は、調停情報記憶部２２が記憶する調停情報が実施の形態１に係るミドルウェア部２０と異なる。
調停情報記憶部２２は、選択フェーズについては、実施の形態１と同様に、調停情報として優先度を記憶する。しかし、調停情報記憶部２２は、組合せフェーズについては、調停情報として、入力された１次要求の組合せに応じて、新たに生成される１次要求を定めた組合せ情報を記憶する。
調停情報が組合せ情報である場合、要求生成部２３は、組合せ情報に従い、入力された１次要求の組合せに応じて新たに１次要求を生成する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
＜ステージ４＞
その後、製氷運転中に保護機能弱が動作する。すると、要求入力部２１は、基本運転実行部１１が出力した基本要求と、機能実行部１２Ａが出力した急冷要求と、機能実行部１２Ｂが出力した製氷要求とをフェーズ１へ入力し、機能実行部１２Ｃが入力した保護弱要求をフェーズ２へ入力する（Ｓ４１）。
要求生成部２３は、変数ｉを１に初期化し（Ｓ４２）、ステージ３と同様に、フェーズ１についての競合を調停し、製氷要求をフェーズ２へ入力する（Ｓ４３−Ｓ４５）。そして、要求生成部２３は、変数ｉに１加算して２として、処理をＳ４３へ戻す（Ｓ４６）。
要求生成部２３は、フェーズ２についての競合を調停する（Ｓ４３）。ここでは、フェーズ１から入力された製氷要求と、機能実行部１２Ｃから出力された保護弱要求とが入力されたため、要求生成部２３は、図６に示す調停情報に従い、競合を調停する。その結果、優先度が高い保護弱要求が選択される。フェーズ２は最終フェーズであるため（Ｓ４４でＹＥＳ）、要求生成部２３は、Ｓ４３で選択された保護弱要求を２次要求として、デバイス制御部３０へ出力する（Ｓ４７）。
つまり、この時点では、保護弱要求がデバイス制御部３０へ出力され、圧縮機が２速で動作する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
エアコンは、電源が入れられると継続的に室内を冷やす基本運転（基本運転実行部１１）をする。
また、エアコンは、他に様々な機能（機能実行部１２）を備えている。ここでは、エアコンは、付加機能１（ハイパワー運転）、付加機能２（任意周波数制御）、保護機能１（吐出温度過昇防止）、保護機能２（凝縮温度過昇防止）、保護機能３（ＭＩＮ周波数保護）、保護機能４（停止振動対策）、保護機能５（吐出過昇停止）の機能を備えている。
ハイパワー運転（付加機能１）は、利用者が空調性能を強くするため、操作ボタンを操作すると動作する機能である。付加機能１は、圧縮機の動作速度に、所定の補正値を加え、圧縮機の動作速度を速くする。
任意周波数制御（付加機能２）は、工場での出荷時における検査等で用いられる機能である。付加機能２は、圧縮機を予め決められた動作速度に設定して動作させる。
吐出温度過昇防止（保護機能１）は、吐出ガスの温度や圧力が過剰に上昇して圧縮機が壊れないようにするための機能である。保護機能１は、センサにより温度や圧力の異常上昇を検知した場合、圧縮機の動作速度から所定の補正値を減じ、圧縮機の動作速度を遅くする。
凝縮温度過昇防止（保護機能２）は、高圧側の圧力上昇を抑制して冷媒系（圧縮機、熱交換機）が壊れないようにするための機能である。保護機能２は、センサにより圧力の異常上昇を検知した場合、圧縮機の動作速度から所定の補正値を減じ、圧縮機の動作速度を遅くする。
ＭＩＮ周波数保護（保護機能３）は、必要以上に遅い動作速度になると却って圧縮機に負担がかかるため、最低速度を維持して冷媒循環量を確保できるようにする機能である。保護機能３は、一定の速度を下回った場合、圧縮機の動作速度を最低速度に設定する。
停止振動対策（保護機能４）は、圧縮機を停止させる際に発生する振動により配管が切断することを防止する機能である。保護機能４は、圧縮機の停止前に圧縮機の動作速度を一定時間所定の速度に設定する。
吐出過昇停止（保護機能５）は、センサにより吐出ガスの温度、圧力の異常上昇を検知した場合、圧縮機を緊急停止をさせる機能である。保護機能５は、圧縮機の動作速度を０に設定する。
【手続補正書】
【提出日】平成27年2月12日(2015.2.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御装置であり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力部と、
前記フェーズ毎に、調停情報を記憶し、前記複数のフェーズのうちの遷移フェーズについては、前記デバイスの動作状態と、入力された動作要求との組合せに応じて、生成される動作要求を定めた状態遷移情報を前記調停情報として記憶した調停情報記憶部と、
先頭のフェーズから順に、前記調停情報記憶部が記憶した調停情報に従い、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力することにより、段階的に動作要求の競合を調停し、前記遷移フェーズにおいては、状態遷移情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成部と、
最後のフェーズで前記要求生成部が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御部と
を備えることを特徴とする制御装置。
【請求項２】
前記調停情報記憶部は、前記複数のフェーズのうちの選択フェーズについては、入力される動作要求についての優先度を前記調停情報として記憶し、
前記要求生成部は、前記選択フェーズにおいては、入力された動作要求から、優先度の高い１つの動作要求を選択して、選択した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記調停情報記憶部は、前記複数のフェーズのうちの組合せフェーズについては、入力された動作要求の組合せに応じて、生成される動作要求を定めた組合せ情報を前記調停情報として記憶し、
前記要求生成部は、前記組合せフェーズにおいては、組合せ情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記調停情報記憶部は、前記複数のフェーズのうちの補正フェーズについては、前記ＡＰＰから出力された動作要求についての優先度を前記調停情報として記憶し、
前記要求生成部は、前記補正フェーズにおいては、前記ＡＰＰから出力された動作要求から優先度の高い１つの動作要求を選択して、選択した動作要求で前のフェーズで生成した動作要求を補正し、補正した動作要求を次のフェーズへ入力する
ことを特徴とする請求項１から３までのいずれかに記載の制御装置。
【請求項５】
前記要求入力部は、優先度の高い動作要求ほど前のフェーズあるいは後のフェーズへ入力する
ことを特徴とする請求項１から４までのいずれかに記載の制御装置。
【請求項６】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御方法であり、
処理装置が、順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力工程と、
処理装置が、フェーズ毎に予め記憶装置に記憶した調停情報であって、前記複数のフェーズのうちの遷移フェーズについては、前記デバイスの動作状態と、入力された動作要求との組合せに応じて、生成される動作要求を定めた状態遷移情報である前記調停情報に従い、先頭のフェーズから順に、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力することにより、段階的に動作要求の競合を調停し、前記遷移フェーズにおいては、状態遷移情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成工程と、
処理装置が、最後のフェーズで前記要求生成工程が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御工程と
を備えることを特徴とする制御方法。
【請求項７】
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御プログラムであり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力処理と、
フェーズ毎に予め記憶装置に記憶した調停情報であって、前記複数のフェーズのうちの遷移フェーズについては、前記デバイスの動作状態と、入力された動作要求との組合せに応じて、生成される動作要求を定めた状態遷移情報である前記調停情報に従い、先頭のフェーズから順に、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力することにより、段階的に動作要求の競合を調停し、前記遷移フェーズにおいては、状態遷移情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成処理と、
最後のフェーズで前記要求生成処理が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御処理と
をコンピュータに実行させることを特徴とする制御プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
この発明に係る制御装置は、
複数のＡＰＰ（アプリケーションプログラム）から出力された競合する動作要求を調停してデバイスを制御する制御装置であり、
順序が設定された複数のフェーズのうち、ＡＰＰ毎に予め定められたフェーズへ、各ＡＰＰが出力した動作要求を入力する要求入力部と、
前記フェーズ毎に、調停情報を記憶し、前記複数のフェーズのうちの遷移フェーズについては、前記デバイスの動作状態と、入力された動作要求との組合せに応じて、生成される動作要求を定めた状態遷移情報を前記調停情報として記憶した調停情報記憶部と、
先頭のフェーズから順に、前記調停情報記憶部が記憶した調停情報に従い、入力された動作要求の競合を調停した動作要求を生成し、生成した動作要求を次のフェーズへ入力することにより、段階的に動作要求の競合を調停し、前記遷移フェーズにおいては、状態遷移情報に従い、入力された動作要求から新たに動作要求を生成し、生成した動作要求を次のフェーズへ入力する要求生成部と、
最後のフェーズで前記要求生成部が生成した動作要求に従い、前記デバイスの動作を制御するデバイス制御部と
を備えることを特徴とする。
【国際調査報告】
2013168280.tif 000025
2013168280.tif 000026
2013168280.tif 000027
2013168280.tif 000028