Information processing method and information processing device

By generating and executing applications composed of multiple functional blocks, the problem of difficult to personalize and update household appliance control programs is solved, and safe and diverse application management is achieved, ensuring the safety and flexibility of household appliances.

JP7627870B2Active Publication Date: 2025-02-07PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023213396
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-12-18
Publication Date
2025-02-07
Estimated Expiration
2040-06-19

AI Technical Summary

Technical Problem

In the prior art, it is difficult to personalize the control program of household appliances according to the needs of different users, and applications developed by third parties may have safety risks.

Method used

By generating and executing applications composed of multiple functional blocks, using cloud servers and terminal device management systems, security control of household appliances is achieved to ensure the security and diversity of applications.

Benefits of technology

It realizes flexible customization and update of household appliance control programs, ensuring the security and diversity of applications and reducing security risks to manufacturers' hardware.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007627870000001
    Figure 0007627870000001
  • Figure 0007627870000002
    Figure 0007627870000002
  • Figure 0007627870000003
    Figure 0007627870000003
Patent Text Reader

Abstract

To provide an information processing method capable of generating a variety of safe control programs easily.SOLUTION: In an information processing method, washing information is generated including a plurality of pieces of control information for controlling an operation of a washing machine 500 which includes at least one of an actuator 22 and a heater 23. Each receives input of washing information including the plurality of pieces of control information regarding a parameter for controlling a washing function part that performs an operation regarding washing with respect to laundry, and order information regarding the order for executing the plurality of pieces of control information (S22), acquires a deterioration level of at least one of the actuator 22 and the heater 23 from the washing machine 500 (S2163), and corrects the washing information based on a rule corresponding to the deterioration level (S27).SELECTED DRAWING: Figure 30
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing method and an information processing device. [Background technology]

[0002] Conventionally, household electrical appliances and housing facilities are controlled according to operating conditions (control programs) prepared in advance by their manufacturers, etc. Patent Document 1 discloses a washing machine that allows a user to set operating conditions for washing that he or she desires to carry out. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2003-284889 A Summary of the Invention [Problem to be solved by the invention]

[0004] 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 to meet the needs of various users.

[0005] Therefore, the present disclosure provides an information processing method and the like that can easily generate diverse and safe control programs. [Means for solving the problem]

[0006] An information processing method according to one aspect of the present disclosure is an information processing method executed by a processor, which generates laundry information for controlling an operation of a washing machine having at least one of an actuator and a heater, and which receives input of first laundry information including a plurality of control information, each of which is control information related to parameters for controlling a washing function unit that performs the operation on laundry, and order information related to an order in which the plurality of control information are executed, obtains a deterioration level of at least one of the actuator and the heater from the washing machine, corrects at least a part of the plurality of control information included in the first laundry information based on a rule corresponding to the obtained deterioration level among a plurality of rules corresponding to the plurality of deterioration levels, and generates second laundry information obtained by the correction as the laundry information, and the washing machine has the washing function unit, The first laundry information indicates an operation program generated by combining the plurality of control information, The second laundry information is information for causing the laundry function unit to execute a plurality of pieces of control information included in the second laundry information in an order indicated by order information included in the second laundry information.

[0007] An information processing method according to one aspect of the present disclosure is an information processing method for generating laundry information including a plurality of control information for controlling operation of a washing machine, which accepts input of laundry information including a plurality of control information each of which is control information relating to parameters for controlling a washing function unit that performs operations related to washing laundry, and order information relating to the order in which the plurality of control information are executed, and modifies the laundry information based on rules related to the order of washing.

[0008] Furthermore, 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 control information for controlling operation of a washing machine, each of the plurality of control information including control information regarding parameters for controlling a washing function unit that performs operations related to washing laundry, the information processing method receiving input of first control information among the plurality of control information, identifying conditions for control information that is permitted to be executed in the order following the first control information based on the received first control information and a rule regarding the order of washing, and restricting input of second control information that is set to be executed in the order following the first control information based on the identified conditions.

[0009] In addition, these comprehensive or specific aspects may be realized by a system, an apparatus, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized by any combination of a system, a method, an integrated circuit, a computer program, and a recording medium. Effect of the Invention

[0010] An information processing method according to an aspect of the present disclosure makes it possible to easily generate a wide variety of safe control programs. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a hardware configuration diagram of the system according to the first embodiment. [Figure 2A] FIG. 2A is a hardware configuration diagram of the cloud server according to the first embodiment. [Figure 2B] FIG. 2B is a hardware configuration diagram of the device according to the first embodiment. [Figure 2C] FIG. 2C is a hardware configuration diagram of the terminal in the first embodiment. [Diagram 3] FIG. 3 is a functional configuration diagram of the system according to the first embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of a configuration of a washing machine. [Diagram 5] FIG. 5 is a block diagram showing an example of a functional configuration of the washing machine. [Figure 6A] FIG. 6A shows a first example of a block defining an application in the first embodiment. [Figure 6B] FIG. 6B shows a second example of a block defining an application in the first embodiment. [Figure 6C] FIG. 6C shows a third example of a block defining an application in the first embodiment. [Figure 6D] FIG. 6D shows a fourth example of a block defining an application in the first embodiment. [Figure 6E] FIG. 6E shows a fifth example of a block defining an application in the first embodiment. [Figure 6F] FIG. 6F shows a sixth example of a block defining an application in the first embodiment. [Figure 6G] FIG. 6G shows a seventh example of a block defining an application in the first embodiment. [Figure 6H] FIG. 6H shows an eighth example of a block defining an application in the first embodiment. [Figure 6I] FIG. 6I shows a ninth example of a block defining an application in the first embodiment. [Figure 6J] FIG. 6J shows a tenth example of a block defining an application in the first embodiment. [Figure 6K] FIG. 6K shows an eleventh example of a block defining an application in the first embodiment. [Figure 6L] FIG. 6L shows a twelfth example of a block defining an application in the first embodiment. [Figure 6M] FIG. 6M shows a thirteenth example of a block defining an application in the first embodiment. [Figure 6N] FIG. 6N shows a fourteenth example of a block that defines an application in the first embodiment. [Figure 6O] FIG. 6O shows a fifteenth example of a block defining an application in the first embodiment. [Figure 7] FIG. 7 is a sequence diagram of the system in the first embodiment. [Figure 8] FIG. 8 shows an example of the device database according to the first embodiment. [Figure 9] FIG. 9 shows an example of an execution content declaration in the first embodiment. [Figure 10] FIG. 10 shows a flowchart of the pre-execution confirmation process in the first embodiment. [Figure 11] FIG. 11 shows an example of the rule database in the first embodiment. [Figure 12] FIG. 12 shows a first example of a correction to an execution content declaration in the first embodiment. [Figure 13] FIG. 13 shows a second example of the modification of the execution content declaration in the first embodiment. [Figure 14] FIG. 14 shows a third example of modification of the execution content declaration in the first embodiment. [Figure 15] FIG. 15 shows a fourth example of modification of the execution content declaration in the first embodiment. [Figure 16] FIG. 16 shows a fifth example of modification of the execution content declaration in the first embodiment. [Figure 17] FIG. 17 shows a sixth example of modification of the execution content declaration in the first embodiment. [Figure 18] FIG. 18 shows a seventh example of modification of the execution content declaration in the first embodiment. [Figure 19] FIG. 19 shows an eighth example of modification of the execution content declaration in the first embodiment. [Figure 20] FIG. 20 shows a ninth example of modification of the execution content declaration in the first embodiment. [Figure 21A] FIG. 21A is a sequence diagram of a system according to the first modification of the first embodiment. [Figure 21B] FIG. 21B is a sequence diagram of the system in the second modification of the first embodiment. [Figure 21C] FIG. 21C is a sequence diagram of the system in the third modification of the first embodiment. [Figure 21D] FIG. 21D is a sequence diagram of the system in the fourth modification of the first embodiment. [Figure 21E] FIG. 21E is a sequence diagram of the system in the fifth modification of the first embodiment. [Figure 22] FIG. 22 shows a flowchart of the pre-execution confirmation process in the second embodiment. [Figure 23] FIG. 23 shows a flowchart of the pre-execution confirmation process in the third embodiment. [Figure 24] FIG. 24 shows a flowchart of the pre-execution confirmation process in the fourth embodiment. [Diagram 25] FIG. 25 shows an example of the rule database in the fourth embodiment. [Figure 26] FIG. 26 is a diagram illustrating an example of a configuration of an information processing system according to the fifth embodiment. As shown in FIG. [Figure 27A] FIG. 27A is a diagram showing an example of information stored in the block database according to the fifth embodiment. As shown in FIG. [Figure 27B] FIG. 27B is a diagram showing an example of information stored in the rule database in the fifth embodiment. [Figure 28] FIG. 28 is a diagram showing an example of a general rule included in the rule database in the fifth embodiment. [Figure 29] FIG. 29 is a sequence diagram of the information processing system according to the fifth embodiment. [Diagram 30] FIG. 30 is a flowchart showing the overall processing operation of the development tool in the fifth embodiment. [Diagram 31] FIG. 31 is a flowchart showing an example of the automatic parameter correction process according to the fifth embodiment. [Diagram 32] FIG. 32 is a flowchart showing an example of a parameter error presentation process according to the fifth embodiment. [Diagram 33]FIG. 33 is a diagram showing an example of a sequence generation screen in the fifth embodiment. [Diagram 34] FIG. 34 is a diagram showing a display example of a block list according to the fifth embodiment. [Figure 35A] FIG. 35A is a diagram showing a first display example of a parameter setting area in accordance with the fifth embodiment. [Figure 35B] FIG. 35B is a diagram showing a second display example of the parameter setting area in accordance with the fifth embodiment. [Diagram 36] FIG. 36 is a diagram illustrating an example of the automatic correction process of the functional block according to the fifth embodiment. [Figure 37] FIG. 37 is a diagram illustrating a first example of the automatic correction process for connections of functional blocks in the fifth embodiment. [Figure 38] FIG. 38 is a diagram illustrating a second example of the automatic correction process of the connections of the functional blocks in the fifth embodiment. [Figure 39] FIG. 39 is a diagram illustrating a third example of the automatic correction process of connections of functional blocks in the fifth embodiment. [Diagram 40] FIG. 40 is a diagram illustrating a fourth example of the automatic correction process of the connections of the functional blocks in the fifth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] (Findings on which this disclosure is based) The inventors of the present application will now explain how they arrived at this disclosure. In order to develop control programs for household electrical appliances having actuators and / or heaters that meet the desires of a wide variety of users, an open development environment is required. In other words, an environment is required in which the difficulty of developing control programs can be reduced and third parties can easily participate in the development of control programs. In such an environment, for example, an apparel company can develop a control program for a washing machine that washes the clothes it sells.

[0013] Therefore, the inventors have investigated a mechanism for constructing 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 a product, and for packaging and distributing control programs consisting of combinations of multiple functional blocks as applications. This makes it possible to distribute a wide variety of applications, and to customize and update products in response to the needs of a wider variety of users. However, in such an environment, there is a possibility that dangerous applications (i.e., applications that cannot safely control the product) may be distributed, reducing the safety of the product.

[0014] For example, it is assumed that the programs included in household appliances are embedded in devices for directly controlling actuators and / or heaters, and include a mixture of programs developed by the manufacturer and programs developed by third parties. In this case, it is highly likely that the manufacturer will not disclose all information about the household appliances, including know-how, to the third party. For example, the parameters or timing for driving the actuators and heaters are know-how related to the performance of the manufacturer's household appliances. Therefore, it is unlikely that the manufacturer will open up its know-how to third parties so that they can freely drive the household appliances, as this could lead to a decrease in competitiveness.

[0015] Therefore, a third party may create an application that includes a combination of controls or a parameter range that the manufacturer did not anticipate, that is, an application whose safety is not guaranteed, due to a lack of information about the home appliance, etc. It is undesirable for users to be provided with such an application.

[0016] In addition, manufacturers of household electrical appliances and the like may attempt to update users' lives by providing new control programs. However, the development of a wide variety of new control programs requires a huge amount of work, such as parameter adjustment or hardware performance evaluation. Since household electrical appliances and the like are physically driven by the hardware of actuators and / or heaters, it is easily expected that the number of work steps required for performance evaluation and the like for programs of household electrical appliances and the like will be greater than that required for programs of smartphones. However, in an era in which on-demand development according to the lifestyle of each individual user is required rather than mass production, it is required to develop a wide variety of control programs for household electrical appliances and the like, just like programs for smartphones. Therefore, manufacturers must create a wide variety of applications that ensure the safety of their products while reducing the huge amount of work.

[0017] Furthermore, manufacturers may wish to ensure that household electrical appliances and the like operate safely even when they are operated using applications provided by third parties. In this case, it is desirable to reduce the amount of work required to actually run a wide variety of applications on the household electrical appliances and the like and verify their safety.

[0018] Therefore, the present disclosure provides an apparatus etc. 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.

[0019] Hereinafter, the embodiment will be specifically described with reference to the drawings.

[0020] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, the arrangement and connection of the components, steps, and the order of steps shown in the following embodiments are merely examples and are not intended to limit the scope of the claims.

[0021] In addition, the drawings are not necessarily strict illustrations. In the drawings, the same reference numerals are used for substantially the same configurations, and duplicated explanations are omitted or simplified.

[0022] (Embodiment 1) [1.1 Hardware configuration] The hardware configuration of system 1 in this embodiment will be described with reference to Figs. 1 to 2C. Fig. 1 is a hardware configuration diagram of system 1 in embodiment 1. Fig. 2A is a hardware configuration diagram of cloud server 10 in embodiment 1. Fig. 2B is a hardware configuration diagram of device 20 in embodiment 1. Fig. 2C is a hardware configuration diagram of terminal 30 in embodiment 1.

[0023] As shown in Fig. 1 and Fig. 3, a system 1 in this embodiment includes a cloud server 10, devices 20a-20h used in facilities 2a-2d, and terminals 30a-30d. The facilities 2a-2d are, for example, but are not limited to, homes. The facilities 2a-2d may be, for example, condominiums, stores, offices, etc. The system 1 is an example of a control system.

[0024] Cloud server 10 is a virtual server provided via a computer network (e.g., the Internet). Cloud server 10 is communicatively connected to devices 20a-20h and terminals 30a-30d via the computer network. Note that a physical server may be used instead of cloud server 10. Cloud server 10 is an example of an external device.

[0025] 2A, the cloud server 10 virtually includes a processor 11 and a memory 12 connected to the processor 11. The processor 11 functions as a sequence manager and a device manager, which will be described later, when instructions or software programs stored in the memory 12 are executed.

[0026] The devices 20a to 20h are electric machines and devices used in the facilities 2a to 2d. Note that the devices 20c to 20h used in the facilities 2b to 2d are omitted from Fig. 1. In the following, when it is not necessary to distinguish between the devices 20a to 20h, they will be referred to as device 20.

[0027] As the device 20, household electrical appliances (home appliances) and housing equipment can be used. The household electrical appliances (home appliances) and housing equipment are not limited to devices used in a home, but also include devices used in a business. In this disclosure, the household electrical appliances and housing equipment may be abbreviated to household electrical appliances. As the household appliances, for example, a microwave oven, a rice cooker, a blender, an electric oven, an electric toaster, an electric pot, a hot plate, an induction heating (IH) cooker, a roaster, a bakery, an electric pressure cooker, an electric waterless cooker, a multi-cooker, a coffee maker, a refrigerator, a washing machine, a dishwasher, a vacuum cleaner, an air conditioner, an air purifier, a humidifier, a hair dryer, an electric fan, and an ion generator can be used. As the housing equipment, for example, an electric shutter, an electronic lock, and an electric water heater for a bathtub can be used. The device 20 is not limited to these devices.

[0028] 2B, the device 20 includes a housing 21, an actuator 22, a heater 23, and a control unit 24. Note that the device 20 may include at least one of the actuator 22 and the heater 23, and does not necessarily need to include both the actuator 22 and the heater 23.

[0029] Housing 21 houses actuator 22, heater 23, and control unit 24. Housing 21 may also have an internal space for processing an object. For example, the washing tub of a washing machine, the heating chamber of a microwave oven, and the inner pot of a rice cooker correspond to the internal space for processing an object.

[0030] The actuator 22 is a mechanical element that converts input energy into physical motion based on an electrical signal, and may be, for example, an electric motor, a hydraulic cylinder, or a pneumatic actuator, but is not limited to these.

[0031] The heater 23 is an electric heater that converts electric energy into thermal energy. The heater 23 heats the object by, for example, Joule heating, induction heating, dielectric heating, etc. As the heater 23, for example, a nichrome wire, a coil, a magnetron, etc. can be used.

[0032] Here, an example of the reason why the device 20 of the present disclosure includes the actuator 22 and / or the heater 23 will be described. Consider a case where a manufacturer of a household electrical appliance or the like provides a third party with a development environment in which all of the parameters and drive combinations for driving the actuator 22 and the heater 23 can be freely controlled. In this case, the third party can create a program that controls the actuator 22 and / or the heater 23 outside of the parameter range that the manufacturer expects to safely drive, or the drive limit of the actuator 22 and / or the heater 23. In particular, the drive of the actuator 22 that physically moves or the heater 23 that outputs thermal energy that the manufacturer does not expect is a major issue in ensuring safety. Examples of drives that the manufacturer does not expect include high-speed rotation of an electric motor, which is an example of an actuator, and the supply of an overcurrent to the heater 23. The present inventors aimed to avoid hindering the creation of an environment in which a wide variety of applications can be provided to users by excessively considering safety aspects. Therefore, the device 20 of the present disclosure is intended to specialize in the actuator 22 that physically moves or the heater 23 that outputs thermal energy, and is intended to ensure safety.

[0033] The control unit 24 is a controller that controls the actuator 22 and / or the heater 23, and functions as a device to be described later. The control unit 24 is formed of, for example, an integrated circuit.

[0034] The terminals 30a to 30d are used in the facilities 2a to 2d, respectively, and function as user interfaces. Note that the terminals 30b to 30d used in the facilities 2b to 2d are omitted from Fig. 1. In the following, when it is not necessary to distinguish between the terminals 30a to 30d, they will be referred to as terminals 30.

[0035] The terminal 30 is connected to the cloud server 10 and the devices 20 via a computer network, and functions as a user interface (UI) described later. A portable information terminal such as a smartphone or a tablet computer can be used as the terminal 30. The terminal 30 may be a terminal fixed to a wall, floor, or ceiling of the facilities 2a to 2d. The terminal 30 may also be included in the devices 20. For example, the terminal 30 may be realized as a display terminal having a display or the like built into each of the devices 20a to 20h.

[0036] As shown in FIG. 2C, the terminal 30 includes a display 31 and an input device 32. For example, a liquid crystal display or an organic EL display can be used as the display 31. For example, a touch panel, a keyboard, a mouse, a mechanical button, or the like can be used as the input device 32. A voice input device may be used as the input device 32. The display 31 and the input device 32 may be integrated as a touch screen. Alternatively, a gesture input device may be used as the input device 32. The gesture input device includes, for example, a camera and a recognition unit. The camera captures an image including a gesture, and the recognition unit recognizes the gesture using the image.

