JPWO2018179110A1 - リモートコントローラ、遠隔制御方法、及び、プログラム - Google Patents

リモートコントローラ、遠隔制御方法、及び、プログラム Download PDF

Info

Publication number
JPWO2018179110A1
JPWO2018179110A1 JP2019508403A JP2019508403A JPWO2018179110A1 JP WO2018179110 A1 JPWO2018179110 A1 JP WO2018179110A1 JP 2019508403 A JP2019508403 A JP 2019508403A JP 2019508403 A JP2019508403 A JP 2019508403A JP WO2018179110 A1 JPWO2018179110 A1 JP WO2018179110A1
Authority
JP
Japan
Prior art keywords
core
data
storage area
remote controller
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019508403A
Other languages
English (en)
Other versions
JP6701440B2 (ja
Inventor
秀一 立井
紀之 小宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2018179110A1 publication Critical patent/JPWO2018179110A1/ja
Application granted granted Critical
Publication of JP6701440B2 publication Critical patent/JP6701440B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Selective Calling Equipment (AREA)

Abstract

リモートコントローラ(100)は、第1のコア(210)と第2のコア(220)と不揮発性メモリ(230)とを備えるマルチコアプロセッサ(200)を備える。第1のコア(210)は、空気調和機(400)に関する処理のうち、不揮発性メモリ(230)が備える第1の記憶領域(250)に第1のデータを記憶する処理を含むとともにリアルタイム性が要求されない第1の処理を実行する。第2のコア(220)は、空気調和機(400)に関する処理のうち、不揮発性メモリ(230)が備える第2の記憶領域(260)に第2のデータを記憶する処理を含むとともにリアルタイム性が要求される第2の処理を実行する。

Description

本発明は、リモートコントローラ、遠隔制御方法、及び、プログラムに関する。
現在、機器を遠隔操作するリモートコントローラに、リアルタイム性を維持しつつ多くの機能を持たせたいという要望がある。特許文献1には、このような要望に応える技術として、RTOS(Real Time Operating System)を搭載したプラットフォームに、サーバ機能やJAVA(登録商標)機能を実装した集中リモコンが開示されている。
特許文献1に開示された集中リモコンは、RTOSを搭載しているため、リアルタイム性を有する。また、特許文献1に開示された集中リモコンは、サーバ機能やJAVA(登録商標)機能が搭載されているため、多機能といえる。
特開2004−332995号公報
しかしながら、一般的に、RTOS用に用意されている機能はそれ程多くない。そして、RTOS用に用意されていない機能を利用したい場合、利用したい機能を実現するためのソフトウェアを独自に開発する必要があり、コストがかかる。特許文献1に開示された集中リモコンにおいても、サーバ機能やJAVA(登録商標)機能を実現するためのソフトウェアの開発コストは大きいと考えられる。このため、リアルタイム性を有し、多機能であり、低コストであるリモートコントローラが望まれている。
本発明は、上記問題に鑑みてなされたものであり、リアルタイム性を有し、多機能であり、低コストであるリモートコントローラ、遠隔制御方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明に係るリモートコントローラは、
機器を遠隔制御するためのリモートコントローラであって、
第1のコアと第2のコアと不揮発性メモリとを備えるマルチコアプロセッサを備え、
前記第1のコアは、前記機器に関する処理のうち、前記不揮発性メモリが備える第1の記憶領域に第1のデータを記憶する処理を含むとともにリアルタイム性が要求されない第1の処理を実行し、
前記第2のコアは、前記機器に関する処理のうち、前記不揮発性メモリが備える第2の記憶領域に第2のデータを記憶する処理を含むとともにリアルタイム性が要求される第2の処理を実行する。
本発明では、第1のコアによりリアルタイム性を要しない第1の処理が実行され、第2のコアによりリアルタイム性を要する第2の処理が実行される。従って、本発明によれば、リアルタイム性を有し、多機能であり、低コストであるリモートコントローラを提供することができる。
本発明の実施形態に係るリモートコントローラの構成図 不揮発性メモリに記憶されるデータを示す図 本発明の実施形態に係るリモートコントローラが実行する起動処理を示すフローチャート 図3に示す異常判定処理を示すフローチャート 図4に示すデータ入出力処理を示すフローチャート
(実施形態)
まず、図1を参照して、本発明の実施形態に係るリモートコントローラ100の構成について説明する。リモートコントローラ100は、機器から離れたところから機器を操作するための装置である。本実施形態では、リモートコントローラ100は、機器の状態を制御する機能に加え、機器の状態を監視する機能も有するものとする。
リモートコントローラ100は、リアルタイム性を要しない処理と、リアルタイム性を要する処理とを実行する。リアルタイム性を要しない処理は、即応性が求められない処理であり、低レイテンシが保証されなくてもよい処理であり、処理遅延が許容される処理である。リアルタイム性を要する処理は、即応性が求められる処理であり、低レイテンシが保証されるべき処理であり、処理遅延が許容されない処理である。以下、適宜、リアルタイム性を要しない処理を第1の処理と呼び、リアルタイム性を要する処理を第2の処理と呼ぶ。後述するように、リモートコントローラ100は、第1の処理の実行に適した第1のコア210と第2の処理の実行に適した第2のコア220とを備えるマルチコアプロセッサ200を備え、第1のコア210に第1の処理を実行させ、第2のコア220に第2の処理を実行させる。
また、後述するように、基本的には、第1のコア210は、第2の処理に関わるデータ(以下、適宜「第2のデータ」という。)が記憶される第2の記憶領域260にはアクセスできず、第2のコア220は、第1の処理に関わるデータ(以下、適宜「第1のデータ」という。)が記憶される第1の記憶領域250にはアクセスできない。かかる構成では、何らかの原因により第1のコア210が正常に動作しなくなると、第1の記憶領域250に記憶された第1のデータを読み出すことがなくなる。同様に、何らかの原因により第2のコア220が正常に動作しなくなると、第2の記憶領域260に記憶された第2のデータを読み出すことがなくなる。そこで、本実施形態では、リモートコントローラ100は、第1のコア210が正常に動作しないことを検知した場合、第2のコア220による第1の記憶領域250へのアクセスを許容し、第2のコア220が正常に動作しないことを検知した場合、第1のコア210による第2の記憶領域260へのアクセスを許容する。
第1のコア210が正常に動作しない原因、つまり、第1の処理が正常に実行されない原因は、例えば、第1のコア210のハードウェア的な故障、第1のオペレーティングシステム251の異常(例えば、バグ)、第1のアプリケーションプログラム252の異常(例えば、バグ)である。第2のコア220が正常に動作しない原因は、つまり、第2の処理が正常に実行されない原因は、例えば、第2のコア220のハードウェア的な故障、第2のオペレーティングシステム261の異常(例えば、バグ)、第2のアプリケーションプログラム262の異常(例えば、バグ)である。
本実施形態では、リモートコントローラ100により制御又は監視される機器は、空気調和機400と電力量計500との2つの機器であるものとする。ただし、リモートコントローラ100により制御又は監視される機器は、他の機器であってもよく、3つ以上の機器であってもよいことは勿論である。リモートコントローラ100は、多数の機器を一括して遠隔制御する集中リモコンであってもよい。
空気調和機400は、室外機410と室内機420とを備え、室内機420が設置された空間の空気を調整する機器である。空気を調整するとは、例えば、温度を調整したり、湿度を調整したり、送風したり、不純物を除去したりすることである。空気調和機400は、リモートコントローラ100により制御及び監視される。つまり、室外機410の状態及び室内機420の状態は、リモートコントローラ100により制御及び監視される。従って、室外機410と室内機420とは、リモートコントローラ100と通信する機能を有する。以下、適宜、室外機410や室内機420のことを空気調和機400と呼ぶ。本実施形態では、空気調和機400が1つの室内機420を備えるものとするが、空気調和機400が2つ以上の室内機420を備えていてもよい。また、空気調和機400は、換気扇(図示せず)、搬送ファン(図示せず)、照明機器(図示せず)などを備えていてもよい。
電力量計500は、空気調和機400により消費された電力量を計測する。電力量計500は、例えば、空気調和機400に供給される電流の大きさや位相を計測するカレントトランスを備える。電力量計500は、計測された電力量に応じた電力パルスを発信する機能を有する。例えば、電力量計500は、1kWh毎、10kWh毎、或いは、100kW毎に、1パルス発信する。電力量計500は、例えば、無線通信により、電力パルスを発信する。電力量計500から発信された電力パルスは、リモートコントローラ100により受信される。
記憶装置600は、データを記憶する装置である。記憶装置600には、リモートコントローラ100に異常が発生したときにリモートコントローラ100から読み出されたデータが記憶される。また、記憶装置600には、リモートコントローラ100に書き込まれるデータが予め記憶される。記憶装置600は、例えば、USB(Universal Serial Bus)フラッシュドライブ、SD(Secure Digital)メモリーカード、ハードディスクドライブである。
図1に示すように、リモートコントローラ100は、マルチコアプロセッサ200と、表示部310と、操作受付部320と、通信部330と、電力パルス受信部340と、データ入出力部350とを備える。
マルチコアプロセッサ200は、複数のコアプロセッサを1つのパッケージに集積したマイクロプロセッサであり、第1のコア210と、第2のコア220と、不揮発性メモリ230とを備える。第1のコア210と第2のコア220と不揮発性メモリ230とは、バス270を介して相互に接続される。本実施形態では、マルチコアプロセッサ200は、非対称型であり、オペレーティングシステムが実装されているものとする。ただし、マルチコアプロセッサ200は、対称型であってもよく、オペレーティングシステムが実装されていなくてもよい。また、マルチコアプロセッサ200は、3つ以上のプロセッサコアを備えていてもよい。
第1のコア210は、演算処理を実行するための論理回路(図示せず)やキャッシュメモリ(図示せず)を備えるプロセッサコアである。第1のコア210は、空気調和機400と電力量計500とに関する処理のうち、第1の処理(リアルタイム性を要しない処理)を実行する。第1のコア210には、第1の処理に適したオペレーティングシステムである第1のオペレーティングシステム251が実装される。第1の処理は、第1のオペレーティングシステム251上で第1のアプリケーションプログラム252が実行されることにより実現される。第1の処理は、並列処理やバッチ処理が要求される処理であり、例えば、表示部310に対する表示制御処理、操作受付部320を用いた操作入力検出処理、通信部330を介した空気調和機400の制御処理である。
第2のコア220は、演算処理を実行するための論理回路(図示せず)やキャッシュメモリ(図示せず)を備えるプロセッサコアである。第2のコア220は、空気調和機400と電力量計500とに関する処理のうち、第2の処理(リアルタイム性を要する処理)を実行する。第2のコア220には、第2の処理に適したオペレーティングシステムである第2のオペレーティングシステム261が実装される。第2の処理は、第2のオペレーティングシステム261上で第2のアプリケーションプログラム262が実行されることにより実現される。第2の処理は、例えば、リモートコントローラ100と空気調和機400との通信に関わるログデータである通信ログデータ263の取得処理や、電力量計500から受信した電力パルスに関わるログデータである電力パルスログデータ264の取得処理である。なお、第1のコア210と第2のコア220とは、例えば、割り込み信号の送受信により、制御信号や少量のデータの送受信が可能である。
不揮発性メモリ230は、電源が供給されなくてもデータを保持することが可能なメモリである。不揮発性メモリ230は、例えば、フラッシュメモリである。不揮発性メモリ230は、管理領域240と、第1の記憶領域250と、第2の記憶領域260とを備える。管理領域240は、第1のコア210や第2のコア220の動作の管理に関わるプログラムやデータが記憶される記憶領域である。第1の記憶領域250は、第1のコア210に関わるプログラムやデータが記憶される記憶領域である。第2の記憶領域260は、第2のコア220に関わるプログラムやデータが記憶される記憶領域である。本実施形態では、管理領域240と第1の記憶領域250と第2の記憶領域260とは、それぞれ、予め定められたアドレス範囲に設定されているものとする。以下、図2を参照して、不揮発性メモリ230に記憶されるデータについて説明する。
管理領域240には、起動プログラム241と、アクセス管理プログラム242と、エラー通知プログラム243と、データ入出力プログラム244と、第1のエラーフラグ245と、第2のエラーフラグ246とが記憶される。
起動プログラム241は、マルチコアプロセッサ200の電源投入後、最初に呼び出されて実行されるプログラムである。起動プログラム241は、第1のオペレーティングシステム251や第2のオペレーティングシステム261を呼び出すためのプログラムである。起動プログラム241は、第1のコア210又は第2のコア220により実行される。起動プログラム241は、例えば、ブートローダに対応する。
アクセス管理プログラム242は、第1のコア210がアクセス可能な記憶領域と第2のコア220がアクセス可能な記憶領域とを管理するためのプログラムである。アクセス管理プログラム242は、第1のコア210と第2のコア220とが正常に動作する場合、第1のコア210による第2の記憶領域260へのアクセスを禁止し、第2のコア220による第1の記憶領域250へのアクセスを禁止する。また、アクセス管理プログラム242は、第1のコア210が正常に動作しない場合、第2のコア220による第1の記憶領域250へのアクセスを許容する。そして、アクセス管理プログラム242は、第2のコア220が正常に動作しない場合、第1のコア210による第2の記憶領域260へのアクセスを許容する。アクセス管理プログラム242は、第1のコア210又は第2のコア220により実行される。アクセス管理プログラム242は、例えば、デバイスドライバに対応する。
エラー通知プログラム243は、第1のコア210と第2のコア220とが正常に動作しない場合に、エラーを通知するためのプログラムである。データ入出力プログラム244は、第1のコア210と第2のコア220とのうちの一方のコアが正常に動作しない場合に、他方のコアが上記一方のコアに関わるデータを読み出したり書き込んだりするためのプログラムである。エラー通知プログラム243とデータ入出力プログラム244とは、第1のコア210又は第2のコア220により実行される。
第1のエラーフラグ245は、第1のコア210が正常に動作しない場合に、セットされるフラグである。第1のコア210が正常に動作しない場合とは、第1のコア210がハードウェア的に動作しない場合、第1のコア210が第1のオペレーティングシステム251を正しく起動できない場合、第1のオペレーティングシステム251から第1のアプリケーションプログラム252が正しく呼び出されない場合である。第2のエラーフラグ246は、第2のコア220が正常に動作しない場合に、セットされるフラグである。第2のコア220が正常に動作しない場合とは、第2のコア220がハードウェア的に動作しない場合、第2のコア220が第2のオペレーティングシステム261を正しく起動できない場合、第2のオペレーティングシステム261から第2のアプリケーションプログラム262が正しく呼び出されない場合である。第1のエラーフラグ245や第2のエラーフラグ246は、第1のコア210又は第2のコア220が起動プログラム241を実行することによりセットされる。
第1の記憶領域250には、第1のオペレーティングシステム251と、第1のアプリケーションプログラム252と、空調管理データ253と、電力料金データ254とが記憶される。第1のオペレーティングシステム251は、第1のコア210が起動する、第1の処理の実行に適した基本ソフトウェアである。第1のアプリケーションプログラム252は、第1のオペレーティングシステム251から呼び出される、第1の処理を実行するためのアプリケーションソフトウェアである。図1及び図2では、理解を容易にするため、第1のアプリケーションプログラム252を1つだけ明示しているが、第1のアプリケーションプログラム252の個数は、第1の処理の個数分だけ用意される。
空調管理データ253は、空気調和機400の管理に関するデータであり、空気調和機400の運転状態の履歴を示すデータである。電力料金データ254は、空気調和機400の稼働により消費された電力量から算出された電気料金を示すデータである。空調管理データ253と電力料金データ254とは、第1のコア210が第1のアプリケーションプログラム252を実行することにより、第1の記憶領域250の予め定められた記憶領域に記憶される。
第2の記憶領域260には、第2のオペレーティングシステム261と、第2のアプリケーションプログラム262と、通信ログデータ263と、電力パルスログデータ264とが記憶される。第2のオペレーティングシステム261は、第2のコア220が起動する、第2の処理の実行に適した基本ソフトウェアである。第2のアプリケーションプログラム262は、第2のオペレーティングシステム261から呼び出される、第2の処理を実行するためのアプリケーションソフトウェアである。図1及び図2では、理解を容易にするため、第2のアプリケーションプログラム262を1つだけ明示しているが、第2のアプリケーションプログラム262の個数は、第2の処理の個数分だけ用意される。
通信ログデータ263は、リモートコントローラ100と空気調和機400との間で送受信された通信内容の履歴を示すログデータである。通信ログデータ263は、例えば、通信内容と通信時刻とを含むレコードを備える。電力パルスログデータ264は、電力量計500から受信された電力パルスの履歴を示すログデータである。電力パルスログデータ264は、例えば、電力パルスの受信時刻を含むレコードを備える。通信ログデータ263と電力パルスログデータ264とは、第2のコア220が第2のアプリケーションプログラム262を実行することにより、第2の記憶領域260の予め定められた記憶領域に記憶される。
表示部310は、第1のコア210又は第2のコア220による制御に従って、各種の情報を含む画面を表示する。表示部310により表示される情報は、例えば、空気調和機400の運転状況を示す情報、空気調和機400の設定状況を示す情報、第1のコア210と第2のコア220とが正常に動作しない旨を報知する情報、第1のデータや第2のデータの読み込みや書き込みを促す情報である。表示部310は、例えば、液晶ディスプレイ、7セグメントLED(Liquid Emitting Diode)を備える。
操作受付部320は、ユーザによる操作を受け付けるインターフェースである。操作受付部320は、例えば、空気調和機400の状態の制御を指示する操作、空気調和機400の状態の表示を指示する操作、第1のデータや第2のデータの読み込みや書き込みを指示する操作である。操作受付部320は、例えば、押しボタン、キーボードなどを備える。なお、表示部310と操作受付部320とが統合されたタッチスクリーンが採用されてもよい。
通信部330は、リモートコントローラ100を空気調和機400と通信できるようにするための通信インターフェースである。通信部330により送受信される情報は、例えば、空気調和機400の状態の制御を指示する情報、空気調和機400の状態を示す情報である。通信部330は、例えば、無線通信により空気調和機400と通信する赤外線通信インターフェースであり、通信処理を実行する専用IC(Integrated Circuit)を備える。
電力パルス受信部340は、電力量計500から発信された電力パルスを受信する。電力パルス受信部340は、電力パルスを受信した場合、例えば、割り込み信号により第1のコア210や第2のコア220に電力パルスを受信した旨を通知する。電力パルス受信部340は、例えば、無線信号を受信するインターフェースである。
データ入出力部350は、第1のコア210又は第2のコア220が正常に動作しない場合に、不揮発性メモリ230から読み出した第1のデータ又は第2のデータを記憶装置600に送信したり、記憶装置600から受信した第1のデータ又は第2のデータを不揮発性メモリ230に書き込んだりするインターフェースである。データ入出力部350は、例えば、USBポート、SDカード用スロットである。
次に、図3を参照して、リモートコントローラ100が実行する起動処理について説明する。起動処理は、リモートコントローラ100の電源が投入されたときに、第1のコア210又は第2のコア220が実行する処理である。起動処理は、基本的に、マスターコアが、起動プログラム241を実行することにより実現される。マスターコアは、第1のコア210と第2のコア220とのうち、最初に起動したコアである。マスターコアでないコアは、スレーブコアとなる。例えば、第1のコア210と第2のコア220とは、起動時に、他のコアに起動した旨を知らせる割り込み信号を送信することにより、いずれのコアが先に起動したのかを特定することができる。本実施形態では、第1のコア210がマスターコアであり、第2のコア220がスレーブコアであるものとする。
まず、第1のコア210は、第1のオペレーティングシステム251を起動する(ステップS101)。例えば、第1のコア210は、起動プログラム241を実行するスレッドとは別のスレッドで、第1のオペレーティングシステム251の起動を開始する。
第1のコア210は、ステップS101の処理が完了すると、第1のアプリケーションを起動する(ステップS102)。本実施形態では、第1のオペレーティングシステム251の起動が完了すると、自動的に、第1のアプリケーションの起動が開始されるものとする。なお、第1のコア210により第1のアプリケーションプログラム252の実行が開始されると、第1のアプリケーションの起動が開始される。
第1のコア210は、ステップS102の処理が完了すると、第1のアプリケーションの起動が成功したか否かを判別する(ステップS103)。第1のアプリケーションの起動が成功することは、第1のアプリケーションの起動が完了し、第1のアプリケーションが実行可能な状態になることを意味する。例えば、第1のコア210にハードウェア的に異常がなく、第1のオペレーティングシステム251に異常がなく、且つ、第1のアプリケーションプログラム252に異常がない場合、第1のアプリケーションの起動が成功する。一方、第1のコア210にハードウェア的に異常があり、第1のオペレーティングシステム251に異常があり、又は、第1のアプリケーションプログラム252に異常がある場合、第1のアプリケーションの起動が失敗する。
第1のアプリケーションの起動が成功したか否かを判別する手法は、適宜、調整することができる。例えば、第1のアプリケーションの起動が完了した場合に、第1のアプリケーションの起動が完了したことを通知する割り込み信号が発生するように設計されているものとする。この場合、第1のコア210は、予め定められた設定期間内にこの割り込み信号が発生したか否かを判別することにより、第1のアプリケーションの起動が成功したか否かを判別することができる。つまり、第1のコア210は、この設定期間内にこの割り込みが発生したことを検知した場合、第1のアプリケーションの起動が成功したと判別し、この設定期間内にこの割り込みが発生したことを検知しなかった場合(タイムアウトした場合)、第1のアプリケーションの起動が失敗したと判別する。なお、この設定期間は、例えば、第1のオペレーティングシステム251の起動を開始してから、第1のオペレーティングシステム251の起動に要すると推定される時間と第1のアプリケーションの起動に要すると推定される時間との和よりも十分に長い時間が経過するまでの期間である。
或いは、例えば、第1のアプリケーションの起動時に、予め定められたデバイスファイルがマウントされるものとする。この場合、第1のコア210は、このデバイスファイルがマウントされているか否かを判別することにより、第1のアプリケーションの起動が成功したか否かを判別することができる。例えば、第1のコア210は、上記設定期間の経過後にこのデバイスファイルがマウントされていることを検知した場合、第1のアプリケーションの起動が成功したと判別し、上記設定期間の経過後にこのデバイスファイルがマウントされていないことを検知した場合、第1のアプリケーションの起動が失敗したと判別する。
第1のコア210は、第1のアプリケーションの起動が成功しなかったと判別した場合(ステップS103:NO)、第1のエラーフラグ245をセットする(ステップS104)。なお、第1のエラーフラグ245は、起動処理の開始時には、セットされていないものとする。第1のコア210は、第1のアプリケーションの起動が成功したと判別した場合(ステップS103:YES)、又は、ステップS104の処理を完了した場合、第2のオペレーティングシステム261を起動する(ステップS105)。例えば、第1のコア210は、第2のコア220に、第2のオペレーティングシステム261の起動を開始させる。
第1のコア210は、ステップS105の処理が完了すると、第2のアプリケーションを起動する(ステップS106)。本実施形態では、第2のオペレーティングシステム261の起動が完了すると、自動的に、第2のアプリケーションの起動が開始されるものとする。なお、第2のコア220により第2のアプリケーションプログラム262の実行が開始されると、第2のアプリケーションの起動が開始される。
第1のコア210は、ステップS106の処理が完了すると、第2のアプリケーションの起動が成功したか否かを判別する(ステップS107)。第2のアプリケーションの起動が成功することは、第2のアプリケーションの起動が完了し、第2のアプリケーションが実行可能な状態になることを意味する。例えば、第2のコア220にハードウェア的に異常がなく、第2のオペレーティングシステム261に異常がなく、且つ、第2のアプリケーションプログラム262に異常がない場合、第2のアプリケーションの起動が成功する。一方、第2のコア220にハードウェア的に異常があり、第2のオペレーティングシステム261に異常があり、又は、第2のアプリケーションプログラム262に異常がある場合、第2のアプリケーションの起動が失敗する。
第2のアプリケーションの起動が成功したか否かを判別する手法は、第1のアプリケーションの起動が成功したか否かを判別する手法と同様である。つまり、第1のコア210は、予め定められた設定期間内に、第2のアプリケーションの起動が完了したことを通知する割り込み信号が発生したか否かを判別することにより、第2のアプリケーションの起動が成功したか否かを判別することができる。或いは、第1のコア210は、上記設定期間の経過後に、第2のアプリケーションの起動時にマウントされるデバイスファイルがマウントされているか否かを判別することにより、第2のアプリケーションの起動が成功したか否かを判別することができる。
第1のコア210は、第2のアプリケーションの起動が成功しなかったと判別した場合(ステップS107:NO)、第2のエラーフラグ246をセットする(ステップS108)。なお、第2のエラーフラグ246は、起動処理の開始時には、セットされていないものとする。第1のコア210は、第2のアプリケーションの起動が成功したと判別した場合(ステップS107:YES)、又は、ステップS108の処理を完了した場合、異常判定処理を実行する(ステップS109)。異常判定処理については、図4を参照して、詳細に説明する。
まず、第1のコア210は、全エラーフラグがセットされているか否かを判別する(ステップS201)。つまり、第1のコア210は、第1のエラーフラグ245と第2のエラーフラグ246とのいずれもがセットされているか否かを判別する。第1のコア210は、全エラーフラグがセットされていると判別すると(ステップS201:YES)、エラー通知処理を実行する(ステップS202)。
エラー通知処理では、第1のコア210は、第1のアプリケーションと第2のアプリケーションとのいずれもが正常に起動できないことを報知するメッセージや画像を表示部310に表示させる。エラー通知処理は、第1のコア210(又は、第2のコア220)がエラー通知プログラム243を実行することにより実行される。第1のコア210は、ステップS202の処理を完了すると、異常判定処理及び起動処理を終了する。
一方、第1のコア210は、いずれかのエラーフラグがセットされていないと判別すると(ステップS201:NO)、第1のエラーフラグ245がセットされているか否かを判別する(ステップS203)。第1のコア210は、第1のエラーフラグ245がセットされていると判別すると(ステップS203:YES)、第2のコア220から第1の記憶領域250へのアクセスを許可する(ステップS204)。例えば、第1のコア210は、アクセス管理プログラム242を実行して、第2のコア220から第1の記憶領域250へのアクセスを許可する。
第1のコア210は、ステップS204の処理を完了すると、データ入出力処理を実行する(ステップS205)。データ入出力処理は、例えば、第1のコア210(又は、第2のコア220)が、データ入出力プログラム244を実行することにより実現される。データ入出力処理については、図5を参照して、詳細に説明する。
まず、第1のコア210は、ユーザ操作要求画面を表示する(ステップS301)。具体的には、第1のコア210は、表示部310にユーザ操作を要求する画面であるユーザ操作要求画面を表示させる。ユーザ操作要求画面は、例えば、データの読み出しを指示する操作、データの書き込みを指示する操作、データ入出力の終了を指示する操作のいずれかをユーザに要求する画面である。
第1のコア210は、ステップS301の処理を完了すると、データの読み出し指示があるか否かを判別する(ステップS302)。例えば、第1のコア210は、操作受付部320によりデータの読み出し指示が受け付けられたか否かを判別する。第1のコア210は、データの読み出し指示があると判別すると(ステップS302:YES)、第1のデータを読み出す(ステップS303)。具体的には、第1のコア210は、第2のコア220に、第1のデータの読み出しを指示する。一方、第2のコア220は、第1の記憶領域250に記憶された第1のデータを読み出し、データ入出力部350に供給する。なお、データ入出力部350は、供給された第1のデータを、記憶装置600に送信し、記憶装置600に記憶させる。
ここで、例えば、第1の記憶領域250と第2の記憶領域260とでファイルシステムが同じ場合、第2のコア220は、第1のデータを、このファイルシステムに応じたファイル形式で読み出すことができる。一方、例えば、第1の記憶領域250と第2の記憶領域260とでファイルシステムが異なる場合、第2のコア220は、アドレス参照で第1の記憶領域250にアクセスすることにより、第1のデータをバイナリデータとして読み出すことができる。なお、読み出される第1のデータは、ユーザにより指定される。また、アドレスの指定によりバイナリデータが読み出されてもよい。ファイル形式で読み出された第1のデータは、ファイル形式で記憶装置600に記憶される。一方、バイナリ形式で読み出された第1のデータは、バイナリ形式で、不揮発性メモリ230上のアドレス情報とともに記憶装置600に記憶される。
第1のコア210は、データの読み出し指示がないと判別した場合(ステップS302:NO)、又は、ステップS303の処理を完了した場合、データの書き込み指示があるか否かを判別する(ステップS304)。例えば、第1のコア210は、操作受付部320によりデータの書き込み指示が受け付けられたか否かを判別する。第1のコア210は、データの書き込み指示があると判別すると(ステップS304:YES)、第1のデータを書き込む(ステップS305)。具体的には、第1のコア210は、第2のコア220に、第1のデータの書き込みを指示する。一方、第2のコア220は、データ入出力部350が記憶装置600から受信したデータを、第1のデータとして第1の記憶領域250に記憶させる。
ここで、例えば、第1の記憶領域250と第2の記憶領域260とでファイルシステムが同じ場合、第2のコア220は、第1のデータを、このファイルシステムに応じたファイル形式で書き込むことができる。一方、例えば、第1の記憶領域250と第2の記憶領域260とでファイルシステムが異なる場合、第2のコア220は、アドレス参照で第1の記憶領域250にアクセスすることにより、第1のデータをバイナリデータとして書き込むことができる。なお、書き込まれる第1のデータは、ユーザにより指定される。また、アドレスの指定によりバイナリデータが書き込まれてもよい。
第1のコア210は、データの書き込み指示がないと判別した場合(ステップS304:NO)、又は、ステップS305の処理を完了した場合、データの入出力の終了指示があるか否かを判別する(ステップS306)。第1のコア210は、データの入出力の終了指示がないと判別すると(ステップS306:NO)、ステップS302に処理を戻す。一方、第1のコア210は、データの入出力の終了指示があると判別すると(ステップS306:YES)、データ入出力処理を完了する。第1のコア210は、ステップS205の処理を完了すると、異常判定処理及び起動処理を終了する。
第1のコア210は、第1のエラーフラグ245がセットされていないと判別すると(ステップS203:NO)、第2のエラーフラグ246がセットされているか否かを判別する(ステップS206)。第1のコア210は、第2のエラーフラグ246がセットされていると判別すると(ステップS206:YES)、第1のコア210から第2の記憶領域260へのアクセスを許可する(ステップS207)。例えば、第1のコア210は、アクセス管理プログラム242を実行して、第1のコア210から第2の記憶領域260へのアクセスを許可する。
第1のコア210は、ステップS207の処理を完了すると、データ入出力処理を実行する(ステップS208)。ステップS208において実行されるデータ入出力処理は、読み出される又は書き込まれるデータが第1のデータではなく第2のデータである点と、データの読み出し又は書き込みの主体が第2のコア220ではなく第1のコア210である点を除き、ステップS205において実行されるデータ入出力処理と同様である。第1のコア210は、ステップS208の処理を完了すると、異常判定処理及び起動処理を終了する。
第1のコア210は、第2のエラーフラグ246がセットされていないと判別すると(ステップS206:NO)、異常判定処理を完了する。第1のコア210は、ステップS109の処理を完了すると、通常処理を実行する(ステップS110)。なお、通常処理は、第1のコア210が第1のアプリケーションを実行して第1の処理を実行し、第2のコア220が第2のアプリケーションを実行して第2の処理を実行する処理である。第1のコア210は、ステップS110の処理を完了すると、起動処理を完了する。
本実施形態では、第1のコア210によりリアルタイム性を要しない第1の処理が実行され、第2のコア220によりリアルタイム性を要する第2の処理が実行される。ここで、第1の処理を実現するためのアプリケーションプログラムの開発に要するコストは、第2の処理を実現するためのアプリケーションプログラムの開発に要するコストよりも低い場合が多い。従って、本実施形態によれば、リアルタイム性を有し、多機能であり、低コストであるリモートコントローラを提供することができる。
また、本実施形態では、第1のコア210が正常に動作しない場合、第2のコア220による第1のデータのアクセスが可能となり、第2のコア220が正常に動作しない場合、第1のコア210による第2のデータのアクセスが可能となる。つまり、本実施形態では、一方のコアが正常に動作しない場合、他方のコアが、一方のコアにより保存されたデータを読み出すことができる。このため、本実施形態によれば、電気料金データ(課金データ)、異常発生時における通信ログデータ、異常発生時における空調管理データなど、重要なデータにアクセスできなくなるリスクが低下する。
(変形例)
以上、本発明の実施形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能である。
本発明において、上記実施形態において説明した構成、機能、動作のどの部分を採用するのかは任意である。また、本発明において、上述した構成、機能、動作のほか、更なる構成、機能、動作が採用されてもよい。また、上記実施形態において説明した構成、機能、動作は、自由に組み合わせることができる。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
本発明は、機器を遠隔制御するためのリモートコントローラに適用可能である。
100 リモートコントローラ、200 マルチコアプロセッサ、210 第1のコア、220 第2のコア、230 不揮発性メモリ、240 管理領域、241 起動プログラム、242 アクセス管理プログラム、243 エラー通知プログラム、244 データ入出力プログラム、245 第1のエラーフラグ、246 第2のエラーフラグ、250 第1の記憶領域、251 第1のオペレーティングシステム、252 第1のアプリケーションプログラム、253 空調管理データ、254 電力料金データ、260 第2の記憶領域、261 第2のオペレーティングシステム、262 第2のアプリケーションプログラム、263 通信ログデータ、264 電力パルスログデータ、270 バス、310 表示部、320 操作受付部、330 通信部、340 電力パルス受信部、350 データ入出力部、400 空気調和機、410 室外機、420 室内機、500 電力量計、600 記憶装置
上記目的を達成するために、本発明に係るリモートコントローラは、
機器を遠隔制御するためのリモートコントローラであって、
第1のコアと第2のコアと不揮発性メモリとを備えるマルチコアプロセッサを備え、
前記第1のコアは、前記機器に関する処理のうち、前記不揮発性メモリが備える第1の記憶領域に第1のデータを記憶する処理を含むとともにリアルタイム性が要求されない第1の処理を実行し、
前記第2のコアは、前記機器に関する処理のうち、前記不揮発性メモリが備える第2の記憶領域に第2のデータを記憶する処理を含むとともにリアルタイム性が要求される第2の処理を実行
前記第1のコアと前記第2のコアとのうちの少なくとも一方のコアは、前記第1の処理と前記第2の処理とが正常に実行される場合、前記第1のコアによる前記第2の記憶領域へのアクセスを禁止するとともに前記第2のコアによる前記第1の記憶領域へのアクセスを禁止し、前記第1の処理が正常に実行されない場合、前記第2のコアによる前記第1の記憶領域へのアクセスを許可し、前記第2の処理が正常に実行されない場合、前記第1のコアによる前記第2の記憶領域へのアクセスを許可する、アクセス管理処理を実行する

Claims (5)

  1. 機器を遠隔制御するためのリモートコントローラであって、
    第1のコアと第2のコアと不揮発性メモリとを備えるマルチコアプロセッサを備え、
    前記第1のコアは、前記機器に関する処理のうち、前記不揮発性メモリが備える第1の記憶領域に第1のデータを記憶する処理を含むとともにリアルタイム性が要求されない第1の処理を実行し、
    前記第2のコアは、前記機器に関する処理のうち、前記不揮発性メモリが備える第2の記憶領域に第2のデータを記憶する処理を含むとともにリアルタイム性が要求される第2の処理を実行する、
    リモートコントローラ。
  2. 前記第1のコアと前記第2のコアとのうちの少なくとも一方のコアは、前記第1の処理と前記第2の処理とが正常に実行される場合、前記第1のコアによる前記第2の記憶領域へのアクセスを禁止するとともに前記第2のコアによる前記第1の記憶領域へのアクセスを禁止し、前記第1の処理が正常に実行されない場合、前記第2のコアによる前記第1の記憶領域へのアクセスを許可し、前記第2の処理が正常に実行されない場合、前記第1のコアによる前記第2の記憶領域へのアクセスを許可する、アクセス管理処理を実行する、
    請求項1に記載のリモートコントローラ。
  3. 前記第1のデータと前記第2のデータとのうちの少なくとも一方のデータを出力するデータ出力手段を更に備え、
    前記第1のコアは、前記第2の処理が正常に実行されない場合、前記第2の記憶領域から前記第2のデータを読み出して前記データ出力手段から出力させ、
    前記第2のコアは、前記第1の処理が正常に実行されない場合、前記第1の記憶領域から前記第1のデータを読み出して前記データ出力手段から出力させる、
    請求項2に記載リモートコントローラ。
  4. 第1のコアと第2のコアとを備えるマルチコアプロセッサを備えるリモートコントローラが実行する遠隔制御方法であって、
    前記第1のコアが、リアルタイム性が要求されない第1の処理を実行し、
    前記第2のコアが、リアルタイム性が要求される第2の処理を実行する、
    遠隔制御方法。
  5. 第1のコアと第2のコアとを備えるマルチコアプロセッサを備えるリモートコントローラに搭載されたコンピュータに、
    リアルタイム性が要求されない第1の処理と、
    リアルタイム性が要求される第2の処理と、を実行させるプログラムであって、
    前記第1の処理は、前記第1のコアが実行し、
    前記第2の処理は、前記第2のコアが実行する、
    プログラム。
JP2019508403A 2017-03-28 2017-03-28 リモートコントローラ、遠隔制御方法、及び、プログラム Active JP6701440B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/012744 WO2018179110A1 (ja) 2017-03-28 2017-03-28 リモートコントローラ、遠隔制御方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JPWO2018179110A1 true JPWO2018179110A1 (ja) 2019-11-07
JP6701440B2 JP6701440B2 (ja) 2020-05-27

Family

ID=63677709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019508403A Active JP6701440B2 (ja) 2017-03-28 2017-03-28 リモートコントローラ、遠隔制御方法、及び、プログラム

Country Status (2)

Country Link
JP (1) JP6701440B2 (ja)
WO (1) WO2018179110A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7378336B2 (ja) 2020-03-31 2023-11-13 三菱電機株式会社 空気調和機コントローラ、制御システム、及び制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004332995A (ja) * 2003-05-06 2004-11-25 Mitsubishi Electric Corp 空気調和システム、集中リモコン
JP2010226283A (ja) * 2009-03-23 2010-10-07 Konica Minolta Business Technologies Inc 情報処理装置
JP2011259130A (ja) * 2010-06-08 2011-12-22 Hitachi Kokusai Electric Inc 操作端末
JP2015159441A (ja) * 2014-02-24 2015-09-03 エコナビスタ株式会社 変換装置、情報処理システム及び変換方法
JP2016063407A (ja) * 2014-09-18 2016-04-25 コニカミノルタ株式会社 画像形成装置及び並列処理の制御方法並びに制御プログラム
JP2016187129A (ja) * 2015-03-27 2016-10-27 キヤノン株式会社 撮像装置、その制御方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004332995A (ja) * 2003-05-06 2004-11-25 Mitsubishi Electric Corp 空気調和システム、集中リモコン
JP2010226283A (ja) * 2009-03-23 2010-10-07 Konica Minolta Business Technologies Inc 情報処理装置
JP2011259130A (ja) * 2010-06-08 2011-12-22 Hitachi Kokusai Electric Inc 操作端末
JP2015159441A (ja) * 2014-02-24 2015-09-03 エコナビスタ株式会社 変換装置、情報処理システム及び変換方法
JP2016063407A (ja) * 2014-09-18 2016-04-25 コニカミノルタ株式会社 画像形成装置及び並列処理の制御方法並びに制御プログラム
JP2016187129A (ja) * 2015-03-27 2016-10-27 キヤノン株式会社 撮像装置、その制御方法及びプログラム

Also Published As

Publication number Publication date
WO2018179110A1 (ja) 2018-10-04
JP6701440B2 (ja) 2020-05-27

Similar Documents

Publication Publication Date Title
TWI506559B (zh) 可動態和選擇性停用核心以及重新設定之多核心微處理器及其方法
EP3274788B1 (en) Technologies for improved hybrid sleep power management
US9367446B2 (en) Computer system and data recovery method for a computer system having an embedded controller
TWI684864B (zh) 管理輸入輸出可虛擬化儲存裝置中之功能級重置
WO2013109640A1 (en) Techniques for command validation for access to a storage device by a remote client
US9529410B2 (en) Service processor (SP) initiated data transaction with BIOS utilizing power off commands
JP2008287505A (ja) 情報処理装置およびレガシーエミュレーション処理停止制御方法
US20150293714A1 (en) Storage system and data backup method
JP2012123673A (ja) 給電切替装置、給電切替装置制御方法、及び給電制御プログラム
US11860718B2 (en) Register reading method and apparatus, device, and medium
JP2018116648A (ja) 情報処理装置、その制御方法、及びプログラム
US8250354B2 (en) Method and apparatus for making a processor sideband interface adhere to secure mode restrictions
US9304789B2 (en) Virtual machine control device, virtual machine control method, computer-readable recording medium, and integrated circuit
US7996580B2 (en) System and method for notifying a host of a service required by a slave storage device
JP2013025426A (ja) 画像出力装置及びそのプログラム
JP6701440B2 (ja) リモートコントローラ、遠隔制御方法、及び、プログラム
US7814254B2 (en) Mode setting method and system in hot plug of PCI device
CN116701285A (zh) 远程访问控制装置、方法、设备及计算机可读介质
KR102516940B1 (ko) 부팅을 수행하는 전자 장치와 이의 동작 방법
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
TW201430702A (zh) 韌體更新方法及系統
JP5951123B2 (ja) 制御装置
JP2015191606A (ja) 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
US11467990B2 (en) Programmable logic controller, external apparatus, method, and recording medium
US11843612B2 (en) Communication device management device, system, method, and non-transitory computer-readable recording medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190604

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R150 Certificate of patent or registration of utility model

Ref document number: 6701440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250