(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-24
(45)【発行日】2023-12-04
(54)【発明の名称】洗濯機、及び、制御システム
(51)【国際特許分類】
D06F 33/32 20200101AFI20231127BHJP
【FI】
D06F33/32
(21)【出願番号】P 2020106610
(22)【出願日】2020-06-19
【審査請求日】2022-07-29
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】成瀬 隼人
(72)【発明者】
【氏名】坂本 一樹
(72)【発明者】
【氏名】岸 竜弘
(72)【発明者】
【氏名】村上 健太
(72)【発明者】
【氏名】末益 智志
【審査官】宮部 愛子
(56)【参考文献】
【文献】特開2019-91460(JP,A)
【文献】特開2003-284889(JP,A)
【文献】特開2001-293283(JP,A)
【文献】特開平5-111593(JP,A)
【文献】米国特許出願公開第2011/0153089(US,A1)
【文献】国際公開第2019/063118(WO,A1)
【文献】国際公開第2019/045373(WO,A1)
【文献】特開2013-132500(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
D06F 33/32-33/42
D06F 33/52-33/68
(57)【特許請求の範囲】
【請求項1】
外部機器と通信可能な洗濯機であって、
前記外部機器から洗濯情報を受信する通信部と、
前記洗濯情報に基づいて、洗濯物に対して、洗濯に関する運転を行う洗濯機能部と、
前記洗濯機能部を制御する制御装置と、を備え、
前記洗濯情報は、それぞれが前記洗濯機能部の運転を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含み、
前記制御装置は、洗濯の順番に関するルールに基づいて前記洗濯情報を修正し、修正後の洗濯情報を実行することで前記洗濯情報に基づく運転を前記洗濯機能部に実行させる
洗濯機。
【請求項2】
前記制御装置は、前記洗濯情報に含まれる第1の制御情報、及び、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報の実行が前記ルールで許容されない場合、前記洗濯情報に、前記第1の制御情報の次に実行される順番の制御情報として第3の制御情報を追加する
請求項1に記載の洗濯機。
【請求項3】
前記制御装置は、前記洗濯情報に含まれる第1の制御情報、及び、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報の実行が前記ルールで許容されない場合、前記第1の制御情報に含まれる前記パラメータに関する情報、又は、前記第2の制御情報に含まれる前記パラメータに関する情報、を修正する
請求項1に記載の洗濯機。
【請求項4】
前記制御装置は、前記洗濯情報に含まれる第1の制御情報、及び、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報の実行が前記ルールで許容されない場合、前記第2の制御情報の実行を制限する
請求項1に記載の洗濯機。
【請求項5】
前記ルールでは、前記第1の制御情報が前記洗濯機の槽への給水に関するパラメータを含み、かつ、前記第2の制御情報が禁水環境で実行される運転を制御するパラメータを含むことが許容されない
請求項2から4のいずれか1項に記載の洗濯機。
【請求項6】
前記禁水環境で実行される運転は、前記槽に水が貯められているときに実行されることが許容されない運転を含む
請求項5に記載の洗濯機。
【請求項7】
前記ルールでは、前記第1の制御情報が前記洗濯機の槽内の加熱に関するパラメータを含み、かつ、前記第2の制御情報が禁熱環境で実行される運転を制御するパラメータを含むことが許容されない
請求項2から4のいずれか1項に記載の洗濯機。
【請求項8】
前記禁熱環境で実行される運転は、前記槽内の温度が所定の温度以上のときに実行されることが許容されない運転を含む
請求項7に記載の洗濯機。
【請求項9】
前記ルールでは、前記第1の制御情報が水が貯められている前記洗濯機の槽の回転に関するパラメータを含み、かつ、前記第2の制御情報が禁動環境で実行される運転を制御するパラメータを含むことが許容されない
請求項2から4のいずれか1項に記載の洗濯機。
【請求項10】
前記ルールでは、前記第1の制御情報が前記洗濯機の槽内への送風に関するパラメータを含み、かつ、前記第2の制御情報が禁動環境で実行される運転を制御するパラメータを含むことが許容されない
請求項2から4のいずれか1項に記載の洗濯機。
【請求項11】
前記禁動環境で実行される運転は、前記槽内の水面を動かすことが許容されない運転を含む
請求項9または10に記載の洗濯機。
【請求項12】
前記ルールでは、前記第1の制御情報が前記洗濯機の槽を第1の回転で回転させるパラメータを含み、かつ、前記第2の制御情報が前記第1の回転とは異なる第2の回転で前記槽を回転させるパラメータを含むことが許容されない
請求項2から4のいずれか1項に記載の洗濯機。
【請求項13】
前記第1の回転における第1回転速度は、前記第2の回転の第2回転速度と異なる
請求項12に記載の洗濯機。
【請求項14】
前記第1の回転の向きは、前記第2の回転の向きと異なる
請求項12に記載の洗濯機。
【請求項15】
前記制御装置は、前記洗濯情報に含まれる第1の制御情報が前記洗濯機の槽への給水に関するパラメータを含み、かつ、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報が禁水環境で実行される運転を制御するパラメータを含む場合、前記ルールに基づいて、前記洗濯情報に、前記第1の制御情報と前記第2の制御情報との間に実行される順番の制御情報として、前記槽からの排水に関するパラメータを含む第3の制御情報を追加する
請求項1に記載の洗濯機。
【請求項16】
前記制御装置は、前記洗濯情報に含まれる第1の制御情報が前記洗濯機の槽への給水に関するパラメータを含み、かつ、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報が禁水環境で実行される運転を制御するパラメータを含む場合、前記ルールに基づいて、前記禁水環境で実行される運転を制御するパラメータの直前に前記槽からの排水に関するパラメータを追加するように、前記第2の制御情報を修正する
請求項1に記載の洗濯機。
【請求項17】
前記制御装置は、前記洗濯情報に含まれる第1の制御情報が前記洗濯機の槽内の加熱に関するパラメータを含み、かつ、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報が禁熱環境で実行される運転を制御するパラメータを含む場合、前記ルールに基づいて、前記洗濯情報に、前記第1の制御情報と前記第2の制御情報との間に実行される順番の制御情報として、前記槽の放熱に関するパラメータを含む第3の制御情報を追加する
請求項1に記載の洗濯機。
【請求項18】
前記制御装置は、前記洗濯情報に含まれる第1の制御情報が前記洗濯機の槽内の加熱に関するパラメータを含み、かつ、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報が禁熱環境で実行される運転を制御するパラメータを含む場合、前記ルールに基づいて、前記禁熱環境で実行される運転を制御するパラメータの直前に前記槽の放熱に関するパラメータを追加するように、前記第2の制御情報を修正する
請求項1に記載の洗濯機。
【請求項19】
前記制御装置は、前記ルールに基づき、前記洗濯情報に含まれる第1の制御情報、及び、前記順番情報において前記第1の制御情報の次に実行される順番に設定されている第2の制御情報が重複する場合、(i)前記第1の制御情報もしくは前記第2の制御情報を削除する、又は、(ii)前記第1の制御情報に含まれる前記パラメータに関する情報もしくは前記第2の制御情報に含まれる前記パラメータに関する情報を削除する
請求項1に記載の洗濯機。
【請求項20】
外部機器と、前記外部機器と通信可能な洗濯機とを備える制御システムであって、
前記洗濯機は、
前記外部機器から洗濯情報を受信する通信部と、
前記洗濯情報に基づいて、洗濯物に対して、洗濯に関する運転を行う洗濯機能部と、
前記洗濯機能部を制御する制御装置と、を備え、
前記洗濯情報は、それぞれが前記洗濯機能部の運転を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含み、
前記制御装置は、洗濯の順番に関するルールに基づいて前記洗濯情報を修正し、修正後の洗濯情報を実行することで前記洗濯情報に基づく運転を前記洗濯機能部に実行させる
制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、洗濯機、制御方法、及び、制御システムに関する。
【背景技術】
【0002】
従来、家庭用電化製品及び住宅設備等は、その製造者等によって予め用意された運転条件(制御プログラム)に従って制御される。特許文献1には、ユーザが実施したい洗濯の運転条件を設定可能な洗濯機が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来技術では、製品の製造者等によって予め開発された制御プログラムが製品に予め格納されていなければならず、多様なユーザの望みに合わせて制御プログラムをカスタマイズ及びアップデートすることは難しい。
【0005】
そこで、本開示は、より簡単かつ安全に、多種多彩な制御プログラムを実行することができる洗濯機などを提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係る洗濯機は、外部機器と通信可能な洗濯機であって、前記外部機器から洗濯情報を受信する通信部と、前記洗濯情報に基づいて、洗濯物に対して、洗濯に関する運転を行う洗濯機能部と、前記洗濯機能部を制御する制御装置と、を備え、前記洗濯情報は、それぞれが前記洗濯機能部の運転を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含み、前記制御装置は、洗濯の順番に関するルールに基づいて前記洗濯情報を修正し、修正後の洗濯情報を実行することで前記洗濯情報に基づく運転を前記洗濯機能部に実行させる。
【0007】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本開示の一態様に係る洗濯機は、より簡単かつ安全に、多種多彩な制御プログラムを実行することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1におけるシステムのハードウェア構成図である。
【
図2A】
図2Aは、実施の形態1におけるクラウドサーバのハードウェア構成図である。
【
図2B】
図2Bは、実施の形態1における装置のハードウェア構成図である。
【
図2C】
図2Cは、実施の形態1における端末のハードウェア構成図である。
【
図3】
図3は、実施の形態1におけるシステムの機能構成図である。
【
図4】
図4は、洗濯機の構成の一例を示す図である。
【
図5】
図5は、洗濯機の機能構成の一例を示すブロック図である。
【
図6A】
図6Aは、実施の形態1におけるアプリケーションを規定するブロックの第1の例を示す。
【
図6B】
図6Bは、実施の形態1におけるアプリケーションを規定するブロックの第2の例を示す。
【
図6C】
図6Cは、実施の形態1におけるアプリケーションを規定するブロックの第3の例を示す。
【
図6D】
図6Dは、実施の形態1におけるアプリケーションを規定するブロックの第4の例を示す。
【
図6E】
図6Eは、実施の形態1におけるアプリケーションを規定するブロックの第5の例を示す。
【
図6F】
図6Fは、実施の形態1におけるアプリケーションを規定するブロックの第6の例を示す。
【
図6G】
図6Gは、実施の形態1におけるアプリケーションを規定するブロックの第7の例を示す。
【
図6H】
図6Hは、実施の形態1におけるアプリケーションを規定するブロックの第8の例を示す。
【
図6I】
図6Iは、実施の形態1におけるアプリケーションを規定するブロックの第9の例を示す。
【
図6J】
図6Jは、実施の形態1におけるアプリケーションを規定するブロックの第10の例を示す。
【
図6K】
図6Kは、実施の形態1におけるアプリケーションを規定するブロックの第11の例を示す。
【
図6L】
図6Lは、実施の形態1におけるアプリケーションを規定するブロックの第12の例を示す。
【
図6M】
図6Mは、実施の形態1におけるアプリケーションを規定するブロックの第13の例を示す。
【
図6N】
図6Nは、実施の形態1におけるアプリケーションを規定するブロックの第14の例を示す。
【
図6O】
図6Oは、実施の形態1におけるアプリケーションを規定するブロックの第15の例を示す。
【
図7】
図7は、実施の形態1におけるシステムのシーケンス図である。
【
図8】
図8は、実施の形態1におけるデバイスデータベースの一例を示す。
【
図9】
図9は、実施の形態1における実行内容宣言の一例を示す。
【
図10】
図10は、実施の形態1における実行前確認処理のフローチャートを示す。
【
図11】
図11は、実施の形態1におけるルールデータベースの一例を示す。
【
図12】
図12は、実施の形態1における実行内容宣言の修正の第1の例を示す。
【
図13】
図13は、実施の形態1における実行内容宣言の修正の第2の例を示す。
【
図14】
図14は、実施の形態1における実行内容宣言の修正の第3の例を示す。
【
図15】
図15は、実施の形態1における実行内容宣言の修正の第4の例を示す。
【
図16】
図16は、実施の形態1における実行内容宣言の修正の第5の例を示す。
【
図17】
図17は、実施の形態1における実行内容宣言の修正の第6の例を示す。
【
図18】
図18は、実施の形態1における実行内容宣言の修正の第7の例を示す。
【
図19】
図19は、実施の形態1における実行内容宣言の修正の第8の例を示す。
【
図20】
図20は、実施の形態1における実行内容宣言の修正の第9の例を示す。
【
図21A】
図21Aは、実施の形態1の変形例1におけるシステムのシーケンス図である。
【
図21B】
図21Bは、実施の形態1の変形例2におけるシステムのシーケンス図である。
【
図21C】
図21Cは、実施の形態1の変形例3におけるシステムのシーケンス図である。
【
図21D】
図21Dは、実施の形態1の変形例4におけるシステムのシーケンス図である。
【
図21E】
図21Eは、実施の形態1の変形例5におけるシステムのシーケンス図である。
【
図22】
図22は、実施の形態2における実行前確認処理のフローチャートを示す。
【
図23】
図23は、実施の形態3における実行前確認処理のフローチャートを示す。
【
図24】
図24は、実施の形態4における実行前確認処理のフローチャートを示す。
【
図25】
図25は、実施の形態4におけるルールデータベースの一例を示す。
【発明を実施するための形態】
【0010】
(本開示の基礎となった知見)
本願発明者らが本開示に至るまでの経緯を説明する。アクチュエータ及び/又は加熱器を有する家庭用電化製品等において、多様なユーザの望みに合わせて制御プログラムを開発するためには、開発環境のオープン化が求められる。すなわち、制御プログラムの開発の難度を低下させて、サードパーティが制御プログラムの開発に容易に参加できる環境が求められる。このような環境では、例えば、アパレル企業が、自社の販売する衣服を洗濯するための洗濯機の制御プログラムを開発することも可能となる。
【0011】
そこで、本発明者らは、製品に含まれるアクチュエータ及び加熱器の制御を抽象化した機能ブロックを用いて、安全面の担保を維持しながら、制御プログラムを開発可能な環境を構築し、複数の機能ブロックの組み合わせからなる制御プログラムをパッケージ化してアプリケーションとして配信可能な仕組みを検討した。これにより、多種多彩なアプリケーションの配信が可能となり、より多様なユーザの望みに応えて製品をカスタマイズ及びアップデートすることが可能となる。しかしながら、このような環境では、危険なアプリケーション(つまり、製品を安全に制御することができないアプリケーション)が配信される可能性があり、製品の安全性が低下する。
【0012】
例えば、家庭用電化製品等に含まれるプログラムは、アクチュエータ及び/又は加熱器を直接制御するための機器に組込まれ、かつ、製造者により開発されたプログラムと、サードパーティにより開発されたプログラムとを互いに入り交じった状態で含むことが想定される。このとき、製造者は、サードパーティに、ノウハウを含む全ての家庭用電化製品等の情報を公開しない可能性が高い。例えば、アクチュエータ及び加熱器を駆動するパラメータ又はタイミングは、製造者の家庭用電化製品等の性能に関わるノウハウである。よって、競争力の低下につながる恐れがあるため、製造者は、サードパーティに、家庭用電化製品等を自在に駆動できるようにノウハウをオープンにする可能性は低い。
【0013】
そのため、サードパーティは、家庭用電化製品等の情報不足により、製造者が想定しない制御の組み合わせ、又はパラメータ範囲を含むアプリケーション、すなわち、安全性が担保されないアプリケーションを作成する可能性がある。このようなアプリケーションがユーザに提供されることは、ユーザに望ましくない。
【0014】
また、家庭用電化製品等の製造者は、新たな制御プログラムを提供することで、ユーザのくらしのアップデートを試みることが考えられる。しかしながら、多種多様な新たな制御プログラムの開発には、パラメータの調整、またはハードの性能評価などの膨大な工数がかかる。家庭用電化製品等は、アクチュエータ及び/又は加熱器のハードが物理的に駆動するため、家庭用電化製品等のプログラムは、スマートフォンのプログラムと比較して、性能評価などの工数が大きくなることが容易に予想される。しかし、大量生産ではなく、ユーザ一人一人の生活に応じたオンデマンド開発が求められる時代において、スマートフォンのプログラムと同様に、家庭用電化製品等の多種多様な制御プログラム開発することが求められる。そのため、製造者は、膨大な工数を低減した上で、製品の安全性を担保する多種多様なアプリケーションを作成しなければならない。
【0015】
さらに、製造者は、サードパーティが提供するアプリケーションを用いて家庭用電化製品等が動作した場合でも、安全に動作することを保証することを望むことが考えられる。このとき、多種多様なアプリケーションを家庭用電化製品等で実際に駆動させて安全性を検証する作業の量を低減することが望まれる。
【0016】
そこで、本開示は、アクチュエータ及び/又は加熱器を駆動する複数の機能ブロックで規定された多種多彩なアプリケーションを、より簡単かつ安全に実行することができる装置等を提供する。
【0017】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0018】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。
【0019】
また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。
【0020】
(実施の形態1)
[1.1 ハードウェア構成]
本実施の形態におけるシステム1のハードウェア構成について、
図1~
図2Cを参照しながら説明する。
図1は、実施の形態1におけるシステム1のハードウェア構成図である。
図2Aは、実施の形態1におけるクラウドサーバ10のハードウェア構成図である。
図2Bは、実施の形態1における装置20のハードウェア構成図である。
図2Cは、実施の形態1における端末30のハードウェア構成図である。
【0021】
図1及び
図3に示すように、本実施の形態におけるシステム1は、クラウドサーバ10と、施設2a~2dで用いられる装置20a~20hと、端末30a~30dと、を備える。施設2a~2dは、例えば住宅であるが、これに限定されない。施設2a~2dは、例えばマンション、店舗、オフィス等であってもよい。システム1は、制御システムの一例である。
【0022】
クラウドサーバ10は、コンピュータネットワーク(例えばインターネット)を介して提供される仮想的なサーバである。クラウドサーバ10は、コンピュータネットワークを介して、装置20a~20h及び端末30a~30dに通信可能に接続される。なお、クラウドサーバ10の代わりに物理サーバが用いられてもよい。クラウドサーバ10は、外部機器の一例である。
【0023】
図2Aに示すように、クラウドサーバ10は、仮想的に、プロセッサ11と、プロセッサ11に接続されたメモリ12と、を備える。プロセッサ11は、メモリ12に格納されたインストラクション又はソフトウェアプログラムが実行されたときに、後述するシーケンスマネージャ及びデバイスマネージャとして機能する。
【0024】
装置20a~20hは、施設2a~2dで利用される電気機械器具である。なお、
図1では、施設2b~2dで利用される装置20c~20hの図示が省略されている。以下において、装置20a~20hの区別が不要な場合には装置20と記載する。
【0025】
装置20としては、家庭用電化製品(家電)及び住宅設備等を用いることができる。家庭用電化製品(家電)及び住宅設備等は、住宅内で使用される機器に限られず、事業に用いられる機器も含む。なお、本開示では、家庭用電化製品及び住宅設備等を家庭用電化製品等と省略して記載することがある。家電としては、例えば、電子レンジ、炊飯器、ミキサー(Blender)、電気オーブン、電気トースター、電気ポット、ホットプレート、IH(Induction heating)調理器、ロースター、ベーカリー、電気圧力調理なべ、電気無水調理なべ、マルチクッカー、コーヒーメーカー、冷蔵庫、洗濯機、食洗器、掃除機、エアコン、空気清浄機、加湿器、ドライヤー、扇風機、及びイオン発生器等が用いられる。住宅設備としては、例えば、電動シャッター、電子ロック、及び浴槽用の電気湯沸し器等が用いられる。なお、装置20は、これらの機器に限定されない。
【0026】
図2Bに示すように、装置20は、筐体21と、アクチュエータ22と、加熱器23と、制御部24と、を備える。なお、装置20は、アクチュエータ22及び加熱器23の少なくとも1つを備えればよく、アクチュエータ22及び加熱器23の両方を備えなくてもよい。
【0027】
筐体21は、アクチュエータ22と、加熱器23と、制御部24と、を収容する。また、筐体21は、対象物を処理するための内部空間を有してもよい。例えば、洗濯機の洗濯槽、電子レンジの加熱室、及び炊飯器の内釜等が、対象物を処理するための内部空間に相当する。
【0028】
アクチュエータ22は、電気信号に基づいて入力エネルギーを物理的運動に変換する機械要素である。アクチュエータ22としては、例えば電気モータ、油圧シリンダ及び空気圧アクチュエータ等を用いることができるが、これらに限定されない。
【0029】
加熱器23は、電気エネルギーを熱エネルギーに変換する電気加熱器である。加熱器23は、例えばジュール加熱、誘導加熱及び誘電加熱等により対象物を加熱する。加熱器23としては、例えば、ニクロム線、コイル及びマグネトロン等を用いることができる。
【0030】
ここで、本開示の装置20が、アクチュエータ22及び/又は加熱器23を備える理由の一例を説明する。家庭用電化製品等の製造者が、アクチュエータ22及び加熱器23を駆動するパラメータ、駆動の組み合わせを全て自由に制御可能な開発環境をサードパーティに提供した場合を考える。このとき、サードパーティは、製造者が想定しているアクチュエータ22及び/又は加熱器23を安全に駆動できるパラメータ範囲、又はアクチュエータ22及び/又は加熱器23の駆動制限を逸脱して制御するプログラムを作成することが可能になる。特に、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の、製造者の想定していない駆動は、安全性の担保の課題が大きい。製造者の想定していない駆動としては、例えば、アクチュエータの一例である電気モータの高速回転、及び、加熱器23への過電流の供給が挙げられる。本願発明者らは、過度に安全面を考慮することで、ユーザに多種多様なアプリケーションを提供できる環境の構築を阻害しないことを目指した。そこで、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23に特化して、安全面を担保することを想定し、本開示の装置20を対象としている。
【0031】
制御部24は、アクチュエータ22及び/又は加熱器23を制御するコントローラであり、後述するデバイスとして機能する。制御部24は、例えば、集積回路で構成される。
【0032】
端末30a~30dは、施設2a~2dでそれぞれ利用され、ユーザインタフェースとして機能する。なお、
図1では、施設2b~2dで利用される端末30b~30dの図示が省略されている。以下において、端末30a~30dの区別が不要な場合には端末30と記載する。
【0033】
端末30は、コンピュータネットワークを介してクラウドサーバ10及び装置20に接続され、後述するユーザインタフェース(UI)として機能する。端末30としては、スマートフォン及びタブレットコンピュータ等の持ち運び可能な情報端末を用いることができる。なお、端末30は、施設2a~2dの壁、床又は天井に固定された端末であってもよい。また、端末30は、装置20に含まれてもよい。例えば、端末30は、各装置20a~20hに内蔵されたディスプレイ等を有する表示端末として実現されてもよい。
【0034】
図2Cに示すように、端末30は、ディスプレイ31と、入力デバイス32と、を備える。ディスプレイ31としては、例えば液晶ディスプレイ及び有機ELディスプレイを用いることができる。入力デバイス32としては、例えばタッチパネル、キーボード、マウス及び機械式ボタン等を用いることができる。また、入力デバイス32として、音声入力デバイスが用いられてもよい。ディスプレイ31と入力デバイス32とは、タッチスクリーンとして一体で実装されてもよい。または、入力デバイス32として、ジェスチャー入力デバイスが用いられてもよい。ジェスチャー入力デバイスは、例えば、カメラと認識部とを有する。カメラはジェスチャーを含む画像を撮像し、認識部は画像を用いてジェスチャーを認識する。
【0035】
[1.2 機能構成]
次に、本実施の形態におけるシステム1の機能構成について、
図3を参照しながら説明する。
図3は、実施の形態1におけるシステム1の機能構成図である。
【0036】
クラウドサーバ10は、シーケンスマネージャ100と、デバイスマネージャ200と、を備える。装置20a~20hは、デバイス300a~300hをそれぞれ備える。端末30a~30dは、UI400a~400dをそれぞれ備える。
【0037】
以下において、デバイス300a~300hの区別が不要な場合にはデバイス300と記載する。また、UI400a~400dの区別が不要な場合にはUI400と記載する。
【0038】
シーケンスマネージャ100は、複数のアプリケーションを管理している。複数のアプリケーションは、例えばユーザの操作によって、アプリケーション配信プラットフォームからシーケンスマネージャ100にダウンロードされる。または、アプリケーション配信プラットフォームに含まれるアプリケーションは、シーケンスマネージャ100にダウンロードされなくてもよい。その場合、シーケンスマネージャ100のデータベースに、アプリケーション配信プラットフォームに含まれるアプリケーションが紐づけていることを示す情報が記録されてもよい。アプリケーションの詳細については後述する。
【0039】
デバイスマネージャ200は、複数の施設2a~2d及び各施設2a~2dで利用されるデバイス300及びUI400を管理するためのデータベースを有する。デバイスマネージャ200は、データベースに、施設2a~2dに紐づくデバイス情報及びUI情報を記録することにより、デバイス300及びUI400を管理する。デバイス情報及びUI情報は、例えば、制御機能及び駆動機能、並びに稼働状況などを含む。例えば、デバイスマネージャ200は、デバイス300の稼働状況を管理して、デバイス300の稼働スケジュールを把握することができる。また、デバイスマネージャ200は、デバイス300のログ情報を管理してもよい。
【0040】
なお、このようなデータベースは、デバイスマネージャ200の代わりにシーケンスマネージャ100が有してもよく、シーケンスマネージャ100及びデバイスマネージャ200の両方が有してもよい。
【0041】
デバイス300は、装置20の制御機能及び駆動機能を有する。デバイス300は、デバイスマネージャ200からの指示に従って装置20を駆動することができる。
【0042】
UI400は、ユーザに情報を提供し、ユーザから入力を受け付ける。
【0043】
次に、装置20の一例として洗濯機500の構成について、
図4および
図5を参照しながら説明する。
図4は、洗濯機500の構成の一例を示す図である。
図5は、洗濯機500の機能構成の一例を示すブロック図である。
【0044】
洗濯機500は、内部空間を有する筐体501を備える。筐体501の前側には、開口が設けられ、筐体501の開口には開閉自在なドア505が設けられている。筐体501の開口には、ドア505のロックをするためのドアロック機構506が設けられている。
【0045】
筐体501の内部には、筐体501に弾性支持された水槽502が設けられている。水槽502は、洗濯機500が備える槽の一例である。水槽502の内部には、前側の一端に開口が形成され、かつ、後側の他端に底が形成されている有底円筒状の洗濯槽503(ドラムとも言う)が回転軸Ax1で回転自在に設けられている。水槽502の内面と洗濯槽503の外面との間には、隙間が形成されている。洗濯槽503の回転軸Ax1は、例えば、洗濯槽503の開口が底よりも上になるように傾斜している。
【0046】
洗濯槽503は、洗濯槽503の側面を貫通する複数の孔が設けられている。水槽502の後面には、洗濯槽503を回転駆動する洗濯モータ504が設けられている。洗濯モータ504は、例えば、直流モータであり、インバータ制御によって回転速度を自在に制御することができる。
【0047】
水槽502の上部には、振動センサ507が設けられている。振動センサ507は、水槽502の振動の度合いを検知する。
【0048】
水槽502の上部には、給水管512が接続されている。給水管512は、水道に接続される。給水管512には、水道からの水の流入を止める給水弁511が設けられている。給水弁511は、例えば、制御信号が入力されることにより電動で開閉する電磁弁である。給水管512には、洗濯槽503内に投入される液体洗剤及び/又は柔軟剤が収容された自動投入機513が設けられている。自動投入機513は、アクチュエータを用いて制御信号に応じた量の液体洗剤及び/又は柔軟剤を計量し、計量した液体洗剤及び/又は柔軟剤を給水管512に投入する装置である。このため、水道からの水と自動投入機513により投入された所定量の液体洗剤及び/又は柔軟剤とは、給水管512において混ざり合って洗濯水となり、水槽502に流入する。なお、自動投入機513は、液体洗剤を投入するためのアクチュエータと、柔軟剤を投入するためのアクチュエータとの両方を有していてもよい。
【0049】
また、洗濯機500には、水槽502の水位を検出する水位センサ(図示せず)が設けられている。水位センサは、水槽502に接続されている給水管512とは別の管に配置され、水槽502の内圧を検出する圧力センサであってもよい。つまり、水槽502の水位は、圧力センサの検出結果を用いて検出される。
【0050】
また、水槽502の上部には、風呂水配管517が接続されている。風呂水配管517には、家庭内の浴槽に貯められた水を導入するためのホースが接続される。風呂水配管517には、浴槽に貯められた水を汲み上げるバスポンプ516が接続されている。バスポンプ516を駆動することで、浴槽からホースを介して浴槽内の水を水槽502の内部に導入するバスポンプによる給水を行うことができる。
【0051】
水槽502の下部には、排水管521が接続されている。排水管521は、洗濯機500の外部に洗濯水を排出する排水ホースに接続されている。排水管521には、排水管521を流れる水の中の異物を取り除くための排水フィルタ522と、排水管521から排水ホースへの水が流れることを止める排水弁523とが設けられている。排水弁523は、例えば、制御信号が入力されることにより電動で開閉する電磁弁である。
【0052】
また、排水管521には、循環用配管525が接続されている。循環用配管525は、一端が排水管521に接続され、他端が水槽502の前側下部に接続されている。排水管521を流れ排水フィルタ522を通過した水を水槽502に戻すための配管である。循環用配管525には、水槽502内の水を循環させる循環ポンプ524が接続されている。循環ポンプ524が駆動すると、排水管521を流れたあと循環用配管525に流入した洗濯水は、循環ポンプ524によって水槽502内に戻される。
【0053】
また、水槽502の前側の上部にはダクト533の一端が接続されており、水槽502の後側の上部にはダクト533の他端が接続されている。ダクト533には、ダクト533内の空気を冷却した後に加熱するヒートポンプ532と、ダクト533の空気を循環させる循環ファン534とが設けられている。ヒートポンプ532は、図示しない冷媒回路により構成され、冷媒回路は、コンプレッサ、凝縮器、膨張弁および蒸発器を有する。冷媒回路内では、コンプレッサが駆動することにより冷媒が循環する。ヒートポンプ532では、ダクト533内の空気は、蒸発器で冷却された後に凝縮器で加熱される。蒸発器で冷却されることで、ダクト533内の空気中の水分が取り除かれ、その後、凝縮器で加熱されることでダクト533内の空気は、温められ乾燥した高温の空気となる。温められ乾燥した高温の空気は、循環ファン534により、水槽502の内部に送風される。これにより、水槽502の内部の衣類などの洗濯物の乾燥が促進される。
【0054】
ダクト533の上流側には、吸気センサ531が設けられる。吸気センサ531は、ダクト533の上流側を流れる空気の温度を検知するセンサである。
【0055】
ダクト533の下流側には、温風センサ535が設けられる。温風センサ535は、ダクト533内の空気の温度を検知する。
【0056】
ダクト533の下流側には、洗濯槽503内の洗濯物を除菌する除菌装置536が設けられる。除菌装置536は、帯電微粒子水などの効能物質を生成する。除菌装置536により生成された効能物質が含まれる空気は、循環ファン534により洗濯槽503の内部に吹き出されるため、洗濯槽503の内部の洗濯物は、効能物質により除菌される。
【0057】
また、水槽502の内部には、水槽502の内部に泡が発生したことを検知する第1泡センサ541および第2泡センサ542が設けられている。第1泡センサ541は、水槽502の内部に第1の量よりも多い泡が発生したことを検知する。第2泡センサ542は、水槽502の内部に第2の量よりも多い泡が発生したことを検知する。第1の量は、第2の量よりも多い。つまり、第1泡センサ541は、第2泡センサ542よりも多くの泡が発生したことを検知する。
【0058】
また、水槽502の下部には、水槽502の洗濯水を加熱するための温水ヒータ543が設けられている。また、水槽502の下部には、水槽502内の洗濯水の温度が所定温度よりも高い温度であることを検知する温水センサ544が設けられている。
【0059】
筐体501の前側上部には、ユーザから洗濯機500の操作のための入力を受け付ける操作パネル560が設けられている。操作パネル560は、ユーザからの入力を受け付けた結果に応じた表示を行ってもよいし、当該結果に応じた音を出力してもよい。また、操作パネル560は、制御装置550による演算結果を表示してもよいし、当該演算結果を示す音を出力してもよい。また、操作パネル560は、洗濯機500の動作状態を表示してもよいし、当該動作状態を示す音を出力してもよい。通信部570は、外部機器と通信可能であり、例えば、コンピュータネットワークに通信可能に接続される通信インタフェースである。通信部570は、無線LAN(Local Area Network)インタフェースであってもよいし、有線LAN(Local Area Network)インタフェースであってもよいし、携帯電話通信網に接続するためのインタフェースであってもよい。また、通信部570は、クラウドサーバ10に通信可能に接続されているハブ機器(図示せず)と通信可能に接続されていてもよい。つまり、通信部570は、ハブ機器を経由してクラウドサーバ10と通信可能に接続されていてもよい。通信部570は、ハブ機器との間で、赤外線・近距離無線通信などによって通信を行ってもよいし、上記で例示した通信インタフェースで通信を行ってもよい。
【0060】
筐体501には、制御装置550が設けられている。制御装置550は、振動センサ507、水位センサ515、吸気センサ531、温風センサ535、第1泡センサ541、第2泡センサ542、及び、温水センサ544の各種センサからの検知結果を取得する。制御装置550は、検知結果に応じて、洗濯モータ504、ドアロック機構506、給水弁511、自動投入機513、バスポンプ516、排水弁523、循環ポンプ524、ヒートポンプ532、循環ファン534、除菌装置536、温水ヒータ543、及び、操作パネル560の動作を制御する。なお、洗濯モータ504、ドアロック機構506、給水弁511、自動投入機513、バスポンプ516、排水弁523、循環ポンプ524、ヒートポンプ532、循環ファン534、除菌装置536、及び、温水ヒータ543は、洗濯物に対して洗濯に関する運転を行う洗濯機能部の一例であり、また、アクチュエータ22又は加熱器23の一例である。
【0061】
ここで、アプリケーションについて説明する。本実施の形態では、アプリケーション(以下、略してアプリということもある)とは、アクチュエータ22及び/又は加熱器23を駆動する複数の機能ブロック(以下、略してブロック)で規定される制御プログラムを意味する。複数のブロックの各々は、アクチュエータ22又は加熱器23を駆動するためのパラメータを含むことができる。具体的には、複数のブロックの各々は、アクチュエータ22又は加熱器23の制御を抽象化したものである。なお、複数のブロックの各々は、制御情報の一例である。
【0062】
なお、アプリケーションは、アクチュエータ22及び/又は加熱器23を駆動する複数のブロックに加えて、アクチュエータ22及び/又は加熱器23を駆動しないブロックを含んでもよい。アクチュエータ22及び/又は加熱器23を駆動しないブロックの一例は、デバイス300の有するインタフェースを用いた情報表示、デバイス300の有するブザーを用いた音声出力、デバイス300の有するランプの点灯または消灯などを含む。また、ブロックは、アクチュエータ22又は加熱器23の駆動を開始する条件を含んでもよい。例えば、第1ブロック、第2ブロックを含むアプリケーションを例に説明する。ここで、第1ブロックの実行中に、第2ブロックに切り替える際に、第2ブロックに含まれる開始条件を満たしたときに、第1ブロックから第2ブロックに切り替える。また、ブロックは、開始条件ではなく、終了条件を含んでいてもよい。第1ブロックの実行中に、第2ブロックに切り替える際に、第1ブロックに含まれる終了条件を満たしたときに、第1ブロックから第2ブロックに切り替える。
【0063】
次に、洗濯機500のアプリケーションを規定するブロックの具体例について
図6A~
図6Oを用いて説明する。
図6A~
図6Oで示されるブロックのそれぞれは、洗濯機能部の運転を制御するパラメータに関する制御情報である。
【0064】
図6Aは、実施の形態1におけるアプリケーションを規定するブロックの第1の例を示す。
図6Aに示すブロック1000は、洗濯槽503に投入された衣類などの洗濯物の量を検知する洗濯量検知動作を制御するブロックである。洗濯量検知動作では、例えば、洗濯モータ504を駆動させることで洗濯モータ504に流れるトルク電流を検出することで、検出したトルク電流に予め対応付けられた洗濯量を制御装置550のメモリを参照することで特定し、特定した洗濯量を洗濯槽503内の洗濯量として検知する。
【0065】
図6Bは、実施の形態1におけるアプリケーションを規定するブロックの第2の例を示す。
図6Bに示すブロック1010は、水槽502への給水動作を制御するブロックであり、パラメータ1011、1012を含む。パラメータ1011は、水槽502内への給水量を給水後の水位で示す値を含む。パラメータ1011は、アクチュエータ22及び/又は加熱器23の動作タイミングを示すとも言い換えることができる。制御装置550は、例えば、水位センサ515により検知された水槽502の水位がパラメータ1011で示される水位になるまで給水を継続しておき、パラメータ1011で示される水位になったときに給水を停止する制御を行う。パラメータ1012は、給水経路を指定するパラメータを含む。パラメータ1012は、具体的には、給水弁511を開にすることで給水管512から給水する第1の給水経路での給水か、バスポンプ516を駆動することで風呂水配管517から給水する第2の給水経路での給水かを指定するパラメータである。第1の給水経路での給水の場合、制御装置550は、給水弁511を開にすることで給水を開始し、給水弁511を閉にすることで給水を停止する。第2の給水経路での給水の場合、制御装置550は、バスポンプ516の駆動を開始することで給水を開始し、バスポンプ516の駆動を停止することで給水を停止する。
【0066】
なお、給水動作において第2の給水経路で給水が行われる場合において、所定期間(例えば、5~10分間)経過してもパラメータ1011で示される水位にならなかった場合、制御装置550は、第2の給水経路から第1の給水経路に切り替えて給水を行ってもよい。
【0067】
図6Cは、実施の形態1におけるアプリケーションを規定するブロックの第3の例を示す。
図6Cに示すブロック1020は、水槽502への注水濯ぎ動作を制御するブロックであり、パラメータ1021~1025を含む。注水濯ぎ動作は、水槽502へ水を供給しながら洗濯槽503を回転させて洗濯物および水を撹拌することで洗濯物を濯ぐ動作である。注水濯ぎ動作では、例えば、上限水位から下限水位までの間で、給水または排水を繰り返すことで水槽502内の水位を上下させながら、洗濯槽503を回転させて洗濯物を濯ぐ動作である。パラメータ1021は、注水濯ぎ動作において水槽502へ給水するときの水位の上限を示す値を含む。パラメータ1021は、給水を停止し、かつ、排水弁523を開にする動作のトリガとなる水位を示すとも言い換えることができる。パラメータ1022は、水槽502へ給水するときの水位の下限を示す値を含む。パラメータ1022は、給水を開始し、かつ、排水弁523を閉にする動作のトリガとなる水位を示すとも言い換えることができる。このように、パラメータ1021、1022は、アクチュエータ22及び/又は加熱器23の動作タイミングを示すとも言い換えることができる。パラメータ1023は、注水濯ぎ動作の動作時間を示す値を含む。パラメータ1023は、アクチュエータ22及び/又は加熱器23の駆動時間を示すとも言い換えることができる。パラメータ1024は、洗濯槽503の回転数(回転速度)、つまり、洗濯モータ504の回転速度を示す値を含む。パラメータ1025は、撹拌強さを示す値を含む。撹拌強さを示す値は、例えば、濯ぎ動作における1回の洗濯槽503の回転が開始されてからパラメータ1024で示される回転速度に到達させるまでの時間を示す値である。パラメータ1024、1025は、アクチュエータ22及び/又は加熱器23の駆動の強度を示すとも言い換えることができる。
【0068】
図6Dは、実施の形態1におけるアプリケーションを規定するブロックの第4の例を示す。
図6Dに示すブロック1030は、洗剤投入動作を制御するブロックであり、パラメータ1031を含む。洗剤投入動作は、自動投入機513のアクチュエータを駆動することで給水管512に所定量の液体洗剤を自動的に投入する動作である。パラメータ1031は、給水管512への液体洗剤の投入量を示す値を含む。パラメータ1031は、自動投入機513の液体洗剤を投入するアクチュエータの動作量を示すとも言い換えることができる。
【0069】
図6Eは、実施の形態1におけるアプリケーションを規定するブロックの第5の例を示す。
図6Eに示すブロック1040は、柔軟剤投入動作を制御するブロックであり、パラメータ1041を含む。柔軟剤投入動作は、自動投入機513のアクチュエータを駆動することで給水管512に所定量の柔軟剤を自動的に投入する動作である。パラメータ1041は、給水管512への柔軟剤の投入量を示す値を含む。パラメータ1041は、自動投入機513の柔軟剤を投入するアクチュエータの動作量を示すとも言い換えることができる。
【0070】
図6Fは、実施の形態1におけるアプリケーションを規定するブロックの第6の例を示す。
図6Fに示すブロック1050は、洗濯機の撹拌動作を制御するブロックであり、パラメータ1051~1058を含む。パラメータ1051は、撹拌の種類を示す情報(例えば、通常、もみ洗い、揺り)を含む。パラメータ1051は、機能の種類を示すとも言い換えることができる。パラメータ1052は、ドラム(洗濯槽503)の回転数(回転速度)、つまり、洗濯モータ504の回転速度を示す値を含む。パラメータ1052は、アクチュエータ22及び/又は加熱器23の駆動の強度を示すとも言い換えることができる。パラメータ1053は、撹拌動作における1回の洗濯槽503の回転時間、つまり、洗濯モータ504の駆動時間を示す値を含む。パラメータ1054は、撹拌動作における洗濯槽503の1回の回転動作と次の回転動作の間の回転を停止している時間、つまり、洗濯モータ504の停止時間を示す値を含む。パラメータ1055は、撹拌動作の動作時間を示す値を含む。パラメータ1053~1055は、アクチュエータ22及び/又は加熱器23の駆動時間を示すとも言い換えることができる。パラメータ1056は、水槽502内への給水を開始することを示す値を含む。つまり、パラメータ1056は、給水弁511を開状態にすることを示す値を含む。パラメータ1056は、アクチュエータ22及び/又は加熱器23の駆動後の状態を示すとも言い換えることができる。パラメータ1057は、循環ポンプの回転方向(正転又は反転)を示す値を含む。パラメータ1058は、撹拌強さを示す値を含む。撹拌強さを示す値は、例えば、濯ぎ動作における1回の洗濯槽503の回転が開始されてからパラメータ1052で示される回転速度に到達させるまでの時間を示す値である。なお、ブロック1050は、水槽502内の水温が所定の温度に上昇するまで温水ヒータ543を駆動するパラメータを含んでいてもよい。
【0071】
制御装置550は、撹拌動作において、パラメータ1051で示される種類の撹拌を行う。制御装置550は、パラメータ1052で示される回転数で洗濯モータ504をパラメータ1056で示される撹拌強さで回転させ、撹拌動作の開始からパラメータ1055で示される動作時間が経過すると洗濯モータ504を停止する。また、制御装置550は、撹拌動作において、パラメータ1056に基づいて給水弁511を開にする。また、制御装置550は、撹拌動作において、パラメータ1057で示される回転方向に循環ポンプ524を動作させる。
【0072】
図6Gは、実施の形態1におけるアプリケーションを規定するブロックの第7の例を示す。
図6Gに示すブロック1060は、ドラム回転動作を制御するブロックであり、パラメータ1061~1064を含む。パラメータ1061は、ドラム(洗濯槽503)の回転数(回転速度)、つまり、洗濯モータ504の回転速度を示す値を含む。パラメータ1061は、アクチュエータ22及び/又は加熱器23の駆動の強度を示すとも言い換えることができる。パラメータ1062は、ドラム(洗濯槽503)の回転方向を示す値を含む。パラメータ1062は、アクチュエータ22及び/又は加熱器23の動作の種類を示すとも言い換えることができる。パラメータ1063は、水槽502内への給水を開始することを示す値を含む。つまり、パラメータ1063は、給水弁511を開状態にすることを示す値を含む。パラメータ1063は、アクチュエータ22及び/又は加熱器23の駆動後の状態を示すとも言い換えることができる。パラメータ1064は、循環ポンプ524の回転方向(正転又は反転)を示す値を含む。なお、ブロック1060は、水槽502内の水温が所定の温度に上昇するまで温水ヒータ543を駆動するパラメータを含んでいてもよい。
【0073】
制御装置550は、ドラム回転動作において、パラメータ1061で示される回転数で洗濯モータ504をパラメータ1062で示される回転方向で回転させる。また、制御装置550は、ドラム回転動作において、パラメータ1063に基づいて給水弁511を開にする。また、制御装置550は、ドラム回転動作において、パラメータ1064に基づく方向に循環ポンプ524を動作させる。
【0074】
図6Hは、実施の形態1におけるアプリケーションを規定するブロックの第8の例を示す。
図6Hに示すブロック1070は、脱水動作を制御するブロックであり、パラメータ1071、1072を含む。パラメータ1071は、ドラム(洗濯槽503)の回転数(回転速度)、つまり、洗濯モータ504の回転速度を示す値を含む。パラメータ1071は、アクチュエータ22及び/又は加熱器23の駆動の強度を示すとも言い換えることができる。パラメータ1072は、脱水動作の動作時間を示す値を含む。制御装置550は、脱水動作において、パラメータ1071に示される回転数で洗濯モータ504を回転させ、脱水動作の開始からパラメータ1072で示される動作時間が経過すると洗濯モータ504を停止する。
【0075】
図6Iは、実施の形態1におけるアプリケーションを規定するブロックの第9の例を示す。
図6Iに示すブロック1080は、水槽502からの排水動作を制御するブロックであり、パラメータ1081、1082を含む。パラメータ1081は、排水弁523の開状態又は閉状態を示す値を含む。パラメータ1082は、排水を停止するトリガとなる水位を示す値を含む。制御装置550は、排水動作において、排水弁523を開状態に動作させることで水槽502内の洗濯水を洗濯機500外への排水動作を開始する。制御装置550は、その後水位センサにより水槽502の水位がパラメータ1082で示される水位であることが検知されると排水弁523を閉状態に動作させて、排水動作を終了する。
【0076】
図6Jは、実施の形態1におけるアプリケーションを規定するブロックの第10の例を示す。
図6Jに示すブロック1090は、ドアロック動作を制御するブロックであり、パラメータ1091を含む。パラメータ1091は、ドアロック機構506をロック状態にするかロック解除状態にするかを示す値を含む。パラメータ1091は、アクチュエータ22及び/又は加熱器23の駆動後の状態を示すとも言い換えることができる。制御装置550は、パラメータ1091がドアロック機構506をロック状態にすることが示されている場合で、ドアロック機構506がロック解除状態である場合、ドアロック機構506をロック状態に切り替える。制御装置550は、パラメータ1091がドアロック機構506をロック解除状態にすることが示されている場合で、ドアロック機構506がロック状態である場合、ドアロック機構506をロック解除状態に切り替える。
【0077】
図6Kは、実施の形態1におけるアプリケーションを規定するブロックの第11の例を示す。
図6Kに示すブロック1100は、浸漬動作を制御するブロックであり、パラメータ1101、1102を含む。パラメータ1101は、循環ポンプ524の回転方向(正転又は反転)を示す値を含む。パラメータ1102は、浸漬動作の動作時間を示す値を含む。制御装置550は、パラメータ1101で示される回転方向に循環ポンプ524を動作させ、浸漬動作の開始からパラメータ1102で示される動作時間が経過すると循環ポンプ524を停止する。
【0078】
図6Lは、実施の形態1におけるアプリケーションを規定するブロックの第12の例を示す。
図6Lに示すブロック1110は、除菌・抗菌動作を制御するブロックであり、パラメータ1111、1112を含む。パラメータ1111は、除菌装置536及び循環ファン534を駆動させる動作時間を示す値を含む。パラメータ1112は、循環ファン534の回転数(回転速度)を示す値を含む。制御装置550は、除菌・抗菌動作において、除菌装置536及び循環ファン534を駆動させ、パラメータ1111で示される動作時間が経過すると除菌装置536及び循環ファン534を停止する。除菌・抗菌動作において、制御装置550は、循環ファン534をパラメータ1112で示される回転数(回転速度)で駆動する。
【0079】
図6Mは、実施の形態1におけるアプリケーションを規定するブロックの第13の例を示す。
図6Mに示すブロック1120は、ブザー動作を制御するブロックであり、パラメータ1121を含む。パラメータ1121は、操作パネル560のスピーカを駆動させる動作時間を示す値を含む。制御装置550は、ブザー動作において、ブザー音を出力し、ブザー音の出力を開始してからパラメータ1121で示される動作時間が経過するとブザー音の出力を停止する。
【0080】
図6Nは、実施の形態1におけるアプリケーションを規定するブロックの第14の例を示す。
図6Nに示すブロック1130は、送風動作を制御するブロックであり、パラメータ1131、1132を含む。パラメータ1131は、循環ファン534を駆動させる動作時間を示す値を含む。パラメータ1132は、循環ファン534により水槽502内に送風される空気の温度を示す値を含む。制御装置550は、送風動作において、循環ファン534を駆動させ、循環ファン534の駆動を開始してからパラメータ1131で示される動作時間が経過すると循環ファン534を停止する。または、制御装置550は、送風動作において、循環ファン534を駆動させ、循環ファン534の駆動を開始してからパラメータ1132で示される温度以下に低下したことが温風センサ535で検知されると循環ファン534を停止する。
【0081】
図6Oは、実施の形態1におけるアプリケーションを規定するブロックの第15の例を示す。
図6Oに示すブロック1140は、乾燥動作を制御するブロックであり、パラメータ1141を含む。パラメータ1141は、低温、標準、しっかりなどの乾燥動作のパターン(動作モード)を示す値を含む。具体的には、低温のパターンでは、洗濯槽503内の温度が所定温度より低い低温での乾燥が行われる。標準のパターンでは、洗濯槽503内の温度が所定温度より高い標準の温度での乾燥が行われる。しっかりのパターンでは、洗濯槽503内が乾燥状態であることが検知された後から一定時間の乾燥が継続される。制御装置550は、吸気センサ531により検出された吸気側の温度と、温風センサ535により検出された排気側の温度との差が所定の差未満である場合に、乾燥状態であると判断する。なお、それぞれのパターンは、乾燥動作の時間[m]、循環ファン534のファン回転数[rpm]、吸気センサ531及び/又は温風センサ535による乾燥検知温度[deg]、パラメータ1051と同じ撹拌種類、パラメータ1052と同じドラム回転数[rpm]、パラメータ1053と同じドラムON時間[s]、パラメータ1054と同じドラムOFF時間[s]などの組み合わせにより構成されていてもよい。
【0082】
アプリケーションを規定するためには、
図6A~
図6Oで示したようなブロックが複数用いられる。なお、
図6A~
図6Oに示す複数のブロックは例示であり、洗濯機500のためのブロックは、これらに限定されない。例えば、複数のブロックは、抽象化レベルによって階層化されてもよい。
【0083】
例えば、製造者向けの階層と製造者以外向けの階層とで抽象化レベルを変更してもよい。製造者以外の例は、他の製造者向けの階層、サードパーティ向けの階層である。
【0084】
この時、製造者向けの階層は、製造者以外向けの階層より抽象度が低い。抽象度が低いことは、アクチュエータ及び加熱器を駆動するパラメータに近い内容が制御されることを意味する。
【0085】
一方、製作者は、ノウハウ及び安全性を担保する最小の抽象化レベルを有するブロックを製造者以外向けに提供することで、製造者以外がアプリケーションを開発可能にする。製造者は、一般ユーザに、さらに高い抽象化レベルを有するブロックを提供することで、より多くの人がアプリケーションを開発可能にできる。さらに高い抽象化レベルは、例えば、一般ユーザ自身が専門的な知識がなくても理解できる用語で規定されたブロックに対応する。専門的な知識がなくても理解できる用語は、例えば、家庭用電化製品等の機能自体に対応する内容である。具体的には、洗濯機においての「洗い」ブロック中の水量に関するパラメータとして「たっぷり」を選択した場合に、一つの具体化されたレイヤーにおいては、給水ブロックにおける水位パラメータを60mmから100mmに上げ、撹拌ブロックにおける回転量パラメータを120rpmから100rpmに下げるなどの変更が行われる。上記より、抽象度の高いレベルにおけるブロックの並べ替え及びパラメータ変更は、より抽象度の低いブロックで実現することができる。これらのブロックにより、アクチュエータ及び加熱器の駆動に関する安全性、秘匿性を担保しながら、その組替、パラメータ調整によって自由にアプリケーション開発を行うことができる。
【0086】
[1.3 処理]
次に、以上のように構成されたシステム1の処理について
図7を参照しながら説明する。
図7は、実施の形態1におけるシステム1のシーケンス図である。
【0087】
[1.3.1 準備フェーズF100]
まず、準備フェーズF100について説明する。
【0088】
(ステップS110)
シーケンスマネージャ100は、デバイスマネージャ200にシーケンスマネージャ情報を送信する。このシーケンスマネージャ情報の送信は、例えばシステム管理者の命令により行われる。デバイスマネージャ200は、受信したシーケンスマネージャ情報を例えばシーケンスマネージャデータベースに登録する。なお、シーケンスマネージャ情報がシーケンスマネージャデータベースに予め登録されている場合は、このステップはスキップされてもよい。
【0089】
シーケンスマネージャ情報は、例えばシーケンスマネージャ100の識別子及び/又はアドレス(例えばURL(Uniform Resource Locator)、IP(Internet Protocol)アドレス等)を含む。さらに、シーケンスマネージャ情報は、任意の情報を含んでもよい。
【0090】
(ステップS112)
デバイス300は、デバイスマネージャ200にデバイス情報1201を送信する。このデバイス情報1201の送信は、例えばデバイス300がコンピュータネットワークに接続されたときに行われる。デバイスマネージャ200は、受信したデバイス情報1201をデバイスデータベース1200に登録する。なお、デバイス情報1201がデバイスデータベース1200に予め登録されている場合は、このステップはスキップされてもよい。
【0091】
なお、デバイス情報1201は、UI400に送信されてから、UI400を介してデバイスマネージャ200に登録されてもよい。
【0092】
デバイス情報1201は、デバイス300の識別子及び/又はアドレスを含む。さらに、デバイス情報1201は、任意の情報を含んでもよい。
図8は、実施の形態1におけるデバイスデータベースの一例を示す。
図8のデバイスデータベース1200には、デバイス情報1201を含む複数のデバイス情報が登録されている。各デバイス情報は、デバイスIDと、アドレスと、種別と、製造者名と、アクチュエータ/加熱器と、劣化レベルと、を含む。アクチュエータ/加熱器は、デバイス300を構成するアクチュエータ22及び/又は加熱器23の識別情報である。劣化レベルは、デバイス300を構成するアクチュエータ22及び/又は加熱器23が劣化しているか否かを示す劣化情報の一例である。ここでは、劣化レベルは、値が増加すればより劣化していることを示す。デバイス情報1201に、実行可能なブロックの情報が含まれていてもよい。実行可能なブロックに関する情報とは、データベースに含まれるブロックが実行可能又は実行不可能が対応付けられた情報でもよいし、実行可能なブロックのみの情報でもよい。また、ブロックが実行可能か否かは、デバイス情報1201に含まれるアクチュエータ/加熱器などの情報に基づいて予め準備され得る。
【0093】
なお、デバイス情報1201は、施設2a~2dを特定可能な情報を含んでもよい。
【0094】
(ステップS114)
UI400は、デバイスマネージャ200にUI情報を送信する。このUI情報の送信は、例えばユーザの指示により行われる。デバイスマネージャ200は、受信したUI情報を例えばUIデータベースに登録する。なお、UI情報がUIデータベースに予め登録されている場合は、このステップはスキップされてもよい。
【0095】
UI情報は、例えばUI400の識別子及び/又はアドレスを含む。さらに、UI情報は、任意の情報を含んでもよい。
【0096】
なお、UI情報は、施設2a~2dを特定可能な情報を含んでもよい。
【0097】
以上の処理により、シーケンスマネージャ100、デバイスマネージャ200、デバイス300及びUI400は、互いに紐づけられ、互いに接続を確立することができる。このより、準備フェーズF100が終了する。
【0098】
[1.3.2 アプリ実行前フェーズF200]
次に、アプリ実行前フェーズF200について説明する。なお、アプリ実行前フェーズF200の前には、UI400を介したユーザからの指示に従って、アプリケーション配信プラットフォームからシーケンスマネージャ100にアプリケーションがダウンロードされている。このようにシーケンスマネージャ100にアプリケーションがダウンロードされた状態で以下の処理が行われる。
【0099】
(ステップS210)
UI400は、ユーザからアプリ実行要求を受け付け、アプリケーションの識別情報を含むアプリ実行要求をシーケンスマネージャ100に送信する。例えば、ユーザは、UI400を介して、シーケンスマネージャ100にダウンロードされている複数のアプリケーションの中からアプリケーションを選択し、選択したアプリケーションの実行を指示する。
【0100】
なお、UI400からシーケンスマネージャ100に送信されるアプリ実行要求は、施設2a~2dを特定可能な情報とセットで送信される。
【0101】
なお、アプリ実行要求は、ユーザから明示的に受け付けられなくてもよい。例えば、ユーザの行動又は状態を検出し、検出結果に基づいて自動的にアプリ実行要求がシーケンスマネージャ100に送信されてもよい。
【0102】
(ステップS212)
シーケンスマネージャ100は、アプリ実行要求によって識別されたアプリケーションの実行内容宣言をデバイスマネージャ200に送信する。実行内容宣言は、実行するアプリケーションを規定する複数のブロックの情報及び施設2a~2dを特定可能な情報を含む。
【0103】
図9は、実施の形態1における実行内容宣言の一例を示す図である。
図9には、
図6A~
図6Oに示す洗濯機のための複数のブロックを組み合わせて規定されたアプリケーションのための実行内容宣言1300が表されている。実行内容宣言1300は、複数のブロック1301、及び、各ブロック1301の実行に必要なデバイスに関する情報1302、及び、各ブロック1301を実行する順番に関する順番情報1303を含む。実行内容宣言1300は、洗濯情報の一例である。
【0104】
なお、実行内容宣言1300は、デバイスに関する情報1302を含まなくてもよい。その場合、複数のブロック1301の情報から、受け取った施設情報が示す施設で該当ブロックを実行可能なデバイスを、デバイスマネージャ200が検索してデバイス割付けを行う必要がある。
【0105】
なお、
図9では、デバイスに関する情報1302は、デバイス300の型番を示しているが、これに限定されない。デバイスに関する情報1302は、ブロックに割付可能なデバイス300の条件を示すことができれば、どのような情報であってもよい。例えば、デバイスに関する情報1302は、複数の型番を含んでもよいし、デバイスの種別、使用目的、配置場所、又は、これらの任意の組み合わせのみを含んでもよい。
【0106】
(ステップS214)
デバイスマネージャ200は、実行内容宣言1300に含まれる各ブロックに対して、施設2a~2dを特定可能な情報を基にして、デバイスマネージャ200に紐付けられているデバイス300を割り付ける。例えば、デバイスマネージャ200は、
図9に示す複数のブロック1301の各々に、
図8のデバイスデータベース1200に、受け取った施設情報が示す施設に接続済として登録されている、型番WM-0001を有するデバイスDEV001を割り付ける。なお、デバイス300の稼働状態又はクラウドへの接続状態が管理されている場合には、稼働中のデバイス300の割り付けが禁止されてもよい。
【0107】
なお、例えば
図9に示す複数のブロックが、受け取った施設情報が示す施設に接続済として登録されていない場合、すなわち、該当施設において対象デバイスが存在していない場合、デバイスマネージャ200は実行内容宣言されたアプリケーションの実行が不可であることをシーケンスマネージャ200に通知する。
【0108】
(ステップS215)
デバイスマネージャ200は、デバイス割り付けの結果をデバイス300に通知する。これにより、アプリケーションに含まれる複数のブロックが、それぞれ割り付けられたデバイス300に送信される。
【0109】
(ステップS216)
デバイス300は、ブロックの実行前にブロックを確認する。つまり、デバイス300は、ブロックを実行する前に、ブロックが実行されたときにデバイス300で問題が生じないかをチェックする。例えばデバイス300は、安全及び/又は効率上の問題をチェックする。
【0110】
そして、デバイス300は、確認結果に基づいて、ブロックを変更する。これにより、問題が生じないようにブロックが修正される。
【0111】
このような実行前確認処理について、
図10を参照しながら、さらに詳細に説明する。
図10は、実施の形態1における実行前確認処理のフローチャートを示す。
【0112】
(ステップS2165)
デバイス300は、ブロックに対応するルールを取得する。ルールは、洗濯の順番に関するルールである。ルールでは、第1ブロック(第1の制御情報)の次に第2ブロック(第2の制御情報)が実行される実行内容宣言1300が許容されるか否かが規定されている。つまり、ルールでは、実行内容宣言1300で規定されている複数のブロック1301の内の連続して実行される2つのブロックの順番が許容されるか否かが規定されている。例えば、デバイス300は、ルールデータベースを参照して、連続して実行される2つのブロックの順番が許容されない条件を取得する。ルールデータベースは、例えばデバイス300に含まれてもよいし、シーケンスマネージャ100又はデバイスマネージャ200に含まれてもよい。
【0113】
以下、ルールデータベース1400で規定されるルールについて
図11を参照しながら、具体的に説明する。
図11は、実施の形態1におけるルールデータベースの一例を示す。
図11のルールデータベース1400には、第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405が登録されている。第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、第1ブロック(第1の制御情報)の次に第2ブロック(第2の制御情報)が実行されることが許容されないことが規定されている。つまり、第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、洗濯の順番に関するルールである。
【0114】
第1のルール1401では、例えば、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1010、1020、1050、1060である。禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含む。禁水環境は、具体的には、水槽502の水位が所定の水位(例えば、水位センサが検知可能な最低水位)よりも低い水位であることである。つまり、水槽502に水が貯められているときとは、水槽502の水位が所定の水位以上の水位であることである。第2ブロックは、例えば、ブロック1000、1070、1110などである。ブロック1000の洗濯量検知動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、精度よく洗濯物の量を検知することが難しいからである。また、ブロック1070の脱水動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、効果的に脱水することが難しいからである。また、ブロック1110の除菌・抗菌動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、帯電微粒子水などの効能物質が含まれる空気を洗濯槽503へ放出しても効能物質の性能が十分に得られないからである。
【0115】
第2のルール1402では、例えば、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1140である。また、この場合の第1ブロックは、温水ヒータ543を水槽502内の洗濯水の温度が所定の水温(例えば60度)以上になるまで駆動するパラメータを含む場合のブロック1050、1060などであってもよい。禁熱環境で実行される運転は、水槽502内の温度が所定の温度以上のときに実行されることが許容されない運転を含む。禁熱環境は、具体的には、水槽502内の空間の温度が所定の温度未満となること、または、水槽502内の洗濯水の温度が所定の水温未満となることである。第2ブロックは、例えば、パラメータ1081が排水弁523を示す場合のブロック1080、パラメータ1091がドアロックを解除することを示す場合のブロック1090などである。ブロック1080の排水動作が禁熱環境で実行される運転であるのは、高温水が洗濯機500の外部の排水管に流れることで、排水管が熱で変形したり破損したりすることを防止するためである。ブロック1090のドアロックの解除動作が禁熱環境で実行される運転であるのは、ユーザがドア505を開けて洗濯槽503内の洗濯物を取り出そうとしたときにユーザが高温の洗濯物に触れることを防止するためである。
【0116】
第3のルール1403では、例えば、第1ブロックが水が貯められている洗濯機500の洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1050、1060、1070などである。禁動環境で実行される運転は、水槽502(または洗濯槽503)内の水面を動かすことが許容されない運転を含む。禁動環境は、具体的には、水槽502(または洗濯槽503)が所定の振幅(または所定の変位)未満で振動または静止していることである。第2ブロックは、例えば、ブロック1010、1020などである。ブロック1010が禁動環境で実行される運転であるのは、水面が動いている状態では正確に水位を検知することが難しいからである。
【0117】
なお、図示していないが、例えば、撹拌動作を実行しながら給水動作を実行するブロックにおいて撹拌動作を開始して所定時間後に給水動作を開始する場合、撹拌動作のサブブロックを第1ブロックとみなし、給水動作のサブブロックを第2ブロックとみなしてもよい。
【0118】
第4のルール1404では、例えば、第1ブロックが洗濯機500の水槽502(または洗濯槽503)内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1130、1140などである。禁動環境で実行される運転は、水槽502(または洗濯槽503)内の水面を動かすことが許容されない運転を含む。禁動環境は、具体的には、水槽502(または洗濯槽503)内の水位が所定の振幅(または所定の変位)未満で振動または静止していることである。第2ブロックは、例えば、ブロック1010、1020などである。ブロック1010が禁動環境で実行される運転であるのは、水面が動いている状態では正確に水位を検知することが難しいからである。
【0119】
第5のルール1405では、例えば、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されない。ここで、第1の回転と第2の回転との回転が異なるとは、それぞれの回転速度が互いに異なることであってもよい。つまり、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。。また、第1の回転と第2の回転との回転が異なるとは、それぞれの回転の向きが互いに異なることであってもよい。つまり、第1の回転の向きは、第2の回転の向きと異なっていてもよい。
【0120】
この場合の第1ブロックは、例えば、ブロック1050、1060、1070などである。第2ブロックは、例えば、第1ブロックとは回転が異なるブロック1050、1060、1070などである。
【0121】
なお、
図11では、第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、第1ブロックの次に第2ブロックが実行されることが許容されないことが規定されているとしたが、第1ブロックの次に第2ブロックが実行されることが許容されることが規定されていてもよい。この場合であっても、ルールとして規定されていない組み合わせの第1ブロックおよび第2ブロックの組み合わせの実行が許容されないこととして定義することができる。
【0122】
例えば、アクチュエータ22又は加熱器23は、筐体21の内部空間などのデバイス300の環境に応じて安全に駆動できるパラメータが変わり、許容されるブロックの順番はアクチュエータ22又は加熱器23自体の性能のみに依存しない場合がある。したがって、いずれの環境でも安全に駆動するために、安全性を考慮する比重が高い順番になり、多種多様なアプリケーションの開発の余地が低減することになる。そこで、ルールは、アプリケーションと独立して、デバイス300等の情報と対応付けられてもよい。そのようなルールが用いられることで、安全性及び多種多様なアプリケーションの開発を両立できる。
【0123】
ルールは、アクチュエータ22又は加熱器23が安全に駆動できる順番で組み合わせられた複数のブロックに関連する。安全に駆動できる順番で組み合わせられた複数のブロックは、ブロックの開始条件又は終了条件を考慮された順番であってもよい。第2ブロックの開始条件に達するまで、第1ブロックを実行することで、アクチュエータ22又は加熱器23の安全性に影響がある負荷かかる場合を想定したブロックが実行される順番が設定され得る。つまり、ブロックが実行される順番は、アクチュエータ22又は加熱器23の性能、ブロックの開始条件又は終了条件などに依存する。
【0124】
第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、さらに、種別と、製造者名と、アクチュエータ/加熱器と、を有していてもよい。これにより、デバイス300は、ルールデータベース1400から、ブロックで駆動されるアクチュエータ22又は加熱器23に対応するルールを取得することができる。
【0125】
(ステップS2166)
デバイス300は、第1ブロックの次に第2ブロックを実行することが許容されるか否かを判定する。ここで、第1ブロックの次に第2ブロックを実行することが許容されないと判定された場合(S2166のNo)、デバイス300は、以降のステップS2167をスキップして実行前確認処理を終了する。一方、第1ブロックの次に第2ブロックを実行することが許容されると判定された場合(S2166のYes)、デバイス300は、次のステップS2167に進む。
【0126】
(ステップS2167)
デバイス300は、ルールデータベース1400のルールに基づいて実行内容宣言1300を修正し、実行前確認処理を終了する。実行内容宣言1300の修正とは、例えば、実行内容宣言1300に、第1ブロックの次に実行される順番の制御情報として第3ブロック(第3の制御情報)を追加することである。実行内容宣言1300の修正とは、例えば、実行内容宣言1300に、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正することである。実行内容宣言1300の修正とは、例えば、第2ブロックの実行を制限することである。または、実行内容宣言1300の修正とは、上記のブロックの追加、パラメータの修正、及び、第2ブロックの実行の制限の任意の組み合わせであってもよい。
【0127】
このような実行内容宣言1300の修正の具体例について
図12~
図20を参照しながら説明する。
【0128】
図12は、実施の形態1における実行内容宣言の修正の第1の例を示す。
図12では、実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である脱水動作のブロック1070が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1010の次に実行される順番の制御情報として水槽502からの排水に関するパラメータを含む排水動作のブロック1080を追加する。つまり、給水動作の次に脱水動作が実行されることが設定されていたとしても、制御装置550は、給水動作と脱水動作との間に排水動作を追加する。このため、脱水動作が開始される前に水槽502を禁水環境とすることができ、効果的に脱水することができる。
【0129】
なお、
図12において、脱水動作のブロック1070の代わりに除菌・抗菌動作のブロック1110が設定されていたとしても同様に、ブロック1070とブロック1110との間に排水動作のブロック1080を追加してもよい。これにより、除菌・抗菌動作が開始される前に水槽502を禁水環境とすることができ、効果的に洗濯物を除菌することができる。
【0130】
また、
図12において、給水動作のブロック1010の代わりに、注水動作のブロック1020や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されている場合も上記と同様に、その直後に排水動作のブロック1080を追加することで上記と同様の効果が得られる。
【0131】
図13は、実施の形態1における実行内容宣言の修正の第2の例を示す。
図13では、
図12と同様に実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である脱水動作のブロック1070が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1070の直前に水槽502からの排水に関するパラメータ1073を追加するように、ブロック1070を修正することでブロック1070Aを新たに生成してもよい。パラメータ1073は、排水弁523を開に制御することを示すパラメータである。このため、脱水動作が開始される前に水槽502を禁水環境とすることができ、効果的に脱水することができる。
【0132】
なお、
図13において、脱水動作のブロック1070の代わりに除菌・抗菌動作のブロック1110が設定されていたとしても同様に、パラメータ1073をブロック1110の直前に追加するようにブロック1110を修正してもよい。これにより、除菌・抗菌動作が開始される前に水槽502を禁水環境とすることができ、効果的に洗濯物を除菌することができる。
【0133】
また、
図13において、給水動作のブロック1010の代わりに、注水動作のブロック1020や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されている場合も上記と同様に、その直後のブロックに当該ブロックの動作が行われる直前に排水が行われるようにパラメータ1073を追加することで上記と同様の効果が得られる。
【0134】
図14は、実施の形態1における実行内容宣言の修正の第3の例を示す。
図14では、実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である洗濯量検知動作のブロック1000が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1010の次に実行される順番のブロック1000の実行を制限する。具体的には、制御装置550は、ブロック1000を削除する、または、ブロック1000の実行をスキップする。また、制御装置550は、逐次ブロックを読み込んで実行している場合、ブロック1010の実行が終了した後に、運転を停止することでブロック1000の実行を制限してもよい。このため、精度よく洗濯物の量を検知することが難しい環境下において、洗濯量検知動作が行われることを抑制することができる。よって、洗濯量検知動作に係る消費電力を低減することができる。
【0135】
図15は、実施の形態1における実行内容宣言の修正の第4の例を示す。
図15では、実行内容宣言において、乾燥動作のブロック1140の次に禁熱環境で実行される運転であるドアロック解除動作のブロック1090が実行されることが示されている。これは、第2のルール1402で許容されないため、制御装置550は、ブロック1140の次に実行される順番の制御情報として洗濯槽503内の放熱に関するパラメータを含む送風動作のブロック1130を追加する。つまり、乾燥動作の次にドアロック解除動作が実行されることが設定されていたとしても、制御装置550は、乾燥動作とドアロック解除動作との間に送風動作を追加する。このため、ドアロック解除動作が開始される前に洗濯槽503内の温度を所定の温度未満に低下させることができ、ユーザが高温の洗濯物に触れることを抑制することができる。なお、送風動作のブロック1130を追加する代わりに、送風動作がドアロック解除動作の直前に行われるように、送風動作を行うパラメータをドアロック解除動作のブロック1090に追加してもよいし、乾燥動作のブロック1140に追加してもよい。
【0136】
図16は、実施の形態1における実行内容宣言の修正の第5の例を示す。
図16では、実行内容宣言において、所定の水温以上の高温水での撹拌動作のブロック1050の次に禁熱環境で実行される運転である排水動作のブロック1080が実行されることが示されている。これは、第2のルール1402で許容されないため、制御装置550は、ブロック1050の次に実行される順番の制御情報として放熱に関するパラメータを含む待機動作のブロック1150を追加する。ブロック1150による待機動作では、制御装置550は、所定期間(例えば10分間)が経過するまで次のブロック1080の実行を待機する。つまり、高温水での撹拌動作の次に排水動作が実行されることが設定されていたとしても、制御装置550は、高温水での撹拌動作と排水動作との間に待機動作を追加する。このため、排水動作が開始される前に水槽502内の洗濯水の温度を所定の水温未満に低下させることができ、高温水が洗濯機500の外部の排水管に流れることを抑制することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が排水動作の直前に行われるように、待機動作を行うパラメータを排水動作のブロック1080に追加してもよいし、撹拌動作のブロック1050に追加してもよい。なお、放熱するための動作の一例として待機動作を挙げたがこれに限らずに、給水動作の後に排水動作を行うことで放熱を行ってもよい。
【0137】
図17は、実施の形態1における実行内容宣言の修正の第6の例を示す。
図17では、実行内容宣言において、撹拌動作のブロック1050の次に禁動環境で実行される運転である給水動作のブロック1010が実行されることが示されている。これは、第3のルール1403で許容されないため、制御装置550は、ブロック1050の次に実行される順番の制御情報として所定期間(例えば1分間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、撹拌動作の次に給水動作が実行されることが設定されていたとしても、制御装置550は、撹拌動作と給水動作との間に待機動作を追加する。このため、給水動作が開始される前に水槽502(または洗濯槽503)が所定の振幅(または所定の変位)未満で振動または静止させることができ、水面の揺れを低減することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が給水動作の直前に行われるように、待機動作を行うパラメータを給水動作のブロック1010に追加してもよいし、撹拌動作のブロック1050に追加してもよい。
【0138】
なお、
図17において、給水動作のブロック1010の代わりに注水動作のブロック1120や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作1060のブロックが設定されていたとしても同様に、撹拌動作と給水動作のパラメータを含むブロックとの間に待機動作のブロック1150を追加してもよい。これにより、給水動作が開始される前に水槽502を禁動環境とすることができ、給水動作において効果的に水槽502の水位を検知することができる。
【0139】
また、
図17において、撹拌動作のブロック1050の代わりに、ドラム回転動作のブロック1060のブロックが設定されている場合も上記と同様に、その直後に待機動作のブロック1150を追加することで上記と同様の効果が得られる。
【0140】
図18は、実施の形態1における実行内容宣言の修正の第7の例を示す。
図18では、実行内容宣言において、送風動作のブロック1130の次に禁動環境で実行される運転である給水動作のブロック1010が実行されることが示されている。これは、第4のルール1404で許容されないため、制御装置550は、ブロック1130の次に実行される順番の制御情報として所定期間(例えば1分間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、送風動作の次に給水動作が実行されることが設定されていたとしても、制御装置550は、送風動作と給水動作との間に待機動作を追加する。このため、給水動作が開始される前に水面の揺れを低減することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が給水動作の直前に行われるように、待機動作を行うパラメータを給水動作のブロック1010に追加してもよいし、送風動作のブロック1130に追加してもよい。
【0141】
なお、
図18において、給水動作のブロック1010の代わりに注水動作のブロック1120や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作1060のブロックが設定されていたとしても同様に、送風動作と給水動作のパラメータを含むブロックとの間に待機動作のブロック1150を追加してもよい。これにより、給水動作が開始される前に水槽502を禁動環境とすることができ、給水動作において効果的に水槽502の水位を検知することができる。
【0142】
図19は、実施の形態1における実行内容宣言の修正の第8の例を示す。
図19では、実行内容宣言において、脱水動作のブロック1070の次に脱水動作とは異なる回転を用いた運転である撹拌動作のブロック1050が実行されることが示されている。これは、第5のルール1403で許容されないため、制御装置550は、ブロック1070の次に実行される順番の制御情報として所定期間(例えば30秒間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、脱水動作の次に脱水動作とは異なる回転を用いた撹拌動作が実行されることが設定されていたとしても、制御装置550は、脱水動作と撹拌動作との間に待機動作を追加する。このため、撹拌動作が開始される前に洗濯槽503を停止させることができ、容易に他の回転の撹拌動作に切り替えることができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が撹拌動作の直前に行われるように、待機動作を行うパラメータを撹拌動作のブロック1050に追加してもよいし、脱水動作のブロック1070に追加してもよい。なお、2つのブロックは脱水動作と撹拌動作との組み合わせに適用されることに限らない。撹拌動作、ドラム回転動作および脱水動作のうちの2つの組み合わせに適用されてもよいし、撹拌動作の次に異なる回転の撹拌動作の組み合わせに適用されてもよいし、ドラム回転動作の次に異なる回転のドラム回転動作の組み合わせに適用されてもよいし、脱水動作の次に異なる回転の脱水動作の組み合わせに適用されてもよい。なお、待機動作を追加する代わりに、洗濯槽503の回転を制動する動作を追加することで洗濯槽503の回転を停止させてもよい。
【0143】
図20は、実施の形態1における実行内容宣言の修正の第9の例を示す。
図20では、実行内容宣言において、脱水動作のブロック1070を含むブロック1070Bの次に、脱水動作とは異なる回転を用いた運転である撹拌動作のブロック1050を含むブロック1050Bが実行されることが示されている。ブロック1070Bは、脱水動作のブロック1070の直後に待機するパラメータ1074をさらに含む。また、ブロック1050Bは、撹拌動作のブロック1050の直前に待機するパラメータ1057をさらに含む。このように、ブロック1070Bの次に実行される順番に設定されているブロック1050Bにおいて、パラメータ1074およびパラメータ1057が重複している。この場合、制御装置550は、重複しているパラメータ1074を削除する。なお、制御装置550は、パラメータ1074を削除する代わりにパラメータ1057を削除してもよい。
【0144】
【0145】
(ステップS217)
デバイス300は、実行前確認の結果をデバイスマネージャ200に送信する。ブロックが変更されている場合には、変更されたブロックがデバイスマネージャ200に送信されてもよい。
【0146】
(ステップS218)
デバイスマネージャ200は、デバイス割り付けの結果をシーケンスマネージャ100に回答する。また、実行前確認においてブロックが変更されている場合には、変更されたブロックを含むアプリケーションがシーケンスマネージャ100に送信されてもよい。
【0147】
(ステップS220)
シーケンスマネージャ100は、デバイスマネージャ200からの割付結果通知を受けて、UI400を介してユーザに実行準備完了を通知する。
【0148】
(ステップS222)
UI400は、アプリケーションが実行されるデバイスの一覧を表示するとともに、ユーザからアプリケーション実行の確認の入力を受け付けるためのグラフィカルユーザインタフェース(GUI)を表示する。なお、UI400は、ユーザからデバイスの割り付けの変更を受け付けてもよい。また、UI400は、デバイスの一覧を表示しなくてもよい。
【0149】
(ステップS224)
UI400は、ユーザから実行確認の入力を受けて、デバイスマネージャ200にアプリ開始指示を送信する。デバイスマネージャ200は、アプリ開始指示をシーケンスマネージャ100に転送する。
【0150】
なお、ステップS220、S222、及びS224は、アプリケーションが実行される前にユーザに改めて情報を提供しているが、ユーザの作業が増える可能性があるため、省略されてもよい。
【0151】
以上により、アプリ実行前フェーズF200が終了する。
【0152】
[1.3.3 アプリ実行フェーズF300]
次に、アプリ実行フェーズF300について説明する。
【0153】
(ステップS310)
シーケンスマネージャ100は、アプリ開始指示を受けて、アプリケーションに含まれる複数のブロックの中から最初のブロック(第1ブロック)を選択する。そして、シーケンスマネージャ100は、選択した第1ブロックの実行指示をデバイスマネージャ200に送信する。
【0154】
なお、複数のブロックが連続して動作される場合、シーケンスマネージャ100は、複数のブロックの実行指示をまとめてデバイスマネージャ200に送信してもよい。
【0155】
デバイスマネージャ200は、シーケンスマネージャ100から受信した第1ブロックの実行指示に基づいて、第1ブロックに割り付けられたデバイス300に第1ブロックの実行指示を送信する。
【0156】
(ステップS312)
デバイスマネージャ200は、第1ブロックの実行指示を受けて、各デバイスのスケジュール(使用予定時間)を更新する。
【0157】
(ステップS314)
デバイス300は、第1ブロックの実行指示を受けて、第1ブロックを実行する。
【0158】
(ステップS316)
デバイス300は、第1ブロックの実行が完了したときに、完了通知をデバイスマネージャ200に送信する。なお、第1ブロックの実行中にエラーが発生した場合には、デバイス300は、エラー情報をデバイスマネージャ200に送信してもよい。また、デバイス300は、第1ブロックの実行中に、イベント情報をデバイスマネージャ200に送信してもよい。イベント情報としては、例えば、センサの出力値又は機器操作等を用いることができるが、これに限定されない。デバイスマネージャ200は、デバイス300から受信した完了通知及び/又は各種情報をシーケンスマネージャ100に転送する。
【0159】
(ステップS318)
シーケンスマネージャ100は、第1ブロックの完了通知を受けて、アプリケーションの進捗を更新し、次のブロック(第2ブロック)を選択する。また、シーケンスマネージャ100は、エラー情報を受信した場合に、エラー情報に対応する処理(例えば、1つ前のブロックに戻る、最初のブロックに戻る、待機等)を実行する。エラー情報に対応する処理の情報は、例えば、シーケンスマネージャ100に予め保持されてもよいし、UI400を介してユーザから受け付けられてもよい。また、シーケンスマネージャ100は、イベント情報を受信した場合に、イベント情報に対応する処理を実行する。例えば、イベント情報に水位センサの出力値が含まれる場合、シーケンスマネージャ100は、実行中のブロックに含まれる水位を表示するための水位パラメータを更新する。
【0160】
(ステップS320)
シーケンスマネージャ100は、選択した第2ブロックの実行指示をデバイスマネージャ200に送信する。
【0161】
なお、第2ブロックの実行指示は、第1ブロックの実行指示(S310)と同一のデバイスに対する指示でもよいし、異なるデバイスへの指示でもよい。
【0162】
なお、第2ブロックの実行指示は、第1ブロックの実行指示と同様に、複数のブロックの実行指示をまとめてデバイスマネージャ200に送信してもよい。
【0163】
以降の処理は第1ブロックのための処理(S312~S318)と同様であるので、図示及び説明を省略する。アプリケーションに含まれるブロックが順に実行され、最後のブロックの実行が完了すれば、アプリ実行フェーズF300が終了する。
【0164】
なお、ここでは、ブロックの実行は1つずつ順に指示されているが、これに限定されない。例えば、同一のデバイスが割り付けられた複数のブロックの実行は、まとめて指示されてもよい。その場合、あらかじめ各ブロックが機能実行のパラメータ範囲を満たすかの確認を行ったり、変更に対応するブロックを実行前にデバイス側にダウンロードしたりしてもよい。また、例えば、複数のデバイスに対して各々のブロック実行指示を行ってもよい。
【0165】
[1.4 効果など]
以上のように、
ブロックを含むアプリケーションとルールデータベースとにより、多様多種なアプリケーションを開発可能な環境を提供し、その環境下で自由に開発したアプリケーションに対して、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の安全な駆動することを可能にしている。言い換えると、アプリケーションを自由に開発可能な環境を提供するとともに、アプリケーションと独立して安全性を担保するための機能を提供できる。その結果、例えば、自由度の高い多様多種なアプリケーションの開発と、安全性を担保するためのルールデータベースの開発とを並行して作成することが可能になり、多様多種なアプリケーションを早期に開発することが可能にすることができる。
【0166】
また、アプリケーションの提供後においても、ルールデータベースを変更することで、より安全性を担保したアプリケーションへの変更も可能になる。また、事前に製造者が想定しない状況の改善が必要になった場合においても、多様多種なアプリケーション自体を変更せずとも、アプリケーションとは独立して、ルールデータベースを規定していることで、ルールデータベースを更新することで、全てのアプリケーションへの対応が可能になる。
【0167】
アプリケーション自体を変更せずに、アプリケーションが実行されたときの状態を検知することでエラー処理のルールベースを保持する対処方法も考えられる。しかし、この対処方法は、常にエラーの状態になった後に対処することになり、家電に負荷がかかる状況、又は安全性が担保できない状況になることを許容することを意味する。そこで、アプリケーションとは独立にルールデータベースを保有し、ルールデータを参照してアプリケーションの内容を変更することで、安全性を担保することを可能にしている。
【0168】
本実施の形態における洗濯機500は、クラウドサーバ10(外部機器)と通信可能な洗濯機500である。洗濯機500は、クラウドサーバ10から実行内容宣言(洗濯情報)を受信する通信部570と、洗濯情報に基づいて、洗濯物に対して、洗濯に関する運転を行う洗濯機能部と、洗濯機能部を制御する制御装置550とを備える。実行内容宣言は、それぞれが洗濯機能部の運転を制御するパラメータに関する制御情報である複数のブロック、及び、複数のブロックを実行する順番に関する順番情報を含む。制御装置550は、洗濯の順番に関するルールに基づいて実行内容宣言を修正し、修正後の実行内容宣言に含まれる制御情報を実行することで実行内容宣言に基づく運転を洗濯機能部に実行させる。
【0169】
これによれば、複数のブロックで規定されたアプリケーションに基づいて洗濯機能部を駆動させることができる。従って、洗濯機500の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、多種多彩なアプリケーションを製造者だけではなく、サードパーティも開発することができ、これらのアプリケーションを洗濯機500で簡単に実行することが可能となる。さらに、アプリケーションに基づいて洗濯機能部が駆動される前に、許容されない実行内容宣言を修正することができる。したがって、洗濯機能部が許容されない順番の動作を実行することを抑制することができる。つまり、もしアプリケーション開発者が誤って洗濯機能部が許容されない順番の動作を実行するよう指示を行った場合でも、洗濯機500を安全に制御することができないアプリケーションが実行されることを抑制することができる。また、洗濯機500が非効率的に動作することを抑制することができる。したがって、アプリケーション開発者は、洗濯機能部の安全性の担保よりもユーザに適することを重視したアプリケーションを作成した場合でも、アプリケーションで制御される洗濯機500の安全性を向上させることができる。また、洗濯機500の動作効率を向上させることができ、消費電力を低減することができる。
【0170】
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、実行内容宣言に、第1ブロックの次に実行される順番の制御情報として第3ブロックを追加してもよい。
【0171】
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロックの間の順番に第3ブロックを追加することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
【0172】
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正してもよい。
【0173】
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロック内のいずれかに含まれるパラメータに関する情報を修正することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
【0174】
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第2ブロックの実行を制限してもよい。
【0175】
これによれば、連続して実行される2つのブロックが許容されない場合、第2ブロックの実行を制限することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
【0176】
また例えば、第1のルールでは、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含んでもよい。このため、水槽502に水がある状態で実行されても十分な効果が得られない第2ブロックに基づく運転が実行されることを防止することができる。これにより、無駄な運転を抑制でき、消費電力を低減することができる。
【0177】
また例えば、第2のルールでは、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁熱環境で実行される運転は、水槽502内の温度が所定の温度以上のときに実行されることが許容されない運転を含んでもよい。このため、水槽502内の温度が所定の温度以上であるときに実行されることを抑制できるため、水槽502内の高温環境が洗濯機500の外部に悪影響を与えることを低減することができ、安全性を担保することができる。
【0178】
また例えば、第3のルールでは、第1ブロックが水が貯められている洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁動環境で実行される運転は、洗濯槽503内の水面を動かすことが許容されない運転を含んでもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
【0179】
また例えば、第4のルールでは、第1ブロックが洗濯機500の洗濯槽503内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
【0180】
また例えば、第5のルールでは、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されなくてもよい。例えば、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。また例えば、第1の回転の向きは、第2の回転の向きと異なっていてもよい。このため、異なる回転の運転が連続して実行されることを抑制でき、効果的に洗濯槽503の回転を切り替えることができる。
【0181】
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、実行内容宣言に、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502からの排水に関するパラメータを含む第3ブロックを追加する。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
【0182】
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、禁水環境で実行される運転を制御するパラメータの直前に水槽502からの排水に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
【0183】
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、実行内容宣言に、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502の放熱に関するパラメータを含む第3ブロックを追加してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
【0184】
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、禁熱環境で実行される運転を制御するパラメータの直前に水槽502の放熱に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
【0185】
また例えば、制御装置550は、ルールに基づき、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックが重複する場合、(i)第1ブロックもしくは第2ブロックを削除する、又は、(ii)第1ブロックに含まれるパラメータに関する情報もしくは第2ブロックに含まれるパラメータに関する情報を削除してもよい。このため、重複している動作のブロックまたはパラメータを削除するため、無駄な動作を実行することを低減することができる。よって、消費電力を低減することができる。
【0186】
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、第1パラメータ範囲に含まれるパラメータを、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容される範囲に含まれるパラメータに変更することで、アプリケーションを変更してもよい。
【0187】
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを許容される範囲に含まれるパラメータに変更することができるので、例えば、アプリケーションの開発者は、アクチュエータ22及び加熱器23が安全に駆動することを考慮する優先度を下げて自由にアプリケーションを開発ができ、さらにアクチュエータ22及び加熱器23を制御する装置20に組み込まれるソフトウェアの開発者は、アプリケーション一つ一つの安全性を毎回チェックすることなくブロックを実行でき、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。
【0188】
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、第1パラメータ範囲に含まれるパラメータを、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容される範囲に含まれるパラメータに変更し、かつ、複数のブロックに新たなブロックを追加することで、アプリケーションを変更してもよい。
【0189】
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを許容される範囲に含まれるパラメータに変更することができるので、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。さらに、新たなブロックを追加することもできるので、パラメータの変更によって低下した機能を新たなブロックで補完することも可能となる。
【0190】
また例えば、本実施の形態における装置20において、制御部24は、第1パラメータ範囲に含まれるパラメータを有するブロックを削除することで、アプリケーションを変更してもよい。
【0191】
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを削除することができるので、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。例えば、アクチュエータ22及び加熱器23が、アプリケーション開発者が指定したパラメータをそもそも実行することができない場合に、削除を行うことで、デバイスが混乱することなく制御を行うことができる。一方で、削除された旨をユーザに通知を行ってもよい。
【0192】
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、複数のブロックに含まれる複数のパラメータの各々が、第1パラメータ範囲に含まれるか否かを判定し、パラメータが第1パラメータ範囲に含まれると判定された場合、当該パラメータを有するブロックを変更してもよい。
【0193】
これによれば、より確実に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。
【0194】
また例えば、本実施の形態における装置20において、アプリケーションは、複数のブロックのそれぞれが実行される順番情報と、複数のブロックのそれぞれが実行されるタイミングの情報とを含んでもよい。各ブロックのタイミングの情報は、例えば、当該ブロックの開始タイミングと、他のブロック(例えば1番目のブロック)の開始又は終了のタイミングとの間の時間を示す。
【0195】
これによれば、アプリケーションは、順番及びタイミングの情報を含むことができ、各ブロックの持つパラメータ範囲を確認しながら、シーケンシャルに判断して実行することができる。
【0196】
また例えば、本実施の形態における装置20において、第1パラメータ範囲は、アクチュエータ22及び加熱器23の少なくとも1つを耐久温度に到達させるパラメータの範囲であってもよい。
【0197】
これによれば、アプリケーションが実行されたときにアクチュエータ22及び/又は加熱器23が耐久温度に到達することを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。
【0198】
また例えば、本実施の形態における装置20は、内部空間を有する筐体21を備えてもよく、第1パラメータ範囲は、内部空間を耐久温度に到達させるパラメータの範囲であってもよい。
【0199】
これによれば、アプリケーションが実行されたときに筐体21の内部空間が耐久温度に到達することを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。
【0200】
(実施の形態1の変形例)
なお、上記実施の形態1では、システム1の処理について
図7を参照しながら説明したが、処理の流れについてはこれに限定されない。特に、詳細に説明している実行前確認(S216)について、実行前確認が行われるタイミング及び主体となるモジュールはこれに限定されない。そこで、システム1のシーケンス図のいくつかの変形例について、
図21A~
図21Eを参照しながら具体的に説明する。
【0201】
図21Aは、実施の形態1の変形例1におけるシステム1のシーケンス図である。
図21Aでは、実行前確認(S216)は、デバイス300が実行指示を受けて(S310)ブロックを実行する(S314)直前に、デバイス300によって行われる。
【0202】
これにより、デバイス300に組み込まれるソフトウェアは、ブロックの実行直前に実行前確認を行うというシンプルな構成とすることができる。すなわち、ステップS215及びS217を省略することができる。その結果、それらの処理を行うための機能及び通信APIをデバイス300に組み込む必要がなくなり、デバイス300に搭載されるマイコンの使用メモリ等を低減することが可能となる。
【0203】
なお、実行前確認の結果がデバイスマネージャ200及び/又はUI400に通知されてもよい。例えば、実行前確認を行った結果としてパラメータの変更又はブロックの実行停止指示が行われた場合に、デバイスマネージャ200又はUI400に確認結果が通知されてもよい。
【0204】
図21Bは、実施の形態1の変形例2におけるシステム1のシーケンス図である。
図21Bでは、実行前確認(S216)は、デバイスマネージャ200が割付結果通知(S218)を行う際に、そのままデバイスマネージャ200によって行われる。
【0205】
これにより、デバイス300に組み込まれるソフトウェアは、実行前確認(S216)の機能を含まなくてもよい。したがって、デバイス300が有するメモリの使用を抑えることができ、デバイス300のコストダウンにつながる。
【0206】
また、上記実施の形態1では、デバイス300によるブロック実行(S314)について、クラウドサーバ10に実装されたシーケンスマネージャ100からの指示によって行われる処理の流れを説明したが、ブロック実行(S314)が行われる形態についても、これに限定されない。
【0207】
例えば、シーケンスマネージャ100からの通知内容を、デバイス300内のメモリに保存し、装置20が有するUI又は端末30が有するUI400を通じたユーザからの直接の指示により、ブロックが実行されてもよい。すなわち、アプリケーションをデバイス内にダウンロードしておいて、ユーザが任意のタイミングでアプリケーションを実行する形態としてもよい。
【0208】
図21Cは、実施の形態1の変形例3におけるシステム1のシーケンス図である。
図21Cでは、アプリ実行フェーズF300において、シーケンスマネージャ100からデバイス300に、デバイス300で実行される1以上のブロックが通知される(S310C)。そして、デバイス300は、通知された1以上のブロックをメモリに保存する(S311C)。
【0209】
その後、デバイス300は、ユーザから、保存された1以上のブロックの実行の指示を受け付け(S312C)、1以上のブロックを第1ブロックから順に実行する(S314)。
【0210】
以上のように、ブロックをデバイス300に保存することで、デバイスマネージャ200とデバイス300との通信を介さずにデバイス300の制御が行えるため、クラウドサーバ10と装置20間の通信が不安定になることによってデバイス300の動作が停止したり遅延が生じたりするリスクを低減することができる。そのため、本変形例は、クラウドサーバ10との通信の信頼性が低い環境において、及び/又は、アプリケーション実行中のデバイスの動作停止や遅延が許容されないデバイス300において、より効果的である。
【0211】
なお、変形例3においても、実施の形態1と同様に、実行前確認(S216)は重要な意味を有するが、実行前確認(S216)が行われるタイミングや主体となるモジュールは
図21Cに限定されない。すなわち、変形例3は、変形例1又は2と組み合わされてもよい。
【0212】
図21Dは、実施の形態1の変形例4におけるシステム1のシーケンス図である。変形例4は、変形例1と変形例3との組み合わせに相当する。変形例4では、
図21Dに示すように、実行前確認(S216)は、デバイス300が実行指示を受けて(S312C)ブロックを実行する(S314)直前にデバイス300によって行われる。
【0213】
ブロックをデバイス300にダウンロードしておいて、ユーザが任意のタイミングでブロックを実行する場合、ブロックをダウンロードするタイミングと実行するタイミングとが大きくずれる可能性が高まる。すなわち、ブロックをデバイス300にダウンロードしてから数日後、数か月後、又は数年後等にブロックが実行される場合が考えられる。その場合、ブロックがダウンロードされてからブロックが実行されるまでの間にデバイス300の劣化レベル等が変わる恐れもある。そのため、ブロックの実行が劣化レベルの影響を受けるデバイス300では、ブロックが実行される直前にデバイス300によって実行前確認が行われることで、劣化レベルに応じた実行前確認が可能となる。
【0214】
図21Eは、実施の形態1の変形例5におけるシステム1のシーケンス図である。変形例5は、変形例2と変形例3との組み合わせに相当する。変形例5では、
図21Eに示すように、実行前確認(S216)は、デバイスマネージャ200が割付結果通知(S218)を行う際に、そのままデバイスマネージャ200によって行われる。
【0215】
(実施の形態2)
次に、実施の形態2について説明する。本実施の形態では、アプリケーションが認証済みである場合に実行前確認がスキップされる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
【0216】
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
【0217】
[2.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Aに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Aについて
図22を参照しながら説明する。
【0218】
図22は、実施の形態2における実行前確認処理のフローチャートを示す。
【0219】
(ステップS2161A)
デバイス300は、アプリ認証情報を取得する。アプリ認証情報は、アプリケーションが認証済みである場合に認証済みであることを示す情報を含む。
【0220】
アプリケーションの認証は、例えばアプリケーションの品質を保証するための仕組みであり、アプリケーションの安全性及び/又は同一性(改ざんされていないこと)などの確認を可能とする。認証情報の付与されているアプリケーションの一例を説明する。アプリケーションのコードの変更履歴がパラメータ範囲の変更が行われなかったことを示す場合、アプリケーションに認証済みであることを示す情報が対応付けられている。
【0221】
(ステップS2162A)
デバイス300は、取得されたアプリ情報に基づいて、アプリケーションが認証済みであるか否かを判定する。ここで、アプリケーションが認証済みであると判定された場合(S2162AのYes)、デバイス300は、以降のステップS2165~ステップS2167をスキップして実行前確認処理を終了する。一方、アプリケーションが認証済みではないと判定された場合(S2162AのNo)、デバイス300は、次のステップS2165に進む。
【0222】
[2.2 効果など]
以上のように、本実施の形態における装置20は、アクチュエータ22及び加熱器23の少なくとも1つと、アクチュエータ22及び加熱器23の少なくとも1つを制御する制御部24と、を備え、制御部24は、アクチュエータ22及び加熱器23の少なくとも1つを駆動する複数のブロックで規定され、かつ認証済みか否かを示す情報を含むアプリケーションを取得し、複数のブロックの各々は、アクチュエータ22又は加熱器23を駆動するためのパラメータを有し、アプリケーションが認証済みであることを示す情報を含まない場合、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されない第1パラメータ範囲を定義する第1のルールを参照して、複数のブロックの少なくとも1つを変更することでアプリケーションを変更し、複数のブロックの少なくとも1つは、第1パラメータ範囲に含まれるパラメータを有し、変更したアプリケーションに基づいて、少なくとも1つのアクチュエータ22を駆動する。
【0223】
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ22及び/又は加熱器23を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、アプリケーションが認証済みでない場合に、アプリケーションの変更を伴う処理を行うことができ、アプリケーションが認証済みである場合に処理負荷の軽減を図ることができる。したがって、全てのアプリケーションに対するパラメータ範囲に対する判定処理を行う必要は無く、認証を行うことによる管理によって、処理負荷の軽減とともに、パラメータ範囲の設計の基準ができ、アプリケーション開発者にとっては、より容易かつ安全な設計が可能となる。
【0224】
また例えば、本実施の形態における装置20において、アプリケーションが認証済みであることを示す情報を有する場合、第1のルールを参照せずに、アプリケーションケーションを変更しなくてもよい。
【0225】
これによれば、アプリケーションが認証済みである場合に、ブロックを変更するための処理をスキップすることができ、処理負荷を軽減することができる。
【0226】
(実施の形態3)
次に、実施の形態3について説明する。本実施の形態では、アプリケーションの制作者と装置の製作者とが同一である場合に実行前確認がスキップされる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
【0227】
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
【0228】
[3.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Bに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Bについて
図23を参照しながら説明する。
【0229】
図23は、実施の形態3における実行前確認処理のフローチャートを示す。
【0230】
(ステップS2161B)
デバイス300は、アプリ制作者情報を取得する。アプリ制作者情報は、アプリケーションの制作者を示す。制作者は、アプリケーションを制作した会社、個人又は団体等を意味し、開発者又は著者と呼ばれる場合もある。
【0231】
(ステップS2163B)
デバイス300は、デバイス製作者情報を取得する。デバイス製作者情報は、デバイスの製作者を示す。製作者は、デバイス300(つまり装置20)を製作した会社、個人又は団体等を意味し、製造者と呼ばれる場合もある。
【0232】
(ステップS2164B)
デバイス300は、アプリケーションの制作者とデバイス300の製作者とが異なるか否かを判定する。アプリケーションの制作者が個人であり、デバイス300の製作者が会社である場合、デバイス300は、アプリケーションの制作者が属する会社とデバイス300の製作者とが一致すれば、アプリケーションの制作者とデバイス300の製作者とが同じであると判定してもよい。また、デバイス300は、アプリケーションの制作者がデバイス300の製作者の開発委託先であれば、アプリケーションの制作者とデバイス300の製作者とが同じであると判定してもよい。
【0233】
ここで、アプリケーションの制作者とデバイス300の製作者とが同じである場合(S2164BのNo)、デバイス300は、以降のステップS2165~ステップS2167をスキップして実行前確認処理を終了する。一方、アプリケーションの制作者とデバイス300の製作者とが異なる場合(S2164BのYes)、デバイス300は、次のステップS2165に進む。
【0234】
[3.2 効果など]
以上のように、本実施の形態における装置20は、アクチュエータ22及び加熱器23の少なくとも1つとアクチュエータ22及び加熱器23の少なくとも1つを制御する制御部24と、を備え、制御部24は、アクチュエータ22及び加熱器23の少なくとも1つを駆動する複数のブロックで規定され、かつ制作者を示す情報を含むアプリケーションを取得し、複数のブロックの各々は、アクチュエータ22又は加熱器23を駆動するためのパラメータを有し、装置20の製作者を示す情報を取得し、アプリケーションの制作者と装置20の製作者とが異なる場合、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されない第1パラメータ範囲を定義する第1のルールを参照して、複数のブロックの少なくとも1つを変更することでアプリケーションを変更し、複数のブロックの少なくとも1つは、第1パラメータ範囲に含まれるパラメータを有し、変更したアプリケーションに基づいて、アクチュエータ22及び加熱器23の少なくとも1つを駆動する。
【0235】
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ及び/又は加熱器を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、アプリケーションの制作者と装置20の製造者とが異なる場合に、アプリケーションの変更を伴う処理を行うことができ、アプリケーションの制作者と装置20の製造者とが同じ場合には、処理負荷の軽減を図ることができる。
【0236】
(実施の形態4)
次に、実施の形態4について説明する。本実施の形態では、装置の劣化レベルに対応するルールを用いて実行前確認が行われる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
【0237】
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
【0238】
[4.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Cに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Cについて
図24を参照しながら説明する。
【0239】
図24は、実施の形態4における実行前確認処理のフローチャートを示す。
【0240】
(ステップS2163C)
デバイス300は、デバイス劣化情報を取得する。デバイス劣化情報は、装置20に含まれるアクチュエータ22及び/又は加熱器23の劣化レベルを示す。劣化レベルの検出方法は、特に限定されず、例えばセンサによって検出されればよい。
【0241】
(ステップS2165C)
デバイス300は、劣化レベルに対応するルールを取得する。例えば、デバイス300は、ルールデータベースを参照して、ブロックが駆動するアクチュエータ22又は加熱器23の劣化レベルに対応するパラメータ範囲を取得する。
【0242】
図25は、実施の形態4におけるルールデータベースの一例を示す。
図25のルールデータベース1400Cには、ルール1401C~1404Cが登録されている。ルール1401C~1404Cの各々は、非許容範囲を定義するパラメータ範囲を有する。例えば、ルール1401Cは、劣化レベル0のモータMM0001のために、1000rpmより大きい範囲を非許容範囲として有する。例えば、ルール1402Cは、劣化レベル1のモータMM0001のために、800rpmより大きい範囲を非許容範囲として有する。つまり、ルール1402Cは、ルール1401Cよりも非許容範囲が広く、許容範囲が狭い。
【0243】
ルール1401C~1404Cの各々は、さらに、種別と、製造者名と、アクチュエータ/加熱器と、劣化レベルと、を有する。これにより、デバイス300は、ルールデータベース1400Cから、ブロックで駆動されるアクチュエータ22又は加熱器23の劣化レベルに対応するルールを取得することができる。例えば、デバイス300は、脱水動作のブロックで駆動されるモータMM0001の劣化レベルが0である場合、脱水ブロックのために、
図25のルールデータベース1400Cを参照してルール1401Cを取得する。
【0244】
なお、劣化レベルを決定する項目は、例えば、デバイス300に含まれるアクチュエータ22及び/又は加熱器23の使用回数、使用時間、又は稼働開始から現在まで使用日数である。これらの項目は、ユーザの使用に対して概ね比例関係で増えると想定される。よって、項目に対応する値が大きくなるごとに、劣化レベルが大きくなるようにルールが決定される。
【0245】
また、劣化レベルを決定する項目は、例えば、加熱器23の温度の加算値、又はアクチュエータ22及び/又は加熱器23の入力及び出力の再現度合である。加熱器23の温度の加算値とは、加熱器23が駆動されたときの温度を加算した値である。例えば、ブロック実行時の加熱器23の平均温度、中間温度、又は最大温度が用いられる。加熱器23の温度は、加熱器23の限界温度に対する実行温度の割合、加熱器23の限界温度に対する実行温度の差分であってもよい。
【0246】
アクチュエータ22及び/又は加熱器23の入力及び出力の再現度合とは、アクチュエータ22及び/又は加熱器23を駆動するための入力値とアクチュエータ22及び/又は加熱器23の出力との関係を参照して求められる。所定の入力に対する実際の出力値と、関係に規定された出力値との割合が用いられる。
【0247】
[4.2 効果など]
以上のように、本実施の形態における装置20は、アクチュエータ22及び加熱器23の少なくとも1つと、アクチュエータ22及び加熱器23の少なくとも1つを制御する制御部24と、を備え、制御部24は、アクチュエータ22及び加熱器23の少なくとも1つを駆動する複数のブロックで規定されたアプリケーションを取得し、複数のブロックの各々は、アクチュエータ22又は加熱器23を駆動するためのパラメータを有し、アクチュエータ22及び加熱器23の少なくとも1つが劣化しているか否かを示す劣化情報を取得し、劣化情報がアクチュエータ22及び加熱器23の少なくとも1つが劣化していないことを示している場合、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されない第1パラメータ範囲を定義する第1のルールを参照して、複数のブロックに含まれる少なくとも1つの第1ブロックを変更することでアプリケーションを変更し、少なくとも1つの第1ブロックは、第1パラメータ範囲に含まれるパラメータを有し、劣化情報がアクチュエータ22及び加熱器23の少なくとも1つが劣化していることを示している場合、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されない、第1パラメータ範囲と異なる第2パラメータ範囲を定義する第2のルールを参照して、複数のブロックに含まれる少なくとも1つの第2ブロックを変更することでアプリケーションを変更し、少なくとも1つの第2ブロックは、第2パラメータ範囲に含まれるパラメータを有し、変更したアプリケーションに基づいて、アクチュエータ22及び加熱器23の少なくとも1つを駆動する。
【0248】
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ22及び/又は加熱器23を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、装置20の劣化情報に応じて異なるパラメータ範囲を用いることができ、ブロックを用いることで、経年劣化していくデバイスのパフォーマンスを考慮しながら、アプリケーション側からのアクチュエータ22及び/又は加熱器23への駆動指示を実行し、アプリケーションで制御される装置20の安全性をより向上させることができる。
【0249】
(他の実施の形態)
以上、本開示の1つまたは複数の態様に係るシステムについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の1つまたは複数の態様の範囲内に含まれてもよい。
【0250】
また、上記各実施の形態において、シーケンスマネージャ100及びデバイスマネージャ200は、クラウドサーバ10に含まれていたが、これに限定されない。シーケンスマネージャ100及び/又はデバイスマネージャ200は、装置20に含まれてもよい。また、UI400は、端末30に含まれていたが、装置20に含まれてもよい。
【0251】
また、上記各実施の形態において、劣化情報に基づいて、アプリケーションが変更されてもよい。例えば、デバイス300は、複数の劣化レベルと複数のパラメータの変換方法とが対応付けられたパラメータ変換情報を参照して、劣化レベルに対応する変換方法を取得し、取得した変換方法を用いてブロックに含まれるパラメータを変換してもよい。変換方法としては、例えば、変換後の値で定義されてもよいし、変換前の値に適用される係数で定義されてもよい。
【0252】
また、上記各実施の形態では、実行前確認においてパラメータが非許容範囲に含まれる場合にブロックを変更し、その後ブロックが実行されていたが、これに限ったものではない。例えば、パラメータが非許容範囲に含まれる場合に、デバイス300の状態が想定と異なっていたときは、ブロックを実行せず、デバイスマネージャ200及び/又はシーケンスマネージャ100に実行中止(エラー)が通知されてもよい。
【産業上の利用可能性】
【0253】
複数の機能ブロックで規定されたアプリケーションを実行することができる家庭用電化製品等に利用できる。
【符号の説明】
【0254】
1 システム
2a、2b、2c、2d 施設
10 クラウドサーバ
11 プロセッサ
12 メモリ
20、20a、20b、20c、20d、20e、20f、20g、20h 装置
21 筐体
22 アクチュエータ
23 加熱器
24 制御部
30、30a、30b、30c、30d 端末
31 ディスプレイ
32 入力デバイス
100 シーケンスマネージャ
200 デバイスマネージャ
300、300a、300b、300c、300d、300e、300f、300g、300h デバイス
400、400a、400b、400c、400d UI
500 洗濯機
501 筐体
502 水槽
503 洗濯槽
504 洗濯モータ
505 ドア
506 ドアロック機構
507 振動センサ
511 給水弁
512 給水管
513 自動投入機
515 水位センサ
516 バスポンプ
517 風呂水配管
521 排水管
522 排水フィルタ
523 排水弁
524 循環ポンプ
525 循環用配管
531 吸気センサ
532 ヒートポンプ
533 ダクト
534 循環ファン
535 温風センサ
536 除菌装置
541 第1泡センサ
542 第2泡センサ
543 温水ヒータ
544 温水センサ
550 制御装置
560 操作パネル
570 通信部
1000、1010、1020、1030、1040、1050、1060、1070、1080、1090、1100、1110、1120、1130、1140、1301 ブロック
1011、1012、1021~1023、1031、1041、1051~1056、1061~1064、1071、1072、1081、1091、1101、1102、1111、1112、1121、1131、1132、1141 パラメータ
1200 デバイスデータベース
1201 デバイス情報
1300 実行内容宣言
1302 デバイスに関する情報
1303 順番情報
1400、1400C ルールデータベース
1401~1405、1401C、1402C、1403C、1404C ルール
F100 準備フェーズ
F200 アプリ実行前フェーズ
F300 アプリ実行フェーズ