JP7417832B2 - Information processing method and information processing device - Google Patents
Information processing method and information processing device Download PDFInfo
- Publication number
- JP7417832B2 JP7417832B2 JP2020106611A JP2020106611A JP7417832B2 JP 7417832 B2 JP7417832 B2 JP 7417832B2 JP 2020106611 A JP2020106611 A JP 2020106611A JP 2020106611 A JP2020106611 A JP 2020106611A JP 7417832 B2 JP7417832 B2 JP 7417832B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- control information
- block
- parameter
- 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.)
- Active
Links
Images
Classifications
-
- D—TEXTILES; PAPER
- D06—TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
- D06F—LAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
- D06F33/00—Control of operations performed in washing machines or washer-dryers
- D06F33/30—Control of washing machines characterised by the purpose or target of the control
- D06F33/32—Control of operational steps, e.g. optimisation or improvement of operational steps depending on the condition of the laundry
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Textile Engineering (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Control Of Washing Machine And Dryer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Description
本開示は、情報処理方法、及び、情報処理装置に関する。 The present disclosure relates to an information processing method and an information processing device.
従来、家庭用電化製品及び住宅設備等は、その製造者等によって予め用意された運転条件(制御プログラム)に従って制御される。特許文献1には、ユーザが実施したい洗濯の運転条件を設定可能な洗濯機が開示されている。
BACKGROUND ART Conventionally, household electrical appliances, housing equipment, and the like are controlled according to operating conditions (control programs) prepared in advance by their manufacturers.
しかしながら、上記従来技術では、製品の製造者等によって予め開発された制御プログラムが製品に予め格納されていなければならず、多様なユーザの望みに合わせて制御プログラムをカスタマイズ及びアップデートすることは難しい。 However, in the above-mentioned conventional technology, a control program developed in advance by the product manufacturer or the like must be stored in the product in advance, and it is difficult to customize and update the control program in accordance with the wishes of various users.
そこで、本開示は、多種多様でかつ安全な制御プログラムを簡単に生成することができる情報処理方法などを提供する。 Therefore, the present disclosure provides an information processing method that can easily generate a wide variety of safe control programs.
本開示の一態様に係る情報処理方法は、洗濯機の運転を制御するための複数の制御情報を含む洗濯情報を生成する情報処理方法であって、それぞれが洗濯物に対する洗濯に関する運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含む洗濯情報の入力を受け付け、洗濯の順番に関するルールに基づいて前記洗濯情報を修正する。 An information processing method according to an aspect of the present disclosure is an information processing method for generating laundry information including a plurality of pieces of control information for controlling the operation of a washing machine, each of which performs an operation related to washing laundry. Accepts input of laundry information including a plurality of control information that is control information regarding parameters for controlling functional units and order information regarding the order in which the plurality of control information is executed, and executes the laundry information based on rules regarding the order of laundry. Correct.
また、本開示の他の一態様に係る情報処理方法は、洗濯機の運転を制御するための複数の制御情報を含む洗濯情報を生成する情報処理方法であって、前記複数の制御情報のそれぞれは、洗濯物に対する洗濯に関する運転を行う洗濯機能部を制御するパラメータに関する制御情報を含み、前記情報処理方法は、前記複数の制御情報のうちの第1の制御情報の入力を受け付け、受け付けた前記第1の制御情報と、洗濯の順番に関するルールと、に基づいて、前記第1の制御情報の次の順番で実行されることが許容される制御情報の条件を特定し、特定した前記条件に基づいて、前記第1の制御情報の次に実行される順番に設定される第2の制御情報の入力を制限する。 Further, an information processing method according to another aspect of the present disclosure is an information processing method for generating laundry information including a plurality of pieces of control information for controlling the operation of a washing machine, wherein each of the plurality of pieces of control information is includes control information regarding parameters for controlling a washing function unit that performs an operation related to washing laundry, and the information processing method receives an input of first control information among the plurality of control information, and Based on the first control information and a rule regarding the order of washing, specify a condition of control information that is allowed to be executed in the order following the first control information, and according to the specified condition. Based on this, input of second control information set to be executed next to the first control information is restricted.
なお、これらの包括的又は具体的な態様は、システム、装置、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。 Note that these comprehensive or specific aspects may be realized by a system, a device, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, and the system, method, integrated circuit, computer program and a recording medium may be used in any combination.
本開示の一態様に係る情報処理方法は、多種多様でかつ安全な制御プログラムを簡単に生成することができる。 The information processing method according to one aspect of the present disclosure can easily generate a wide variety of safe control programs.
(本開示の基礎となった知見)
本願発明者らが本開示に至るまでの経緯を説明する。アクチュエータ及び/又は加熱器を有する家庭用電化製品等において、多様なユーザの望みに合わせて制御プログラムを開発するためには、開発環境のオープン化が求められる。すなわち、制御プログラムの開発の難度を低下させて、サードパーティが制御プログラムの開発に容易に参加できる環境が求められる。このような環境では、例えば、アパレル企業が、自社の販売する衣服を洗濯するための洗濯機の制御プログラムを開発することも可能となる。
(Findings that formed the basis of this disclosure)
The circumstances leading up to the present disclosure will be explained by the inventors of the present application. BACKGROUND ART In order to develop control programs for household electrical appliances and the like that have actuators and/or heaters in accordance with the desires of various users, an open development environment is required. In other words, there is a need for an environment that reduces the difficulty of developing control programs and allows third parties to easily participate in the development of control programs. In such an environment, for example, an apparel company could develop a control program for a washing machine that washes the clothes it sells.
そこで、本発明者らは、製品に含まれるアクチュエータ及び加熱器の制御を抽象化した機能ブロックを用いて、安全面の担保を維持しながら、制御プログラムを開発可能な環境を構築し、複数の機能ブロックの組み合わせからなる制御プログラムをパッケージ化してアプリケーションとして配信可能な仕組みを検討した。これにより、多種多彩なアプリケーションの配信が可能となり、より多様なユーザの望みに応えて製品をカスタマイズ及びアップデートすることが可能となる。しかしながら、このような環境では、危険なアプリケーション(つまり、製品を安全に制御することができないアプリケーション)が配信される可能性があり、製品の安全性が低下する。 Therefore, the present inventors created an environment in which control programs can be developed while maintaining safety by using functional blocks that abstract the control of actuators and heaters included in the product, and multiple We investigated a mechanism that allows control programs consisting of combinations of functional blocks to be packaged and distributed as applications. This makes it possible to distribute a wide variety of applications, and to customize and update products to meet the desires of a wider variety of users. However, in such an environment, dangerous applications (i.e., applications that cannot safely control the product) may be distributed, making the product less secure.
例えば、家庭用電化製品等に含まれるプログラムは、アクチュエータ及び/又は加熱器を直接制御するための機器に組込まれ、かつ、製造者により開発されたプログラムと、サードパーティにより開発されたプログラムとを互いに入り交じった状態で含むことが想定される。このとき、製造者は、サードパーティに、ノウハウを含む全ての家庭用電化製品等の情報を公開しない可能性が高い。例えば、アクチュエータ及び加熱器を駆動するパラメータ又はタイミングは、製造者の家庭用電化製品等の性能に関わるノウハウである。よって、競争力の低下につながる恐れがあるため、製造者は、サードパーティに、家庭用電化製品等を自在に駆動できるようにノウハウをオープンにする可能性は低い。 For example, programs included in household appliances, etc. are built into equipment to directly control actuators and/or heaters, and include programs developed by the manufacturer and programs developed by third parties. It is assumed that they are included in a mixed state. At this time, there is a high possibility that the manufacturer will not disclose all information, including know-how, about the household appliances to third parties. For example, the parameters or timing for driving actuators and heaters are a manufacturer's know-how related to the performance of household appliances and the like. Therefore, manufacturers are unlikely to disclose their know-how to third parties so that they can freely drive home appliances and the like, as this may lead to a decline in competitiveness.
そのため、サードパーティは、家庭用電化製品等の情報不足により、製造者が想定しない制御の組み合わせ、又はパラメータ範囲を含むアプリケーション、すなわち、安全性が担保されないアプリケーションを作成する可能性がある。このようなアプリケーションがユーザに提供されることは、ユーザに望ましくない。 Therefore, due to lack of information about household appliances, third parties may create applications that include control combinations or parameter ranges that the manufacturer did not expect, that is, applications that do not ensure safety. It is undesirable for users to be provided with such applications.
また、家庭用電化製品等の製造者は、新たな制御プログラムを提供することで、ユーザのくらしのアップデートを試みることが考えられる。しかしながら、多種多様な新たな制御プログラムの開発には、パラメータの調整、またはハードの性能評価などの膨大な工数がかかる。家庭用電化製品等は、アクチュエータ及び/又は加熱器のハードが物理的に駆動するため、家庭用電化製品等のプログラムは、スマートフォンのプログラムと比較して、性能評価などの工数が大きくなることが容易に予想される。しかし、大量生産ではなく、ユーザ一人一人の生活に応じたオンデマンド開発が求められる時代において、スマートフォンのプログラムと同様に、家庭用電化製品等の多種多様な制御プログラム開発することが求められる。そのため、製造者は、膨大な工数を低減した上で、製品の安全性を担保する多種多様なアプリケーションを作成しなければならない。 Additionally, manufacturers of household electrical appliances and the like may try to update users' lifestyles by providing new control programs. However, developing a wide variety of new control programs requires a huge amount of man-hours such as adjusting parameters and evaluating hardware performance. Since the actuator and/or heater hardware of household appliances is physically driven, programming for household appliances may require more man-hours for performance evaluation, etc., than programming for smartphones. easily predicted. However, in an era where on-demand development tailored to each user's lifestyle is required, rather than mass production, there is a need to develop a wide variety of control programs for household appliances, just like programs for smartphones. Therefore, manufacturers must create a wide variety of applications that ensure product safety while reducing a huge amount of man-hours.
さらに、製造者は、サードパーティが提供するアプリケーションを用いて家庭用電化製品等が動作した場合でも、安全に動作することを保証することを望むことが考えられる。このとき、多種多様なアプリケーションを家庭用電化製品等で実際に駆動させて安全性を検証する作業の量を低減することが望まれる。 Furthermore, manufacturers may wish to ensure that household appliances and the like operate safely even when operated using applications provided by third parties. At this time, it is desirable to reduce the amount of work involved in actually running a wide variety of applications on household electrical appliances and verifying their safety.
そこで、本開示は、アクチュエータ及び/又は加熱器を駆動する複数の機能ブロックで規定された多種多彩なアプリケーションを、より簡単かつ安全に実行することができる装置等を提供する。 Therefore, the present disclosure provides a device and the like that can more easily and safely execute a wide variety of applications defined by a plurality of functional blocks that drive actuators and/or heaters.
以下、実施の形態について、図面を参照しながら具体的に説明する。 Hereinafter, embodiments will be specifically described with reference to the drawings.
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。 Note that the embodiments described below are all inclusive or specific examples. The numerical values, shapes, materials, components, arrangement positions and connection forms of the components, steps, order of steps, etc. shown in the following embodiments are merely examples, and do not limit the scope of the claims.
また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。 Further, each figure is not necessarily strictly illustrated. In each figure, substantially the same configurations are designated by the same reference numerals, and overlapping explanations will be omitted or simplified.
(実施の形態1)
[1.1 ハードウェア構成]
本実施の形態におけるシステム1のハードウェア構成について、図1~図2Cを参照しながら説明する。図1は、実施の形態1におけるシステム1のハードウェア構成図である。図2Aは、実施の形態1におけるクラウドサーバ10のハードウェア構成図である。図2Bは、実施の形態1における装置20のハードウェア構成図である。図2Cは、実施の形態1における端末30のハードウェア構成図である。
(Embodiment 1)
[1.1 Hardware configuration]
The hardware configuration of the
図1及び図3に示すように、本実施の形態におけるシステム1は、クラウドサーバ10と、施設2a~2dで用いられる装置20a~20hと、端末30a~30dと、を備える。施設2a~2dは、例えば住宅であるが、これに限定されない。施設2a~2dは、例えばマンション、店舗、オフィス等であってもよい。システム1は、制御システムの一例である。
As shown in FIGS. 1 and 3, the
クラウドサーバ10は、コンピュータネットワーク(例えばインターネット)を介して提供される仮想的なサーバである。クラウドサーバ10は、コンピュータネットワークを介して、装置20a~20h及び端末30a~30dに通信可能に接続される。なお、クラウドサーバ10の代わりに物理サーバが用いられてもよい。クラウドサーバ10は、外部機器の一例である。
The
図2Aに示すように、クラウドサーバ10は、仮想的に、プロセッサ11と、プロセッサ11に接続されたメモリ12と、を備える。プロセッサ11は、メモリ12に格納されたインストラクション又はソフトウェアプログラムが実行されたときに、後述するシーケンスマネージャ及びデバイスマネージャとして機能する。
As shown in FIG. 2A, the
装置20a~20hは、施設2a~2dで利用される電気機械器具である。なお、図1では、施設2b~2dで利用される装置20c~20hの図示が省略されている。以下において、装置20a~20hの区別が不要な場合には装置20と記載する。
The
装置20としては、家庭用電化製品(家電)及び住宅設備等を用いることができる。家庭用電化製品(家電)及び住宅設備等は、住宅内で使用される機器に限られず、事業に用いられる機器も含む。なお、本開示では、家庭用電化製品及び住宅設備等を家庭用電化製品等と省略して記載することがある。家電としては、例えば、電子レンジ、炊飯器、ミキサー(Blender)、電気オーブン、電気トースター、電気ポット、ホットプレート、IH(Induction heating)調理器、ロースター、ベーカリー、電気圧力調理なべ、電気無水調理なべ、マルチクッカー、コーヒーメーカー、冷蔵庫、洗濯機、食洗器、掃除機、エアコン、空気清浄機、加湿器、ドライヤー、扇風機、及びイオン発生器等が用いられる。住宅設備としては、例えば、電動シャッター、電子ロック、及び浴槽用の電気湯沸し器等が用いられる。なお、装置20は、これらの機器に限定されない。
As the
図2Bに示すように、装置20は、筐体21と、アクチュエータ22と、加熱器23と、制御部24と、を備える。なお、装置20は、アクチュエータ22及び加熱器23の少なくとも1つを備えればよく、アクチュエータ22及び加熱器23の両方を備えなくてもよい。
As shown in FIG. 2B, the
筐体21は、アクチュエータ22と、加熱器23と、制御部24と、を収容する。また、筐体21は、対象物を処理するための内部空間を有してもよい。例えば、洗濯機の洗濯槽、電子レンジの加熱室、及び炊飯器の内釜等が、対象物を処理するための内部空間に相当する。
The
アクチュエータ22は、電気信号に基づいて入力エネルギーを物理的運動に変換する機械要素である。アクチュエータ22としては、例えば電気モータ、油圧シリンダ及び空気圧アクチュエータ等を用いることができるが、これらに限定されない。
加熱器23は、電気エネルギーを熱エネルギーに変換する電気加熱器である。加熱器23は、例えばジュール加熱、誘導加熱及び誘電加熱等により対象物を加熱する。加熱器23としては、例えば、ニクロム線、コイル及びマグネトロン等を用いることができる。
The
ここで、本開示の装置20が、アクチュエータ22及び/又は加熱器23を備える理由の一例を説明する。家庭用電化製品等の製造者が、アクチュエータ22及び加熱器23を駆動するパラメータ、駆動の組み合わせを全て自由に制御可能な開発環境をサードパーティに提供した場合を考える。このとき、サードパーティは、製造者が想定しているアクチュエータ22及び/又は加熱器23を安全に駆動できるパラメータ範囲、又はアクチュエータ22及び/又は加熱器23の駆動制限を逸脱して制御するプログラムを作成することが可能になる。特に、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の、製造者の想定していない駆動は、安全性の担保の課題が大きい。製造者の想定していない駆動としては、例えば、アクチュエータの一例である電気モータの高速回転、及び、加熱器23への過電流の供給が挙げられる。本願発明者らは、過度に安全面を考慮することで、ユーザに多種多様なアプリケーションを提供できる環境の構築を阻害しないことを目指した。そこで、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23に特化して、安全面を担保することを想定し、本開示の装置20を対象としている。
Here, an example of why the
制御部24は、アクチュエータ22及び/又は加熱器23を制御するコントローラであり、後述するデバイスとして機能する。制御部24は、例えば、集積回路で構成される。
The
端末30a~30dは、施設2a~2dでそれぞれ利用され、ユーザインタフェースとして機能する。なお、図1では、施設2b~2dで利用される端末30b~30dの図示が省略されている。以下において、端末30a~30dの区別が不要な場合には端末30と記載する。
The
端末30は、コンピュータネットワークを介してクラウドサーバ10及び装置20に接続され、後述するユーザインタフェース(UI)として機能する。端末30としては、スマートフォン及びタブレットコンピュータ等の持ち運び可能な情報端末を用いることができる。なお、端末30は、施設2a~2dの壁、床又は天井に固定された端末であってもよい。また、端末30は、装置20に含まれてもよい。例えば、端末30は、各装置20a~20hに内蔵されたディスプレイ等を有する表示端末として実現されてもよい。
The terminal 30 is connected to the
図2Cに示すように、端末30は、ディスプレイ31と、入力デバイス32と、を備える。ディスプレイ31としては、例えば液晶ディスプレイ及び有機ELディスプレイを用いることができる。入力デバイス32としては、例えばタッチパネル、キーボード、マウス及び機械式ボタン等を用いることができる。また、入力デバイス32として、音声入力デバイスが用いられてもよい。ディスプレイ31と入力デバイス32とは、タッチスクリーンとして一体で実装されてもよい。または、入力デバイス32として、ジェスチャー入力デバイスが用いられてもよい。ジェスチャー入力デバイスは、例えば、カメラと認識部とを有する。カメラはジェスチャーを含む画像を撮像し、認識部は画像を用いてジェスチャーを認識する。
As shown in FIG. 2C, the terminal 30 includes a
[1.2 機能構成]
次に、本実施の形態におけるシステム1の機能構成について、図3を参照しながら説明する。図3は、実施の形態1におけるシステム1の機能構成図である。
[1.2 Functional configuration]
Next, the functional configuration of the
クラウドサーバ10は、シーケンスマネージャ100と、デバイスマネージャ200と、を備える。装置20a~20hは、デバイス300a~300hをそれぞれ備える。端末30a~30dは、UI400a~400dをそれぞれ備える。
The
以下において、デバイス300a~300hの区別が不要な場合にはデバイス300と記載する。また、UI400a~400dの区別が不要な場合にはUI400と記載する。
In the following,
シーケンスマネージャ100は、複数のアプリケーションを管理している。複数のアプリケーションは、例えばユーザの操作によって、アプリケーション配信プラットフォームからシーケンスマネージャ100にダウンロードされる。または、アプリケーション配信プラットフォームに含まれるアプリケーションは、シーケンスマネージャ100にダウンロードされなくてもよい。その場合、シーケンスマネージャ100のデータベースに、アプリケーション配信プラットフォームに含まれるアプリケーションが紐づけていることを示す情報が記録されてもよい。アプリケーションの詳細については後述する。
デバイスマネージャ200は、複数の施設2a~2d及び各施設2a~2dで利用されるデバイス300及びUI400を管理するためのデータベースを有する。デバイスマネージャ200は、データベースに、施設2a~2dに紐づくデバイス情報及びUI情報を記録することにより、デバイス300及びUI400を管理する。デバイス情報及びUI情報は、例えば、制御機能及び駆動機能、並びに稼働状況などを含む。例えば、デバイスマネージャ200は、デバイス300の稼働状況を管理して、デバイス300の稼働スケジュールを把握することができる。また、デバイスマネージャ200は、デバイス300のログ情報を管理してもよい。
The
なお、このようなデータベースは、デバイスマネージャ200の代わりにシーケンスマネージャ100が有してもよく、シーケンスマネージャ100及びデバイスマネージャ200の両方が有してもよい。
Note that such a database may be included in the
デバイス300は、装置20の制御機能及び駆動機能を有する。デバイス300は、デバイスマネージャ200からの指示に従って装置20を駆動することができる。
UI400は、ユーザに情報を提供し、ユーザから入力を受け付ける。
The
次に、装置20の一例として洗濯機500の構成について、図4および図5を参照しながら説明する。図4は、洗濯機500の構成の一例を示す図である。図5は、洗濯機500の機能構成の一例を示すブロック図である。
Next, the configuration of a
洗濯機500は、内部空間を有する筐体501を備える。筐体501の前側には、開口が設けられ、筐体501の開口には開閉自在なドア505が設けられている。筐体501の開口には、ドア505のロックをするためのドアロック機構506が設けられている。
筐体501の内部には、筐体501に弾性支持された水槽502が設けられている。水槽502は、洗濯機500が備える槽の一例である。水槽502の内部には、前側の一端に開口が形成され、かつ、後側の他端に底が形成されている有底円筒状の洗濯槽503(ドラムとも言う)が回転軸Ax1で回転自在に設けられている。水槽502の内面と洗濯槽503の外面との間には、隙間が形成されている。洗濯槽503の回転軸Ax1は、例えば、洗濯槽503の開口が底よりも上になるように傾斜している。
A
洗濯槽503は、洗濯槽503の側面を貫通する複数の孔が設けられている。水槽502の後面には、洗濯槽503を回転駆動する洗濯モータ504が設けられている。洗濯モータ504は、例えば、直流モータであり、インバータ制御によって回転速度を自在に制御することができる。
The
水槽502の上部には、振動センサ507が設けられている。振動センサ507は、水槽502の振動の度合いを検知する。
A
水槽502の上部には、給水管512が接続されている。給水管512は、水道に接続される。給水管512には、水道からの水の流入を止める給水弁511が設けられている。給水弁511は、例えば、制御信号が入力されることにより電動で開閉する電磁弁である。給水管512には、洗濯槽503内に投入される液体洗剤及び/又は柔軟剤が収容されて自動投入機513が設けられている。自動投入機513は、アクチュエータを用いて制御信号に応じた量の液体洗剤及び/又は柔軟剤を計量し、計量した液体洗剤及び/又は柔軟剤を給水管512に投入する装置である。このため、水道からの水と自動投入機513により投入された所定量の液体洗剤及び/又は柔軟剤とは、給水管512において混ざり合って洗濯水となり、水槽502に流入する。なお、自動投入機513は、液体洗剤を投入するためのアクチュエータと、柔軟剤を投入するためのアクチュエータとの両方を有していてもよい。
A
また、洗濯機500には、水槽502の水位を検出する水位センサ(図示せず)が設けられている。水位センサは、水槽502に接続されている給水管512とは別の管に配置され、水槽502の内圧を検出する圧力センサであってもよい。つまり、水槽502の水位は、圧力センサの検出結果を用いて検出される。
The
また、水槽502の上部には、風呂水配管517が接続されている。風呂水配管517には、家庭内の浴槽に貯められた水を導入するためのホースが接続される。風呂水配管517には、浴槽に貯められた水を汲み上げるバスポンプ516が接続されている。バスポンプ516を駆動することで、浴槽からホースを介して浴槽内の水を水槽502の内部に導入するバスポンプによる給水を行うことができる。
Further, a
また、水槽502の上部には、風呂水配管517が接続されている。風呂水配管517には、家庭内の浴槽に貯められた水を導入するためのホースが接続される。風呂水配管517には、浴槽に貯められた水を汲み上げるバスポンプ516が接続されている。バスポンプ516を駆動することで、浴槽からホースを介して浴槽内の水を水槽502の内部に導入する注水動作を行うことができる。
Further, a
水槽502の下部には、排水管521が接続されている。排水管521は、洗濯機500の外部に洗濯水を排出する排水ホースに接続されている。排水管521には、排水管521を流れる水の中の異物を取り除くための排水フィルタ522と、排水管521から排水ホースへの水が流れることを止める排水弁523とが設けられている。排水弁523は、例えば、制御信号が入力されることにより電動で開閉する電磁弁である。
A
また、排水管521には、循環用配管525が接続されている。循環用配管525は、一端が排水管521に接続され、他端が水槽502の前側下部に接続されている。排水管521を流れ排水フィルタ522を通過した水を水槽502に戻すための配管である。循環用配管525には、水槽502内の水を循環させる循環ポンプ524が接続されている。循環ポンプ524が駆動すると、排水管521を流れたあと循環用配管525に流入した洗濯水は、循環ポンプ524によって水槽502内に戻される。
Furthermore, a
また、水槽502の前側の上部にはダクト533の一端が接続されており、水槽502の後側の上部にはダクト533の他端が接続されている。ダクト533には、ダクト533内の空気を冷却した後に加熱するヒートポンプ532と、ダクト533の空気を循環させる循環ファン534とが設けられている。ヒートポンプ532は、図示しない冷媒回路により構成され、冷媒回路は、コンプレッサ、凝縮器、膨張弁および蒸発器を有する。冷媒回路内では、コンプレッサが駆動することにより冷媒が循環する。ヒートポンプ532では、ダクト533内の空気は、蒸発器で冷却された後に凝縮器で加熱される。蒸発器で冷却されることで、ダクト533内の空気中の水分が取り除かれ、その後、凝縮器で加熱されることでダクト533内の空気は、温められ乾燥した高温の空気となる。温められ乾燥した高温の空気は、循環ファン534により、水槽502の内部に送風される。これにより、水槽502の内部の衣類などの洗濯物の乾燥が促進される。
Further, one end of a
ダクト533の上流側には、吸気センサ531が設けられる。吸気センサ531は、ダクト533の上流側を流れる空気の温度を検知するセンサである。
An
ダクト533の下流側には、温風センサ535が設けられる。温風センサ535は、ダクト533内の空気の温度を検知する。
A
ダクト533の下流側には、洗濯槽503内の洗濯物を除菌する除菌装置536が設けられる。除菌装置536は、帯電微粒子水などの効能物質を生成する。除菌装置536により生成された効能物質が含まれる空気は、循環ファン534により洗濯槽503の内部に吹き出されるため、洗濯槽503の内部の洗濯物は、効能物質により除菌される。
A sterilizing
また、水槽502の内部には、水槽502の内部に泡が発生したことを検知する第1泡センサ541および第2泡センサ542が設けられている。第1泡センサ541は、水槽502の内部に第1の量よりも多い泡が発生したことを検知する。第2泡センサ542は、水槽502の内部に第2の量よりも多い泡が発生したことを検知する。第1の量は、第2の量よりも多い。つまり、第1泡センサ541は、第2泡センサ542よりも多くの泡が発生したことを検知する。
Furthermore, inside the
また、水槽502の下部には、水槽502の洗濯水を加熱するための温水ヒータ543は設けられている。また、水槽502の下部には、水槽502内の洗濯水の温度が所定温度よりも高い温度であることを検知する温水センサ544が設けられている。
Further, a
筐体501の前側上部には、ユーザから洗濯機500の操作のための入力を受け付ける操作パネル560が設けられている。操作パネル560は、ユーザからの入力を受け付けた結果に応じた表示を行ってもよいし、当該結果に応じた音を出力してもよい。また、操作パネル560は、制御装置550による演算結果を表示してもよいし、当該演算結果を示す音を出力してもよい。また、操作パネル560は、洗濯機500の動作状態を表示してもよいし、当該動作状態を示す音を出力してもよい。通信部570は、外部機器と通信可能であり、例えば、コンピュータネットワークに通信可能に接続される通信インタフェースである。通信部570は、無線LAN(Local Area Network)インタフェースであってもよいし、有線LAN(Local Area Network)インタフェースであってもよいし、携帯電話通信網に接続するためのインタフェースであってもよい。また、通信部570は、クラウドサーバ10に通信可能に接続されているハブ機器(図示せず)と通信可能に接続されていてもよい。つまり、通信部570は、ハブ機器を経由してクラウドサーバ10と通信可能に接続されていてもよい。通信部570は、ハブ機器との間で、赤外線・近距離無線通信などによって通信を行ってもよいし、上記で例示した通信インタフェースで通信を行ってもよい。
An
筐体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の一例である。
A
ここで、アプリケーションについて説明する。本実施の形態では、アプリケーション(以下、略してアプリということもある)とは、アクチュエータ22及び/又は加熱器23を駆動する複数の機能ブロック(以下、略してブロック)で規定される制御プログラムを意味する。複数のブロックの各々は、アクチュエータ22又は加熱器23を駆動するためのパラメータを含むことができる。具体的には、複数のブロックの各々は、アクチュエータ22又は加熱器23の制御を抽象化したものである。なお、複数のブロックの各々は、制御情報の一例である。
Here, the application will be explained. In the present embodiment, an application (hereinafter also referred to as an application for short) is a control program defined by a plurality of functional blocks (hereinafter referred to as blocks for short) that drive the
なお、アプリケーションは、アクチュエータ22及び/又は加熱器23を駆動する複数のブロックに加えて、アクチュエータ22及び/又は加熱器23を駆動しないブロックを含んでもよい。アクチュエータ22及び/又は加熱器23を駆動しないブロックの一例は、デバイス300の有するインタフェースを用いた情報表示、デバイス300の有するブザーを用いた音声出力、デバイス300の有するランプの点灯または消灯などを含む。また、ブロックは、アクチュエータ22又は加熱器23の駆動を開始する条件を含んでもよい。例えば、第1ブロック、第2ブロックを含むアプリケーションを例に説明する。ここで、第1ブロックの実行中に、第2ブロックに切り替える際に、第2ブロックに含まれる開始条件を満たしたときに、第1ブロックから第2ブロックに切り替える。また、ブロックは、開始条件ではなく、終了条件を含んでいてもよい。第1ブロックの実行中に、第2ブロックに切り替える際に、第1ブロックに含まれる終了条件を満たしたときに、第1ブロックから第2ブロックに切り替える。
Note that, in addition to a plurality of blocks that drive the
次に、洗濯機500のアプリケーションを規定するブロックの具体例について図6A~図6Oを用いて説明する。図6A~図6Oで示されるブロックのそれぞれは、洗濯機能部による運転を制御するパラメータに関する制御情報である。制御情報は、洗濯機500によって実行可能な、洗濯に関する運転を制御するための情報であればよい。洗濯機能部による運転は、洗濯物に対する洗濯に関する運転であり、例えば、洗濯量検知動作、給水動作、注水濯ぎ動作、洗剤投入動作、柔軟剤投入動作、撹拌動作、ドラム回転動作、脱水動作、排水動作、ドアロック動作、浸漬動作、除菌・抗菌動作、ブザー動作、送風動作、及び、乾燥動作の少なくとも1つを含む。
Next, specific examples of blocks that define applications of
図6Aは、実施の形態1におけるアプリケーションを規定するブロックの第1の例を示す。図6Aに示すブロック1000は、洗濯槽503に投入された衣類などの洗濯物の量を検知する洗濯量検知動作を制御するブロックである。洗濯量検知動作では、例えば、洗濯モータ504を駆動させることで洗濯モータ504に流れるトルク電流を検出することで、検出したトルク電流に予め対応付けられた洗濯量を制御装置550のメモリを参照することで特定し、特定した洗濯量を洗濯槽503内の洗濯量として検知する。
FIG. 6A shows a first example of blocks defining an application in the first embodiment. A
図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の駆動を停止することで給水を停止する。
FIG. 6B shows a second example of blocks defining an application in the first embodiment. A
なお、給水動作において第2の給水経路で給水が行われる場合において、所定期間(例えば、5~10分間)経過してもパラメータ1011で示される水位にならなかった場合、制御装置550は、第2の給水経路から第1の給水経路に切り替えて給水を行ってもよい。
Note that when water is supplied through the second water supply route in the water supply operation, if the water level does not reach the level indicated by the
図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の駆動の強度を示すとも言い換えることができる。
FIG. 6C shows a third example of blocks defining an application in the first embodiment. A
図6Dは、実施の形態1におけるアプリケーションを規定するブロックの第4の例を示す。図6Dに示すブロック1030は、洗剤投入動作を制御するブロックであり、パラメータ1031を含む。洗剤投入動作は、自動投入機513のアクチュエータを駆動することで給水管512に所定量の液体洗剤を自動的に投入する動作である。パラメータ1031は、給水管512への液体洗剤の投入量を示す値を含む。パラメータ1031は、自動投入機513の液体洗剤を投入するアクチュエータの動作量を示すとも言い換えることができる。
FIG. 6D shows a fourth example of blocks defining an application in the first embodiment.
図6Eは、実施の形態1におけるアプリケーションを規定するブロックの第5の例を示す。図6Eに示すブロック1040は、柔軟剤投入動作を制御するブロックであり、パラメータ1041を含む。柔軟剤投入動作は、自動投入機513のアクチュエータを駆動することで給水管512に所定量の柔軟剤を自動的に投入する動作である。パラメータ1041は、給水管512への柔軟剤の投入量を示す値を含む。パラメータ1041は、自動投入機513の柔軟剤を投入するアクチュエータの動作量を示すとも言い換えることができる。
FIG. 6E shows a fifth example of blocks defining an application in the first embodiment.
図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を駆動するパラメータを含んでいてもよい。
FIG. 6F shows a sixth example of blocks defining an application in the first embodiment.
制御装置550は、撹拌動作において、パラメータ1051で示される種類の撹拌を行う。制御装置550は、パラメータ1052で示される回転数で洗濯モータ504をパラメータ1056で示される撹拌強さで回転させ、撹拌動作の開始からパラメータ1055で示される動作時間が経過すると洗濯モータ504を停止する。また、制御装置550は、撹拌動作において、パラメータ1056に基づいて給水弁511を開にする。また、制御装置550は、撹拌動作において、パラメータ1057で示される回転方向に循環ポンプ524を動作させる。
In the stirring operation, the
図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を駆動するパラメータを含んでいてもよい。
FIG. 6G shows a seventh example of blocks defining an application in the first embodiment.
制御装置550は、ドラム回転動作において、パラメータ1061で示される回転数で洗濯モータ504をパラメータ1062で示される回転方向で回転させる。また、制御装置550は、ドラム回転動作において、パラメータ1063に基づいて給水弁511を開にする。また、制御装置550は、ドラム回転動作において、パラメータ1064に基づく方向に循環ポンプ524を動作させる。
In the drum rotation operation,
図6Hは、実施の形態1におけるアプリケーションを規定するブロックの第8の例を示す。図6Hに示すブロック1070は、脱水動作を制御するブロックであり、パラメータ1071、1072を含む。パラメータ1071は、ドラム(洗濯槽503)の回転数(回転速度)、つまり、洗濯モータ504の回転速度を示す値を含む。パラメータ1071は、アクチュエータ22及び/又は加熱器23の駆動の強度を示すとも言い換えることができる。パラメータ1072は、脱水動作の動作時間を示す値を含む。制御装置550は、脱水動作において、パラメータ1071に示される回転数で洗濯モータ504を回転させ、脱水動作の開始からパラメータ1072で示される動作時間が経過すると洗濯モータ504を停止する。
FIG. 6H shows an eighth example of blocks defining an application in the first embodiment.
図6Iは、実施の形態1におけるアプリケーションを規定するブロックの第9の例を示す。図6Iに示すブロック1080は、水槽502からの排水動作を制御するブロックであり、パラメータ1081、1082を含む。パラメータ1081は、排水弁523の開状態又は閉状態を示す値を含む。パラメータ1082は、排水を停止するトリガとなる水位を示す値を含む。制御装置550は、排水動作において、排水弁523を開状態に動作させることで水槽502内の洗濯水を洗濯機500外への排水動作を開始する。制御装置550は、その後水位センサにより水槽502の水位がパラメータ1082で示される水位であることが検知されると排水弁523を閉状態に動作させて、排水動作を終了する。
FIG. 6I shows a ninth example of blocks defining an application in the first embodiment. A
図6Jは、実施の形態1におけるアプリケーションを規定するブロックの第10の例を示す。図6Jに示すブロック1090は、ドアロック動作を制御するブロックであり、パラメータ1091を含む。パラメータ1091は、ドアロック機構506をロック状態にするかロック解除状態にするかを示す値を含む。パラメータ1091は、アクチュエータ22及び/又は加熱器23の駆動後の状態を示すとも言い換えることができる。制御装置550は、パラメータ1091がドアロック機構506をロック状態にすることが示されている場合で、ドアロック機構506がロック解除状態である場合、ドアロック機構506をロック状態に切り替える。制御装置550は、パラメータ1091がドアロック機構506をロック解除状態にすることが示されている場合で、ドアロック機構506がロック状態である場合、ドアロック機構506をロック解除状態に切り替える。
FIG. 6J shows a tenth example of blocks defining an application in the first embodiment.
図6Kは、実施の形態1におけるアプリケーションを規定するブロックの第11の例を示す。図6Kに示すブロック1100は、浸漬動作を制御するブロックであり、パラメータ1101、1102を含む。パラメータ1101は、循環ポンプ524の回転方向(正転又は反転)を示す値を含む。パラメータ1102は、浸漬動作の動作時間を示す値を含む。制御装置550は、パラメータ1101で示される回転方向に循環ポンプ524を動作させ、浸漬動作の開始からパラメータ1102で示される動作時間が経過すると循環ポンプ524を停止する。
FIG. 6K shows an eleventh example of blocks defining an application in the first embodiment.
図6Lは、実施の形態1におけるアプリケーションを規定するブロックの第12の例を示す。図6Lに示すブロック1110は、除菌・抗菌動作を制御するブロックであり、パラメータ1111、1112を含む。パラメータ1111は、除菌装置536及び循環ファン534を駆動させる動作時間を示す値を含む。パラメータ1112は、循環ファン534の回転数(回転速度)を示す値を含む。制御装置550は、除菌・抗菌動作において、除菌装置536及び循環ファン534を駆動させ、パラメータ1111で示される動作時間が経過すると除菌装置536及び循環ファン534を停止する。除菌・抗菌動作において、制御装置550は、循環ファン534をパラメータ1112で示される回転数(回転速度)で駆動する。
FIG. 6L shows a twelfth example of blocks defining an application in the first embodiment. A
図6Mは、実施の形態1におけるアプリケーションを規定するブロックの第13の例を示す。図6Mに示すブロック1120は、ブザー動作を制御するブロックであり、パラメータ1121を含む。パラメータ1121は、操作パネル560のスピーカを駆動させる動作時間を示す値を含む。制御装置550は、ブザー動作において、ブザー音を出力し、ブザー音の出力を開始してからパラメータ1121で示される動作時間が経過するとブザー音の出力を停止する。
FIG. 6M shows a thirteenth example of blocks defining an application in the first embodiment.
図6Nは、実施の形態1におけるアプリケーションを規定するブロックの第14の例を示す。図6Nに示すブロック1130は、送風動作を制御するブロックであり、パラメータ1131、1132を含む。パラメータ1131は、循環ファン534を駆動させる動作時間を示す値を含む。パラメータ1132は、循環ファン534により水槽502内に送風される空気の温度を示す値を含む。制御装置550は、送風動作において、循環ファン534を駆動させ、循環ファン534の駆動を開始してからパラメータ1131で示される動作時間が経過すると循環ファン534を停止する。または、制御装置550は、送風動作において、循環ファン534を駆動させ、循環ファン534の駆動を開始してからパラメータ1132で示される温度以下に低下したことが温風センサ535で検知されると循環ファン534を停止する。
FIG. 6N shows a fourteenth example of blocks defining an application in the first embodiment. A
図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]などの組み合わせにより構成されていてもよい。
FIG. 6O shows a fifteenth example of blocks defining an application in the first embodiment.
アプリケーションを規定するためには、図6A~図6Nで示したようなブロックが複数用いられる。なお、図6A~図6Oに示す複数のブロックは例示であり、洗濯機500のためのブロックは、これらに限定されない。例えば、複数のブロックは、抽象化レベルによって階層化されてもよい。
To define an application, a plurality of blocks as shown in FIGS. 6A to 6N are used. Note that the plurality of blocks shown in FIGS. 6A to 6O are merely examples, and the blocks for
例えば、製造者向けの階層と製造者以外向けの階層とで抽象化レベルを変更してもよい。製造者以外の例は、他の製造者向けの階層、サードパーティ向けの階層である。
この時、製造者向けの階層は、製造者以外向けの階層より抽象度が低い。抽象度が低いことは、アクチュエータ及び加熱器を駆動するパラメータに近い内容が制御されることを意味する。
For example, the abstraction level may be changed between a hierarchy for manufacturers and a hierarchy for non-manufacturers. Non-manufacturer examples are hierarchies for other manufacturers, hierarchies for third parties.
At this time, the hierarchy for manufacturers has a lower level of abstraction than the hierarchy for non-manufacturers. A low level of abstraction means that the content close to the parameters that drive the actuators and heaters are controlled.
一方、製作者は、ノウハウ及び安全性を担保する最小の抽象化レベルを有するブロックを製造者以外向けに提供することで、製造者以外がアプリケーションを開発可能にする。製造者は、一般ユーザに、さらに高い抽象化レベルを有するブロックを提供することで、より多くの人がアプリケーションを開発可能にできる。さらに高い抽象化レベルは、例えば、一般ユーザ自身が専門的な知識がなくても理解できる用語で規定されたブロックに対応する。専門的な知識がなくても理解できる用語は、例えば、家庭用電化製品等の機能自体に対応する内容である。具体的には、洗濯機においての「洗い」ブロック中の水量に関するパラメータとして「たっぷり」を選択した場合に、一つの具体化されたレイヤーにおいては、給水ブロックにおける水位パラメータを60mmから100mmに上げ、撹拌ブロックにおける回転量パラメータを120rpmから100rpmに下げるなどの変更が行われる。上記より、抽象度の高いレベルにおけるブロックの並べ替え及びパラメータ変更は、より抽象度の低いブロックで実現することができる。これらのブロックにより、アクチュエータ及び加熱器の駆動に関する安全性、秘匿性を担保しながら、その組替、パラメータ調整によって自由にアプリケーション開発を行うことができる。 On the other hand, the manufacturer makes it possible for non-manufacturers to develop applications by providing blocks with a minimum level of abstraction that ensures know-how and safety to non-manufacturers. Manufacturers can enable more people to develop applications by providing blocks with higher levels of abstraction to general users. A higher level of abstraction corresponds, for example, to blocks defined in terms that can be understood by general users themselves without specialized knowledge. Terms that can be understood without specialized knowledge are, for example, those that correspond to the functions of household electrical appliances and the like. Specifically, when "plenty" is selected as the parameter regarding the amount of water in the "wash" block of a washing machine, in one materialized layer, the water level parameter in the water supply block is increased from 60 mm to 100 mm, Changes are made such as lowering the rotation amount parameter in the stirring block from 120 rpm to 100 rpm. From the above, rearranging blocks and changing parameters at a higher level of abstraction can be realized using blocks at a lower level of abstraction. These blocks allow application development to be carried out freely by rearranging and adjusting parameters while ensuring safety and confidentiality regarding the drive of the actuator and heater.
[1.3 処理]
次に、以上のように構成されたシステム1の処理について図7を参照しながら説明する。図7は、実施の形態1におけるシステム1のシーケンス図である。
[1.3 Processing]
Next, the processing of the
[1.3.1 準備フェーズF100]
まず、準備フェーズF100について説明する。
[1.3.1 Preparation phase F100]
First, the preparation phase F100 will be explained.
(ステップS110)
シーケンスマネージャ100は、デバイスマネージャ200にシーケンスマネージャ情報を送信する。このシーケンスマネージャ情報の送信は、例えばシステム管理者の命令により行われる。デバイスマネージャ200は、受信したシーケンスマネージャ情報を例えばシーケンスマネージャデータベースに登録する。なお、シーケンスマネージャ情報がシーケンスマネージャデータベースに予め登録されている場合は、このステップはスキップされてもよい。
(Step S110)
シーケンスマネージャ情報は、例えばシーケンスマネージャ100の識別子及び/又はアドレス(例えばURL(Uniform Resource Locator)、IP(Internet Protocol)アドレス等)を含む。さらに、シーケンスマネージャ情報は、任意の情報を含んでもよい。
The sequence manager information includes, for example, an identifier and/or address (eg, a URL (Uniform Resource Locator), an IP (Internet Protocol) address, etc.) of the
(ステップS112)
デバイス300は、デバイスマネージャ200にデバイス情報1201を送信する。このデバイス情報1201の送信は、例えばデバイス300がコンピュータネットワークに接続されたときに行われる。デバイスマネージャ200は、受信したデバイス情報1201をデバイスデータベース1200に登録する。なお、デバイス情報1201がデバイスデータベース1200に予め登録されている場合は、このステップはスキップされてもよい。
(Step S112)
The
なお、デバイス情報1201は、UI400に送信されてから、UI400を介してデバイスマネージャ200に登録されてもよい。
Note that the device information 1201 may be sent to the
デバイス情報1201は、デバイス300の識別子及び/又はアドレスを含む。さらに、デバイス情報1201は、任意の情報を含んでもよい。図8は、実施の形態1におけるデバイスデータベースの一例を示す。図8のデバイスデータベース1200には、デバイス情報1201を含む複数のデバイス情報が登録されている。各デバイス情報は、デバイスIDと、アドレスと、種別と、製造者名と、アクチュエータ/加熱器と、劣化レベルと、を含む。アクチュエータ/加熱器は、デバイス300を構成するアクチュエータ22及び/又は加熱器23の識別情報である。劣化レベルは、デバイス300を構成するアクチュエータ22及び/又は加熱器23が劣化しているか否かを示す劣化情報の一例である。ここでは、劣化レベルは、値が増加すればより劣化していることを示す。デバイス情報1201に、実行可能なブロックの情報が含まれていてもよい。実行可能なブロックに関する情報とは、データベースに含まれるブロックが実行可能又は実行不可能が対応付けられた情報でもよいし、実行可能なブロックのみの情報でもよい。また、ブロックが実行可能か否かは、デバイス情報1201に含まれるアクチュエータ/加熱器などの情報に基づいて予め準備され得る。
Device information 1201 includes an identifier and/or address of
なお、デバイス情報1201は、施設2a~2dを特定可能な情報を含んでもよい。
Note that the device information 1201 may include information that allows identification of the
(ステップS114)
UI400は、デバイスマネージャ200にUI情報を送信する。このUI情報の送信は、例えばユーザの指示により行われる。デバイスマネージャ200は、受信したUI情報を例えばUIデータベースに登録する。なお、UI情報がUIデータベースに予め登録されている場合は、このステップはスキップされてもよい。
(Step S114)
The
UI情報は、例えばUI400の識別子及び/又はアドレスを含む。さらに、UI情報は、任意の情報を含んでもよい。
The UI information includes, for example, the identifier and/or address of the
なお、UI情報は、施設2a~2dを特定可能な情報を含んでもよい。
Note that the UI information may include information that allows identification of the
以上の処理により、シーケンスマネージャ100、デバイスマネージャ200、デバイス300及びUI400は、互いに紐づけられ、互いに接続を確立することができる。このより、準備フェーズF100が終了する。
Through the above processing, the
[1.3.2 アプリ実行前フェーズF200]
次に、アプリ実行前フェーズF200について説明する。なお、アプリ実行前フェーズF200の前には、UI400を介したユーザからの指示に従って、アプリケーション配信プラットフォームからシーケンスマネージャ100にアプリケーションがダウンロードされている。このようにシーケンスマネージャ100にアプリケーションがダウンロードされた状態で以下の処理が行われる。
[1.3.2 Application pre-execution phase F200]
Next, the pre-application execution phase F200 will be explained. Note that, before the pre-application execution phase F200, the application is downloaded from the application distribution platform to the
(ステップS210)
UI400は、ユーザからアプリ実行要求を受け付け、アプリケーションの識別情報を含むアプリ実行要求をシーケンスマネージャ100に送信する。例えば、ユーザは、UI400を介して、シーケンスマネージャ100にダウンロードされている複数のアプリケーションの中からアプリケーションを選択し、選択したアプリケーションの実行を指示する。
(Step S210)
The
なお、UI400からシーケンスマネージャ100に送信されるアプリ実行要求は、施設2a~2dを特定可能な情報とセットで送信される。
Note that the application execution request sent from the
なお、アプリ実行要求は、ユーザから明示的に受け付けられなくてもよい。例えば、ユーザの行動又は状態を検出し、検出結果に基づいて自動的にアプリ実行要求がシーケンスマネージャ100に送信されてもよい。
Note that the application execution request does not have to be explicitly accepted from the user. For example, the user's behavior or state may be detected and an application execution request may be automatically sent to the
(ステップS212)
シーケンスマネージャ100は、アプリ実行要求によって識別されたアプリケーションの実行内容宣言をデバイスマネージャ200に送信する。実行内容宣言は、実行するアプリケーションを規定する複数のブロックの情報及び施設2a~2dを特定可能な情報を含む。
(Step S212)
The
図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により示される情報である。
FIG. 9 is a diagram illustrating an example of an execution content declaration in the first embodiment. FIG. 9 shows an
なお、実行内容宣言1300は、デバイスに関する情報1302を含まなくてもよい。その場合、複数のブロック1301の情報から、受け取った施設情報が示す施設で該当ブロックを実行可能なデバイスを、デバイスマネージャ200が検索してデバイス割付けを行う必要がある。
Note that the
なお、図9では、デバイスに関する情報1302は、デバイス300の型番を示しているが、これに限定されない。デバイスに関する情報1302は、ブロックに割付可能なデバイス300の条件を示すことができれば、どのような情報であってもよい。例えば、デバイスに関する情報1302は、複数の型番を含んでもよいし、デバイスの種別、使用目的、配置場所、又は、これらの任意の組み合わせのみを含んでもよい。
Note that in FIG. 9, the device-related
(ステップS214)
デバイスマネージャ200は、実行内容宣言1300に含まれる各ブロックに対して、施設2a~2dを特定可能な情報を基にして、デバイスマネージャ200に紐付けられているデバイス300を割り付ける。例えば、デバイスマネージャ200は、図9に示す複数のブロック1301の各々に、図8のデバイスデータベース1200に、受け取った施設情報が示す施設に接続済として登録されている、型番WM-0001を有するデバイスDEV001を割り付ける。なお、デバイス300の稼働状態又はクラウドへの接続状態が管理されている場合には、稼働中のデバイス300の割り付けが禁止されてもよい。
(Step S214)
The
なお、例えば図9に示す複数のブロックが、受け取った施設情報が示す施設に接続済として登録されていない場合、すなわち、該当施設において対象デバイスが存在していない場合、デバイスマネージャ200は実行内容宣言されたアプリケーションの実行が不可であることをシーケンスマネージャ200に通知する。
Note that, for example, if the plurality of blocks shown in FIG. 9 are not registered as connected to the facility indicated by the received facility information, that is, if the target device does not exist in the facility, the
(ステップS215)
デバイスマネージャ200は、デバイス割り付けの結果をデバイス300に通知する。これにより、アプリケーションに含まれる複数のブロックが、それぞれ割り付けられたデバイス300に送信される。
(Step S215)
The
(ステップS216)
デバイス300は、ブロックの実行前にブロックを確認する。つまり、デバイス300は、ブロックを実行する前に、ブロックが実行されたときにデバイス300で問題が生じないかをチェックする。例えばデバイス300は、安全及び/又は効率上の問題をチェックする。
(Step S216)
そして、デバイス300は、確認結果に基づいて、ブロックを変更する。これにより、問題が生じないようにブロックが修正される。
The
このような実行前確認処理について、図10を参照しながら、さらに詳細に説明する。図10は、実施の形態1における実行前確認処理のフローチャートを示す。 Such pre-execution confirmation processing will be described in more detail with reference to FIG. 10. FIG. 10 shows a flowchart of the pre-execution confirmation process in the first embodiment.
(ステップS2165)
デバイス300は、ブロックに対応するルールを取得する。ルールは、洗濯の順番に関するルールである。ルールでは、第1ブロック(第1の制御情報)の次に第2ブロック(第2の制御情報)が実行される実行内容宣言1300が許容されるか否かが規定されている。つまり、ルールでは、実行内容宣言1300で規定されている複数のブロック1301の内の連続して実行される2つのブロックの順番が許容されるか否かが規定されている。例えば、デバイス300は、ルールデータベースを参照して、連続して実行される2つのブロックの順番が許容されない条件を取得する。ルールデータベースは、例えばデバイス300に含まれてもよいし、シーケンスマネージャ100又はデバイスマネージャ200に含まれてもよい。
(Step S2165)
The
以下、ルールデータベース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の各々は、洗濯の順番に関するルールである。
Hereinafter, the rules defined in the
第1のルール1401では、例えば、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1010、1020、1050、1060である。禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含む。禁水環境は、具体的には、水槽502の水位が所定の水位(例えば、水位センサが検知可能な最低水位)よりも低い水位であることである。つまり、水槽502に水が貯められているときとは、水槽502の水位が所定の水位以上の水位であることである。第2ブロックは、例えば、ブロック1000、1070、1110などである。ブロック1000の洗濯量検知動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、精度よく洗濯物の量を検知することが難しいからである。また、ブロック1070の脱水動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、効果的に脱水することが難しいからである。また、ブロック1110の除菌・抗菌動作が禁水環境で実行される運転であるのは、洗濯物が浸水している状態では、帯電微粒子水などの効能物質が含まれる空気を洗濯槽503へ放出しても効能物質の性能が十分に得られないからである。
The
第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内の洗濯物を取り出そうとしたときにユーザが高温の洗濯物に触れることを防止するためである。
The
第3のルール1403では、例えば、第1ブロックが水が貯められている洗濯機500の洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1050、1060、1070などである。禁動環境で実行される運転は、水槽502(または洗濯槽503)内の水面を動かすことが許容されない運転を含む。禁動環境は、具体的には、水槽502(または洗濯槽503)が所定の振幅(または所定の変位)未満で振動または静止していることである。第2ブロックは、例えば、ブロック1010、1020などである。ブロック1010が禁動環境で実行される運転であるのは、水面が動いている状態では正確に水位を検知することが難しいからである。
In the
なお、図示していないが、例えば、撹拌動作を実行しながら給水動作を実行するブロックにおいて撹拌動作を開始して所定時間後に給水動作を開始する場合、撹拌動作のサブブロックを第1ブロックとみなし、給水動作のサブブロックを第2ブロックとみなしてもよい。 Although not shown, for example, in a block that performs a water supply operation while performing a stirring operation, when the stirring operation is started and the water supply operation is started after a predetermined time, the sub-block of the stirring operation is regarded as the first block. , the water supply operation sub-block may be regarded as the second block.
第4のルール1404では、例えば、第1ブロックが洗濯機500の水槽502(または洗濯槽503)内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されない。この場合の第1ブロックは、例えば、ブロック1130、1140などである。禁動環境で実行される運転は、水槽502(または洗濯槽503)内の水面を動かすことが許容されない運転を含む。禁動環境は、具体的には、水槽502(または洗濯槽503)内の水位が所定の振幅(または所定の変位)未満で振動または静止していることである。第2ブロックは、例えば、ブロック1010、1020などである。ブロック1010が禁動環境で実行される運転であるのは、水面が動いている状態では正確に水位を検知することが難しいからである。
In the
第5のルール1405では、例えば、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されない。ここで、第1の回転と第2の回転との回転が異なるとは、それぞれの回転速度が互いに異なることであってもよい。つまり、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。。また、第1の回転と第2の回転との回転が異なるとは、それぞれの回転の向きが互いに異なることであってもよい。つまり、第1の回転の向きは、第2の回転の向きと異なっていてもよい。
In the
この場合の第1ブロックは、例えば、ブロック1050、1060、1070などである。第2ブロックは、例えば、第1ブロックとは回転が異なるブロック1050、1060、1070などである。 The first blocks in this case are, for example, blocks 1050, 1060, 1070, etc. The second blocks are, for example, blocks 1050, 1060, 1070, etc. whose rotation is different from the first block.
なお、図11では、第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、第1ブロックの次に第2ブロックが実行されることが許容されないことが規定されているとしたが、第1ブロックの次に第2ブロックが実行されることが許容されることが規定されていてもよい。この場合であっても、ルールとして規定されていない組み合わせの第1ブロックおよび第2ブロックの組み合わせの実行が許容されないこととして定義することができる。
Note that in FIG. 11, each of the
例えば、アクチュエータ22又は加熱器23は、筐体21の内部空間などのデバイス300の環境に応じて安全に駆動できるパラメータが変わり、許容されるブロックの順番はアクチュエータ22又は加熱器23自体の性能のみに依存しない場合がある。したがって、いずれの環境でも安全に駆動するために、安全性を考慮する比重が高い順番になり、多種多様なアプリケーションの開発の余地が低減することになる。そこで、ルールは、アプリケーションと独立して、デバイス300等の情報と対応付けられてもよい。そのようなルールが用いられることで、安全性及び多種多様なアプリケーションの開発を両立できる。
For example, the parameters that allow the
ルールは、アクチュエータ22又は加熱器23が安全に駆動できる順番で組み合わせられた複数のブロックに関連する。安全に駆動できる順番で組み合わせられた複数のブロックは、ブロックの開始条件又は終了条件を考慮された順番であってもよい。第2ブロックの開始条件に達するまで、第1ブロックを実行することで、アクチュエータ22又は加熱器23の安全性に影響がある負荷かかる場合を想定したブロックが実行される順番が設定され得る。つまり、ブロックが実行される順番は、アクチュエータ22又は加熱器23の性能、ブロックの開始条件又は終了条件などに依存する。
The rules relate to a plurality of blocks combined in an order that allows the
第1のルール1401、第2のルール1402、第3のルール1403、第4のルール1404、及び、第5のルール1405の各々は、さらに、種別と、製造者名と、アクチュエータ/加熱器と、を有していてもよい。これにより、デバイス300は、ルールデータベース1400から、ブロックで駆動されるアクチュエータ22又は加熱器23に対応するルールを取得することができる。
Each of the
(ステップS2166)
デバイス300は、第1ブロックの次に第2ブロックを実行することが許容されるか否かを判定する。ここで、第1ブロックの次に第2ブロックを実行することが許容されないと判定された場合(S2166のNo)、デバイス300は、以降のステップS2167をスキップして実行前確認処理を終了する。一方、第1ブロックの次に第2ブロックを実行することが許容されると判定された場合(S2166のYes)、デバイス300は、次のステップS2167に進む。
(Step S2166)
The
(ステップS2167)
デバイス300は、ルールデータベース1400のルールに基づいて実行内容宣言1300を修正し、実行前確認処理を終了する。実行内容宣言1300の修正とは、例えば、実行内容宣言1300に、第1ブロックの次に実行される順番の制御情報として第3ブロック(第3の制御情報)を追加することである。実行内容宣言1300の修正とは、例えば、実行内容宣言1300に、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正することである。実行内容宣言1300の修正とは、例えば、第2ブロックの実行を制限することである。または、実行内容宣言1300の修正とは、上記のブロックの追加、パラメータの修正、及び、第2ブロックの実行の制限の任意の組み合わせであってもよい。
(Step S2167)
The
このような実行内容宣言1300の修正の具体例について図12~図20を参照しながら説明する。
A specific example of such modification of the
図12は、実施の形態1における実行内容宣言の修正の第1の例を示す。図12では、実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である脱水動作のブロック1070が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1010の次に実行される順番の制御情報として水槽502からの排水に関するパラメータを含む排水動作のブロック1080を追加する。つまり、給水動作の次に脱水動作が実行されることが設定されていたとしても、制御装置550は、給水動作と脱水動作との間に排水動作を追加する。このため、脱水動作が開始される前に水槽502を禁水環境とすることができ、効果的に脱水することができる。
FIG. 12 shows a first example of modification of the execution content declaration in the first embodiment. In FIG. 12, the execution content declaration indicates that the water
なお、図12において、脱水動作のブロック1070の代わりに除菌・抗菌動作のブロック1110が設定されていたとしても同様に、ブロック1070とブロック1110との間に排水動作のブロック1080を追加してもよい。これにより、除菌・抗菌動作が開始される前に水槽502を禁水環境とすることができ、効果的に洗濯物を除菌することができる。
In addition, in FIG. 12, even if the sterilization/
また、図12において、給水動作のブロック1010の代わりに、注水動作のブロック1020や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されている場合も上記と同様に、その直後に排水動作のブロック1080を追加することで上記と同様の効果が得られる。
In addition, in FIG. 12, the above case also applies when a water pouring
図13は、実施の形態1における実行内容宣言の修正の第2の例を示す。図13では、図12と同様に実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である脱水動作のブロック1070が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1070の直前に水槽502からの排水に関するパラメータ1073を追加するように、ブロック1070を修正することでブロック1070Aを新たに生成してもよい。パラメータ1073は、排水弁523を開に制御することを示すパラメータである。このため、脱水動作が開始される前に水槽502を禁水環境とすることができ、効果的に脱水することができる。
FIG. 13 shows a second example of modification of the execution content declaration in the first embodiment. In FIG. 13, as in FIG. 12, the execution content declaration indicates that the water
なお、図13において、脱水動作のブロック1070の代わりに除菌・抗菌動作のブロック1110が設定されていたとしても同様に、パラメータ1073をブロック1110の直前に追加するようにブロック1110を修正してもよい。これにより、除菌・抗菌動作が開始される前に水槽502を禁水環境とすることができ、効果的に洗濯物を除菌することができる。
In addition, in FIG. 13, even if
また、図13において、給水動作のブロック1010の代わりに、注水動作のブロック1020や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されている場合も上記と同様に、その直後のブロックに当該ブロックの動作が行われる直前に排水が行われるようにパラメータ1073を追加することで上記と同様の効果が得られる。
In addition, in FIG. 13, the above case also applies when a water
図14は、実施の形態1における実行内容宣言の修正の第3の例を示す。図14では、実行内容宣言において、給水動作のブロック1010の次に禁水環境で実行される運転である洗濯量検知動作のブロック1000が実行されることが示されている。これは、第1のルール1401で許容されないため、制御装置550は、ブロック1010の次に実行される順番のブロック1000の実行を制限する。具体的には、制御装置550は、ブロック1000を削除する、または、ブロック1000の実行をスキップする。また、制御装置550は、逐次ブロックを読み込んで実行している場合、ブロック1010の実行が終了した後に、運転を停止することでブロック1000の実行を制限してもよい。このため、精度よく洗濯物の量を検知することが難しい環境下において、洗濯量検知動作が行われることを抑制することができる。よって、洗濯量検知動作に係る消費電力を低減することができる。
FIG. 14 shows a third example of modification of the execution content declaration in the first embodiment. In FIG. 14, the execution content declaration indicates that after
図15は、実施の形態1における実行内容宣言の修正の第4の例を示す。図15では、実行内容宣言において、乾燥動作のブロック1140の次に禁熱環境で実行される運転であるドアロック解除動作のブロック1090が実行されることが示されている。これは、第2のルール1402で許容されないため、制御装置550は、ブロック1140の次に実行される順番の制御情報として洗濯槽503内の放熱に関するパラメータを含む送風動作のブロック1130を追加する。つまり、乾燥動作の次にドアロック解除動作が実行されることが設定されていたとしても、制御装置550は、乾燥動作とドアロック解除動作との間に送風動作を追加する。このため、ドアロック解除動作が開始される前に洗濯槽503内の温度を所定の温度未満に低下させることができ、ユーザが高温の洗濯物に触れることを抑制することができる。なお、送風動作のブロック1130を追加する代わりに、送風動作がドアロック解除動作の直前に行われるように、送風動作を行うパラメータをドアロック解除動作のブロック1090に追加してもよいし、乾燥動作のブロック1140に追加してもよい。
FIG. 15 shows a fourth example of modification of the execution content declaration in the first embodiment. In FIG. 15, the execution content declaration indicates that
図16は、実施の形態1における実行内容宣言の修正の第5の例を示す。図16では、実行内容宣言において、所定の水温以上の高温水での撹拌動作のブロック1050の次に禁熱環境で実行される運転である排水動作のブロック1080が実行されることが示されている。これは、第2のルール1402で許容されないため、制御装置550は、ブロック1050の次に実行される順番の制御情報として放熱に関するパラメータを含む待機動作のブロック1150を追加する。ブロック1150による待機動作では、制御装置550は、所定期間(例えば10分間)が経過するまで次のブロック1080の実行を待機する。つまり、高温水での撹拌動作の次に排水動作が実行されることが設定されていたとしても、制御装置550は、高温水での撹拌動作と排水動作との間に待機動作を追加する。このため、排水動作が開始される前に水槽502内の洗濯水の温度を所定の水温未満に低下させることができ、高温水が洗濯機500の外部の排水管に流れることを抑制することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が排水動作の直前に行われるように、待機動作を行うパラメータを排水動作のブロック1080に追加してもよいし、撹拌動作のブロック1050に追加してもよい。なお、放熱するための動作の一例として待機動作を挙げたがこれに限らずに、給水動作の後に排水動作を行うことで放熱を行ってもよい。
FIG. 16 shows a fifth example of modification of the execution content declaration in the first embodiment. In FIG. 16, the execution content declaration indicates that
図17は、実施の形態1における実行内容宣言の修正の第6の例を示す。図17では、実行内容宣言において、撹拌動作のブロック1050の次に禁動環境で実行される運転である給水動作のブロック1010が実行されることが示されている。これは、第3のルール1403で許容されないため、制御装置550は、ブロック1050の次に実行される順番の制御情報として所定期間(例えば1分間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、撹拌動作の次に給水動作が実行されることが設定されていたとしても、制御装置550は、撹拌動作と給水動作との間に待機動作を追加する。このため、給水動作が開始される前に水槽502(または洗濯槽503)が所定の振幅(または所定の変位)未満で振動または静止させることができ、水面の揺れを低減することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が給水動作の直前に行われるように、待機動作を行うパラメータを給水動作のブロック1010に追加してもよいし、撹拌動作のブロック1050に追加してもよい。
FIG. 17 shows a sixth example of modification of the execution content declaration in the first embodiment. In FIG. 17, the execution content declaration indicates that the water
なお、図17において、給水動作のブロック1010の代わりに注水動作のブロック1120や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作のブロック1060が設定されていたとしても同様に、撹拌動作と給水動作のパラメータを含むブロックとの間に待機動作のブロック1150を追加してもよい。これにより、給水動作が開始される前に水槽502を禁動環境とすることができ、給水動作において効果的に水槽502の水位を検知することができる。
In addition, in FIG. 17, even if a water pouring
また、図17において、撹拌動作のブロック1050の代わりに、ドラム回転動作のブロック1060のブロックが設定されている場合も上記と同様に、その直後に待機動作のブロック1150を追加することで上記と同様の効果が得られる。
In addition, in FIG. 17, when a drum
図18は、実施の形態1における実行内容宣言の修正の第7の例を示す。図18では、実行内容宣言において、送風動作のブロック1130の次に禁動環境で実行される運転である給水動作のブロック1010が実行されることが示されている。これは、第4のルール1404で許容されないため、制御装置550は、ブロック1130の次に実行される順番の制御情報として所定期間(例えば1分間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、送風動作の次に給水動作が実行されることが設定されていたとしても、制御装置550は、送風動作と給水動作との間に待機動作を追加する。このため、給水動作が開始される前に水面の揺れを低減することができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が給水動作の直前に行われるように、待機動作を行うパラメータを給水動作のブロック1010に追加してもよいし、送風動作のブロック1130に追加してもよい。
FIG. 18 shows a seventh example of modification of the execution content declaration in the first embodiment. In FIG. 18, the execution content declaration indicates that the water
なお、図18において、給水動作のブロック1010の代わりに注水動作のブロック1120や、給水動作のパラメータを含む、撹拌動作のブロック1050、ドラム回転動作1060のブロックが設定されていたとしても同様に、送風動作と給水動作のパラメータを含むブロックとの間に待機動作のブロック1150を追加してもよい。これにより、給水動作が開始される前に水槽502を禁動環境とすることができ、給水動作において効果的に水槽502の水位を検知することができる。
In addition, in FIG. 18, even if a water pouring
図19は、実施の形態1における実行内容宣言の修正の第8の例を示す。図19では、実行内容宣言において、脱水動作のブロック1070の次に脱水動作とは異なる回転を用いた運転である撹拌動作のブロック1050が実行されることが示されている。これは、第5のルール1403で許容されないため、制御装置550は、ブロック1070の次に実行される順番の制御情報として所定期間(例えば30秒間)何もせずに待機する動作に関するパラメータを含む待機動作のブロック1150を追加する。つまり、脱水動作の次に脱水動作とは異なる回転を用いた撹拌動作が実行されることが設定されていたとしても、制御装置550は、脱水動作と撹拌動作との間に待機動作を追加する。このため、撹拌動作が開始される前に洗濯槽503を停止させることができ、容易に他の回転の撹拌動作に切り替えることができる。なお、待機動作のブロック1150を追加する代わりに、待機動作が撹拌動作の直前に行われるように、待機動作を行うパラメータを撹拌動作のブロック1050に追加してもよいし、脱水動作のブロック1070に追加してもよい。なお、2つのブロックは脱水動作と撹拌動作との組み合わせに適用されることに限らない。撹拌動作、ドラム回転動作および脱水動作のうちの2つの組み合わせに適用されてもよいし、撹拌動作の次に異なる回転の撹拌動作の組み合わせに適用されてもよいし、ドラム回転動作の次に異なる回転のドラム回転動作の組み合わせに適用されてもよいし、脱水動作の次に異なる回転の脱水動作の組み合わせに適用されてもよい。なお、待機動作を追加する代わりに、洗濯槽503の回転を制動する動作を追加することで洗濯槽503の回転を停止させてもよい。
FIG. 19 shows an eighth example of modification of the execution content declaration in the first embodiment. In FIG. 19, the execution content declaration indicates that the
図20は、実施の形態1における実行内容宣言の修正の第9の例を示す。図20では、実行内容宣言において、脱水動作のブロック1070を含むブロック1070Bの次に、脱水動作とは異なる回転を用いた運転である撹拌動作のブロック1050を含むブロック1050Bが実行されることが示されている。ブロック1070Bは、脱水動作のブロック1070の直後に待機するパラメータ1074をさらに含む。また、ブロック1050Bは、撹拌動作のブロック1050の直前に待機するパラメータ1057をさらに含む。このように、ブロック1070Bの次に実行される順番に設定されているブロック1050Bにおいて、パラメータ1074およびパラメータ1057が重複している。この場合、制御装置550は、重複しているパラメータ1074を削除する。なお、制御装置550は、パラメータ1074を削除する代わりにパラメータ1057を削除してもよい。
FIG. 20 shows a ninth example of modification of the execution content declaration in the first embodiment. In FIG. 20, the execution content declaration indicates that after
ここで、図7の説明に戻る。 Here, we return to the explanation of FIG. 7.
(ステップS217)
デバイス300は、実行前確認の結果をデバイスマネージャ200に送信する。ブロックが変更されている場合には、変更されたブロックがデバイスマネージャ200に送信されてもよい。
(Step S217)
The
(ステップS218)
デバイスマネージャ200は、デバイス割り付けの結果をシーケンスマネージャ100に回答する。また、実行前確認においてブロックが変更されている場合には、変更されたブロックを含むアプリケーションがシーケンスマネージャ100に送信されてもよい。
(Step S218)
The
(ステップS220)
シーケンスマネージャ100は、デバイスマネージャ200からの割付結果通知を受けて、UI400を介してユーザに実行準備完了を通知する。
(Step S220)
The
(ステップS222)
UI400は、アプリケーションが実行されるデバイスの一覧を表示するとともに、ユーザからアプリケーション実行の確認の入力を受け付けるためのグラフィカルユーザインタフェース(GUI)を表示する。なお、UI400は、ユーザからデバイスの割り付けの変更を受け付けてもよい。また、UI400は、デバイスの一覧を表示しなくてもよい。
(Step S222)
The
(ステップS224)
UI400は、ユーザから実行確認の入力を受けて、デバイスマネージャ200にアプリ開始指示を送信する。デバイスマネージャ200は、アプリ開始指示をシーケンスマネージャ100に転送する。
(Step S224)
The
なお、ステップS220、S222、及びS224は、アプリケーションが実行される前にユーザに改めて情報を提供しているが、ユーザの作業が増える可能性があるため、省略されてもよい。 Note that steps S220, S222, and S224 provide information to the user again before the application is executed, but may be omitted since they may increase the user's work.
以上により、アプリ実行前フェーズF200が終了する。 With the above, the pre-application execution phase F200 ends.
[1.3.3 アプリ実行フェーズF300]
次に、アプリ実行フェーズF300について説明する。
[1.3.3 Application execution phase F300]
Next, the application execution phase F300 will be explained.
(ステップS310)
シーケンスマネージャ100は、アプリ開始指示を受けて、アプリケーションに含まれる複数のブロックの中から最初のブロック(第1ブロック)を選択する。そして、シーケンスマネージャ100は、選択した第1ブロックの実行指示をデバイスマネージャ200に送信する。
(Step S310)
Upon receiving an application start instruction, the
なお、複数のブロックが連続して動作される場合、シーケンスマネージャ100は、複数のブロックの実行指示をまとめてデバイスマネージャ200に送信してもよい。
Note that when a plurality of blocks are operated continuously, the
デバイスマネージャ200は、シーケンスマネージャ100から受信した第1ブロックの実行指示に基づいて、第1ブロックに割り付けられたデバイス300に第1ブロックの実行指示を送信する。
Based on the first block execution instruction received from the
(ステップS312)
デバイスマネージャ200は、第1ブロックの実行指示を受けて、各デバイスのスケジュール(使用予定時間)を更新する。
(Step S312)
The
(ステップS314)
デバイス300は、第1ブロックの実行指示を受けて、第1ブロックを実行する。
(Step S314)
The
(ステップS316)
デバイス300は、第1ブロックの実行が完了したときに、完了通知をデバイスマネージャ200に送信する。なお、第1ブロックの実行中にエラーが発生した場合には、デバイス300は、エラー情報をデバイスマネージャ200に送信してもよい。また、デバイス300は、第1ブロックの実行中に、イベント情報をデバイスマネージャ200に送信してもよい。イベント情報としては、例えば、センサの出力値又は機器操作等を用いることができるが、これに限定されない。デバイスマネージャ200は、デバイス300から受信した完了通知及び/又は各種情報をシーケンスマネージャ100に転送する。
(Step S316)
The
(ステップS318)
シーケンスマネージャ100は、第1ブロックの完了通知を受けて、アプリケーションの進捗を更新し、次のブロック(第2ブロック)を選択する。また、シーケンスマネージャ100は、エラー情報を受信した場合に、エラー情報に対応する処理(例えば、1つ前のブロックに戻る、最初のブロックに戻る、待機等)を実行する。エラー情報に対応する処理の情報は、例えば、シーケンスマネージャ100に予め保持されてもよいし、UI400を介してユーザから受け付けられてもよい。また、シーケンスマネージャ100は、イベント情報を受信した場合に、イベント情報に対応する処理を実行する。例えば、イベント情報に水位センサの出力値が含まれる場合、シーケンスマネージャ100は、実行中のブロックに含まれる水位を表示するための水位パラメータを更新する。
(Step S318)
Upon receiving the notification of completion of the first block, the
(ステップS320)
シーケンスマネージャ100は、選択した第2ブロックの実行指示をデバイスマネージャ200に送信する。
(Step S320)
The
なお、第2ブロックの実行指示は、第1ブロックの実行指示(S310)と同一のデバイスに対する指示でもよいし、異なるデバイスへの指示でもよい。 Note that the second block execution instruction may be directed to the same device as the first block execution instruction (S310), or may be directed to a different device.
なお、第2ブロックの実行指示は、第1ブロックの実行指示と同様に、複数のブロックの実行指示をまとめてデバイスマネージャ200に送信してもよい。
Note that the execution instruction for the second block may be transmitted to the
以降の処理は第1ブロックのための処理(S312~S318)と同様であるので、図示及び説明を省略する。アプリケーションに含まれるブロックが順に実行され、最後のブロックの実行が完了すれば、アプリ実行フェーズF300が終了する。 The subsequent processing is the same as the processing for the first block (S312 to S318), so illustration and description will be omitted. The blocks included in the application are executed in order, and when the execution of the last block is completed, the application execution phase F300 ends.
なお、ここでは、ブロックの実行は1つずつ順に指示されているが、これに限定されない。例えば、同一のデバイスが割り付けられた複数のブロックの実行は、まとめて指示されてもよい。その場合、あらかじめ各ブロックが機能実行のパラメータ範囲を満たすかの確認を行ったり、変更に対応するブロックを実行前にデバイス側にダウンロードしたりしてもよい。また、例えば、複数のデバイスに対して各々のブロック実行指示を行ってもよい。 Note that although the blocks are instructed to be executed one by one here, the execution of the blocks is not limited to this. For example, execution of multiple blocks to which the same device is allocated may be collectively instructed. In that case, it may be confirmed in advance whether each block satisfies the parameter range for function execution, or the block corresponding to the change may be downloaded to the device side before execution. Further, for example, each block execution instruction may be given to a plurality of devices.
[1.4 効果など]
以上のように、本実施の形態では、ブロックを含むアプリケーションとルールデータベースとにより、多様多種なアプリケーションを開発可能な環境を提供し、その環境下で自由に開発したアプリケーションに対して、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の安全な駆動することを可能にしている。言い換えると、アプリケーションを自由に開発可能な環境を提供するとともに、アプリケーションと独立して安全性を担保するための機能を提供できる。その結果、例えば、自由度の高い多様多種なアプリケーションの開発と、安全性を担保するためのルールデータベースの開発とを並行して作成することが可能になり、多様多種なアプリケーションを早期に開発することが可能にすることができる。
[1.4 Effects etc.]
As described above, in this embodiment, an environment in which a wide variety of applications can be developed is provided using applications including blocks and a rule database, and applications developed freely in this environment are physically This makes it possible to safely drive the moving
また、アプリケーションの提供後においても、ルールデータベースを変更することで、より安全性を担保したアプリケーションへの変更も可能になる。また、事前に製造者が想定しない状況の改善が必要になった場合においても、多様多種なアプリケーション自体を変更せずとも、アプリケーションとは独立して、ルールデータベースを規定していることで、ルールデータベースを更新することで、全てのアプリケーションへの対応が可能になる。 Furthermore, even after an application has been provided, by changing the rule database, it is possible to change the application to one that ensures more safety. In addition, even if it becomes necessary to improve a situation that the manufacturer has not anticipated in advance, the rule database can be defined independently of the application, without having to change the various applications themselves. By updating the database, it becomes compatible with all applications.
アプリケーション自体を変更せずに、アプリケーションが実行されたときの状態を検知することでエラー処理のルールベースを保持する対処方法も考えられる。しかし、この対処方法は、常にエラーの状態になった後に対処することになり、家電に負荷がかかる状況、又は安全性が担保できない状況になることを許容することを意味する。そこで、アプリケーションとは独立にルールデータベースを保有し、ルールデータを参照してアプリケーションの内容を変更することで、安全性を担保することを可能にしている。 Another possible solution is to maintain the error handling rule base by detecting the state of the application when it is executed, without changing the application itself. However, this method of dealing with the problem always involves dealing with it after the error has occurred, which means allowing a situation where the household appliances are overloaded or a situation where safety cannot be guaranteed. Therefore, by maintaining a rule database independent of the application and changing the application content by referring to the rule data, it is possible to ensure safety.
本実施の形態における洗濯機500は、クラウドサーバ10(外部機器)と通信可能な洗濯機500である。洗濯機500は、クラウドサーバ10から実行内容宣言(洗濯情報)を受信する通信部570と、洗濯情報に基づいて、洗濯物に対して、洗濯に関する運転を行う洗濯機能部と、洗濯機能部を制御する制御装置550とを備える。実行内容宣言は、それぞれが洗濯機能部の運転を制御するパラメータに関する制御情報である複数のブロック、及び、複数のブロックを実行する順番に関する順番情報を含む。制御装置550は、洗濯の順番に関するルールに基づいて実行内容宣言を修正し、修正後の実行内容宣言に含まれる制御情報を実行することで実行内容宣言に基づく運転を洗濯機能部に実行させる。
The
これによれば、複数のブロックで規定されたアプリケーションに基づいて洗濯機能部を駆動させることができる。従って、洗濯機500の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、多種多彩なアプリケーションを製造者だけではなく、サードパーティも開発することができ、これらのアプリケーションを洗濯機500で簡単に実行することが可能となる。さらに、アプリケーションに基づいて洗濯機能部が駆動される前に、許容されない実行内容宣言を修正することができる。したがって、洗濯機能部が許容されない順番の動作を実行することを抑制することができる。つまり、もしアプリケーション開発者が誤って洗濯機能部が許容されない順番の動作を実行するよう指示を行った場合でも、洗濯機500を安全に制御することができないアプリケーションが実行されることを抑制することができる。また、洗濯機500が非効率的に動作することを抑制することができる。したがって、アプリケーション開発者は、洗濯機能部の安全性の担保よりもユーザに適することを重視したアプリケーションを作成した場合でも、アプリケーションで制御される洗濯機500の安全性を向上させることができる。また、洗濯機500の動作効率を向上させることができ、消費電力を低減することができる。
According to this, the washing function section can be driven based on applications defined by a plurality of blocks. Therefore, it is possible to develop applications using blocks that abstract the control of the
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、実行内容宣言に、第1ブロックの次に実行される順番の制御情報として第3ブロックを追加してもよい。
For example, if the
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロックの間の順番に第3ブロックを追加することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。 According to this, if two blocks that are executed consecutively are not allowed, a third block can be added in the order between the two blocks, so that the washing function unit can replace the two blocks in the order that is not allowed. can be prevented from performing the following actions.
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正してもよい。
For example, if the
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロック内のいずれかに含まれるパラメータに関する情報を修正することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。 According to this, if two blocks that are executed consecutively are not allowed, the information regarding the parameters included in either of the two blocks can be modified, so that the washing function section It is possible to prevent one block of operations from being executed.
また例えば、制御装置550は、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第2ブロックの実行を制限してもよい。
For example, if the
これによれば、連続して実行される2つのブロックが許容されない場合、第2ブロックの実行を制限することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。 According to this, when two blocks to be executed consecutively are not allowed, execution of the second block can be restricted, so that the washing function section does not execute the operations of the two blocks in the order that is not allowed. It can be prevented.
また例えば、第1のルールでは、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含んでもよい。このため、水槽502に水がある状態で実行されても十分な効果が得られない第2ブロックに基づく運転が実行されることを防止することができる。これにより、無駄な運転を抑制でき、消費電力を低減することができる。
For example, in the first rule, it is permissible for the first block to include parameters related to water supply to the
また例えば、第2のルールでは、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁熱環境で実行される運転は、水槽502内の温度が所定の温度以上のときに実行されることが許容されない運転を含んでもよい。このため、水槽502内の温度が所定の温度以上であるときに実行されることを抑制できるため、水槽502内の高温環境が洗濯機500の外部に悪影響を与えることを低減することができ、安全性を担保することができる。
For example, in the second rule, it is allowed that the first block includes parameters related to heating in the
また例えば、第3のルールでは、第1ブロックが水が貯められている洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁動環境で実行される運転は、洗濯槽503内の水面を動かすことが許容されない運転を含んでもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
For example, in the third rule, the first block includes parameters related to the rotation of the
また例えば、第4のルールでは、第1ブロックが洗濯機500の洗濯槽503内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
For example, in the fourth rule, the first block includes parameters related to air blowing into the
また例えば、第5のルールでは、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されなくてもよい。例えば、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。また例えば、第1の回転の向きは、第2の回転の向きと異なっていてもよい。このため、異なる回転の運転が連続して実行されることを抑制でき、効果的に洗濯槽503の回転を切り替えることができる。
For example, in the fifth rule, the first block includes a parameter for rotating the
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、実行内容宣言に、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502からの排水に関するパラメータを含む第3ブロックを追加する。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
Further, for example, if the first block includes parameters related to water supply to the
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、禁水環境で実行される運転を制御するパラメータの直前に水槽502からの排水に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
Further, for example, if the first block includes parameters related to water supply to the
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、実行内容宣言に、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502の放熱に関するパラメータを含む第3ブロックを追加してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
Further, for example, when the first block includes parameters related to heating in the
また例えば、制御装置550は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、禁熱環境で実行される運転を制御するパラメータの直前に水槽502の放熱に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
Further, for example, when the first block includes parameters related to heating in the
また例えば、制御装置550は、ルールに基づき、実行内容宣言に含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックが重複する場合、(i)第1ブロックもしくは第2ブロックを削除する、又は、(ii)第1ブロックに含まれるパラメータに関する情報もしくは第2ブロックに含まれるパラメータに関する情報を削除してもよい。このため、重複している動作のブロックまたはパラメータを削除するため、無駄な動作を実行することを低減することができる。よって、消費電力を低減することができる。
For example, the
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、第1パラメータ範囲に含まれるパラメータを、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容される範囲に含まれるパラメータに変更することで、アプリケーションを変更してもよい。
For example, in the
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを許容される範囲に含まれるパラメータに変更することができるので、例えば、アプリケーションの開発者は、アクチュエータ22及び加熱器23が安全に駆動することを考慮する優先度を下げて自由にアプリケーションを開発ができ、さらにアクチュエータ22及び加熱器23を制御する装置20に組み込まれるソフトウェアの開発者は、アプリケーション一つ一つの安全性を毎回チェックすることなくブロックを実行でき、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。
According to this, a parameter included in the unacceptable first parameter range can be changed to a parameter included in the acceptable range, so that, for example, an application developer can safely drive the
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、第1パラメータ範囲に含まれるパラメータを、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容される範囲に含まれるパラメータに変更し、かつ、複数のブロックに新たなブロックを追加することで、アプリケーションを変更してもよい。
For example, in the
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを許容される範囲に含まれるパラメータに変更することができるので、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。さらに、新たなブロックを追加することもできるので、パラメータの変更によって低下した機能を新たなブロックで補完することも可能となる。
According to this, a parameter included in the unacceptable first parameter range can be changed to a parameter included in the acceptable range, so that it is possible to prevent the
また例えば、本実施の形態における装置20において、制御部24は、第1パラメータ範囲に含まれるパラメータを有するブロックを削除することで、アプリケーションを変更してもよい。
For example, in the
これによれば、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを削除することができるので、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを防止することができる。例えば、アクチュエータ22及び加熱器23が、アプリケーション開発者が指定したパラメータをそもそも実行することができない場合に、削除を行うことで、デバイスが混乱することなく制御を行うことができる。一方で、削除された旨をユーザに通知を行ってもよい。
According to this, blocks having parameters included in the unacceptable first parameter range can be deleted, so it is possible to prevent the
また例えば、本実施の形態における装置20において、制御部24は、第1のルールを参照して、複数のブロックに含まれる複数のパラメータの各々が、第1パラメータ範囲に含まれるか否かを判定し、パラメータが第1パラメータ範囲に含まれると判定された場合、当該パラメータを有するブロックを変更してもよい。
For example, in the
これによれば、より確実に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。 According to this, a block having a parameter included in the unacceptable first parameter range can be changed more reliably.
また例えば、本実施の形態における装置20において、アプリケーションは、複数のブロックのそれぞれが実行される順番情報と、複数のブロックのそれぞれが実行されるタイミングの情報とを含んでもよい。各ブロックのタイミングの情報は、例えば、当該ブロックの開始タイミングと、他のブロック(例えば1番目のブロック)の開始又は終了のタイミングとの間の時間を示す。
For example, in the
これによれば、アプリケーションは、順番及びタイミングの情報を含むことができ、各ブロックの持つパラメータ範囲を確認しながら、シーケンシャルに判断して実行することができる。 According to this, the application can include order and timing information, and can be sequentially determined and executed while checking the parameter range of each block.
また例えば、本実施の形態における装置20において、第1パラメータ範囲は、アクチュエータ22及び加熱器23の少なくとも1つを耐久温度に到達させるパラメータの範囲であってもよい。
For example, in the
これによれば、アプリケーションが実行されたときにアクチュエータ22及び/又は加熱器23が耐久温度に到達することを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。
According to this, it is possible to suppress the
また例えば、本実施の形態における装置20は、内部空間を有する筐体21を備えてもよく、第1パラメータ範囲は、内部空間を耐久温度に到達させるパラメータの範囲であってもよい。
For example, the
これによれば、アプリケーションが実行されたときに筐体21の内部空間が耐久温度に到達することを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。
According to this, it is possible to suppress the internal space of the
(実施の形態1の変形例)
なお、上記実施の形態1では、システム1の処理について図7を参照しながら説明したが、処理の流れについてはこれに限定されない。特に、詳細に説明している実行前確認(S216)について、実行前確認が行われるタイミング及び主体となるモジュールはこれに限定されない。そこで、システム1のシーケンス図のいくつかの変形例について、図21A~図21Eを参照しながら具体的に説明する。
(Modification of Embodiment 1)
Note that in the first embodiment, the processing of the
図21Aは、実施の形態1の変形例1におけるシステム1のシーケンス図である。図21Aでは、実行前確認(S216)は、デバイス300が実行指示を受けて(S310)ブロックを実行する(S314)直前に、デバイス300によって行われる。
FIG. 21A is a sequence diagram of the
これにより、デバイス300に組み込まれるソフトウェアは、ブロックの実行直前に実行前確認を行うというシンプルな構成とすることができる。すなわち、ステップS215及びS217を省略することができる。その結果、それらの処理を行うための機能及び通信APIをデバイス300に組み込む必要がなくなり、デバイス300に搭載されるマイコンの使用メモリ等を低減することが可能となる。
As a result, the software installed in the
なお、実行前確認の結果がデバイスマネージャ200及び/又はUI400に通知されてもよい。例えば、実行前確認を行った結果としてパラメータの変更又はブロックの実行停止指示が行われた場合に、デバイスマネージャ200又はUI400に確認結果が通知されてもよい。
Note that the result of the pre-execution confirmation may be notified to the
図21Bは、実施の形態1の変形例2におけるシステム1のシーケンス図である。図21Bでは、実行前確認(S216)は、デバイスマネージャ200が割付結果通知(S218)を行う際に、そのままデバイスマネージャ200によって行われる。
FIG. 21B is a sequence diagram of the
これにより、デバイス300に組み込まれるソフトウェアは、実行前確認(S216)の機能を含まなくてもよい。したがって、デバイス300が有するメモリの使用を抑えることができ、デバイス300のコストダウンにつながる。
Accordingly, the software installed in the
また、上記実施の形態1では、デバイス300によるブロック実行(S314)について、クラウドサーバ10に実装されたシーケンスマネージャ100からの指示によって行われる処理の流れを説明したが、ブロック実行(S314)が行われる形態についても、これに限定されない。
Furthermore, in the first embodiment described above, regarding block execution (S314) by the
例えば、シーケンスマネージャ100からの通知内容を、デバイス300内のメモリに保存し、装置20が有するUI又は端末30が有するUI400を通じたユーザからの直接の指示により、ブロックが実行されてもよい。すなわち、アプリケーションをデバイス内にダウンロードしておいて、ユーザが任意のタイミングでアプリケーションを実行する形態としてもよい。
For example, the content of the notification from the
図21Cは、実施の形態1の変形例3におけるシステム1のシーケンス図である。図21Cでは、アプリ実行フェーズF300において、シーケンスマネージャ100からデバイス300に、デバイス300で実行される1以上のブロックが通知される(S310C)。そして、デバイス300は、通知された1以上のブロックをメモリに保存する(S311C)。
FIG. 21C is a sequence diagram of the
その後、デバイス300は、ユーザから、保存された1以上のブロックの実行の指示を受け付け(S312C)、1以上のブロックを第1ブロックから順に実行する(S314)。
Thereafter, the
以上のように、ブロックをデバイス300に保存することで、デバイスマネージャ200とデバイス300との通信を介さずにデバイス300の制御が行えるため、クラウドサーバ10と装置20間の通信が不安定になることによってデバイス300の動作が停止したり遅延が生じたりするリスクを低減することができる。そのため、本変形例は、クラウドサーバ10との通信の信頼性が低い環境において、及び/又は、アプリケーション実行中のデバイスの動作停止や遅延が許容されないデバイス300において、より効果的である。
As described above, by storing blocks in the
なお、変形例3においても、実施の形態1と同様に、実行前確認(S216)は重要な意味を有するが、実行前確認(S216)が行われるタイミングや主体となるモジュールは図21Cに限定されない。すなわち、変形例3は、変形例1又は2と組み合わされてもよい。
Note that in
図21Dは、実施の形態1の変形例4におけるシステム1のシーケンス図である。変形例4は、変形例1と変形例3との組み合わせに相当する。変形例4では、図21Dに示すように、実行前確認(S216)は、デバイス300が実行指示を受けて(S312C)ブロックを実行する(S314)直前にデバイス300によって行われる。
FIG. 21D is a sequence diagram of the
ブロックをデバイス300にダウンロードしておいて、ユーザが任意のタイミングでブロックを実行する場合、ブロックをダウンロードするタイミングと実行するタイミングとが大きくずれる可能性が高まる。すなわち、ブロックをデバイス300にダウンロードしてから数日後、数か月後、又は数年後等にブロックが実行される場合が考えられる。その場合、ブロックがダウンロードされてからブロックが実行されるまでの間にデバイス300の劣化レベル等が変わる恐れもある。そのため、ブロックの実行が劣化レベルの影響を受けるデバイス300では、ブロックが実行される直前にデバイス300によって実行前確認が行われることで、劣化レベルに応じた実行前確認が可能となる。
If a block is downloaded to the
図21Eは、実施の形態1の変形例5におけるシステム1のシーケンス図である。変形例5は、変形例2と変形例3との組み合わせに相当する。変形例5では、図21Eに示すように、実行前確認(S216)は、デバイスマネージャ200が割付結果通知(S218)を行う際に、そのままデバイスマネージャ200によって行われる。
FIG. 21E is a sequence diagram of the
(実施の形態2)
次に、実施の形態2について説明する。本実施の形態では、アプリケーションが認証済みである場合に実行前確認がスキップされる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
(Embodiment 2)
Next, a second embodiment will be described. This embodiment differs from the first embodiment in that the pre-execution confirmation is skipped if the application has been authenticated. The present embodiment will be described below, focusing on the differences from the first embodiment.
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
Note that the hardware configuration and functional configuration of the
[2.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Aに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Aについて図22を参照しながら説明する。
[2.1 Processing]
This embodiment is the same as the process of the first embodiment, except that step S216 of the pre-execution confirmation in the first embodiment is replaced with step S216A. Therefore, step S216A of the pre-execution confirmation process will be described with reference to FIG. 22.
図22は、実施の形態2における実行前確認処理のフローチャートを示す。 FIG. 22 shows a flowchart of the pre-execution confirmation process in the second embodiment.
(ステップS2161A)
デバイス300は、アプリ認証情報を取得する。アプリ認証情報は、アプリケーションが認証済みである場合に認証済みであることを示す情報を含む。
(Step S2161A)
The
アプリケーションの認証は、例えばアプリケーションの品質を保証するための仕組みであり、アプリケーションの安全性及び/又は同一性(改ざんされていないこと)などの確認を可能とする。認証情報の付与されているアプリケーションの一例を説明する。アプリケーションのコードの変更履歴がパラメータ範囲の変更が行われなかったことを示す場合、アプリケーションに認証済みであることを示す情報が対応付けられている。 Application authentication is a mechanism for assuring the quality of an application, for example, and makes it possible to confirm the safety and/or identity (that it has not been tampered with) of the application. An example of an application provided with authentication information will be described. If the change history of the application code indicates that the parameter range has not been changed, information indicating that the application has been authenticated is associated with the application.
(ステップS2162A)
デバイス300は、取得されたアプリ情報に基づいて、アプリケーションが認証済みであるか否かを判定する。ここで、アプリケーションが認証済みであると判定された場合(S2162AのYes)、デバイス300は、以降のステップS2165~ステップS2167をスキップして実行前確認処理を終了する。一方、アプリケーションが認証済みではないと判定された場合(S2162AのNo)、デバイス300は、次のステップS2165に進む。
(Step S2162A)
The
[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を駆動する。
[2.2 Effects etc.]
As described above, the
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ22及び/又は加熱器23を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、アプリケーションが認証済みでない場合に、アプリケーションの変更を伴う処理を行うことができ、アプリケーションが認証済みである場合に処理負荷の軽減を図ることができる。したがって、全てのアプリケーションに対するパラメータ範囲に対する判定処理を行う必要は無く、認証を行うことによる管理によって、処理負荷の軽減とともに、パラメータ範囲の設計の基準ができ、アプリケーション開発者にとっては、より容易かつ安全な設計が可能となる。
According to this, the
また例えば、本実施の形態における装置20において、アプリケーションが認証済みであることを示す情報を有する場合、第1のルールを参照せずに、アプリケーションケーションを変更しなくてもよい。
For example, in the
これによれば、アプリケーションが認証済みである場合に、ブロックを変更するための処理をスキップすることができ、処理負荷を軽減することができる。 According to this, when the application has been authenticated, the process for changing the block can be skipped, and the processing load can be reduced.
(実施の形態3)
次に、実施の形態3について説明する。本実施の形態では、アプリケーションの制作者と装置の製作者とが同一である場合に実行前確認がスキップされる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
(Embodiment 3)
Next,
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
Note that the hardware configuration and functional configuration of the
[3.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Bに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Bについて図23を参照しながら説明する。
[3.1 Processing]
This embodiment is the same as the processing in the first embodiment, except that step S216 of the pre-execution confirmation in the first embodiment is replaced with step S216B. Therefore, step S216B of the pre-execution confirmation process will be described with reference to FIG. 23.
図23は、実施の形態3における実行前確認処理のフローチャートを示す。 FIG. 23 shows a flowchart of the pre-execution confirmation process in the third embodiment.
(ステップS2161B)
デバイス300は、アプリ制作者情報を取得する。アプリ制作者情報は、アプリケーションの制作者を示す。制作者は、アプリケーションを制作した会社、個人又は団体等を意味し、開発者又は著者と呼ばれる場合もある。
(Step S2161B)
The
(ステップS2163B)
デバイス300は、デバイス製作者情報を取得する。デバイス製作者情報は、デバイスの製作者を示す。製作者は、デバイス300(つまり装置20)を製作した会社、個人又は団体等を意味し、製造者と呼ばれる場合もある。
(Step S2163B)
The
(ステップS2164B)
デバイス300は、アプリケーションの制作者とデバイス300の製作者とが異なるか否かを判定する。アプリケーションの制作者が個人であり、デバイス300の製作者が会社である場合、デバイス300は、アプリケーションの制作者が属する会社とデバイス300の製作者とが一致すれば、アプリケーションの制作者とデバイス300の製作者とが同じであると判定してもよい。また、デバイス300は、アプリケーションの制作者がデバイス300の製作者の開発委託先であれば、アプリケーションの制作者とデバイス300の製作者とが同じであると判定してもよい。
(Step S2164B)
The
ここで、アプリケーションの制作者とデバイス300の製作者とが同じである場合(S2164BのNo)、デバイス300は、以降のステップS2165~ステップS2167をスキップして実行前確認処理を終了する。一方、アプリケーションの制作者とデバイス300の製作者とが異なる場合(S2164BのYes)、デバイス300は、次のステップS2165に進む。
Here, if the creator of the application and the creator of the
[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つを駆動する。
[3.2 Effects etc.]
As described above, the
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ及び/又は加熱器を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、アプリケーションの制作者と装置20の製造者とが異なる場合に、アプリケーションの変更を伴う処理を行うことができ、アプリケーションの制作者と装置20の製造者とが同じ場合には、処理負荷の軽減を図ることができる。
According to this, the actuator and/or the heater can be driven based on applications defined by a plurality of blocks. Therefore, it becomes possible to develop applications using blocks that abstract the control of the
(実施の形態4)
次に、実施の形態4について説明する。本実施の形態では、装置の劣化レベルに対応するルールを用いて実行前確認が行われる点が上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
(Embodiment 4)
Next,
なお、本実施の形態におけるシステム1のハードウェア構成及び機能構成は、上記実施の形態1と同様であるので、図示及び説明を省略する。
Note that the hardware configuration and functional configuration of the
[4.1 処理]
本実施の形態では、上記実施の形態1における実行前確認のステップS216がステップS216Cに代わる点を除いて、上記実施の形態1の処理と同様である。したがって、実行前確認処理のステップS216Cについて図24を参照しながら説明する。
[4.1 Processing]
This embodiment is the same as the processing in the first embodiment, except that step S216 of the pre-execution confirmation in the first embodiment is replaced with step S216C. Therefore, step S216C of the pre-execution confirmation process will be described with reference to FIG. 24.
図24は、実施の形態4における実行前確認処理のフローチャートを示す。 FIG. 24 shows a flowchart of the pre-execution confirmation process in the fourth embodiment.
(ステップS2163C)
デバイス300は、デバイス劣化情報を取得する。デバイス劣化情報は、装置20に含まれるアクチュエータ22及び/又は加熱器23の劣化レベルを示す。劣化レベルの検出方法は、特に限定されず、例えばセンサによって検出されればよい。
(Step S2163C)
The
(ステップS2165C)
デバイス300は、劣化レベルに対応するルールを取得する。例えば、デバイス300は、ルールデータベースを参照して、ブロックが駆動するアクチュエータ22又は加熱器23の劣化レベルに対応するパラメータ範囲を取得する。
(Step S2165C)
The
図25は、実施の形態4におけるルールデータベースの一例を示す。図25のルールデータベース1400Cには、ルール1401C~1404Cが登録されている。ルール1401C~1404Cの各々は、非許容範囲を定義するパラメータ範囲を有する。例えば、ルール1401Cは、劣化レベル0のモータMM0001のために、1000rpmより大きい範囲を非許容範囲として有する。例えば、ルール1402Cは、劣化レベル1のモータMM0001のために、800rpmより大きい範囲を非許容範囲として有する。つまり、ルール1402Cは、ルール1401Cよりも非許容範囲が広く、許容範囲が狭い。
FIG. 25 shows an example of the rule database according to the fourth embodiment.
ルール1401C~1404Cの各々は、さらに、種別と、製造者名と、アクチュエータ/加熱器と、劣化レベルと、を有する。これにより、デバイス300は、ルールデータベース1400Cから、ブロックで駆動されるアクチュエータ22又は加熱器23の劣化レベルに対応するルールを取得することができる。例えば、デバイス300は、脱水動作のブロックで駆動されるモータMM0001の劣化レベルが0である場合、脱水ブロックのために、図25のルールデータベース1400Cを参照してルール1401Cを取得する。
Each of the
なお、劣化レベルを決定する項目は、例えば、デバイス300に含まれるアクチュエータ22及び/又は加熱器23の使用回数、使用時間、又は稼働開始から現在まで使用日数である。これらの項目は、ユーザの使用に対して概ね比例関係で増えると想定される。よって、項目に対応する値が大きくなるごとに、劣化レベルが大きくなるようにルールが決定される。
Note that the items that determine the deterioration level are, for example, the number of times the
また、劣化レベルを決定する項目は、例えば、加熱器23の温度の加算値、又はアクチュエータ22及び/又は加熱器23の入力及び出力の再現度合である。加熱器23の温度の加算値とは、加熱器23が駆動されたときの温度を加算した値である。例えば、ブロック実行時の加熱器23の平均温度、中間温度、又は最大温度が用いられる。加熱器23の温度は、加熱器23の限界温度に対する実行温度の割合、加熱器23の限界温度に対する実行温度の差分であってもよい。
Further, the item that determines the deterioration level is, for example, the added value of the temperature of the
アクチュエータ22及び/又は加熱器23の入力及び出力の再現度合とは、アクチュエータ22及び/又は加熱器23を駆動するための入力値とアクチュエータ22及び/又は加熱器23の出力との関係を参照して求められる。所定の入力に対する実際の出力値と、関係に規定された出力値との割合が用いられる。
The degree of reproducibility of the input and output of the
[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つを駆動する。
[4.2 Effects etc.]
As described above, the
これによれば、複数のブロックで規定されたアプリケーションに基づいてアクチュエータ22及び/又は加熱器23を駆動することができる。したがって、装置20の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、そのように開発された多種多彩なアプリケーションを装置20で簡単に実行することが可能となる。さらに、アプリケーションに基づいてアクチュエータ22及び/又は加熱器23が駆動される前に、許容されない第1パラメータ範囲に含まれるパラメータを有するブロックを変更することができる。したがって、アクチュエータ22及び/又は加熱器23が許容されないパラメータで駆動されることを抑制することができる。つまり、装置20を安全に制御することができないアプリケーションが実行されることを抑制することができ、アプリケーションで制御される装置20の安全性を向上させることができる。さらに、装置20の劣化情報に応じて異なるパラメータ範囲を用いることができ、ブロックを用いることで、経年劣化していくデバイスのパフォーマンスを考慮しながら、アプリケーション側からのアクチュエータ22及び/又は加熱器23への駆動指示を実行し、アプリケーションで制御される装置20の安全性をより向上させることができる。
According to this, the
(実施の形態5)
上記実施の形態1~4では、既に配信されているアプリケーションに含まれるブロックが、そのアプリケーションが実行される前に変更される。本実施の形態では、そのアプリケーションに含まれるブロックが変更されるタイミングが、アプリケーションが配信される前、つまり、そのアプリケーションが開発または制作される段階であって、その点で本実施の形態は上記実施の形態1~4とは異なる。以下、本実施の形態について、上記実施の形態1~4と異なる点を中心に、詳細に説明する。なお、本実施の形態は、ブロックの変更のタイミング以外については、上記実施の形態1~4と同様であってもよい。また、本実施の形態における各構成要素のうち、実施の形態1~4と同一の構成要素については、実施の形態1~4と同一の符号を付し、詳細な説明を省略する。
(Embodiment 5)
In the first to fourth embodiments described above, blocks included in an application that has already been distributed are changed before the application is executed. In this embodiment, the timing at which the blocks included in the application are changed is before the application is distributed, that is, at the stage when the application is being developed or produced. This is different from
[5.1 構成]
図26は、アプリケーションの開発に用いられる情報処理システムの構成例を示す図である。
[5.1 Configuration]
FIG. 26 is a diagram illustrating a configuration example of an information processing system used for application development.
情報処理システム2000は、ブロックデータベース41と、ルールデータベース42と、開発ツール50と、複数の装置20および複数の端末30と、アプリ提供サーバ60と、シーケンスマネージャ100とを備える。例えば、情報処理システム2000に備えられるこれらの構成要素は、インターネットなどの通信ネットワークを介して接続される。
The
ブロックデータベース41は、ブロックDBとも呼ばれ、複数の機能ブロックを含むブロック一覧を格納している記録媒体である。なお、これらの機能ブロックは、実施の形態1~4と同様、ブロックとも呼ばれる。ルールデータベース42は、ルールDBとも呼ばれ、複数のルールを格納している記録媒体である。なお、ルールデータベース42は、例えば図11に示すルールデータベース1400と同様であってもよい。また、これらの記録媒体は、ハードディスク、RAM(Read Only Memory)、ROM(Random Access Memory)、または半導体メモリなどである。なお、このような記録媒体は、揮発性であっても不揮発性であってもよい。
The
開発ツール50は、例えば、プロセッサ51と、メモリ52と、ディスプレイ53と、入力部54とを備えるコンピュータシステムである。プロセッサ51は、例えばメモリ52に格納されたインストラクション又はソフトウェアプログラムを実行することによって後述の各処理を実行し、ディスプレイ53に文字または画像などを表示する。ディスプレイ53は、例えば液晶ディスプレイ、プラズマディスプレイ、有機EL(Electro-Luminescence)ディスプレイなどであるが、これらに限定されない。入力部54は、例えばキーボード、タッチセンサ、タッチパッドまたはマウスなどとして構成されている。このような開発ツール50は、例えばアプリケーションの開発者によって利用され、複数の機能ブロックを含むシーケンスまたはアプリケーションを生成する。なお、本実施の形態では、この開発ツール50は、情報処理装置の一例である。
The
アプリ提供サーバ60は、開発ツール50によって生成されたアプリケーションを、その開発ツール50から通信ネットワークを介して取得して保持する。そして、アプリ提供サーバ60は、端末30に備えられているUI400からの指示に応じて、保持しているアプリケーションをシーケンスマネージャ100にダウンロードする。
The
図27Aは、ブロックデータベース41に格納されている情報の一例を示す図である。図27Bは、ルールデータベース42に格納されている情報の一例を示す図である。
FIG. 27A is a diagram showing an example of information stored in the
ブロックデータベース41は、図27Aに示すように、洗濯機を駆動するための機能ブロックの一覧を、上述のブロック一覧として格納している。例えば、ブロック一覧41aが格納されている。ブロック一覧41aは、洗濯機を駆動するための機能ブロック1000、1010、1020、及び1030などを含む。これらの機能ブロックは、上記実施の形態1~4のブロックと同一または類似であってもよい。
As shown in FIG. 27A, the
ルールデータベース42は、図27Bに示すように、洗濯機に適用される少なくとも1つのルールからなるルール群を格納している。例えば、ルール群42aが格納されている。ルール群42aは、洗濯機に適用されるルールR1000、R1010、R1020、及びR1030などを含む。これらのルールは、上記実施の形態1~4のルールと同一または類似であってもよい。
As shown in FIG. 27B, the
ここで、洗濯機のルールR1010、R1020、及びR1030のそれぞれは、例えば、所定のメーカによって製造された所定の型式の洗濯機に適用される専用ルールである。具体的には、その専用ルールR1010、R1020、R1030などのそれぞれは、例えば図11に示すルール1401~1405であってもよい。
Here, each of the washing machine rules R1010, R1020, and R1030 is a dedicated rule applied to a predetermined model of washing machine manufactured by a predetermined manufacturer, for example. Specifically, each of the dedicated rules R1010, R1020, R1030, etc. may be
一方、洗濯機のルールR1000は、例えば、複数種の洗濯機のそれぞれに適用可能な、洗濯機の汎用ルールである。 On the other hand, the washing machine rule R1000 is a general washing machine rule that can be applied to each of a plurality of types of washing machines, for example.
図28は、ルールデータベース42に含まれる汎用ルールの一例を示す図である。
FIG. 28 is a diagram showing an example of general-purpose rules included in the
ルールデータベース42に格納されている洗濯機のルール群42aには、例えば図28の(a)に示す汎用ルールR1000が含まれていてもよい。この汎用ルールR1000は、複数種の洗濯機のそれぞれに適用可能なパラメータ範囲(500rpm,+∞)を示す。その複数種の洗濯機は、複数の製造業者から提供されている洗濯機を含む。また、各製造業者が複数の型式の洗濯機を提供していれば、その複数種の洗濯機は、その複数の型式の洗濯機を含む。つまり、汎用ルールR1000に示されるルールであるパラメータ範囲は、製造業者および型式を問わず、どのような洗濯機にも適用される。なお、そのパラメータ範囲は、実施の形態1~4と同様、非許容範囲を定義していてもよい。例えば、汎用ルールR1000は、500rpmより大きい範囲を非許容範囲として示す。また、非許容範囲は、実施の形態1~4と同様、例えば筐体21の内部空間、アクチュエータ22又は加熱器23を耐久温度に到達させるパラメータの範囲であってもよい。
The washing
また、その洗濯機の汎用ルールR1000は、図28の(b)に示すように、複数の製造業者のそれぞれの洗濯機に適用されるパラメータ範囲を示していてもよい。例えば、汎用ルールR1000は、製造業者「A社」から提供される複数の型式の洗濯機に適用されるパラメータ範囲(800rpm,+∞)と、製造業者「B社」から提供される複数の型式の洗濯機に適用されるパラメータ範囲(600rpm,+∞)となどを示す。 Further, the general rule R1000 for the washing machine may indicate a parameter range applied to each washing machine of a plurality of manufacturers, as shown in FIG. 28(b). For example, the general rule R1000 is a parameter range (800 rpm, +∞) that is applied to multiple models of washing machines provided by manufacturer "Company A" and a parameter range (800 rpm, +∞) that is applied to multiple models of washing machines provided by manufacturer "Company B". This shows the parameter range (600 rpm, +∞) applicable to the washing machine.
なお、汎用ルールは、洗濯機の構造の種別によって、異なるルールに設定されていてもよい。洗濯機の構造の種別とは、例えば、洗濯槽の回転軸が上下方向に沿っている縦型洗濯機と、洗濯槽の回転軸が上下方向に対して交差しているドラム式洗濯機とがある。このように、洗濯機の構造の種別が異なると、洗濯の方法が大きく異なるため、洗濯機の構造の種別毎に、異なる汎用ルールに分けて設定されていてもよい。例えば、縦型洗濯機の汎用ルールは、縦型洗濯機であれば各製造業者で共通に適用されてもよいし、ドラム型洗濯機の汎用ルールは、ドラム型洗濯機であれば各製造業者で共通に適用されてもよい。また、専用ルールにおいて、洗濯機の構造の種別によって、異なるルールに設定されていてもよい。 Note that the general rules may be set to different rules depending on the type of structure of the washing machine. For example, the type of structure of a washing machine is a vertical washing machine in which the rotation axis of the washing tub runs along the vertical direction, and a drum-type washing machine in which the rotation axis of the washing tub crosses the vertical direction. be. As described above, since the washing method differs greatly depending on the type of structure of the washing machine, different general rules may be set separately for each type of structure of the washing machine. For example, a general rule for a top-loading washing machine may apply to all manufacturers if it is a top-loading washing machine, and a general rule for a drum-type washing machine may apply to each manufacturer for a drum-type washing machine. may be commonly applied. Moreover, in the dedicated rules, different rules may be set depending on the type of structure of the washing machine.
[5.2 処理]
図29は、情報処理システム2000のシーケンス図である。
[5.2 Processing]
FIG. 29 is a sequence diagram of the
(ステップS11)
まず、開発ツール50は、1つ以上の機能ブロックをインストールする。具体的には、開発ツール50は、ブロックデータベース41から1つ以上の機能ブロックをダウンロードによって取得する。例えば、開発ツール50は、洗濯機のブロック一覧41aを取得してもよく、そのブロック一覧41aの一部の機能ブロックのみを取得してもよい。そして、開発ツール50は、その取得された1以上の機能ブロックを、シーケンスの生成に利用可能な状態にする。
(Step S11)
First, the
ここで、ブロックデータベース41に格納されている各機能ブロックには、その機能ブロックに対応するデバイス情報が付加されていてもよい。このデバイス情報は、そのデバイス情報に対応する機能ブロックに応じて駆動する例えば装置20の製造業者、種別、型式、または型番などを示す。したがって、開発ツール50は、それらのデバイス情報に基づいて、1つ以上の機能ブロックをダウンロードしてもよい。例えば、開発ツール50は、同一の製造業者から提供されている各装置20を駆動するための1つ以上の機能ブロックをダウンロードしてもよく、調理の温めに用いられる各装置20を駆動するための1つ以上の機能ブロックをダウンロードしてもよい。
Here, each functional block stored in the
(ステップS12)
次に、開発ツール50は、シーケンスを生成する。具体的には、開発ツール50は、操作者による入力部54への入力操作に応じて、ダウンロード済みの1以上の機能ブロックを用いてシーケンスを生成する。なお、操作者は、シーケンスであるアプリケーションの開発者であってもよい。本実施の形態では、開発ツール50は、このステップS12において、上述のルールを参照し、そのルールに基づいてアプリケーションを変更する。
(Step S12)
Next, the
(ステップS13)
次に、開発ツール50は、生成されたシーケンスのアップロードを行う。具体的には、開発ツール50は、操作者による入力部54への入力操作に応じて、生成されたシーケンスをアプリ提供サーバ60に送信するための送信情報を、そのシーケンスの内容に基づいて生成し、その送信情報をアプリ提供サーバ60に送信する。この送信情報は、例えばJSON(JavaScript Object Notation)などであってもよい。これにより、そのシーケンスがアプリ提供サーバ60に送信されて、アプリケーションとしてアプリ提供サーバ60に格納される。
(Step S13)
Next, the
(ステップS14)
次に、端末30のユーザは、その端末30のUI400を操作することによって、アプリ提供サーバ60にアクセスし、アプリ提供サーバ60に格納されているアプリケーションの一覧を閲覧する。そして、UI400は、そのユーザによる操作に応じて、一覧からアプリケーションを選択し、そのアプリケーションのダウンロードをアプリ提供サーバ60に要求する。
(Step S14)
Next, the user of the terminal 30 accesses the
(ステップS15)
アプリ提供サーバ60は、UI400からのダウンロードの要求を受け付けると、そのユーザに紐づくシーケンスマネージャ100に、選択されたアプリケーションをダウンロードする。
(Step S15)
Upon receiving the download request from the
図30は、開発ツール50の全体的な処理動作を示すフローチャートである。具体的には、図30に示すフローチャートは、図29のシーケンスにおけるステップS11およびS12の詳細な処理動作を示す。
FIG. 30 is a flowchart showing the overall processing operation of the
(ステップS21)
開発ツール50は、まず、例えば洗濯機500を駆動するための複数の機能ブロックをインストールする。
(Step S21)
The
(ステップS22)
次に、開発ツール50は、操作者による入力部54への入力操作に応じて、機能ブロックの配置処理を行う。すなわち、開発ツール50は、ステップS21でインストールされた複数の機能ブロックをディスプレイ53に表示し、操作者による入力部54への入力操作に応じて、その表示されている複数の機能ブロックから、1つの機能ブロックを選択する。そして、開発ツール50は、操作者による入力部54への入力操作に応じて、その機能ブロックをディスプレイ53上のシーケンス生成画面における選択ブロック領域に配置する。シーケンス生成画面については、図33を用いて後述する。つまり、操作者は、複数の機能ブロックのうちの1つの機能ブロックをその選択ブロック領域にドラッグ&ドロップする。
(Step S22)
Next, the
(ステップS23)
次に、開発ツール50は、操作者による入力部54への入力操作に応じて、ステップS22で配置された機能ブロックのパラメータ設定処理を行う。すなわち、開発ツール50は、上述のシーケンス生成画面におけるパラメータ設定領域に、その機能ブロックに用いられるパラメータの内容を受け付けるための受付画像を表示する。そして、開発ツール50は、操作者による入力部54への入力操作に応じて、そのパラメータの内容を受け付けて、そのパラメータの内容をパラメータ設定領域に表示する。これにより、その機能ブロックに対してパラメータが設定される。なお、機能ブロックのパラメータは、初期値が予め設定されていてもよい。
(Step S23)
Next, the
(ステップS24)
次に、開発ツール50は、洗濯機500に適用されるルールを参照し、そのステップS23で設定されたパラメータが、そのルールに示されるパラメータ範囲外、すなわち非許容範囲外であるか否かを判定する。
(Step S24)
Next, the
(ステップS25)
開発ツール50は、ステップS24でパラメータが非許容範囲外ではないと判定すると(ステップS24のNo)、パラメータ設定サポート処理を行う。このパラメータ設定サポート処理では、開発ツール50は、操作者にエラーを提示するエラー提示処理、または、パラメータの自動修正処理を行う。パラメータの自動修正処理では、開発ツール50は、非許容範囲のパラメータを許容範囲内のパラメータに変更することによって、その機能ブロックを変更する。エラー提示処理では、開発ツール50は、例えば、直前のステップS23で設定されたパラメータが非許容範囲内であることを示すメッセージをエラーとしてディスプレイ53に表示し、そのパラメータの変更を操作者に促す。そして、開発ツール50は、ステップS25の処理が行われた後には、ステップS23からの処理を繰り返し行う。
(Step S25)
When the
なお、ステップS25においてパラメータの自動修正処理が行われた後に、ステップS23の処理が行われる場合には、そのステップS23では、開発ツール50は、その自動修正処理によって変更された後のパラメータをパラメータ設定領域に表示する。一方、ステップS25においてエラー提示処理が行われた後に、ステップS23の処理が行われる場合には、そのステップS23では、開発ツール50は、上述と同様、再び、操作者による入力部54への入力操作に応じて、そのパラメータの内容を受け付ける。これにより、その機能ブロックに対してパラメータが変更される。つまり、機能ブロックが変更される。
Note that if the process of step S23 is performed after the parameter automatic correction process is performed in step S25, in step S23, the
なお、機能ブロックのパラメータは、固定された値が設定されていてもよい。この場合、開発ツール50は、ステップS24およびS25の処理を行わなくてもよい。
Note that the parameters of the functional blocks may be set to fixed values. In this case, the
(ステップS26)
開発ツール50は、ステップS24でパラメータが非許容範囲外であると判定すると(ステップS24のYes)、さらに、そのステップS22で配置された機能ブロックの接続が許可されている否かを判定する。例えば、ステップS22では、選択ブロック領域に既に配置されている他の機能ブロックである既存ブロックの直前または直後に、機能ブロックが配置される。その結果、機能ブロックは、その既存ブロックに接続された状態で配置される。つまり、機能ブロックによる装置20の処理と、既存ブロックによる装置20の処理とが連続して実行されるように、その機能ブロックが配置される。この場合、開発ツール50は、洗濯機500に適用される接続ルールを参照することによって、その機能ブロックと既存ブロックとの接続が許可されているか否かを判定する。つまり、開発ツール50は、実施の形態1のステップS2166と同様に、第1ブロックの次に第2ブロックを実行することが許容されるか否かを判定することで、第1ブロックと第2ブロックとの接続が許可されているか否かを判定する。なお、接続ルールは、例えば図11に示すルール1401~1405であってもよい。
(Step S26)
When the
(ステップS27)
開発ツール50は、ステップS26で接続が許可されていないと判定すると(ステップS26のNo)、接続サポート処理を行う。この接続サポート処理では、開発ツール50は、操作者にエラーを提示するエラー提示処理、または、接続の自動修正処理を行う。そして、開発ツール50は、ステップS22からの処理を繰り返し行う。ステップS27における接続の自動修正処理では、例えば、実施の形態1におけるステップS2167と同様の処理が行われてもよい。
(Step S27)
When the
なお、ステップS27において接続の自動修正処理が行われた後に、ステップS22の処理が行われる場合には、そのステップS22では、開発ツール50は、その自動修正処理によって接続し直された2以上の機能ブロックを選択ブロック領域に表示する。一方、ステップS27においてエラー提示処理が行われた後に、ステップS22の処理が行われる場合には、そのステップS22では、開発ツール50は、上述と同様、再び、操作者による入力部54への入力操作に応じて、機能ブロックを配置し直す。また、ステップS27からステップS22の処理が繰り返される場合には、開発ツール50は、機能ブロックのパラメータは既に許容範囲内に設定されているため、ステップS22以降のステップS23~S25の処理をスキップしてもよい。
Note that if the process in step S22 is performed after the connection automatic correction process is performed in step S27, in step S22, the
(ステップS28)
開発ツール50は、ステップS26で接続が許可されていると判定すると(ステップS26のYes)、さらに、操作者による入力部54への入力操作に応じて、シーケンスの生成が完了したか否かを判定する。ここで、開発ツール50は、シーケンスの生成が完了していないと判定すると(ステップS28のNo)、ステップS22からの処理を繰り返し行う。このときには、開発ツール50は、ステップS21でインストールされた複数のブロックから新たなブロックを、操作者による入力部54への入力操作に応じて選択して、上述の選択ブロック領域に配置する。
(Step S28)
When the
(ステップS29)
開発ツール50は、ステップS28でシーケンスの生成が完了したと判定すると(ステップS28のYes)、さらに、生成されたシーケンス全体の流れが許可されているか否かを判定する。例えば、そのシーケンスの中で、第1の機能ブロックよりも前または後に第2の機能ブロックが配置されている。一方、洗濯機500に適用される組み合わせルールでは、その第1の機能ブロックと第2の機能ブロックとの組み合わせは、許可されていない。このような場合、開発ツール50は、その生成されたシーケンス全体の流れが許可されていないと判定する。あるいは、洗濯機500に適用される組み合わせルールでは、その第1の機能ブロックよりも前または後には、第2の機能ブロックが配置されていることが求められている。このような場合、開発ツール50は、その生成されたシーケンス全体の流れが許可されていると判定する。
(Step S29)
When the
(ステップS30)
開発ツール50は、ステップS29でシーケンス全体の流れが許可されていないと判定すると(ステップS29のNo)、配置サポート処理を行う。この配置サポート処理では、開発ツール50は、操作者にエラーを提示するエラー提示処理、または、機能ブロックの配置の自動修正処理を行う。そして、開発ツール50は、ステップS22からの処理を繰り返し行う。
(Step S30)
If the
なお、ステップS30において配置の自動修正処理が行われた後に、ステップS22の処理が行われる場合には、そのステップS22では、開発ツール50は、その自動修正処理によって配置し直された2以上の機能ブロックを選択ブロック領域に表示する。また、ステップS30からステップS22の処理が繰り返される場合には、開発ツール50は、機能ブロックのパラメータは既に許容範囲内に設定されているため、ステップS22以降のステップS23~S25の処理をスキップしてもよい。また、開発ツール50は、機能ブロックの接続は既に許可されているため、ステップS26およびS27の処理をスキップしてもよい。さらに、開発ツール50は、ステップS28の処理もスキップしてもよい。
Note that if the process of step S22 is performed after the automatic correction process of the arrangement is performed in step S30, in step S22, the
なお、開発ツール50は、ステップS29およびS30の処理をスキップしてもよい。
Note that the
図31は、パラメータの自動修正処理の一例を示すフローチャートである。 FIG. 31 is a flowchart illustrating an example of automatic parameter correction processing.
図30に示す例では、1つの機能ブロックが選択されて配置されるたびに、その機能ブロックのパラメータに対する判定と自動修正処理とが行われる。しかし、本開示では、その例に限定されることなく、開発ツール50は、図31に示すフローチャートにしたがって各処理を行ってもよい。
In the example shown in FIG. 30, each time one functional block is selected and placed, determination and automatic correction processing are performed on the parameters of that functional block. However, in the present disclosure, the
(ステップS41)
開発ツール50は、操作者による入力部54への入力操作に応じて、例えば洗濯機500を駆動するためのN個(Nは2以上の整数)の機能ブロックからM個(Mは1以上かつN以下の整数)の機能ブロックを選択する。つまり、開発ツール50は、制御対象機器である洗濯機500に備えられているアクチュエータ22及び加熱器23の少なくとも1つを駆動するためのN個の機能ブロックから、操作者による入力部54への入力操作に応じて、M個の機能ブロックのそれぞれを選択ブロックとして選択する。
(Step S41)
The
(ステップS42)
次に、開発ツール50は、選択されたM個の機能ブロックのそれぞれにパラメータを設定することによって、シーケンス、すなわちアプリケーションを生成する。つまり、開発ツール50は、M個の選択ブロックの各々に、アクチュエータ22又は加熱器23を駆動するためのパラメータを、操作者による入力部54への入力操作に応じて設定することで、M個の選択ブロックで規定されたアプリケーションを生成する。
(Step S42)
Next, the
(ステップS43)
次に、開発ツール50は、洗濯機500に適用されるルールを参照する。例えば、開発ツール50は、ステップS42で生成されたアプリケーションが複数種の洗濯機に適用される場合には、汎用ルールR1000を参照する。また、開発ツール50は、ステップS42で生成されたアプリケーションが所定の型式の洗濯機に適用される場合には、専用ルールR1010、R1020及びR1030のうちのその型式の洗濯機500に対応付けられているルールを参照する。つまり、開発ツール50は、ステップS42で生成されるアプリケーションが、制御対象機器専用のアプリケーションか、その制御対象機器と、その制御対象機器以外の機器とに適用される汎用のアプリケーションかを判定する。そして、開発ツール50は、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されないパラメータ範囲をそれぞれ定義する複数のルール候補のうちの、そのアプリケーションの判定結果に応じたルール候補を、上述のルールとして参照する。
(Step S43)
Next, the
(ステップS44)
そして、開発ツール50は、ステップS42で設定されたM個の機能ブロックのそれぞれのパラメータが、上述のルールに示される非許容範囲に含まれるか否かを判定する。
(Step S44)
The
(ステップS45)
ここで、開発ツール50は、そのパラメータが非許容範囲に含まれていると判定すると(ステップS44のYes)、そのパラメータを有する機能ブロックを変更する。つまり、開発ツール50は、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されないパラメータ範囲を定義するルールを参照して、M個の選択ブロックの少なくとも1つを変更することでアプリケーションを変更する。ここで、そのM個の選択ブロックの少なくとも1つは、そのパラメータ範囲に含まれるパラメータを有する。
(Step S45)
Here, if the
(ステップS46)
そして、開発ツール50は、変更したアプリケーションを出力する。
(Step S46)
The
図32は、パラメータのエラー提示処理の一例を示すフローチャートである。 FIG. 32 is a flowchart illustrating an example of parameter error presentation processing.
図30に示す例では、1つの機能ブロックが選択されて配置されるたびに、その機能ブロックのパラメータに対する判定とエラー提示処理とが行われる。しかし、本開示では、その例に限定されることなく、開発ツール50は、図32に示すフローチャートにしたがって各処理を行ってもよい。
In the example shown in FIG. 30, each time one functional block is selected and placed, determination and error presentation processing are performed on the parameters of that functional block. However, in the present disclosure, the
(ステップS41~S44)
開発ツール50は、図31に示す例と同様、ステップS41~S44の処理を実行する。
(Steps S41 to S44)
The
(ステップS51)
開発ツール50は、ステップS44でパラメータが非許容範囲に含まれていると判定すると(ステップS44のYes)、そのパラメータを有する機能ブロックを自動的に変更することなく、ディスプレイ53にエラーを表示する。これにより、操作者にエラーが提示される。つまり、ステップS43、S44およびS51の処理では、開発ツール50は、ルールを参照することによって、エラーを提示する。具体的には、開発ツール50は、アクチュエータ22及び加熱器23の少なくとも1つの駆動が許容されないパラメータ範囲を定義するルールを参照して、M個の選択ブロックの少なくとも1つが、上述のパラメータ範囲に含まれるパラメータを有する場合には、操作者に対してエラーを提示する。
(Step S51)
If the
(ステップS52)
そのエラーを見た操作者は、開発ツール50の入力部54への入力操作を行うことによって、ステップS42で設定されたパラメータを変更する。その結果、開発ツール50は、機能ブロックを変更する。つまり、開発ツール50は、エラーの提示を受けた操作者による入力操作に応じて、M個の選択ブロックの少なくとも1つを変更することでアプリケーションを変更する。そして、開発ツール50は、ステップS43からの処理を繰り返し実行する。
(Step S52)
The operator who sees the error changes the parameters set in step S42 by performing an input operation on the
(ステップS46)
開発ツール50は、ステップS44において、パラメータが非許容範囲に含まれていないと判定すると(ステップS44のNo)、アプリケーションを出力する。このとき、ステップS52でアプリケーションが変更されていれば、変更されたアプリケーションが出力される。一方、ステップS52でアプリケーションが変更されていなければ、ステップS42で生成されたアプリケーションが出力される。
(Step S46)
If the
ここで、ステップS51の処理が繰り返される場合には、開発ツール50は、その繰り返しの回数に応じて、エラーの提示形態を変更してもよい。例えば、開発ツール50は、エラーの提示回数がK回(Kは2以上の整数)以上の場合には、上述のパラメータ範囲に含まれないパラメータを操作者に提示する。つまり、開発ツール50は、エラーの提示回数がK回以上の場合には、パラメータ範囲に含まれないパラメータ、すなわち非許容範囲に含まれないパラメータを、機能ブロックに設定されるパラメータの候補としてディスプレイ53に表示する。これにより、その候補が、例えばアプリケーション開発者である操作者に提案される。その結果、その候補を見たアプリケーション開発者である操作者は、開発ツール50の入力部54への入力操作を行うことによって、ステップS42で設定されたパラメータを、その候補に容易に変更することができる。
Here, if the process of step S51 is repeated, the
または、開発ツール50は、エラーの提示回数がK回以上の場合には、上述のパラメータ範囲に含まれないパラメータの範囲を操作者に提示してもよい。つまり、開発ツール50は、エラーの提示回数がK回以上の場合には、パラメータの許容範囲をディスプレイ53に表示する。これにより、その許容範囲を見たアプリケーション開発者である操作者は、開発ツール50の入力部54への入力操作を行うことによって、ステップS42で設定されたパラメータを、許容範囲内のパラメータに容易に変更することができる。
Alternatively, if the number of errors presented is K or more, the
[5.3 表示例]
図33は、シーケンス生成画面の一例を示す図である。
[5.3 Display example]
FIG. 33 is a diagram showing an example of a sequence generation screen.
開発ツール50は、上述のシーケンス生成画面をディスプレイ53に表示する。シーケンス生成画面は、パラメータ設定領域D1と、ブロック一覧領域D2と、対象装置領域D3と、選択ブロック領域D4とを含む。
The
パラメータ設定領域D1には、機能ブロックに用いられるパラメータの内容を受け付けるための受付画像が表示される。 In the parameter setting area D1, a reception image for accepting the contents of parameters used for the functional block is displayed.
ブロック一覧領域D2には、複数種の装置20のそれぞれのブロック一覧が表示される。これらのブロック一覧は、ブロックデータベース41からダウンロードされて開発ツール50にインストールされた機能ブロックを含む。
In the block list area D2, a list of blocks for each of the plurality of types of
対象装置領域D3には、複数種の装置20から選択された装置20の種別名が表示される。
In the target device area D3, the type name of the
選択ブロック領域D4には、ブロック一覧領域D2に表示されるブロック一覧から選択された機能ブロックが配置されて表示される。その機能ブロックは、例えばアイコンとして表示される。 Functional blocks selected from the block list displayed in the block list area D2 are arranged and displayed in the selected block area D4. The functional block is displayed as an icon, for example.
例えば、操作者は、開発ツール50の入力部54に対する入力操作を行うことによって、アプリケーションが適用される装置20の種別名を決定する。開発ツール50は、その決定された種別名を対象装置領域D3に表示する。例えば、その決定された種別名「洗濯機」が表示される。続いて、操作者は、入力操作を行うことによって、ブロック一覧領域D2に表示されるブロック一覧から、決定された種別名「洗濯機」の装置20を駆動するための機能ブロックを選択する。そして、操作者は、入力操作を行うことによって、選択された機能ブロック、すなわち選択ブロックを選択ブロック領域D4に配置する。この機能ブロックの選択および配置は、ドラッグ&ドロップによって行われてもよい。この選択ブロック領域D4に配置される1つ以上の機能ブロックは、その配置されている順に実行されてもよい。つまり、アプリケーションは、その選択ブロック領域D4に配置されるM個の選択ブロックのそれぞれが実行される順番の情報と、そのM個の選択ブロックのそれぞれが実行されるタイミングの情報とを含む。
For example, the operator determines the type name of the
機能ブロックが選択ブロック領域D4に配置されると、開発ツール50は、パラメータ設定領域D1に、その機能ブロックに用いられるパラメータの受付画像を表示する。
When a functional block is placed in the selected block area D4, the
図34は、ブロック一覧の表示例を示す図である。 FIG. 34 is a diagram showing a display example of a block list.
操作者は、図33に示すブロック一覧領域D2に表示されている複数の装置20のそれぞれの種別名のうち、これから生成するアプリケーションが適用される装置20の種別名を、入力部54に対する入力操作を行うことによって選択する。開発ツール50は、その選択された種別名の装置20に対応するブロック一覧を、例えば図34に示すように表示する。例えば、図34に示すように、洗濯機が選択されると、開発ツール50は、その洗濯機のブロック一覧を表示する。例えば、そのブロック一覧は、洗濯量検知、給水、注水、洗剤投入、柔軟剤投入、撹拌、ドラム回転、脱水、排水、ドアロック、浸漬、除菌・抗菌、ブザー、送風、及び乾燥のそれぞれの機能を実現する機能ブロックを含む。
The operator inputs the type name of the
操作者は、入力部54への入力操作を行うことによって、このように表示されるブロック一覧から機能ブロックを選択し、その選択された機能ブロックを、図33に示す選択ブロック領域D4に配置する。つまり、開発ツール50は、このような入力操作に応じて、図30に示すステップS22の処理、すなわち機能ブロックの配置処理を行う。
The operator selects a functional block from the block list displayed in this manner by performing an input operation on the
図35A及び図35Bは、パラメータ設定領域D1の表示例を示す図である。 35A and 35B are diagrams showing display examples of the parameter setting area D1.
開発ツール50は、例えば図35A及び図35Bに示すように、装置20である洗濯機の機能ブロックに含まれるパラメータの内容を受け付けるための受付画像を、パラメータ設定領域D1に表示する。洗濯機には、脱水の機能を実現する機能ブロックと、ドラム回転の機能を実現する機能ブロックとを適用することができる。
For example, as shown in FIGS. 35A and 35B, the
例えば図35Aに示すパラメータ設定領域D1の受付画像は、脱水の機能ブロックに含まれる複数のパラメータの内容を受け付けるための画像である。例えば、脱水の機能ブロックは、脱水の設定回転数と、継続時間とをそれぞれパラメータとして含む。操作者は、その受付画像を見て、入力部54への入力操作を行うことにより、その設定回転数および継続時間のそれぞれの数値を、設定回転数のパラメータおよび継続時間のパラメータのそれぞれの内容として入力する。
For example, the acceptance image of the parameter setting area D1 shown in FIG. 35A is an image for accepting the contents of a plurality of parameters included in the dehydration functional block. For example, the dehydration functional block includes the set rotation speed and duration of dehydration as parameters. The operator looks at the reception image and performs an input operation on the
同様に、図35Bに示すパラメータ設定領域D1の受付画像は、ドラム回転の機能ブロック1060に含まれる複数のパラメータの内容を受け付けるための画像である。例えば、ドラム回転の機能ブロックは、ドラム回転の設定回転数と、ドラム回転の設定回転方向と、給水のオン/オフと、循環ポンプのオン/オフ及び回転方向とをそれぞれパラメータとして含む。操作者は、その受付画像を見て、入力部54への入力操作を行うことにより、その設定回転数およびの数値を、設定回転数のパラメータとして入力する。さらに、操作者は、設定回転方向の右回転および左回転のうちの一方と、給水に対するオンおよびオフのうちの一方と、循環ポンプに対するオンおよびオフのうちの一方と、循環ポンプに対する循環方向の正転および反転のうちの一方とを、回転方向のパラメータ、給水のパラメータ、および、循環ポンプのパラメータのそれぞれの内容として入力する。開発ツール50は、その入力された各パラメータの内容を受け付けることによって、ドラム回転の機能ブロックに用いられる各パラメータを設定する。
Similarly, the acceptance image in the parameter setting area D1 shown in FIG. 35B is an image for accepting the contents of a plurality of parameters included in the drum rotation
このように、開発ツール50は、操作者の入力操作に応じて、図30に示すステップS23のパラメータ設定処理を行う。
In this way, the
また、開発ツール50は、このように機能ブロックに含まれる各パラメータが設定されると、図30のステップS24のように、その機能ブロックに対応する装置20のルールを参照することによって、そのパラメータが非許容範囲外か否かを判定する。
Further, when each parameter included in a functional block is set in this way, the
図36は、機能ブロックの自動修正処理の一例を示す図である。 FIG. 36 is a diagram illustrating an example of automatic correction processing of functional blocks.
例えば、図36の(a)に示すように、操作者は、入力部54に対する入力操作を行うことによって、洗濯機500の脱水の機能ブロック1070に含まれる回転数および継続時間のそれぞれの数値を入力する。これにより、脱水の機能ブロック1070に用いられる各パラメータが設定される。
For example, as shown in FIG. 36(a), by performing an input operation on the
このように各パラメータが設定されると、開発ツール50は、その機能ブロックの自動修正処理を行う。まず、開発ツール50は、その機能ブロックに対応する洗濯機500のルールを参照する。例えば、開発ツール50は、図27Bに示すルールデータベース42aに含まれる何れか1つのルールを参照する。そのルールは、汎用ルールR1000であっても、専用ルールR1010などであってもよい。
Once each parameter is set in this manner, the
そして、開発ツール50は、入力されたパラメータである回転数の数値、例えば1200rpmが、ルールに示されるパラメータ範囲に含まれる、すなわちその数値が非許容範囲に含まれると判定すると、そのパラメータの数値を修正する。例えば、そのパラメータ範囲が、1000rpmを超える範囲である場合、開発ツール50は、図36の(b)に示すように、設定温度の数値を1200rpmから1000rpmに修正する。このとき、開発ツール50は、その回転数を下げるため、継続時間が長くなるように、その継続時間のパラメータを修正してもよい。このようなパラメータの修正によって、脱水の機能ブロックが変更される。すなわち、その機能ブロックを含むアプリケーションが変更される。これにより、洗濯機500の安全性を担保することができる。
Then, when the
図37は、機能ブロックの接続の自動修正処理の第1の例を示す図である。 FIG. 37 is a diagram illustrating a first example of automatic correction processing for connection of functional blocks.
例えば、図37の(a)に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070の次の順番に実行される機能ブロックとして撹拌の機能ブロック1050を配置する入力をする。これは、第5のルール1403で許容されないため、開発ツール50は、図37の(b)に示すように、脱水の機能ブロック1070の次に実行される順番の制御情報として所定期間(例えば30秒間)何もせずに待機する動作に関するパラメータを含む待機動作の既往ブロック1150を追加する。つまり、脱水動作の機能ブロック1070の次に脱水動作とは異なる回転を用いた撹拌動作の機能ブロック1050が配置されると、開発ツール50は、脱水動作の機能ブロック1070と撹拌動作の機能ブロック1050との間に待機動作の機能ブロック1150を追加する修正を自動的に行う。このような機能ブロックの順番に他の機能ブロックを追加する修正によって、機能ブロックの接続が変更される。すなわち、その機能ブロックを含むアプリケーションが変更される。これにより、洗濯機500の安全性を担保することができる。
For example, as shown in FIG. 37(a), the operator can change the order of the
なお、開発ツール50は、図37の(b)に示すように、自動修正を行った場合、自動修正を行った理由を示すメッセージD7を設定画面D6に表示してもよい。
Note that, as shown in FIG. 37(b), when automatic correction is performed, the
図38は、機能ブロックの接続の自動修正処理の第2の一例を示す図である。 FIG. 38 is a diagram illustrating a second example of automatic correction processing for connection of functional blocks.
例えば、図38の(a)に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070の次の順番に実行される機能ブロックとして撹拌の機能ブロック1050を配置する入力をする。これは、第5のルール1403で許容されないため、開発ツール50は、図38の(b)に示すように、脱水の機能ブロック1070の次に撹拌の機能ブロック1050を配置できない旨のメッセージD8を設定画面D6に表示してもよい。なお、メッセージD8は、機能ブロックの順番を修正するか否かをユーザに問い合わせる表示を含んでいてもよい。図38の(b)に示すように問い合わせる表示に「はい」、「いいえ」が含まれており、ユーザにより「はい」への入力が行われた場合、開発ツール50は、修正を受け付ける画面に切り替えてもよい。「いいえ」への入力が行われた場合、開発ツール50は、機能の順番を設定する画面D6の表示を終了してもよい。
For example, as shown in FIG. 38A, the operator can change the order of the
図39は、機能ブロックの接続の自動修正処理の第3の一例を示す図である。 FIG. 39 is a diagram illustrating a third example of automatic correction processing for connection of functional blocks.
例えば、図39の(a)に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070の次の順番に実行される機能ブロックとして、ブロック一覧領域D2から撹拌の機能ブロック1050をドラックアンドドロップで配置しようとしたとする。これは、第5のルール1403で許容されないため、開発ツール50は、図39の(b)に示すように、脱水の機能ブロック1070の次に撹拌の機能ブロック1050を配置できない旨のメッセージD9を設定画面D6に表示してもよい。なお、メッセージD9は、他の機能ブロックを選択することを促すメッセージを含んでいてもよい。この場合にメッセージD9に含まれる、他の機能ブロックは、各ルールによって許容される機能ブロックを具体的に提示してもよい。
For example, as shown in FIG. 39(a), the operator can change the order of the
図40は、機能ブロックの接続の自動修正処理の第4の一例を示す図である。 FIG. 40 is a diagram illustrating a fourth example of automatic correction processing for connection of functional blocks.
例えば、図40に示すように、操作者は、機能の順番を設定するための設定画面D6において、入力部54に対する入力操作を行うことによって、脱水の機能ブロック1070を配置した場合、開発ツール50は、脱水の機能ブロック1070の次に実行される順番が各ルールによって許容されない機能ブロックが選択できないことを示す表示態様でブロック一覧領域D2aを表示してもよい。この場合、例えば、開発ツール50は、撹拌の機能ブロック1050およびドラム回転の機能ブロック1060を示す表示に取り消し線を引いた表示態様としてもよいし、グレーアウトした表示態様としてもよいし、ブロック一覧領域の選択対象から削除してもよい。
For example, as shown in FIG. 40, when the operator places the
図39および図40で例示したように、開発ツール50は、複数の機能ブロックのうちの第1の機能ブロックの入力を受け付け、受け付けた第1の機能ブロックと、選択の順番に関するルールと、に基づいて、第1の機能ブロックの次の順番で実行されることが許容される機能ブロックの条件を特定し、特定した条件に基づいて、第1の機能ブロックの次に実行される順番に設定される第2の機能ブロックの入力を制限してもよい。
As illustrated in FIGS. 39 and 40, the
[5.4 効果など]
以上のように、本実施の形態では、ブロックを含むアプリケーションとルールデータベースとにより、多様多種でかつ安全なアプリケーションを開発可能な環境を提供することができる。したがって、その環境下で自由に開発したアプリケーションに対して、物理的に運動するアクチュエータ22、又は熱エネルギーを出力する加熱器23の安全な駆動することを可能にしている。その結果、例えば、自由度の高い多様多種なアプリケーションの開発と、安全性を担保するためのルールデータベースの開発とを並行して作成することが可能になり、多様多種でかつ安全なアプリケーションを早期に開発することを可能にすることができる。
[5.4 Effects etc.]
As described above, in this embodiment, it is possible to provide an environment in which a wide variety of safe applications can be developed using applications including blocks and a rule database. Therefore, it is possible to safely drive the physically moving
また、本実施の形態と、実施の形態1~4のうちの何れかの形態とを組み合わせれば、アプリケーションの提供後においても、ルールデータベースを変更することで、より安全性を担保したアプリケーションへの変更も可能になる。また、事前に製造者が想定しない状況の改善が必要になった場合においても、多様多種なアプリケーション自体を変更せずとも、アプリケーションとは独立して、ルールデータベースが規定されているため、そのルールデータベースを更新することで、全てのアプリケーションへの対応が可能になる。
Furthermore, if this embodiment is combined with any of
例えば、本実施の形態における情報処理方法は、洗濯機500の運転を制御するための複数の制御情報を含む洗濯情報を生成する。この情報処理方法は、複数のブロック(制御情報)、及び、順番情報を含むシーケンス(洗濯情報)の入力を受け付け、洗濯の順番に関するルールに基づいてシーケンスを修正する。複数のブロックのそれぞれは、洗濯物に対する洗濯に関する運転を行う洗濯機能部を制御するパラメータに関する。順番情報は、複数のブロックを実行する順番に関する。
For example, the information processing method in this embodiment generates laundry information that includes a plurality of pieces of control information for controlling the operation of
これによれば、複数のブロックで規定されたアプリケーションに基づいて洗濯機能部を駆動させることができる。従って、洗濯機500の制御を抽象化したブロックを用いたアプリケーションの開発が可能となり、多種多彩なアプリケーションを製造者だけではなく、サードパーティも開発することができ、これらのアプリケーションを洗濯機500で簡単に実行することが可能となる。さらに、この開発時には、許容されない順番のブロックを自動的に修正することができる。したがって、洗濯機能部が許容されない順番の動作を実行することを抑制することができる。つまり、もしアプリケーション開発者が洗濯機能部が許容されない順番の動作を誤って設定した場合でも、洗濯機500を安全に制御することができないアプリケーションが生成されることを抑制することができる。また、洗濯機500が非効率的に動作するアプリケーションが生成されることを抑制することができる。したがって、アプリケーション開発者が、洗濯機能部の安全性の担保よりもユーザに適することを重視したアプリケーションを作成した場合でも、アプリケーションで制御される洗濯機500の安全性を担保することができ、その安全性を向上させることができる。また、洗濯機500の動作効率を向上させることができ、消費電力を低減することができる。
According to this, the washing function section can be driven based on applications defined by a plurality of blocks. Therefore, it is possible to develop applications using blocks that abstract the control of the
また例えば、開発ツール50は、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、シーケンスに、第1ブロックの次に実行される順番の制御情報として第3ブロックを追加してもよい。
For example, if the rules do not allow execution of the first block included in the sequence and the second block that is set to be executed next to the first block in the order information, the
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロックの間の順番に第3ブロックを追加することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。 According to this, if two blocks that are executed consecutively are not allowed, a third block can be added in the order between the two blocks, so that the washing function unit can replace the two blocks in the order that is not allowed. can be prevented from performing the following actions.
また例えば、開発ツール50は、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第1ブロックに含まれるパラメータに関する情報、又は、第2ブロックに含まれるパラメータに関する情報を修正してもよい。
For example, if the rules do not allow execution of the first block included in the sequence and the second block that is set to be executed next to the first block in the order information, the
これによれば、連続して実行される2つのブロックが許容されない場合、当該2つのブロック内のいずれかに含まれるパラメータに関する情報を修正することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。 According to this, if two blocks that are executed consecutively are not allowed, the information regarding the parameters included in either of the two blocks can be modified, so that the washing function section It is possible to prevent one block of operations from being executed.
また例えば、開発ツール50は、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックの実行がルールで許容されない場合、第2ブロックの実行を制限してもよい。
For example, if the rules do not permit the execution of the first block included in the sequence and the second block that is set to be executed next to the first block in the order information, the
これによれば、連続して実行される2つのブロックが許容されない場合、第2ブロックの実行を制限することができるので、洗濯機能部が許容されない順番の2つのブロックの動作を実行することを防止することができる。 According to this, when two blocks to be executed consecutively are not allowed, execution of the second block can be restricted, so that the washing function section does not execute the operations of the two blocks in the order that is not allowed. It can be prevented.
また例えば、第1のルールでは、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁水環境で実行される運転は、水槽502に水が貯められているときに実行されることが許容されない運転を含んでもよい。このため、水槽502に水がある状態で実行されても十分な効果が得られない第2ブロックに基づく運転が実行されることを防止することができる。これにより、無駄な運転を抑制でき、消費電力を低減することができる。
For example, in the first rule, it is permissible for the first block to include parameters related to water supply to the
また例えば、第2のルールでは、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁熱環境で実行される運転は、水槽502内の温度が所定の温度以上のときに実行されることが許容されない運転を含んでもよい。このため、水槽502内の温度が所定の温度以上であるときに実行されることを抑制できるため、水槽502内の高温環境が洗濯機500の外部に悪影響を与えることを低減することができ、安全性を担保することができる。
For example, in the second rule, it is allowed that the first block includes parameters related to heating in the
また例えば、第3のルールでは、第1ブロックが水が貯められている洗濯槽503の回転に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。例えば、禁動環境で実行される運転は、洗濯槽503内の水面を動かすことが許容されない運転を含んでもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
For example, in the third rule, the first block includes parameters related to the rotation of the
また例えば、第4のルールでは、第1ブロックが洗濯機500の洗濯槽503内への送風に関するパラメータを含み、かつ、第2ブロックが禁動環境で実行される運転を制御するパラメータを含むことが許容されなくてもよい。このため、水面の揺れを低減した状態で第2ブロックの運転を制御することができるため、効果的に第2ブロックの運転を制御することができる。
For example, in the fourth rule, the first block includes parameters related to air blowing into the
また例えば、第5のルールでは、第1ブロックが洗濯機500の洗濯槽503を第1の回転で回転させるパラメータを含み、かつ、第2ブロックが第1の回転とは異なる第2の回転で洗濯槽503を回転させるパラメータを含むことが許容されなくてもよい。例えば、第1の回転における第1回転速度は、第2の回転の第2回転速度と異なっていてもよい。また例えば、第1の回転の向きは、第2の回転の向きと異なっていてもよい。このため、異なる回転の運転が連続して実行されることを抑制でき、効果的に洗濯槽503の回転を切り替えることができる。
For example, in the fifth rule, the first block includes a parameter for rotating the
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、シーケンスに、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502からの排水に関するパラメータを含む第3ブロックを追加する。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
For example, if the first block includes parameters related to water supply to the
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502への給水に関するパラメータを含み、かつ、第2ブロックが禁水環境で実行される運転を制御するパラメータを含む場合、第1のルールに基づいて、禁水環境で実行される運転を制御するパラメータの直前に水槽502からの排水に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁水環境で実行される運転が開始される前に排水することで水槽502を禁水環境とすることができ、効果的に第2ブロックの動作を実行することができる。
For example, if the first block includes parameters related to water supply to the
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、シーケンスに、第1ブロックと第2ブロックとの間に実行される順番の制御情報として、水槽502の放熱に関するパラメータを含む第3ブロックを追加してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
Further, for example, if the first block includes parameters related to heating in the
また例えば、開発ツール50は、第1ブロックが洗濯機500の水槽502内の加熱に関するパラメータを含み、かつ、第2ブロックが禁熱環境で実行される運転を制御するパラメータを含む場合、第2のルールに基づいて、禁熱環境で実行される運転を制御するパラメータの直前に水槽502の放熱に関するパラメータを追加するように、第2ブロックを修正してもよい。このため、禁熱環境で実行される運転が開始される前に放熱することで水槽502の温度を低下させて禁熱環境とすることができ、効果的に第2ブロックの動作を実行することができる。
Further, for example, if the first block includes parameters related to heating in the
また例えば、開発ツール50は、ルールに基づき、シーケンスに含まれる第1ブロック、及び、順番情報において第1ブロックの次に実行される順番に設定されている第2ブロックが重複する場合、(i)第1ブロックもしくは第2ブロックを削除する、又は、(ii)第1ブロックに含まれるパラメータに関する情報もしくは第2ブロックに含まれるパラメータに関する情報を削除してもよい。このため、重複している動作のブロックまたはパラメータを削除するため、無駄な動作を実行することを低減することができる。よって、消費電力を低減することができる。 For example, based on the rule, if the first block included in the sequence and the second block set to be executed next to the first block in the order information overlap, (i ) The first block or the second block may be deleted, or (ii) the information regarding the parameters included in the first block or the information regarding the parameters included in the second block may be deleted. Therefore, since blocks or parameters of duplicate operations are deleted, it is possible to reduce the execution of unnecessary operations. Therefore, power consumption can be reduced.
(実施の形態5の変形例1)
実施の形態5では、開発ツール50は、装置20(洗濯機500)とは別の装置により構成されているとしたがこれに限らない。洗濯機500は、開発ツール50が有する機能と同様の機能を有していてもよい。この場合の洗濯機は、制御装置550および操作パネル560が、開発ツール50が有する機能と同様の機能を実現してもよい。これにより、ユーザは、洗濯機の操作パネル56を操作することによって、機能ブロックのパラメータの設定、機能ブロックの順番の設定などのようにアプリケーションの開発(作成)を行うことができる。
(
In the fifth embodiment, the
(他の実施の形態)
以上、本開示の1つまたは複数の態様に係るシステムについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の1つまたは複数の態様の範囲内に含まれてもよい。
(Other embodiments)
The system according to one or more aspects of the present disclosure has been described above based on the embodiments, but the present disclosure is not limited to the embodiments. Unless departing from the spirit of the present disclosure, various modifications that can be thought of by those skilled in the art may be made to the present embodiment, and embodiments constructed by combining components of different embodiments may also include one or more of the present disclosure. may be included within the scope of the embodiments.
また、上記各実施の形態において、シーケンスマネージャ100及びデバイスマネージャ200は、クラウドサーバ10に含まれていたが、これに限定されない。シーケンスマネージャ100及び/又はデバイスマネージャ200は、装置20に含まれてもよい。また、UI400は、端末30に含まれていたが、装置20に含まれてもよい。
Further, in each of the above embodiments, the
また、上記各実施の形態において、劣化情報に基づいて、アプリケーションが変更されてもよい。例えば、デバイス300は、複数の劣化レベルと複数のパラメータの変換方法とが対応付けられたパラメータ変換情報を参照して、劣化レベルに対応する変換方法を取得し、取得した変換方法を用いてブロックに含まれるパラメータを変換してもよい。変換方法としては、例えば、変換後の値で定義されてもよいし、変換前の値に適用される係数で定義されてもよい。
Further, in each of the embodiments described above, the application may be changed based on the deterioration information. For example, the
また、上記各実施の形態では、実行前確認においてパラメータが非許容範囲に含まれる場合にブロックを変更し、その後ブロックが実行されていたが、これに限ったものではない。例えば、パラメータが非許容範囲に含まれる場合に、デバイス300の状態が想定と異なっていたときは、ブロックを実行せず、デバイスマネージャ200及び/又はシーケンスマネージャ100に実行中止(エラー)が通知されてもよい。
Further, in each of the above embodiments, when a parameter is included in an unacceptable range in the pre-execution confirmation, the block is changed and the block is then executed, but the present invention is not limited to this. For example, if a parameter falls within an unacceptable range and the state of the
複数の機能ブロックで規定されたアプリケーションを実行することができる家庭用電化製品等に利用できる。 It can be used in household electrical appliances and the like that can execute applications defined by multiple functional blocks.
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 専用ルール
1
500
Claims (21)
それぞれが洗濯物に対する前記運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含む第1の洗濯情報の入力を受け付け、
洗濯の順番に関するルールに基づいて前記第1の洗濯情報を修正し、修正により得られた第2の洗濯情報を前記洗濯情報として生成し、
前記洗濯機は前記洗濯機能部を有し、
前記第2の洗濯情報は、前記第2の洗濯情報に含まれる複数の制御情報を、前記第2の洗濯情報に含まれる順番情報で示される順番に前記洗濯機能部に実行させるための情報である
情報処理方法。 An information processing method executed by a processor that generates washing information for controlling operation of a washing machine, the method comprising:
inputting first laundry information including a plurality of control information, each of which is control information regarding a parameter for controlling a washing function unit that performs the operation on the laundry; and order information regarding the order in which the plurality of control information is executed; Reception,
modifying the first laundry information based on rules regarding the order of laundry , and generating second laundry information obtained by the modification as the laundry information;
The washing machine has the washing function section,
The second laundry information is information for causing the laundry function section to execute a plurality of pieces of control information included in the second laundry information in the order indicated by the order information included in the second laundry information. be
Information processing method.
請求項1に記載の情報処理方法。 In the modification, the first control information included in the first washing information and the order information included in the first washing information are set to the order in which the first control information is executed next. If execution of the second control information is not permitted by the rules, third control information is added to the first washing information as control information to be executed next to the first control information. The information processing method according to claim 1.
請求項1に記載の情報処理方法。 In the modification, the first control information included in the first washing information and the order information included in the first washing information are set to the order in which the first control information is executed next. If execution of the second control information is not permitted by the rules, the information regarding the parameters included in the first control information or the information regarding the parameters included in the second control information is corrected. The information processing method according to claim 1.
前記複数の制御情報のそれぞれは、洗濯物に対する前記運転を行う洗濯機能部を制御するパラメータに関する制御情報を含み、
前記情報処理方法は、前記複数の制御情報の入力を受け付けることで前記洗濯情報を生成し、
前記洗濯情報の生成では、
前記複数の制御情報のうちの第1の制御情報の入力を受け付け、
受け付けた前記第1の制御情報と、洗濯の順番に関するルールと、に基づいて、前記第1の制御情報の次の順番で実行されることが許容される制御情報の条件を特定し、
特定した前記条件に基づいて、前記第1の制御情報の次に実行される順番に設定される第2の制御情報の入力を制限する
情報処理方法。 An information processing method executed by a processor that generates laundry information including a plurality of control information for controlling the operation of a washing machine , the method comprising :
Each of the plurality of pieces of control information includes control information regarding parameters for controlling a washing function unit that performs the operation on the laundry,
The information processing method generates the laundry information by receiving input of the plurality of control information,
In generating the laundry information,
receiving input of first control information among the plurality of control information;
Based on the received first control information and rules regarding the order of washing, specifying conditions for control information that are allowed to be executed in the next order of the first control information,
An information processing method that limits input of second control information that is set in an order of execution after the first control information, based on the specified condition.
請求項2から4のいずれか1項に記載の情報処理方法。 The rule allows that the first control information includes parameters related to water supply to a tub of the washing machine, and that the second control information includes parameters for controlling operations performed in a water-prohibited environment. The information processing method according to any one of claims 2 to 4.
請求項5に記載の情報処理方法。 The information processing method according to claim 5, wherein the operation executed in a water-prohibited environment includes an operation that is not allowed to be executed when water is stored in the tank.
請求項2から4のいずれか1項に記載の情報処理方法。 The rule allows that the first control information includes parameters related to heating in the tub of the washing machine, and that the second control information includes parameters for controlling operations performed in a heat-free environment. The information processing method according to any one of claims 2 to 4.
請求項7に記載の情報処理方法。 The information processing method according to claim 7, wherein the operation executed in the heat-free environment includes an operation that is not allowed to be executed when the temperature inside the tank is equal to or higher than a predetermined temperature.
請求項2から4のいずれか1項に記載の情報処理方法。 In the rule, the first control information includes a parameter related to rotation of a tub of the washing machine in which water is stored, and the second control information includes a parameter for controlling an operation performed in a prohibited environment. The information processing method according to any one of claims 2 to 4, wherein the information processing method is not allowed to include.
請求項2から4のいずれか1項に記載の情報処理方法。 In the rule, the first control information may include parameters regarding air blowing into the tub of the washing machine, and the second control information may include parameters for controlling an operation performed in a prohibited environment. The information processing method according to any one of claims 2 to 4, wherein the information processing method is not allowed.
請求項9または10に記載の情報処理方法。 The information processing method according to claim 9 or 10, wherein the operation executed in the prohibited environment includes an operation in which movement of the water surface in the tank is not allowed.
請求項2から4のいずれか1項に記載の情報処理方法。 In the rule, the first control information includes a parameter for rotating a tub of the washing machine in a first rotation, and the second control information includes a parameter for rotating a tub of the washing machine in a second rotation different from the first rotation. The information processing method according to any one of claims 2 to 4, wherein the information processing method is not allowed to include a parameter for rotating the tank.
請求項12に記載の情報処理方法。 The information processing method according to claim 12, wherein a first rotational speed in the first rotation is different from a second rotational speed in the second rotation.
請求項12に記載の情報処理方法。 The information processing method according to claim 12, wherein the first rotation direction is different from the second rotation direction.
請求項1に記載の情報処理方法。 In the modification, the first control information included in the first washing information includes a parameter regarding water supply to the tub of the washing machine, and the order information included in the first washing information includes the first control information. If the second control information set in the order to be executed next to the control information includes a parameter for controlling an operation executed in a water-prohibited environment, based on the rule, the second control information is set to be executed next to the first washing information. , adding third control information including a parameter regarding drainage from the tank as control information in the order of execution between the first control information and the second control information. Information processing method.
請求項1に記載の情報処理方法。 In the modification, the first control information included in the first washing information includes a parameter regarding water supply to the tub of the washing machine, and the order information included in the first washing information includes the first control information. If the second control information set in the order to be executed next to the control information includes a parameter for controlling an operation executed in a water-free environment, based on the rule, the second control information is set in the order of execution in the water-free environment. The information processing method according to claim 1, wherein the second control information is modified so as to add a parameter related to drainage from the tank immediately before a parameter that controls the operation of the tank.
請求項1に記載の情報処理方法。 In the modification, the first control information included in the first washing information includes a parameter regarding heating in the tub of the washing machine, and the order information included in the first washing information includes the first control information. If the second control information set in the order to be executed next to the control information includes a parameter for controlling an operation executed in a heat-free environment, based on the rule, the second control information is set to be executed next to the first washing information. The information according to claim 1, wherein third control information including a parameter regarding heat radiation of the tank is added as control information in the order of execution between the first control information and the second control information. Processing method.
請求項1に記載の情報処理方法。 In the modification, the first control information included in the first washing information includes a parameter regarding heating in the tub of the washing machine, and the order information included in the first washing information includes the first control information. If the second control information set in the order to be executed next to the control information includes a parameter for controlling an operation to be executed in a heat-free environment, based on the rule, the second control information is set to be executed in the heat-free environment. The information processing method according to claim 1, wherein the second control information is modified so as to add a parameter related to heat radiation of the tank immediately before a parameter that controls the operation of the tank.
請求項1に記載の情報処理方法。 In the modification, based on the rule, the first control information included in the first washing information and the order information included in the first washing information are executed next to the first control information. If the second control information set in the same order overlaps, (i) delete the first control information or the second control information, or (ii) delete the The information processing method according to claim 1, further comprising deleting information regarding the parameter included in the second control information or information regarding the parameter included in the second control information.
プロセッサと、
前記プロセッサに接続されたメモリとを備え、
前記プロセッサは、前記メモリを用いて、
それぞれが洗濯物に対する前記運転を行う洗濯機能部を制御するパラメータに関する制御情報である複数の制御情報、及び、前記複数の制御情報を実行する順番に関する順番情報を含む第1の洗濯情報の入力を受け付け、
洗濯の順番に関するルールに基づいて前記第1の洗濯情報を修正し、修正により得られた第2の洗濯情報を前記洗濯情報として生成し、
前記洗濯機は前記洗濯機能部を有し、
前記第2の洗濯情報は、前記第2の洗濯情報に含まれる複数の制御情報を、前記第2の洗濯情報に含まれる順番情報で示される順番に前記洗濯機能部に実行させるための情報である
情報処理装置。 An information processing device that generates laundry information for controlling the operation of a washing machine,
a processor;
a memory connected to the processor;
The processor uses the memory to:
inputting first laundry information including a plurality of control information, each of which is control information regarding a parameter for controlling a washing function unit that performs the operation on the laundry; and order information regarding the order in which the plurality of control information is executed; Reception,
modifying the first laundry information based on rules regarding the order of laundry , and generating second laundry information obtained by the modification as the laundry information;
The washing machine has the washing function section,
The second laundry information is information for causing the laundry function section to execute a plurality of pieces of control information included in the second laundry information in the order indicated by the order information included in the second laundry information. be
Information processing device.
前記情報処理装置は、
プロセッサと、
前記プロセッサに接続されたメモリとを備え、
前記プロセッサは、前記メモリを用いて、
前記複数の制御情報の入力を受け付けることで前記洗濯情報を生成し、
前記洗濯情報の生成では、
前記複数の制御情報のうちの第1の制御情報の入力を受け付け、
受け付けた前記第1の制御情報と、洗濯の順番に関するルールと、に基づいて、前記第1の制御情報の次の順番で実行されることが許容される制御情報の条件を特定し、
特定した前記条件に基づいて、前記第1の制御情報の次に実行される順番に設定される第2の制御情報の入力を制限する
情報処理装置。 An information processing device that generates laundry information including a plurality of pieces of control information for controlling the operation of a washing machine, wherein each of the plurality of pieces of control information includes parameters for controlling a washing function unit that performs the operation on the laundry. contains control information about
The information processing device includes:
a processor;
a memory connected to the processor;
The processor uses the memory to:
generating the laundry information by accepting input of the plurality of control information;
In generating the laundry information,
receiving input of first control information among the plurality of control information;
Based on the received first control information and rules regarding the order of washing, specifying conditions for control information that are allowed to be executed in the next order of the first control information,
An information processing apparatus that limits input of second control information set in an order of execution after the first control information, based on the specified condition.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020106611A JP7417832B2 (en) | 2020-06-19 | 2020-06-19 | Information processing method and information processing device |
| PCT/JP2021/022552 WO2021256432A1 (en) | 2020-06-19 | 2021-06-14 | Information processing device and information processing method |
| CN202180042573.9A CN115699067A (en) | 2020-06-19 | 2021-06-14 | Information processing device and information processing method |
| TW110121957A TWI864296B (en) | 2020-06-19 | 2021-06-16 | Information processing device and information processing method |
| JP2023213396A JP7627870B2 (en) | 2020-06-19 | 2023-12-18 | Information processing method and information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020106611A JP7417832B2 (en) | 2020-06-19 | 2020-06-19 | Information processing method and information processing device |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023213396A Division JP7627870B2 (en) | 2020-06-19 | 2023-12-18 | Information processing method and information processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022002007A JP2022002007A (en) | 2022-01-06 |
| JP7417832B2 true JP7417832B2 (en) | 2024-01-19 |
Family
ID=79244717
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020106611A Active JP7417832B2 (en) | 2020-06-19 | 2020-06-19 | Information processing method and information processing device |
| JP2023213396A Active JP7627870B2 (en) | 2020-06-19 | 2023-12-18 | Information processing method and information processing device |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023213396A Active JP7627870B2 (en) | 2020-06-19 | 2023-12-18 | Information processing method and information processing device |
Country Status (4)
| Country | Link |
|---|---|
| JP (2) | JP7417832B2 (en) |
| CN (1) | CN115699067A (en) |
| TW (1) | TWI864296B (en) |
| WO (1) | WO2021256432A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2024075421A1 (en) * | 2022-10-05 | 2024-04-11 | ||
| CN118814412B (en) * | 2023-04-21 | 2025-11-21 | 重庆海尔滚筒洗衣机有限公司 | Degerming control method and device, main control board and washing equipment |
| CN119352262B (en) * | 2024-10-30 | 2025-09-23 | 珠海格力电器股份有限公司 | Parameter recommendation method for clothing processing equipment, electronic equipment and clothing processing equipment |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001293283A (en) | 2000-04-13 | 2001-10-23 | Matsushita Electric Ind Co Ltd | Dehydration combined washing machine |
| JP2003284889A (en) | 2002-03-28 | 2003-10-07 | Toshiba Corp | Washing machine |
| CN106637808A (en) | 2015-11-04 | 2017-05-10 | 松下家电研究开发(杭州)有限公司 | Washing machine with program automatic correcting function and program automatic correcting method thereof |
| JP6479275B1 (en) | 2017-12-26 | 2019-03-06 | 三菱電機株式会社 | Machining program correction device and machining program correction method |
| WO2019136208A1 (en) | 2018-01-05 | 2019-07-11 | JM Driver LLC (dba Lynx Technology) | Reconfigurable embedded rules engine for internet of things (iot) devices |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05111593A (en) * | 1991-10-18 | 1993-05-07 | Sanyo Electric Co Ltd | Washing machine |
| JP2000029501A (en) | 1998-07-10 | 2000-01-28 | Matsushita Electric Ind Co Ltd | Control method updating method, control method monitoring method, and their devices |
| JP2000116980A (en) | 1998-10-16 | 2000-04-25 | Nippon Kentetsu Co Ltd | Washing machine load determination method |
| JP2012139285A (en) | 2010-12-28 | 2012-07-26 | Toshiba Corp | Laundry apparatus |
| JP6074612B2 (en) * | 2012-06-12 | 2017-02-08 | パナソニックIpマネジメント株式会社 | Washing machine system |
| JP6131019B2 (en) * | 2012-10-15 | 2017-05-17 | シャープ株式会社 | Washing machine |
| CN108070978B (en) * | 2016-11-18 | 2020-12-29 | 上海小吉互联网科技有限公司 | Intelligent washing machine with internet of things and control method thereof |
| DE102016225274A1 (en) | 2016-12-16 | 2018-06-21 | BSH Hausgeräte GmbH | Control of a household appliance |
-
2020
- 2020-06-19 JP JP2020106611A patent/JP7417832B2/en active Active
-
2021
- 2021-06-14 WO PCT/JP2021/022552 patent/WO2021256432A1/en not_active Ceased
- 2021-06-14 CN CN202180042573.9A patent/CN115699067A/en active Pending
- 2021-06-16 TW TW110121957A patent/TWI864296B/en active
-
2023
- 2023-12-18 JP JP2023213396A patent/JP7627870B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001293283A (en) | 2000-04-13 | 2001-10-23 | Matsushita Electric Ind Co Ltd | Dehydration combined washing machine |
| JP2003284889A (en) | 2002-03-28 | 2003-10-07 | Toshiba Corp | Washing machine |
| CN106637808A (en) | 2015-11-04 | 2017-05-10 | 松下家电研究开发(杭州)有限公司 | Washing machine with program automatic correcting function and program automatic correcting method thereof |
| JP6479275B1 (en) | 2017-12-26 | 2019-03-06 | 三菱電機株式会社 | Machining program correction device and machining program correction method |
| WO2019136208A1 (en) | 2018-01-05 | 2019-07-11 | JM Driver LLC (dba Lynx Technology) | Reconfigurable embedded rules engine for internet of things (iot) devices |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022002007A (en) | 2022-01-06 |
| JP7627870B2 (en) | 2025-02-07 |
| CN115699067A (en) | 2023-02-03 |
| TWI864296B (en) | 2024-12-01 |
| TW202202690A (en) | 2022-01-16 |
| JP2024026402A (en) | 2024-02-28 |
| WO2021256432A1 (en) | 2021-12-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7627870B2 (en) | Information processing method and information processing device | |
| JP7844693B2 (en) | Information processing method and information processing device | |
| JP2025137764A (en) | DEVICE COMPRISING ACTUATOR AND/OR HEATER AND METHOD FOR CONTROLLING SUCH DEVICE - Patent application | |
| JP2025114828A (en) | Information processing method and information processing device | |
| JP7390606B2 (en) | Washing machine and control system | |
| JP7717090B2 (en) | Driving device, driving method, and program | |
| JP7486075B2 (en) | Washing machine, control method, and control system | |
| JP7648622B2 (en) | DEVICE COMPRISING ACTUATOR AND/OR HEATER AND METHOD FOR CONTROLLING SUCH DEVICE - Patent application | |
| WO2022137616A1 (en) | Drive device, drive method, and program | |
| JP7641963B2 (en) | DEVICE COMPRISING ACTUATOR AND/OR HEATER AND METHOD FOR CONTROLLING SUCH DEVICE - Patent application | |
| TWI865789B (en) | Washing machine, control method and control system | |
| JP7766261B2 (en) | Sheet processing device, control method, and control system | |
| JP7842269B2 (en) | Information processing method and information processing device | |
| JP7854597B2 (en) | Home appliance systems, home appliances, and control methods | |
| JP2024108428A (en) | Home appliance system, home appliance, and control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220729 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231003 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231110 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231121 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231219 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7417832 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |