JP2024026402A - 情報処理方法、及び、情報処理装置 - Google Patents

情報処理方法、及び、情報処理装置 Download PDF

Info

Publication number
JP2024026402A
JP2024026402A JP2023213396A JP2023213396A JP2024026402A JP 2024026402 A JP2024026402 A JP 2024026402A JP 2023213396 A JP2023213396 A JP 2023213396A JP 2023213396 A JP2023213396 A JP 2023213396A JP 2024026402 A JP2024026402 A JP 2024026402A
Authority
JP
Japan
Prior art keywords
block
information
parameter
heater
washing
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.)
Pending
Application number
JP2023213396A
Other languages
English (en)
Inventor
一樹 坂本
Kazuki Sakamoto
隼人 成瀬
Hayato Naruse
竜弘 岸
Tatsuhiro Kishi
健太 村上
Kenta Murakami
智志 末益
satoshi Suemasu
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2023213396A priority Critical patent/JP2024026402A/ja
Publication of JP2024026402A publication Critical patent/JP2024026402A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F33/00Control of operations performed in washing machines or washer-dryers 
    • D06F33/30Control of washing machines characterised by the purpose or target of the control 
    • D06F33/32Control of operational steps, e.g. optimisation or improvement of operational steps depending on the condition of the laundry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Textile Engineering (AREA)
  • Control Of Washing Machine And Dryer (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】多種多様でかつ安全な制御プログラムを簡単に生成することができる情報処理方法を提供する。【解決手段】情報処理方法では、アクチュエータ22及び加熱器23の少なくとも一方を備える洗濯機500の運転を制御するための複数の制御情報を含む洗濯情報を生成する情報処理方法であって、それぞれが洗濯物に対する洗濯に関する運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、複数の制御情報を実行する順番に関する順番情報を含む洗濯情報の入力を受け付け(S22)、アクチュエータ22及び加熱器23の少なくとも一方の劣化レベルを洗濯機500から取得し(S2163)、劣化レベルに対応するルールに基づいて洗濯情報を修正する(S27)。【選択図】図30

Description

本開示は、情報処理方法、及び、情報処理装置に関する。
従来、家庭用電化製品及び住宅設備等は、その製造者等によって予め用意された運転条件(制御プログラム)に従って制御される。特許文献1には、ユーザが実施したい洗濯の運転条件を設定可能な洗濯機が開示されている。
特開2003-284889号公報
しかしながら、上記従来技術では、製品の製造者等によって予め開発された制御プログラムが製品に予め格納されていなければならず、多様なユーザの望みに合わせて制御プログラムをカスタマイズ及びアップデートすることは難しい。
そこで、本開示は、多種多様でかつ安全な制御プログラムを簡単に生成することができる情報処理方法などを提供する。
本開示に一態様に係る情報処理方法は、アクチュエータ及び加熱器の少なくとも一方を備える洗濯機の運転を制御するための洗濯情報を生成する、プロセッサにより実行される情報処理方法であって、それぞれが洗濯物に対する前記運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含む第1の洗濯情報の入力を受け付け、前記アクチュエータ及び前記加熱器の少なくとも一方の劣化レベルを前記洗濯機から取得し、複数の劣化レベルに対応する複数のルールのうちの、取得した前記劣化レベルに対応するルールに基づいて前記第1の洗濯情報に含まれる前記複数の制御情報の少なくとも一部を修正し、修正により得られた第2の洗濯情報を前記洗濯情報として生成し、前記洗濯機は前記洗濯機能部を有し、前記第2の洗濯情報は、前記第2の洗濯情報に含まれる複数の制御情報を、前記第2の洗濯情報に含まれる順番情報で示される順番に前記洗濯機能部に実行させるための情報である。
本開示の一態様に係る情報処理方法は、洗濯機の運転を制御するための複数の制御情報を含む洗濯情報を生成する情報処理方法であって、それぞれが洗濯物に対する洗濯に関する運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含む洗濯情報の入力を受け付け、洗濯の順番に関するルールに基づいて前記洗濯情報を修正する。
また、本開示の他の一態様に係る情報処理方法は、洗濯機の運転を制御するための複数の制御情報を含む洗濯情報を生成する情報処理方法であって、前記複数の制御情報のそれぞれは、洗濯物に対する洗濯に関する運転を行う洗濯機能部を制御するパラメータに関する制御情報を含み、前記情報処理方法は、前記複数の制御情報のうちの第1の制御情報の入力を受け付け、受け付けた前記第1の制御情報と、洗濯の順番に関するルールと、に基づいて、前記第1の制御情報の次の順番で実行されることが許容される制御情報の条件を特定し、特定した前記条件に基づいて、前記第1の制御情報の次に実行される順番に設定される第2の制御情報の入力を制限する。
なお、これらの包括的又は具体的な態様は、システム、装置、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
本開示の一態様に係る情報処理方法は、多種多様でかつ安全な制御プログラムを簡単に生成することができる。
図1は、実施の形態1におけるシステムのハードウェア構成図である。 図2Aは、実施の形態1におけるクラウドサーバのハードウェア構成図である。 図2Bは、実施の形態1における装置のハードウェア構成図である。 図2Cは、実施の形態1における端末のハードウェア構成図である。 図3は、実施の形態1におけるシステムの機能構成図である。 図4は、洗濯機の構成の一例を示す図である。 図5は、洗濯機の機能構成の一例を示すブロック図である。 図6Aは、実施の形態1におけるアプリケーションを規定するブロックの第1の例を示す。 図6Bは、実施の形態1におけるアプリケーションを規定するブロックの第2の例を示す。 図6Cは、実施の形態1におけるアプリケーションを規定するブロックの第3の例を示す。 図6Dは、実施の形態1におけるアプリケーションを規定するブロックの第4の例を示す。 図6Eは、実施の形態1におけるアプリケーションを規定するブロックの第5の例を示す。 図6Fは、実施の形態1におけるアプリケーションを規定するブロックの第6の例を示す。 図6Gは、実施の形態1におけるアプリケーションを規定するブロックの第7の例を示す。 図6Hは、実施の形態1におけるアプリケーションを規定するブロックの第8の例を示す。 図6Iは、実施の形態1におけるアプリケーションを規定するブロックの第9の例を示す。 図6Jは、実施の形態1におけるアプリケーションを規定するブロックの第10の例を示す。 図6Kは、実施の形態1におけるアプリケーションを規定するブロックの第11の例を示す。 図6Lは、実施の形態1におけるアプリケーションを規定するブロックの第12の例を示す。 図6Mは、実施の形態1におけるアプリケーションを規定するブロックの第13の例を示す。 図6Nは、実施の形態1におけるアプリケーションを規定するブロックの第14の例を示す。 図6Oは、実施の形態1におけるアプリケーションを規定するブロックの第15の例を示す。 図7は、実施の形態1におけるシステムのシーケンス図である。 図8は、実施の形態1におけるデバイスデータベースの一例を示す。 図9は、実施の形態1における実行内容宣言の一例を示す。 図10は、実施の形態1における実行前確認処理のフローチャートを示す。 図11は、実施の形態1におけるルールデータベースの一例を示す。 図12は、実施の形態1における実行内容宣言の修正の第1の例を示す。 図13は、実施の形態1における実行内容宣言の修正の第2の例を示す。 図14は、実施の形態1における実行内容宣言の修正の第3の例を示す。 図15は、実施の形態1における実行内容宣言の修正の第4の例を示す。 図16は、実施の形態1における実行内容宣言の修正の第5の例を示す。 図17は、実施の形態1における実行内容宣言の修正の第6の例を示す。 図18は、実施の形態1における実行内容宣言の修正の第7の例を示す。 図19は、実施の形態1における実行内容宣言の修正の第8の例を示す。 図20は、実施の形態1における実行内容宣言の修正の第9の例を示す。 図21Aは、実施の形態1の変形例1におけるシステムのシーケンス図である。 図21Bは、実施の形態1の変形例2におけるシステムのシーケンス図である。 図21Cは、実施の形態1の変形例3におけるシステムのシーケンス図である。 図21Dは、実施の形態1の変形例4におけるシステムのシーケンス図である。 図21Eは、実施の形態1の変形例5におけるシステムのシーケンス図である。 図22は、実施の形態2における実行前確認処理のフローチャートを示す。 図23は、実施の形態3における実行前確認処理のフローチャートを示す。 図24は、実施の形態4における実行前確認処理のフローチャートを示す。 図25は、実施の形態4におけるルールデータベースの一例を示す。 図26は、実施の形態5における情報処理システムの構成例を示す図である。 図27Aは、実施の形態5におけるブロックデータベースに格納されている情報の一例を示す図である。 図27Bは、実施の形態5におけるルールデータベースに格納されている情報の一例を示す図である。 図28は、実施の形態5におけるルールデータベースに含まれる汎用ルールの一例を示す図である。 図29は、実施の形態5における情報処理システムのシーケンス図である。 図30は、実施の形態5における開発ツールの全体的な処理動作を示すフローチャートである。 図31は、実施の形態5におけるパラメータの自動修正処理の一例を示すフローチャートである。 図32は、実施の形態5におけるパラメータのエラー提示処理の一例を示すフローチャートである。 図33は、実施の形態5におけるシーケンス生成画面の一例を示す図である。 図34は、実施の形態5におけるブロック一覧の表示例を示す図である。 図35Aは、実施の形態5におけるパラメータ設定領域の第1の表示例を示す図である。 図35Bは、実施の形態5におけるパラメータ設定領域の第2の表示例を示図である。 図36は、実施の形態5における機能ブロックの自動修正処理の一例を示す図である。 図37は、実施の形態5における機能ブロックの接続の自動修正処理の第1の例を示す図である。 図38は、実施の形態5における機能ブロックの接続の自動修正処理の第2の例を示す図である。 図39は、実施の形態5における機能ブロックの接続の自動修正処理の第3の例を示す図である。 図40は、実施の形態5における機能ブロックの接続の自動修正処理の第4の例を示す図である。
(本開示の基礎となった知見)
本願発明者らが本開示に至るまでの経緯を説明する。アクチュエータ及び/又は加熱器を有する家庭用電化製品等において、多様なユーザの望みに合わせて制御プログラムを開発するためには、開発環境のオープン化が求められる。すなわち、制御プログラムの開発の難度を低下させて、サードパーティが制御プログラムの開発に容易に参加できる環境が求められる。このような環境では、例えば、アパレル企業が、自社の販売する衣服を洗濯するための洗濯機の制御プログラムを開発することも可能となる。
そこで、本発明者らは、製品に含まれるアクチュエータ及び加熱器の制御を抽象化した機能ブロックを用いて、安全面の担保を維持しながら、制御プログラムを開発可能な環境を構築し、複数の機能ブロックの組み合わせからなる制御プログラムをパッケージ化してアプリケーションとして配信可能な仕組みを検討した。これにより、多種多彩なアプリケーションの配信が可能となり、より多様なユーザの望みに応えて製品をカスタマイズ及びアップデートすることが可能となる。しかしながら、このような環境では、危険なアプリケーション(つまり、製品を安全に制御することができないアプリケーション)が配信される可能性があり、製品の安全性が低下する。
例えば、家庭用電化製品等に含まれるプログラムは、アクチュエータ及び/又は加熱器を直接制御するための機器に組込まれ、かつ、製造者により開発されたプログラムと、サードパーティにより開発されたプログラムとを互いに入り交じった状態で含むことが想定される。このとき、製造者は、サードパーティに、ノウハウを含む全ての家庭用電化製品等の情報を公開しない可能性が高い。例えば、アクチュエータ及び加熱器を駆動するパラメータ又はタイミングは、製造者の家庭用電化製品等の性能に関わるノウハウである。よって、競争力の低下につながる恐れがあるため、製造者は、サードパーティに、家庭用電化製品等を自在に駆動できるようにノウハウをオープンにする可能性は低い。
そのため、サードパーティは、家庭用電化製品等の情報不足により、製造者が想定しない制御の組み合わせ、又はパラメータ範囲を含むアプリケーション、すなわち、安全性が担保されないアプリケーションを作成する可能性がある。このようなアプリケーションがユーザに提供されることは、ユーザに望ましくない。
また、家庭用電化製品等の製造者は、新たな制御プログラムを提供することで、ユーザのくらしのアップデートを試みることが考えられる。しかしながら、多種多様な新たな制御プログラムの開発には、パラメータの調整、またはハードの性能評価などの膨大な工数がかかる。家庭用電化製品等は、アクチュエータ及び/又は加熱器のハードが物理的に駆動するため、家庭用電化製品等のプログラムは、スマートフォンのプログラムと比較して、性能評価などの工数が大きくなることが容易に予想される。しかし、大量生産ではなく、ユーザ一人一人の生活に応じたオンデマンド開発が求められる時代において、スマートフォンのプログラムと同様に、家庭用電化製品等の多種多様な制御プログラム開発することが求められる。そのため、製造者は、膨大な工数を低減した上で、製品の安全性を担保する多種多様なアプリケーションを作成しなければならない。
さらに、製造者は、サードパーティが提供するアプリケーションを用いて家庭用電化製品等が動作した場合でも、安全に動作することを保証することを望むことが考えられる。このとき、多種多様なアプリケーションを家庭用電化製品等で実際に駆動させて安全性を検証する作業の量を低減することが望まれる。
そこで、本開示は、アクチュエータ及び/又は加熱器を駆動する複数の機能ブロックで規定された多種多彩なアプリケーションを、より簡単かつ安全に実行することができる装置等を提供する。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。
また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。
(実施の形態1)
[1.1 ハードウェア構成]
本実施の形態におけるシステム1のハードウェア構成について、図1~図2Cを参照しながら説明する。図1は、実施の形態1におけるシステム1のハードウェア構成図である。図2Aは、実施の形態1におけるクラウドサーバ10のハードウェア構成図である。図2Bは、実施の形態1における装置20のハードウェア構成図である。図2Cは、実施の形態1における端末30のハードウェア構成図である。
図1及び図3に示すように、本実施の形態におけるシステム1は、クラウドサーバ10と、施設2a~2dで用いられる装置20a~20hと、端末30a~30dと、を備える。施設2a~2dは、例えば住宅であるが、これに限定されない。施設2a~2dは、例えばマンション、店舗、オフィス等であってもよい。システム1は、制御システムの一例である。
クラウドサーバ10は、コンピュータネットワーク(例えばインターネット)を介して提供される仮想的なサーバである。クラウドサーバ10は、コンピュータネットワークを介して、装置20a~20h及び端末30a~30dに通信可能に接続される。なお、クラウドサーバ10の代わりに物理サーバが用いられてもよい。クラウドサーバ10は、外部機器の一例である。
図2Aに示すように、クラウドサーバ10は、仮想的に、プロセッサ11と、プロセッサ11に接続されたメモリ12と、を備える。プロセッサ11は、メモリ12に格納されたインストラクション又はソフトウェアプログラムが実行されたときに、後述するシーケンスマネージャ及びデバイスマネージャとして機能する。
装置20a~20hは、施設2a~2dで利用される電気機械器具である。なお、図1では、施設2b~2dで利用される装置20c~20hの図示が省略されている。以下において、装置20a~20hの区別が不要な場合には装置20と記載する。
装置20としては、家庭用電化製品(家電)及び住宅設備等を用いることができる。家庭用電化製品(家電)及び住宅設備等は、住宅内で使用される機器に限られず、事業に用いられる機器も含む。なお、本開示では、家庭用電化製品及び住宅設備等を家庭用電化製品等と省略して記載することがある。家電としては、例えば、電子レンジ、炊飯器、ミキサー(Blender)、電気オーブン、電気トースター、電気ポット、ホットプレート、IH(Induction heating)調理器、ロースター、ベーカリー、電気圧力調理なべ、電気無水調理なべ、マルチクッカー、コーヒーメーカー、冷蔵庫、洗濯機、食洗器、掃除機、エアコン、空気清浄機、加湿器、ドライヤー、扇風機、及びイオン発生器等が用いられる。住宅設備としては、例えば、電動シャッター、電子ロック、及び浴槽用の電気湯沸し器等が用いられる。なお、装置20は、これらの機器に限定されない。
図2Bに示すように、装置20は、筐体21と、アクチュエータ22と、加熱器23と、制御部24と、を備える。なお、装置20は、アクチュエータ22及び加熱器23の少なくとも1つを備えればよく、アクチュエータ22及び加熱器23の両方を備えなくてもよい。
筐体21は、アクチュエータ22と、加熱器23と、制御部24と、を収容する。また、筐体21は、対象物を処理するための内部空間を有してもよい。例えば、洗濯機の洗濯槽、電子レンジの加熱室、及び炊飯器の内釜等が、対象物を処理するための内部空間に相当する。
アクチュエータ22は、電気信号に基づいて入力エネルギーを物理的運動に変換する機械要素である。アクチュエータ22としては、例えば電気モータ、油圧シリンダ及び空気圧アクチュエータ等を用いることができるが、これらに限定されない。
加熱器23は、電気エネルギーを熱エネルギーに変換する電気加熱器である。加熱器23は、例えばジュール加熱、誘導加熱及び誘電加熱等により対象物を加熱する。加熱器23としては、例えば、ニクロム線、コイル及びマグネトロン等を用いることができる。
ここで、本開示の装置20が、アクチュエータ22及び/又は加熱器23を備える理由の一例を説明する。家庭用電化製品等の製造者が、アクチュエータ22及び加熱器23を駆動するパラメータ、駆動の組み合わせを全て自由に制御可能な開発環境をサードパーティに提供した場合を考える。このとき、サードパーティは、製造者が想定しているアクチュエータ22及び/又は加熱器23を安全に駆動できるパラメータ範囲、又はアクチュエータ22及び/又は加熱器23の駆動制限を逸脱して制御するプログラムを作成することが可能になる。特に、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の、製造者の想定していない駆動は、安全性の担保の課題が大きい。製造者の想定していない駆動としては、例えば、アクチュエータの一例である電気モータの高速回転、及び、加熱器23への過電流の供給が挙げられる。本願発明者らは、過度に安全面を考慮することで、ユーザに多種多様なアプリケーションを提供できる環境の構築を阻害しないことを目指した。そこで、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23に特化して、安全面を担保することを想定し、本開示の装置20を対象としている。
制御部24は、アクチュエータ22及び/又は加熱器23を制御するコントローラであり、後述するデバイスとして機能する。制御部24は、例えば、集積回路で構成される。
端末30a~30dは、施設2a~2dでそれぞれ利用され、ユーザインタフェースとして機能する。なお、図1では、施設2b~2dで利用される端末30b~30dの図示が省略されている。以下において、端末30a~30dの区別が不要な場合には端末30と記載する。
端末30は、コンピュータネットワークを介してクラウドサーバ10及び装置20に接続され、後述するユーザインタフェース(UI)として機能する。端末30としては、スマートフォン及びタブレットコンピュータ等の持ち運び可能な情報端末を用いることができる。なお、端末30は、施設2a~2dの壁、床又は天井に固定された端末であってもよい。また、端末30は、装置20に含まれてもよい。例えば、端末30は、各装置20a~20hに内蔵されたディスプレイ等を有する表示端末として実現されてもよい。
図2Cに示すように、端末30は、ディスプレイ31と、入力デバイス32と、を備える。ディスプレイ31としては、例えば液晶ディスプレイ及び有機ELディスプレイを用いることができる。入力デバイス32としては、例えばタッチパネル、キーボード、マウス及び機械式ボタン等を用いることができる。また、入力デバイス32として、音声入力デバイスが用いられてもよい。ディスプレイ31と入力デバイス32とは、タッチスクリーンとして一体で実装されてもよい。または、入力デバイス32として、ジェスチャー入力デバイスが用いられてもよい。ジェスチャー入力デバイスは、例えば、カメラと認識部とを有する。カメラはジェスチャーを含む画像を撮像し、認識部は画像を用いてジェスチャーを認識する。
[1.2 機能構成]
次に、本実施の形態におけるシステム1の機能構成について、図3を参照しながら説明する。図3は、実施の形態1におけるシステム1の機能構成図である。
クラウドサーバ10は、シーケンスマネージャ100と、デバイスマネージャ200と、を備える。装置20a~20hは、デバイス300a~300hをそれぞれ備える。端末30a~30dは、UI400a~400dをそれぞれ備える。
以下において、デバイス300a~300hの区別が不要な場合にはデバイス300と記載する。また、UI400a~400dの区別が不要な場合にはUI400と記載する。
シーケンスマネージャ100は、複数のアプリケーションを管理している。複数のアプリケーションは、例えばユーザの操作によって、アプリケーション配信プラットフォームからシーケンスマネージャ100にダウンロードされる。または、アプリケーション配信プラットフォームに含まれるアプリケーションは、シーケンスマネージャ100にダウンロードされなくてもよい。その場合、シーケンスマネージャ100のデータベースに、アプリケーション配信プラットフォームに含まれるアプリケーションが紐づけていることを示す情報が記録されてもよい。アプリケーションの詳細については後述する。
デバイスマネージャ200は、複数の施設2a~2d及び各施設2a~2dで利用されるデバイス300及びUI400を管理するためのデータベースを有する。デバイスマネージャ200は、データベースに、施設2a~2dに紐づくデバイス情報及びUI情報を記録することにより、デバイス300及びUI400を管理する。デバイス情報及びUI情報は、例えば、制御機能及び駆動機能、並びに稼働状況などを含む。例えば、デバイスマネージャ200は、デバイス300の稼働状況を管理して、デバイス300の稼働スケジュールを把握することができる。また、デバイスマネージャ200は、デバイス300のログ情報を管理してもよい。
なお、このようなデータベースは、デバイスマネージャ200の代わりにシーケンスマネージャ100が有してもよく、シーケンスマネージャ100及びデバイスマネージャ200の両方が有してもよい。
デバイス300は、装置20の制御機能及び駆動機能を有する。デバイス300は、デバイスマネージャ200からの指示に従って装置20を駆動することができる。
UI400は、ユーザに情報を提供し、ユーザから入力を受け付ける。
次に、装置20の一例として洗濯機500の構成について、図4および図5を参照しながら説明する。図4は、洗濯機500の構成の一例を示す図である。図5は、洗濯機500の機能構成の一例を示すブロック図である。
洗濯機500は、内部空間を有する筐体501を備える。筐体501の前側には、開口が設けられ、筐体501の開口には開閉自在なドア505が設けられている。筐体501の開口には、ドア505のロックをするためのドアロック機構506が設けられている。
筐体501の内部には、筐体501に弾性支持された水槽502が設けられている。水槽502は、洗濯機500が備える槽の一例である。水槽502の内部には、前側の一端に開口が形成され、かつ、後側の他端に底が形成されている有底円筒状の洗濯槽503(ドラムとも言う)が回転軸Ax1で回転自在に設けられている。水槽502の内面と洗濯槽503の外面との間には、隙間が形成されている。洗濯槽503の回転軸Ax1は、例えば、洗濯槽503の開口が底よりも上になるように傾斜している。
洗濯槽503は、洗濯槽503の側面を貫通する複数の孔が設けられている。水槽502の後面には、洗濯槽503を回転駆動する洗濯モータ504が設けられている。洗濯モータ504は、例えば、直流モータであり、インバータ制御によって回転速度を自在に制御することができる。
水槽502の上部には、振動センサ507が設けられている。振動センサ507は、水槽502の振動の度合いを検知する。
水槽502の上部には、給水管512が接続されている。給水管512は、水道に接続される。給水管512には、水道からの水の流入を止める給水弁511が設けられている。給水弁511は、例えば、制御信号が入力されることにより電動で開閉する電磁弁である。給水管512には、洗濯槽503内に投入される液体洗剤及び/又は柔軟剤が収容されて自動投入機513が設けられている。自動投入機513は、アクチュエータを用いて制御信号に応じた量の液体洗剤及び/又は柔軟剤を計量し、計量した液体洗剤及び/又は柔軟剤を給水管512に投入する装置である。このため、水道からの水と自動投入機513により投入された所定量の液体洗剤及び/又は柔軟剤とは、給水管512において混ざり合って洗濯水となり、水槽502に流入する。なお、自動投入機513は、液体洗剤を投入するためのアクチュエータと、柔軟剤を投入するためのアクチュエータとの両方を有していてもよい。
また、洗濯機500には、水槽502の水位を検出する水位センサ(図示せず)が設けられている。水位センサは、水槽502に接続されている給水管512とは別の管に配置され、水槽502の内圧を検出する圧力センサであってもよい。つまり、水槽502の水位は、圧力センサの検出結果を用いて検出される。
また、水槽502の上部には、風呂水配管517が接続されている。風呂水配管517には、家庭内の浴槽に貯められた水を導入するためのホースが接続される。風呂水配管517には、浴槽に貯められた水を汲み上げるバスポンプ516が接続されている。バスポンプ516を駆動することで、浴槽からホースを介して浴槽内の水を水槽502の内部に導入するバスポンプによる給水を行うことができる。
また、水槽502の上部には、風呂水配管517が接続されている。風呂水配管517には、家庭内の浴槽に貯められた水を導入するためのホースが接続される。風呂水配管517には、浴槽に貯められた水を汲み上げるバスポンプ516が接続されている。バスポンプ516を駆動することで、浴槽からホースを介して浴槽内の水を水槽502の内部に導入する注水動作を行うことができる。
水槽502の下部には、排水管521が接続されている。排水管521は、洗濯機500の外部に洗濯水を排出する排水ホースに接続されている。排水管521には、排水管521を流れる水の中の異物を取り除くための排水フィルタ522と、排水管521から排水ホースへの水が流れることを止める排水弁523とが設けられている。排水弁523は、例えば、制御信号が入力されることにより電動で開閉する電磁弁である。
また、排水管521には、循環用配管525が接続されている。循環用配管525は、一端が排水管521に接続され、他端が水槽502の前側下部に接続されている。排水管521を流れ排水フィルタ522を通過した水を水槽502に戻すための配管である。循環用配管525には、水槽502内の水を循環させる循環ポンプ524が接続されている。循環ポンプ524が駆動すると、排水管521を流れたあと循環用配管525に流入した洗濯水は、循環ポンプ524によって水槽502内に戻される。
また、水槽502の前側の上部にはダクト533の一端が接続されており、水槽502の後側の上部にはダクト533の他端が接続されている。ダクト533には、ダクト533内の空気を冷却した後に加熱するヒートポンプ532と、ダクト533の空気を循環させる循環ファン534とが設けられている。ヒートポンプ532は、図示しない冷媒回路により構成され、冷媒回路は、コンプレッサ、凝縮器、膨張弁および蒸発器を有する。冷媒回路内では、コンプレッサが駆動することにより冷媒が循環する。ヒートポンプ532では、ダクト533内の空気は、蒸発器で冷却された後に凝縮器で加熱される。蒸発器で冷却されることで、ダクト533内の空気中の水分が取り除かれ、その後、凝縮器で加熱されることでダクト533内の空気は、温められ乾燥した高温の空気となる。温められ乾燥した高温の空気は、循環ファン534により、水槽502の内部に送風される。これにより、水槽502の内部の衣類などの洗濯物の乾燥が促進される。
ダクト533の上流側には、吸気センサ531が設けられる。吸気センサ531は、ダクト533の上流側を流れる空気の温度を検知するセンサである。
ダクト533の下流側には、温風センサ535が設けられる。温風センサ535は、ダクト533内の空気の温度を検知する。
ダクト533の下流側には、洗濯槽503内の洗濯物を除菌する除菌装置536が設けられる。除菌装置536は、帯電微粒子水などの効能物質を生成する。除菌装置536により生成された効能物質が含まれる空気は、循環ファン534により洗濯槽503の内部に吹き出されるため、洗濯槽503の内部の洗濯物は、効能物質により除菌される。
また、水槽502の内部には、水槽502の内部に泡が発生したことを検知する第1泡センサ541および第2泡センサ542が設けられている。第1泡センサ541は、水槽502の内部に第1の量よりも多い泡が発生したことを検知する。第2泡センサ542は、水槽502の内部に第2の量よりも多い泡が発生したことを検知する。第1の量は、第2の量よりも多い。つまり、第1泡センサ541は、第2泡センサ542よりも多くの泡が発生したことを検知する。
また、水槽502の下部には、水槽502の洗濯水を加熱するための温水ヒータ543は設けられている。また、水槽502の下部には、水槽502内の洗濯水の温度が所定温度よりも高い温度であることを検知する温水センサ544が設けられている。
筐体501の前側上部には、ユーザから洗濯機500の操作のための入力を受け付ける操作パネル560が設けられている。操作パネル560は、ユーザからの入力を受け付けた結果に応じた表示を行ってもよいし、当該結果に応じた音を出力してもよい。また、操作パネル560は、制御装置550による演算結果を表示してもよいし、当該演算結果を示す音を出力してもよい。また、操作パネル560は、洗濯機500の動作状態を表示してもよいし、当該動作状態を示す音を出力してもよい。通信部570は、外部機器と通信可能であり、例えば、コンピュータネットワークに通信可能に接続される通信インタフェースである。通信部570は、無線LAN(Local Area Network)インタフェースであってもよいし、有線LAN(Local Area Network)インタフェースであってもよいし、携帯電話通信網に接続するためのインタフェースであってもよい。また、通信部570は、クラウドサーバ10に通信可能に接続されているハブ機器(図示せず)と通信可能に接続されていてもよい。つまり、通信部570は、ハブ機器を経由してクラウドサーバ10と通信可能に接続されていてもよい。通信部570は、ハブ機器との間で、赤外線・近距離無線通信などによって通信を行ってもよいし、上記で例示した通信インタフェースで通信を行ってもよい。
筐体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の一例である。
ここで、アプリケーションについて説明する。本実施の形態では、アプリケーション(以下、略してアプリということもある)とは、アクチュエータ22及び/又は加熱器23を駆動する複数の機能ブロック(以下、略してブロック)で規定される制御プログラムを意味する。複数のブロックの各々は、アクチュエータ22又は加熱器23を駆動するためのパラメータを含むことができる。具体的には、複数のブロックの各々は、アクチュエータ22又は加熱器23の制御を抽象化したものである。なお、複数のブロックの各々は、制御情報の一例である。
なお、アプリケーションは、アクチュエータ22及び/又は加熱器23を駆動する複数のブロックに加えて、アクチュエータ22及び/又は加熱器23を駆動しないブロックを含んでもよい。アクチュエータ22及び/又は加熱器23を駆動しないブロックの一例は、デバイス300の有するインタフェースを用いた情報表示、デバイス300の有するブザーを用いた音声出力、デバイス300の有するランプの点灯または消灯などを含む。また、ブロックは、アクチュエータ22又は加熱器23の駆動を開始する条件を含んでもよい。例えば、第1ブロック、第2ブロックを含むアプリケーションを例に説明する。ここで、第1ブロックの実行中に、第2ブロックに切り替える際に、第2ブロックに含まれる開始条件を満たしたときに、第1ブロックから第2ブロックに切り替える。また、ブロックは、開始条件ではなく、終了条件を含んでいてもよい。第1ブロックの実行中に、第2ブロックに切り替える際に、第1ブロックに含まれる終了条件を満たしたときに、第1ブロックから第2ブロックに切り替える。
次に、洗濯機500のアプリケーションを規定するブロックの具体例について図6A~図6Oを用いて説明する。図6A~図6Oで示されるブロックのそれぞれは、洗濯機能部による運転を制御するパラメータに関する制御情報である。制御情報は、洗濯機500によって実行可能な、洗濯に関する運転を制御するための情報であればよい。洗濯機能部による運転は、洗濯物に対する洗濯に関する運転であり、例えば、洗濯量検知動作、給水動作、注水濯ぎ動作、洗剤投入動作、柔軟剤投入動作、撹拌動作、ドラム回転動作、脱水動作、排水動作、ドアロック動作、浸漬動作、除菌・抗菌動作、ブザー動作、送風動作、及び、乾燥動作の少なくとも1つを含む。
図6Aは、実施の形態1におけるアプリケーションを規定するブロックの第1の例を示す。図6Aに示すブロック1000は、洗濯槽503に投入された衣類などの洗濯物の量を検知する洗濯量検知動作を制御するブロックである。洗濯量検知動作では、例えば、洗濯モータ504を駆動させることで洗濯モータ504に流れるトルク電流を検出することで、検出したトルク電流に予め対応付けられた洗濯量を制御装置550のメモリを参照することで特定し、特定した洗濯量を洗濯槽503内の洗濯量として検知する。
図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の駆動を停止することで給水を停止する。
なお、給水動作において第2の給水経路で給水が行われる場合において、所定期間(例えば、5~10分間)経過してもパラメータ1011で示される水位にならなかった場合、制御装置550は、第2の給水経路から第1の給水経路に切り替えて給水を行ってもよい。
図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の駆動の強度を示すとも言い換えることができる。
図6Dは、実施の形態1におけるアプリケーションを規定するブロックの第4の例を示す。図6Dに示すブロック1030は、洗剤投入動作を制御するブロックであり、パラメータ1031を含む。洗剤投入動作は、自動投入機513のアクチュエータを駆動することで給水管512に所定量の液体洗剤を自動的に投入する動作である。パラメータ1031は、給水管512への液体洗剤の投入量を示す値を含む。パラメータ1031は、自動投入機513の液体洗剤を投入するアクチュエータの動作量を示すとも言い換えることができる。
図6Eは、実施の形態1におけるアプリケーションを規定するブロックの第5の例を示す。図6Eに示すブロック1040は、柔軟剤投入動作を制御するブロックであり、パラメータ1041を含む。柔軟剤投入動作は、自動投入機513のアクチュエータを駆動することで給水管512に所定量の柔軟剤を自動的に投入する動作である。パラメータ1041は、給水管512への柔軟剤の投入量を示す値を含む。パラメータ1041は、自動投入機513の柔軟剤を投入するアクチュエータの動作量を示すとも言い換えることができる。
図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を駆動するパラメータを含んでいてもよい。
制御装置550は、撹拌動作において、パラメータ1051で示される種類の撹拌を行う。制御装置550は、パラメータ1052で示される回転数で洗濯モータ504をパラメータ1056で示される撹拌強さで回転させ、撹拌動作の開始からパラメータ1055で示される動作時間が経過すると洗濯モータ504を停止する。また、制御装置550は、撹拌動作において、パラメータ1056に基づいて給水弁511を開にする。また、制御装置550は、撹拌動作において、パラメータ1057で示される回転方向に循環ポンプ524を動作させる。
図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を駆動するパラメータを含んでいてもよい。
制御装置550は、ドラム回転動作において、パラメータ1061で示される回転数で洗濯モータ504をパラメータ1062で示される回転方向で回転させる。また、制御装置550は、ドラム回転動作において、パラメータ1063に基づいて給水弁511を開にする。また、制御装置550は、ドラム回転動作において、パラメータ1064に基づく方向に循環ポンプ524を動作させる。
図6Hは、実施の形態1におけるアプリケーションを規定するブロックの第8の例を示す。図6Hに示すブロック1070は、脱水動作を制御するブロックであり、パラメータ1071、1072を含む。パラメータ1071は、ドラム(洗濯槽503)の回転数(回転速度)、つまり、洗濯モータ504の回転速度を示す値を含む。パラメータ1071は、アクチュエータ22及び/又は加熱器23の駆動の強度を示すとも言い換えることができる。パラメータ1072は、脱水動作の動作時間を示す値を含む。制御装置550は、脱水動作において、パラメータ1071に示される回転数で洗濯モータ504を回転させ、脱水動作の開始からパラメータ1072で示される動作時間が経過すると洗濯モータ504を停止する。
図6Iは、実施の形態1におけるアプリケーションを規定するブロックの第9の例を示す。図6Iに示すブロック1080は、水槽502からの排水動作を制御するブロックであり、パラメータ1081、1082を含む。パラメータ1081は、排水弁523の開状態又は閉状態を示す値を含む。パラメータ1082は、排水を停止するトリガとなる水位を示す値を含む。制御装置550は、排水動作において、排水弁523を開状態に動作させることで水槽502内の洗濯水を洗濯機500外への排水動作を開始する。制御装置550は、その後水位センサにより水槽502の水位がパラメータ1082で示される水位であることが検知されると排水弁523を閉状態に動作させて、排水動作を終了する。
図6Jは、実施の形態1におけるアプリケーションを規定するブロックの第10の例を示す。図6Jに示すブロック1090は、ドアロック動作を制御するブロックであり、パラメータ1091を含む。パラメータ1091は、ドアロック機構506をロック状態にするかロック解除状態にするかを示す値を含む。パラメータ1091は、アクチュエータ22及び/又は加熱器23の駆動後の状態を示すとも言い換えることができる。制御装置550は、パラメータ1091がドアロック機構506をロック状態にすることが示されている場合で、ドアロック機構506がロック解除状態である場合、ドアロック機構506をロック状態に切り替える。制御装置550は、パラメータ1091がドアロック機構506をロック解除状態にすることが示されている場合で、ドアロック機構506がロック状態である場合、ドアロック機構506をロック解除状態に切り替える。
図6Kは、実施の形態1におけるアプリケーションを規定するブロックの第11の例を示す。図6Kに示すブロック1100は、浸漬動作を制御するブロックであり、パラメータ1101、1102を含む。パラメータ1101は、循環ポンプ524の回転方向(正転又は反転)を示す値を含む。パラメータ1102は、浸漬動作の動作時間を示す値を含む。制御装置550は、パラメータ1101で示される回転方向に循環ポンプ524を動作させ、浸漬動作の開始からパラメータ1102で示される動作時間が経過すると循環ポンプ524を停止する。
図6Lは、実施の形態1におけるアプリケーションを規定するブロックの第12の例を示す。図6Lに示すブロック1110は、除菌・抗菌動作を制御するブロックであり、パラメータ1111、1112を含む。パラメータ1111は、除菌装置536及び循環ファン534を駆動させる動作時間を示す値を含む。パラメータ1112は、循環ファン534の回転数(回転速度)を示す値を含む。制御装置550は、除菌・抗菌動作において、除菌装置536及び循環ファン534を駆動させ、パラメータ1111で示される動作時間が経過すると除菌装置536及び循環ファン534を停止する。除菌・抗菌動作において、制御装置550は、循環ファン534をパラメータ1112で示される回転数(回転速度)で駆動する。
図6Mは、実施の形態1におけるアプリケーションを規定するブロックの第13の例を示す。図6Mに示すブロック1120は、ブザー動作を制御するブロックであり、パラメータ1121を含む。パラメータ1121は、操作パネル560のスピーカを駆動させる動作時間を示す値を含む。制御装置550は、ブザー動作において、ブザー音を出力し、ブザー音の出力を開始してからパラメータ1121で示される動作時間が経過するとブザー音の出力を停止する。
図6Nは、実施の形態1におけるアプリケーションを規定するブロックの第14の例を示す。図6Nに示すブロック1130は、送風動作を制御するブロックであり、パラメータ1131、1132を含む。パラメータ1131は、循環ファン534を駆動させる動作時間を示す値を含む。パラメータ1132は、循環ファン534により水槽502内に送風される空気の温度を示す値を含む。制御装置550は、送風動作において、循環ファン534を駆動させ、循環ファン534の駆動を開始してからパラメータ1131で示される動作時間が経過すると循環ファン534を停止する。または、制御装置550は、送風動作において、循環ファン534を駆動させ、循環ファン534の駆動を開始してからパラメータ1132で示される温度以下に低下したことが温風センサ535で検知されると循環ファン534を停止する。
図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]などの組み合わせにより構成されていてもよい。
アプリケーションを規定するためには、図6A~図6Nで示したようなブロックが複数用いられる。なお、図6A~図6Oに示す複数のブロックは例示であり、洗濯機500のためのブロックは、これらに限定されない。例えば、複数のブロックは、抽象化レベルによって階層化されてもよい。
例えば、製造者向けの階層と製造者以外向けの階層とで抽象化レベルを変更してもよい。製造者以外の例は、他の製造者向けの階層、サードパーティ向けの階層である。
この時、製造者向けの階層は、製造者以外向けの階層より抽象度が低い。抽象度が低いことは、アクチュエータ及び加熱器を駆動するパラメータに近い内容が制御されることを意味する。
一方、製作者は、ノウハウ及び安全性を担保する最小の抽象化レベルを有するブロックを製造者以外向けに提供することで、製造者以外がアプリケーションを開発可能にする。製造者は、一般ユーザに、さらに高い抽象化レベルを有するブロックを提供することで、より多くの人がアプリケーションを開発可能にできる。さらに高い抽象化レベルは、例えば、一般ユーザ自身が専門的な知識がなくても理解できる用語で規定されたブロックに対応する。専門的な知識がなくても理解できる用語は、例えば、家庭用電化製品等の機能自体に対応する内容である。具体的には、洗濯機においての「洗い」ブロック中の水量に関するパラメータとして「たっぷり」を選択した場合に、一つの具体化されたレイヤーにおいては、給水ブロックにおける水位パラメータを60mmから100mmに上げ、撹拌ブロックにおける回転量パラメータを120rpmから100rpmに下げるなどの変更が行われる。上記より、抽象度の高いレベルにおけるブロックの並べ替え及びパラメータ変更は、より抽象度の低いブロックで実現することができる。これらのブロックにより、アクチュエータ及び加熱器の駆動に関する安全性、秘匿性を担保しながら、その組替、パラメータ調整によって自由にアプリケーション開発を行うことができる。
[1.3 処理]
次に、以上のように構成されたシステム1の処理について図7を参照しながら説明する。図7は、実施の形態1におけるシステム1のシーケンス図である。
[1.3.1 準備フェーズF100]
まず、準備フェーズF100について説明する。
(ステップS110)
シーケンスマネージャ100は、デバイスマネージャ200にシーケンスマネージャ情報を送信する。このシーケンスマネージャ情報の送信は、例えばシステム管理者の命令により行われる。デバイスマネージャ200は、受信したシーケンスマネージャ情報を例えばシーケンスマネージャデータベースに登録する。なお、シーケンスマネージャ情報がシーケンスマネージャデータベースに予め登録されている場合は、このステップはスキップされてもよい。
シーケンスマネージャ情報は、例えばシーケンスマネージャ100の識別子及び/又はアドレス(例えばURL(Uniform Resource Locator)、IP(Internet Protocol)アドレス等)を含む。さらに、シーケンスマネージャ情報は、任意の情報を含んでもよい。
(ステップS112)
デバイス300は、デバイスマネージャ200にデバイス情報1201を送信する。このデバイス情報1201の送信は、例えばデバイス300がコンピュータネットワークに接続されたときに行われる。デバイスマネージャ200は、受信したデバイス情報1201をデバイスデータベース1200に登録する。なお、デバイス情報1201がデバイスデータベース1200に予め登録されている場合は、このステップはスキップされてもよい。
なお、デバイス情報1201は、UI400に送信されてから、UI400を介してデバイスマネージャ200に登録されてもよい。
デバイス情報1201は、デバイス300の識別子及び/又はアドレスを含む。さらに、デバイス情報1201は、任意の情報を含んでもよい。図8は、実施の形態1におけるデバイスデータベースの一例を示す。図8のデバイスデータベース1200には、デバイス情報1201を含む複数のデバイス情報が登録されている。各デバイス情報は、デバイスIDと、アドレスと、種別と、製造者名と、アクチュエータ/加熱器と、劣化レベルと、を含む。アクチュエータ/加熱器は、デバイス300を構成するアクチュエータ22及び/又は加熱器23の識別情報である。劣化レベルは、デバイス300を構成するアクチュエータ22及び/又は加熱器23が劣化しているか否かを示す劣化情報の一例である。ここでは、劣化レベルは、値が増加すればより劣化していることを示す。デバイス情報1201に、実行可能なブロックの情報が含まれていてもよい。実行可能なブロックに関する情報とは、データベースに含まれるブロックが実行可能又は実行不可能が対応付けられた情報でもよいし、実行可能なブロックのみの情報でもよい。また、ブロックが実行可能か否かは、デバイス情報1201に含まれるアクチュエータ/加熱器などの情報に基づいて予め準備され得る。
なお、デバイス情報1201は、施設2a~2dを特定可能な情報を含んでもよい。
(ステップS114)
UI400は、デバイスマネージャ200にUI情報を送信する。このUI情報の送信は、例えばユーザの指示により行われる。デバイスマネージャ200は、受信したUI情報を例えばUIデータベースに登録する。なお、UI情報がUIデータベースに予め登録されている場合は、このステップはスキップされてもよい。
UI情報は、例えばUI400の識別子及び/又はアドレスを含む。さらに、UI情報は、任意の情報を含んでもよい。
なお、UI情報は、施設2a~2dを特定可能な情報を含んでもよい。
以上の処理により、シーケンスマネージャ100、デバイスマネージャ200、デバイス300及びUI400は、互いに紐づけられ、互いに接続を確立することができる。このより、準備フェーズF100が終了する。
[1.3.2 アプリ実行前フェーズF200]
次に、アプリ実行前フェーズF200について説明する。なお、アプリ実行前フェーズF200の前には、UI400を介したユーザからの指示に従って、アプリケーション配信プラットフォームからシーケンスマネージャ100にアプリケーションがダウンロードされている。このようにシーケンスマネージャ100にアプリケーションがダウンロードされた状態で以下の処理が行われる。
(ステップS210)
UI400は、ユーザからアプリ実行要求を受け付け、アプリケーションの識別情報を含むアプリ実行要求をシーケンスマネージャ100に送信する。例えば、ユーザは、UI400を介して、シーケンスマネージャ100にダウンロードされている複数のアプリケーションの中からアプリケーションを選択し、選択したアプリケーションの実行を指示する。
なお、UI400からシーケンスマネージャ100に送信されるアプリ実行要求は、施設2a~2dを特定可能な情報とセットで送信される。
なお、アプリ実行要求は、ユーザから明示的に受け付けられなくてもよい。例えば、ユーザの行動又は状態を検出し、検出結果に基づいて自動的にアプリ実行要求がシーケンスマネージャ100に送信されてもよい。
(ステップS212)
シーケンスマネージャ100は、アプリ実行要求によって識別されたアプリケーションの実行内容宣言をデバイスマネージャ200に送信する。実行内容宣言は、実行するアプリケーションを規定する複数のブロックの情報及び施設2a~2dを特定可能な情報を含む。
図9は、実施の形態1における実行内容宣言の一例を示す図である。図9には、図6A~図6Oに示す洗濯機のための複数のブロックを組み合わせて規定されたアプリケーションのための実行内容宣言1300が表されている。実行内容宣言1300は、複数のブロック1301、及び、各ブロック1301の実行に必要なデバイスに関する情報1302、及び、各ブロック1301を実行する順番に関する順番情報1303を含む。実行内容宣言1300は、洗濯情報の一例である。洗濯情報は、洗濯機能部による複数種類の運転を制御するパラメータに関する複数の制御情報のうちから、1つの制御情報で構成されていてもよいし、複数の制御情報が組み合わせられた情報であってもよい。ここでいう、複数の制御情報とは、例えば、図6A~図6Oで例示したブロック1000、1010、1020、1030、1040、1050、1060、1070、1080、1090、1100、1110、1120、1130、1140により示される情報である。
なお、実行内容宣言1300は、デバイスに関する情報1302を含まなくてもよい。その場合、複数のブロック1301の情報から、受け取った施設情報が示す施設で該当ブロックを実行可能なデバイスを、デバイスマネージャ200が検索してデバイス割付けを行う必要がある。
なお、図9では、デバイスに関する情報1302は、デバイス300の型番を示しているが、これに限定されない。デバイスに関する情報1302は、ブロックに割付可能なデバイス300の条件を示すことができれば、どのような情報であってもよい。例えば、デバイスに関する情報1302は、複数の型番を含んでもよいし、デバイスの種別、使用目的、配置場所、又は、これらの任意の組み合わせのみを含んでもよい。
(ステップS214)
デバイスマネージャ200は、実行内容宣言1300に含まれる各ブロックに対して、施設2a~2dを特定可能な情報を基にして、デバイスマネージャ200に紐付けられているデバイス300を割り付ける。例えば、デバイスマネージャ200は、図9に示す複数のブロック1301の各々に、図8のデバイスデータベース1200に、受け取った施設情報が示す施設に接続済として登録されている、型番WM-0001を有するデバイスDEV001を割り付ける。なお、デバイス300の稼働状態又はクラウドへの接続状態が管理されている場合には、稼働中のデバイス300の割り付けが禁止されてもよい。
なお、例えば図9に示す複数のブロックが、受け取った施設情報が示す施設に接続済として登録されていない場合、すなわち、該当施設において対象デバイスが存在していない場合、デバイスマネージャ200は実行内容宣言されたアプリケーションの実行が不可であることをシーケンスマネージャ200に通知する。
(ステップS215)
デバイスマネージャ200は、デバイス割り付けの結果をデバイス300に通知する。これにより、アプリケーションに含まれる複数のブロックが、それぞれ割り付けられたデバイス300に送信される。
(ステップS216)
デバイス300は、ブロックの実行前にブロックを確認する。つまり、デバイス300は、ブロックを実行する前に、ブロックが実行されたときにデバイス300で問題が生じないかをチェックする。例えばデバイス300は、安全及び/又は効率上の問題をチェックする。
そして、デバイス300は、確認結果に基づいて、ブロックを変更する。これにより、問題が生じないようにブロックが修正される。
このような実行前確認処理について、図10を参照しながら、さらに詳細に説明する。図10は、実施の形態1における実行前確認処理のフローチャートを示す。
(ステップS2165)
デバイス300は、ブロックに対応するルールを取得する。ルールは、洗濯の順番に関するルールである。ルールでは、第1ブロック(第1の制御情報)の次に第2ブロック(第2の制御情報)が実行される実行内容宣言1300が許容されるか否かが規定されている。つまり、ルールでは、実行内容宣言1300で規定されている複数のブロック1301の内の連続して実行される2つのブロックの順番が許容されるか否かが規定されている。例えば、デバイス300は、ルールデータベースを参照して、連続して実行される2つのブロックの順番が許容されない条件を取得する。ルールデータベースは、例えばデバイス300に含まれてもよいし、シーケンスマネージャ100又はデバイスマネージャ200に含まれてもよい。
以下、ルールデータベース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の各々は、洗濯の順番に関するルールである。
第1のルール1401では、例えば、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1010、1020、1050、1060である。禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含む。禁水環境は、具体的には、水槽502の水位が所定の水位(例えば、水位センサが検知可能な最低水位)よりも低い水位であることである。つまり、水槽502に水が貯められているときとは、水槽502の水位が所定の水位以上の水位であることである。第2ブロックは、例えば、ブロック1000、1070、1110などである。ブロック1000の洗濯量検知動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、精度よく洗濯物の量を検知することが難しいからである。また、ブロック1070の脱水動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、効果的に脱水することが難しいからである。また、ブロック1110の除菌・抗菌動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、帯電微粒子水などの効能物質が含まれる空気を洗濯槽503へ放出しても効能物質の性能が十分に得られないからである。
第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内の洗濯物を取り出そうとしたときにユーザが高温の洗濯物に触れることを防止するためである。
第3のルール1403では、例えば、第1ブロックが水が貯められている洗濯機500の洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1050、1060、1070などである。禁動環境で実行される運転は、水槽502(または洗濯槽503)内の水面を動かすことが許容されない運転を含む。禁動環境は、具体的には、水槽502(または洗濯槽503)が所定の振幅(または所定の変位)未満で振動または静止していることである。第2ブロックは、例えば、ブロック1010、1020などである。ブロック1010が禁動環境で実行される運転であるのは、水面が動いている状態では正確に水位を検知することが難しいからである。
なお、図示していないが、例えば、撹拌動作を実行しながら給水動作を実行するブロックにおいて撹拌動作を開始して所定時間後に給水動作を開始する場合、撹拌動作のサブブロックを第1ブロックとみなし、給水動作のサブブロックを第2ブロックとみなしてもよい。
第4のルール1404では、例えば、第1ブロックが洗濯機500の水槽502(または洗濯槽503)内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1130、1140などである。禁動環境で実行される運転は、水槽502(または洗濯槽503)内の水面を動かすことが許容されない運転を含む。禁動環境は、具体的には、水槽502(または洗濯槽503)内の水位が所定の振幅(または所定の変位)未満で振動または静止していることである。第2ブロックは、例えば、ブロック1010、1020などである。ブロック1010が禁動環境で実行される運転であるのは、水面が動いている状態では正確に水位を検知することが難しいからである。
第5のルール1405では、例えば、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されない。ここで、第1の回転と第2の回転との回転が異なるとは、それぞれの回転速度が互いに異なることであってもよい。つまり、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。。また、第1の回転と第2の回転との回転が異なるとは、それぞれの回転の向きが互いに異なることであってもよい。つまり、第1の回転の向きは、第2の回転の向きと異なっていてもよい。
この場合の第1ブロックは、例えば、ブロック1050、1060、1070などである。第2ブロックは、例えば、第1ブロックとは回転が異なるブロック1050、1060、1070などである。
なお、図11では、第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、第1ブロックの次に第2ブロックが実行されることが許容されないことが規定されているとしたが、第1ブロックの次に第2ブロックが実行されることが許容されることが規定されていてもよい。この場合であっても、ルールとして規定されていない組み合わせの第1ブロックおよび第2ブロックの組み合わせの実行が許容されないこととして定義することができる。
例えば、アクチュエータ22又は加熱器23は、筐体21の内部空間などのデバイス300の環境に応じて安全に駆動できるパラメータが変わり、許容されるブロックの順番はアクチュエータ22又は加熱器23自体の性能のみに依存しない場合がある。したがって、いずれの環境でも安全に駆動するために、安全性を考慮する比重が高い順番になり、多種多様なアプリケーションの開発の余地が低減することになる。そこで、ルールは、アプリケーションと独立して、デバイス300等の情報と対応付けられてもよい。そのようなルールが用いられることで、安全性及び多種多様なアプリケーションの開発を両立できる。
ルールは、アクチュエータ22又は加熱器23が安全に駆動できる順番で組み合わせられた複数のブロックに関連する。安全に駆動できる順番で組み合わせられた複数のブロックは、ブロックの開始条件又は終了条件を考慮された順番であってもよい。第2ブロックの開始条件に達するまで、第1ブロックを実行することで、アクチュエータ22又は加熱器23の安全性に影響がある負荷かかる場合を想定したブロックが実行される順番が設定され得る。つまり、ブロックが実行される順番は、アクチュエータ22又は加熱器23の性能、ブロックの開始条件又は終了条件などに依存する。
第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、さらに、種別と、製造者名と、アクチュエータ/加熱器と、を有していてもよい。これにより、デバイス300は、ルールデータベース1400から、ブロックで駆動されるアクチュエータ22又は加熱器23に対応するルールを取得することができる。
(ステップS2166)
デバイス300は、第1ブロックの次に第2ブロックを実行することが許容されるか否かを判定する。ここで、第1ブロックの次に第2ブロックを実行することが許容されないと判定された場合(S2166のNo)、デバイス300は、以降のステップS2167をスキップして実行前確認処理を終了する。一方、第1ブロックの次に第2ブロックを実行することが許容されると判定された場合(S2166のYes)、デバイス300は、次のステップS2167に進む。
(ステップS2167)
デバイス300は、ルールデータベース1400のルールに基づいて実行内容宣言1300を修正し、実行前確認処理を終了する。実行内容宣言1300の修正とは、例えば、実行内容宣言1300に、第1ブロックの次に実行される順番の制御情報として第3ブロック(第3の制御情報)を追加することである。実行内容宣言1300の修正とは、例えば、実行内容宣言1300に、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正することである。実行内容宣言1300の修正とは、例えば、第2ブロックの実行を制限することである。または、実行内容宣言1300の修正とは、上記のブロックの追加、パラメータの修正、及び、第2ブロックの実行の制限の任意の組み合わせであってもよい。
このような実行内容宣言1300の修正の具体例について図12~図20を参照しながら説明する。
図12は、実施の形態1における実行内容宣言の修正の第1の例を示す。図12では、実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である脱水動作のブロック1070が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1010の次に実行される順番の制御情報として水槽502からの排水に関するパラメータを含む排水動作のブロック1080を追加する。つまり、給水動作の次に脱水動作が実行されることが設定されていたとしても、制御装置550は、給水動作と脱水動作との間に排水動作を追加する。このため、脱水動作が開始される前に水槽502を禁水環境とすることができ、効果的に脱水することができる。
なお、図12において、脱水動作のブロック1070の代わりに除菌・抗菌動作のブロック1110が設定されていたとしても同様に、ブロック1070とブロック1110との間に排水動作のブロック1080を追加してもよい。これにより、除菌・抗菌動作が開始される前に水槽502を禁水環境とすることができ、効果的に洗濯物を除菌することができる。
また、図12において、給水動作のブロック1010の代わりに、注水動作のブロック1020や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されている場合も上記と同様に、その直後に排水動作のブロック1080を追加することで上記と同様の効果が得られる。
図13は、実施の形態1における実行内容宣言の修正の第2の例を示す。図13では、図12と同様に実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である脱水動作のブロック1070が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1070の直前に水槽502からの排水に関するパラメータ1073を追加するように、ブロック1070を修正することでブロック1070Aを新たに生成してもよい。パラメータ1073は、排水弁523を開に制御することを示すパラメータである。このため、脱水動作が開始される前に水槽502を禁水環境とすることができ、効果的に脱水することができる。
なお、図13において、脱水動作のブロック1070の代わりに除菌・抗菌動作のブロック1110が設定されていたとしても同様に、パラメータ1073をブロック1110の直前に追加するようにブロック1110を修正してもよい。これにより、除菌・抗菌動作が開始される前に水槽502を禁水環境とすることができ、効果的に洗濯物を除菌することができる。
また、図13において、給水動作のブロック1010の代わりに、注水動作のブロック1020や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されている場合も上記と同様に、その直後のブロックに当該ブロックの動作が行われる直前に排水が行われるようにパラメータ1073を追加することで上記と同様の効果が得られる。
図14は、実施の形態1における実行内容宣言の修正の第3の例を示す。図14では、実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である洗濯量検知動作のブロック1000が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1010の次に実行される順番のブロック1000の実行を制限する。具体的には、制御装置550は、ブロック1000を削除する、または、ブロック1000の実行をスキップする。また、制御装置550は、逐次ブロックを読み込んで実行している場合、ブロック1010の実行が終了した後に、運転を停止することでブロック1000の実行を制限してもよい。このため、精度よく洗濯物の量を検知することが難しい環境下において、洗濯量検知動作が行われることを抑制することができる。よって、洗濯量検知動作に係る消費電力を低減することができる。
図15は、実施の形態1における実行内容宣言の修正の第4の例を示す。図15では、実行内容宣言において、乾燥動作のブロック1140の次に禁熱環境で実行される運転であるドアロック解除動作のブロック1090が実行されることが示されている。これは、第2のルール1402で許容されないため、制御装置550は、ブロック1140の次に実行される順番の制御情報として洗濯槽503内の放熱に関するパラメータを含む送風動作のブロック1130を追加する。つまり、乾燥動作の次にドアロック解除動作が実行されることが設定されていたとしても、制御装置550は、乾燥動作とドアロック解除動作との間に送風動作を追加する。このため、ドアロック解除動作が開始される前に洗濯槽503内の温度を所定の温度未満に低下させることができ、ユーザが高温の洗濯物に触れることを抑制することができる。なお、送風動作のブロック1130を追加する代わりに、送風動作がドアロック解除動作の直前に行われるように、送風動作を行うパラメータをドアロック解除動作のブロック1090に追加してもよいし、乾燥動作のブロック1140に追加してもよい。
図16は、実施の形態1における実行内容宣言の修正の第5の例を示す。図16では、実行内容宣言において、所定の水温以上の高温水での撹拌動作のブロック1050の次に禁熱環境で実行される運転である排水動作のブロック1080が実行されることが示されている。これは、第2のルール1402で許容されないため、制御装置550は、ブロック1050の次に実行される順番の制御情報として放熱に関するパラメータを含む待機動作のブロック1150を追加する。ブロック1150による待機動作では、制御装置550は、所定期間(例えば10分間)が経過するまで次のブロック1080の実行を待機する。つまり、高温水での撹拌動作の次に排水動作が実行されることが設定されていたとしても、制御装置550は、高温水での撹拌動作と排水動作との間に待機動作を追加する。このため、排水動作が開始される前に水槽502内の洗濯水の温度を所定の水温未満に低下させることができ、高温水が洗濯機500の外部の排水管に流れることを抑制することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が排水動作の直前に行われるように、待機動作を行うパラメータを排水動作のブロック1080に追加してもよいし、撹拌動作のブロック1050に追加してもよい。なお、放熱するための動作の一例として待機動作を挙げたがこれに限らずに、給水動作の後に排水動作を行うことで放熱を行ってもよい。
図17は、実施の形態1における実行内容宣言の修正の第6の例を示す。図17では、実行内容宣言において、撹拌動作のブロック1050の次に禁動環境で実行される運転である給水動作のブロック1010が実行されることが示されている。これは、第3のルール1403で許容されないため、制御装置550は、ブロック1050の次に実行される順番の制御情報として所定期間(例えば1分間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、撹拌動作の次に給水動作が実行されることが設定されていたとしても、制御装置550は、撹拌動作と給水動作との間に待機動作を追加する。このため、給水動作が開始される前に水槽502(または洗濯槽503)が所定の振幅(または所定の変位)未満で振動または静止させることができ、水面の揺れを低減することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が給水動作の直前に行われるように、待機動作を行うパラメータを給水動作のブロック1010に追加してもよいし、撹拌動作のブロック1050に追加してもよい。
なお、図17において、給水動作のブロック1010の代わりに注水動作のブロック1120や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されていたとしても同様に、撹拌動作と給水動作のパラメータを含むブロックとの間に待機動作のブロック1150を追加してもよい。これにより、給水動作が開始される前に水槽502を禁動環境とすることができ、給水動作において効果的に水槽502の水位を検知することができる。
また、図17において、撹拌動作のブロック1050の代わりに、ドラム回転動作のブロック1060のブロックが設定されている場合も上記と同様に、その直後に待機動作のブロック1150を追加することで上記と同様の効果が得られる。
図18は、実施の形態1における実行内容宣言の修正の第7の例を示す。図18では、実行内容宣言において、送風動作のブロック1130の次に禁動環境で実行される運転である給水動作のブロック1010が実行されることが示されている。これは、第4のルール1404で許容されないため、制御装置550は、ブロック1130の次に実行される順番の制御情報として所定期間(例えば1分間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、送風動作の次に給水動作が実行されることが設定されていたとしても、制御装置550は、送風動作と給水動作との間に待機動作を追加する。このため、給水動作が開始される前に水面の揺れを低減することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が給水動作の直前に行われるように、待機動作を行うパラメータを給水動作のブロック1010に追加してもよいし、送風動作のブロック1130に追加してもよい。
なお、図18において、給水動作のブロック1010の代わりに注水動作のブロック1120や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作1060のブロックが設定されていたとしても同様に、送風動作と給水動作のパラメータを含むブロックとの間に待機動作のブロック1150を追加してもよい。これにより、給水動作が開始される前に水槽502を禁動環境とすることができ、給水動作において効果的に水槽502の水位を検知することができる。
図19は、実施の形態1における実行内容宣言の修正の第8の例を示す。図19では、実行内容宣言において、脱水動作のブロック1070の次に脱水動作とは異なる回転を用いた運転である撹拌動作のブロック1050が実行されることが示されている。これは、第5のルール1403で許容されないため、制御装置550は、ブロック1070の次に実行される順番の制御情報として所定期間(例えば30秒間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、脱水動作の次に脱水動作とは異なる回転を用いた撹拌動作が実行されることが設定されていたとしても、制御装置550は、脱水動作と撹拌動作との間に待機動作を追加する。このため、撹拌動作が開始される前に洗濯槽503を停止させることができ、容易に他の回転の撹拌動作に切り替えることができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が撹拌動作の直前に行われるように、待機動作を行うパラメータを撹拌動作のブロック1050に追加してもよいし、脱水動作のブロック1070に追加してもよい。なお、2つのブロックは脱水動作と撹拌動作との組み合わせに適用されることに限らない。撹拌動作、ドラム回転動作および脱水動作のうちの2つの組み合わせに適用されてもよいし、撹拌動作の次に異なる回転の撹拌動作の組み合わせに適用されてもよいし、ドラム回転動作の次に異なる回転のドラム回転動作の組み合わせに適用されてもよいし、脱水動作の次に異なる回転の脱水動作の組み合わせに適用されてもよい。なお、待機動作を追加する代わりに、洗濯槽503の回転を制動する動作を追加することで洗濯槽503の回転を停止させてもよい。
図20は、実施の形態1における実行内容宣言の修正の第9の例を示す。図20では、実行内容宣言において、脱水動作のブロック1070を含むブロック1070Bの次に、脱水動作とは異なる回転を用いた運転である撹拌動作のブロック1050を含むブロック1050Bが実行されることが示されている。ブロック1070Bは、脱水動作のブロック1070の直後に待機するパラメータ1074をさらに含む。また、ブロック1050Bは、撹拌動作のブロック1050の直前に待機するパラメータ1057をさらに含む。このように、ブロック1070Bの次に実行される順番に設定されているブロック1050Bにおいて、パラメータ1074およびパラメータ1057が重複している。この場合、制御装置550は、重複しているパラメータ1074を削除する。なお、制御装置550は、パラメータ1074を削除する代わりにパラメータ1057を削除してもよい。
ここで、図7の説明に戻る。
(ステップS217)
デバイス300は、実行前確認の結果をデバイスマネージャ200に送信する。ブロックが変更されている場合には、変更されたブロックがデバイスマネージャ200に送信されてもよい。
(ステップS218)
デバイスマネージャ200は、デバイス割り付けの結果をシーケンスマネージャ100に回答する。また、実行前確認においてブロックが変更されている場合には、変更されたブロックを含むアプリケーションがシーケンスマネージャ100に送信されてもよい。
(ステップS220)
シーケンスマネージャ100は、デバイスマネージャ200からの割付結果通知を受けて、UI400を介してユーザに実行準備完了を通知する。
(ステップS222)
UI400は、アプリケーションが実行されるデバイスの一覧を表示するとともに、ユーザからアプリケーション実行の確認の入力を受け付けるためのグラフィカルユーザインタフェース(GUI)を表示する。なお、UI400は、ユーザからデバイスの割り付けの変更を受け付けてもよい。また、UI400は、デバイスの一覧を表示しなくてもよい。
(ステップS224)
UI400は、ユーザから実行確認の入力を受けて、デバイスマネージャ200にアプリ開始指示を送信する。デバイスマネージャ200は、アプリ開始指示をシーケンスマネージャ100に転送する。
なお、ステップS220、S222、及びS224は、アプリケーションが実行される前にユーザに改めて情報を提供しているが、ユーザの作業が増える可能性があるため、省略されてもよい。
以上により、アプリ実行前フェーズF200が終了する。
[1.3.3 アプリ実行フェーズF300]
次に、アプリ実行フェーズF300について説明する。
(ステップS310)
シーケンスマネージャ100は、アプリ開始指示を受けて、アプリケーションに含まれる複数のブロックの中から最初のブロック(第1ブロック)を選択する。そして、シーケンスマネージャ100は、選択した第1ブロックの実行指示をデバイスマネージャ200に送信する。
なお、複数のブロックが連続して動作される場合、シーケンスマネージャ100は、複数のブロックの実行指示をまとめてデバイスマネージャ200に送信してもよい。
デバイスマネージャ200は、シーケンスマネージャ100から受信した第1ブロックの実行指示に基づいて、第1ブロックに割り付けられたデバイス300に第1ブロックの実行指示を送信する。
(ステップS312)
デバイスマネージャ200は、第1ブロックの実行指示を受けて、各デバイスのスケジュール(使用予定時間)を更新する。
(ステップS314)
デバイス300は、第1ブロックの実行指示を受けて、第1ブロックを実行する。
(ステップS316)
デバイス300は、第1ブロックの実行が完了したときに、完了通知をデバイスマネージャ200に送信する。なお、第1ブロックの実行中にエラーが発生した場合には、デバイス300は、エラー情報をデバイスマネージャ200に送信してもよい。また、デバイス300は、第1ブロックの実行中に、イベント情報をデバイスマネージャ200に送信してもよい。イベント情報としては、例えば、センサの出力値又は機器操作等を用いることができるが、これに限定されない。デバイスマネージャ200は、デバイス300から受信した完了通知及び/又は各種情報をシーケンスマネージャ100に転送する。
(ステップS318)
シーケンスマネージャ100は、第1ブロックの完了通知を受けて、アプリケーションの進捗を更新し、次のブロック(第2ブロック)を選択する。また、シーケンスマネージャ100は、エラー情報を受信した場合に、エラー情報に対応する処理(例えば、1つ前のブロックに戻る、最初のブロックに戻る、待機等)を実行する。エラー情報に対応する処理の情報は、例えば、シーケンスマネージャ100に予め保持されてもよいし、UI400を介してユーザから受け付けられてもよい。また、シーケンスマネージャ100は、イベント情報を受信した場合に、イベント情報に対応する処理を実行する。例えば、イベント情報に水位センサの出力値が含まれる場合、シーケンスマネージャ100は、実行中のブロックに含まれる水位を表示するための水位パラメータを更新する。
(ステップS320)
シーケンスマネージャ100は、選択した第2ブロックの実行指示をデバイスマネージャ200に送信する。
なお、第2ブロックの実行指示は、第1ブロックの実行指示(S310)と同一のデバイスに対する指示でもよいし、異なるデバイスへの指示でもよい。
なお、第2ブロックの実行指示は、第1ブロックの実行指示と同様に、複数のブロックの実行指示をまとめてデバイスマネージャ200に送信してもよい。
以降の処理は第1ブロックのための処理(S312~S318)と同様であるので、図示及び説明を省略する。アプリケーションに含まれるブロックが順に実行され、最後のブロックの実行が完了すれば、アプリ実行フェーズF300が終了する。
なお、ここでは、ブロックの実行は1つずつ順に指示されているが、これに限定されない。例えば、同一のデバイスが割り付けられた複数のブロックの実行は、まとめて指示されてもよい。その場合、あらかじめ各ブロックが機能実行のパラメータ範囲を満たすかの確認を行ったり、変更に対応するブロックを実行前にデバイス側にダウンロードしたりしてもよい。また、例えば、複数のデバイスに対して各々のブロック実行指示を行ってもよい。
[1.4 効果など]
以上のように、本実施の形態では、ブロックを含むアプリケーションとルールデータベースとにより、多様多種なアプリケーションを開発可能な環境を提供し、その環境下で自由に開発したアプリケーションに対して、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の安全な駆動することを可能にしている。言い換えると、アプリケーションを自由に開発可能な環境を提供するとともに、アプリケーションと独立して安全性を担保するための機能を提供できる。その結果、例えば、自由度の高い多様多種なアプリケーションの開発と、安全性を担保するためのルールデータベースの開発とを並行して作成することが可能になり、多様多種なアプリケーションを早期に開発することが可能にすることができる。
また、アプリケーションの提供後においても、ルールデータベースを変更することで、より安全性を担保したアプリケーションへの変更も可能になる。また、事前に製造者が想定しない状況の改善が必要になった場合においても、多様多種なアプリケーション自体を変更せずとも、アプリケーションとは独立して、ルールデータベースを規定していることで、ルールデータベースを更新することで、全てのアプリケーションへの対応が可能になる。
アプリケーション自体を変更せずに、アプリケーションが実行されたときの状態を検知することでエラー処理のルールベースを保持する対処方法も考えられる。しかし、この対処方法は、常にエラーの状態になった後に対処することになり、家電に負荷がかかる状況、又は安全性が担保できない状況になることを許容することを意味する。そこで、アプリケーションとは独立にルールデータベースを保有し、ルールデータを参照してアプリケーションの内容を変更することで、安全性を担保することを可能にしている。
本実施の形態における洗濯機500は、クラウドサーバ10(外部機器)と通信可能な洗濯機500である。洗濯機500は、クラウドサーバ10から実行内容宣言(洗濯情報)を受信する通信部570と、洗濯情報に基づいて、洗濯物に対して、洗濯に関する運転を行う洗濯機能部と、洗濯機能部を制御する制御装置550とを備える。実行内容宣言は、それぞれが洗濯機能部の運転を制御するパラメータに関する制御情報である複数のブロック、及び、複数のブロックを実行する順番に関する順番情報を含む。制御装置550は、洗濯の順番に関するルールに基づいて実行内容宣言を修正し、修正後の実行内容宣言に含まれる制御情報を実行することで実行内容宣言に基づく運転を洗濯機能部に実行させる。
これによれば、複数のブロックで規定されたアプリケーションに基づいて洗濯機能部を駆動させることができる。従って、洗濯機500の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、多種多彩なアプリケーションを製造者だけではなく、サードパーティも開発することができ、これらのアプリケーションを洗濯機500で簡単に実行することが可能となる。さらに、アプリケーションに基づいて洗濯機能部が駆動される前に、許容されない実行内容宣言を修正することができる。したがって、洗濯機能部が許容されない順番の動作を実行することを抑制することができる。つまり、もしアプリケーション開発者が誤って洗濯機能部が許容されない順番の動作を実行するよう指示を行った場合でも、洗濯機500を安全に制御することができないアプリケーションが実行されることを抑制することができる。また、洗濯機500が非効率的に動作することを抑制することができる。したがって、アプリケーション開発者は、洗濯機能部の安全性の担保よりもユーザに適することを重視したアプリケーションを作成した場合でも、アプリケーションで制御される洗濯機500の安全性を向上させることができる。また、洗濯機500の動作効率を向上させることができ、消費電力を低減することができる。
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、実行内容宣言に、第1ブロックの次に実行される順番の制御情報として第3ブロックを追加してもよい。
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロックの間の順番に第3ブロックを追加することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正してもよい。
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロック内のいずれかに含まれるパラメータに関する情報を修正することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第2ブロックの実行を制限してもよい。
これによれば、連続して実行される2つのブロックが許容されない場合、第2ブロックの実行を制限することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
また例えば、第1のルールでは、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含んでもよい。このため、水槽502に水がある状態で実行されても十分な効果が得られない第2ブロックに基づく運転が実行されることを防止することができる。これにより、無駄な運転を抑制でき、消費電力を低減することができる。
また例えば、第2のルールでは、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁熱環境で実行される運転は、水槽502内の温度が所定の温度以上のときに実行されることが許容されない運転を含んでもよい。このため、水槽502内の温度が所定の温度以上であるときに実行されることを抑制できるため、水槽502内の高温環境が洗濯機500の外部に悪影響を与えることを低減することができ、安全性を担保することができる。
また例えば、第3のルールでは、第1ブロックが水が貯められている洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁動環境で実行される運転は、洗濯槽503内の水面を動かすことが許容されない運転を含んでもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
また例えば、第4のルールでは、第1ブロックが洗濯機500の洗濯槽503内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
また例えば、第5のルールでは、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されなくてもよい。例えば、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。また例えば、第1の回転の向きは、第2の回転の向きと異なっていてもよい。このため、異なる回転の運転が連続して実行されることを抑制でき、効果的に洗濯槽503の回転を切り替えることができる。
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、実行内容宣言に、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502からの排水に関するパラメータを含む第3ブロックを追加する。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、禁水環境で実行される運転を制御するパラメータの直前に水槽502からの排水に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、実行内容宣言に、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502の放熱に関するパラメータを含む第3ブロックを追加してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、禁熱環境で実行される運転を制御するパラメータの直前に水槽502の放熱に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、制御装置550は、ルールに基づき、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックが重複する場合、(i)第1ブロックもしくは第2ブロックを削除する、又は、(ii)第1ブロックに含まれるパラメータに関する情報もしくは第2ブロックに含まれるパラメータに関する情報を削除してもよい。このため、重複している動作のブロックまたはパラメータを削除するため、無駄な動作を実行することを低減することができる。よって、消費電力を低減することができる。
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、第1パラメータ範囲に含まれるパラメータを、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容される範囲に含まれるパラメータに変更することで、アプリケーションを変更してもよい。
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを許容される範囲に含まれるパラメータに変更することができるので、例えば、アプリケーションの開発者は、アクチュエータ22及び加熱器23が安全に駆動することを考慮する優先度を下げて自由にアプリケーションを開発ができ、さらにアクチュエータ22及び加熱器23を制御する装置20に組み込まれるソフトウェアの開発者は、アプリケーション一つ一つの安全性を毎回チェックすることなくブロックを実行でき、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、第1パラメータ範囲に含まれるパラメータを、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容される範囲に含まれるパラメータに変更し、かつ、複数のブロックに新たなブロックを追加することで、アプリケーションを変更してもよい。
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを許容される範囲に含まれるパラメータに変更することができるので、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。さらに、新たなブロックを追加することもできるので、パラメータの変更によって低下した機能を新たなブロックで補完することも可能となる。
また例えば、本実施の形態における装置20において、制御部24は、第1パラメータ範囲に含まれるパラメータを有するブロックを削除することで、アプリケーションを変更してもよい。
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを削除することができるので、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。例えば、アクチュエータ22及び加熱器23が、アプリケーション開発者が指定したパラメータをそもそも実行することができない場合に、削除を行うことで、デバイスが混乱することなく制御を行うことができる。一方で、削除された旨をユーザに通知を行ってもよい。
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、複数のブロックに含まれる複数のパラメータの各々が、第1パラメータ範囲に含まれるか否かを判定し、パラメータが第1パラメータ範囲に含まれると判定された場合、当該パラメータを有するブロックを変更してもよい。
これによれば、より確実に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。
また例えば、本実施の形態における装置20において、アプリケーションは、複数のブロックのそれぞれが実行される順番情報と、複数のブロックのそれぞれが実行されるタイミングの情報とを含んでもよい。各ブロックのタイミングの情報は、例えば、当該ブロックの開始タイミングと、他のブロック(例えば1番目のブロック)の開始又は終了のタイミングとの間の時間を示す。
これによれば、アプリケーションは、順番及びタイミングの情報を含むことができ、各ブロックの持つパラメータ範囲を確認しながら、シーケンシャルに判断して実行することができる。
また例えば、本実施の形態における装置20において、第1パラメータ範囲は、アクチュエータ22及び加熱器23の少なくとも1つを耐久温度に到達させるパラメータの範囲であってもよい。
これによれば、アプリケーションが実行されたときにアクチュエータ22及び/又は加熱器23が耐久温度に到達することを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。
また例えば、本実施の形態における装置20は、内部空間を有する筐体21を備えてもよく、第1パラメータ範囲は、内部空間を耐久温度に到達させるパラメータの範囲であってもよい。
これによれば、アプリケーションが実行されたときに筐体21の内部空間が耐久温度に到達することを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。
(実施の形態1の変形例)
なお、上記実施の形態1では、システム1の処理について図7を参照しながら説明したが、処理の流れについてはこれに限定されない。特に、詳細に説明している実行前確認(S216)について、実行前確認が行われるタイミング及び主体となるモジュールはこれに限定されない。そこで、システム1のシーケンス図のいくつかの変形例について、図21A~図21Eを参照しながら具体的に説明する。
図21Aは、実施の形態1の変形例1におけるシステム1のシーケンス図である。図21Aでは、実行前確認(S216)は、デバイス300が実行指示を受けて(S310)ブロックを実行する(S314)直前に、デバイス300によって行われる。
これにより、デバイス300に組み込まれるソフトウェアは、ブロックの実行直前に実行前確認を行うというシンプルな構成とすることができる。すなわち、ステップS215及びS217を省略することができる。その結果、それらの処理を行うための機能及び通信APIをデバイス300に組み込む必要がなくなり、デバイス300に搭載されるマイコンの使用メモリ等を低減することが可能となる。
なお、実行前確認の結果がデバイスマネージャ200及び/又はUI400に通知されてもよい。例えば、実行前確認を行った結果としてパラメータの変更又はブロックの実行停止指示が行われた場合に、デバイスマネージャ200又はUI400に確認結果が通知されてもよい。
図21Bは、実施の形態1の変形例2におけるシステム1のシーケンス図である。図21Bでは、実行前確認(S216)は、デバイスマネージャ200が割付結果通知(S218)を行う際に、そのままデバイスマネージャ200によって行われる。
これにより、デバイス300に組み込まれるソフトウェアは、実行前確認(S216)の機能を含まなくてもよい。したがって、デバイス300が有するメモリの使用を抑えることができ、デバイス300のコストダウンにつながる。
また、上記実施の形態1では、デバイス300によるブロック実行(S314)について、クラウドサーバ10に実装されたシーケンスマネージャ100からの指示によって行われる処理の流れを説明したが、ブロック実行(S314)が行われる形態についても、これに限定されない。
例えば、シーケンスマネージャ100からの通知内容を、デバイス300内のメモリに保存し、装置20が有するUI又は端末30が有するUI400を通じたユーザからの直接の指示により、ブロックが実行されてもよい。すなわち、アプリケーションをデバイス内にダウンロードしておいて、ユーザが任意のタイミングでアプリケーションを実行する形態としてもよい。
図21Cは、実施の形態1の変形例3におけるシステム1のシーケンス図である。図21Cでは、アプリ実行フェーズF300において、シーケンスマネージャ100からデバイス300に、デバイス300で実行される1以上のブロックが通知される(S310C)。そして、デバイス300は、通知された1以上のブロックをメモリに保存する(S311C)。
その後、デバイス300は、ユーザから、保存された1以上のブロックの実行の指示を受け付け(S312C)、1以上のブロックを第1ブロックから順に実行する(S314)。
以上のように、ブロックをデバイス300に保存することで、デバイスマネージャ200とデバイス300との通信を介さずにデバイス300の制御が行えるため、クラウドサーバ10と装置20間の通信が不安定になることによってデバイス300の動作が停止したり遅延が生じたりするリスクを低減することができる。そのため、本変形例は、クラウドサーバ10との通信の信頼性が低い環境において、及び/又は、アプリケーション実行中のデバイスの動作停止や遅延が許容されないデバイス300において、より効果的である。
なお、変形例3においても、実施の形態1と同様に、実行前確認(S216)は重要な意味を有するが、実行前確認(S216)が行われるタイミングや主体となるモジュールは図21Cに限定されない。すなわち、変形例3は、変形例1又は2と組み合わされてもよい。
図21Dは、実施の形態1の変形例4におけるシステム1のシーケンス図である。変形例4は、変形例1と変形例3との組み合わせに相当する。変形例4では、図21Dに示すように、実行前確認(S216)は、デバイス300が実行指示を受けて(S312C)ブロックを実行する(S314)直前にデバイス300によって行われる。
ブロックをデバイス300にダウンロードしておいて、ユーザが任意のタイミングでブロックを実行する場合、ブロックをダウンロードするタイミングと実行するタイミングとが大きくずれる可能性が高まる。すなわち、ブロックをデバイス300にダウンロードしてから数日後、数か月後、又は数年後等にブロックが実行される場合が考えられる。その場合、ブロックがダウンロードされてからブロックが実行されるまでの間にデバイス300の劣化レベル等が変わる恐れもある。そのため、ブロックの実行が劣化レベルの影響を受けるデバイス300では、ブロックが実行される直前にデバイス300によって実行前確認が行われることで、劣化レベルに応じた実行前確認が可能となる。
図21Eは、実施の形態1の変形例5におけるシステム1のシーケンス図である。変形例5は、変形例2と変形例3との組み合わせに相当する。変形例5では、図21Eに示すように、実行前確認(S216)は、デバイスマネージャ200が割付結果通知(S218)を行う際に、そのままデバイスマネージャ200によって行われる。
(実施の形態2)
次に、実施の形態2について説明する。本実施の形態では、アプリケーションが認証済みである場合に実行前確認がスキップされる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
[2.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Aに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Aについて図22を参照しながら説明する。
図22は、実施の形態2における実行前確認処理のフローチャートを示す。
(ステップS2161A)
デバイス300は、アプリ認証情報を取得する。アプリ認証情報は、アプリケーションが認証済みである場合に認証済みであることを示す情報を含む。
アプリケーションの認証は、例えばアプリケーションの品質を保証するための仕組みであり、アプリケーションの安全性及び/又は同一性(改ざんされていないこと)などの確認を可能とする。認証情報の付与されているアプリケーションの一例を説明する。アプリケーションのコードの変更履歴がパラメータ範囲の変更が行われなかったことを示す場合、アプリケーションに認証済みであることを示す情報が対応付けられている。
(ステップS2162A)
デバイス300は、取得されたアプリ情報に基づいて、アプリケーションが認証済みであるか否かを判定する。ここで、アプリケーションが認証済みであると判定された場合(S2162AのYes)、デバイス300は、以降のステップS2165~ステップS2167をスキップして実行前確認処理を終了する。一方、アプリケーションが認証済みではないと判定された場合(S2162AのNo)、デバイス300は、次のステップS2165に進む。
[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を駆動する。
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ22及び/又は加熱器23を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、アプリケーションが認証済みでない場合に、アプリケーションの変更を伴う処理を行うことができ、アプリケーションが認証済みである場合に処理負荷の軽減を図ることができる。したがって、全てのアプリケーションに対するパラメータ範囲に対する判定処理を行う必要は無く、認証を行うことによる管理によって、処理負荷の軽減とともに、パラメータ範囲の設計の基準ができ、アプリケーション開発者にとっては、より容易かつ安全な設計が可能となる。
また例えば、本実施の形態における装置20において、アプリケーションが認証済みであることを示す情報を有する場合、第1のルールを参照せずに、アプリケーションケーションを変更しなくてもよい。
これによれば、アプリケーションが認証済みである場合に、ブロックを変更するための処理をスキップすることができ、処理負荷を軽減することができる。
(実施の形態3)
次に、実施の形態3について説明する。本実施の形態では、アプリケーションの制作者と装置の製作者とが同一である場合に実行前確認がスキップされる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
[3.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Bに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Bについて図23を参照しながら説明する。
図23は、実施の形態3における実行前確認処理のフローチャートを示す。
(ステップS2161B)
デバイス300は、アプリ制作者情報を取得する。アプリ制作者情報は、アプリケーションの制作者を示す。制作者は、アプリケーションを制作した会社、個人又は団体等を意味し、開発者又は著者と呼ばれる場合もある。
(ステップS2163B)
デバイス300は、デバイス製作者情報を取得する。デバイス製作者情報は、デバイスの製作者を示す。製作者は、デバイス300(つまり装置20)を製作した会社、個人又は団体等を意味し、製造者と呼ばれる場合もある。
(ステップS2164B)
デバイス300は、アプリケーションの制作者とデバイス300の製作者とが異なるか否かを判定する。アプリケーションの制作者が個人であり、デバイス300の製作者が会社である場合、デバイス300は、アプリケーションの制作者が属する会社とデバイス300の製作者とが一致すれば、アプリケーションの制作者とデバイス300の製作者とが同じであると判定してもよい。また、デバイス300は、アプリケーションの制作者がデバイス300の製作者の開発委託先であれば、アプリケーションの制作者とデバイス300の製作者とが同じであると判定してもよい。
ここで、アプリケーションの制作者とデバイス300の製作者とが同じである場合(S2164BのNo)、デバイス300は、以降のステップS2165~ステップS2167をスキップして実行前確認処理を終了する。一方、アプリケーションの制作者とデバイス300の製作者とが異なる場合(S2164BのYes)、デバイス300は、次のステップS2165に進む。
[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つを駆動する。
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ及び/又は加熱器を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、アプリケーションの制作者と装置20の製造者とが異なる場合に、アプリケーションの変更を伴う処理を行うことができ、アプリケーションの制作者と装置20の製造者とが同じ場合には、処理負荷の軽減を図ることができる。
(実施の形態4)
次に、実施の形態4について説明する。本実施の形態では、装置の劣化レベルに対応するルールを用いて実行前確認が行われる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
[4.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Cに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Cについて図24を参照しながら説明する。
図24は、実施の形態4における実行前確認処理のフローチャートを示す。
(ステップS2163C)
デバイス300は、デバイス劣化情報を取得する。デバイス劣化情報は、装置20に含まれるアクチュエータ22及び/又は加熱器23の劣化レベルを示す。劣化レベルの検出方法は、特に限定されず、例えばセンサによって検出されればよい。
(ステップS2165C)
デバイス300は、劣化レベルに対応するルールを取得する。例えば、デバイス300は、ルールデータベースを参照して、ブロックが駆動するアクチュエータ22又は加熱器23の劣化レベルに対応するパラメータ範囲を取得する。
図25は、実施の形態4におけるルールデータベースの一例を示す。図25のルールデータベース1400Cには、ルール1401C~1404Cが登録されている。ルール1401C~1404Cの各々は、非許容範囲を定義するパラメータ範囲を有する。例えば、ルール1401Cは、劣化レベル0のモータMM0001のために、1000rpmより大きい範囲を非許容範囲として有する。例えば、ルール1402Cは、劣化レベル1のモータMM0001のために、800rpmより大きい範囲を非許容範囲として有する。つまり、ルール1402Cは、ルール1401Cよりも非許容範囲が広く、許容範囲が狭い。
ルール1401C~1404Cの各々は、さらに、種別と、製造者名と、アクチュエータ/加熱器と、劣化レベルと、を有する。これにより、デバイス300は、ルールデータベース1400Cから、ブロックで駆動されるアクチュエータ22又は加熱器23の劣化レベルに対応するルールを取得することができる。例えば、デバイス300は、脱水動作のブロックで駆動されるモータMM0001の劣化レベルが0である場合、脱水ブロックのために、図25のルールデータベース1400Cを参照してルール1401Cを取得する。
なお、劣化レベルを決定する項目は、例えば、デバイス300に含まれるアクチュエータ22及び/又は加熱器23の使用回数、使用時間、又は稼働開始から現在まで使用日数である。これらの項目は、ユーザの使用に対して概ね比例関係で増えると想定される。よって、項目に対応する値が大きくなるごとに、劣化レベルが大きくなるようにルールが決定される。
また、劣化レベルを決定する項目は、例えば、加熱器23の温度の加算値、又はアクチュエータ22及び/又は加熱器23の入力及び出力の再現度合である。加熱器23の温度の加算値とは、加熱器23が駆動されたときの温度を加算した値である。例えば、ブロック実行時の加熱器23の平均温度、中間温度、又は最大温度が用いられる。加熱器23の温度は、加熱器23の限界温度に対する実行温度の割合、加熱器23の限界温度に対する実行温度の差分であってもよい。
アクチュエータ22及び/又は加熱器23の入力及び出力の再現度合とは、アクチュエータ22及び/又は加熱器23を駆動するための入力値とアクチュエータ22及び/又は加熱器23の出力との関係を参照して求められる。所定の入力に対する実際の出力値と、関係に規定された出力値との割合が用いられる。
[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つを駆動する。
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ22及び/又は加熱器23を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、装置20の劣化情報に応じて異なるパラメータ範囲を用いることができ、ブロックを用いることで、経年劣化していくデバイスのパフォーマンスを考慮しながら、アプリケーション側からのアクチュエータ22及び/又は加熱器23への駆動指示を実行し、アプリケーションで制御される装置20の安全性をより向上させることができる。
(実施の形態5)
上記実施の形態1~4では、既に配信されているアプリケーションに含まれるブロックが、そのアプリケーションが実行される前に変更される。本実施の形態では、そのアプリケーションに含まれるブロックが変更されるタイミングが、アプリケーションが配信される前、つまり、そのアプリケーションが開発または制作される段階であって、その点で本実施の形態は上記実施の形態1~4とは異なる。以下、本実施の形態について、上記実施の形態1~4と異なる点を中心に、詳細に説明する。なお、本実施の形態は、ブロックの変更のタイミング以外については、上記実施の形態1~4と同様であってもよい。また、本実施の形態における各構成要素のうち、実施の形態1~4と同一の構成要素については、実施の形態1~4と同一の符号を付し、詳細な説明を省略する。
[5.1 構成]
図26は、アプリケーションの開発に用いられる情報処理システムの構成例を示す図である。
情報処理システム2000は、ブロックデータベース41と、ルールデータベース42と、開発ツール50と、複数の装置20および複数の端末30と、アプリ提供サーバ60と、シーケンスマネージャ100とを備える。例えば、情報処理システム2000に備えられるこれらの構成要素は、インターネットなどの通信ネットワークを介して接続される。
ブロックデータベース41は、ブロックDBとも呼ばれ、複数の機能ブロックを含むブロック一覧を格納している記録媒体である。なお、これらの機能ブロックは、実施の形態1~4と同様、ブロックとも呼ばれる。ルールデータベース42は、ルールDBとも呼ばれ、複数のルールを格納している記録媒体である。なお、ルールデータベース42は、例えば図11に示すルールデータベース1400と同様であってもよい。また、これらの記録媒体は、ハードディスク、RAM(Read Only Memory)、ROM(Random Access Memory)、または半導体メモリなどである。なお、このような記録媒体は、揮発性であっても不揮発性であってもよい。
開発ツール50は、例えば、プロセッサ51と、メモリ52と、ディスプレイ53と、入力部54とを備えるコンピュータシステムである。プロセッサ51は、例えばメモリ52に格納されたインストラクション又はソフトウェアプログラムを実行することによって後述の各処理を実行し、ディスプレイ53に文字または画像などを表示する。ディスプレイ53は、例えば液晶ディスプレイ、プラズマディスプレイ、有機EL(Electro-Luminescence)ディスプレイなどであるが、これらに限定されない。入力部54は、例えばキーボード、タッチセンサ、タッチパッドまたはマウスなどとして構成されている。このような開発ツール50は、例えばアプリケーションの開発者によって利用され、複数の機能ブロックを含むシーケンスまたはアプリケーションを生成する。なお、本実施の形態では、この開発ツール50は、情報処理装置の一例である。
アプリ提供サーバ60は、開発ツール50によって生成されたアプリケーションを、その開発ツール50から通信ネットワークを介して取得して保持する。そして、アプリ提供サーバ60は、端末30に備えられているUI400からの指示に応じて、保持しているアプリケーションをシーケンスマネージャ100にダウンロードする。
図27Aは、ブロックデータベース41に格納されている情報の一例を示す図である。図27Bは、ルールデータベース42に格納されている情報の一例を示す図である。
ブロックデータベース41は、図27Aに示すように、洗濯機を駆動するための機能ブロックの一覧を、上述のブロック一覧として格納している。例えば、ブロック一覧41aが格納されている。ブロック一覧41aは、洗濯機を駆動するための機能ブロック1000、1010、1020、及び1030などを含む。これらの機能ブロックは、上記実施の形態1~4のブロックと同一または類似であってもよい。
ルールデータベース42は、図27Bに示すように、洗濯機に適用される少なくとも1つのルールからなるルール群を格納している。例えば、ルール群42aが格納されている。ルール群42aは、洗濯機に適用されるルールR1000、R1010、R1020、及びR1030などを含む。これらのルールは、上記実施の形態1~4のルールと同一または類似であってもよい。
ここで、洗濯機のルールR1010、R1020、及びR1030のそれぞれは、例えば、所定のメーカによって製造された所定の型式の洗濯機に適用される専用ルールである。具体的には、その専用ルールR1010、R1020、R1030などのそれぞれは、例えば図11に示すルール1401~1405であってもよい。
一方、洗濯機のルールR1000は、例えば、複数種の洗濯機のそれぞれに適用可能な、洗濯機の汎用ルールである。
図28は、ルールデータベース42に含まれる汎用ルールの一例を示す図である。
ルールデータベース42に格納されている洗濯機のルール群42aには、例えば図28の(a)に示す汎用ルールR1000が含まれていてもよい。この汎用ルールR1000は、複数種の洗濯機のそれぞれに適用可能なパラメータ範囲(500rpm,+∞)を示す。その複数種の洗濯機は、複数の製造業者から提供されている洗濯機を含む。また、各製造業者が複数の型式の洗濯機を提供していれば、その複数種の洗濯機は、その複数の型式の洗濯機を含む。つまり、汎用ルールR1000に示されるルールであるパラメータ範囲は、製造業者および型式を問わず、どのような洗濯機にも適用される。なお、そのパラメータ範囲は、実施の形態1~4と同様、非許容範囲を定義していてもよい。例えば、汎用ルールR1000は、500rpmより大きい範囲を非許容範囲として示す。また、非許容範囲は、実施の形態1~4と同様、例えば筐体21の内部空間、アクチュエータ22又は加熱器23を耐久温度に到達させるパラメータの範囲であってもよい。
また、その洗濯機の汎用ルールR1000は、図28の(b)に示すように、複数の製造業者のそれぞれの洗濯機に適用されるパラメータ範囲を示していてもよい。例えば、汎用ルールR1000は、製造業者「A社」から提供される複数の型式の洗濯機に適用されるパラメータ範囲(800rpm,+∞)と、製造業者「B社」から提供される複数の型式の洗濯機に適用されるパラメータ範囲(600rpm,+∞)となどを示す。
なお、汎用ルールは、洗濯機の構造の種別によって、異なるルールに設定されていてもよい。洗濯機の構造の種別とは、例えば、洗濯槽の回転軸が上下方向に沿っている縦型洗濯機と、洗濯槽の回転軸が上下方向に対して交差しているドラム式洗濯機とがある。このように、洗濯機の構造の種別が異なると、洗濯の方法が大きく異なるため、洗濯機の構造の種別毎に、異なる汎用ルールに分けて設定されていてもよい。例えば、縦型洗濯機の汎用ルールは、縦型洗濯機であれば各製造業者で共通に適用されてもよいし、ドラム型洗濯機の汎用ルールは、ドラム型洗濯機であれば各製造業者で共通に適用されてもよい。また、専用ルールにおいて、洗濯機の構造の種別によって、異なるルールに設定されていてもよい。
[5.2 処理]
図29は、情報処理システム2000のシーケンス図である。
(ステップS11)
まず、開発ツール50は、1つ以上の機能ブロックをインストールする。具体的には、開発ツール50は、ブロックデータベース41から1つ以上の機能ブロックをダウンロードによって取得する。例えば、開発ツール50は、洗濯機のブロック一覧41aを取得してもよく、そのブロック一覧41aの一部の機能ブロックのみを取得してもよい。そして、開発ツール50は、その取得された1以上の機能ブロックを、シーケンスの生成に利用可能な状態にする。
ここで、ブロックデータベース41に格納されている各機能ブロックには、その機能ブロックに対応するデバイス情報が付加されていてもよい。このデバイス情報は、そのデバイス情報に対応する機能ブロックに応じて駆動する例えば装置20の製造業者、種別、型式、または型番などを示す。したがって、開発ツール50は、それらのデバイス情報に基づいて、1つ以上の機能ブロックをダウンロードしてもよい。例えば、開発ツール50は、同一の製造業者から提供されている各装置20を駆動するための1つ以上の機能ブロックをダウンロードしてもよく、調理の温めに用いられる各装置20を駆動するための1つ以上の機能ブロックをダウンロードしてもよい。
(ステップS12)
次に、開発ツール50は、シーケンスを生成する。具体的には、開発ツール50は、操作者による入力部54への入力操作に応じて、ダウンロード済みの1以上の機能ブロックを用いてシーケンスを生成する。なお、操作者は、シーケンスであるアプリケーションの開発者であってもよい。本実施の形態では、開発ツール50は、このステップS12において、上述のルールを参照し、そのルールに基づいてアプリケーションを変更する。
(ステップS13)
次に、開発ツール50は、生成されたシーケンスのアップロードを行う。具体的には、開発ツール50は、操作者による入力部54への入力操作に応じて、生成されたシーケンスをアプリ提供サーバ60に送信するための送信情報を、そのシーケンスの内容に基づいて生成し、その送信情報をアプリ提供サーバ60に送信する。この送信情報は、例えばJSON(JavaScript Object Notation)などであってもよい。これにより、そのシーケンスがアプリ提供サーバ60に送信されて、アプリケーションとしてアプリ提供サーバ60に格納される。
(ステップS14)
次に、端末30のユーザは、その端末30のUI400を操作することによって、アプリ提供サーバ60にアクセスし、アプリ提供サーバ60に格納されているアプリケーションの一覧を閲覧する。そして、UI400は、そのユーザによる操作に応じて、一覧からアプリケーションを選択し、そのアプリケーションのダウンロードをアプリ提供サーバ60に要求する。
(ステップS15)
アプリ提供サーバ60は、UI400からのダウンロードの要求を受け付けると、そのユーザに紐づくシーケンスマネージャ100に、選択されたアプリケーションをダウンロードする。
図30は、開発ツール50の全体的な処理動作を示すフローチャートである。具体的には、図30に示すフローチャートは、図29のシーケンスにおけるステップS11およびS12の詳細な処理動作を示す。
(ステップS21)
開発ツール50は、まず、例えば洗濯機500を駆動するための複数の機能ブロックをインストールする。
(ステップS22)
次に、開発ツール50は、操作者による入力部54への入力操作に応じて、機能ブロックの配置処理を行う。すなわち、開発ツール50は、ステップS21でインストールされた複数の機能ブロックをディスプレイ53に表示し、操作者による入力部54への入力操作に応じて、その表示されている複数の機能ブロックから、1つの機能ブロックを選択する。そして、開発ツール50は、操作者による入力部54への入力操作に応じて、その機能ブロックをディスプレイ53上のシーケンス生成画面における選択ブロック領域に配置する。シーケンス生成画面については、図33を用いて後述する。つまり、操作者は、複数の機能ブロックのうちの1つの機能ブロックをその選択ブロック領域にドラッグ&ドロップする。
(ステップS23)
次に、開発ツール50は、操作者による入力部54への入力操作に応じて、ステップS22で配置された機能ブロックのパラメータ設定処理を行う。すなわち、開発ツール50は、上述のシーケンス生成画面におけるパラメータ設定領域に、その機能ブロックに用いられるパラメータの内容を受け付けるための受付画像を表示する。そして、開発ツール50は、操作者による入力部54への入力操作に応じて、そのパラメータの内容を受け付けて、そのパラメータの内容をパラメータ設定領域に表示する。これにより、その機能ブロックに対してパラメータが設定される。なお、機能ブロックのパラメータは、初期値が予め設定されていてもよい。
(ステップS24)
次に、開発ツール50は、洗濯機500に適用されるルールを参照し、そのステップS23で設定されたパラメータが、そのルールに示されるパラメータ範囲外、すなわち非許容範囲外であるか否かを判定する。
(ステップS25)
開発ツール50は、ステップS24でパラメータが非許容範囲外ではないと判定すると(ステップS24のNo)、パラメータ設定サポート処理を行う。このパラメータ設定サポート処理では、開発ツール50は、操作者にエラーを提示するエラー提示処理、または、パラメータの自動修正処理を行う。パラメータの自動修正処理では、開発ツール50は、非許容範囲のパラメータを許容範囲内のパラメータに変更することによって、その機能ブロックを変更する。エラー提示処理では、開発ツール50は、例えば、直前のステップS23で設定されたパラメータが非許容範囲内であることを示すメッセージをエラーとしてディスプレイ53に表示し、そのパラメータの変更を操作者に促す。そして、開発ツール50は、ステップS25の処理が行われた後には、ステップS23からの処理を繰り返し行う。
なお、ステップS25においてパラメータの自動修正処理が行われた後に、ステップS23の処理が行われる場合には、そのステップS23では、開発ツール50は、その自動修正処理によって変更された後のパラメータをパラメータ設定領域に表示する。一方、ステップS25においてエラー提示処理が行われた後に、ステップS23の処理が行われる場合には、そのステップS23では、開発ツール50は、上述と同様、再び、操作者による入力部54への入力操作に応じて、そのパラメータの内容を受け付ける。これにより、その機能ブロックに対してパラメータが変更される。つまり、機能ブロックが変更される。
なお、機能ブロックのパラメータは、固定された値が設定されていてもよい。この場合、開発ツール50は、ステップS24およびS25の処理を行わなくてもよい。
(ステップS26)
開発ツール50は、ステップS24でパラメータが非許容範囲外であると判定すると(ステップS24のYes)、さらに、そのステップS22で配置された機能ブロックの接続が許可されている否かを判定する。例えば、ステップS22では、選択ブロック領域に既に配置されている他の機能ブロックである既存ブロックの直前または直後に、機能ブロックが配置される。その結果、機能ブロックは、その既存ブロックに接続された状態で配置される。つまり、機能ブロックによる装置20の処理と、既存ブロックによる装置20の処理とが連続して実行されるように、その機能ブロックが配置される。この場合、開発ツール50は、洗濯機500に適用される接続ルールを参照することによって、その機能ブロックと既存ブロックとの接続が許可されているか否かを判定する。つまり、開発ツール50は、実施の形態1のステップS2166と同様に、第1ブロックの次に第2ブロックを実行することが許容されるか否かを判定することで、第1ブロックと第2ブロックとの接続が許可されているか否かを判定する。なお、接続ルールは、例えば図11に示すルール1401~1405であってもよい。
(ステップS27)
開発ツール50は、ステップS26で接続が許可されていないと判定すると(ステップS26のNo)、接続サポート処理を行う。この接続サポート処理では、開発ツール50は、操作者にエラーを提示するエラー提示処理、または、接続の自動修正処理を行う。そして、開発ツール50は、ステップS22からの処理を繰り返し行う。ステップS27における接続の自動修正処理では、例えば、実施の形態1におけるステップS2167と同様の処理が行われてもよい。
なお、ステップS27において接続の自動修正処理が行われた後に、ステップS22の処理が行われる場合には、そのステップS22では、開発ツール50は、その自動修正処理によって接続し直された2以上の機能ブロックを選択ブロック領域に表示する。一方、ステップS27においてエラー提示処理が行われた後に、ステップS22の処理が行われる場合には、そのステップS22では、開発ツール50は、上述と同様、再び、操作者による入力部54への入力操作に応じて、機能ブロックを配置し直す。また、ステップS27からステップS22の処理が繰り返される場合には、開発ツール50は、機能ブロックのパラメータは既に許容範囲内に設定されているため、ステップS22以降のステップS23~S25の処理をスキップしてもよい。
(ステップS28)
開発ツール50は、ステップS26で接続が許可されていると判定すると(ステップS26のYes)、さらに、操作者による入力部54への入力操作に応じて、シーケンスの生成が完了したか否かを判定する。ここで、開発ツール50は、シーケンスの生成が完了していないと判定すると(ステップS28のNo)、ステップS22からの処理を繰り返し行う。このときには、開発ツール50は、ステップS21でインストールされた複数のブロックから新たなブロックを、操作者による入力部54への入力操作に応じて選択して、上述の選択ブロック領域に配置する。
(ステップS29)
開発ツール50は、ステップS28でシーケンスの生成が完了したと判定すると(ステップS28のYes)、さらに、生成されたシーケンス全体の流れが許可されているか否かを判定する。例えば、そのシーケンスの中で、第1の機能ブロックよりも前または後に第2の機能ブロックが配置されている。一方、洗濯機500に適用される組み合わせルールでは、その第1の機能ブロックと第2の機能ブロックとの組み合わせは、許可されていない。このような場合、開発ツール50は、その生成されたシーケンス全体の流れが許可されていないと判定する。あるいは、洗濯機500に適用される組み合わせルールでは、その第1の機能ブロックよりも前または後には、第2の機能ブロックが配置されていることが求められている。このような場合、開発ツール50は、その生成されたシーケンス全体の流れが許可されていると判定する。
(ステップS30)
開発ツール50は、ステップS29でシーケンス全体の流れが許可されていないと判定すると(ステップS29のNo)、配置サポート処理を行う。この配置サポート処理では、開発ツール50は、操作者にエラーを提示するエラー提示処理、または、機能ブロックの配置の自動修正処理を行う。そして、開発ツール50は、ステップS22からの処理を繰り返し行う。
なお、ステップS30において配置の自動修正処理が行われた後に、ステップS22の処理が行われる場合には、そのステップS22では、開発ツール50は、その自動修正処理によって配置し直された2以上の機能ブロックを選択ブロック領域に表示する。また、ステップS30からステップS22の処理が繰り返される場合には、開発ツール50は、機能ブロックのパラメータは既に許容範囲内に設定されているため、ステップS22以降のステップS23~S25の処理をスキップしてもよい。また、開発ツール50は、機能ブロックの接続は既に許可されているため、ステップS26およびS27の処理をスキップしてもよい。さらに、開発ツール50は、ステップS28の処理もスキップしてもよい。
なお、開発ツール50は、ステップS29およびS30の処理をスキップしてもよい。
図31は、パラメータの自動修正処理の一例を示すフローチャートである。
図30に示す例では、1つの機能ブロックが選択されて配置されるたびに、その機能ブロックのパラメータに対する判定と自動修正処理とが行われる。しかし、本開示では、その例に限定されることなく、開発ツール50は、図31に示すフローチャートにしたがって各処理を行ってもよい。
(ステップS41)
開発ツール50は、操作者による入力部54への入力操作に応じて、例えば洗濯機500を駆動するためのN個(Nは2以上の整数)の機能ブロックからM個(Mは1以上かつN以下の整数)の機能ブロックを選択する。つまり、開発ツール50は、制御対象機器である洗濯機500に備えられているアクチュエータ22及び加熱器23の少なくとも1つを駆動するためのN個の機能ブロックから、操作者による入力部54への入力操作に応じて、M個の機能ブロックのそれぞれを選択ブロックとして選択する。
(ステップS42)
次に、開発ツール50は、選択されたM個の機能ブロックのそれぞれにパラメータを設定することによって、シーケンス、すなわちアプリケーションを生成する。つまり、開発ツール50は、M個の選択ブロックの各々に、アクチュエータ22又は加熱器23を駆動するためのパラメータを、操作者による入力部54への入力操作に応じて設定することで、M個の選択ブロックで規定されたアプリケーションを生成する。
(ステップS43)
次に、開発ツール50は、洗濯機500に適用されるルールを参照する。例えば、開発ツール50は、ステップS42で生成されたアプリケーションが複数種の洗濯機に適用される場合には、汎用ルールR1000を参照する。また、開発ツール50は、ステップS42で生成されたアプリケーションが所定の型式の洗濯機に適用される場合には、専用ルールR1010、R1020及びR1030のうちのその型式の洗濯機500に対応付けられているルールを参照する。つまり、開発ツール50は、ステップS42で生成されるアプリケーションが、制御対象機器専用のアプリケーションか、その制御対象機器と、その制御対象機器以外の機器とに適用される汎用のアプリケーションかを判定する。そして、開発ツール50は、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されないパラメータ範囲をそれぞれ定義する複数のルール候補のうちの、そのアプリケーションの判定結果に応じたルール候補を、上述のルールとして参照する。
(ステップS44)
そして、開発ツール50は、ステップS42で設定されたM個の機能ブロックのそれぞれのパラメータが、上述のルールに示される非許容範囲に含まれるか否かを判定する。
(ステップS45)
ここで、開発ツール50は、そのパラメータが非許容範囲に含まれていると判定すると(ステップS44のYes)、そのパラメータを有する機能ブロックを変更する。つまり、開発ツール50は、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されないパラメータ範囲を定義するルールを参照して、M個の選択ブロックの少なくとも1つを変更することでアプリケーションを変更する。ここで、そのM個の選択ブロックの少なくとも1つは、そのパラメータ範囲に含まれるパラメータを有する。
(ステップS46)
そして、開発ツール50は、変更したアプリケーションを出力する。
図32は、パラメータのエラー提示処理の一例を示すフローチャートである。
図30に示す例では、1つの機能ブロックが選択されて配置されるたびに、その機能ブロックのパラメータに対する判定とエラー提示処理とが行われる。しかし、本開示では、その例に限定されることなく、開発ツール50は、図32に示すフローチャートにしたがって各処理を行ってもよい。
(ステップS41~S44)
開発ツール50は、図31に示す例と同様、ステップS41~S44の処理を実行する。
(ステップS51)
開発ツール50は、ステップS44でパラメータが非許容範囲に含まれていると判定すると(ステップS44のYes)、そのパラメータを有する機能ブロックを自動的に変更することなく、ディスプレイ53にエラーを表示する。これにより、操作者にエラーが提示される。つまり、ステップS43、S44およびS51の処理では、開発ツール50は、ルールを参照することによって、エラーを提示する。具体的には、開発ツール50は、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されないパラメータ範囲を定義するルールを参照して、M個の選択ブロックの少なくとも1つが、上述のパラメータ範囲に含まれるパラメータを有する場合には、操作者に対してエラーを提示する。
(ステップS52)
そのエラーを見た操作者は、開発ツール50の入力部54への入力操作を行うことによって、ステップS42で設定されたパラメータを変更する。その結果、開発ツール50は、機能ブロックを変更する。つまり、開発ツール50は、エラーの提示を受けた操作者による入力操作に応じて、M個の選択ブロックの少なくとも1つを変更することでアプリケーションを変更する。そして、開発ツール50は、ステップS43からの処理を繰り返し実行する。
(ステップS46)
開発ツール50は、ステップS44において、パラメータが非許容範囲に含まれていないと判定すると(ステップS44のNo)、アプリケーションを出力する。このとき、ステップS52でアプリケーションが変更されていれば、変更されたアプリケーションが出力される。一方、ステップS52でアプリケーションが変更されていなければ、ステップS42で生成されたアプリケーションが出力される。
ここで、ステップS51の処理が繰り返される場合には、開発ツール50は、その繰り返しの回数に応じて、エラーの提示形態を変更してもよい。例えば、開発ツール50は、エラーの提示回数がK回(Kは2以上の整数)以上の場合には、上述のパラメータ範囲に含まれないパラメータを操作者に提示する。つまり、開発ツール50は、エラーの提示回数がK回以上の場合には、パラメータ範囲に含まれないパラメータ、すなわち非許容範囲に含まれないパラメータを、機能ブロックに設定されるパラメータの候補としてディスプレイ53に表示する。これにより、その候補が、例えばアプリケーション開発者である操作者に提案される。その結果、その候補を見たアプリケーション開発者である操作者は、開発ツール50の入力部54への入力操作を行うことによって、ステップS42で設定されたパラメータを、その候補に容易に変更することができる。
または、開発ツール50は、エラーの提示回数がK回以上の場合には、上述のパラメータ範囲に含まれないパラメータの範囲を操作者に提示してもよい。つまり、開発ツール50は、エラーの提示回数がK回以上の場合には、パラメータの許容範囲をディスプレイ53に表示する。これにより、その許容範囲を見たアプリケーション開発者である操作者は、開発ツール50の入力部54への入力操作を行うことによって、ステップS42で設定されたパラメータを、許容範囲内のパラメータに容易に変更することができる。
[5.3 表示例]
図33は、シーケンス生成画面の一例を示す図である。
開発ツール50は、上述のシーケンス生成画面をディスプレイ53に表示する。シーケンス生成画面は、パラメータ設定領域D1と、ブロック一覧領域D2と、対象装置領域D3と、選択ブロック領域D4とを含む。
パラメータ設定領域D1には、機能ブロックに用いられるパラメータの内容を受け付けるための受付画像が表示される。
ブロック一覧領域D2には、複数種の装置20のそれぞれのブロック一覧が表示される。これらのブロック一覧は、ブロックデータベース41からダウンロードされて開発ツール50にインストールされた機能ブロックを含む。
対象装置領域D3には、複数種の装置20から選択された装置20の種別名が表示される。
選択ブロック領域D4には、ブロック一覧領域D2に表示されるブロック一覧から選択された機能ブロックが配置されて表示される。その機能ブロックは、例えばアイコンとして表示される。
例えば、操作者は、開発ツール50の入力部54に対する入力操作を行うことによって、アプリケーションが適用される装置20の種別名を決定する。開発ツール50は、その決定された種別名を対象装置領域D3に表示する。例えば、その決定された種別名「洗濯機」が表示される。続いて、操作者は、入力操作を行うことによって、ブロック一覧領域D2に表示されるブロック一覧から、決定された種別名「洗濯機」の装置20を駆動するための機能ブロックを選択する。そして、操作者は、入力操作を行うことによって、選択された機能ブロック、すなわち選択ブロックを選択ブロック領域D4に配置する。この機能ブロックの選択および配置は、ドラッグ&ドロップによって行われてもよい。この選択ブロック領域D4に配置される1つ以上の機能ブロックは、その配置されている順に実行されてもよい。つまり、アプリケーションは、その選択ブロック領域D4に配置されるM個の選択ブロックのそれぞれが実行される順番の情報と、そのM個の選択ブロックのそれぞれが実行されるタイミングの情報とを含む。
機能ブロックが選択ブロック領域D4に配置されると、開発ツール50は、パラメータ設定領域D1に、その機能ブロックに用いられるパラメータの受付画像を表示する。
図34は、ブロック一覧の表示例を示す図である。
操作者は、図33に示すブロック一覧領域D2に表示されている複数の装置20のそれぞれの種別名のうち、これから生成するアプリケーションが適用される装置20の種別名を、入力部54に対する入力操作を行うことによって選択する。開発ツール50は、その選択された種別名の装置20に対応するブロック一覧を、例えば図34に示すように表示する。例えば、図34に示すように、洗濯機が選択されると、開発ツール50は、その洗濯機のブロック一覧を表示する。例えば、そのブロック一覧は、洗濯量検知、給水、注水、洗剤投入、柔軟剤投入、撹拌、ドラム回転、脱水、排水、ドアロック、浸漬、除菌・抗菌、ブザー、送風、及び乾燥のそれぞれの機能を実現する機能ブロックを含む。
操作者は、入力部54への入力操作を行うことによって、このように表示されるブロック一覧から機能ブロックを選択し、その選択された機能ブロックを、図33に示す選択ブロック領域D4に配置する。つまり、開発ツール50は、このような入力操作に応じて、図30に示すステップS22の処理、すなわち機能ブロックの配置処理を行う。
図35A及び図35Bは、パラメータ設定領域D1の表示例を示す図である。
開発ツール50は、例えば図35A及び図35Bに示すように、装置20である洗濯機の機能ブロックに含まれるパラメータの内容を受け付けるための受付画像を、パラメータ設定領域D1に表示する。洗濯機には、脱水の機能を実現する機能ブロックと、ドラム回転の機能を実現する機能ブロックとを適用することができる。
例えば図35Aに示すパラメータ設定領域D1の受付画像は、脱水の機能ブロックに含まれる複数のパラメータの内容を受け付けるための画像である。例えば、脱水の機能ブロックは、脱水の設定回転数と、継続時間とをそれぞれパラメータとして含む。操作者は、その受付画像を見て、入力部54への入力操作を行うことにより、その設定回転数および継続時間のそれぞれの数値を、設定回転数のパラメータおよび継続時間のパラメータのそれぞれの内容として入力する。
同様に、図35Bに示すパラメータ設定領域D1の受付画像は、ドラム回転の機能ブロック1060に含まれる複数のパラメータの内容を受け付けるための画像である。例えば、ドラム回転の機能ブロックは、ドラム回転の設定回転数と、ドラム回転の設定回転方向と、給水のオン/オフと、循環ポンプのオン/オフ及び回転方向とをそれぞれパラメータとして含む。操作者は、その受付画像を見て、入力部54への入力操作を行うことにより、その設定回転数およびの数値を、設定回転数のパラメータとして入力する。さらに、操作者は、設定回転方向の右回転および左回転のうちの一方と、給水に対するオンおよびオフのうちの一方と、循環ポンプに対するオンおよびオフのうちの一方と、循環ポンプに対する循環方向の正転および反転のうちの一方とを、回転方向のパラメータ、給水のパラメータ、および、循環ポンプのパラメータのそれぞれの内容として入力する。開発ツール50は、その入力された各パラメータの内容を受け付けることによって、ドラム回転の機能ブロックに用いられる各パラメータを設定する。
このように、開発ツール50は、操作者の入力操作に応じて、図30に示すステップS23のパラメータ設定処理を行う。
また、開発ツール50は、このように機能ブロックに含まれる各パラメータが設定されると、図30のステップS24のように、その機能ブロックに対応する装置20のルールを参照することによって、そのパラメータが非許容範囲外か否かを判定する。
図36は、機能ブロックの自動修正処理の一例を示す図である。
例えば、図36の(a)に示すように、操作者は、入力部54に対する入力操作を行うことによって、洗濯機500の脱水の機能ブロック1070に含まれる回転数および継続時間のそれぞれの数値を入力する。これにより、脱水の機能ブロック1070に用いられる各パラメータが設定される。
このように各パラメータが設定されると、開発ツール50は、その機能ブロックの自動修正処理を行う。まず、開発ツール50は、その機能ブロックに対応する洗濯機500のルールを参照する。例えば、開発ツール50は、図27Bに示すルールデータベース42aに含まれる何れか1つのルールを参照する。そのルールは、汎用ルールR1000であっても、専用ルールR1010などであってもよい。
そして、開発ツール50は、入力されたパラメータである回転数の数値、例えば1200rpmが、ルールに示されるパラメータ範囲に含まれる、すなわちその数値が非許容範囲に含まれると判定すると、そのパラメータの数値を修正する。例えば、そのパラメータ範囲が、1000rpmを超える範囲である場合、開発ツール50は、図36の(b)に示すように、設定温度の数値を1200rpmから1000rpmに修正する。このとき、開発ツール50は、その回転数を下げるため、継続時間が長くなるように、その継続時間のパラメータを修正してもよい。このようなパラメータの修正によって、脱水の機能ブロックが変更される。すなわち、その機能ブロックを含むアプリケーションが変更される。これにより、洗濯機500の安全性を担保することができる。
図37は、機能ブロックの接続の自動修正処理の第1の例を示す図である。
例えば、図37の(a)に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070の次の順番に実行される機能ブロックとして撹拌の機能ブロック1050を配置する入力をする。これは、第5のルール1403で許容されないため、開発ツール50は、図37の(b)に示すように、脱水の機能ブロック1070の次に実行される順番の制御情報として所定期間(例えば30秒間)何もせずに待機する動作に関するパラメータを含む待機動作の既往ブロック1150を追加する。つまり、脱水動作の機能ブロック1070の次に脱水動作とは異なる回転を用いた撹拌動作の機能ブロック1050が配置されると、開発ツール50は、脱水動作の機能ブロック1070と撹拌動作の機能ブロック1050との間に待機動作の機能ブロック1150を追加する修正を自動的に行う。このような機能ブロックの順番に他の機能ブロックを追加する修正によって、機能ブロックの接続が変更される。すなわち、その機能ブロックを含むアプリケーションが変更される。これにより、洗濯機500の安全性を担保することができる。
なお、開発ツール50は、図37の(b)に示すように、自動修正を行った場合、自動修正を行った理由を示すメッセージD7を設定画面D6に表示してもよい。
図38は、機能ブロックの接続の自動修正処理の第2の一例を示す図である。
例えば、図38の(a)に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070の次の順番に実行される機能ブロックとして撹拌の機能ブロック1050を配置する入力をする。これは、第5のルール1403で許容されないため、開発ツール50は、図38の(b)に示すように、脱水の機能ブロック1070の次に撹拌の機能ブロック1050を配置できない旨のメッセージD8を設定画面D6に表示してもよい。なお、メッセージD8は、機能ブロックの順番を修正するか否かをユーザに問い合わせる表示を含んでいてもよい。図38の(b)に示すように問い合わせる表示に「はい」、「いいえ」が含まれており、ユーザにより「はい」への入力が行われた場合、開発ツール50は、修正を受け付ける画面に切り替えてもよい。「いいえ」への入力が行われた場合、開発ツール50は、機能の順番を設定する画面D6の表示を終了してもよい。
図39は、機能ブロックの接続の自動修正処理の第3の一例を示す図である。
例えば、図39の(a)に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070の次の順番に実行される機能ブロックとして、ブロック一覧領域D2から撹拌の機能ブロック1050をドラックアンドドロップで配置しようとしたとする。これは、第5のルール1403で許容されないため、開発ツール50は、図39の(b)に示すように、脱水の機能ブロック1070の次に撹拌の機能ブロック1050を配置できない旨のメッセージD9を設定画面D6に表示してもよい。なお、メッセージD9は、他の機能ブロックを選択することを促すメッセージを含んでいてもよい。この場合にメッセージD9に含まれる、他の機能ブロックは、各ルールによって許容される機能ブロックを具体的に提示してもよい。
図40は、機能ブロックの接続の自動修正処理の第4の一例を示す図である。
例えば、図40に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070を配置した場合、開発ツール50は、脱水の機能ブロック1070の次に実行される順番が各ルールによって許容されない機能ブロックが選択できないことを示す表示態様でブロック一覧領域D2aを表示してもよい。この場合、例えば、開発ツール50は、撹拌の機能ブロック1050およびドラム回転の機能ブロック1060を示す表示に取り消し線を引いた表示態様としてもよいし、グレーアウトした表示態様としてもよいし、ブロック一覧領域の選択対象から削除してもよい。
図39および図40で例示したように、開発ツール50は、複数の機能ブロックのうちの第1の機能ブロックの入力を受け付け、受け付けた第1の機能ブロックと、選択の順番に関するルールと、に基づいて、第1の機能ブロックの次の順番で実行されることが許容される機能ブロックの条件を特定し、特定した条件に基づいて、第1の機能ブロックの次に実行される順番に設定される第2の機能ブロックの入力を制限してもよい。
[5.4 効果など]
以上のように、本実施の形態では、ブロックを含むアプリケーションとルールデータベースとにより、多様多種でかつ安全なアプリケーションを開発可能な環境を提供することができる。したがって、その環境下で自由に開発したアプリケーションに対して、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の安全な駆動することを可能にしている。その結果、例えば、自由度の高い多様多種なアプリケーションの開発と、安全性を担保するためのルールデータベースの開発とを並行して作成することが可能になり、多様多種でかつ安全なアプリケーションを早期に開発することを可能にすることができる。
また、本実施の形態と、実施の形態1~4のうちの何れかの形態とを組み合わせれば、アプリケーションの提供後においても、ルールデータベースを変更することで、より安全性を担保したアプリケーションへの変更も可能になる。また、事前に製造者が想定しない状況の改善が必要になった場合においても、多様多種なアプリケーション自体を変更せずとも、アプリケーションとは独立して、ルールデータベースが規定されているため、そのルールデータベースを更新することで、全てのアプリケーションへの対応が可能になる。
例えば、本実施の形態における情報処理方法は、洗濯機500の運転を制御するための複数の制御情報を含む洗濯情報を生成する。この情報処理方法は、複数のブロック(制御情報)、及び、順番情報を含むシーケンス(洗濯情報)の入力を受け付け、洗濯の順番に関するルールに基づいてシーケンスを修正する。複数のブロックのそれぞれは、洗濯物に対する洗濯に関する運転を行う洗濯機能部を制御するパラメータに関する。順番情報は、複数のブロックを実行する順番に関する。
これによれば、複数のブロックで規定されたアプリケーションに基づいて洗濯機能部を駆動させることができる。従って、洗濯機500の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、多種多彩なアプリケーションを製造者だけではなく、サードパーティも開発することができ、これらのアプリケーションを洗濯機500で簡単に実行することが可能となる。さらに、この開発時には、許容されない順番のブロックを自動的に修正することができる。したがって、洗濯機能部が許容されない順番の動作を実行することを抑制することができる。つまり、もしアプリケーション開発者が洗濯機能部が許容されない順番の動作を誤って設定した場合でも、洗濯機500を安全に制御することができないアプリケーションが生成されることを抑制することができる。また、洗濯機500が非効率的に動作するアプリケーションが生成されることを抑制することができる。したがって、アプリケーション開発者が、洗濯機能部の安全性の担保よりもユーザに適することを重視したアプリケーションを作成した場合でも、アプリケーションで制御される洗濯機500の安全性を担保することができ、その安全性を向上させることができる。また、洗濯機500の動作効率を向上させることができ、消費電力を低減することができる。
また例えば、開発ツール50は、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、シーケンスに、第1ブロックの次に実行される順番の制御情報として第3ブロックを追加してもよい。
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロックの間の順番に第3ブロックを追加することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
また例えば、開発ツール50は、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正してもよい。
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロック内のいずれかに含まれるパラメータに関する情報を修正することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
また例えば、開発ツール50は、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第2ブロックの実行を制限してもよい。
これによれば、連続して実行される2つのブロックが許容されない場合、第2ブロックの実行を制限することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。
また例えば、第1のルールでは、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含んでもよい。このため、水槽502に水がある状態で実行されても十分な効果が得られない第2ブロックに基づく運転が実行されることを防止することができる。これにより、無駄な運転を抑制でき、消費電力を低減することができる。
また例えば、第2のルールでは、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁熱環境で実行される運転は、水槽502内の温度が所定の温度以上のときに実行されることが許容されない運転を含んでもよい。このため、水槽502内の温度が所定の温度以上であるときに実行されることを抑制できるため、水槽502内の高温環境が洗濯機500の外部に悪影響を与えることを低減することができ、安全性を担保することができる。
また例えば、第3のルールでは、第1ブロックが水が貯められている洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁動環境で実行される運転は、洗濯槽503内の水面を動かすことが許容されない運転を含んでもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
また例えば、第4のルールでは、第1ブロックが洗濯機500の洗濯槽503内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
また例えば、第5のルールでは、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されなくてもよい。例えば、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。また例えば、第1の回転の向きは、第2の回転の向きと異なっていてもよい。このため、異なる回転の運転が連続して実行されることを抑制でき、効果的に洗濯槽503の回転を切り替えることができる。
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、シーケンスに、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502からの排水に関するパラメータを含む第3ブロックを追加する。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、禁水環境で実行される運転を制御するパラメータの直前に水槽502からの排水に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、シーケンスに、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502の放熱に関するパラメータを含む第3ブロックを追加してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、禁熱環境で実行される運転を制御するパラメータの直前に水槽502の放熱に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
また例えば、開発ツール50は、ルールに基づき、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックが重複する場合、(i)第1ブロックもしくは第2ブロックを削除する、又は、(ii)第1ブロックに含まれるパラメータに関する情報もしくは第2ブロックに含まれるパラメータに関する情報を削除してもよい。このため、重複している動作のブロックまたはパラメータを削除するため、無駄な動作を実行することを低減することができる。よって、消費電力を低減することができる。
(実施の形態5の変形例1)
実施の形態5では、開発ツール50は、装置20(洗濯機500)とは別の装置により構成されているとしたがこれに限らない。洗濯機500は、開発ツール50が有する機能と同様の機能を有していてもよい。この場合の洗濯機は、制御装置550および操作パネル560が、開発ツール50が有する機能と同様の機能を実現してもよい。これにより、ユーザは、洗濯機の操作パネル56を操作することによって、機能ブロックのパラメータの設定、機能ブロックの順番の設定などのようにアプリケーションの開発(作成)を行うことができる。
(他の実施の形態)
以上、本開示の1つまたは複数の態様に係るシステムについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の1つまたは複数の態様の範囲内に含まれてもよい。
また、上記各実施の形態において、シーケンスマネージャ100及びデバイスマネージャ200は、クラウドサーバ10に含まれていたが、これに限定されない。シーケンスマネージャ100及び/又はデバイスマネージャ200は、装置20に含まれてもよい。また、UI400は、端末30に含まれていたが、装置20に含まれてもよい。
また、上記各実施の形態において、劣化情報に基づいて、アプリケーションが変更されてもよい。例えば、デバイス300は、複数の劣化レベルと複数のパラメータの変換方法とが対応付けられたパラメータ変換情報を参照して、劣化レベルに対応する変換方法を取得し、取得した変換方法を用いてブロックに含まれるパラメータを変換してもよい。変換方法としては、例えば、変換後の値で定義されてもよいし、変換前の値に適用される係数で定義されてもよい。
また、上記各実施の形態では、実行前確認においてパラメータが非許容範囲に含まれる場合にブロックを変更し、その後ブロックが実行されていたが、これに限ったものではない。例えば、パラメータが非許容範囲に含まれる場合に、デバイス300の状態が想定と異なっていたときは、ブロックを実行せず、デバイスマネージャ200及び/又はシーケンスマネージャ100に実行中止(エラー)が通知されてもよい。
複数の機能ブロックで規定されたアプリケーションを実行することができる家庭用電化製品等に利用できる。
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 入力デバイス
41 ブロックデータベース
42、1400、1400C ルールデータベース
50 開発ツール
51 プロセッサ
52 メモリ
53 ディスプレイ
54 入力部
60 アプリ提供サーバ
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 順番情報
1401~1405、1401C、1402C、1403C、1404C ルール
2000 情報処理システム
F100 準備フェーズ
F200 アプリ実行前フェーズ
F300 アプリ実行フェーズ
R1000 汎用ルール
R1010、R1020、R1030 専用ルール

Claims (8)

  1. アクチュエータ及び加熱器の少なくとも一方を備える洗濯機の運転を制御するための洗濯情報を生成する、プロセッサにより実行される情報処理方法であって、
    それぞれが洗濯物に対する前記運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含む第1の洗濯情報の入力を受け付け、
    前記アクチュエータ及び前記加熱器の少なくとも一方の劣化レベルを前記洗濯機から取得し、
    複数の劣化レベルに対応する複数のルールのうちの、取得した前記劣化レベルに対応するルールに基づいて前記第1の洗濯情報に含まれる前記複数の制御情報の少なくとも一部を修正し、修正により得られた第2の洗濯情報を前記洗濯情報として生成し、
    前記洗濯機は前記洗濯機能部を有し、
    前記第2の洗濯情報は、前記第2の洗濯情報に含まれる複数の制御情報を、前記第2の洗濯情報に含まれる順番情報で示される順番に前記洗濯機能部に実行させるための情報である
    情報処理方法。
  2. 前記複数のルールのそれぞれは、前記洗濯機における実行が許可されないパラメータの範囲を含み、
    前記パラメータは、前記複数の劣化レベルに応じた範囲に設定されており、
    前記修正では、前記劣化レベルに対応するルールに含まれる、前記許可されないパラメータの範囲外になるように、前記複数の制御情報の少なくとも一部のパラメータを修正する
    請求項1に記載の情報処理方法。
  3. 前記パラメータの範囲は、前記劣化レベルが大きいほど広く設定されている
    請求項2に記載の情報処理方法。
  4. 前記複数のルールのそれぞれは、さらに、前記アクチュエータ及び前記加熱器の一方の種別に対応し、
    前記修正では、前記アクチュエータ及び前記加熱器の一方の種別に応じたルールに基づいて、前記複数の制御情報の少なくとも一部を修正する
    請求項1から3のいずれか1項に記載の情報処理方法。
  5. 前記劣化レベルは、前記アクチュエータ及び前記加熱器の少なくとも一方の使用回数、使用時間、または、稼働開始から現在まで使用日数に応じて決定される
    請求項1から4のいずれか1項に記載の情報処理方法。
  6. 前記劣化レベルは、前記加熱器の温度の加算値に応じて決定され、
    前記加熱器の温度の加算値は、前記加熱器が駆動されたときの温度を加算した値である
    請求項1から5のいずれか1項に記載の情報処理方法。
  7. 前記劣化レベルは、前記アクチュエータ及び前記加熱器の少なくとも一方の入力及び出力の再現度合に応じて決定され、
    前記再現度合は、前記アクチュエータ及び前記加熱器を駆動するための入力値に対する前記アクチュエータ及び前記加熱器の出力値と、前記アクチュエータ及び前記加熱器を駆動するための入力値に対する関係で規定された出力値との割合であり、
    前記関係は、予め定められた入力値及び出力値の関係である
    請求項1から6のいずれか1項に記載の情報処理方法。
  8. アクチュエータ及び加熱器の少なくとも一方を備える洗濯機の運転を制御するための洗濯情報を生成する情報処理装置であって、
    プロセッサと、
    前記プロセッサに接続されたメモリとを備え、
    前記プロセッサは、前記メモリを用いて、
    それぞれが洗濯物に対する前記運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含む第1の洗濯情報の入力を受け付け、
    前記アクチュエータ及び前記加熱器の少なくとも一方の劣化レベルを前記洗濯機から取得し、
    複数の劣化レベルに対応する複数のルールのうちの、取得した前記劣化レベルに対応するルールに基づいて前記第1の洗濯情報に含まれる前記複数の制御情報の少なくとも一部を修正し、修正により得られた第2の洗濯情報を前記洗濯情報として生成し、
    前記洗濯機は前記洗濯機能部を有し、
    前記第2の洗濯情報は、前記第2の洗濯情報に含まれる複数の制御情報を、前記第2の洗濯情報に含まれる順番情報で示される順番に前記洗濯機能部に実行させるための情報である
    情報処理装置。
JP2023213396A 2020-06-19 2023-12-18 情報処理方法、及び、情報処理装置 Pending JP2024026402A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023213396A JP2024026402A (ja) 2020-06-19 2023-12-18 情報処理方法、及び、情報処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020106611A JP7417832B2 (ja) 2020-06-19 2020-06-19 情報処理方法、及び、情報処理装置
JP2023213396A JP2024026402A (ja) 2020-06-19 2023-12-18 情報処理方法、及び、情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020106611A Division JP7417832B2 (ja) 2020-06-19 2020-06-19 情報処理方法、及び、情報処理装置

Publications (1)

Publication Number Publication Date
JP2024026402A true JP2024026402A (ja) 2024-02-28

Family

ID=79244717

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020106611A Active JP7417832B2 (ja) 2020-06-19 2020-06-19 情報処理方法、及び、情報処理装置
JP2023213396A Pending JP2024026402A (ja) 2020-06-19 2023-12-18 情報処理方法、及び、情報処理装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020106611A Active JP7417832B2 (ja) 2020-06-19 2020-06-19 情報処理方法、及び、情報処理装置

Country Status (4)

Country Link
JP (2) JP7417832B2 (ja)
CN (1) CN115699067A (ja)
TW (1) TW202202690A (ja)
WO (1) WO2021256432A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024075421A1 (ja) * 2022-10-05 2024-04-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理装置、プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05111593A (ja) * 1991-10-18 1993-05-07 Sanyo Electric Co Ltd 洗濯機
JP2001293283A (ja) 2000-04-13 2001-10-23 Matsushita Electric Ind Co Ltd 脱水兼用洗濯機
JP4469540B2 (ja) 2002-03-28 2010-05-26 株式会社東芝 洗濯機
CN106637808B (zh) 2015-11-04 2018-10-26 松下家电研究开发(杭州)有限公司 一种带有程序自动修正功能的洗衣机及其程序自动修正方法
CN110199230B (zh) 2017-12-26 2021-03-19 三菱电机株式会社 加工程序修正装置以及加工程序修正方法
EP3735634A1 (en) 2018-01-05 2020-11-11 JM Driver LLC (DBA Lynx Technology) Reconfigurable embedded rules engine for internet of things (iot) devices

Also Published As

Publication number Publication date
WO2021256432A1 (ja) 2021-12-23
TW202202690A (zh) 2022-01-16
CN115699067A (zh) 2023-02-03
JP2022002007A (ja) 2022-01-06
JP7417832B2 (ja) 2024-01-19

Similar Documents

Publication Publication Date Title
JP2024026402A (ja) 情報処理方法、及び、情報処理装置
RU2553043C2 (ru) Бытовой прибор и онлайновая система, его включающая
KR20200014029A (ko) 가전제품 및 가전제품의 페어링을 설정하는 온라인 시스템
JP2015090629A (ja) 処理装置
US20230323581A1 (en) Drive apparatus, drive method, and recording medium
US20230324867A1 (en) Drive apparatus, drive method, and recording medium
JP7390606B2 (ja) 洗濯機、及び、制御システム
US20230085964A1 (en) Information processing method and information processing apparatus
JP7486075B2 (ja) 洗濯機、制御方法、及び、制御システム
WO2021256430A1 (ja) 洗濯機、制御方法、及び、制御システム
WO2021256497A1 (ja) アクチュエータ及び/又は加熱器を備える装置並びにその装置を制御する方法
WO2022137615A1 (ja) 駆動装置、駆動方法、及び、プログラム
WO2021256500A1 (ja) 情報処理方法および情報処理装置
US20230315423A1 (en) Household appliances update management
WO2021256494A1 (ja) アクチュエータ及び/又は加熱器を備える装置並びにその装置を制御する方法
WO2021256492A1 (ja) アクチュエータ及び/又は加熱器を備える装置並びにその装置を制御する方法
WO2021256498A1 (ja) 情報処理方法および情報処理装置
JP2023089508A (ja) シート類処理装置、制御方法、及び、制御システム
KR20210104394A (ko) 의류처리장치
KR20210104393A (ko) 의류처리장치
US20240126529A1 (en) Household appliances update management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231219