[0037] [1.2 Functional configuration] Next, a functional configuration of the system 1 in the present embodiment will be described with reference to Fig. 3. Fig. 3 is a functional configuration diagram of the system 1 in the first embodiment.

[0038] The cloud server 10 includes a sequence manager 100 and a device manager 200. The apparatuses 20a to 20h include devices 300a to 300h, respectively. The terminals 30a to 30d include UIs 400a to 400d, respectively.

[0039] In the following, when it is unnecessary to distinguish between the devices 300a to 300h, they will be referred to as device 300. When it is unnecessary to distinguish between the UIs 400a to 400d, they will be referred to as UI 400.

[0040] The sequence manager 100 manages a plurality of applications. The plurality of applications are downloaded from an application distribution platform to the sequence manager 100, for example, by a user operation. Alternatively, the applications included in the application distribution platform do not need to be downloaded to the sequence manager 100. In this case, information indicating that the applications included in the application distribution platform are linked may be recorded in the database of the sequence manager 100. Details of the applications will be described later.

[0041] The device manager 200 has a database for managing the facilities 2a to 2d and the devices 300 and UIs 400 used in each of the facilities 2a to 2d. The device manager 200 manages the devices 300 and the UIs 400 by recording device information and UI information associated with the facilities 2a to 2d in the database. The device information and UI information include, for example, a control function, a drive function, and an operating status. For example, the device manager 200 can manage the operating status of the devices 300 and grasp the operating schedule of the devices 300. The device manager 200 may also manage log information of the devices 300.

[0042] Such a database may be included in the sequence manager 100 instead of the device manager 200, or may be included in both the sequence manager 100 and the device manager 200.

[0043] The device 300 has a function of controlling and driving the apparatus 20. The device 300 can drive the apparatus 20 according to instructions from the device manager 200.

[0044] The UI 400 provides information to and accepts input from a user.

[0045] Next, the configuration of a washing machine 500 as an example of the device 20 will be described with reference to Fig. 4 and Fig. 5. Fig. 4 is a diagram showing an example of the configuration of the washing machine 500. Fig. 5 is a block diagram showing an example of the functional configuration of the washing machine 500.

[0046] Washing machine 500 includes housing 501 having an internal space. An opening is provided on the front side of housing 501, and a door 505 that can be opened and closed is provided at the opening of housing 501. A door lock mechanism 506 for locking door 505 is provided at the opening of housing 501.

[0047] Inside housing 501, water tub 502 is provided which is elastically supported by housing 501. Water tub 502 is an example of a tub included in washing machine 500. Inside water tub 502, bottomed cylindrical washing tub 503 (also called a drum) having an opening formed at one end on the front side and a bottom formed at the other end on the rear side is provided so as to be rotatable about rotation axis Ax1. A gap is formed between the inner surface of water tub 502 and the outer surface of washing tub 503. For example, rotation axis Ax1 of washing tub 503 is inclined so that the opening of washing tub 503 is higher than the bottom.

[0048] Washing tub 503 is provided with a plurality of holes penetrating the side surface of washing tub 503. A washing motor 504 that drives and rotates washing tub 503 is provided on the rear surface of water tub 502. Washing motor 504 is, for example, a DC motor, and the rotation speed can be freely controlled by inverter control.

[0049] A vibration sensor 507 is provided on the upper part of water tank 502. Vibration sensor 507 detects the degree of vibration of water tank 502.

[0050] A water supply pipe 512 is connected to the top of the water tub 502. The water supply pipe 512 is connected to a water supply. The water supply pipe 512 is provided with a water supply valve 511 that stops the inflow of water from the water supply. The water supply valve 511 is, for example, an electromagnetic valve that opens and closes electrically when a control signal is input. The water supply pipe 512 is provided with an automatic dispenser 513 that contains liquid detergent and / or fabric softener to be dispensed into the washing tub 503. The automatic dispenser 513 is a device that uses an actuator to measure an amount of liquid detergent and / or fabric softener according to a control signal and dispenses the measured liquid detergent and / or fabric softener into the water supply pipe 512. Therefore, water from the water supply and a predetermined amount of liquid detergent and / or fabric softener dispensed by the automatic dispenser 513 are mixed in the water supply pipe 512 to become wash water, which flows into the water tub 502. The automatic dispenser 513 may have both an actuator for dispensing liquid detergent and an actuator for dispensing fabric softener.

[0051] Washing machine 500 is also provided with a water level sensor (not shown) that detects the water level of water tub 502. The water level sensor is arranged in a pipe separate from water supply pipe 512 connected to water tub 502, and may be a pressure sensor that detects the internal pressure of water tub 502. In other words, the water level of water tub 502 is detected using the detection result of the pressure sensor.

[0052] In addition, bath water piping 517 is connected to the top of water tank 502. A hose is connected to bath water piping 517 for introducing water stored in a bathtub in the home. Bath pump 516 for pumping up water stored in the bathtub is connected to bath water piping 517. By driving bath pump 516, water can be supplied by the bath pump, which introduces water from the bathtub into the inside of water tank 502 via a hose.

[0053] In addition, bath water piping 517 is connected to the top of water tub 502. A hose is connected to bath water piping 517 for introducing water stored in a bathtub in the home. Bath pump 516 is connected to bath water piping 517 for pumping up water stored in the bathtub. By driving bath pump 516, a water pouring operation can be performed in which water in the bathtub is introduced into water tub 502 via the hose from the bathtub.

[0054] Drain pipe 521 is connected to the bottom of water tub 502. Drain pipe 521 is connected to a drain hose that discharges washing water to the outside of washing machine 500. Drain pipe 521 is provided with drain filter 522 for removing foreign matter in the water flowing through drain pipe 521, and drain valve 523 for stopping water from flowing from drain pipe 521 to the drain hose. Drain valve 523 is, for example, an electromagnetic valve that is electrically opened and closed by inputting a control signal.

[0055] Further, circulation piping 525 is connected to drain pipe 521. One end of circulation piping 525 is connected to drain pipe 521, and the other end is connected to the front lower part of water tub 502. This piping is for returning water that has flowed through drain pipe 521 and passed through drain filter 522 to water tub 502. Circulation pump 524, which circulates water in water tub 502, is connected to circulation piping 525. When circulation pump 524 is driven, the wash water that has flowed through drain pipe 521 and then into circulation piping 525 is returned into water tub 502 by circulation pump 524.

[0056] In addition, one end of a duct 533 is connected to the upper part of the front side of the water tank 502, and the other end of the duct 533 is connected to the upper part of the rear side of the water tank 502. The duct 533 is provided with a heat pump 532 that cools and then heats the air in the duct 533, and a circulation fan 534 that circulates the air in the duct 533. The heat pump 532 is composed of a refrigerant circuit (not shown), and the refrigerant circuit has a compressor, a condenser, an expansion valve, and an evaporator. In the refrigerant circuit, the refrigerant circulates by driving the compressor. In the heat pump 532, the air in the duct 533 is cooled by the evaporator and then heated by the condenser. The moisture in the air in the duct 533 is removed by cooling by the evaporator, and then the air in the duct 533 is heated by heating by the condenser, so that the air in the duct 533 becomes warm, dry, and high-temperature air. The warm, dry, and high-temperature air is blown into the inside of the water tank 502 by the circulation fan 534. This promotes drying of laundry such as clothes inside water tub 502.

[0057] An intake sensor 531 is provided on the upstream side of the duct 533. The intake sensor 531 is a sensor that detects the temperature of air flowing on the upstream side of the duct 533.

[0058] A hot air sensor 535 is provided downstream of the duct 533. The hot air sensor 535 detects the temperature of the air in the duct 533.

[0059] A sterilization device 536 that sterilizes the laundry in the washing tub 503 is provided downstream of the duct 533. The sterilization device 536 generates an effective substance such as charged fine particle water. The air containing the effective substance generated by the sterilization device 536 is blown into the inside of the washing tub 503 by the circulation fan 534, so that the laundry in the washing tub 503 is sterilized by the effective substance.

[0060] Further, inside water tank 502, first foam sensor 541 and second foam sensor 542 are provided to detect the generation of foam inside water tank 502. First foam sensor 541 detects that more than a first amount of foam has been generated inside water tank 502. Second foam sensor 542 detects that more than a second amount of foam has been generated inside water tank 502. The first amount is greater than the second amount. In other words, first foam sensor 541 detects that more foam has been generated than second foam sensor 542.

[0061] Further, a hot water heater 543 for heating the wash water in water tub 502 is provided below water tub 502. Further, a hot water sensor 544 for detecting that the temperature of the wash water in water tub 502 is higher than a predetermined temperature is provided below water tub 502.

[0062] An operation panel 560 is provided on the upper front side of the housing 501 to receive input from a user for operating the washing machine 500. The operation panel 560 may display a result of receiving the input from the user, or may output a sound corresponding to the result. The operation panel 560 may display a calculation result by the control device 550, or may output a sound indicating the calculation result. The operation panel 560 may display an operation state of the washing machine 500, or may output a sound indicating the operation state. The communication unit 570 is capable of communicating with an external device, and is, for example, a communication interface communicatively connected to a computer network. The communication unit 570 may be a wireless LAN (Local Area Network) interface, a wired LAN (Local Area Network) interface, or an interface for connecting to a mobile phone communication network. The communication unit 570 may be communicatively connected to a hub device (not shown) communicatively connected to the cloud server 10. That is, the communication unit 570 may be communicatively connected to the cloud server 10 via the hub device. Communication unit 570 may communicate with the hub device by infrared or short-range wireless communication or the like, or may communicate using the communication interface exemplified above.

[0063] The housing 501 is provided with a control device 550. The control device 550 acquires detection results from various sensors, such as a vibration sensor 507, a water level sensor 515, an intake sensor 531, a hot air sensor 535, a first foam sensor 541, a second foam sensor 542, and a hot water sensor 544. The control device 550 controls the operations of the washing motor 504, the door lock mechanism 506, the water supply valve 511, the automatic dispenser 513, the bath pump 516, the drain valve 523, the circulation pump 524, the heat pump 532, the circulation fan 534, the sterilization device 536, the hot water heater 543, and the operation panel 560 in accordance with the detection results. The washing motor 504, the door lock mechanism 506, the water supply valve 511, the automatic dispenser 513, the bath pump 516, the drain valve 523, the circulation pump 524, the heat pump 532, the circulation fan 534, the sterilization device 536, and the hot water heater 543 are examples of a washing function unit that performs washing-related operations on laundry, and are also examples of the actuator 22 or the heater 23.

[0064] Here, the application will be described. In the present embodiment, the application (hereinafter sometimes abbreviated as app) means a control program defined by a plurality of functional blocks (hereinafter abbreviated as blocks) that drive the actuator 22 and / or the heater 23. Each of the plurality of blocks may include parameters for driving the actuator 22 or the heater 23. Specifically, each of the plurality of blocks is an abstraction of the control of the actuator 22 or the heater 23. Each of the plurality of blocks is an example of control information.

[0065] In addition to a plurality of blocks that drive the actuator 22 and / or the heater 23, the application may include a block that does not drive the actuator 22 and / or the heater 23. Examples of blocks that do not drive the actuator 22 and / or the heater 23 include information display using an interface of the device 300, audio output using a buzzer of the device 300, and turning on or off a lamp of the device 300. The block may also include a condition for starting the drive of the actuator 22 or the heater 23. For example, an application including a first block and a second block will be described as an example. Here, when switching to the second block during the execution of the first block, the first block is switched to the second block when a start condition included in the second block is satisfied. The block may also include an end condition instead of a start condition. When switching to the second block during the execution of the first block, the first block is switched to the second block when a end condition included in the first block is satisfied.

[0066] Next, specific examples of blocks defining the application of washing machine 500 will be described with reference to Figs. 6A to 6O. Each of the blocks shown in Figs. 6A to 6O is control information related to parameters that control operation by the washing function unit. The control information may be information for controlling operations related to washing that can be executed by washing machine 500. The operations by the washing function unit are operations related to washing laundry, and include at least one of, for example, a laundry amount detection operation, a water supply operation, a water pouring and rinsing operation, a detergent injection operation, a fabric softener injection operation, a stirring operation, a drum rotation operation, a spin-drying operation, a draining operation, a door lock operation, a soaking operation, a sterilization / antibacterial operation, a buzzer operation, a blowing operation, and a drying operation.

[0067] Fig. 6A shows a first example of a block defining an application in the first embodiment. Block 1000 shown in Fig. 6A is a block that controls a laundry amount detection operation that detects the amount of laundry, such as clothes, put into washing tub 503. In the laundry amount detection operation, for example, washing motor 504 is driven to detect a torque current flowing through washing motor 504, and a laundry amount previously associated with the detected torque current is identified by referring to the memory of control device 550, and the identified laundry amount is detected as the laundry amount in washing tub 503.

[0068] FIG. 6B shows a second example of a block that specifies an application in the first embodiment. Block 1010 shown in FIG. 6B is a block that controls the operation of supplying water to water tank 502, and includes parameters 1011 and 1012. Parameter 1011 includes a value that indicates the amount of water to be supplied to water tank 502 by the water level after the water is supplied. In other words, parameter 1011 indicates the operation timing of actuator 22 and / or heater 23. Control device 550 performs control to continue supplying water until the water level of water tank 502 detected by water level sensor 515 reaches the water level indicated by parameter 1011, and to stop the water supply when the water level reaches the water level indicated by parameter 1011. Parameter 1012 includes a parameter that specifies a water supply path. Specifically, parameter 1012 is a parameter that specifies whether water is supplied through a first water supply path in which water is supplied from water supply pipe 512 by opening water supply valve 511, or through a second water supply path in which water is supplied from bath water pipe 517 by driving bath pump 516. In the case of water supply through the first water supply path, control device 550 starts water supply by opening water supply valve 511, and stops water supply by closing water supply valve 511. In the case of water supply through the second water supply path, control device 550 starts water supply by starting driving bath pump 516, and stops water supply by stopping driving bath pump 516.

[0069] In addition, when water is supplied through the second water supply path during the water supply operation, if the water level indicated by parameter 1011 does not reach the level indicated by parameter 1011 even after a predetermined period of time (e.g., 5 to 10 minutes) has elapsed, the control device 550 may switch from the second water supply path to the first water supply path to supply water.

[0070] FIG. 6C shows a third example of a block that defines an application in the first embodiment. Block 1020 shown in FIG. 6C is a block that controls the water-filling and rinsing operation for water tub 502, and includes parameters 1021 to 1025. The water-filling and rinsing operation is an operation in which the washing tub 503 is rotated while water is being supplied to water tub 502, and the laundry and water are stirred to rinse the laundry. In the water-filling and rinsing operation, for example, the washing tub 503 is rotated while the water level in water tub 502 is raised and lowered by repeating water supply or drainage between the upper limit water level and the lower limit water level to rinse the laundry. Parameter 1021 includes a value indicating the upper limit of the water level when water is supplied to water tub 502 in the water-filling and rinsing operation. In other words, parameter 1021 indicates the water level that triggers the operation of stopping water supply and opening drain valve 523. Parameter 1022 includes a value indicating the lower limit of the water level when water is supplied to water tub 502. In other words, the parameter 1022 indicates a water level that triggers the operation of starting water supply and closing the drain valve 523. In other words, the parameters 1021 and 1022 indicate the operation timing of the actuator 22 and / or the heater 23. The parameter 1023 includes a value indicating the operation time of the water injection and rinsing operation. In other words, the parameter 1023 indicates the drive time of the actuator 22 and / or the heater 23. The parameter 1024 includes a value indicating the number of rotations (rotation speed) of the washing tub 503, that is, the rotation speed of the washing motor 504. The parameter 1025 includes a value indicating the stirring strength. The value indicating the stirring strength is, for example, a value indicating the time from when one rotation of the washing tub 503 in the rinsing operation is started until the rotation speed indicated by the parameter 1024 is reached. The parameters 1024 and 1025 can also be said to indicate the drive strength of the actuator 22 and / or the heater 23.

[0071] Fig. 6D shows a fourth example of a block that defines an application in the first embodiment. Block 1030 shown in Fig. 6D is a block that controls the detergent dispensing operation, and includes parameter 1031. The detergent dispensing operation is an operation of automatically dispensing a predetermined amount of liquid detergent into water supply pipe 512 by driving the actuator of automatic dispenser 513. Parameter 1031 includes a value that indicates the amount of liquid detergent dispensed into water supply pipe 512. In other words, parameter 1031 indicates the amount of operation of the actuator of automatic dispenser 513 that dispenses liquid detergent.

[0072] Fig. 6E shows a fifth example of a block that defines an application in the first embodiment. Block 1040 shown in Fig. 6E is a block that controls the fabric softener dispensing operation, and includes parameter 1041. The fabric softener dispensing operation is an operation of automatically dispensing a predetermined amount of fabric softener into water supply pipe 512 by driving an actuator of automatic dispenser 513. Parameter 1041 includes a value that indicates the amount of fabric softener dispensed into water supply pipe 512. In other words, parameter 1041 indicates the amount of operation of the actuator of automatic dispenser 513 that dispenses fabric softener.

[0073] FIG. 6F shows a sixth example of a block that defines an application in the first embodiment. Block 1050 shown in FIG. 6F is a block that controls the agitation operation of the washing machine, and includes parameters 1051 to 1058. Parameter 1051 includes information indicating the type of agitation (for example, normal, rubbing, shaking). In other words, parameter 1051 indicates the type of function. Parameter 1052 includes a value indicating the number of rotations (rotation speed) of the drum (washing tub 503), that is, the rotation speed of washing motor 504. In other words, parameter 1052 indicates the strength of driving actuator 22 and / or heater 23. Parameter 1053 includes a value indicating the rotation time of washing tub 503 in one agitation operation, that is, the drive time of washing motor 504. Parameter 1054 includes a value indicating the time during which rotation of washing tub 503 is stopped between one rotation operation and the next rotation operation in the agitation operation, that is, the stop time of washing motor 504. Parameter 1055 includes a value indicating the operation time of the stirring operation. Parameters 1053 to 1055 can also be said to indicate the drive time of actuator 22 and / or heater 23. Parameter 1056 includes a value indicating the start of water supply into water tub 502. That is, parameter 1056 includes a value indicating that water supply valve 511 is opened. Parameter 1056 can also be said to indicate the state after actuator 22 and / or heater 23 are driven. Parameter 1057 includes a value indicating the rotation direction (forward or reverse) of the circulation pump. Parameter 1058 includes a value indicating the stirring strength. The value indicating the stirring strength is, for example, a value indicating the time from the start of one rotation of washing tub 503 in the rinsing operation until the rotation speed indicated by parameter 1052 is reached. Note that block 1050 may include a parameter for driving hot water heater 543 until the water temperature in water tub 502 rises to a predetermined temperature.

[0074] In the agitation operation, the control device 550 performs the type of agitation indicated by parameter 1051. The control device 550 rotates the washing motor 504 at the number of rotations indicated by parameter 1052 with the agitation strength indicated by parameter 1056, and stops the washing motor 504 when the operation time indicated by parameter 1055 has elapsed from the start of the agitation operation. In addition, in the agitation operation, the control device 550 opens the water supply valve 511 based on parameter 1056. In addition, in the agitation operation, the control device 550 operates the circulation pump 524 in the rotation direction indicated by parameter 1057.

[0075] FIG. 6G shows a seventh example of a block that defines an application in the first embodiment. Block 1060 shown in FIG. 6G is a block that controls the drum rotation operation, and includes parameters 1061 to 1064. Parameter 1061 includes a value indicating the number of rotations (rotation speed) of the drum (washing tub 503), that is, the rotation speed of washing motor 504. In other words, parameter 1061 indicates the strength of driving actuator 22 and / or heater 23. Parameter 1062 includes a value indicating the rotation direction of the drum (washing tub 503). In other words, parameter 1062 indicates the type of operation of actuator 22 and / or heater 23. Parameter 1063 includes a value indicating the start of water supply into water tub 502. In other words, parameter 1063 includes a value indicating the opening of water supply valve 511. In other words, parameter 1063 indicates the state after actuator 22 and / or heater 23 are driven. The parameter 1064 includes a value indicating the rotation direction (normal or reverse) of the circulation pump 524. The block 1060 may include a parameter for driving the hot water heater 543 until the water temperature in the water tank 502 rises to a predetermined temperature.

[0076] In the drum rotation operation, the control device 550 rotates the washing motor 504 at a rotation speed indicated by a parameter 1061 in a rotation direction indicated by a parameter 1062. In addition, in the drum rotation operation, the control device 550 opens the water supply valve 511 based on a parameter 1063. In addition, in the drum rotation operation, the control device 550 operates the circulation pump 524 in a direction based on a parameter 1064.

[0077] FIG. 6H shows an eighth example of a block that defines an application in the first embodiment. Block 1070 shown in FIG. 6H is a block that controls the spin-drying operation, and includes parameters 1071 and 1072. Parameter 1071 includes a value indicating the number of rotations (rotation speed) of the drum (washing tub 503), that is, the rotation speed of washing motor 504. In other words, parameter 1071 indicates the strength of driving actuator 22 and / or heater 23. Parameter 1072 includes a value indicating the operation time of the spin-drying operation. In the spin-drying operation, control device 550 rotates washing motor 504 at the number of rotations indicated by parameter 1071, and stops washing motor 504 when the operation time indicated by parameter 1072 has elapsed since the start of the spin-drying operation.

[0078] FIG. 6I shows a ninth example of a block that defines an application in the first embodiment. Block 1080 shown in FIG. 6I is a block that controls a drain operation from water tub 502, and includes parameters 1081 and 1082. Parameter 1081 includes a value indicating an open or closed state of drain valve 523. Parameter 1082 includes a value indicating a water level that triggers stopping drainage. In the drain operation, control device 550 starts draining the wash water in water tub 502 to outside washing machine 500 by operating drain valve 523 to an open state. When the water level sensor detects that the water level in water tub 502 is the water level indicated by parameter 1082, control device 550 operates drain valve 523 to a closed state, and ends the drain operation.

[0079] FIG. 6J illustrates a tenth example of a block that defines an application in the first embodiment. The block 1090 illustrated in FIG. 6J is a block that controls a door lock operation, and includes a parameter 1091. The parameter 1091 includes a value indicating whether the door lock mechanism 506 is to be in a locked state or an unlocked state. In other words, the parameter 1091 indicates a state after the actuator 22 and / or the heater 23 are driven. When the parameter 1091 indicates that the door lock mechanism 506 is to be in a locked state and the door lock mechanism 506 is in an unlocked state, the control device 550 switches the door lock mechanism 506 to a locked state. When the parameter 1091 indicates that the door lock mechanism 506 is to be in an unlocked state and the door lock mechanism 506 is in a locked state, the control device 550 switches the door lock mechanism 506 to an unlocked state.

[0080] Fig. 6K shows an eleventh example of a block that defines an application in the first embodiment. Block 1100 shown in Fig. 6K is a block that controls the immersion operation, and includes parameters 1101 and 1102. Parameter 1101 includes a value indicating the rotation direction (forward or reverse) of circulating pump 524. Parameter 1102 includes a value indicating the operation time of the immersion operation. Control device 550 operates circulating pump 524 in the rotation direction indicated by parameter 1101, and stops circulating pump 524 when the operation time indicated by parameter 1102 has elapsed since the start of the immersion operation.

[0081] FIG. 6L shows a twelfth example of a block that defines an application in the first embodiment. Block 1110 shown in FIG. 6L is a block that controls the sterilization / antibacterial operation, and includes parameters 1111 and 1112. Parameter 1111 includes a value indicating an operation time for driving sterilization device 536 and circulation fan 534. Parameter 1112 includes a value indicating the number of revolutions (rotation speed) of circulation fan 534. In the sterilization / antibacterial operation, control device 550 drives sterilization device 536 and circulation fan 534, and stops sterilization device 536 and circulation fan 534 when the operation time indicated by parameter 1111 has elapsed. In the sterilization / antibacterial operation, control device 550 drives circulation fan 534 at the number of revolutions (rotation speed) indicated by parameter 1112.

[0082] Fig. 6M shows a thirteenth example of a block that defines an application in the first embodiment. Block 1120 shown in Fig. 6M is a block that controls a buzzer operation, and includes parameter 1121. Parameter 1121 includes a value indicating an operation time for driving the speaker of operation panel 560. In a buzzer operation, control device 550 outputs a buzzer sound, and stops output of the buzzer sound when the operation time indicated by parameter 1121 has elapsed since starting output of the buzzer sound.

[0083] FIG. 6N shows a 14th example of a block that specifies an application in the first embodiment. Block 1130 shown in FIG. 6N is a block that controls the blowing operation, and includes parameters 1131 and 1132. Parameter 1131 includes a value indicating the operation time for driving circulation fan 534. Parameter 1132 includes a value indicating the temperature of air blown into water tank 502 by circulation fan 534. In the blowing operation, control device 550 drives circulation fan 534, and stops circulation fan 534 when the operation time indicated by parameter 1131 has elapsed since starting to drive circulation fan 534. Alternatively, control device 550 drives circulation fan 534 in the blowing operation, and stops circulation fan 534 when hot air sensor 535 detects that the temperature has dropped below the temperature indicated by parameter 1132 since starting to drive circulation fan 534.

[0084] FIG. 6O shows a 15th example of a block that specifies an application in the first embodiment. Block 1140 shown in FIG. 6O is a block that controls a drying operation, and includes parameter 1141. Parameter 1141 includes a value that indicates a pattern (operation mode) of a drying operation, such as low temperature, standard, or firm. Specifically, in the low temperature pattern, drying is performed at a low temperature where the temperature inside washing tub 503 is lower than a predetermined temperature. In the standard pattern, drying is performed at a standard temperature where the temperature inside washing tub 503 is higher than a predetermined temperature. In the firm pattern, drying is continued for a certain period of time after it is detected that inside washing tub 503 is in a dry state. Control device 550 determines that the state is dry when the difference between the temperature on the intake side detected by intake sensor 531 and the temperature on the exhaust side detected by hot air sensor 535 is less than a predetermined difference. Each pattern may be composed of a combination of the drying operation time [m], the fan rotation speed [rpm] of the circulation fan 534, the drying detection temperature [deg] by the intake sensor 531 and / or the hot air sensor 535, the same stirring type as parameter 1051, the same drum rotation speed [rpm] as parameter 1052, the same drum ON time [s] as parameter 1053, and the same drum OFF time [s] as parameter 1054.

[0085] In order to define an application, a plurality of blocks as shown in Fig. 6A to Fig. 6N are used. Note that the plurality of blocks shown in Fig. 6A to Fig. 6O are merely examples, and the blocks for washing machine 500 are not limited to these. For example, the plurality of blocks may be hierarchically organized according to abstraction levels.

[0086] For example, the abstraction level may be changed between a layer for a manufacturer and a layer for non-manufacturers. Examples of non-manufacturers include a layer for other manufacturers and a layer for third parties. In this case, the layer for the manufacturer has a lower level of abstraction than the layer for other parties, which means that the contents closer to the parameters that drive the actuators and heaters are controlled.

[0087] On the other hand, the creator provides blocks with a minimum abstraction level that ensures know-how and safety to non-manufacturers, thereby enabling non-manufacturers to develop applications. The manufacturer can provide blocks with a higher abstraction level to general users, enabling more people to develop applications. A higher abstraction level corresponds to blocks defined by terms that general users themselves can understand without specialized knowledge. Terms that can be understood without specialized knowledge are, for example, contents that correspond to the functions themselves of household electrical appliances. Specifically, when "plenty" is selected as a parameter related to the amount of water in the "wash" block of a washing machine, in one embodied layer, changes are made such as increasing the water level parameter in the water supply block from 60 mm to 100 mm and decreasing the rotation amount parameter in the agitation block from 120 rpm to 100 rpm. As described above, rearrangement and parameter changes of blocks at a high level of abstraction can be realized with blocks with a lower level of abstraction. With these blocks, applications can be freely developed by rearranging and adjusting parameters while ensuring safety and confidentiality regarding the operation of the actuator and heater.

[0088] [1.3 Processing] Next, the processing of the system 1 configured as above will be described with reference to Fig. 7. Fig. 7 is a sequence diagram of the system 1 in the first embodiment.

[0089] [1.3.1 Preparation Phase F100] First, the preparation phase F100 will be described.

[0090] (Step S110) The sequence manager 100 transmits sequence manager information to the device manager 200. This transmission of sequence manager information is performed, for example, by an instruction from a system administrator. The device manager 200 registers the received sequence manager information, for example, in a sequence manager database. Note that if the sequence manager information has been registered in advance in the sequence manager database, this step may be skipped.

[0091] The sequence manager information includes, for example, an identifier and / or an address (eg, a Uniform Resource Locator (URL), an Internet Protocol (IP) address, etc.) of the sequence manager 100. Additionally, the sequence manager information may include any information.

[0092] (Step S112) The device 300 transmits device information 1201 to the device manager 200. This device information 1201 is transmitted, for example, when the device 300 is connected to a computer network. The device manager 200 registers the received device information 1201 in the device database 1200. Note that if the device information 1201 has been registered in advance in the device database 1200, this step may be skipped.

[0093] The device information 1201 may be sent to the UI 400 and then registered in the device manager 200 via the UI 400 .

[0094] The device information 1201 includes an identifier and / or an address of the device 300. Furthermore, the device information 1201 may include any information. FIG. 8 shows an example of the device database in the first embodiment. In the device database 1200 in FIG. 8, a plurality of pieces of device information including the device information 1201 are registered. Each piece of device information includes a device ID, an address, a type, a manufacturer name, an actuator / heater, and a deterioration level. The actuator / heater is identification information of the actuator 22 and / or the heater 23 constituting the device 300. The deterioration level is an example of deterioration information indicating whether the actuator 22 and / or the heater 23 constituting the device 300 is deteriorated. Here, the deterioration level indicates that the deterioration is greater as the value increases. The device information 1201 may include information on executable blocks. The information on executable blocks may be information in which the blocks included in the database are associated with executable or non-executable blocks, or may be information on only executable blocks. Furthermore, whether or not a block is executable can be prepared in advance based on information on actuators / heaters and the like included in device information 1201.

[0095] The device information 1201 may include information capable of identifying the facilities 2a to 2d.

[0096] (Step S114) The UI 400 transmits UI information to the device manager 200. This transmission of UI information is performed, for example, in response to a user instruction. The device manager 200 registers the received UI information in, for example, a UI database. Note that if the UI information has been registered in the UI database in advance, this step may be skipped.

[0097] The UI information may include, for example, an identifier and / or an address of the UI 400. Furthermore, the UI information may include any information.

[0098] The UI information may include information capable of identifying the facilities 2a to 2d.

[0099] Through the above processing, the sequence manager 100, the device manager 200, the device 300, and the UI 400 are linked to each other and can establish a connection with each other, thereby completing the preparation phase F100.

[0100] [1.3.2 Pre-application execution phase F200] Next, the application pre-execution phase F200 will be described. Note that, before the application pre-execution phase F200, an application is downloaded from the application distribution platform to the sequence manager 100 in accordance with an instruction from a user via the UI 400. In this manner, the following process is performed in a state where the application is downloaded to the sequence manager 100.

[0101] (Step S210) The UI 400 accepts an application execution request from a user and transmits the application execution request including the application identification information to the sequence manager 100. For example, the user selects an application from among multiple applications downloaded to the sequence manager 100 via the UI 400 and instructs execution of the selected application.

[0102] The application execution request transmitted from the UI 400 to the sequence manager 100 is transmitted together with information capable of identifying the facilities 2a to 2d.

[0103] The application execution request does not have to be explicitly received from the user. For example, the application execution request may be automatically sent to the sequence manager 100 based on the detection result by detecting the user's behavior or state.

[0104] (Step S212) The sequence manager 100 transmits an execution content declaration of the application identified by the application execution request to the device manager 200. The execution content declaration includes information on a plurality of blocks that specifies the application to be executed and information capable of identifying the facilities 2a to 2d.

[0105] Fig. 9 is a diagram showing an example of an execution content declaration in the first embodiment. Fig. 9 shows an execution content declaration 1300 for an application defined by combining a plurality of blocks for the washing machine shown in Figs. 6A to 6O. The execution content declaration 1300 includes a plurality of blocks 1301, information 1302 on devices required for executing each block 1301, and order information 1303 on the order in which each block 1301 is executed. The execution content declaration 1300 is an example of laundry information. The laundry information may be composed of one piece of control information from among a plurality of pieces of control information on parameters for controlling a plurality of types of operation by a laundry function unit, or may be information in which a plurality of pieces of control information are combined. The multiple pieces of control information referred to here are, for example, the information indicated by blocks 1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1100, 1110, 1120, 1130, and 1140 illustrated in Figures 6A to 6O.

[0106] The execution content declaration 1300 does not have to include the device-related information 1302. In that case, the device manager 200 needs to search for a device capable of executing the corresponding block in the facility indicated by the received facility information from the information of the multiple blocks 1301, and perform device allocation.

[0107] 9, the device-related information 1302 indicates the model number of the device 300, but is not limited to this. The device-related information 1302 may be any information as long as it can indicate the conditions of the device 300 that can be allocated to a block. For example, the device-related information 1302 may include multiple model numbers, or may include only the type of device, the purpose of use, the location of the device, or any combination of these.

[0108] (Step S214) The device manager 200 allocates a device 300 linked to the device manager 200 to each block included in the execution content declaration 1300 based on information capable of identifying the facilities 2a to 2d. For example, the device manager 200 allocates a device DEV001 having model number WM-0001, which is registered in the device database 1200 of Fig. 8 as being connected to the facility indicated by the received facility information, to each of the blocks 1301 shown in Fig. 9. Note that when the operating state of the device 300 or the connection state to the cloud is managed, the allocation of an operating device 300 may be prohibited.

[0109] For example, if the multiple blocks shown in Figure 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 device manager 200 notifies the sequence manager 200 that the application whose execution content is declared cannot be executed.

[0110] (Step S215) The device manager 200 notifies the device 300 of the result of the device allocation. As a result, a plurality of blocks included in the application are sent to the device 300 to which they are respectively allocated.

[0111] (Step S216) The device 300 validates a block before executing the block, i.e., before executing the block, the device 300 checks whether the block will cause problems in the device 300 if executed, e.g., the device 300 checks for safety and / or efficiency issues.

[0112] Then, the device 300 changes the block based on the result of the check, thereby correcting the block so that the problem does not occur.

[0113] Such pre-execution confirmation processing will be described in further detail with reference to Fig. 10. Fig. 10 shows a flowchart of the pre-execution confirmation processing in the first embodiment.

[0114] (Step S2165) The device 300 acquires a rule corresponding to the block. The rule is a rule regarding the order of washing. The rule specifies whether or not the execution content declaration 1300 in which the second block (second control information) is executed after the first block (first control information) is permitted. In other words, the rule specifies whether or not the order of two blocks executed consecutively among the multiple blocks 1301 specified in the execution content declaration 1300 is permitted. For example, the device 300 refers to the rule database to acquire a condition under which the order of two blocks executed consecutively is not permitted. The rule database may be included in the device 300, the sequence manager 100, or the device manager 200, for example.

[0115] Hereinafter, the rules defined in the rule database 1400 will be specifically described with reference to FIG. 11. FIG. 11 shows an example of the rule database in the first embodiment. In the rule database 1400 in FIG. 11, a first rule 1401, a second rule 1402, a third rule 1403, a fourth rule 1404, and a fifth rule 1405 are registered. Each of the first rule 1401, the second rule 1402, the third rule 1403, the fourth rule 1404, and the fifth rule 1405 defines that the second block (second control information) is not allowed to be executed after the first block (first control information). That is, each of the first rule 1401, the second rule 1402, the third rule 1403, the fourth rule 1404, and the fifth rule 1405 is a rule regarding the order of washing.

[0116] In the first rule 1401, for example, the first block is not allowed to include a parameter related to water supply to water tub 502 of washing machine 500, and the second block is not allowed to include a parameter controlling an operation performed in a water-free environment. In this case, the first block is, for example, blocks 1010, 1020, 1050, and 1060. The operation performed in a water-free environment includes an operation that is not allowed to be performed when water is stored in water tub 502. Specifically, the water-free environment is when the water level in water tub 502 is lower than a predetermined water level (for example, the lowest water level that can be detected by a water level sensor). In other words, when water is stored in water tub 502, the water level in water tub 502 is equal to or higher than a predetermined water level. The second block is, for example, blocks 1000, 1070, and 1110. The laundry amount detection operation of block 1000 is an operation performed in a water-free environment because it is difficult to accurately detect the amount of laundry when the laundry is submerged in water. The reason why the spin-drying operation of block 1070 is performed in a water-free environment is that it is difficult to effectively spin-dry the laundry when it is submerged in water, and the reason why the sterilization / antibacterial operation of block 1110 is performed in a water-free environment is that when the laundry is submerged in water, the effectiveness of the effective substance cannot be fully obtained even if air containing the effective substance such as charged water particles is discharged into washing tub 503.

[0117] In the second rule 1402, for example, the first block is not allowed to include a parameter related to heating in water tub 502 of washing machine 500, and the second block is not allowed to include a parameter controlling an operation performed in a heat-prohibited environment. The first block in this case is, for example, block 1140. The first block in this case may be blocks 1050, 1060, etc., in the case where the first block includes a parameter for driving hot water heater 543 until the temperature of the washing water in water tub 502 becomes equal to or higher than a predetermined water temperature (for example, 60 degrees). The operation performed in a heat-prohibited environment includes an operation that is not allowed to be performed when the temperature in water tub 502 is equal to or higher than a predetermined temperature. Specifically, the heat-prohibited environment is when the temperature of the space in water tub 502 is lower than a predetermined temperature, or when the temperature of the washing water in water tub 502 is lower than a predetermined water temperature. The second block is, for example, block 1080 in the case where parameter 1081 indicates drain valve 523, block 1090 in the case where parameter 1091 indicates unlocking the door, etc. The drainage operation of block 1080 is an operation performed in a heat-prohibited environment in order to prevent the drainage pipe from being deformed or damaged by heat due to high-temperature water flowing into the drainage pipe outside washing machine 500. The door lock release operation of block 1090 is an operation performed in a heat-prohibited environment in order to prevent the user from touching high-temperature laundry when opening door 505 and attempting to remove laundry from washing tub 503.

[0118] In the third rule 1403, for example, the first block is not allowed to include a parameter related to the rotation of the washing tub 503 of the washing machine 500 in which water is stored, and the second block is not allowed to include a parameter that controls an operation performed in a forbidden environment. In this case, the first block is, for example, blocks 1050, 1060, 1070, etc. The operation performed in the forbidden environment includes an operation that is not allowed to move the water surface in the water tub 502 (or the washing tub 503). Specifically, the forbidden environment is when the water tub 502 (or the washing tub 503) is vibrating or stationary with less than a predetermined amplitude (or a predetermined displacement). The second block is, for example, blocks 1010, 1020, etc. The reason why the block 1010 is an operation performed in a forbidden environment is that it is difficult to accurately detect the water level when the water surface is moving.

[0119] 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 a predetermined time later, the sub-block of the stirring operation may be regarded as the first block, and the sub-block of the water supply operation may be regarded as the second block.

[0120] In the fourth rule 1404, for example, the first block is not allowed to include a parameter related to blowing air into the water tub 502 (or washing tub 503) of the washing machine 500, and the second block is not allowed to include a parameter controlling an operation performed in a forbidden environment. In this case, the first block is, for example, blocks 1130, 1140, etc. The operation performed in the forbidden environment includes an operation in which the water surface in the water tub 502 (or washing tub 503) is not allowed to move. Specifically, the forbidden environment is when the water level in the water tub 502 (or washing tub 503) is vibrating or stationary with less than a predetermined amplitude (or a predetermined displacement). The second block is, for example, blocks 1010, 1020, etc. The reason why the block 1010 is an operation performed in a forbidden environment is that it is difficult to accurately detect the water level when the water surface is moving.

[0121] In the fifth rule 1405, for example, it is not permitted that the first block includes a parameter for rotating washing tub 503 of washing machine 500 at a first rotation, and the second block includes a parameter for rotating washing tub 503 at a second rotation different from the first rotation. Here, the first rotation and the second rotation being different from each other may mean that their respective rotation speeds are different from each other. That is, the first rotation speed in the first rotation may be different from the second rotation speed in the second rotation. Moreover, the first rotation and the second rotation being different from each other may mean that their respective rotation directions are different from each other. That is, the direction of the first rotation may be different from the direction of the second rotation.

[0122] 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. that have a different rotation than the first blocks.

[0123] 11, the first rule 1401, the second rule 1402, the third rule 1403, the fourth rule 1404, and the fifth rule 1405 each stipulate that the second block is not permitted to be executed after the first block, but the second block may be permitted to be executed after the first block. Even in this case, it can be defined that the execution of a combination of a first block and a second block that is not stipulated as a rule is not permitted.

[0124] For example, the parameters of the actuator 22 or the heater 23 that can be safely driven may change depending on the environment of the device 300, such as the internal space of the housing 21, and the order of the allowable blocks may not depend only on the performance of the actuator 22 or the heater 23 itself. Therefore, in order to drive safely in any environment, the order will be one that places a higher importance on safety, which reduces the room for development of a wide variety of applications. Therefore, the rules may be associated with information on the device 300, etc., independent of the application. By using such rules, both safety and development of a wide variety of applications can be achieved.

[0125] The rule relates to a plurality of blocks combined in an order that allows the actuator 22 or the heater 23 to be driven safely. The plurality of blocks combined in an order that allows the actuator 22 or the heater 23 to be driven safely may be in an order that takes into consideration the start conditions or end conditions of the blocks. The order in which the blocks are executed may be set assuming a case in which a load that may affect the safety of the actuator 22 or the heater 23 is applied by executing a first block until the start condition of a second block is reached. In other words, the order in which the blocks are executed depends on the performance of the actuator 22 or the heater 23, the start conditions or end conditions of the blocks, etc.

[0126] Each of the first rule 1401, the second rule 1402, the third rule 1403, the fourth rule 1404, and the fifth rule 1405 may further include a type, a manufacturer name, and an actuator / heater, so that the device 300 can obtain, from the rule database 1400, a rule corresponding to the actuator 22 or the heater 23 driven by the block.

[0127] (Step S2166) The device 300 determines whether or not it is permitted to execute the second block after the first block. If it is determined that it is not permitted to execute the second block after the first block (No in S2166), the device 300 skips the subsequent step S2167 and ends the pre-execution confirmation process. On the other hand, if it is determined that it is permitted to execute the second block after the first block (Yes in S2166), the device 300 proceeds to the next step S2167.

[0128] (Step S2167) The device 300 modifies the execution content declaration 1300 based on the rules in the rule database 1400, and ends the pre-execution confirmation process. The modification of the execution content declaration 1300 means, for example, adding a third block (third control information) to the execution content declaration 1300 as control information for the next block to be executed after the first block. The modification of the execution content declaration 1300 means, for example, modifying information on parameters included in the first block or information on parameters included in the second block in the execution content declaration 1300. The modification of the execution content declaration 1300 means, for example, restricting the execution of the second block. Alternatively, the modification of the execution content declaration 1300 may be any combination of the above-mentioned addition of a block, modification of parameters, and restriction of the execution of the second block.

[0129] A specific example of such a correction to the action content declaration 1300 will be described with reference to FIGS.

[0130] FIG. 12 shows a first example of a correction of the execution content declaration in the first embodiment. In FIG. 12, the execution content declaration shows that block 1070 of the dehydration operation, which is an operation performed in a water-prohibited environment, is executed next to block 1010 of the water supply operation. Since this is not permitted by first rule 1401, control device 550 adds block 1080 of the drainage operation including a parameter related to drainage from water tub 502 as control information of the order to be executed next to block 1010. In other words, even if the dehydration operation is set to be executed next to the water supply operation, control device 550 adds a drainage operation between the water supply operation and the dehydration operation. Therefore, water tub 502 can be made into a water-prohibited environment before the dehydration operation is started, and dehydration can be performed effectively.

[0131] 12, even if block 1110 for the sterilization / antibacterial operation is set instead of block 1070 for the spin-drying operation, block 1080 for the drainage operation may be added between block 1070 and block 1110. This makes it possible to make water tub 502 a no-water environment before the sterilization / antibacterial operation is started, thereby enabling laundry to be effectively sterilized.

[0132] Also, in FIG. 12, if a water pouring operation block 1020, a stirring operation block 1050 including parameters for the water supply operation, or a drum rotation operation block 1060 are set instead of the water supply operation block 1010, the same effect as above can be obtained by adding a drainage operation block 1080 immediately after it.

[0133] FIG. 13 shows a second example of the modification of the execution content declaration in the first embodiment. In FIG. 13, as in FIG. 12, the execution content declaration shows that block 1070 of the spin operation, which is an operation performed in a water-prohibited environment, is executed next to block 1010 of the water supply operation. Since this is not permitted by first rule 1401, control device 550 may newly generate block 1070A by modifying block 1070 so as to add parameter 1073 related to drainage from water tub 502 immediately before block 1070. Parameter 1073 is a parameter indicating that drain valve 523 is controlled to be open. Therefore, water tub 502 can be made into a water-prohibited environment before the start of the spin operation, and the spin operation can be effectively performed.

[0134] 13, even if block 1110 for the sterilization / antibacterial operation is set instead of block 1070 for the spin-drying operation, block 1110 may be modified to add parameter 1073 immediately before block 1110. This makes it possible to make water tub 502 a no-water environment before the sterilization / antibacterial operation is started, thereby enabling laundry to be effectively sterilized.

[0135] In addition, in FIG. 13, if a water pouring operation block 1020, a stirring operation block 1050 including parameters for the water supply operation, or a drum rotation operation block 1060 are set instead of the water supply operation block 1010, the same effect as above can be obtained by adding a parameter 1073 to the block immediately following that so that drainage is performed immediately before the operation of that block is performed.

[0136] FIG. 14 shows a third example of the modification of the execution content declaration in the first embodiment. In FIG. 14, the execution content declaration shows that the block 1000 of the laundry amount detection operation, which is an operation performed in a water-prohibited environment, is executed next to the block 1010 of the water supply operation. Since this is not permitted by the first rule 1401, the control device 550 restricts the execution of the block 1000, which is the block to be executed next to the block 1010. Specifically, the control device 550 deletes the block 1000 or skips the execution of the block 1000. In addition, when the control device 550 reads and executes the blocks sequentially, it may restrict the execution of the block 1000 by stopping the operation after the execution of the block 1010 is completed. Therefore, it is possible to suppress the execution of the laundry amount detection operation in an environment where it is difficult to detect the amount of laundry with high accuracy. Therefore, it is possible to reduce the power consumption related to the laundry amount detection operation.

[0137] FIG. 15 shows a fourth example of the correction of the execution content declaration in the first embodiment. In FIG. 15, the execution content declaration shows that block 1090 of the door unlocking operation, which is an operation performed in a heat-prohibiting environment, is executed next to block 1140 of the drying operation. Since this is not permitted by second rule 1402, control device 550 adds block 1130 of the air blowing operation including a parameter related to heat dissipation in washing tub 503 as control information of the order to be executed next to block 1140. That is, even if it is set that the door unlocking operation is executed next to the drying operation, control device 550 adds the air blowing operation between the drying operation and the door unlocking operation. Therefore, the temperature in washing tub 503 can be lowered to a predetermined temperature or less before the door unlocking operation is started, and the user can be prevented from touching high-temperature laundry. Note that instead of adding block 1130 of the air blowing operation, a parameter for performing the air blowing operation may be added to block 1090 of the door unlocking operation or to block 1140 of the drying operation so that the air blowing operation is performed immediately before the door unlocking operation.

[0138] FIG. 16 shows a fifth example of the correction of the execution content declaration in the first embodiment. In FIG. 16, the execution content declaration shows that block 1080 of the drainage operation, which is an operation performed in a heat-prohibiting environment, is executed next to block 1050 of the agitation operation with high-temperature water having a predetermined water temperature or higher. Since this is not permitted by second rule 1402, control device 550 adds block 1150 of the standby operation including a parameter related to heat dissipation as control information of the order to be executed next to block 1050. In the standby operation by block 1150, control device 550 waits for the execution of the next block 1080 until a predetermined period (for example, 10 minutes) has elapsed. In other words, even if the drainage operation is set to be executed next to the agitation operation with high-temperature water, control device 550 adds a standby operation between the agitation operation with high-temperature water and the drainage operation. Therefore, the temperature of the washing water in water tub 502 can be lowered to below a predetermined water temperature before the drainage operation is started, and the high-temperature water can be prevented from flowing into a drain pipe outside washing machine 500. Note that instead of adding block 1150 for the standby operation, a parameter for performing the standby operation may be added to block 1080 for the drainage operation so that the standby operation is performed immediately before the drainage operation, or may be added to block 1050 for the agitation operation. Note that, although the standby operation has been given as an example of an operation for dissipating heat, the present invention is not limited to this, and heat may be dissipated by performing a drainage operation after a water supply operation.

[0139] FIG. 17 shows a sixth example of the modification of the execution content declaration in the first embodiment. In FIG. 17, the execution content declaration shows that the block 1010 of the water supplying operation, which is an operation performed in a forbidden environment, is executed next to the block 1050 of the agitation operation. Since this is not permitted by the third rule 1403, the control device 550 adds a block 1150 of the standby operation including a parameter related to an operation of waiting without doing anything for a predetermined period (for example, one minute) as control information of the order to be executed next to the block 1050. That is, even if it is set that the water supplying operation is executed next to the agitation operation, the control device 550 adds a standby operation between the agitation operation and the water supplying operation. Therefore, the water tub 502 (or the washing tub 503) can be vibrated or stopped with less than a predetermined amplitude (or a predetermined displacement) before the water supplying operation is started, and the shaking of the water surface can be reduced. Note that instead of adding the block 1150 of the standby operation, a parameter for performing the standby operation may be added to the block 1010 of the water supplying operation or to the block 1050 of the agitation operation so that the standby operation is executed immediately before the water supplying operation.

[0140] 17, even if block 1120 for pouring water, block 1050 for stirring and block 1060 for drum rotation, which include parameters for the water supply operation, are set instead of block 1010 for supplying water, block 1150 for standby may be added between the blocks including parameters for stirring and supplying water. This makes it possible to make water tub 502 a forbidden environment before the start of the water supply operation, and to effectively detect the water level of water tub 502 during the water supply operation.

[0141] Also, in FIG. 17, if a drum rotation operation block 1060 is set instead of the stirring operation block 1050, the same effect as above can be obtained by adding a standby operation block 1150 immediately after it.

[0142] FIG. 18 shows a seventh example of the correction of the execution content declaration in the first embodiment. In FIG. 18, the execution content declaration shows that the block 1010 of the water supply operation, which is an operation performed in a prohibited environment, is executed next to the block 1130 of the air blowing operation. Since this is not permitted by the fourth rule 1404, the control device 550 adds a standby operation block 1150 including a parameter related to an operation of waiting without doing anything for a predetermined period (for example, one minute) as control information of the order to be executed next to the block 1130. In other words, even if it is set that the water supply operation is executed next to the air blowing operation, the control device 550 adds a standby operation between the air blowing operation and the water supply operation. Therefore, it is possible to reduce the shaking of the water surface before the water supply operation is started. Note that instead of adding the standby operation block 1150, a parameter for performing the standby operation may be added to the block 1010 of the water supply operation or to the block 1130 of the air blowing operation so that the standby operation is executed immediately before the water supply operation.

[0143] 18, even if water pouring block 1120, agitation block 1050 including parameters for the water supplying operation, and drum rotation block 1060 are set instead of water supplying block 1010, a standby block 1150 may be added between the air blowing operation and the block including parameters for the water supplying operation. This makes it possible to make water tub 502 a forbidden environment before the water supplying operation is started, and makes it possible to effectively detect the water level of water tub 502 during the water supplying operation.

[0144] FIG. 19 shows an eighth example of the modification of the execution content declaration in the first embodiment. In FIG. 19, the execution content declaration shows that the block 1050 of the agitation operation, which is an operation using a different rotation from the spin-drying operation, is executed next to the block 1070 of the spin-drying operation. Since this is not permitted by the fifth rule 1403, the control device 550 adds a block 1150 of the standby operation, which includes a parameter related to an operation of waiting without doing anything for a predetermined period (for example, 30 seconds) as control information of the order to be executed next to the block 1070. In other words, even if it is set that the agitation operation using a different rotation from the spin-drying operation is executed next to the spin-drying operation, the control device 550 adds a standby operation between the spin-drying operation and the agitation operation. Therefore, the washing tub 503 can be stopped before the agitation operation is started, and it is easy to switch to the agitation operation of another rotation. Instead of adding the block 1150 of the standby operation, a parameter for performing the standby operation may be added to the block 1050 of the agitation operation or to the block 1070 of the spin-drying operation so that the standby operation is executed immediately before the agitation operation. The two blocks are not limited to being applied to a combination of a spin-drying operation and an agitating operation. They may be applied to a combination of two of an agitating operation, a drum rotation operation, and a spin-drying operation, or may be applied to a combination of an agitating operation followed by an agitating operation with a different rotation, or may be applied to a combination of a drum rotation operation followed by a drum rotation operation with a different rotation, or may be applied to a combination of a spin-drying operation followed by a spin-drying operation with a different rotation. Instead of adding a standby operation, the rotation of washing tub 503 may be stopped by adding an operation to brake the rotation of washing tub 503.

[0145] FIG. 20 shows a ninth example of the correction of the execution content declaration in the first embodiment. In FIG. 20, the execution content declaration shows that the block 1050B including the block 1050 of the stirring operation, which is an operation using a rotation different from the spinning operation, is executed next to the block 1070B including the block 1070 of the spinning operation. The block 1070B further includes a parameter 1074 that waits immediately after the block 1070 of the spinning operation. Moreover, the block 1050B further includes a parameter 1057 that waits immediately before the block 1050 of the stirring operation. In this way, the parameter 1074 and the parameter 1057 are overlapped in the block 1050B that is set in the order to be executed next to the block 1070B. In this case, the control device 550 deletes the overlapping parameter 1074. The control device 550 may delete the parameter 1057 instead of deleting the parameter 1074.

[0146] Now, let us return to the explanation of FIG.

[0147] (Step S217) The device 300 transmits the result of the pre-execution check to the device manager 200. If the block has been modified, the modified block may be transmitted to the device manager 200.

[0148] (Step S218) The device manager 200 returns the result of the device allocation to the sequence manager 100. If the block is changed in the pre-execution confirmation, the application including the changed block may be sent to the sequence manager 100.

[0149] (Step S220) The sequence manager 100 receives the allocation result notification from the device manager 200 and notifies the user via the UI 400 that preparation for execution is complete.

[0150] (Step S222) The UI 400 displays a list of devices on which the application is executed, and also displays a graphical user interface (GUI) for receiving an input from the user to confirm execution of the application. The UI 400 may also receive a change in device allocation from the user. The UI 400 does not have to display a list of devices.

[0151] (Step S224) The UI 400 receives an input of execution confirmation from the user and transmits an application start instruction to the device manager 200. The device manager 200 transfers the application start instruction to the sequence manager 100.

[0152] It should be noted that steps S220, S222, and S224 provide the user with additional information before the application is executed, but may be omitted since this may increase the user's workload.

[0153] With the above, the pre-application execution phase F200 ends.

[0154] [1.3.3 Application Execution Phase F300] Next, the application execution phase F300 will be described.

[0155] (Step S310) Upon receiving an instruction to start the application, the sequence manager 100 selects the first block (first block) from among multiple blocks included in the application. Then, the sequence manager 100 transmits an instruction to execute the selected first block to the device manager 200.

[0156] When multiple blocks are operated in succession, the sequence manager 100 may transmit execution instructions for the multiple blocks to the device manager 200 all at once.

[0157] Based on the execution instruction for the first block received from the sequence manager 100, the device manager 200 transmits an execution instruction for the first block to the device 300 allocated to the first block.

[0158] (Step S312) The device manager 200 receives the instruction to execute the first block and updates the schedule (scheduled use time) of each device.

[0159] (Step S314) Upon receiving the instruction to execute the first block, the device 300 executes the first block.

[0160] (Step S316) When the execution of the first block is completed, the device 300 transmits a completion notification to the device manager 200. If an error occurs during the execution of the first block, the device 300 may transmit error information to the device manager 200. Furthermore, the device 300 may transmit event information to the device manager 200 during the execution of the first block. As the event information, for example, a sensor output value or an equipment operation can be used, but is not limited to this. The device manager 200 transfers the completion notification and / or various information received from the device 300 to the sequence manager 100.

[0161] (Step S318) Upon receiving a completion notification of the first block, the sequence manager 100 updates the progress of the application and selects the next block (second block). Furthermore, when the sequence manager 100 receives error information, it executes a process corresponding to the error information (e.g., returning to the previous block, returning to the first block, waiting, etc.). Information on the process corresponding to the error information may be, for example, stored in the sequence manager 100 in advance, or may be received from the user via the UI 400. Furthermore, when the sequence manager 100 receives event information, it executes a process corresponding to the event information. For example, if the event information includes an output value of a water level sensor, the sequence manager 100 updates a water level parameter for displaying the water level included in the block being executed.

[0162] (Step S320) The sequence manager 100 sends an instruction to the device manager 200 to execute the selected second block.

[0163] The instruction to execute the second block may be directed to the same device as the instruction to execute the first block (S310), or may be directed to a different device.

[0164] Incidentally, the instruction to execute the second block may be transmitted to the device manager 200 in the form of a set of instructions to execute a plurality of blocks, similar to the instruction to execute the first block.

[0165] The subsequent processes are the same as those for the first block (S312 to S318), and therefore will not be illustrated or described. 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.

[0166] In this example, the execution of the blocks is instructed one by one in sequence, but this is not limiting. For example, the execution of multiple blocks to which the same device is assigned may be instructed collectively. In this case, it may be possible to check in advance whether each block satisfies the parameter range for function execution, or to download a block corresponding to a change to the device side before execution. Also, for example, an instruction to execute each block may be given to multiple devices.

[0167] [1.4 Effects, etc.] As described above, in this embodiment, an environment in which a wide variety of applications can be developed is provided by using an application including blocks and a rule database, and the actuator 22 that physically moves or the heater 23 that outputs thermal energy can be safely driven for the application freely developed in that environment. In other words, an environment in which applications can be freely developed is provided, and a function for ensuring safety independent of the application can be provided. As a result, for example, it becomes possible to develop a wide variety of applications with a high degree of freedom and a rule database for ensuring safety in parallel, making it possible to develop a wide variety of applications at an early stage.

[0168] Even after an application has been provided, it is possible to change the application to one that ensures greater safety by modifying the rule database. Even if it becomes necessary to improve a situation that the manufacturer did not anticipate in advance, it is possible to support all applications by updating the rule database, without having to modify the diverse and diverse applications themselves, because the rule database is defined independently of the applications.

[0169] It is also possible to maintain a rule base for error handling by detecting the state when the application is executed without modifying the application itself. However, this method of handling always involves dealing with an error after it has occurred, which means allowing situations where the home appliance is overloaded or where safety cannot be guaranteed. Therefore, it is possible to ensure safety by maintaining a rule database independent of the application and modifying the content of the application by referring to the rule data.

[0170] Washing machine 500 in this embodiment is capable of communicating with cloud server 10 (external device). Washing machine 500 includes communication unit 570 that receives an execution content declaration (laundry information) from cloud server 10, a washing function unit that performs washing-related operations on laundry based on the laundry information, and control device 550 that controls the washing function unit. The execution content declaration includes a plurality of blocks, each of which is control information related to parameters that control the operation of the washing function unit, and order information related to the order in which the plurality of blocks are executed. Control device 550 modifies the execution content declaration based on rules related to the washing order, and executes the control information included in the modified execution content declaration to cause the washing function unit to execute an operation based on the execution content declaration.

[0171] According to this, the washing function unit can be driven based on an application defined by a plurality of blocks. Therefore, it is possible to develop an application using a block that abstracts the control of the washing machine 500, and a wide variety of applications can be developed not only by manufacturers but also by third parties, and these applications can be easily executed by the washing machine 500. Furthermore, it is possible to correct the declaration of the execution content that is not permitted before the washing function unit is driven based on the application. Therefore, it is possible to prevent the washing function unit from executing an operation in an unpermitted order. In other words, even if an application developer mistakenly instructs the washing function unit to execute an operation in an unpermitted order, it is possible to prevent an application that cannot safely control the washing machine 500 from being executed. In addition, it is possible to prevent the washing machine 500 from operating inefficiently. Therefore, even if an application developer creates an application that places more importance on suitability to the user than on ensuring the safety of the washing function unit, it is possible to improve the safety of the washing machine 500 controlled by the application. In addition, it is possible to improve the operating efficiency of the washing machine 500 and reduce power consumption.

[0172] Also, for example, if the rules do not permit the execution of a first block included in the execution content declaration and a second block that is set in the order information to be executed after the first block, the control device 550 may add a third block to the execution content declaration as control information for the order to be executed after the first block.

[0173] According to this, if two blocks to be executed consecutively are not permitted, a third block can be added in the order between the two blocks, thereby preventing the washing function unit from executing the operations of the two blocks in an order that is not permitted.

[0174] Also, for example, when the rules do not permit the execution of a first block included in the execution content declaration and a second block that is set in the order information to be executed after the first block, the control device 550 may modify information regarding the parameters included in the first block or information regarding the parameters included in the second block.

[0175] According to this, if two blocks to be executed in succession are not permitted, information regarding a parameter contained in one of the two blocks can be modified, thereby preventing the washing function unit from executing the operations of the two blocks in an impermissible order.

[0176] Also, for example, when the rules do not permit the execution of a first block included in the execution content declaration and a second block set in the order information to be executed next after the first block, the control device 550 may restrict the execution of the second block.

[0177] According to this, if two blocks to be executed consecutively are not permitted, the execution of the second block can be restricted, thereby preventing the washing function unit from executing the operations of the two blocks in an order that is not permitted.

[0178] Also, for example, the first rule may not permit the first block to include a parameter related to the supply of water to water tub 502 of washing machine 500 and the second block to include a parameter controlling an operation executed in a water-prohibited environment. For example, the operation executed in a water-prohibited environment may include an operation that is not permitted to be executed when water is stored in water tub 502. This makes it possible to prevent the execution of an operation based on the second block that does not provide sufficient effect even if executed with water in water tub 502. This makes it possible to suppress unnecessary operations and reduce power consumption.

[0179] Also, for example, the second rule may not allow the first block to include a parameter related to heating inside water tub 502 of washing machine 500 and the second block to include a parameter controlling an operation performed in a heat-prohibiting environment. For example, the operation performed in a heat-prohibiting environment may include an operation that is not allowed to be performed when the temperature inside water tub 502 is equal to or higher than a predetermined temperature. Therefore, since it is possible to suppress the operation from being performed when the temperature inside water tub 502 is equal to or higher than a predetermined temperature, it is possible to reduce the adverse effect of the high-temperature environment inside water tub 502 on the outside of washing machine 500 and ensure safety.

[0180] Also, for example, the third rule may not allow the first block to include parameters related to the rotation of washing tub 503 in which water is stored, and the second block to include parameters controlling an operation performed in a forbidden environment. For example, an operation performed in a forbidden environment may include an operation that is not permitted to move the water surface in washing tub 503. Therefore, the operation of the second block can be controlled in a state where the shaking of the water surface is reduced, and therefore the operation of the second block can be effectively controlled.

[0181] Also, for example, the fourth rule may not allow the first block to include a parameter related to blowing air into washing tub 503 of washing machine 500 and the second block to include a parameter controlling an operation performed in a forbidden environment. Therefore, the operation of the second block can be controlled in a state where the swaying of the water surface is reduced, and therefore the operation of the second block can be effectively controlled.

[0182] Also, for example, the fifth rule may not allow the first block to include a parameter for rotating washing tub 503 of washing machine 500 at a first rotation, and the second block to include a parameter for rotating washing tub 503 at a second rotation different from the first rotation. For example, a first rotation speed in the first rotation may be different from a second rotation speed in the second rotation. Also, for example, a direction of the first rotation may be different from a direction of the second rotation. Therefore, it is possible to prevent operations at different rotations from being performed consecutively, and it is possible to effectively switch the rotation of washing tub 503.

[0183] Further, for example, when the first block includes a parameter related to supplying water to water tub 502 of washing machine 500 and the second block includes a parameter controlling an operation performed in a water-prohibited environment, control device 550 adds, to the execution content declaration, a third block including a parameter related to draining water from water tub 502 as control information of the order of execution between the first block and the second block, based on the first rule. Therefore, water tub 502 can be made into a water-prohibited environment by draining water before the operation performed in the water-prohibited environment is started, and the operation of the second block can be effectively executed.

[0184] Further, for example, when the first block includes a parameter related to supplying water to water tub 502 of washing machine 500 and the second block includes a parameter controlling an operation executed in a water-prohibited environment, control device 550 may modify the second block based on the first rule so as to add a parameter related to draining water from water tub 502 immediately before the parameter controlling the operation executed in the water-prohibited environment. Therefore, water tub 502 can be made into a water-prohibited environment by draining water before the operation executed in the water-prohibited environment is started, and the operation of the second block can be executed effectively.

[0185] Further, for example, when the first block includes a parameter related to heating inside water tub 502 of washing machine 500 and the second block includes a parameter controlling an operation performed in a heat-prohibited environment, control device 550 may add a third block including a parameter related to heat dissipation from water tub 502 to the execution content declaration as control information of the order of execution between the first block and the second block based on the second rule. Therefore, by dissipating heat before the operation performed in the heat-prohibited environment is started, the temperature of water tub 502 can be lowered to create a heat-prohibited environment, and the operation of the second block can be effectively executed.

[0186] Further, for example, when the first block includes a parameter related to heating inside water tub 502 of washing machine 500 and the second block includes a parameter controlling an operation performed in a heat-prohibited environment, control device 550 may modify the second block based on the second rule so as to add a parameter related to heat dissipation from water tub 502 immediately before the parameter controlling the operation performed in the heat-prohibited environment. Therefore, by dissipating heat before the operation performed in the heat-prohibited environment is started, the temperature of water tub 502 can be lowered to create a heat-prohibited environment, and the operation of the second block can be effectively executed.

[0187] Furthermore, for example, when a first block included in the execution content declaration and a second block set in the order information to be executed after the first block are overlapped based on the rule, the control device 550 may (i) delete the first block or the second block, or (ii) delete information on the parameters included in the first block or information on the parameters included in the second block. Thus, by deleting the blocks or parameters of the overlapping operations, it is possible to reduce the execution of unnecessary operations. Thus, it is possible to reduce power consumption.

[0188] Also, for example, in the device 20 of this embodiment, the control unit 24 may change the application by referring to the first rule and changing a parameter included in the first parameter range to a parameter included in a range in which driving of at least one of the actuator 22 and the heater 23 is permitted.

[0189] This makes it possible to change parameters falling within the first unacceptable parameter range to parameters falling within the acceptable range, so that, for example, an application developer can freely develop applications by lowering the priority of considering the safe operation of the actuator 22 and heater 23, and further, a developer of software incorporated into the device 20 that controls the actuator 22 and heater 23 can execute blocks without having to check the safety of each application each time, thereby preventing the actuator 22 and / or heater 23 from being operated with unacceptable parameters.

[0190] Also, for example, in device 20 of this embodiment, control unit 24 may change the application by referring to the first rule, changing parameters included in the first parameter range to parameters included in a range in which driving of at least one of actuator 22 and heater 23 is permitted, and adding a new block to the multiple blocks.

[0191] According to this, the parameters included in the first unacceptable parameter range can be changed to parameters included in the acceptable range, so that it is possible to prevent the actuator 22 and / or the heater 23 from being driven with unacceptable parameters. Furthermore, since a new block can be added, it is also possible to supplement the functionality that has been reduced by changing the parameters with the new block.

[0192] Also, for example, in device 20 according to the present embodiment, control unit 24 may change the application by deleting a block having a parameter included in the first parameter range.

[0193] This makes it possible to delete blocks having parameters included in the first unacceptable parameter range, thereby preventing the actuator 22 and / or the heater 23 from being driven with unacceptable parameters. For example, when the actuator 22 and the heater 23 cannot execute the parameters specified by the application developer in the first place, the deletion can be performed to control the device without confusion. Meanwhile, the user may be notified that the parameters have been deleted.

[0194] Also, for example, in device 20 of this embodiment, control unit 24 may refer to a first rule to determine whether each of multiple parameters included in multiple blocks is included in a first parameter range, and if it is determined that a parameter is included in the first parameter range, change the block having the parameter.

[0195] This makes it possible to more reliably change blocks having parameters that fall within the first unacceptable parameter range.

[0196] Also, for example, in device 20 according to the present embodiment, the application may include information on the order in which each of the multiple blocks is executed and information on the timing at which each of the multiple blocks is executed. The information on the timing of each block indicates, for example, the time between the start timing of the block and the start or end timing of another block (for example, the first block).

[0197] This allows the application to include order and timing information, and allows sequential decision-making and execution while checking the parameter ranges of each block.

[0198] Also, for example, in the device 20 of the present embodiment, the first parameter range may be a parameter range that causes at least one of the actuator 22 and the heater 23 to reach a durable temperature.

[0199] This makes it possible to prevent the actuator 22 and / or the heater 23 from reaching their durable temperature when the application is executed, thereby improving the safety of the device 20 controlled by the application.

[0200] Also for example, device 20 in the present embodiment may include housing 21 having an internal space, and the first parameter range may be a parameter range that causes the internal space to reach a durable temperature.

[0201] This makes it possible to prevent the internal space of the housing 21 from reaching a durable temperature when the application is executed, thereby improving the safety of the device 20 controlled by the application.

[0202] (Modification of the first embodiment) In the above-mentioned first embodiment, the processing of the system 1 has been described with reference to Fig. 7, but the processing flow is not limited to this. In particular, for the pre-execution check (S216) described in detail, the timing and the module that is the subject of the pre-execution check are not limited to this. Therefore, some modified examples of the sequence diagram of the system 1 will be specifically described with reference to Figs. 21A to 21E.

[0203] Fig. 21A is a sequence diagram of the system 1 in Variation 1 of Embodiment 1. In Fig. 21A, the pre-execution check (S216) is performed by the device 300 immediately before the device 300 receives an execution instruction (S310) and executes a block (S314).

[0204] This allows the software built into the device 300 to have a simple configuration in which a pre-execution check is performed immediately before the execution of a block. In other words, steps S215 and S217 can be omitted. As a result, it becomes unnecessary to build functions and communication APIs for performing these processes into the device 300, and it becomes possible to reduce the memory usage of the microcomputer mounted on the device 300.

[0205] The result of the pre-execution check may be notified to the device manager 200 and / or the UI 400. For example, when a parameter is changed or an instruction to stop execution of a block is issued as a result of the pre-execution check, the check result may be notified to the device manager 200 or the UI 400.

[0206] Fig. 21B is a sequence diagram of the system 1 in the modification 2 of the embodiment 1. In Fig. 21B, the pre-execution check (S216) is performed by the device manager 200 when the device manager 200 performs the allocation result notification (S218).

[0207] As a result, the software built into the device 300 does not need to include the function of the pre-execution check (S216). This makes it possible to reduce the use of memory in the device 300, leading to a reduction in the cost of the device 300.

[0208] In addition, in the above embodiment 1, the block execution (S314) by the device 300 is described as being performed based on instructions from the sequence manager 100 implemented in the cloud server 10, but the form in which the block execution (S314) is performed is not limited to this.

[0209] For example, the notification content from the sequence manager 100 may be stored in a memory in the device 300, and a block may be executed in response to a direct instruction from a user via a UI of the apparatus 20 or a UI 400 of the terminal 30. In other words, an application may be downloaded into the device, and the user may execute the application at any timing.

[0210] Fig. 21C is a sequence diagram of the system 1 in Modification 3 of the embodiment 1. In Fig. 21C, in the application execution phase F300, the sequence manager 100 notifies the device 300 of one or more blocks to be executed by the device 300 (S310C). Then, the device 300 stores the notified one or more blocks in memory (S311C).

[0211] Thereafter, the device 300 receives an instruction from the user to execute one or more stored blocks (S312C), and executes the one or more blocks in order starting from the first block (S314).

[0212] As described above, by storing the blocks in the device 300, the device 300 can be controlled without communication between the device manager 200 and the device 300, thereby reducing the risk that the operation of the device 300 will stop or be delayed due to unstable communication between the cloud server 10 and the apparatus 20. Therefore, this modification is more effective in an environment where the reliability of communication with the cloud server 10 is low and / or for a device 300 where a stop or delay in the operation of the device during the execution of an application cannot be tolerated.

[0213] In addition, in the third modification, as in the first embodiment, the pre-execution check (S216) has an important meaning, but the timing and the module that is the subject of the pre-execution check (S216) are not limited to those shown in Fig. 21C. In other words, the third modification may be combined with the first or second modification.

[0214] Fig. 21D is a sequence diagram of the system 1 in Modification 4 of the embodiment 1. Modification 4 corresponds to a combination of Modification 1 and Modification 3. In Modification 4, as shown in Fig. 21D, the pre-execution confirmation (S216) is performed by the device 300 immediately before the device 300 receives an execution instruction (S312C) and executes a block (S314).

[0215] When a block is downloaded to the device 300 and the user executes the block at a timing of his / her choice, there is a high possibility that the timing of downloading the block and the timing of executing the block will differ significantly. That is, the block may be executed several days, several months, or several years after the block is downloaded to the device 300. In that case, the deterioration level of the device 300 may change between the time the block is downloaded and the time the block is executed. Therefore, in the device 300 in which the execution of the block is affected by the deterioration level, the device 300 performs a pre-execution check immediately before the block is executed, thereby enabling the pre-execution check according to the deterioration level.

[0216] Fig. 21E is a sequence diagram of the system 1 in Modification 5 of the embodiment 1. Modification 5 corresponds to a combination of Modification 2 and Modification 3. In Modification 5, as shown in Fig. 21E, the pre-execution check (S216) is performed by the device manager 200 directly when the device manager 200 performs the allocation result notification (S218).

[0217] (Embodiment 2) Next, a description will be given of embodiment 2. In this embodiment, the main difference between the embodiment and the above embodiment 1 is that the pre-execution confirmation is skipped if the application has already been authenticated. The following description will focus on the differences between the embodiment and the above embodiment 1.

[0218] It should be noted that the hardware configuration and functional configuration of the system 1 in this embodiment are similar to those in the above-described first embodiment, and therefore illustration and description thereof will be omitted.

[0219] [2.1 Processing] In this embodiment, the process is the same as that of the above-mentioned embodiment 1, except that step S216 of the pre-execution confirmation in the above-mentioned embodiment 1 is replaced by step S216A. Therefore, step S216A of the pre-execution confirmation process will be described with reference to FIG.

[0220] FIG. 22 shows a flowchart of the pre-execution confirmation process in the second embodiment.

[0221] (Step S2161A) The device 300 acquires application authentication information. The application authentication information includes information indicating that an application has been authenticated if the application has been authenticated.

[0222] Application authentication is, for example, a mechanism for guaranteeing the quality of an application, and enables confirmation of the safety and / or identity (that the application has not been tampered with), etc. An example of an application to which authentication information is assigned will be described. When the change history of the application's code indicates that no changes have been made to the parameter ranges, information indicating that the application has been authenticated is associated with the application.

[0223] (Step S2162A) The device 300 determines whether the application has been authenticated based on the acquired app information. If it is determined that the application has been authenticated (Yes in S2162A), the device 300 skips the following steps S2165 to S2167 and ends the pre-execution confirmation process. On the other hand, if it is determined that the application has not been authenticated (No in S2162A), the device 300 proceeds to the next step S2165.

[0224] [2.2 Effects, etc.] As described above, the device 20 in this embodiment includes at least one of the actuator 22 and the heater 23, and a control unit 24 that controls at least one of the actuator 22 and the heater 23. The control unit 24 acquires an application defined by a plurality of blocks that drive at least one of the actuator 22 and the heater 23 and includes information indicating whether or not the application has been authenticated, and each of the plurality of blocks has parameters for driving the actuator 22 or the heater 23. If the application does not include information indicating that it is authenticated, the control unit 24 modifies the application by modifying at least one of the plurality of blocks by referring to a first rule that defines a first parameter range in which driving of at least one of the actuator 22 and the heater 23 is not permitted, and at least one of the plurality of blocks has parameters that fall within the first parameter range, and drives at least one actuator 22 based on the modified application.

[0225] According to this, the actuator 22 and / or the heater 23 can be driven based on an application defined by a plurality of blocks. Therefore, it is possible to develop an application using a block that abstracts the control of the device 20, and it is possible to easily execute a wide variety of applications developed in this way on the device 20. Furthermore, before the actuator 22 and / or the heater 23 are driven based on the application, the block having a parameter included in the first parameter range that is not permissible can be changed. Therefore, it is possible to prevent the actuator 22 and / or the heater 23 from being driven with an unpermissible parameter. In other words, it is possible to prevent an application that cannot safely control the device 20 from being executed, and it is possible to improve the safety of the device 20 controlled by the application. Furthermore, when the application has not been authenticated, a process involving a change of the application can be performed, and when the application has been authenticated, it is possible to reduce the processing load. Therefore, it is not necessary to perform a process of determining the parameter range for all applications, and management by performing authentication reduces the processing load and provides a standard for designing the parameter range, which allows application developers to design more easily and safely.

[0226] Also, for example, in the device 20 according to the present embodiment, when the device 20 has information indicating that the application has been authenticated, the application does not need to be changed without referring to the first rule.

[0227] According to this, if the application has been authenticated, the process for changing the block can be skipped, and the processing load can be reduced.

[0228] (Embodiment 3) Next, a description will be given of embodiment 3. In this embodiment, the main difference between the embodiment and the first embodiment is that the pre-execution confirmation is skipped when the creator of the application and the creator of the device are the same. The following description will focus on the differences between the embodiment and the first embodiment.

[0229] It should be noted that the hardware configuration and functional configuration of the system 1 in this embodiment are similar to those in the above-described first embodiment, and therefore illustration and description thereof will be omitted.

[0230] [3.1 Processing] In this embodiment, the process is the same as that of the above-mentioned embodiment 1, except that step S216 of the pre-execution confirmation in the above-mentioned embodiment 1 is replaced by step S216B. Therefore, step S216B of the pre-execution confirmation process will be described with reference to FIG.

[0231] FIG. 23 shows a flowchart of the pre-execution confirmation process in the third embodiment.

[0232] (Step S2161B) The device 300 acquires application creator information. The application creator information indicates the creator of the application. The creator means a company, individual, or organization that created the application, and may also be called a developer or author.

[0233] (Step S2163B) The device 300 acquires device manufacturer information. The device manufacturer information indicates the manufacturer of the device. The manufacturer means a company, individual, or organization that manufactured the device 300 (i.e., the apparatus 20), and may also be called a manufacturer.

[0234] (Step S2164B) The device 300 determines whether the creator of the application is different from the creator of the device 300. When the creator of the application is an individual and the creator of the device 300 is a company, the device 300 may determine that the creator of the application is the same as the creator of the device 300 if the company to which the creator of the application belongs matches the creator of the device 300. Furthermore, the device 300 may determine that the creator of the application is the same as the creator of the device 300 if the creator of the application is a development contractor of the creator of the device 300.

[0235] If the creator of the application and the creator of the device 300 are the same (No in S2164B), the device 300 skips the following steps S2165 to S2167 and ends the pre-execution confirmation process. On the other hand, if the creator of the application and the creator of the device 300 are different (Yes in S2164B), the device 300 proceeds to the next step S2165.

[0236] [3.2 Effects, etc.] As described above, the device 20 in this embodiment includes at least one of the actuator 22 and the heater 23, and a control unit 24 that controls at least one of the actuator 22 and the heater 23. The control unit 24 acquires an application defined by a plurality of blocks that drive at least one of the actuator 22 and the heater 23 and includes information indicating a creator, each of the plurality of blocks having parameters for driving the actuator 22 or the heater 23, acquires information indicating the creator of the device 20, and, if the creator of the application is different from the creator of the device 20, modifies the application by changing at least one of the plurality of blocks with reference to a first rule that defines a first parameter range in which driving of at least one of the actuator 22 and the heater 23 is not permitted, and at least one of the plurality of blocks has parameters included in the first parameter range, and drives at least one of the actuator 22 and the heater 23 based on the modified application.

[0237] According to this, the actuator and / or heater can be driven based on an application defined by a plurality of blocks. Therefore, it is possible to develop an application using a block that abstracts the control of the device 20, and it is possible to easily execute a wide variety of applications developed in this way on the device 20. Furthermore, before the actuator 22 and / or the heater 23 are driven based on the application, the block having a parameter included in the first unacceptable parameter range can be changed. Therefore, it is possible to prevent the actuator 22 and / or the heater 23 from being driven with an unacceptable parameter. In other words, it is possible to prevent an application that cannot safely control the device 20 from being executed, and it is possible to improve the safety of the device 20 controlled by the application. Furthermore, when the creator of the application and the manufacturer of the device 20 are different, it is possible to perform processing involving a change in the application, and when the creator of the application and the manufacturer of the device 20 are the same, it is possible to reduce the processing load.

[0238] (Embodiment 4) Next, a fourth embodiment will be described. In this embodiment, the main difference is that a pre-execution check is performed using a rule corresponding to the deterioration level of the device. The following describes this embodiment, focusing on the differences from the first embodiment.

[0239] It should be noted that the hardware configuration and functional configuration of the system 1 in this embodiment are similar to those in the above-described first embodiment, and therefore illustration and description thereof will be omitted.

[0240] [4.1 Processing] In this embodiment, the process is the same as that of the above-mentioned embodiment 1, except that step S216 of the pre-execution confirmation in the above-mentioned embodiment 1 is replaced by step S216C. Therefore, step S216C of the pre-execution confirmation process will be described with reference to FIG.

[0241] FIG. 24 shows a flowchart of the pre-execution confirmation process in the fourth embodiment.

[0242] (Step S2163C) The device 300 acquires device deterioration information. The device deterioration information indicates a deterioration level of the actuator 22 and / or the heater 23 included in the apparatus 20. There are no particular limitations on the method for detecting the deterioration level, and the deterioration level may be detected by a sensor, for example.

[0243] (Step S2165C) The device 300 obtains a rule corresponding to the deterioration level. For example, the device 300 refers to a rule database to obtain a parameter range corresponding to the deterioration level of the actuator 22 or the heater 23 that the block drives.

[0244] Fig. 25 shows an example of a rule database in the fourth embodiment. Rules 1401C to 1404C are registered in rule database 1400C in Fig. 25. Each of rules 1401C to 1404C has a parameter range that defines an unacceptable range. For example, rule 1401C has a range of more than 1000 rpm as an unacceptable range for motor MM0001 of deterioration level 0. For example, rule 1402C has a range of more than 800 rpm as an unacceptable range for motor MM0001 of deterioration level 1. In other words, rule 1402C has a wider unacceptable range and a narrower acceptable range than rule 1401C.

[0245] Each of the rules 1401C to 1404C further includes a type, a manufacturer name, an actuator / heater, and a deterioration level. This allows the device 300 to acquire a rule corresponding to the deterioration level of the actuator 22 or the heater 23 driven in the block from the rule database 1400C. For example, when the deterioration level of the motor MM0001 driven in the block of the spin-drying operation is 0, the device 300 acquires the rule 1401C for the spin-drying block by referring to the rule database 1400C in FIG. 25.

[0246] The items that determine the deterioration level are, for example, the number of times the actuator 22 and / or heater 23 included in the device 300 have been used, the duration of use, or the number of days of use from the start of operation to the present. These items are expected to increase in a roughly proportional relationship with the user's use. Therefore, a rule is determined such that the deterioration level increases as the value corresponding to the item increases.

[0247] Furthermore, items that determine the deterioration level are, for example, the sum of the temperatures of the heater 23, or the degree of reproduction of the input and output of the actuator 22 and / or the heater 23. The sum of the temperatures of the heater 23 is a value obtained by adding the temperatures when the heater 23 is driven. For example, the average temperature, the intermediate temperature, or the maximum temperature of the heater 23 during block execution is used. The temperature of the heater 23 may be a ratio of the execution temperature to the limit temperature of the heater 23, or a difference of the execution temperature to the limit temperature of the heater 23.

[0248] The degree of reproduction of the input and output of the actuator 22 and / or the heater 23 is obtained by referring to the relationship between the input value for driving the actuator 22 and / or the heater 23 and the output of the actuator 22 and / or the heater 23. The ratio of the actual output value for a given input to the output value defined in the relationship is used.

[0249] [4.2 Effects, etc.] As described above, the device 20 in this embodiment includes at least one of the actuator 22 and the heater 23, and the control unit 24 that controls the at least one of the actuator 22 and the heater 23. The control unit 24 acquires an application defined by a plurality of blocks that drive the at least one of the actuator 22 and the heater 23, each of the plurality of blocks having parameters for driving the actuator 22 or the heater 23, acquires deterioration information indicating whether or not the at least one of the actuator 22 and the heater 23 is deteriorated, and, if the deterioration information indicates that the at least one of the actuator 22 and the heater 23 is not deteriorated, sets a first rule that defines a first parameter range within which driving of the at least one of the actuator 22 and the heater 23 is not permitted. The application is modified by modifying at least one first block included in the plurality of blocks, the at least one first block having a parameter included in a first parameter range, and if the degradation information indicates that at least one of the actuator 22 and the heater 23 is degraded, the application is modified by modifying at least one second block included in the plurality of blocks, the at least one second block having a parameter included in the second parameter range, and at least one of the actuator 22 and the heater 23 is driven based on the modified application, with reference to a second rule defining a second parameter range different from the first parameter range, in which driving of at least one of the actuator 22 and the heater 23 is not permitted.

[0250] According to this, the actuator 22 and / or the heater 23 can be driven based on an application defined by a plurality of blocks. Therefore, it is possible to develop an application using blocks that abstract the control of the device 20, and it is possible to easily execute a wide variety of applications developed in this way on the device 20. Furthermore, before the actuator 22 and / or the heater 23 are driven based on the application, the block having a parameter included in the first unacceptable parameter range can be changed. Therefore, it is possible to prevent the actuator 22 and / or the heater 23 from being driven with an unacceptable parameter. In other words, it is possible to prevent an application that cannot safely control the device 20 from being executed, and the safety of the device 20 controlled by the application can be improved. Furthermore, it is possible to use different parameter ranges according to the deterioration information of the device 20, and by using blocks, it is possible to execute a drive instruction to the actuator 22 and / or the heater 23 from the application side while taking into account the performance of the device that deteriorates over time, and to further improve the safety of the device 20 controlled by the application.

[0251] (Embodiment 5) In the above-mentioned first to fourth embodiments, the blocks included in an application that has already been distributed are changed before the application is executed. In the present embodiment, the timing at which the blocks included in the application are changed is before the application is distributed, that is, at the stage at which the application is developed or produced, and in this respect, the present embodiment differs from the above-mentioned first to fourth embodiments. Hereinafter, the present embodiment will be described in detail, focusing on the differences from the above-mentioned first to fourth embodiments. Note that the present embodiment may be the same as the above-mentioned first to fourth embodiments, except for the timing at which the blocks are changed. Furthermore, among the components in the present embodiment, the same components as those in the first to fourth embodiments are denoted by the same reference numerals as those in the first to fourth embodiments, and detailed description thereof will be omitted.

[0252] [5.1 Configuration] FIG. 26 is a diagram illustrating an example of the configuration of an information processing system used for developing an application.

[0253] The information processing system 2000 includes a block database 41, a rule database 42, a development tool 50, a plurality of devices 20 and a plurality of terminals 30, an application providing server 60, and a sequence manager 100. For example, these components included in the information processing system 2000 are connected via a communication network such as the Internet.

[0254] The block database 41 is also called a block DB, and is a recording medium storing a block list including a plurality of functional blocks. These functional blocks are also called blocks, as in the first to fourth embodiments. The rule database 42 is also called a rule DB, and is a recording medium storing a plurality of rules. The rule database 42 may be the same as the rule database 1400 shown in FIG. 11, for example. These recording media are a hard disk, a RAM (Read Only Memory), a ROM (Random Access Memory), a semiconductor memory, or the like. Such recording media may be volatile or non-volatile.

[0255] The development tool 50 is a computer system including, for example, a processor 51, a memory 52, a display 53, and an input unit 54. The processor 51 executes each process described below by executing, for example, instructions or software programs stored in the memory 52, and displays characters or images on the display 53. The display 53 is, for example, a liquid crystal display, a plasma display, an organic EL (Electro-Luminescence) display, etc., but is not limited thereto. The input unit 54 is, for example, configured as a keyboard, a touch sensor, a touch pad, or a mouse. Such a development tool 50 is used, for example, by an application developer to generate a sequence or an application including a plurality of function blocks. In this embodiment, the development tool 50 is an example of an information processing device.

[0256] The application providing server 60 acquires the application generated by the development tool 50 from the development tool 50 via a communication network and holds the application. Then, the application providing server 60 downloads the held application to the sequence manager 100 in response to an instruction from the UI 400 provided in the terminal 30.

[0257] Fig. 27A is a diagram showing an example of information stored in the block database 41. Fig. 27B is a diagram showing an example of information stored in the rule database .

[0258] As shown in Fig. 27A, block database 41 stores a list of functional blocks for driving a washing machine as the above-mentioned block list. For example, block list 41a is stored. Block list 41a includes functional blocks 1000, 1010, 1020, and 1030 for driving a washing machine. These functional blocks may be the same as or similar to the blocks in the above-mentioned first to fourth embodiments.

[0259] As shown in Fig. 27B, rule database 42 stores a rule group consisting of at least one rule that is applied to a washing machine. For example, rule group 42a is stored. Rule group 42a includes rules R1000, R1010, R1020, and R1030 that are applied to a washing machine. These rules may be the same as or similar to the rules in the above-mentioned first to fourth embodiments.

[0260] Here, each of the washing machine rules R1010, R1020, and R1030 is, for example, a dedicated rule applied to a washing machine of a predetermined model manufactured by a predetermined manufacturer. Specifically, each of the dedicated rules R1010, R1020, R1030, etc. may be, for example, rules 1401 to 1405 shown in FIG.

[0261] On the other hand, the rule R1000 for a washing machine is, for example, a general rule for washing machines that can be applied to each of a plurality of types of washing machines.

[0262] FIG. 28 is a diagram showing an example of a general rule contained in the rule database 42. As shown in FIG.

[0263] The group of rules 42a for washing machines stored in the rule database 42 may include, for example, a general rule R1000 shown in (a) of FIG. 28. This general rule R1000 indicates a parameter range (500 rpm, +∞) applicable to each of a plurality of types of washing machines. The plurality of types of washing machines include washing machines provided by a plurality of manufacturers. In addition, if each manufacturer provides a plurality of types of washing machines, the plurality of types of washing machines include the plurality of types of washing machines. In other words, the parameter range, which is a rule indicated in the general rule R1000, is applied to any washing machine regardless of the manufacturer and the type. The parameter range may define an unacceptable range, as in the first to fourth embodiments. For example, the general rule R1000 indicates a range greater than 500 rpm as an unacceptable range. Also, the unacceptable range may be, for example, a parameter range that causes the internal space of the housing 21, the actuator 22, or the heater 23 to reach a durable temperature, as in the first to fourth embodiments.

[0264] Furthermore, the general rule R1000 for that washing machine may indicate parameter ranges that apply to washing machines from multiple manufacturers, as shown in (b) of Fig. 28. For example, the general rule R1000 indicates a parameter range (800 rpm, +∞) that applies to multiple models of washing machines provided by manufacturer "Company A" and a parameter range (600 rpm, +∞) that applies to multiple models of washing machines provided by manufacturer "Company B".

[0265] The general rule may be set to different rules depending on the type of structure of the washing machine. The type of structure of the washing machine may be, for example, a vertical washing machine in which the rotation axis of the washing tub is aligned in the vertical direction, and a drum washing machine in which the rotation axis of the washing tub crosses the vertical direction. In this way, since the washing method differs greatly depending on the type of structure of the washing machine, different general rules may be set for each type of structure of the washing machine. For example, the general rule for vertical washing machines may be commonly applied to all manufacturers if the washing machine is a vertical washing machine, and the general rule for drum washing machines may be commonly applied to all manufacturers if the washing machine is a drum washing machine. In addition, the dedicated rule may be set to different rules depending on the type of structure of the washing machine.

[0266] 5.2 Processing FIG. 29 is a sequence diagram of the information processing system 2000.

[0267] (Step S11) First, the development tool 50 installs one or more function blocks. Specifically, the development tool 50 acquires one or more function blocks from the block database 41 by downloading them. For example, the development tool 50 may acquire a block list 41a of a washing machine, or may acquire only some of the function blocks in the block list 41a. Then, the development tool 50 makes the acquired one or more function blocks available for generating a sequence.

[0268] Here, each function block stored in the block database 41 may be added with device information corresponding to the function block. This device information indicates, for example, the manufacturer, type, model, or model number of the device 20 that is driven according to the function block corresponding to the device information. Therefore, the development tool 50 may download one or more function blocks based on the device information. For example, the development tool 50 may download one or more function blocks for driving each device 20 provided by the same manufacturer, or may download one or more function blocks for driving each device 20 used for heating food.

[0269] (Step S12) Next, the development tool 50 generates a sequence. Specifically, the development tool 50 generates a sequence using one or more downloaded function blocks in response to an input operation by an operator to the input unit 54. The operator may be a developer of an application that is a sequence. In this embodiment, the development tool 50 refers to the above-mentioned rules in step S12 and modifies the application based on the rules.

[0270] (Step S13) Next, the development tool 50 uploads the generated sequence. Specifically, the development tool 50 generates transmission information for transmitting the generated sequence to the application providing server 60 based on the contents of the sequence in response to an input operation by the operator on the input unit 54, and transmits the transmission information to the application providing server 60. This transmission information may be, for example, JSON (JavaScript Object Notation) or the like. As a result, the sequence is transmitted to the application providing server 60 and stored in the application providing server 60 as an application.

[0271] (Step S14) Next, the user of the terminal 30 operates the UI 400 of the terminal 30 to access the application providing server 60 and view a list of applications stored in the application providing server 60. Then, the UI 400 selects an application from the list in response to the user's operation, and requests the application providing server 60 to download the application.

[0272] (Step S15) When the application providing server 60 receives a download request from the UI 400, it downloads the selected application to the sequence manager 100 associated with that user.

[0273] Fig. 30 is a flowchart showing the overall processing operation of the development tool 50. Specifically, the flowchart shown in Fig. 30 shows detailed processing operations of steps S11 and S12 in the sequence of Fig. 29.

[0274] (Step S21) The development tool 50 first installs a plurality of function blocks for driving a washing machine 500, for example.

[0275] (Step S22) Next, the development tool 50 performs a process of arranging the function blocks in response to an input operation by the operator to the input unit 54. That is, the development tool 50 displays the multiple function blocks installed in step S21 on the display 53, and selects one function block from the multiple displayed function blocks in response to an input operation by the operator to the input unit 54. Then, the development tool 50 arranges the function block in a selected block area in a sequence generation screen on the display 53 in response to an input operation by the operator to the input unit 54. The sequence generation screen will be described later with reference to FIG. 33. That is, the operator drags and drops one of the multiple function blocks into the selected block area.

[0276] (Step S23) Next, the development tool 50 performs parameter setting processing for the functional block arranged in step S22 in response to an input operation by the operator to the input unit 54. That is, the development tool 50 displays a reception image for receiving the contents of the parameters used for the functional block in the parameter setting area of ​​the above-mentioned sequence generation screen. Then, in response to an input operation by the operator to the input unit 54, the development tool 50 receives the contents of the parameters and displays the contents of the parameters in the parameter setting area. In this way, the parameters are set for the functional block. Note that initial values ​​may be set in advance for the parameters of the functional block.

[0277] (Step S24) Next, development tool 50 refers to the rule applied to washing machine 500, and determines whether or not the parameter set in step S23 is outside the parameter range indicated in the rule, that is, outside the unacceptable range.

[0278] (Step S25) When the development tool 50 determines in step S24 that the parameter is not outside the unacceptable range (No in step S24), the development tool 50 performs a parameter setting support process. In this parameter setting support process, the development tool 50 performs an error presentation process for presenting an error to the operator, or an automatic parameter correction process. In the automatic parameter correction process, the development tool 50 changes the parameter in the unacceptable range to a parameter within the acceptable range, thereby changing the functional block. In the error presentation process, the development tool 50 displays, for example, a message indicating that the parameter set in the immediately preceding step S23 is within the unacceptable range as an error on the display 53, and prompts the operator to change the parameter. Then, after the process of step S25 is performed, the development tool 50 repeats the process from step S23.

[0279] In addition, when the process of step S23 is performed after the automatic correction process of the parameters is performed in step S25, in that step S23, the development tool 50 displays the parameters changed by the automatic correction process in the parameter setting area. On the other hand, when the process of step S23 is performed after the error presentation process is performed in step S25, in that step S23, the development tool 50 again accepts the contents of the parameters in response to the input operation by the operator to the input unit 54, as described above. As a result, the parameters for that function block are changed. In other words, the function block is changed.

[0280] The parameters of the functional blocks may be set to fixed values, in which case the development tool 50 does not need to perform the processes of steps S24 and S25.

[0281] (Step S26) When the development tool 50 determines in step S24 that the parameter is outside the non-allowable range (Yes in step S24), the development tool 50 further determines whether or not the connection of the functional block placed in step S22 is permitted. For example, in step S22, the functional block is placed immediately before or after an existing block, which is another functional block already placed in the selected block area. As a result, the functional block is placed in a state of being connected to the existing block. That is, the functional block is placed so that the processing of the device 20 by the functional block and the processing of the device 20 by the existing block are executed consecutively. In this case, the development tool 50 determines whether or not the connection of the functional block and the existing block is permitted by referring to the connection rule applied to the washing machine 500. That is, the development tool 50 determines whether or not the connection of the first block and the second block is permitted by determining whether or not the execution of the second block following the first block is permitted, similarly to step S2166 in the first embodiment. The connection rule may be, for example, rules 1401 to 1405 shown in FIG. 11.

[0282] (Step S27) When the development tool 50 determines in step S26 that the connection is not permitted (No in step S26), the development tool 50 performs a connection support process. In this connection support process, the development tool 50 performs an error presentation process that presents an error to the operator, or an automatic connection correction process. Then, the development tool 50 repeats the process from step S22. In the automatic connection correction process in step S27, for example, the same process as step S2167 in the first embodiment may be performed.

[0283] If the process of step S22 is performed after the automatic connection correction process is performed in step S27, then in step S22 the development tool 50 displays in the selected block area two or more function blocks reconnected by the automatic correction process. On the other hand, if the process of step S22 is performed after the error presentation process is performed in step S27, then in step S22 the development tool 50 again rearranges the function blocks in response to an input operation by the operator to the input unit 54, as described above. If the processes of steps S27 to S22 are repeated, then the development tool 50 may skip the processes of steps S23 to S25 following step S22, since the parameters of the function blocks have already been set within the allowable ranges.

[0284] (Step S28) When the development tool 50 determines in step S26 that the connection is permitted (Yes in step S26), it further determines whether or not the generation of the sequence is complete in response to an input operation by the operator to the input unit 54. Here, when the development tool 50 determines that the generation of the sequence is not complete (No in step S28), it repeats the processing from step S22. At this time, the development tool 50 selects a new block from the multiple blocks installed in step S21 in response to an input operation by the operator to the input unit 54, and places the new block in the selected block area described above.

[0285] (Step S29) When the development tool 50 determines in step S28 that the generation of the sequence is completed (Yes in step S28), the development tool 50 further determines whether the flow of the entire generated sequence is permitted. For example, in the sequence, a second functional block is placed before or after a first functional block. On the other hand, the combination rule applied to the washing machine 500 does not permit the combination of the first functional block and the second functional block. In such a case, the development tool 50 determines that the flow of the entire generated sequence is not permitted. Alternatively, the combination rule applied to the washing machine 500 requires that the second functional block be placed before or after the first functional block. In such a case, the development tool 50 determines that the flow of the entire generated sequence is permitted.

[0286] (Step S30) When the development tool 50 determines in step S29 that the flow of the entire sequence is not permitted (No in step S29), it performs a placement support process. In this placement support process, the development tool 50 performs an error notification process that notifies the operator of an error, or an automatic correction process for the placement of the functional blocks. Then, the development tool 50 repeats the process from step S22.

[0287] In addition, when the process of step S22 is performed after the automatic correction process of the placement is performed in step S30, in step S22, the development tool 50 displays two or more function blocks rearranged by the automatic correction process in the selected block area. In addition, when the processes of steps S30 to S22 are repeated, the development tool 50 may skip the processes of steps S23 to S25 after step S22, since the parameters of the function blocks have already been set within the allowable ranges. In addition, the development tool 50 may skip the processes of steps S26 and S27, since the connection of the function blocks has already been permitted. Furthermore, the development tool 50 may also skip the process of step S28.

[0288] The development tool 50 may skip the processes of steps S29 and S30.

[0289] FIG. 31 is a flowchart showing an example of the automatic parameter correction process.

[0290] In the example shown in Fig. 30, each time one functional block is selected and placed, a determination and an automatic correction process are performed on the parameters of the functional block. However, the present disclosure is not limited to this example, and the development tool 50 may perform each process according to the flowchart shown in Fig. 31.

[0291] (Step S41) Development tool 50 selects, for example, M (M is an integer not less than 1 and not more than N) functional blocks from N (N is an integer not less than 2) functional blocks for driving washing machine 500 in response to an input operation by the operator to input unit 54. In other words, development tool 50 selects each of M functional blocks as a selected block from N functional blocks for driving at least one of actuator 22 and heater 23 provided in washing machine 500, which is the device to be controlled, in response to an input operation by the operator to input unit 54.

[0292] (Step S42) Next, the development tool 50 generates a sequence, i.e., an application, by setting parameters for each of the selected M functional blocks. That is, the development tool 50 generates an application defined by the M selected blocks by setting parameters for driving the actuator 22 or the heater 23 for each of the M selected blocks in accordance with an input operation by an operator to the input unit 54.

[0293] (Step S43) Next, the development tool 50 refers to the rules applied to the washing machine 500. For example, when the application generated in step S42 is applied to a plurality of types of washing machines, the development tool 50 refers to the general-purpose rule R1000. When the application generated in step S42 is applied to a washing machine of a certain type, the development tool 50 refers to the rules associated with the washing machine 500 of that type among the dedicated rules R1010, R1020, and R1030. That is, the development tool 50 judges whether the application generated in step S42 is an application dedicated to the controlled device or a general-purpose application applied to the controlled device and devices other than the controlled device. Then, the development tool 50 refers to a rule candidate according to the judgment result of the application, among a plurality of rule candidates each defining a parameter range in which the driving of at least one of the actuator 22 and the heater 23 is not permitted, as the above-mentioned rule.

[0294] (Step S44) Then, the development tool 50 determines whether or not the parameters of each of the M functional blocks set in step S42 are within the unacceptable range indicated by the above-mentioned rule.

[0295] (Step S45) Here, when the development tool 50 determines that the parameter is included in the unacceptable range (Yes in step S44), it changes the function block having the parameter. That is, the development tool 50 changes the application by changing at least one of the M selected blocks, with reference to a rule that defines a parameter range in which driving of at least one of the actuator 22 and the heater 23 is not permitted. Here, at least one of the M selected blocks has a parameter included in the parameter range.

[0296] (Step S46) The development tool 50 then outputs the modified application.

[0297] FIG. 32 is a flowchart illustrating an example of a parameter error presentation process.

[0298] In the example shown in Fig. 30, each time one functional block is selected and placed, a determination is made on the parameters of the functional block and an error display process is performed. However, the present disclosure is not limited to this example, and the development tool 50 may perform each process according to the flowchart shown in Fig. 32.

[0299] (Steps S41 to S44) The development tool 50 executes the processes of steps S41 to S44, similarly to the example shown in FIG.

[0300] (Step S51) When the development tool 50 determines in step S44 that the parameter is included in the unacceptable range (Yes in step S44), it displays an error on the display 53 without automatically changing the function block having the parameter. This presents the error to the operator. That is, in the processes of steps S43, S44, and S51, the development tool 50 presents the error by referring to the rule. Specifically, the development tool 50 refers to the rule that defines the parameter range in which driving of at least one of the actuator 22 and the heater 23 is not permitted, and presents the error to the operator if at least one of the M selected blocks has a parameter included in the above-mentioned parameter range.

[0301] (Step S52) The operator who sees the error changes the parameters set in step S42 by performing an input operation on the input unit 54 of the development tool 50. As a result, the development tool 50 changes the function blocks. That is, the development tool 50 changes the application by changing at least one of the M selected blocks in response to the input operation by the operator who has been presented with the error. Then, the development tool 50 repeatedly executes the process from step S43.

[0302] (Step S46) When the development tool 50 determines in step S44 that the parameters are not within the unacceptable range (No in step S44), it outputs the application. At this time, if the application has been modified in step S52, the modified application is output. On the other hand, if the application has not been modified in step S52, the application generated in step S42 is output.

[0303] Here, when the process of step S51 is repeated, the development tool 50 may change the presentation form of the error according to the number of times of repetition. For example, when the number of times of presentation of the error is K times or more (K is an integer equal to or greater than 2), the development tool 50 presents the operator with parameters that are not included in the above-mentioned parameter range. That is, when the number of times of presentation of the error is K times or more, the development tool 50 displays the parameters that are not included in the parameter range, i.e., the parameters that are not included in the unacceptable range, on the display 53 as candidates for parameters to be set in the functional block. This allows the candidates to be proposed to the operator, who is, for example, an application developer. As a result, the operator, who is an application developer, who sees the candidates, can easily change the parameters set in step S42 to the candidates by performing an input operation on the input unit 54 of the development tool 50.

[0304] Alternatively, the development tool 50 may present to the operator a range of parameters that are not included in the above-mentioned parameter range when the number of times an error is presented is K or more. That is, when the number of times an error is presented is K or more, the development tool 50 displays the allowable range of the parameters on the display 53. This allows the operator, who is an application developer, who has seen the allowable range to easily change the parameters set in step S42 to parameters within the allowable range by performing an input operation on the input unit 54 of the development tool 50.

[0305] [5.3 Display example] FIG. 33 is a diagram showing an example of a sequence generation screen.

[0306] The development tool 50 displays the above-mentioned sequence generation screen on the display 53. The sequence generation screen includes a parameter setting area D1, a block list area D2, a target device area D3, and a selected block area D4.

[0307] In the parameter setting area D1, a reception image for receiving the contents of parameters to be used for the functional block is displayed.

[0308] The block list area D2 displays a block list for each of the multiple types of devices 20. These block lists include function blocks that have been downloaded from the block database 41 and installed in the development tool 50.

[0309] In the target device area D3, the type name of the device 20 selected from a plurality of types of devices 20 is displayed.

[0310] In the selected block area D4, a functional block selected from the block list displayed in the block list area D2 is arranged and displayed. The functional block is displayed as, for example, an icon.

[0311] For example, the operator performs an input operation on the input unit 54 of the development tool 50 to determine the type name of the device 20 to which the application is applied. The development tool 50 displays the determined type name in the target device area D3. For example, the determined type name "washing machine" is displayed. Next, the operator performs an input operation to select a function block for driving the device 20 with the determined type name "washing machine" from the block list displayed in the block list area D2. Then, the operator performs an input operation to place the selected function block, i.e., the selection block, in the selection block area D4. The selection and placement of this function block may be performed by drag and drop. One or more function blocks placed in this selection block area D4 may be executed in the order in which they are placed. That is, the application includes information on the order in which each of the M selection blocks placed in the selection block area D4 is executed and information on the timing at which each of the M selection blocks is executed.

[0312] When a functional block is placed in the selected block area D4, the development tool 50 displays, in the parameter setting area D1, an image for accepting parameters to be used for the functional block.

[0313] FIG. 34 is a diagram showing an example of a block list display.

[0314] The operator selects the type name of the device 20 to which the application to be generated will be applied from among the type names of the multiple devices 20 displayed in the block list area D2 shown in Fig. 33 by performing an input operation on the input unit 54. The development tool 50 displays a block list corresponding to the device 20 of the selected type name, for example, as shown in Fig. 34. For example, as shown in Fig. 34, when a washing machine is selected, the development tool 50 displays a block list of the washing machine. For example, the block list includes function blocks that realize the functions of laundry amount detection, water supply, water injection, detergent injection, fabric softener injection, mixing, drum rotation, spinning, draining, door lock, soaking, sterilization / antibacterial, buzzer, air blowing, and drying.

[0315] The operator selects a functional block from the block list displayed in this way by performing an input operation on the input unit 54, and places the selected functional block in the selected block area D4 shown in Fig. 33. That is, in response to such an input operation, the development tool 50 performs the process of step S22 shown in Fig. 30, that is, the process of placing the functional block.

[0316] 35A and 35B are diagrams showing a display example of the parameter setting area D1.

[0317] 35A and 35B, the development tool 50 displays, in the parameter setting area D1, a reception image for receiving the contents of parameters included in the functional blocks of the washing machine, which is the device 20. A functional block realizing a spin-drying function and a functional block realizing a drum rotation function can be applied to the washing machine.

[0318] For example, the reception image of the parameter setting area D1 shown in Fig. 35A is an image for receiving the contents of a plurality of parameters included in the spin function block. For example, the spin function block includes a set number of rotations and a duration of spinning as parameters. The operator looks at the reception image and performs an input operation on the input unit 54 to input the respective values ​​of the set number of rotations and the duration as the contents of the parameter of the set number of rotations and the parameter of the duration.

[0319] Similarly, the reception image of the parameter setting area D1 shown in FIG. 35B is an image for receiving the contents of a plurality of parameters included in the drum rotation function block 1060. For example, the drum rotation function block includes the set number of rotations of the drum rotation, the set rotation direction of the drum rotation, on / off of the water supply, and on / off and rotation direction of the circulation pump as parameters. The operator inputs the set number of rotations and the set number of rotations as parameters of the set number of rotations by viewing the reception image and performing an input operation on the input unit 54. Furthermore, the operator inputs one of the set rotation directions, right rotation and left rotation, one of on and off for the water supply, one of on and off for the circulation pump, and one of forward and reverse circulation directions for the circulation pump as the contents of the rotation direction parameter, the water supply parameter, and the circulation pump parameter. The development tool 50 sets each parameter used in the drum rotation function block by receiving the contents of each input parameter.

[0320] In this manner, the development tool 50 performs the parameter setting process of step S23 shown in FIG. 30 in response to the input operation by the operator.

[0321] Furthermore, when each parameter included in a functional block is set in this manner, the development tool 50 determines whether or not the parameter is outside the permissible range by referring to the rules of the device 20 corresponding to that functional block, as in step S24 of Figure 30.

[0322] FIG. 36 is a diagram illustrating an example of automatic correction processing for a functional block.

[0323] 36(a), the operator performs an input operation on input unit 54 to input numerical values ​​of the number of rotations and duration included in function block 1070 of the spin-dry of washing machine 500. In this way, each parameter used in function block 1070 of the spin-dry is set.

[0324] When each parameter is set in this manner, the development tool 50 performs an automatic correction process for the functional block. First, the development tool 50 refers to a rule for the washing machine 500 corresponding to the functional block. For example, the development tool 50 refers to any one of the rules included in the rule database 42a shown in FIG. 27B. The rule may be the general-purpose rule R1000 or the dedicated rule R1010.

[0325] Then, when the development tool 50 determines that the input parameter, for example, 1200 rpm, is included in the parameter range indicated by the rule, that is, the value is included in the non-allowable range, the development tool 50 corrects the parameter value. For example, when the parameter range is a range exceeding 1000 rpm, the development tool 50 corrects the set temperature value from 1200 rpm to 1000 rpm, as shown in (b) of FIG. 36. At this time, in order to lower the rotation speed, the development tool 50 may correct the duration parameter so that the duration is longer. By correcting the parameter in this way, the spin function block is changed. That is, the application including the function block is changed. This makes it possible to ensure the safety of the washing machine 500.

[0326] FIG. 37 illustrates a first example of the automatic correction process for connections of functional blocks.

[0327] For example, as shown in (a) of FIG. 37, the operator performs an input operation on the input unit 54 on the setting screen D6 for setting the order of functions, thereby inputting to place the function block 1050 of stirring as the function block to be executed next to the function block 1070 of spinning. Since this is not permitted by the fifth rule 1403, the development tool 50 adds a previous block 1150 of a standby operation including a parameter related to an operation of waiting without doing anything for a predetermined period (e.g., 30 seconds) as control information of the order to be executed next to the function block 1070 of spinning. In other words, when the function block 1050 of a stirring operation using a rotation different from that of the spinning operation is placed next to the function block 1070 of the spinning operation, the development tool 50 automatically performs a correction to add the function block 1150 of a standby operation between the function block 1070 of the spinning operation and the function block 1050 of the stirring operation. Such a correction to add another function block to the order of the function blocks changes the connection of the function blocks. In other words, the application including the function block is changed. This ensures the safety of the washing machine 500.

[0328] When automatic correction has been performed, the development tool 50 may display a message D7 indicating the reason for the automatic correction on the setting screen D6, as shown in FIG. 37(b).

[0329] FIG. 38 is a diagram illustrating a second example of the automatic correction process for connections of functional blocks.

[0330] For example, as shown in (a) of FIG. 38, the operator performs an input operation on the input unit 54 on the setting screen D6 for setting the order of functions to input an input for arranging the mixing function block 1050 as the function block to be executed next to the spinning function block 1070. Since this is not permitted by the fifth rule 1403, the development tool 50 may display a message D8 on the setting screen D6, as shown in (b) of FIG. 38, indicating that the mixing function block 1050 cannot be arranged next to the spinning function block 1070. Note that the message D8 may include a display for inquiring the user as to whether or not to correct the order of the function blocks. As shown in (b) of FIG. 38, the display for inquiring includes "Yes" and "No." When the user inputs "Yes," the development tool 50 may switch to a screen for accepting the correction. When the user inputs "No," the development tool 50 may end the display of the screen D6 for setting the order of functions.

[0331] FIG. 39 is a diagram illustrating a third example of the automatic correction process for connections of functional blocks.

[0332] For example, as shown in (a) of FIG. 39, assume that the operator attempts to drag and drop the mixing function block 1050 from the block list area D2 as the function block to be executed next to the spin function block 1070 by performing an input operation on the input unit 54 on the setting screen D6 for setting the order of functions. Since this is not permitted by the fifth rule 1403, the development tool 50 may display a message D9 on the setting screen D6, as shown in (b) of FIG. 39, indicating that the mixing function block 1050 cannot be placed next to the spin function block 1070. Note that the message D9 may include a message prompting the user to select another function block. In this case, the other function blocks included in the message D9 may specifically present function blocks permitted by each rule.

[0333] FIG. 40 is a diagram illustrating a fourth example of the automatic correction process for the connections of functional blocks.

[0334] For example, as shown in Fig. 40, when the operator places the spin-drying function block 1070 by performing an input operation on the input unit 54 on the setting screen D6 for setting the order of functions, the development tool 50 may display the block list area D2a in a display mode indicating that a function block whose order of execution after the spin-drying function block 1070 is not permitted by each rule cannot be selected. In this case, for example, the development tool 50 may display the mixing function block 1050 and the drum rotation function block 1060 in a strikethrough display mode, a grayed-out display mode, or a deletion from the selection targets in the block list area.

[0335] As illustrated in Figures 39 and 40, the development tool 50 may accept input of a first functional block among multiple functional blocks, identify conditions for a function block that is allowed to be executed after the first functional block based on the accepted first functional block and a rule regarding the order of selection, and restrict the input of a second functional block that is set to be executed after the first functional block based on the identified conditions.

[0336] [5.4 Effects, etc.] As described above, in this embodiment, an environment in which various, diverse, and safe applications can be developed can be provided by using an application including blocks and a rule database. Therefore, it is possible to safely drive the actuator 22 that physically moves or the heater 23 that outputs thermal energy for an application freely developed in that environment. As a result, for example, it becomes possible to develop various, diverse, and safe applications in parallel with the development of a rule database for ensuring safety, making it possible to develop various, diverse, and safe applications at an early stage.

[0337] Furthermore, by combining this embodiment with any one of the embodiments 1 to 4, it becomes possible to change the application to one that ensures greater safety by changing the rule database even after the application has been provided. Even if it becomes necessary to improve a situation that the manufacturer did not anticipate in advance, it becomes possible to deal with all applications by updating the rule database, without having to change the diverse and varied applications themselves, because the rule database is defined independently of the applications.

[0338] For example, the information processing method in the present embodiment generates laundry information including a plurality of pieces of control information for controlling the operation of washing machine 500. This information processing method accepts input of a plurality of blocks (control information) and a sequence (laundry information) including order information, and modifies the sequence based on a rule regarding the order of washing. Each of the plurality of blocks relates to a parameter that controls a washing function unit that performs an operation related to washing laundry. The order information relates to the order of executing the plurality of blocks.

[0339] According to this, the washing function unit can be driven based on an application defined by a plurality of blocks. Therefore, it is possible to develop an application using a block that abstracts the control of the washing machine 500, and a wide variety of applications can be developed not only by the manufacturer but also by third parties, and these applications can be easily executed by the washing machine 500. Furthermore, during this development, blocks with an unacceptable order can be automatically corrected. Therefore, it is possible to prevent the washing function unit from executing operations with an unacceptable order. In other words, even if an application developer erroneously sets an operation with an unacceptable order for the washing function unit, it is possible to prevent the generation of an application that cannot safely control the washing machine 500. In addition, it is possible to prevent the generation of an application that operates the washing machine 500 inefficiently. Therefore, even if an application developer creates an application that places more importance on suitability for the user than on ensuring the safety of the washing function unit, it is possible to ensure the safety of the washing machine 500 controlled by the application, and the safety can be improved. In addition, it is possible to improve the operating efficiency of the washing machine 500 and reduce power consumption.

[0340] For example, if the rules do not permit the execution of a first block included in a sequence and a second block that is set in the order information to be executed after the first block, the development tool 50 may add a third block to the sequence as control information for the order to be executed after the first block.

[0341] According to this, if two blocks to be executed consecutively are not permitted, a third block can be added in the order between the two blocks, thereby preventing the washing function unit from executing the operations of the two blocks in an order that is not permitted.

[0342] Also, for example, if the rules do not permit the execution of a first block included in a sequence and a second block that is set in the order information to be executed after the first block, the development tool 50 may modify information regarding parameters included in the first block or information regarding parameters included in the second block.

[0343] According to this, if two blocks to be executed in succession are not permitted, information regarding a parameter contained in one of the two blocks can be modified, thereby preventing the washing function unit from executing the operations of the two blocks in an impermissible order.

[0344] For example, the development tool 50 may restrict the execution of a first block included in a sequence and a second block that is set to be executed after the first block in the order information if the rules do not permit the execution of the second block.

[0345] According to this, if two blocks to be executed consecutively are not permitted, the execution of the second block can be restricted, thereby preventing the washing function unit from executing the operations of the two blocks in an order that is not permitted.

[0346] Also, for example, the first rule may not permit the first block to include a parameter related to the supply of water to water tub 502 of washing machine 500 and the second block to include a parameter controlling an operation executed in a water-prohibited environment. For example, the operation executed in a water-prohibited environment may include an operation that is not permitted to be executed when water is stored in water tub 502. This makes it possible to prevent the execution of an operation based on the second block that does not provide sufficient effect even if executed with water in water tub 502. This makes it possible to suppress unnecessary operations and reduce power consumption.

[0347] Also, for example, the second rule may not allow the first block to include a parameter related to heating inside water tub 502 of washing machine 500 and the second block to include a parameter controlling an operation performed in a heat-prohibiting environment. For example, the operation performed in a heat-prohibiting environment may include an operation that is not allowed to be performed when the temperature inside water tub 502 is equal to or higher than a predetermined temperature. Therefore, since it is possible to suppress the operation from being performed when the temperature inside water tub 502 is equal to or higher than a predetermined temperature, it is possible to reduce the adverse effect of the high-temperature environment inside water tub 502 on the outside of washing machine 500 and ensure safety.

[0348] Also, for example, the third rule may not allow the first block to include parameters related to the rotation of washing tub 503 in which water is stored, and the second block to include parameters controlling an operation performed in a forbidden environment. For example, an operation performed in a forbidden environment may include an operation that is not permitted to move the water surface in washing tub 503. Therefore, the operation of the second block can be controlled in a state where the shaking of the water surface is reduced, and therefore the operation of the second block can be effectively controlled.

[0349] Also, for example, the fourth rule may not allow the first block to include a parameter related to blowing air into washing tub 503 of washing machine 500 and the second block to include a parameter controlling an operation performed in a forbidden environment. Therefore, the operation of the second block can be controlled in a state where the swaying of the water surface is reduced, and therefore the operation of the second block can be effectively controlled.

[0350] Also, for example, the fifth rule may not allow the first block to include a parameter for rotating washing tub 503 of washing machine 500 at a first rotation, and the second block to include a parameter for rotating washing tub 503 at a second rotation different from the first rotation. For example, a first rotation speed in the first rotation may be different from a second rotation speed in the second rotation. Also, for example, a direction of the first rotation may be different from a direction of the second rotation. Therefore, it is possible to prevent operations at different rotations from being performed consecutively, and it is possible to effectively switch the rotation of washing tub 503.

[0351] Furthermore, for example, when the first block includes a parameter related to supplying water to water tub 502 of washing machine 500 and the second block includes a parameter controlling an operation executed in a water-prohibited environment, development tool 50 adds a third block including a parameter related to draining water from water tub 502 to the sequence as control information for the order of execution between the first block and the second block based on the first rule. Therefore, water tub 502 can be made into a water-prohibited environment by draining water before the operation executed in the water-prohibited environment is started, and the operation of the second block can be executed effectively.

[0352] Furthermore, for example, when the first block includes parameters related to supplying water to water tub 502 of washing machine 500 and the second block includes parameters controlling an operation executed in a water-free environment, development tool 50 may modify the second block based on the first rule so as to add parameters related to draining water from water tub 502 immediately before the parameters controlling the operation executed in the water-free environment. Therefore, water tub 502 can be made into a water-free environment by draining water before the operation executed in the water-free environment is started, and the operation of the second block can be executed effectively.

[0353] Furthermore, for example, when the first block includes a parameter related to heating inside water tub 502 of washing machine 500 and the second block includes a parameter controlling an operation performed in a heat-prohibited environment, development tool 50 may add a third block including a parameter related to heat dissipation from water tub 502 to the sequence as control information for the order of execution between the first block and the second block based on the second rule. Therefore, by dissipating heat before the operation performed in the heat-prohibited environment is started, the temperature of water tub 502 can be lowered to create a heat-prohibited environment, and the operation of the second block can be effectively executed.

[0354] Furthermore, for example, when the first block includes parameters related to heating inside water tub 502 of washing machine 500 and the second block includes parameters controlling an operation executed in a heat-prohibited environment, development tool 50 may modify the second block based on the second rule so as to add parameters related to heat dissipation from water tub 502 immediately before the parameters controlling the operation executed in the heat-prohibited environment. Therefore, by dissipating heat before the operation executed in the heat-prohibited environment is started, the temperature of water tub 502 can be lowered to create a heat-prohibited environment, and the operation of the second block can be executed effectively.

[0355] Furthermore, for example, when a first block included in a sequence and a second block set in the order information to be executed next to the first block are overlapped based on a rule, the development tool 50 may (i) delete the first block or the second block, or (ii) delete information on the parameters included in the first block or information on the parameters included in the second block. Thus, by deleting the blocks or parameters of the overlapping operations, it is possible to reduce the execution of unnecessary operations, and therefore it is possible to reduce power consumption.

[0356] (First modification of the fifth embodiment) In the fifth embodiment, development tool 50 is configured as a device separate from device 20 (washing machine 500), but this is not limited thereto. Washing machine 500 may have a function similar to that of development tool 50. In this case, control device 550 and operation panel 560 of the washing machine may realize a function similar to that of development tool 50. This allows a user to develop (create) an application by operating operation panel 56 of the washing machine, such as setting parameters of function blocks and setting the order of function blocks.

[0357] (Other embodiments) Although the system according to one or more aspects of the present disclosure has been described based on the embodiment, the present disclosure is not limited to this embodiment. As long as it does not deviate from the spirit of the present disclosure, various modifications conceived by a person skilled in the art to this embodiment and forms constructed by combining components in different embodiments may also be included within the scope of one or more aspects of the present disclosure.

[0358] In addition, in each of the above embodiments, the sequence manager 100 and the device manager 200 are included in the cloud server 10, but this is not limited to the above. The sequence manager 100 and / or the device manager 200 may be included in the device 20. In addition, the UI 400 is included in the terminal 30, but may be included in the device 20.

[0359] In addition, in each of the above embodiments, the application may be changed based on the degradation information. For example, the device 300 may refer to parameter conversion information in which a plurality of degradation levels are associated with a plurality of parameter conversion methods, acquire a conversion method corresponding to the degradation level, and convert the parameters included in the block using the acquired conversion method. The conversion method may be defined, for example, by a value after conversion, or may be defined by a coefficient applied to a value before conversion.

[0360] In addition, in each of the above embodiments, if the parameter is within the unacceptable range in the pre-execution check, the block is changed and then the block is executed, but this is not limited to the above. For example, if the parameter is within the unacceptable range and the state of the device 300 is different from the expected state, the block may not be executed and the device manager 200 and / or the sequence manager 100 may be notified of the execution stop (error). [Industrial Applicability]

[0361] This can be used in home appliances and the like that can execute applications defined by multiple functional blocks. [Explanation of symbols]

[0362] 1 System 2a, 2b, 2c, 2d facilities 10. Cloud Server 11 Processors 12. Memory 20, 20a, 20b, 20c, 20d, 20e, 20f, 20g, 20h equipment 21 Case 22 Actuator 23 Heater 24 Control Unit 30, 30a, 30b, 30c, 30d terminals 31 Display 32 Input Devices 41 Block Database 42, 1400, 1400C Rules Database 50 Development Tools 51 Processors 52 Memory 53 Display 54 Input section 60 Application provision server 100 Sequence Manager 200 Device Manager 300, 300a, 300b, 300c, 300d, 300e, 300f, 300g, 300h devices 400, 400a, 400b, 400c, 400d UI 500 Washing Machine 501 Case 502 Aquarium 503 Washing tub 504 Washing motor 505 Doors 506 Door lock mechanism 507 Vibration Sensor 511 Water supply valve 512 Water supply pipe 513 Automatic loading machine 515 Water Level Sensor 516 Bath Pump 517 Bath water piping 521 Drain pipe 522 Drainage filter 523 Drain valve 524 Circulation Pump 525 Circulation piping 531 Intake Sensor 532 Heat Pump 533 Duct 534 Circulation Fan 535 Hot Air Sensor 536 Sterilization Equipment 541 First bubble sensor 542 Second bubble sensor 543 Hot water heater 544 Hot water sensor 550 Control device 560 Operation Panel 570 Communications Department 1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1100, 1110, 1120, 1130, 1140, 1301 block 1011, 1012, 1021~1023, 1031, 1041, 1051~1056, 1061~1064, 1071, 1072, 1081, 1091, 1101, 1102, 1111, 1112, 1121, 1131, 1132, 1141 parameters 1200 Device Database 1201 Device Information 1300 Declaration of Action 1302 Device Information 1303 Order Information 1401~1405, 1401C, 1402C, 1403C, 1404C Rules 2000 Information Processing System F100 Preparation Phase F200 Pre-application execution phase F300 App Execution Phase R1000 General Rules R1010, R1020, R1030 exclusive rules

Claims

1. An information processing method executed by a processor for generating laundry information for controlling an operation of a washing machine having at least one of an actuator and a heater, comprising: receiving an input of first laundry information including a plurality of control information each of which is control information regarding parameters for controlling a laundry function unit that performs the operation on the laundry, and sequence information regarding a sequence of executing the plurality of control information; acquiring a deterioration level of at least one of the actuator and the heater from the washing machine; modifying at least a part of the plurality of control information included in the first laundry information based on a rule corresponding to the acquired deterioration level among a plurality of rules corresponding to a plurality of deterioration levels, and generating second laundry information obtained by the modification as the laundry information; The washing machine has the washing function unit, The first laundry information indicates an operation program generated by combining the plurality of control information, The second laundry information is information for causing the laundry function unit to execute a plurality of pieces of control information included in the second laundry information in an order indicated by order information included in the second laundry information. Information processing methods.

2. each of the plurality of rules includes a range of parameters that are not permitted to be performed on the washing machine; the parameters are set to ranges corresponding to the plurality of deterioration levels, In the modification, at least some parameters of the plurality of control information are modified so as to be outside a range of the unpermitted parameters included in a rule corresponding to the deterioration level. The information processing method according to claim 1 .

3. The parameter range is set wider as the deterioration level increases. The information processing method according to claim 2 .

4. Each of the plurality of rules further corresponds to a type of one of the actuator and the heater, In the modification, at least a part of the plurality of pieces of control information is modified based on a rule according to a type of one of the actuator and the heater. The information processing method according to claim 1 .

5. The deterioration level is determined according to the number of times, the duration of use, or the number of days of use from the start of operation to the present of at least one of the actuator and the heater. The information processing method according to claim 1 .

6. The deterioration level is determined according to an added value of the temperature of the heater; The added value of the temperature of the heater is a value obtained by adding the temperature when the heater is driven. The information processing method according to claim 1 .

7. The deterioration level is determined according to a degree of reproduction of an input and an output of at least one of the actuator and the heater; the degree of reproduction is a ratio between an output value of the actuator and the heater relative to an input value for driving the actuator and the heater, and an output value defined in relation to the input value for driving the actuator and the heater, The relationship is a predetermined relationship between input values ​​and output values. The information processing method according to claim 1 .

8. An information processing device that generates laundry information for controlling an operation of a washing machine having at least one of an actuator and a heater, A processor; a memory coupled to the processor; The processor uses the memory to: receiving an input of first laundry information including a plurality of control information each of which is control information regarding parameters for controlling a laundry function unit that performs the operation on the laundry, and sequence information regarding a sequence of executing the plurality of control information; acquiring a deterioration level of at least one of the actuator and the heater from the washing machine; modifying at least a part of the plurality of control information included in the first laundry information based on a rule corresponding to the acquired deterioration level among a plurality of rules corresponding to a plurality of deterioration levels, and generating second laundry information obtained by the modification as the laundry information; The washing machine has the washing function unit, The first laundry information indicates an operation program generated by combining the plurality of control information, The second laundry information is information for causing the laundry function unit to execute a plurality of pieces of control information included in the second laundry information in an order indicated by order information included in the second laundry information. Information processing device.

Citation Information

Patent Citations

  • Control method, updating method and control method monitoring method, and device for the same

    JP2000029501A

  • Method of judging load on washing machine

    JP2000116980A

  • Washing machine

    JP2003284889A

  • Laundry apparatus

    JP2012139285A

  • Control of a household appliance

    US20190302718A1