Washing machine, control method and control system
By interacting with external devices through the washing machine's communication unit, receiving washing information and correcting the control program, the problem of difficulty in customizing and updating the control program in the prior art is solved, and simple and safe diversified control is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-14
- Publication Date
- 2026-03-17
AI Technical Summary
In the existing technology, the control programs of home appliances are pre-stored in the product, which makes it difficult to customize and update them to match the diverse needs of users, resulting in the inability to execute a variety of control programs simply and safely.
The washing machine has a communication unit, a washing function unit, and a control device. It can communicate with external devices to receive washing information and control the operation of the washing function unit based on the corrected washing information. It can implement a variety of control programs through systems, methods, integrated circuits, or computer programs.
It enables simpler and safer execution of a wide variety of control programs, meeting more diverse user needs and reducing development difficulty and security risks.
Smart Images

Figure CN115698414B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a washing machine, a control method, and a control system. Background Technology
[0002] Traditionally, household appliances and home furnishings are controlled according to operating conditions (control programs) prepared in advance by their manufacturers. Patent Document 1 discloses a washing machine that can set the operating conditions for washing that the user wants to perform.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2003-284889 Summary of the Invention
[0006] The problem the invention aims to solve
[0007] However, in the aforementioned prior art, the control program, which is pre-developed by the product manufacturer, must be stored in the product in advance, making it difficult to customize and update the control program to match the diverse needs of users.
[0008] Therefore, this disclosure provides a washing machine, etc., that can execute a variety of control programs more simply and safely.
[0009] Solution for solving the problem
[0010] One aspect of this disclosure relates to a washing machine capable of communicating with an external device. The washing machine includes: a communication unit that receives washing information from the external device; a washing function unit that performs operations related to washing laundry based on the washing information; and a control device that controls the washing function unit. The washing information includes sequence information and multiple control information, each of the multiple control information being control information related to parameters for controlling the operation of the washing function unit. The sequence information is information related to the order in which the multiple control information is executed. The control device modifies the washing information based on rules related to the washing sequence, and by executing the modified washing information, causes the washing function unit to perform operations based on the washing information.
[0011] Furthermore, these general or specific methods can be implemented either through systems, methods, integrated circuits, computer programs, or computer-readable recording media such as CD-ROMs, or through any combination of systems, methods, integrated circuits, computer programs, and recording media.
[0012] The effects of the invention
[0013] One method disclosed herein enables the washing machine to execute a wide variety of control programs more simply and safely. Attached Figure Description
[0014] Figure 1 This is a hardware structure diagram of the system in Implementation Method 1.
[0015] Figure 2A This is a hardware structure diagram of the cloud server in Implementation Method 1.
[0016] Figure 2B This is a hardware structure diagram of the device in Implementation Method 1.
[0017] Figure 2C This is a hardware structure diagram of the terminal in Implementation Method 1.
[0018] Figure 3 This is a functional structure diagram of the system in Implementation Method 1.
[0019] Figure 4 This is a diagram illustrating an example of the structure of a washing machine.
[0020] Figure 5 This is a block diagram illustrating an example of the functional structure of a washing machine.
[0021] Figure 6A The first example of a module for defining an application is shown in Implementation 1.
[0022] Figure 6B This illustrates a second example of a module for defining an application in Implementation 1.
[0023] Figure 6C This illustrates a third example of a module for defining an application in Implementation 1.
[0024] Figure 6D This illustrates a fourth example of a module for defining an application in Implementation 1.
[0025] Figure 6E This illustrates a fifth example of a module for defining an application in Implementation 1.
[0026] Figure 6F The sixth example of a module for defining an application is shown in Implementation 1.
[0027] Figure 6G The seventh example of a module for defining an application is shown in Implementation 1.
[0028] Figure 6H The eighth example of a module for defining an application is shown in Implementation 1.
[0029] Figure 6IThe ninth example of a module for defining an application is shown in Implementation 1.
[0030] Figure 6J The tenth example of a module for defining an application is shown in Implementation 1.
[0031] Figure 6K The eleventh example of a module for defining an application is shown in Implementation 1.
[0032] Figure 6L The twelfth example of a module for defining an application is shown in Implementation 1. Figure 6M The thirteenth example of a module for defining an application is shown in Implementation 1.
[0033] Figure 6N The fourteenth example of a module for defining an application is shown in Implementation 1.
[0034] Figure 6O The fifteenth example of a module for defining an application is shown in Implementation 1.
[0035] Figure 6P The sixteenth example of a module for defining an application is shown in Implementation 1.
[0036] Figure 7 This is a sequence diagram of the system in Implementation Method 1.
[0037] Figure 8 An example of a device database in Implementation 1 is shown.
[0038] Figure 9 An example of an execution content declaration in Implementation 1 is shown.
[0039] Figure 10 A flowchart of the pre-execution confirmation process in Implementation 1 is shown.
[0040] Figure 11 An example of a rule database in Implementation 1 is shown.
[0041] Figure 12 This illustrates a first example of a modification to the execution content declaration in Implementation 1.
[0042] Figure 13 This illustrates a second example of a modification to the execution content declaration in Implementation 1.
[0043] Figure 14 This illustrates a third example of a modification to the execution content declaration in Implementation 1.
[0044] Figure 15 This illustrates a fourth example of a modification to the execution content declaration in Implementation 1.
[0045] Figure 16 This shows a fifth example of a modification to the execution content declaration in Implementation 1.
[0046] Figure 17 This illustrates a sixth example of a modification to the execution content declaration in Implementation 1.
[0047] Figure 18 This is the seventh example of a modification to the execution content declaration in Implementation 1.
[0048] Figure 19 This illustrates an eighth example of a modification to the execution content declaration in Implementation 1.
[0049] Figure 20 This illustrates a ninth example of a modification to the execution content declaration in Implementation 1.
[0050] Figure 21 This is a diagram illustrating an example of the classification rules in a variation of Embodiment 1.
[0051] Figure 22 This is a flowchart of the pre-execution confirmation process in Variation 1 of Implementation Method 1.
[0052] Figure 23A The modification of the execution content declaration in Variation 1 of Implementation 1 is shown.
[0053] Figure 23B The modification of the execution content declaration in Variation 1 of Implementation 1 is shown.
[0054] Figure 23C The modification of the execution content declaration in Variation 1 of Implementation 1 is shown.
[0055] Figure 24 This is a flowchart of the pre-execution confirmation process in Variation 2 of Implementation Method 1.
[0056] Figure 25A This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0057] Figure 25B This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0058] Figure 25C This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0059] Figure 25D This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0060] Figure 26AThis is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0061] Figure 26B This is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0062] Figure 26C This is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0063] Figure 26D This is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0064] Figure 27A This is a sequence diagram of the system in variation 4 of implementation method 1.
[0065] Figure 27B This is a sequence diagram of the system in variation 5 of implementation method 1.
[0066] Figure 27C This is a sequence diagram of the system in Variation 6 of Implementation Method 1.
[0067] Figure 27D This is a sequence diagram of the system in variation 7 of implementation method 1.
[0068] Figure 27E This is a sequence diagram of the system in variation 8 of implementation method 1.
[0069] Figure 28 A flowchart of the pre-execution confirmation process in Implementation 2 is shown.
[0070] Figure 29 A flowchart of the pre-execution confirmation process in Implementation 3 is shown.
[0071] Figure 30 A flowchart of the pre-execution confirmation process in Implementation 4 is shown.
[0072] Figure 31 An example of a rule database in Implementation 4 is shown. Detailed Implementation
[0073] (The underlying insights of this disclosure)
[0074] The inventors of this application will describe the process by which this disclosure was achieved. For household appliances and the like, which have actuators and / or heaters, an open development environment is required in order to develop control programs that can meet various user needs. That is, an environment is sought that reduces the difficulty of developing control programs, allowing third parties to easily participate in their development. In such an environment, for example, a clothing company could also develop a control program for a washing machine used to wash clothes sold by the company.
[0075] Therefore, the inventors have researched a structure that allows the development of an environment for control programs to be constructed using functional modules derived from the abstraction of control over actuators and heaters included in a product, while maintaining safety. The control program, composed of a combination of multiple functional modules, is then packaged and released as an application. This allows for the release of a wide variety of applications, enabling customization and updates to the product to meet more diverse user needs. However, in such an environment, it is possible to release dangerous applications (i.e., applications that cannot safely control the product), thus reducing product safety.
[0076] For example, suppose the programs contained in household appliances are embedded in devices used to directly control actuators and / or heaters, and these programs include both those developed by the manufacturer and those developed by third parties in a mixed manner. In this case, there is a high probability that the manufacturer will not disclose all information about the household appliances, including know-how, to third parties. For example, the parameters or timing used to drive the actuators and heaters are know-how related to the performance of the manufacturer's household appliances. Therefore, due to concerns about reduced competitiveness, there is a low probability that the manufacturer will disclose the know-how to third parties to be able to freely drive the household appliances.
[0077] Therefore, third parties, due to insufficient information about household appliances, may create applications that contain combinations or ranges of controls not envisioned by the manufacturer, thus failing to ensure security. Providing such applications to users is undesirable.
[0078] Furthermore, manufacturers of home appliances are considering upgrading users' lives by offering new control programs. However, developing a wide variety of new control programs consumes significant time for parameter adjustments and hardware performance evaluations. Predictably, since the actuators and / or heaters in home appliances are physically driven, the performance evaluation and other time-consuming processes involved in developing programs for home appliances are greater than those for smartphones. However, in an era that prioritizes on-demand development tailored to each user's lifestyle rather than mass production, a wide variety of control programs for home appliances, similar to those for smartphones, are required. Therefore, manufacturers must create a diverse range of applications that ensure product safety while minimizing significant time commitment.
[0079] Furthermore, manufacturers expect to ensure safe operation even when using third-party applications to power home appliances. Therefore, it is desirable to reduce the workload of actually driving various applications in home appliances to verify safety.
[0080] Therefore, this disclosure provides an apparatus, etc., that can more simply and safely execute a wide variety of applications defined by multiple functional modules for driving actuators and / or heaters.
[0081] The implementation method will now be described in detail with reference to the accompanying drawings.
[0082] Furthermore, the embodiments described below are general or specific examples. The numerical values, shapes, materials, constituent elements, the arrangement and connection of constituent elements, steps, and the order of steps shown in the following embodiments are examples and are not intended to limit the claims.
[0083] Furthermore, the figures may not be strictly illustrative. In all figures, substantially identical structures are labeled with the same reference numerals, and repetitive descriptions are omitted or simplified.
[0084] (Implementation Method 1)
[0085] [1.1 Hardware Structure]
[0086] Reference Figures 1-2C The hardware structure of System 1 in this embodiment will be described. Figure 1 This is a hardware structure diagram of System 1 in Implementation Method 1. Figure 2A This is a hardware structure diagram of the cloud server 10 in implementation method 1. Figure 2B This is a hardware structure diagram of device 20 in implementation method 1. Figure 2C This is a hardware structure diagram of terminal 30 in implementation method 1.
[0087] like Figure 1 and Figure 3 As shown, System 1 of this embodiment includes a cloud server 10, devices 20a-20h used in facilities 2a-2d, and terminals 30a-30d. Facilities 2a-2d are, for example, residences, but are not limited thereto. Facilities 2a-2d can also be, for example, apartments, shops, offices, etc. System 1 is an example of a control system.
[0088] Cloud server 10 is a virtual server provided via a computer network (such as the Internet). Cloud server 10 is connected to devices 20a-20h and terminals 30a-30d in a communicative manner via the computer network. Alternatively, a physical server may be used instead of cloud server 10. Cloud server 10 is an example of an external device.
[0089] like Figure 2A As shown, the cloud server 10 virtually includes a processor 11 and a memory 12 connected to the processor 11. When the processor 11 executes instructions or software programs stored in the memory 12, it functions as a sequence manager and device manager, as described later.
[0090] Devices 20a to 20h are electrical and mechanical appliances used in facilities 2a to 2d. Furthermore, in Figure 1 The illustrations of devices 20c to 20h used in facilities 2b to 2d are omitted. Hereinafter, devices 20a to 20h will be referred to as device 20 unless it is necessary to distinguish them.
[0091] As device 20, it can use household appliances and residential appliances. Household appliances and residential appliances are not limited to equipment used in residences, but also include equipment used in businesses. Furthermore, in this disclosure, household appliances and residential appliances are sometimes abbreviated as "household appliances, etc." Examples of household appliances include microwave ovens, rice cookers, blenders, electric ovens, electric toasters, electric kettles, heating plates, IH (Induction Heating) cooking machines, baking ovens, baking makers, electric pressure cookers, electric waterless cooking pots, multi-cookers, coffee makers, refrigerators, washing machines, dishwashers, vacuum cleaners, air conditioners, air purifiers, humidifiers, dryers, electric fans, and ion generators. Examples of residential appliances include electric blinds, electronic locks, and electric water heaters for bathtubs. However, device 20 is not limited to these devices.
[0092] like Figure 2B As shown, the device 20 includes a housing 21, an actuator 22, a heater 23, and a control unit 24. Furthermore, the device 20 may include at least one of the actuator 22 and the heater 23, or it may not include both.
[0093] The housing 21 houses the actuator 22, the heater 23, and the control unit 24. Alternatively, the housing 21 may also have an internal space for processing objects. For example, it could be similar to the internal space for processing objects in a washing machine's tub, a microwave oven's heating chamber, or a rice cooker's inner pot.
[0094] The actuator 22 is a mechanical element that converts input energy into physical motion based on an electrical signal. As the actuator 22, for example, an electric motor, a hydraulic cylinder, or a pneumatic actuator can be used, but it is not limited to these.
[0095] Heater 23 is an electric heater that converts electrical energy into heat energy. Heater 23 heats the object by means of Joule heating, induction heating, dielectric heating, etc. As heater 23, for example, nickel-chromium alloy wire, coil, and magnetron can be used.
[0096] Here, one example of the reason for including the actuator 22 and / or heater 23 in the device 20 of this disclosure will be explained. Consider the following situation: a manufacturer of household appliances, etc., provides a development environment to a third party that allows free control of all parameters and combinations of drives used to drive the actuator 22 and heater 23. In this case, the third party can create a program that deviates from the parameter range intended by the manufacturer to safely drive the actuator 22 and / or heater 23, or to control the actuator 22 and / or heater 23. In particular, there are significant safety issues with drives that the manufacturer has not envisioned for the actuator 22, which performs physical motion, or the heater 23, which outputs heat energy. Examples of drives not envisioned by the manufacturer include, for example, the high-speed rotation of an electric motor as an actuator and the supply of overcurrent to the heater 23. The inventors of this application aim to avoid hindering the construction of an environment that can provide users with a wide variety of applications due to excessive consideration of safety. Therefore, the device 20 of this disclosure is intended to ensure safety specifically for the actuator 22 that performs physical motion or the heater 23 that outputs heat energy.
[0097] The control unit 24 is a controller that controls the actuator 22 and / or the heater 23, and functions as a device described later. The control unit 24 is, for example, composed of an integrated circuit.
[0098] Terminals 30a to 30d are utilized in facilities 2a to 2d, respectively, and function as user interfaces. Furthermore, in Figure 1 The illustrations of terminals 30b to 30d used in facilities 2b to 2d are omitted. Hereinafter, terminals 30a to 30d will be referred to as terminal 30 unless it is necessary to distinguish between them.
[0099] Terminal 30 is connected to cloud server 10 and device 20 via a computer network, and functions as a user interface (UI) described later. Terminal 30 can be a portable information terminal such as a smartphone or tablet. Alternatively, terminal 30 can be a terminal fixed to the wall, floor, or ceiling of facilities 2a-2d. Furthermore, terminal 30 can also be included within device 20. For example, terminal 30 can also be a display terminal with displays built into each of devices 20a-20h.
[0100] like Figure 2CAs shown, the terminal 30 includes a display 31 and an input device 32. The display 31 can be, for example, a liquid crystal display (LCD) or an organic EL display. The input device 32 can be, for example, a touch panel, a keyboard, a mouse, or mechanical buttons. Alternatively, a voice input device can also be used as the input device 32. The display 31 and the input device 32 can also be integrated as a single touchscreen. Alternatively, a gesture input device can be used as the input device 32. A gesture input device, for example, includes a camera and a recognition unit. The camera captures an image containing gestures, and the recognition unit uses the image to recognize the gestures.
[0101] [1.2 Functional Structure]
[0102] Next, refer to Figure 3 The functional structure of System 1 in this embodiment will be described. Figure 3 This is a functional structure diagram of System 1 in Implementation Method 1.
[0103] Cloud server 10 has a sequence manager 100 and a device manager 200. Devices 20a to 20h each have devices 300a to 300h. Terminals 30a to 30d each have UIs 400a to 400d.
[0104] Below, when there is no need to distinguish between devices 300a to 300h, it will be referred to as device 300. Additionally, when there is no need to distinguish between UIs 400a to 400d, it will be referred to as UI 400.
[0105] The sequence manager 100 manages multiple applications. These applications may be downloaded to the sequence manager 100 from an application distribution platform, for example, through user actions. Alternatively, applications included in the application distribution platform may not be downloaded to the sequence manager 100. In this case, information indicating the association with applications included in the application distribution platform can be recorded in the sequence manager 100's database. Details of the applications are described later.
[0106] Device Manager 200 has a database for managing multiple facilities 2a-2d and the devices 300 and UIs 400 used in each facility 2a-2d. Device Manager 200 manages devices 300 and UIs 400 by recording device information and UI information associated with facilities 2a-2d in the database. Device information and UI information include, for example, control functions, drive functions, and operating status. For example, Device Manager 200 can manage the operating status of device 300 and monitor the operating schedule of device 300. In addition, Device Manager 200 can also manage the log information of device 300.
[0107] Furthermore, such a database can be possessed by the sequence manager 100 instead of the device manager 200, or it can be possessed by both the sequence manager 100 and the device manager 200.
[0108] Device 300 has control and drive functions for device 20. Device 300 is able to drive device 20 according to instructions from device manager 200.
[0109] UI 400 provides information to users and is subject to user input.
[0110] Next, refer to Figure 4 and Figure 5 The structure of a washing machine 500, which is an example of device 20, will be described. Figure 4 This is a diagram illustrating an example of the structure of a washing machine 500. Figure 5 This is a block diagram illustrating an example of the functional structure of a washing machine 500.
[0111] The washing machine 500 has a housing 501 with an internal space. An opening is provided on the front side of the housing 501, and a door 505 that can be opened and closed freely is provided at the opening of the housing 501. A door lock mechanism 506 for locking the door 505 is provided at the opening of the housing 501.
[0112] A water tank 502 is provided inside the housing 501 and is elastically supported within the housing 501. The water tank 502 is an example of the tank provided in the washing machine 500. A bottomed cylindrical washing tub 503 (also called a drum), with an opening at one end on the front and a bottom at the other end on the rear, is rotatably disposed inside the water tank 502 about a rotation axis Ax1. A gap is formed between the inner surface of the water tank 502 and the outer surface of the washing tub 503. The rotation axis Ax1 of the washing tub 503 is inclined, for example, such that the opening of the washing tub 503 is higher than the bottom.
[0113] The washing tub 503 has multiple holes penetrating its side. A washing motor 504, which drives the washing tub 503 to rotate, is located behind the tub 502. The washing motor 504 is, for example, a DC motor, and its rotation speed can be freely controlled via an inverter.
[0114] A vibration sensor 507 is installed on the upper part of the water tank 502. The vibration sensor 507 detects the degree of vibration of the water tank 502.
[0115] A water supply pipe 512 is connected to the upper part of the sink 502. The water supply pipe 512 is connected to a tap water pipe. A water supply valve 511 is provided on the water supply pipe 512 to prevent water from flowing into the tap water pipe. The water supply valve 511 is, for example, a solenoid valve that is electrically opened and closed by an input control signal. An automatic dispensing machine 513 is provided on the water supply pipe 512, which contains liquid detergent and / or fabric softener to be dispensed into the washing tank 503. The automatic dispensing machine 513 is a device that uses an actuator to measure the amount of liquid detergent and / or fabric softener corresponding to a control signal and dispenses the measured amount of liquid detergent and / or fabric softener into the water supply pipe 512. Therefore, water from the tap water pipe and a predetermined amount of liquid detergent and / or fabric softener dispensed by the automatic dispensing machine 513 mix in the water supply pipe 512 to form washing water, which then flows into the sink 502. In addition, the automatic dispensing machine 513 may also have both an actuator for dispensing liquid detergent and an actuator for dispensing fabric softener.
[0116] Additionally, the washing machine 500 is equipped with a water level sensor (not shown) for detecting the water level in the sink 502. The water level sensor can also be a pressure sensor located on a pipe different from the water supply pipe 512 connected to the sink 502 and used to detect the internal pressure of the sink 502. In other words, the water level in the sink 502 is detected using the result of the pressure sensor.
[0117] Additionally, a bathtub water pipe 517 is connected to the upper part of the sink 502. A hose for introducing water stored in the bathtub within the home is connected to the bathtub water pipe 517. A bathtub pump 516 for drawing water stored in the bathtub is connected to the bathtub water pipe 517. By driving the bathtub pump 516, water can be supplied by introducing water from the bathtub through the hose into the interior of the sink 502.
[0118] A drain pipe 521 is connected to the lower part of the sink 502. The drain pipe 521 is connected to a drain hose for discharging washing water to the outside of the washing machine 500. A drain filter 522 for removing foreign matter from the water flowing through the drain pipe 521 and a drain valve 523 for preventing water from flowing from the drain pipe 521 to the drain hose are provided on the drain pipe 521. The drain valve 523 is, for example, a solenoid valve that is electrically opened and closed by input control signals.
[0119] Additionally, a circulation pipe 525 is connected to the drain pipe 521. One end of the circulation pipe 525 is connected to the drain pipe 521, and the other end is connected to the lower front part of the sink 502. The circulation pipe 525 is used to return water flowing through the drain pipe 521 and passing through the drain filter 522 to the sink 502. A circulation pump 524 is connected to the circulation pipe 525 to circulate the water in the sink 502. When the circulation pump 524 is driven, the washing water that flows into the circulation pipe 525 after passing through the drain pipe 521 is returned to the sink 502 through the circulation pump 524.
[0120] Additionally, one end of pipe 533 is connected to the upper front of the sink 502, and the other end is connected to the upper rear of the sink 502. A heat pump 532 is installed in pipe 533 to heat the air after cooling it, and a circulating fan 534 to circulate the air in pipe 533. The heat pump 532 consists of a refrigerant circuit (not shown), which includes a compressor, a condenser, an expansion valve, and an evaporator. The refrigerant is circulated within the refrigerant circuit by driving the compressor. In the heat pump 532, the air in pipe 533 is cooled in the evaporator and then heated in the condenser. By cooling in the evaporator, moisture in the air in pipe 533 is removed, and then by heating in the condenser, the air in pipe 533 becomes heated and dried at a high temperature. This heated and dried high-temperature air is blown into the interior of the sink 502 by the circulating fan 534. This promotes the drying of laundry such as clothes inside the sink 502.
[0121] An air intake sensor 531 is installed on the upstream side of pipe 533. The air intake sensor 531 is a sensor that detects the temperature of the air flowing on the upstream side of pipe 533.
[0122] A warm air sensor 535 is installed on the downstream side of pipe 533. The warm air sensor 535 detects the temperature of the air inside pipe 533.
[0123] A sterilization device 536 is installed on the downstream side of pipe 533 to sterilize the laundry in washing tank 503. The sterilization device 536 generates effective substances such as charged microparticle water. Air containing the effective substances generated by the sterilization device 536 is blown into the interior of washing tank 503 by circulating fan 534, thus sterilizing the laundry inside washing tank 503 with the effective substances.
[0124] Furthermore, a first foam sensor 541 and a second foam sensor 542 are installed inside the water tank 502 to detect the generation of foam inside the water tank 502. The first foam sensor 541 detects that more foam than a certain amount has been generated inside the water tank 502. The second foam sensor 542 detects that more foam than a certain amount has been generated inside the water tank 502. The first amount is greater than the second amount. In other words, the first foam sensor 541 detects that more foam has been generated than the second foam sensor 542.
[0125] Additionally, a warm water heater 543 for heating the washing water in the water tank 502 is provided at the bottom of the water tank 502. Furthermore, a warm water sensor 544 for detecting when the temperature of the washing water in the water tank 502 is higher than a specified temperature is provided at the bottom of the water tank 502.
[0126] An operation panel 560 is provided on the upper front side of the housing 501 to receive user input for operating the washing machine 500. The operation panel 560 can display the results corresponding to the user's input and output corresponding sounds. Furthermore, the operation panel 560 can display the calculation results of the control device 550 and output sounds indicating those results. Additionally, the operation panel 560 can display the operating status of the washing machine 500 and output sounds indicating that operating status. The communication unit 570 can communicate with external devices, such as a communication interface that can be connected to a computer network. The communication unit 570 can 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. Furthermore, the communication unit 570 can also be connected to a hub device (not shown) that is connected to the cloud server 10. In other words, the communication unit 570 can also be connected to the cloud server 10 via a hub device. The communication unit 570 can communicate with the hub device via infrared / near-field wireless communication or the communication interface illustrated above.
[0127] A control device 550 is provided in the housing 501. The control device 550 acquires detection results from various sensors, including a vibration sensor 507, a water level sensor 515, an air intake sensor 531, a warm air sensor 535, a first foam sensor 541, a second foam sensor 542, and a warm water sensor 544. Based on the detection results, the control device 550 controls the operation of the washing motor 504, the door lock mechanism 506, the water supply valve 511, the automatic dispensing machine 513, the bathtub water pump 516, the drain valve 523, the circulation pump 524, the heat pump 532, the circulating fan 534, the sterilization device 536, the warm water heater 543, and the control panel 560. Furthermore, the washing motor 504, door lock mechanism 506, water supply valve 511, automatic dispensing machine 513, bathtub water pump 516, drain valve 523, circulation pump 524, heat pump 532, circulation fan 534, sterilization device 536, and warm water heater 543 are examples of washing function units that operate in relation to washing laundry, and also examples of actuator 22 or heater 23. Additionally, various sensors such as vibration sensor 507, water level sensor 515, air intake sensor 531, warm air sensor 535, first foam sensor 541, second foam sensor 542, and warm water sensor 544 are examples of detection units that detect the operating status of the washing function unit. Furthermore, since the control device 550 controls the washing function unit, it can also function as a detection unit for detecting the operating status of the washing function unit. For example, the control device 550 can also measure the elapsed time of each action of the washing function unit to determine its operating status.
[0128] Here, the application program is described. In this embodiment, the application program (hereinafter sometimes simply referred to as the application) refers to the control program defined by multiple functional modules (hereinafter simply referred to as modules) for driving the actuator 22 and / or the heater 23. Each module of the multiple modules can contain parameters for driving the actuator 22 or the heater 23. Specifically, each module of the multiple modules is a module obtained by abstracting the control of the actuator 22 or the heater 23. Furthermore, each module of the multiple modules is an example of control information.
[0129] In addition to including multiple modules for driving actuator 22 and / or heater 23, the application may also include modules not used for driving actuator 22 and / or heater 23. An example of a module not used for driving actuator 22 and / or heater 23 includes information display using the interface of device 300, sound output using the buzzer of device 300, and lighting or extinguishing of lights of device 300. Furthermore, the module may also include conditions for starting to drive actuator 22 or heater 23. For example, an application including a first module and a second module will be described. Here, when switching to the second module during the execution of the first module, the switch occurs when the start condition included in the second module is met. Alternatively, the module may include an end condition instead of a start condition. When switching to the second module during the execution of the first module, the switch occurs when the end condition included in the first module is met.
[0130] Next, use Figures 6A to 6P A specific example of the module used to define the application for washing machine 500 is described. Figures 6A to 6P The modules shown are control information related to parameters used to control the operation of the washing function unit.
[0131] Figure 6A The first example of a module for defining an application is shown in Implementation 1. Figure 6A The module 1000 shown is used to control a washing volume detection operation that detects the amount of laundry, such as clothes, being placed in the washing tub 503. In the washing volume detection operation, for example, the torque current flowing through the washing motor 504 is detected by driving the washing motor 504, and the washing volume corresponding to the detected torque current is determined by referring to the memory of the control device 550, thereby detecting the determined washing volume as the washing volume in the washing tub 503.
[0132] Figure 6B This illustrates a second example of a module for defining an application in Implementation 1. Figure 6BModule 1010, as shown, is used to control the water supply to the water tank 502 and includes parameters 1011 and 1012. Parameter 1011 contains a value representing the amount of water supplied to the water tank 502, expressed as the water level after water supply. Parameter 1011 can also be described as representing the timing of the operation of actuator 22 and / or heater 23. Control device 550 performs control, for example, as follows: continuously supplying water until the water level in the water tank 502 detected by water level sensor 515 reaches the level indicated by parameter 1011, and then stopping the water supply when the water level reaches the level indicated by parameter 1011. Parameter 1012 contains parameters for specifying the water supply path. Specifically, parameter 1012 is a parameter for specifying whether the water supply is supplied through a first water supply path, where water is supplied from water supply pipe 512 by opening water supply valve 511, or through a second water supply path, where water is supplied from bathtub water pipe 517 by driving bathtub water pump 516. When water is supplied through the first water supply path, the control device 550 starts water supply by opening the water supply valve 511 and stops water supply by closing the water supply valve 511. When water is supplied through the second water supply path, the control device 550 starts water supply by starting to drive the bathtub water pump 516 and stops water supply by stopping to drive the bathtub water pump 516.
[0133] Furthermore, in the case of water supply using the second water supply path during water supply operation, if the water level does not reach the level indicated by parameter 1011 even after a specified period (e.g., 5 to 10 minutes), the control device 550 may switch from the second water supply path to the first water supply path to supply water.
[0134] Figure 6C This illustrates a third example of a module for defining an application in Implementation 1. Figure 6CModule 1020 shown is used to control the water filling and rinsing action of the water tank 502, and includes parameters 1021 to 1025. The water filling and rinsing action is an action in which water is supplied to the water tank 502 while the washing tub 503 is rotated to agitate the laundry and water, thereby rinsing the laundry. The water filling and rinsing action is, for example, the following action: while repeatedly supplying or draining water to move the water level in the water tank 502 up and down between the upper and lower water levels, the washing tub 503 is rotated to rinse the laundry. Parameter 1021 contains a value indicating the upper limit of the water level when water is supplied to the water tank 502 during the water filling and rinsing action. Parameter 1021 can also be said to be the water level that triggers the action of stopping water supply and opening the drain valve 523. Parameter 1022 contains a value indicating the lower limit of the water level when water is supplied to the water tank 502. Parameter 1022 can also be said to be the water level that triggers the action of starting water supply and closing the drain valve 523. As such, parameters 1021 and 1022 can also be described as representing the timing of the operation of actuator 22 and / or heater 23. Parameter 1023 contains a value representing the operation time of the water rinsing action. Parameter 1023 can also be described as representing the driving time of actuator 22 and / or heater 23. Parameter 1024 contains a value representing the rotational speed of the washing tub 503, that is, the rotational speed of the washing motor 504. Parameter 1025 contains a value representing the agitation intensity. The value representing the agitation intensity is, for example, a value representing the time from the start of one rotation of the washing tub 503 in the rinsing action until the rotational speed shown in parameter 1024 is reached. Parameters 1024 and 1025 can also be described as representing the driving intensity of actuator 22 and / or heater 23.
[0135] Figure 6D This illustrates a fourth example of a module for defining an application in Implementation 1. Figure 6D The module 1030 shown is for controlling the detergent dispensing action and includes parameter 1031. The detergent dispensing action is the action of automatically dispensing a predetermined amount of liquid detergent into the water supply pipe 512 by driving the actuator of the automatic dispensing machine 513. Parameter 1031 contains a value indicating the amount of liquid detergent dispensed into the water supply pipe 512. Parameter 1031 can also be described as representing the amount of action of the actuator used to cause the automatic dispensing machine 513 to dispense liquid detergent.
[0136] Figure 6E This illustrates a fifth example of a module for defining an application in Implementation 1. Figure 6EThe module 1040 shown is for controlling the fabric softener dispensing action and includes parameter 1041. The fabric softener dispensing action is the action of automatically dispensing a predetermined amount of fabric softener into the water supply pipe 512 by driving the actuator of the automatic dispensing machine 513. Parameter 1041 contains a value representing the amount of fabric softener dispensed into the water supply pipe 512. Parameter 1041 can also be described as representing the amount of actuation of the actuator used to cause the automatic dispensing machine 513 to dispense fabric softener.
[0137] Figure 6F The sixth example of a module for defining an application is shown in Implementation 1. Figure 6F Module 1050 shown is used to control the agitation action of the washing machine, and includes parameters 1051 to 1058. Parameter 1051 contains information indicating the type of agitation (e.g., normal, scrubbing, shaking). Parameter 1051 can also be described as indicating the type of function. Parameter 1052 contains a value indicating the rotational speed of the drum (washing tub 503), that is, the rotational speed of the washing motor 504. Parameter 1052 can also be described as indicating the driving intensity of the actuator 22 and / or heater 23. Parameter 1053 contains a value indicating the rotation time of one rotation of the washing tub 503 during the agitation action, that is, the driving time of the washing motor 504. Parameter 1054 contains a value indicating the time between one rotation of the washing tub 503 during the agitation action and the next rotation, that is, the stopping time of the washing motor 504. Parameter 1055 contains a value indicating the action time of the agitation action. Parameters 1053 to 1055 can also be described as indicating the driving time of the actuator 22 and / or heater 23. Parameter 1056 includes a value indicating the start of water supply to the water tank 502. That is, parameter 1056 includes a value indicating that the water supply valve 511 is open. Parameter 1056 can also be described as indicating the state after the actuator 22 and / or heater 23 is driven. Parameter 1057 includes a value indicating the rotation direction (forward or reverse) of the circulation pump. Parameter 1058 includes a value indicating the agitation intensity. The agitation intensity value is, for example, a value indicating the time from the start of one rotation of the washing tank 503 during the rinsing operation until the rotational speed shown in parameter 1052 is reached. Furthermore, module 1050 may also include parameters for driving the warm water heater 543 until the water temperature in the water tank 502 rises to a predetermined temperature.
[0138] The control device 550 performs agitation as indicated by parameter 1051 during the agitation operation. The control device 550 rotates the washing motor 504 at the speed indicated by parameter 1052 and the agitation intensity indicated by parameter 1058. When the operation time indicated by parameter 1055 has elapsed since the start of the agitation operation, the washing motor 504 is stopped. Additionally, the control device 550 opens the water supply valve 511 based on parameter 1056 during the agitation operation. Furthermore, the control device 550 operates the circulation pump 524 in the rotation direction indicated by parameter 1057 during the agitation operation.
[0139] Figure 6G The seventh example of a module for defining an application is shown in Implementation 1. Figure 6G Module 1060 shown is used to control the rotation of the drum, and includes parameters 1061 to 1065. Parameter 1061 includes a value indicating the rotational speed of the drum (washing tub 503), that is, the rotational speed of the washing motor 504. Parameter 1061 can also be described as indicating the intensity of the drive of actuator 22 and / or heater 23. Parameter 1062 includes a value indicating the direction of rotation of the drum (washing tub 503). Parameter 1062 can also be described as indicating the type of operation of actuator 22 and / or heater 23. Parameter 1063 includes a value indicating whether the operation of automatically dispensing a predetermined amount of liquid detergent into the water supply pipe 512 by driving the actuator of the automatic dispensing machine 513 is started (ON) or stopped (OFF). Parameter 1064 includes a value indicating the start of water supply into the water tank 502. That is, parameter 1064 includes a value indicating that the water supply valve 511 is in the open state. Parameter 1064 can also be described as indicating the state after the actuator 22 and / or heater 23 is driven. Parameter 1065 includes a value indicating the rotation direction (forward or reverse) of the circulation pump 524. Additionally, module 1060 may also include parameters for driving the warm water heater 543 until the water temperature in the tank 502 rises to a predetermined temperature.
[0140] During drum rotation, control device 550 causes washing motor 504 to rotate at the speed indicated by parameter 1061 and in the rotation direction indicated by parameter 1062. Additionally, during drum rotation, control device 550 opens water supply valve 511 based on parameter 1063. Furthermore, during drum rotation, control device 550 causes circulation pump 524 to operate in the direction indicated by parameter 1064.
[0141] Figure 6H The eighth example of a module for defining an application is shown in Implementation 1. Figure 6HThe module 1070 shown is for controlling the spin-drying operation and includes parameters 1071 and 1072. Parameter 1071 contains a value representing the rotational speed of the drum (washing tub 503), that is, the rotational speed of the washing motor 504. Parameter 1071 can also be described as representing the driving intensity of the actuator 22 and / or heater 23. Parameter 1072 contains a value representing the operating time of the spin-drying operation. During the spin-drying operation, the control device 550 causes the washing motor 504 to rotate at the speed indicated by parameter 1071, and stops the washing motor 504 when the operating time indicated by parameter 1072 has elapsed since the start of the spin-drying operation.
[0142] Figure 6I The ninth example of a module for defining an application is shown in Implementation 1. Figure 6I The module 1080 shown is for controlling the drainage action of draining water from the sink 502, and includes parameters 1081 and 1082. Parameter 1081 contains a value indicating the open or closed state of the drain valve 523. Parameter 1082 contains a value indicating the water level that triggers the cessation of drainage. During the drainage action, the control device 550 initiates the drainage action by opening the drain valve 523 to drain the washing water in the sink 502 out of the washing machine 500. When the water level sensor subsequently detects that the water level in the sink 502 is the level indicated by parameter 1082, the control device 550 closes the drain valve 523 to terminate the drainage action.
[0143] Figure 6J The tenth example of a module for defining an application is shown in Implementation 1. Figure 6J The module 1090 shown is for controlling the door lock operation and includes parameter 1091. Parameter 1091 contains a value indicating whether the door lock mechanism 506 is in a locked or unlocked state. Parameter 1091 can also be described as indicating the state after the actuator 22 and / or heater 23 is actuated. When parameter 1091 indicates that the door lock mechanism 506 is 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 the locked state. When parameter 1091 indicates that the door lock mechanism 506 is in a unlocked state and the door lock mechanism 506 is in a locked state, the control device 550 switches the door lock mechanism 506 to the unlocked state.
[0144] Figure 6K The eleventh example of a module for defining an application is shown in Implementation 1. Figure 6KThe module 1100 shown is for controlling the impregnation operation and includes parameters 1101 and 1102. Parameter 1101 contains a value indicating the rotation direction (forward or reverse) of the circulation pump 524. Parameter 1102 contains a value indicating the operation time of the impregnation operation. The control device 550 causes the circulation pump 524 to operate in the rotation direction indicated by parameter 1101, and stops the circulation pump 524 when the operation time indicated by parameter 1102 has elapsed since the start of the impregnation operation.
[0145] Figure 6L The twelfth example of a module for defining an application is shown in Implementation 1. Figure 6L Module 1110, shown, is used to control sterilization and antibacterial actions and includes parameters 1111 and 1112. Parameter 1111 contains a value representing the operating time for driving the sterilization device 536 and the circulating fan 534. Parameter 1112 contains a value representing the rotational speed of the circulating fan 534. During sterilization and antibacterial actions, the control device 550 drives the sterilization device 536 and the circulating fan 534, and stops them after the operating time indicated by parameter 1111 has elapsed. During sterilization and antibacterial actions, the control device 550 drives the circulating fan 534 at the rotational speed indicated by parameter 1112.
[0146] Figure 6M The thirteenth example of a module for defining an application is shown in Implementation 1. Figure 6M The module 1120 shown is for controlling the operation of the buzzer and includes parameter 1121. Parameter 1121 contains a value representing the operating time for driving the speaker of the operation panel 560. The control device 550 outputs a buzzing sound during buzzer operation and stops outputting the buzzing sound when the operating time shown in parameter 1121 has elapsed since the start of the buzzing sound output.
[0147] Figure 6N The fourteenth example of a module for defining an application is shown in Implementation 1. Figure 6N Module 1130, shown, is for controlling the air supply operation and includes parameters 1131 and 1132. Parameter 1131 contains a value representing the operating time for driving the circulating fan 534. Parameter 1132 contains a value representing the temperature of the air blown into the water tank 502 by the circulating fan 534. Control device 550 drives the circulating fan 534 during the air supply operation and stops the circulating fan 534 when the operating time indicated by parameter 1131 has elapsed since the start of driving the circulating fan 534. Alternatively, control device 550 drives the circulating fan 534 during the air supply operation and stops the circulating fan 534 when the temperature drops below the level indicated by parameter 1132 after the start of driving the circulating fan 534 is detected by the warm air sensor 535.
[0148] Figure 6O The fifteenth example of a module for defining an application is shown in Implementation 1. Figure 6O The module 1140 shown is for controlling the drying operation and includes parameter 1141. Parameter 1141 includes values representing drying modes (operation modes) such as low temperature, standard, and thorough drying. Specifically, in low temperature mode, drying is performed at a low temperature where the temperature inside the washing tank 503 is below a specified temperature. In standard mode, drying is performed at a standard temperature where the temperature inside the washing tank 503 is above a specified temperature. In thorough mode, drying continues for a certain period of time after the washing tank 503 is detected to be in a dry state. The control device 550 determines that the drying state is reached when the difference between the temperature on the intake side detected by the intake air sensor 531 and the temperature on the exhaust side detected by the warm air sensor 535 is less than a specified difference. In addition, each mode can also be composed of a combination of the drying action time [m], the fan speed of the circulating fan 534 [rpm], the drying detection temperature [deg] obtained by the air intake sensor 531 and / or the warm air sensor 535, the same type of stirring as parameter 1051, the same drum speed as parameter 1052, the same drum start (ON) time [s] as parameter 1053, and the same drum stop (OFF) time [s] as parameter 1054.
[0149] Figure 6P The sixteenth example of a module for defining an application is shown in Implementation 1. Figure 6P Module 1150, shown, is used to control the foam generation operation and includes parameters 1151 to 1153. Parameter 1151 contains a value indicating the rotational speed of the washing tub 503, which is the rotational speed of the washing motor 504. Parameter 1152 contains a value indicating the rotational direction of the drum (washing tub 503). Parameter 1152 can also be described as indicating the type of operation of the actuator 22 and / or heater 23. Parameter 1153 contains a value indicating the duration of the foam generation operation. During the foam generation operation, the control device 550 causes the washing motor 504 to rotate at the speed indicated by parameter 1151, and stops the washing motor 504 when the duration indicated by parameter 1153 has elapsed since the start of the foam generation operation.
[0150] To specify the application, use, for example Figures 6A to 6P The multiple modules shown. In addition... Figures 6A to 6P The modules shown are illustrative, and the modules used in the washing machine 500 are not limited to these modules. For example, multiple modules can also be layered according to the level of abstraction.
[0151] For example, the level of abstraction can be changed by using manufacturer-oriented and non-manufacturer-oriented layers. Examples of non-manufacturer-oriented layers are layers oriented towards other manufacturers and layers oriented towards third parties.
[0152] At this point, the level of abstraction in the manufacturer-oriented layer is lower than that in the non-manufacturer-oriented layer. Lower abstraction means controlling things that are closer to the parameters used to drive actuators and heaters.
[0153] On the other hand, manufacturers enable non-manufacturers to develop applications by providing them with modules at the minimum level of abstraction that ensures technical know-how and security. Manufacturers, in turn, enable more people to develop applications by providing ordinary users with modules at higher levels of abstraction. Higher levels of abstraction correspond, for example, to modules defined by terminology that can be understood even by ordinary users without specialized knowledge. Terminology that can be understood even without specialized knowledge includes content that corresponds to the function itself of a household appliance. Specifically, if "sufficient" is chosen as the parameter related to the water volume in the "washing" module of a washing machine, changes can be made at a specific level, such as increasing the water level parameter in the water supply module from 60mm to 100mm and decreasing the rotation speed parameter in the agitator module from 120rpm to 100rpm. As described above, the sequencing of modules at higher levels of abstraction and parameter changes can be achieved using modules at lower levels of abstraction. With these modules, application development can be freely carried out through their reconfiguration and parameter adjustments while ensuring security and confidentiality related to the driving of actuators and heaters.
[0154] [1.3 Processing]
[0155] Next, refer to Figure 7 The processing of System 1, as described above, will be explained. Figure 7 This is a sequence diagram of system 1 in implementation method 1.
[0156] [1.3.1 Preparation Phase F100]
[0157] First, let's explain the preparation phase of F100.
[0158] (Step S110)
[0159] Serial manager 100 sends serial manager information to device manager 200. This sending of serial manager information is, for example, based on a command from a system administrator. Device manager 200 registers the received serial manager information in, for example, a serial manager database. Alternatively, this step can be skipped if the serial manager information is pre-registered in the serial manager database.
[0160] The sequence manager information may include, for example, the identifier and / or address of the sequence manager 100 (e.g., URL (Uniform Resource Locator), IP (Internet Protocol) address, etc.). Furthermore, the sequence manager information may also contain arbitrary information.
[0161] (Step S112)
[0162] Device 300 sends device information 1201 to device manager 200. This sending of device information 1201 occurs, for example, when device 300 is connected to a computer network. Device manager 200 registers the received device information 1201 in device database 1200. Alternatively, this step can be skipped if device information 1201 is pre-registered in device database 1200.
[0163] In addition, device information 1201 can also be registered in device manager 200 via UI 400 after being sent to UI 400.
[0164] Device information 1201 contains the identifier and / or address of device 300. Furthermore, device information 1201 may also contain arbitrary information. Figure 8 An example of a device database in Implementation 1 is shown. Figure 8 The device database 1200 contains multiple pieces of device information, including device information 1201. Each piece of device information includes a device ID, address, category, manufacturer name, actuator / heater, and degradation level. The actuator / heater is the identification information of the actuator 22 and / or heater 23 constituting the device 300. The degradation level is an example of degradation information indicating whether the actuator 22 and / or heater 23 constituting the device 300 has deteriorated. Here, regarding the degradation level, an increase in the value indicates that the degradation has worsened. The device information 1201 may also include information about executable modules. Information related to executable modules may be information related to whether modules contained in the database can or cannot be executed, or it may simply be information about executable modules. In addition, whether a module can be executed can be prepared in advance based on information such as actuators / heaters contained in the device information 1201.
[0165] In addition, equipment information 1201 may also include information that can identify facilities 2a to 2d.
[0166] (Step S114)
[0167] UI 400 sends UI information to Device Manager 200. This sending of UI information is, for example, based on user instructions. Device Manager 200 registers the received UI information in, for example, a UI database. Alternatively, if the UI information is pre-registered in the UI database, this step can be skipped.
[0168] UI information may include, for example, the identifier and / or address of UI 400. Furthermore, UI information can also contain arbitrary information.
[0169] In addition, UI information can also include information that can identify facilities 2a to 2d.
[0170] Through the above processing, the Sequence Manager 100, Device Manager 200, Device 300, and UI 400 are interconnected and can establish connections with each other. Thus, the preparation phase F100 ends.
[0171] [1.3.2 Application Execution Pre-Phase F200]
[0172] Next, the application execution pre-stage F200 will be explained. Furthermore, prior to the application execution pre-stage F200, the application is downloaded to the sequence manager 100 from the application distribution platform according to the user's instructions via UI 400. The following processing is performed once the application has been downloaded to the sequence manager 100.
[0173] (Step S210)
[0174] UI 400 receives an application execution request from the user and sends the request, which includes the application's identification information, to Sequence Manager 100. For example, the user selects an application from among multiple applications downloaded to Sequence Manager 100 via UI 400 and instructs the selected application to be executed.
[0175] In addition, application execution requests sent from UI 400 to sequence manager 100 are sent in groups along with information that can determine facilities 2a to 2d.
[0176] Furthermore, application execution requests do not necessarily have to be explicitly received from the user. For example, user actions or states can be detected, and application execution requests can be automatically sent to the sequence manager 100 based on the detection results.
[0177] (Step S212)
[0178] The sequence manager 100 sends the execution content declaration of the application identified based on the application execution request to the device manager 200. The execution content declaration contains information specifying multiple modules of the application to be executed, as well as information that can identify facilities 2a to 2d.
[0179] Figure 9 This is a diagram illustrating an example of an execution content declaration in Implementation 1. Figure 9 The diagram shows the method for using Figures 6A to 6P The execution content declaration 1300 of the application program, which combines multiple modules used in the washing machine shown, is defined. The execution content declaration 1300 includes multiple modules 1301, device-related information 1302 required to execute each module 1301, and sequence information 1303 relating to the order in which the modules 1301 are executed. The execution content declaration 1300 is an example of washing information.
[0180] Furthermore, the execution content declaration 1300 may not include device-related information 1302. In this case, the device manager 200 needs to retrieve, based on the information of multiple modules 1301, the devices capable of executing that module in the facilities shown in the received facility information and perform device allocation.
[0181] In addition, Figure 9 In this context, the equipment-related information 1302 indicates the model of the equipment 300, but is not limited to this. The equipment-related information 1302 can be any information as long as it can represent the conditions under which the equipment 300 can be assigned to the module. For example, the equipment-related information 1302 can include multiple models, or it can only include the equipment category, purpose of use, location of configuration, or any combination thereof.
[0182] (Step S214)
[0183] Based on information that can determine facilities 2a to 2d, device manager 200 assigns devices 300 associated with device manager 200 to each module contained in execution content declaration 1300. For example, device manager 200 assigns devices 300 to... Figure 9 The multiple modules 1301 shown are each assigned to a specific location. Figure 8 Device DEV001, registered in device database 1200 as having completed connection with the facility shown in the received facility information and having model number WM-0001, can also be disabled for device 300 while managing its operational status or connection status to the cloud.
[0184] In addition, for example in Figure 9 If the multiple modules shown are not registered as having been connected to the facility indicated by the received facility information, that is, if there is no object device in the facility, the device manager 200 notifies the sequence manager 100 that the application that has formed an execution content declaration cannot be executed.
[0185] (Step S215)
[0186] Device Manager 200 notifies Device 300 of the device allocation result. As a result, multiple modules contained in the application are sent to the allocated Device 300.
[0187] (Step S216)
[0188] Device 300 validates the module before execution. That is, device 300 checks whether any problems might arise during module execution. For example, device 300 checks for safety and / or efficiency issues.
[0189] Then, device 300 modifies the module based on the confirmation results. This corrects the module to prevent problems from arising.
[0190] Reference Figure 10 This pre-execution confirmation process will be explained in more detail. Figure 10 A flowchart of the pre-execution confirmation process in Implementation 1 is shown.
[0191] (Step S2165)
[0192] Device 300 acquires the rules corresponding to the modules. These rules relate to the washing sequence. The rules specify whether the execution content declaration 1300 of the second module (second control information) following the first module (first control information) is permitted. In other words, the rules specify whether the order of consecutive execution of two modules within the multiple modules 1301 specified in the execution content declaration 1300 is permitted. For example, device 300 refers to a rule database to obtain the conditions under which the order of consecutive execution of two modules is not permitted. The rule database may be contained within device 300, sequence manager 100, or device manager 200.
[0193] Below, refer to Figure 11 Let me explain in detail the rules specified in rule database 1400. Figure 11 An example of a rule database in Implementation 1 is shown. Figure 11 The rule database 1400 contains rule 1401, rule 1402, rule 1403, rule 1404, and rule 1405. Each of these rules specifies the circumstances under which the second module (second control information) is not allowed to execute after the first module (first control information). In other words, each of these rules relates to the washing sequence.
[0194] In the first rule 1401, the following situations are not permitted: the first module contains parameters related to the water supply to the water tank 502 of the washing machine 500, and the second module contains parameters for controlling operations performed in a water-restricted environment. The first module in this case is, for example, modules 1010, 1020, 1050, and 1060. Operations performed in a water-restricted environment include operations that are not permitted when water is stored in the water tank 502. A water-restricted environment specifically refers to a situation where the water level in the water tank 502 is lower than a specified water level (e.g., the lowest water level that a water level sensor can detect). In other words, water being stored in the water tank 502 means a situation where the water level in the water tank 502 is above the specified water level. The second module is, for example, modules 1000, 1070, and 1110. The washing load detection operation of module 1000 is performed in a water-restricted environment because it is difficult to accurately detect the amount of laundry when the laundry is submerged in water. Furthermore, the dehydration operation of module 1070 is performed in a water-free environment because it is difficult to effectively dehydrate laundry when it is submerged in water. Additionally, the sterilization and antibacterial operation of module 1110 is performed in a water-free environment because, when laundry is submerged in water, even releasing air containing functional substances such as charged microparticle water into the washing tank 503 cannot fully realize the performance of these functional substances.
[0195] In Rule 1402, the following situations are not permitted: the first module contains parameters related to heating within the water tank 502 of the washing machine 500, and the second module contains parameters for controlling operation performed in a heat-prohibited environment. In this case, the first module is, for example, module 1140. Alternatively, the first module in this case could be modules 1050, 1060, etc., which contain parameters for driving the warm water heater 543 until the temperature of the washing water in the water tank 502 reaches a predetermined water temperature (e.g., 60 degrees Celsius) or higher. Operation performed in a heat-prohibited environment includes operations that are not permitted when the temperature within the water tank 502 is above the predetermined temperature. A heat-prohibited environment specifically refers to a situation where the temperature of the space within the water tank 502 is lower than the predetermined temperature, or the temperature of the washing water within the water tank 502 is lower than the predetermined water temperature. The second module could be, for example, module 1080 where parameter 1081 indicates the drain valve 523 is open, or module 1090 where parameter 1091 indicates the door lock is released, etc. The drainage operation of module 1080 is performed in a heat-free environment to prevent the drain pipe of washing machine 500 from deforming or breaking due to heat as hot water flows through it. The door lock release operation of module 1090 is performed in a heat-free environment to prevent the user from coming into contact with hot laundry when opening door 505 to remove laundry from the washing tub 503.
[0196] In Rule 1403, the following is not permitted, for example: the first module contains parameters related to the rotation of the washing tub 503 of the washing machine 500 containing water, and the second module contains parameters for controlling operation performed in a restricted environment. The first module in this case is, for example, modules 1050, 1060, 1070, etc. Operation performed in a restricted environment includes operations that do not allow the water surface in the tub 502 (or washing tub 503) to slosh. A restricted environment specifically refers to a situation where the tub 502 (or washing tub 503) vibrates less than a specified amplitude (or is at rest) or is stationary. The second module is, for example, modules 1010, 1020, etc. Module 1010 is an operation performed in a restricted environment because it is difficult to accurately detect the water level when the water surface is sloshing.
[0197] Furthermore, although not illustrated, if, for example, a module that performs a stirring action while simultaneously performing a water supply action starts a stirring action and then starts a water supply action after a specified time, the sub-module for the stirring action can be considered as the first module, and the sub-module for the water supply action can be considered as the second module.
[0198] In Rule 1404, the following conditions are not permitted: the first module contains parameters related to air supply to the water tank 502 (or washing tub 503) of the washing machine 500, and the second module contains parameters for controlling operation performed in a restricted environment. The first module in this case is, for example, modules 1130, 1140, etc. Operation performed in a restricted environment includes operations that do not allow the water surface in the water tank 502 (or washing tub 503) to slosh. A restricted environment specifically refers to a situation where the water level in the water tank 502 (or washing tub 503) vibrates with a specified amplitude (or a specified displacement) or remains stationary. The second module is, for example, modules 1010, 1020, etc. Module 1010 is an operation performed in a restricted environment because it is difficult to accurately detect the water level when the water surface is sloshing.
[0199] In Rule 5 1405, the following is not permitted, for example: a first module contains parameters for rotating the washing tub 503 of the washing machine 500 by a first rotation, and a second module contains parameters for rotating the washing tub 503 by a second rotation different from the first rotation. Here, the difference between the first and second rotations can mean that their respective rotational speeds are different. That is, the first rotational speed of the first rotation can be different from the second rotational speed. Alternatively, the difference between the first and second rotations can also mean that their respective rotational directions are different. That is, the direction of the first rotation can be different from the direction of the second rotation.
[0200] In this case, the first module is, for example, module 1050, 1060, 1070, etc. The second module is, for example, module 1050, 1060, 1070, etc., whose rotation is different from that of the first module.
[0201] In addition, Figure 11 In this context, each of the rules 1401 (first rule), 1402 (second rule), 1403 (third rule), 1404 (fourth rule), and 1405 (fifth rule) specifies a situation where the execution of the second module following the first module is not permitted, but it is also possible to specify a situation where the execution of the second module following the first module is permitted. Even in this case, it can be defined as not allowing the execution of a combination of the first and second modules that is not specified as a rule.
[0202] For example, there exists a situation where the parameters of the actuator 22 or heater 23 can be safely changed based on the environment of the device 300, such as the internal space of the housing 21, and the order of permitted modules does not solely depend on the performance of the actuator 22 or heater 23 itself. Therefore, prioritizing safety considerations from highest to lowest in order to ensure safe operation in any environment reduces the scope for developing diverse applications. Thus, rules can also correspond to information about the device 300, etc., independently of the application. By using such rules, both safety and the development of diverse applications can be balanced.
[0203] The rules are associated with multiple modules combined in a sequence that allows for the safe operation of actuator 22 or heater 23. This sequence of modules, combined in a safe operating order, can also be derived by considering the start or end conditions of the modules. By executing the first module before the start condition of the second module is met, the order in which modules are executed, assuming a load that would affect the safety of actuator 22 or heater 23, can be set. In other words, the order in which modules are executed depends on the performance of actuator 22 or heater 23, the start or end conditions of the modules, etc.
[0204] Each of the rules 1401, 1402, 1403, 1404, and 1405 may also have a category, manufacturer name, and actuator / heater. Thus, device 300 can retrieve from the rule database 1400 the rule corresponding to the actuator 22 or heater 23 driven by the module.
[0205] (Step S2166)
[0206] Device 300 determines whether execution of the second module following the first module is permitted. If it is determined that execution of the second module following the first module is not permitted (S2166: "No"), device 300 skips the subsequent step S2167 and ends the pre-execution confirmation process. Conversely, if it is determined that execution of the second module following the first module is permitted (S2166: "Yes"), device 300 proceeds to the next step S2167.
[0207] (Step S2167)
[0208] Device 300 modifies the execution content declaration 1300 based on the rules in rule database 1400 and terminates the pre-execution confirmation process. Modification of the execution content declaration 1300 may, for example, involve adding a third module (third control information) to the execution content declaration 1300 as control information for the execution order following the first module. Modification of the execution content declaration 1300 may, for example, involve modifying information in the execution content declaration 1300 related to parameters contained in the first module or information related to parameters contained in the second module. Modification of the execution content declaration 1300 may, for example, involve restricting the execution of the second module. Alternatively, modification of the execution content declaration 1300 may also refer to any combination of the above-mentioned addition of modules, modification of parameters, and restriction of the execution of the second module.
[0209] Reference Figures 12-20 A specific example of the modification to such execution content declaration 1300 is explained.
[0210] Figure 12 This illustrates a first example of a modification to the execution content declaration in Implementation 1. Figure 12 In the execution content declaration, it is shown that module 1070, which performs a dehydration operation in a water-free environment, is executed after module 1010, which performs the water supply operation. This is not permitted under the first rule 1401, so the control device 550 adds module 1080, which includes parameters related to the drainage from the water tank 502, as control information for the order of execution after module 1010. That is, even if the dehydration operation is set to be performed after the water supply operation, the control device 550 will add the drainage operation between the water supply operation and the dehydration operation. Therefore, the water tank 502 can be made into a water-free environment before the dehydration operation begins, thereby enabling efficient dehydration.
[0211] In addition, Figure 12 Similarly, even if module 1110, which replaces module 1070 for the dehydration action, is set up to perform sterilization and antibacterial actions, a module 1080 for the drainage action can be added between module 1010 and module 1110. This allows the sink 502 to be made a water-free environment before the sterilization and antibacterial actions begin, thereby effectively sterilizing the laundry.
[0212] In addition, Figure 12 In the case of the module 1020 which is set to inject water instead of the module 1010, or the module 1050 which includes the parameters of the water supply action and the module 1060 which includes the drum rotation action, the same effect can be obtained by adding a module 1080 for the drainage action immediately after these modules.
[0213] Figure 13 This illustrates a second example of a modification to the execution content declaration in Implementation 1. Figure 13 In, with Figure 12 Similarly, the execution content declaration shows a case where module 1070 performs a dehydration operation in a water-free environment, following module 1010 which performs the water supply operation. This is not permitted under the first rule 1401, therefore the control device 550 can also generate a new module 1070A by adding a parameter 1073 related to drainage from the water tank 502 immediately before module 1070. Parameter 1073 indicates that the drain valve 523 is controlled to be open. Therefore, the water tank 502 can be made into a water-free environment before the dehydration operation begins, thereby enabling efficient dehydration.
[0214] In addition, Figure 13 In the same way, even if module 1110, which is set to perform sterilization and antibacterial actions instead of module 1070 for the dehydration action, is also set, module 1110 can be modified by adding parameter 1073 immediately before module 1110. As a result, the water tank 502 can be made into a water-free environment before the sterilization and antibacterial actions begin, thereby effectively sterilizing the laundry.
[0215] In addition, Figure 13 In the case of the module 1020 which is set to inject water instead of the module 1010, or the module 1050 which includes parameters for the water supply action and the module 1060 which includes the drum rotation action, the same effect as described above can be obtained by adding parameter 1073 to the module immediately following these modules to drain water before the module is about to perform its action.
[0216] Figure 14 This illustrates a third example of a modification to the execution content declaration in Implementation 1. Figure 14In the execution content declaration, it is shown that module 1000 performs a washing volume detection operation as an operation performed in a water-free environment, following module 1010 which performs the water supply operation. This is not permitted under the first rule 1401, therefore the control device 550 restricts the execution of module 1000 in the order of execution following module 1010. Specifically, the control device 550 deletes module 1000 or skips the execution of module 1000. In addition, when the control device 550 reads and executes modules sequentially, it can also restrict the execution of module 1000 by stopping operation after the execution of module 1010 is completed. Therefore, it is possible to suppress the washing volume detection operation in environments where it is difficult to detect the amount of laundry with high accuracy. Therefore, it is possible to reduce the power consumption of the washing volume detection operation.
[0217] Figure 15 This illustrates a fourth example of a modification to the execution content declaration in Implementation 1. Figure 15 In the execution content statement, it is shown that module 1090, which performs a door unlocking action as an operation performed in a heat-free environment, is executed after module 1140, which performs the drying action. This is not permitted under the second rule 1402, so the control device 550 adds module 1130, which includes air supply action parameters related to heat dissipation within the washing tub 503, as control information for the sequence of execution after module 1140. That is, even if the door unlocking action is set to be performed after the drying action, the control device 550 will add an air supply action between the drying action and the door unlocking action. Therefore, the temperature inside the washing tub 503 can be reduced to below a specified temperature before the door unlocking action begins, thereby preventing the user from coming into contact with hot laundry. In addition, instead of module 1130 which adds air supply action, parameters for performing air supply action can be added to module 1090 which performs door lock release action so that air supply action is performed before door lock release action is about to be performed. Parameters for performing air supply action can also be added to module 1140 which performs drying action so that air supply action is performed before door lock release action is about to be performed.
[0218] Figure 16 This illustrates a fifth example of a modification to the execution content declaration in Implementation Method 1. Figure 16In the execution content statement, it is shown that module 1080, which performs a drainage operation as an operation performed in a heat-prohibited environment, follows module 1050, which performs an agitation operation using hot water above a specified temperature. This is not permitted under the second rule 1402, therefore the control device 550 adds a standby operation module 1150 containing parameters related to heat dissipation as control information for the sequence of execution following module 1050. In the standby operation based on module 1150, the control device 550 waits for the next module 1080 to be executed until a specified period (e.g., 10 minutes) has elapsed. That is, even if the drainage operation is set to follow the agitation operation using hot water, the control device 550 will add a standby operation between the agitation operation using hot water and the drainage operation. Therefore, the temperature of the washing water in the tub 502 can be reduced to below a specified temperature before the drainage operation begins, thereby preventing hot water from flowing to the drain pipe outside the washing machine 500. Furthermore, instead of adding a standby operation module 1150, parameters for performing a standby operation can be added to the drainage operation module 1080 to perform a standby operation before the drainage operation is about to begin. Similarly, parameters for performing a standby operation can be added to the stirring operation module 1050 to perform a standby operation before the drainage operation is about to begin. Furthermore, while a standby operation is listed as an example of an operation for heat dissipation, it is not limited to this; heat dissipation can also be achieved by performing a drainage operation after the water supply operation.
[0219] Figure 17 This illustrates a sixth example of a modification to the execution content declaration in Implementation 1. Figure 17 In the execution content statement, it is shown that module 1010, which performs a water supply operation as an operation performed in a restricted environment, follows module 1050, which performs the stirring operation. This is not permitted under the third rule 1403. Therefore, the control device 550 adds module 1150, which includes parameters related to the action of standing still for a specified period (e.g., 1 minute) without any operation, as control information for the order of execution following module 1050. That is, even if the water supply operation is set to be performed after the stirring operation, the control device 550 will add a standby operation between the stirring operation and the water supply operation. Therefore, it is possible to make the water tank 502 (or washing tank 503) vibrate less than a specified amplitude (or a specified displacement) or remain still before the water supply operation begins, thereby reducing the sloshing of the water surface. In addition, instead of adding a standby action module 1150, parameters for performing standby action can be added to the water supply action module 1010 to perform standby action before the water supply action is about to be performed, and parameters for performing standby action can also be added to the stirring action module 1050 to perform standby action before the water supply action is about to be performed.
[0220] In addition, Figure 17In this system, even if a module 1020 is set to perform a water injection action instead of a module 1010 for water supply action, or a module 1050 for stirring action containing parameters for water supply action, or a module 1060 for drum rotation action, a standby action module 1150 can also be added between the stirring action and the module containing parameters for water supply action. Therefore, the water tank 502 can be made into a non-operational environment before the water supply action begins, thereby enabling effective detection of the water level in the water tank 502 during the water supply action.
[0221] In addition, Figure 17 In the case of the module 1060, which replaces the stirring action module 1050 and sets up the drum rotation action, the same effect as described above can be obtained by adding a standby action module 1150 immediately after this module.
[0222] Figure 18 This illustrates a seventh example of a modification to the execution content declaration in Implementation 1. Figure 18 In the execution content declaration, it is shown that the water supply operation, which is performed in a restricted environment, is executed after the air supply operation module 1130. This is not permitted under the fourth rule 1404. Therefore, the control device 550 adds a standby operation module 1150 containing parameters related to the operation of standing still for a specified period (e.g., 1 minute) without any operation, as control information for the order of execution after module 1130. That is, even if the water supply operation is set to be executed after the air supply operation, the control device 550 will add a standby operation between the air supply operation and the water supply operation. Therefore, the sloshing of the water surface can be reduced before the water supply operation begins. In addition, instead of adding a standby operation module 1150, parameters for performing a standby operation can be added to the water supply operation module 1010 to perform a standby operation before the water supply operation is about to begin, and parameters for performing a standby operation can also be added to the air supply operation module 1130 to perform a standby operation before the water supply operation is about to begin.
[0223] In addition, Figure 18 In this system, even if a module 1020 is set to perform a water injection action instead of the module 1010 for water supply action, or a module 1050 for stirring action containing parameters for water supply action, or a module 1060 for drum rotation action, a standby action module 1150 can also be added between the air supply action and the module containing parameters for water supply action. Therefore, the water tank 502 can be made a non-operational environment before the water supply action begins, thereby enabling effective detection of the water level in the water tank 502 during the water supply action.
[0224] Figure 19 This illustrates an eighth example of a modification to the execution content declaration in Implementation 1. Figure 19In the execution content declaration, it is shown that a module 1050, which operates using a different rotation than the dehydration operation, is executed after the dehydration operation of module 1070. This is not permitted under Rule 1405, therefore, the control device 550 adds a module 1150 containing parameters related to an operation that remains idle for a specified period (e.g., 30 seconds) as control information for the order of execution after module 1070. That is, even if an agitation operation using a different rotation than the dehydration operation is set to be executed after the dehydration operation, the control device 550 will add a standby operation between the dehydration operation and the agitation operation. Therefore, the washing tank 503 can be stopped before the agitation operation starts, making it easy to switch to a different rotational agitation operation. Furthermore, instead of adding a standby action module 1150, parameters for performing a standby action can be added to the stirring action module 1050 to perform a standby action before the stirring action is about to begin. Similarly, parameters for performing a standby action can be added to the dehydration action module 1070 to perform a standby action before the stirring action is about to begin. Moreover, the two modules are not limited to a combination of dehydration and stirring actions. They can also be used as a combination of stirring, drum rotation, and both of the three actions; a combination of stirring actions with different rotations following a stirring action; a combination of drum rotation actions with different rotations following a drum rotation action; or a combination of dehydration actions with different rotations following a dehydration action. Furthermore, instead of adding a standby action, an action to brake the rotation of the washing tub 503 can be added to stop the rotation of the washing tub 503.
[0225] Figure 20 This illustrates a ninth example of a modification to the execution content declaration in Implementation Method 1. Figure 20 In the execution content declaration, it is shown that module 1050B, which includes a stirring action, is executed after module 1070B, which includes a dehydration action. This stirring action uses a rotation different from the rotation of the dehydration action. Module 1070B includes a parameter 1074 for standby immediately following module 1070, which includes the dehydration action. Additionally, module 1050B includes a parameter 1057 for standby immediately preceding module 1050, which includes the stirring action. Thus, in module 1050B, which is set to execute after module 1070B, parameter 1057 is repeated with parameter 1074. In this case, control device 550 deletes the repeated parameter 1074. Alternatively, control device 550 may delete parameter 1057 instead of deleting parameter 1074.
[0226] Here, return to Figure 7 Explanation.
[0227] (Step S217)
[0228] Device 300 sends the result of pre-execution confirmation to Device Manager 200. If a module has been changed, the changed module can also be sent to Device Manager 200.
[0229] (Step S218)
[0230] Device Manager 200 responds to Serial Manager 100 with the device allocation result. Additionally, if a module was changed during pre-execution confirmation, an application containing the changed module can be sent to Serial Manager 100.
[0231] (Step S220)
[0232] The sequence manager 100 receives the allocation result notification from the device manager 200 and notifies the user via the UI 400 that the preparation is complete.
[0233] (Step S222)
[0234] UI 400 displays a list of devices running the application and a graphical user interface (GUI) for displaying input used to confirm user acceptance of the application. UI 400 can also display changes assigned to user acceptance devices. Alternatively, UI 400 may choose not to display a list of devices.
[0235] (Step S224)
[0236] UI 400 accepts the user's confirmation input and sends an application start instruction to Device Manager 200. Device Manager 200 then forwards the application start instruction to Serial Manager 100.
[0237] In addition, steps S220, S222 and S224 provide information to the user again before executing the application, but these steps can be omitted since they may increase the user's workload.
[0238] Through the above actions, the application execution pre-stage F200 ends.
[0239] [1.3.3 Application Execution Phase F300]
[0240] Next, the application execution phase F300 will be explained.
[0241] (Step S310)
[0242] The sequence manager 100 receives an application start instruction and selects the initial module (first module) from the multiple modules contained in the application. Then, the sequence manager 100 sends an execution instruction for the selected first module to the device manager 200.
[0243] Furthermore, when multiple modules are operating consecutively, the sequence manager 100 can also summarize the execution instructions of multiple modules and send them to the device manager 200.
[0244] Based on the execution instruction of the first module received from the sequence manager 100, the device manager 200 sends the execution instruction of the first module to the device 300 that was assigned to the first module.
[0245] (Step S312)
[0246] Device Manager 200 receives the execution instructions from the first module and updates the schedules (scheduled usage times) for each device.
[0247] (Step S314)
[0248] Device 300 receives the execution instruction of the first module and executes the first module.
[0249] (Step S316)
[0250] Device 300 sends a completion notification to Device Manager 200 upon completion of the first module's execution. Additionally, if an error occurs during the execution of the first module, Device 300 may also send error information to Device Manager 200. Furthermore, Device 300 may also send event information to Device Manager 200 during the execution of the first module. Event information may include, but is not limited to, sensor output values or device operation. Device Manager 200 forwards the completion notification and / or various information received from Device 300 to Sequence Manager 100.
[0251] (Step S318)
[0252] The sequence manager 100 receives a completion notification for the first module, updates the application's progress, and selects the next module (the second module). Additionally, upon receiving an error message, the sequence manager 100 performs corresponding processing (e.g., returning to the previous module, returning to the initial module, or idling). Information regarding the error message processing can be pre-stored in the sequence manager 100 or received from the user via the UI 400. Furthermore, upon receiving event information, the sequence manager 100 performs corresponding processing. For example, if the event information includes the output value of a water level sensor, the sequence manager 100 updates the water level parameters used to represent the water level in the currently executing module.
[0253] (Step S320)
[0254] The sequence manager 100 sends an execution instruction for the selected second module to the device manager 200.
[0255] Furthermore, the execution instruction of the second module can be either an instruction for the same device as the execution instruction (S310) of the first module, or an instruction for a different device.
[0256] In addition, regarding the execution instructions for the second module, the execution instructions for multiple modules can be summarized and sent to the device manager 200 in the same way as the execution instructions for the first module.
[0257] The subsequent processing is the same as that used for the first module (S312-S318), therefore illustrations and explanations are omitted. The modules contained in the application are executed sequentially, and the application execution phase F300 ends when the execution of the last module is completed.
[0258] Furthermore, the execution of modules is instructed sequentially, one by one, but this is not a limitation. For example, the execution of multiple modules assigned to the same device can also be instructed collectively. In this case, it can be confirmed in advance whether each module meets the parameter range for function execution, or the module corresponding to the change can be downloaded to the device side before execution. Alternatively, for example, separate module execution instructions can be given to multiple devices.
[0259] [1.4 Effects, etc.]
[0260] As described above, an environment capable of developing a wide variety of applications can be provided through the application and rule database containing modules. Applications freely developed within this environment can safely drive actuators 22 that perform physical motion or heaters 23 that output thermal energy. In other words, an environment capable of freely developing applications can be provided, along with functions to ensure safety independently of the applications. As a result, for example, the development of a wide variety of applications with high degrees of freedom and the development of a rule database to ensure safety can be carried out in parallel, and a wide variety of applications can be developed at an early stage.
[0261] Furthermore, after the application is provided, it can be modified to further enhance security by changing the rule database. Additionally, in situations where improvements are needed to address conditions not anticipated by the manufacturer, because the rule database is defined independently of the application, all applications can be addressed simply by updating the rule database, without changing the various applications themselves.
[0262] We also considered maintaining a rule database to handle errors by detecting the state of the application when it is executed, without modifying the application itself. However, this approach always responds after an error occurs, meaning it allows situations that could overload appliances or compromise safety. Therefore, by maintaining a rule database independently of the application and modifying the application's content based on this rule data, safety can be ensured.
[0263] The washing machine 500 of this embodiment is capable of communicating with a cloud server 10 (external device). The washing machine 500 includes: a communication unit 570 that receives an execution content declaration (washing information) from the cloud server 10; a washing function unit that performs operations related to washing the laundry based on the washing information; and a control device 550 that controls the washing function unit. The execution content declaration includes sequence information and multiple modules, which are control information related to parameters for controlling the operation of the washing function unit. The sequence information relates to the order in which the multiple modules are executed. The control device 550 modifies the execution content declaration based on rules related to the washing sequence, and causes the washing function unit to perform operations based on the execution content declaration by executing the control information contained in the modified execution content declaration.
[0264] Therefore, the washing function unit can be driven based on an application defined by multiple modules. Consequently, applications using modules that abstract the control of the washing machine 500 can be developed; not only manufacturers but also third parties can develop a variety of applications, which can be easily executed by the washing machine 500. Furthermore, declarations of prohibited execution content can be corrected before the washing function unit is driven based on the application. Therefore, the execution of actions in an prohibited sequence by the washing function unit can be prevented. That is, even if the application developer mistakenly instructs the washing function unit to perform actions in an prohibited sequence, the execution of an application that cannot safely control the washing machine 500 can be prevented. In addition, inefficient operation of the washing machine 500 can be prevented. Therefore, even if the application developer prioritizes user-friendliness over ensuring the safety of the washing function unit, the safety of the washing machine 500 controlled by the application can be improved. Furthermore, the operating efficiency of the washing machine 500 can be improved, and power consumption can be reduced.
[0265] Alternatively, for example, if the rules do not allow the execution of the first module contained in the content declaration and the second module which is set in the sequence information to be executed after the first module, the control device 550 may add a third module to the content declaration as control information for the execution order after the first module.
[0266] Therefore, if it is not allowed to execute two modules consecutively, a third module can be added in the order between the two modules, thus preventing the washing function unit from executing the actions of two modules in an unallowed order.
[0267] Alternatively, for example, if the control device 550 is not allowed to execute the first module contained in the content declaration and the second module which is set in the sequence information to be executed after the first module, it may correct the information related to the parameters contained in the first module or the information related to the parameters contained in the second module.
[0268] Therefore, if two modules are not allowed to be executed consecutively, information related to the parameters contained in either of the two modules can be corrected, thus preventing the washing function unit from executing the actions of the two modules in an unauthorized sequence.
[0269] Alternatively, for example, if the control device 550 restricts the execution of the second module when the rule does not allow the execution of the first module contained in the content declaration and the second module set in the sequence information to be executed after the first module, the execution of the second module may be restricted.
[0270] Therefore, if the execution of two modules in succession is not allowed, the execution of the second module can be restricted, thus preventing the washing function unit from executing the actions of two modules in an unallowed sequence.
[0271] Alternatively, for example, the first rule may prohibit the following: the first module contains parameters related to water supply to the water tank 502 of the washing machine 500, and the second module contains parameters for controlling operations performed in a water-restricted environment. For instance, operations performed in a water-restricted environment could also include operations that are not permitted when water is stored in the water tank 502. Therefore, it is possible to prevent the execution of operations based on the second module, which would not achieve sufficient effect even when executed with water in the water tank 502. This suppresses unnecessary operations and reduces power consumption.
[0272] Alternatively, for example, in the second rule, the following is not permitted: the first module contains parameters related to heating within the water tank 502 of the washing machine 500, and the second module contains parameters for controlling operation performed in a heat-prohibited environment. For example, operation performed in a heat-prohibited environment could also include operation not permitted when the temperature within the water tank 502 is above a predetermined temperature. Therefore, operation when the temperature within the water tank 502 is above a predetermined temperature can be suppressed, thus reducing the adverse effects of the high-temperature environment within the water tank 502 on the exterior of the washing machine 500, thereby ensuring safety.
[0273] Alternatively, for example, in the third rule, the following is not permitted: the first module contains parameters related to the rotation of the washing tank 503 containing water, and the second module contains parameters for controlling operations performed in a restricted environment. For example, operations performed in a restricted environment may include operations that prevent water surface agitation within the washing tank 503. Therefore, the operation of the second module can be controlled while minimizing water surface agitation, thus enabling effective control of the second module's operation.
[0274] Alternatively, for example, in the fourth rule, the following is not permitted: the first module contains parameters related to air supply to the washing tub 503 of the washing machine 500, and the second module contains parameters for controlling operation performed in a locked environment. Therefore, the operation of the second module can be controlled while minimizing water surface sloshing, thus enabling effective control of the second module's operation.
[0275] Alternatively, for example, in the fifth rule, the following is not permitted: the first module contains parameters for rotating the washing tub 503 of the washing machine 500 at a first rotation, and the second module contains parameters for rotating the washing tub 503 at a second rotation different from the first rotation. For example, the first rotational speed of the first rotation may also be different from the second rotational speed of the second rotation. Furthermore, for example, the direction of the first rotation may also be different from the direction of the second rotation. Therefore, it is possible to suppress the continuous execution of different rotations, thereby enabling efficient switching of the rotation of the washing tub 503.
[0276] Alternatively, for example, if the control device 550 contains parameters related to water supply to the water tank 502 of the washing machine 500 in the first module and parameters for controlling operation performed in a water-restricted environment in the second module, based on the first rule, it may add a third module containing parameters related to drainage from the water tank 502 to the execution content declaration as control information for the order of execution between the first and second modules. Therefore, by draining water before the start of operation in a water-restricted environment, the water tank 502 can be made into a water-restricted environment, and the operation of the second module can be effectively executed.
[0277] Alternatively, for example, if the control device 550 contains parameters related to water supply to the water tank 502 of the washing machine 500 in the first module and parameters for controlling operation in a water-restricted environment in the second module, based on the first rule, it can modify the second module by adding parameters related to drainage from the water tank 502 immediately before the parameters for controlling operation in a water-restricted environment. Therefore, by draining water before the start of operation in a water-restricted environment, the water tank 502 can be made into a water-restricted environment, and the operation of the second module can be effectively executed.
[0278] Alternatively, for example, if the control device 550 contains parameters related to heating within the water tank 502 of the washing machine 500 in the first module and parameters for controlling operation performed in a heat-free environment in the second module, based on the second rule, it may add a third module containing parameters related to heat dissipation from the water tank 502 to the execution content declaration as control information for the execution order between the first and second modules. Therefore, by dissipating heat before the start of operation in a heat-free environment, the temperature of the water tank 502 can be lowered to create a heat-free environment, and the operation of the second module can be effectively executed.
[0279] Alternatively, for example, if the control device 550 contains parameters related to heating within the water tank 502 of the washing machine 500 in the first module and parameters for controlling operation performed in a heat-free environment in the second module, based on a second rule, the control device 550 may modify the second module by adding parameters related to heat dissipation of the water tank 502 immediately before the parameters for controlling operation performed in a heat-free environment. Therefore, by dissipating heat before the start of operation in a heat-free environment, the temperature of the water tank 502 can be lowered to create a heat-free environment, and the operation of the second module can be effectively executed.
[0280] Alternatively, for example, if the control device 550 duplicates a first module included in the execution content declaration with a second module set in the sequence information to be executed after the first module, it may, based on rules, (i) delete the first module or the second module, or (ii) delete information related to parameters included in the first module or parameters included in the second module. Therefore, by deleting modules or parameters that involve duplicate actions, the execution of useless actions can be reduced. Consequently, power consumption can be reduced.
[0281] Alternatively, for example, in the apparatus 20 of this embodiment, the control unit 24 may change the application by referring to a first rule to change the parameters included in the first parameter range to the parameters included in the range that allow the driving of at least one of the actuator 22 and heater 23.
[0282] Therefore, parameters that are included in the unpermitted first parameter range can be changed to parameters that are included in the permitted range. Thus, for example, application developers can freely develop applications with a lower priority of considering the safe driving of actuator 22 and heater 23. Furthermore, software developers who want to embed software in the device 20 that controls actuator 22 and heater 23 can execute modules without having to check the safety of the application one by one each time, and can prevent actuator 22 and / or heater 23 from being driven with unpermitted parameters.
[0283] Alternatively, for example, in the apparatus 20 of this embodiment, the control unit 24 refers to the first rule, changes the parameters included in the first parameter range to the parameters included in the range that allow the driving of at least one of the actuator 22 and heater 23, and adds new modules to multiple modules to change the application program.
[0284] Therefore, parameters that are within the unallowed first parameter range can be changed to parameters that are within the allowed range, thus preventing the actuator 22 and / or heater 23 from being driven with unallowed parameters. Furthermore, new modules can be added, thus compensating for the reduced functionality caused by the parameter change.
[0285] Alternatively, for example, in the apparatus 20 of this embodiment, the control unit 24 may change the application by deleting a module having parameters that are included in the first parameter range.
[0286] Therefore, modules with parameters that fall within the prohibited first parameter range can be deleted, thus preventing actuator 22 and / or heater 23 from being driven with prohibited parameters. For example, if actuator 22 and heater 23 are inherently unable to execute the parameters specified by the application developer, deletion allows for control without causing device malfunction. Furthermore, the user can be notified of the deletion.
[0287] Alternatively, for example, in the apparatus 20 of this embodiment, the control unit 24 determines, with reference to the first rule, whether each parameter of the multiple parameters contained in the multiple modules is included in the first parameter range, and if it is determined that the parameter is included in the first parameter range, the module having that parameter is changed.
[0288] This allows for more reliable modification of modules with parameters that are included within the first parameter range, which are not permitted.
[0289] Alternatively, in the apparatus 20 of this embodiment, the application program may include execution order information for each module of the multiple modules and timing information for the execution of each module. The timing information for each module may, for example, indicate the time between the start timing of that module and the start or end timing of other modules (e.g., the first module).
[0290] Thus, the application can contain information on sequence and timing, and can determine and execute sequentially while confirming the parameter range of each module.
[0291] Alternatively, for example, in the apparatus 20 of this embodiment, the first parameter range may be the range of parameters that cause at least one of the actuator 22 and the heater 23 to reach a durable temperature.
[0292] Therefore, it is possible to prevent the actuator 22 and / or heater 23 from reaching a durable temperature when the application is executed, thereby improving the safety of the device 20 controlled by the application.
[0293] Alternatively, for example, the device 20 of this embodiment may include a housing 21 having an internal space, and the first parameter range is the range of parameters that allow the internal space to reach a durable temperature.
[0294] Therefore, it is 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.
[0295] (A variation of Implementation Method 1)
[0296] (Variation Example 1)
[0297] In revising the content declaration 1300 (washing information), the control device 550 may also perform the processing described below, not limited to the specific example described in Implementation 1.
[0298] Specifically, the control device 550 can also classify the multiple modules 1301 contained in the execution content declaration 1300 into one or more washing processes based on classification rules. Then, it adds common information shared by the more than one first module contained in the first washing process within the more than one washing processes to the first washing process, thereby modifying the execution content declaration 1300. The control device 550 classifies the multiple modules 1301 into any one of the more than one washing processes. The more than one washing process may include, for example, a water supply process, an agitation process, a drainage process, a dehydration process, a drying process, an air supply process, a sterilization and antibacterial process, and a soaking process. The more than one first module contained in the first washing process is sequential in the order indicated by the sequence information contained in the execution content declaration 1300. The common information includes detection information of the operating status during the execution of a washing process, obtained by the control device 550 from various sensors such as the vibration sensor 507, water level sensor 515, air intake sensor 531, warm air sensor 535, first foam sensor 541, second foam sensor 542, and warm water sensor 544.
[0299] The classification method by which the control device 550 categorizes each module into one or more washing processes, and the processing of adding common information, are explained. Figure 21 This is a diagram illustrating an example of the classification rules in a variation of Embodiment 1. Figure 22 This is a flowchart of the pre-execution confirmation process in Variation 1 of Implementation Method 1.
[0300] First, the control device 550 uses classification rule 1410 to determine the attributes of the multiple modules 1301 (S2171). For each module of the multiple modules 1301, the control device 550 can determine the attribute corresponding to the name of that module in classification rule 1410 as the attribute of that module. In classification rule 1410, such as Figure 21 As shown, the module names are mapped to their attributes. In classification rule 1410, the attribute used to classify a module as belonging to more than one washing process may also include "no attribute." That is, the control device 550 may also determine the attribute of a module corresponding to "no attribute" in the classification rule as "no attribute." Furthermore, the control device 550 may also determine a module as "no attribute" if the classification rule cannot determine the attribute corresponding to the module; that is, if there is no attribute matching the module in the classification rule.
[0301] Furthermore, the control device 550 can also use other classification rules and determine the attributes of the corresponding modules based on identifiers pre-assigned to them. In these other classification rules, the module identifiers are mapped to their attributes.
[0302] Alternatively, the control device 550 can also use another classification rule to determine the attribute of a corresponding module based on a combination of more than one type of parameters contained in that module. In this other classification rule, the combination of more than one type of parameters contained in the module is mapped to an attribute. For example, in this other classification rule, a combination of parameters related to water supply and parameters related to the rotation of the washing tank in one direction (i.e., left or right rotation) after water storage is mapped to an attribute representing the water supply process. Furthermore, for example, in this other classification rule, a combination of parameters related to water supply and parameters related to the rotation of the washing tank in two directions (i.e., left and right rotation) after water storage is mapped to an attribute representing the stirring process.
[0303] Next, the control device 550 classifies the multiple modules into one or more washing processes based on the determined attributes (S2172). Specifically, for the multiple modules 1301, the control device 550 classifies one or more modules with the same attributes that are consecutive in the order represented by the sequence information into one washing process. That is, when multiple modules with a first attribute are consecutive in the order represented by the sequence information, the control device 550 classifies the multiple modules with the first attribute consecutively into a first washing process corresponding to the first attribute.
[0304] Furthermore, when a module without attributes is sandwiched between modules with first attributes in the sequence represented by sequence information, the control device 550 can also classify the module without attributes as a module with first attributes and assign it to the first washing process corresponding to the first attribute. Additionally, when a module without attributes is sandwiched between modules with first attributes and modules with second attributes in the sequence represented by sequence information, the control device 550 can classify either the module without attributes as a module with first attributes and assign it to the first washing process corresponding to the first attribute, or it can classify it to the second washing process corresponding to the second attribute. Here, it is also possible to pre-determine whether to classify it as the first washing process or the second washing process. The second attribute is an attribute different from the first attribute. The second washing process is a process different from the first washing process, and is a washing process following the first washing process.
[0305] Additionally, the control device 550 can also be used after classifying each module into more than one washing process. Figure 11 The rules specified in the rule database 1400 shown are used to attempt to execute a process for correcting multiple modules included in each washing process. The method for correcting multiple modules is the same as in Embodiment 1. For example, the control device 550 may also attempt to execute a process for correcting multiple modules classified as water supply processes by applying the first rule 1401 to multiple modules classified as water supply processes. In addition, the control device 550 may also attempt to execute a process for correcting multiple modules classified as agitation processes by applying the second rule 1402 to multiple modules classified as agitation processes. For example, the control device 550 may also attempt to execute a process for correcting multiple modules classified as water supply processes or agitation processes by applying the third rule 1403 to multiple modules classified as water supply processes or agitation processes. For example, the control device 550 may also attempt to execute a process for correcting multiple modules classified as drying processes by applying the fourth rule 1404 to multiple modules classified as drying processes.
[0306] Furthermore, the control device 550 can also set rules corresponding to each washing process, as shown in the first rule 1401 for correcting multiple modules included in the water supply process. In other words, the control device 550 can also correct each washing process based on the correction rules used for that washing process. Therefore, if the control device 550 only refers to the correction rules used for that washing process for each washing process, it can correct multiple modules included in that washing process, thus eliminating the need to refer to other correction rules and reducing the processing load.
[0307] Next, the control device 550 adds common information to each washing process (S2173).
[0308] Figures 23A-23CThis illustrates a modification to the execution content declaration in Variation 1 of Implementation 1. Figure 23A The execution content declaration shows the sequential execution of the following modules: module 1000 for washing volume detection, module 1060 for drum rotation, module 1150 for foam generation, module 1050 for agitation, and module 1010 for water supply. Based on classification rule 1410, control device 550 determines that module 1000 for washing volume detection is a washing volume determination process, and determines that modules 1060, 1150, and 1010 for drum rotation, foam generation, and water supply are water supply processes. Furthermore, based on classification rule 1410, module 1050 for agitation is either a water supply process or an agitation process. Since module 1050 for agitation is sandwiched between modules 1150 and 1010, which are water supply processes, control device 550 considers module 1050 for agitation to be a water supply process.
[0309] Then, control device 550 such Figure 23B As shown, the module 1000 for detecting the amount of washing is classified as the washing amount determination process 1500, and the module 1060 for the drum rotation, the module 1150 for the foam generation, the module 1050 for the stirring, and the module 1010 for the water supply are classified as the water supply process 1510.
[0310] Next, the control device 550, as Figure 23C As shown, common information 1511 related to the control of the modules 1060 (drum rotation operation), 1150 (foam generation operation), 1050 (stirring operation), and 1010 (water supply operation) included in the water supply process 1510 is added. The common information 1511 in the water supply process 1510 may include detection information for measuring the time from the start of the water supply process 1510 until the water level in the tank 502 detected by the water level sensor reaches a predetermined level, or detection information for acquiring the change (increase) in the water level of the tank 502 detected by the water level sensor per unit time.
[0311] The control device 550 can also determine, during the water supply process 1510, whether the time from the start of the water supply process 1510 until the specified water level is reached exceeds a predetermined time. If it determines that the time exceeds the predetermined time, it stops the water supply process 1510 and displays an error message on the operation panel 560. Furthermore, in this case, the control device 550 can also notify the user's terminal of the error via the communication unit 570. If the control device 550 determines that the time from the start of the water supply process 1510 until the specified water level is reached has not exceeded the predetermined time, it continues the water supply process 1510.
[0312] Additionally, the control device 550 can determine whether the change in water level per unit time (i.e., the rate of change) of the water level in the tank 502 is within a specified speed range during the water supply process 1510. If it determines that the rate of change is outside the specified speed range, it stops the water supply process 1510 and displays an error message on the operation panel 560. Furthermore, in this case, the control device 550 can also notify the user's terminal of the error via the communication unit 570. If the control device 550 determines that the change in water level per unit time (i.e., the rate of change) of the water level in the tank 502 is within the specified speed range during the water supply process 1510, it continues the water supply process 1510.
[0313] In the washing machine 500 of this modified example, the control device 550 (i) classifies the multiple modules contained in the execution content declaration (washing information) into more than one washing process based on classification rules, and (ii) adds common control-related information common to the more than one washing process contained in the first washing process to the first washing process, thereby modifying the washing information. Then, the control device 550 causes the washing function unit to perform operation based on the execution content declaration by executing the modified execution content declaration. The more than one module contained in the first washing process is sequential in the order represented by the sequence information.
[0314] Therefore, the user only needs to specify the multiple modules that the washing machine 500 wants to execute, and the control device 550 will add common information related to the control common to one or more modules included in the first washing process. Thus, it is possible to effectively control the washing function unit to perform in parallel during the execution of the first washing process, so that the user can operate the washing machine 500 efficiently even without professional knowledge.
[0315] (Variation Example 2)
[0316] In the modification of the content declaration 1300 (washing information), the control device 550 may also perform the processing described below, not limited to the specific examples described in Implementation 1 and its variations 1.
[0317] Specifically, the control device 550 can also classify the multiple modules 1301 contained in the execution content declaration 1300 into more than one washing process based on classification rules. Then, it modifies the execution content declaration 1300 by adding decision information to the first washing process within the more than one washing process. This decision information is used to determine the washing process to be executed by the washing function unit after the first washing process based on whether the operating state during the execution of the first washing process meets the prescribed conditions. The more than one washing process is the same as in Variation 1. Specifically, the decision information is the following: if the first washing process ends while the operating state meets the prescribed conditions during the first washing process, it is used to cause the washing function unit to execute the second washing process after the first washing process; if the operating state does not meet the prescribed conditions during the first washing process, it is used to stop the first washing process and cause the washing function unit to execute a third washing process different from the second washing process. In other words, the decision information is used by the control device 550 to determine, based on the operating state, whether to continue the first washing process and transfer to the second washing process after the first washing process ends, or to stop the first washing process and transfer to the third washing process. Furthermore, the second washing process includes a module that follows the last module of the first washing process in the sequence indicated by the sequence information, from among the multiple modules included in the execution content declaration 1300. In other words, the second washing process includes modules that follow the first washing process in sequence.
[0318] The control device 550 acquires the operating status of the washing function unit during the execution of the first washing step from various sensors by executing detection information. The control device 550 determines whether the acquired operating status meets predetermined conditions. If the first washing step ends while the operating status meets the predetermined conditions, the washing function unit executes the second washing step following the first washing step. On the other hand, if the acquired operating status does not meet the predetermined conditions, the control device 550 stops the first washing step and causes the washing function unit to execute a third washing step, different from the second washing step.
[0319] The detection information can also be information about the operating status of the washing function unit during the execution of the first washing step, which is obtained sequentially by the control device 550 from various sensors. In other words, the control device 550 can also obtain the operating status of the washing function unit during the execution of the first washing step by sequentially from various sensors by executing the detection information.
[0320] The processing of additional decision information added by the control device 550 is explained. Figure 24 This is a flowchart of the pre-execution confirmation process in Variation 2 of Implementation Method 1.
[0321] First, the control device 550 uses classification rule 1410 to determine the attributes of multiple modules 1301 (S2171).
[0322] Next, the control device 550 classifies the multiple modules into one or more washing processes based on the determined attributes (S2172).
[0323] Next, the control device 550 adds decision information to each washing process (S2173a).
[0324] Figures 25A-25D This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1. Figure 25A The content declaration shows the status of module 1070 performing the dehydration action. Based on classification rules, control device 550 determines that the attribute of module 1070 performing the dehydration action is a dehydration process.
[0325] Then, control device 550 such Figure 25B As shown, module 1070, which categorizes the dehydration action, is classified as dehydration process 1520.
[0326] Next, the control device 550, as Figure 25C As shown, decision information 1521 is added to the dewatering step 1520. This decision information 1521 is used to determine the washing step to be performed by the washing function unit after the dewatering step based on whether the operating status during the execution of the dewatering step 1520 meets predetermined conditions. For example, the decision information 1521 indicates the following: if no unevenness of the fabric is detected during the execution of the dewatering step 1520, the dewatering step 1520 continues; if unevenness of the fabric is detected, the dewatering step is stopped and the process is transferred to the rinsing step. Furthermore, the control device 550 can also sequentially acquire the magnitude of vibration detected by the vibration sensor 507, and detect unevenness of the fabric if the acquired vibration magnitude exceeds a second threshold. Furthermore, the magnitude of vibration detected by the vibration sensor 507 is an example of the operating status. Additionally, the vibration magnitude being below the second threshold is an example of a predetermined condition.
[0327] Therefore, if the control device 550 executes the revised execution statement and detects unevenness in the fabric during the dewatering process 1520, that is, if the magnitude of the vibration detected by the vibration sensor 507 exceeds the second threshold, the control device 550 can also... Figure 25DAs shown, based on decision information 1521, the dehydration process 1520 is terminated and the process is transferred to the rinsing process 1530. The rinsing process 1530 is an example of a third washing process that is different from the second washing process.
[0328] Furthermore, the rinsing process 1530 may also include decision information indicating that the dewatering process 1520 will be performed again after the rinsing process 1530. Thus, the control device 550 performs the dewatering process 1520 again at the end of the rinsing process 1530. In this way, when the control device 550 detects unevenness in the fabric, it stops the dewatering process 1520 and performs the rinsing process 1530, thereby eliminating unevenness in the fabric before the dewatering process 1520.
[0329] Furthermore, similar to the initial dehydration step 1520, decision information 1521 is added to the subsequent dehydration step 1520. Thus, the control device 550 controls the intermediate rinsing step 1530 until the dehydration step 1520 no longer detects unevenness in the fabric and ends.
[0330] On the other hand, if the control device 550 does not detect any unevenness in the fabric during the dehydration process 1520, that is, if the magnitude of the vibration detected by the vibration sensor 507 remains below the second threshold when the dehydration process ends, the washing function unit will execute a predetermined second washing process following the dehydration process. The second washing process is a washing process of a module whose operation is predetermined in the execution content statement to follow the dehydration operation module 1070. If there is no second washing process, the control device 550 may also terminate the washing control.
[0331] Furthermore, although not illustrated, the control device 550 may, similarly to Modified Example 1, add common information to the dewatering process 1520 after classifying the dewatering operation module 1070 as dewatering process 1520. The common information may also include detection information for detecting the magnitude of vibrations detected by the vibration sensor 507 during the dewatering process 1520.
[0332] Figures 26A-26D This illustrates a second example of a modification to the execution content declaration in Variation 2 of Implementation 1. Figure 26AThe execution content declaration shows the cases of module 1070a performing the pre-dehydration action, module 1070 performing the dehydration action, and module 1140 performing the drying action. Furthermore, module 1070a performing the pre-dehydration action is a module that contains the same parameters as module 1070 performing the dehydration action, but with different parameter values. Therefore, in the classification of washing processes, module 1070a performing the pre-dehydration action is processed in the same way as module 1070 performing the dehydration action. Based on classification rules, control device 550 determines that module 1070a performing the pre-dehydration action and module 1070 performing the dehydration action are both dehydration processes, and determines that module 1140 performing the drying action is a drying process.
[0333] Then, control device 550 such Figure 26B As shown, the module 1070a for the pre-dehydration action and the module 1070 for the dehydration action are classified as dehydration process 1522, and the module 1140 for the drying process is classified as drying process 1540.
[0334] Next, the control device 550, as Figure 26C As shown, decision information 1523 is added to the dewatering process 1522. This decision information 1523 is used to determine the washing process to be performed by the washing function unit after the dewatering process based on whether the operating status during the execution of the dewatering process 1522 meets the prescribed conditions. For example, the decision information 1523 indicates that if unevenness of the fabric is detected during the pre-dewatering operation of the dewatering process 1522, the dewatering process will be stopped and the process will proceed to the rinsing process; or, if unevenness of the fabric is detected during the dewatering operation, the dewatering process will be stopped and the process will proceed to the re-dewatering process. Additionally, the decision information 1523 indicates that the dewatering process 1522 will continue if no unevenness of the fabric is detected during the dewatering process 1522.
[0335] Therefore, if the control device 550 detects unevenness in the fabric during the pre-dehydration operation of the dehydration step 1522 while executing the revised execution content declaration, that is, if the magnitude of the vibration detected by the vibration sensor 507 exceeds the second threshold, the control device 550 can also stop the dehydration step 1522 and transfer to the rinsing step based on the decision information 1523. Additionally, if the control device 550 detects unevenness in the fabric during the dehydration operation of the dehydration step 1522, that is, if the magnitude of the vibration detected by the vibration sensor 507 exceeds the second threshold, it can also... Figure 26D As shown, based on decision information 1523, the dehydration process 1522 is terminated and the process is transferred to the dehydration process 1524. The dehydration process 1524 is an example of a third washing process that is different from the second washing process.
[0336] Furthermore, the dehydration step 1524 may also include decision information 1525 indicating that the drying step 1540 will be performed again after the dehydration step 1524. This decision information 1525 may also indicate that the dehydration step 1524 will be stopped and a second dehydration step will be performed if unevenness in the fabric is detected, or it may indicate that the dehydration step 1524 will be stopped and a rinsing step will be performed if unevenness in the fabric is detected. Thus, the control device 550 performs the drying step 1540 when the dehydration step 1524 ends without detecting unevenness in the fabric.
[0337] Furthermore, decision information 1541 can also be added to the drying process 1540. Decision information 1541, for example, indicates whether the drying process 1540 will continue if no filter blockage is detected during its execution, or whether the drying process 1540 will be stopped and the process will proceed to an error display process if filter blockage is detected. In this case, the control device 550 can also sequentially acquire the current value of the fan motor from the current sensor installed on the circulating fan 534, and detect filter blockage if the acquired current value exceeds a first threshold. The first threshold can be calculated by adding or subtracting a predetermined difference from the current value at the start of the drying process 1540; the first threshold can also be a predetermined fixed value. Furthermore, the current value of the fan motor detected by the current sensor is an example of an operating state. Additionally, a current value below the first threshold is an example of a predetermined condition.
[0338] Here, decision information 1541 is set to stop the drying process 1540 and transfer to the presentation process for displaying errors if a filter blockage is detected. However, it is not limited to this. The drying process 1540 may continue without stopping and transfer to the presentation process after the drying process 1540 is completed or after the washing process following the drying process 1540 is completed.
[0339] Alternatively, the decision information 1541 may be the following: determining whether the difference between the moving average of the detected value of the warm air sensor 535 over a specified period based on the current time and the detected value of the warm air sensor 535 at the start of the drying process 1540 is greater than or equal to a third threshold. If the difference is greater than or equal to the third threshold, the control device 550 decides to end the drying process 1540. If the difference is not greater than or equal to the third threshold, the control device 550 decides to continue the drying process 1540.
[0340] On the other hand, if the control device 550 does not detect any unevenness in the fabric during the dehydration process 1522, that is, if the magnitude of the vibration detected by the vibration sensor 507 remains below the second threshold, and the dehydration process ends, the washing function unit will execute the predetermined drying process 1540 after the dehydration process.
[0341] Furthermore, although not illustrated, the control device 550 may, after classifying the pre-dehydration module 1070a and the dehydration module 1070 into the dehydration step 1522, similarly to the first example in Modification 1, add common information to the dehydration step 1522. The common information may also include detection information for detecting the magnitude of vibration detected by the vibration sensor 507 in the dehydration step 1520.
[0342] In the washing machine 500 of this modified example, common information includes detection information for the control device 550 to acquire the operating status during the execution of the first washing process from various sensors. The control device 550 acquires the operating status during the execution of the first washing process from various sensors by executing the detection information. If the first washing process ends while the acquired operating status meets predetermined conditions, the control device 550 causes the washing function unit to execute the second washing process following the first washing process. If the acquired operating status does not meet the predetermined conditions, the control device 550 stops the first washing process and causes the washing function unit to execute a third washing process different from the second washing process.
[0343] Therefore, the control device 550 determines whether to continue the first washing process or to stop the first washing process and transfer to the third washing process based on the obtained operating status, thus enabling the washing function unit to perform a washing process that matches the operating status.
[0344] Furthermore, for example, the second washing process includes a second module that follows one or more first modules in a sequence indicated by sequence information. Therefore, the control device 550 can cause the washing function unit to execute a second washing process that includes a second module following one or more first modules included in the first washing process, even if the first washing process continues and ends.
[0345] Furthermore, for example, the detection information is information about the operating status that the control device 550 acquires sequentially from various sensors during the execution of the first washing process. The control device 550 acquires the operating status sequentially from various sensors by executing the detection information. Therefore, based on the sequentially acquired operating status, the control device 550 determines whether to continue the first washing process or terminate the first washing process and proceed to the third washing process, thus enabling the washing function unit to execute a washing process that matches the current operating status.
[0346] (Variation Example 3)
[0347] In the modification of the content declaration 1300 (washing information), the control device 550 may also perform the processing described below, not limited to the specific examples described in Embodiment 1 and its variations 1 and 2.
[0348] The control device 550 can also use the results of the operating state obtained in the first washing process by executing the common information described in Variation 1 of Embodiment 1 to add decision information in the first washing process, as described in Variation 2 of Embodiment 1, to determine whether the washing function unit should continue the first washing process and then execute the next second washing process, or stop the first washing process and execute the third washing process. That is, Variation 1 and Variation 2 of Embodiment 1 can also be combined.
[0349] Control device 550 can also be, for example Figures 23A-23C In a specific example, based on the common information 1511 added to the water supply process 1510, further decision information (not shown) is added. This decision information is used to determine whether to continue the water supply process 1510 or to stop the water supply process 1510 and transfer to the error display process based on whether the operating status obtained by executing the common information 1511 meets the prescribed conditions.
[0350] The common information 1511 may also include detection information indicating the time elapsed from the start of the water supply process until a predetermined water level is reached. The common information 1511 may also include timing information used to cause a timing unit (not shown) to measure the elapsed time from the start of the water supply process, and to display time information related to the elapsed time measured by the timing unit on the operation panel 560. The timing unit may be a functional unit included in the control device 550, or it may be a functional unit different from the control device 550.
[0351] The control device 550 can also determine, during the water supply process 1510, whether the time from the start of the water supply process 1510 until the specified water level is reached exceeds a predetermined time. If it determines that the time exceeds the predetermined time, it stops the water supply process 1510 and executes a process to display an error on the operation panel 560. The predetermined condition for this is that the time from the start of the water supply process 1510 until the specified water level is reached is less than a predetermined time. Furthermore, in this case, the control device 550 can also notify the user's terminal of an error via the communication unit 570. If the control device 550 determines that the time from the start of the water supply process 1510 until the specified water level is reached has not exceeded the predetermined time, it continues the water supply process 1510.
[0352] Additionally, the control device 550 can determine during the water supply process 1510 whether the increase rate (i.e., the rate of increase) of the water level in the tank 502 per unit time is within a specified speed range. If it determines that the rate of change is outside the specified speed range, the control device 550 stops the water supply process 1510 and executes a process to display an error on the operation panel 560. The specified condition for this is that the rate of change of the water level in the tank 502 is within the specified range. Furthermore, in this case, the control device 550 can also notify the user's terminal of an error via the communication unit 570. If the control device 550 determines during the water supply process 1510 that the increase rate (i.e., the rate of increase) of the water level in the tank 502 is within the specified speed range, the control device 550 continues the water supply process 1510.
[0353] In this way, the control device 550 can also acquire speed information related to the rate of change of the water level in the tank 502 during the water supply process 1510, and add decision information to the water supply process 1510 to determine whether the speed information is within the range of a predetermined speed information. If the control device 550 acquires speed information related to the rate of change of the water level in the tank 502 during the water supply process 1510, determines whether the speed information is within the range of a predetermined speed information, and terminates the water supply process 1510 while maintaining the speed information within the predetermined speed information range, then the washing function unit executes a predetermined washing process following the water supply process 1510. On the other hand, if the acquired speed information is not within the range of a predetermined speed information, the control device 550 stops the water supply process 1510 and causes the washing function unit to execute a presentation process.
[0354] Additionally, the control device 550 can also display the elapsed time from the start of the water supply process 1510 on the operation panel 560 by executing the common information 1511. The elapsed time can be expressed as either the time counted from the start of the water supply process 1510 or as the counted time obtained by subtracting the counted time from the time required for the water supply process 1510.
[0355] Furthermore, the control device 550 can apply the same processing to the drainage process, not just the water supply process. The control device 550 can also determine, during the drainage process, whether the time from the start of the drainage process until the specified water level is reached exceeds a predetermined time. If it determines that the time exceeds the predetermined time, it stops the drainage process and executes a process to display an error message on the operation panel 560. The predetermined water level can, for example, be considered as the water level where there is no water in the tank 502. In this case, the condition is that the time from the start of the drainage process until the specified water level is reached is less than a predetermined time. Furthermore, in this case, the control device 550 can also notify the user's terminal of an error via the communication unit 570. If the control device 550 determines that the time from the start of the drainage process until the specified water level is reached has not exceeded the predetermined time, it continues the drainage process.
[0356] Additionally, the control device 550 can determine during the drainage process whether the rate of decrease (i.e., the rate of decrease) of the water level in the tank 502 is within a specified range. If it determines that the rate of change is outside the specified range, the drainage process is stopped, and a process is executed to display an error message on the operation panel 560. The specified condition for this is that the rate of change of the water level in the tank 502 is within the specified range. Furthermore, in this case, the control device 550 can also notify the user's terminal of an error via the communication unit 570. If the control device 550 determines during the drainage process that the rate of decrease (i.e., the rate of decrease) of the water level in the tank 502 is within the specified range, the drainage process continues.
[0357] In this way, the control device 550 can also acquire speed information related to the rate of change of the water level in the tank 502 during the drainage process, and add decision information to determine whether the speed information is within a predetermined speed information range during the drainage process. If the control device 550 acquires speed information related to the rate of change of the water level in the tank 502 during the drainage process, determines whether the speed information is within a predetermined speed information range, and terminates the drainage process while maintaining the speed information within the predetermined speed information range, then the washing function unit performs a predetermined washing process following the drainage process. On the other hand, if the acquired speed information is not within the predetermined speed information range, the control device 550 stops the drainage process and causes the washing function unit to perform a presentation process.
[0358] Additionally, the control device 550 may add common information, including detection information for detecting the foam generation status within the water tank 502 during the water supply or stirring process. Furthermore, the control device 550 may sequentially acquire the foam generation status within the water tank 502 as an operating state, and add decision information during the water supply or stirring process to determine the washing process to be performed by the washing unit after the first washing process based on the acquired foam generation status. Specifically, the decision information in this case indicates the following: if no foam generation is detected during the water supply or stirring process, the water supply or stirring process continues; if the water supply or stirring process ends, the washing unit performs a predetermined washing process after the water supply or stirring process. Alternatively, the decision information indicates the following: if foam generation is detected during the water supply or stirring process, the water supply or stirring process is stopped, and the washing unit performs a defoaming process. The defoaming process is, for example, a process that sequentially performs a draining operation, a stirring operation, a water supply operation, and a draining operation.
[0359] Therefore, by executing decision information, the control device 550, when the water supply process or agitation process ends while the obtained foam generation status indicates that no foam generation has been detected, causes the washing function unit to perform a predetermined washing process following the water supply process or agitation process. Alternatively, by executing decision information, the control device 550, when the obtained foam generation status indicates that foam generation has been detected, stops the water supply process or agitation process and causes the washing function unit to perform a defoaming process.
[0360] (Variation Example 4)
[0361] Furthermore, in the above-described embodiment 1, referring to Figure 7The processing of System 1 has been described, but the processing flow is not limited to this. In particular, regarding the pre-execution verification (S216), which has been described in detail, the timing of the pre-execution verification and the module that becomes the main component are not limited to this. Therefore, refer to... Figures 27A-27E Let's illustrate several variations of the sequence diagram of System 1.
[0362] Figure 27A This is a sequence diagram of system 1 in variation 4 of implementation method 1. Figure 27A Before the device 300 receives the execution instruction (S310) and is about to execute the module (S314), the device 300 performs a pre-execution confirmation (S216).
[0363] Therefore, the software embedded in device 300 can be configured with a simple structure, such as pre-execution verification before the module is executed. That is, steps S215 and S217 can be omitted. As a result, there is no need to embed the functions and communication APIs for performing these processes into device 300, which reduces the memory usage of the microcomputer mounted on device 300.
[0364] In addition, the results of the pre-execution confirmation can also be notified to the Device Manager 200 and / or the UI 400. For example, the confirmation result can also be notified to the Device Manager 200 or the UI 400 if parameters have been changed or a module execution stop instruction has been given as a result of the pre-execution confirmation.
[0365] (Variation Example 5)
[0366] Figure 27B This is a sequence diagram of system 1 in variation 5 of implementation method 1. Figure 27B In the process, when the device manager 200 sends the allocation result notification (S218), the device manager 200 directly performs the pre-execution confirmation (S216).
[0367] Therefore, the software embedded in device 300 may not include the pre-execution verification (S216) function. Consequently, the use of the memory in device 300 can be suppressed, resulting in a reduction in the cost of device 300.
[0368] In addition, in the above embodiment 1, the process of module execution (S314) performed by device 300 is described as being carried out according to instructions from sequence manager 100 installed on cloud server 10, but the method of performing module execution (S314) is not limited to this.
[0369] For example, notifications from the sequence manager 100 can be stored in the memory of the device 300, and the module can be executed according to instructions given directly by the user through the UI of the device 20 or the UI 400 of the terminal 30. That is, it can also be configured such that the application is pre-downloaded to the device, and the user executes the application at any time.
[0370] (Variation Example 6)
[0371] Figure 27C This is a sequence diagram of system 1 in variation 6 of implementation method 1. Figure 27C In the application execution phase F300, the sequence manager 100 notifies the device 300 of one or more modules to be executed by the device 300 (S310C). Then, the device 300 saves the notified modules in its memory (S311C).
[0372] Subsequently, the device 300 receives an instruction from the user to execute one or more stored modules (S312C), and sequentially executes one or more modules starting from the first module (S314).
[0373] As described above, by storing the module in device 300, control of device 300 can be achieved without communication between device manager 200 and device 300. This reduces the risk of device 300 stopping or experiencing delays due to unstable communication between cloud server 10 and device 20. Therefore, this modification is more effective in environments with low communication reliability with cloud server 10 and / or in device 300 where device operation is stopped or delayed during application execution.
[0374] Furthermore, in variation 6, similarly to embodiment 1, pre-execution verification (S216) is of great importance, but the timing of performing pre-execution verification (S216) and the module that becomes the main component are not limited to... Figure 27C That is, Modification 6 can also be combined with Modification 4 or Modification 5.
[0375] (Variation Example 7)
[0376] Figure 27D This is a sequence diagram of system 1 in variation 7 of embodiment 1. Variation 7 is equivalent to a combination of variation 4 and variation 6. In variation 7, as... Figure 27D As shown, before the device 300 receives the execution instruction (S312C) and is about to execute the module (S314), the device 300 performs a pre-execution confirmation (S216).
[0377] When a module is pre-downloaded to device 300 and the user executes the module at any arbitrary time, there is a high probability that the timing of the module download and the timing of the module execution will deviate significantly. That is, this takes into account the possibility of executing the module days, months, or even years after it has been downloaded to device 300. In such cases, the degradation level of device 300 may change during the period from module download to execution. Therefore, in device 300 where module execution is affected by the degradation level, pre-execution verification by device 300 before module execution can be performed to ensure that the pre-execution verification corresponds to the degradation level.
[0378] (Variation Example 8)
[0379] Figure 27E This is a sequence diagram of system 1 in variation 8 of embodiment 1. Variation 8 is equivalent to a combination of variation 5 and variation 6. In variation 8, as... Figure 27E As shown, when the device manager 200 sends the allocation result notification (S218), the device manager 200 directly performs the pre-execution confirmation (S216).
[0380] (Implementation Method 2)
[0381] Next, Embodiment 2 will be described. The main difference between this embodiment and Embodiment 1 is that the pre-execution confirmation is skipped once application authentication is complete. This embodiment will now be described focusing on the differences from Embodiment 1.
[0382] Furthermore, the hardware and functional structures of System 1 in this embodiment are the same as those in Embodiment 1 above, therefore, illustrations and descriptions are omitted.
[0383] [2.1 Processing]
[0384] In this embodiment, the process is the same as in Embodiment 1, except that the pre-execution confirmation step S216 in Embodiment 1 is replaced by step S216A. Therefore, referring to... Figure 28 The steps of the pre-execution confirmation process, S216A, are explained.
[0385] Figure 28 A flowchart of the pre-execution confirmation process in Implementation 2 is shown.
[0386] (Step S2161A)
[0387] Device 300 obtains application authentication information. This application authentication information includes details indicating that authentication is complete once the application has been authenticated.
[0388] Application authentication is a mechanism used to ensure the quality of an application, verifying its security and / or identity (untampered nature). An example of an application that has been granted authentication information is provided. If the application's code change history indicates that no parameter ranges have been changed, then the application will have corresponding information indicating that authentication is complete.
[0389] (Step S2162A)
[0390] The device 300 determines whether the application has been successfully authenticated based on the acquired application information. If the application is determined to be successfully authenticated (S2162A: "Yes"), the device 300 skips subsequent steps S2165 to S2167 and ends the pre-execution confirmation process. Conversely, if the application is determined not to be successfully authenticated (S2162A: "No"), the device 300 proceeds to the next step, S2165.
[0391] [2.2 Effects, etc.]
[0392] As described above, the apparatus 20 of this embodiment includes: at least one of an actuator 22 and a 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 program defined by a plurality of modules for driving at least one of the actuator 22 and the heater 23 and containing information indicating whether authentication is complete. Each module of the plurality of modules has parameters for driving the actuator 22 or the heater 23. If the application program does not contain information indicating that authentication is complete, at least one of the plurality of modules is modified by referring to a first rule for defining a first parameter range in which driving at least one of the actuator 22 and the heater 23 is not allowed. This modifies the application program. The at least one module of the plurality of modules has parameters included in the first parameter range. At least one actuator 22 is driven based on the modified application program.
[0393] Therefore, actuator 22 and / or heater 23 can be driven based on an application defined by multiple modules. Thus, applications using modules that abstract the control of device 20 can be developed, and various applications developed in this way can be easily executed by device 20. Furthermore, modules with parameters included in a first, unpermitted parameter range can be changed before driving actuator 22 and / or heater 23 based on the application. Therefore, situations where actuator 22 and / or heater 23 are driven with unpermitted parameters can be suppressed. In other words, situations where applications that cannot safely control device 20 are executed can be suppressed, improving the safety of device 20 controlled by the application. Furthermore, processing of changes accompanying the application can be performed even if the application is not fully certified, thereby reducing the processing load once the application is certified. Therefore, without needing to perform parameter range determination processing for all applications, by managing them in a certified manner, the processing load can be reduced, and a design benchmark for the parameter range can be derived, thereby enabling a easier and safer design for application developers.
[0394] Alternatively, for example, in the apparatus 20 of this embodiment, if information indicating that the application has been authenticated is available, the first rule may not be referred to, and the application may not be modified.
[0395] Therefore, once the application authentication is complete, the processing for changing modules can be skipped, thereby reducing the processing load.
[0396] (Implementation Method 3)
[0397] Next, Embodiment 3 will be described. The main difference between this embodiment and Embodiment 1 is that, in the case where the application creator and the device maker are the same person, the pre-execution confirmation is skipped. This embodiment will now be described focusing on the differences from Embodiment 1.
[0398] Furthermore, the hardware and functional structures of System 1 in this embodiment are the same as those in Embodiment 1 above, therefore, illustrations and descriptions are omitted.
[0399] [3.1 Processing]
[0400] In this embodiment, the process is the same as in Embodiment 1, except that the pre-execution confirmation step S216 in Embodiment 1 is replaced by step S216B. Therefore, referring to... Figure 29 The steps of the pre-execution confirmation process, S216B, are explained.
[0401] Figure 29 A flowchart of the pre-execution confirmation process in Implementation 3 is shown.
[0402] (Step S2161B)
[0403] Device 300 obtains application creator information. Application creator information indicates the creator of the application. The creator refers to the company, individual, or group that created the application, and is sometimes also referred to as the developer or author.
[0404] (Step S2163B)
[0405] Device 300 acquires device manufacturer information. Device manufacturer information indicates the manufacturer of the device. The manufacturer refers to the company, individual, or group that manufactured device 300 (i.e., device 20), and is sometimes also referred to as the manufacturer.
[0406] (Step S2164B)
[0407] Device 300 determines whether the creator of the application is different from the maker of device 300. If the application creator is an individual and the maker of device 300 is a company, then device 300 can determine that the application creator and the maker of device 300 are the same company. Additionally, if the application creator is the party that commissioned the development of device 300's maker, then device 300 can also determine that the application creator and the maker of device 300 are the same company.
[0408] Here, if the creator of the application is the same as the maker of the device 300 (S2164B: "No"), the device 300 skips subsequent steps S2165 to S2167 and ends the pre-execution confirmation process. On the other hand, if the creator of the application is different from the maker of the device 300 (S2164B: "Yes"), the device 300 proceeds to the next step S2165.
[0409] [3.2 Effects, etc.]
[0410] As described above, the apparatus 20 of this embodiment includes: at least one of an actuator 22 and a 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 program defined by a plurality of modules for driving at least one of the actuator 22 and the heater 23 and containing information indicating the creator. Each module of the plurality of modules has parameters for driving the actuator 22 or the heater 23. The control unit 24 acquires information indicating the creator of the apparatus 20. If the creator of the application program is different from the creator of the apparatus 20, the control unit 24 modifies at least one of the plurality of modules by referring to a first rule for defining a first parameter range in which driving at least one of the actuator 22 and the heater 23 is not allowed. This modifies the application program. The at least one module of the plurality of modules has parameters included in the first parameter range. The control unit 24 drives at least one of the actuator 22 and the heater 23 based on the modified application program.
[0411] Therefore, actuators and / or heaters can be driven based on applications defined by multiple modules. Consequently, applications using modules that abstract the control of device 20 can be developed, and various applications developed in this way can be easily executed by device 20. Furthermore, modules with parameters included in a first, unpermitted parameter range can be changed before driving actuator 22 and / or heater 23 based on the application. Therefore, situations where actuator 22 and / or heater 23 are driven with unpermitted parameters can be suppressed. In other words, situations where applications that cannot safely control device 20 are executed can be suppressed, improving the safety of device 20 controlled by the application. Furthermore, when the application creator is different from the device 20 manufacturer, processing can be performed to handle changes accompanying the application; when the application creator is the same as the device 20 manufacturer, processing load can be reduced.
[0412] (Implementation Method 4)
[0413] Next, Embodiment 4 will be described. The main difference between this embodiment and Embodiment 1 is that a rule corresponding to the degradation level of the device is used for pre-execution verification. This embodiment will now be described focusing on the differences from Embodiment 1.
[0414] Furthermore, the hardware and functional structures of System 1 in this embodiment are the same as those in Embodiment 1 above, therefore, illustrations and descriptions are omitted.
[0415] [4.1 Processing]
[0416] In this embodiment, the process is the same as in Embodiment 1, except that the pre-execution confirmation step S216 in Embodiment 1 is replaced by step S216C. Therefore, referring to... Figure 30 The steps S216C of the pre-execution confirmation process are explained.
[0417] Figure 30 A flowchart of the pre-execution confirmation process in Implementation 4 is shown.
[0418] (Step S2163C)
[0419] Device 300 acquires equipment degradation information. The equipment degradation information indicates the degradation level of the actuator 22 and / or heater 23 included in device 20. The detection method for the degradation level is not particularly limited; for example, it can be detected by a sensor.
[0420] (Step S2165C)
[0421] Device 300 obtains the rules corresponding to the degradation level. For example, device 300 refers to the rule database to obtain the parameter range corresponding to the degradation level of the actuator 22 or heater 23 driven by the module.
[0422] Figure 31 An example of a rule database in implementation 4 is shown. Figure 31 Rule database 1400C contains rules 1401C to 1404C. Each rule 1401C to 1404C has a parameter range for defining non-permissible ranges. For example, rule 1401C defines a range greater than 1000 rpm as a non-permissible range for motor MM0001 with a degradation level of 0. For example, rule 1402C defines a range greater than 800 rpm as a non-permissible range for motor MM0001 with a degradation level of 1. In other words, rule 1402C has a wider non-permissible range and a narrower permissible range compared to rule 1401C.
[0423] Each rule from 1401C to 1404C also includes a category, manufacturer name, actuator / heater, and degradation level. Therefore, device 300 can retrieve the rule corresponding to the degradation level of the module-driven actuator 22 or heater 23 from the rule database 1400C. For example, if the degradation level of motor MM0001 driven by the module performing the dehydration operation is 0, since it is a dehydration module, device 300 refers to... Figure 31 The rule database 1400C is used to obtain rule 1401C.
[0424] Furthermore, factors determining the degradation level include, for example, the number of times the actuators 22 and / or heaters 23 included in equipment 300 are used, the duration of use, or the number of days of use from the start of operation to the present. It is assumed that these factors increase approximately proportionally to user usage. Therefore, the rule is determined such that the degradation level increases whenever the value corresponding to the factor increases.
[0425] Additionally, factors determining the degradation level include, for example, the sum of the temperatures of heater 23, or the reproducibility of the inputs and outputs of actuator 22 and / or heater 23. The sum of the temperatures of heater 23 is the value obtained by adding the temperatures of heater 23 when it is driven. For example, this could be the average temperature, intermediate temperature, or maximum temperature of heater 23 when the actuator module is used. The temperature of heater 23 can also be the ratio of the operating temperature to the limit temperature of heater 23, or the difference between the operating temperature and the limit temperature of heater 23.
[0426] The degree of reproduction of the input and output of actuator 22 and / or heater 23 is determined by referring to the relationship between the input value used to drive actuator 22 and / or heater 23 and the output of actuator 22 and / or heater 23. The ratio of the actual output value relative to a specified input to the output value specified in the relationship is used.
[0427] [4.2 Effects, etc.]
[0428] As described above, the apparatus 20 in this embodiment includes at least one of an actuator 22 and a 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 program defined by a plurality of modules for driving at least one of the actuator 22 and the heater 23. Each module of the plurality of modules has parameters for driving the actuator 22 or the heater 23. It acquires degradation information indicating whether at least one of the actuator 22 and the heater 23 has deteriorated. If the degradation information indicates that at least one of the actuator 22 and the heater 23 has not deteriorated, it refers to the driving parameters used to define at least one of the actuator 22 and the heater 23 and does not... A first rule allowing a first parameter range is used to modify at least one first module included in a plurality of modules, thereby modifying the application. The at least one first module has parameters included in the first parameter range. In the case where degradation information indicates that at least one of actuator 22 and heater 23 has deteriorated, a second rule for defining a second parameter range different from the first parameter range that is not allowed for driving at least one of actuator 22 and heater 23 is used to modify at least one second module included in a plurality of modules, thereby modifying the application. The at least one second module has parameters included in the second parameter range. The modified application drives at least one of actuator 22 and heater 23.
[0429] Therefore, actuator 22 and / or heater 23 can be driven based on an application program defined by multiple modules. Thus, applications using modules that abstract the control of device 20 can be developed, and various applications developed in this way can be easily executed by device 20. Furthermore, modules with parameters included in a first, unpermitted parameter range can be changed before driving actuator 22 and / or heater 23 based on the application program. Therefore, situations where actuator 22 and / or heater 23 are driven with unpermitted parameters can be suppressed. In other words, situations where applications that cannot safely control device 20 are executed can be suppressed, improving the safety of device 20 controlled by the application program. Moreover, different parameter ranges can be used based on device 20 degradation information; by using modules, drive instructions issued from the application program to actuator 22 and / or heater 23 can be executed while considering the performance of equipment deteriorating over time, further improving the safety of device 20 controlled by the application program.
[0430] (Other implementation methods)
[0431] The systems involved in one or more embodiments of this disclosure have been described above based on implementation methods, but this disclosure is not limited to these embodiments. Various modifications to this embodiment that can be conceived by those skilled in the art, and ways of constructing by combining the constituent elements of different embodiments, may also be included within the scope of one or more embodiments of this disclosure, as long as they do not depart from the spirit of this disclosure.
[0432] Furthermore, in the above embodiments, the sequence manager 100 and device manager 200 are included in the cloud server 10, but are not limited thereto. The sequence manager 100 and / or device manager 200 may also be included in the device 20. In addition, the UI 400 is included in the terminal 30, but may also be included in the device 20.
[0433] Furthermore, in the above embodiments, the application program can also be modified based on degradation information. For example, device 300 can also obtain a transformation method corresponding to a degradation level by referring to parameter transformation information obtained by mapping multiple degradation levels to multiple parameter transformation methods, and use the obtained transformation method to transform the parameters contained in the module. As a transformation method, for example, it can be defined by the transformed value or by a coefficient applied to the value before transformation.
[0434] Furthermore, in the above embodiments, the module was modified when the parameters were outside the allowed range during pre-execution confirmation, and then the module was executed, but this is not limited to this. For example, if the parameters are outside the allowed range, or if the state of device 300 is different from the intended state, the module may not be executed, and the device manager 200 and / or sequence manager 100 may be notified of execution abort (error).
[0435] Industrial availability
[0436] It can be used in home appliances and other appliances that can execute applications defined by multiple functional modules.
[0437] Explanation of reference numerals in the attached figures
[0438] 1: System; 2a, 2b, 2c, 2d: Facilities; 10: Cloud Server; 11: Processor; 12: Memory; 20, 20a, 20b, 20c, 20d, 20e, 20f, 20g, 20h: Device; 21: Housing; 22: Actuator; 23: Heater; 24: Control Unit; 30, 30a, 30b, 30c, 30d: Terminal; 31: Display; 32: Input Device; 100: Serial Manager; 200: Device Manager; 300, 300a, 300b, 300c, 300d, 300e, 300f, 300g, 300h: Device; 400, 400a, 400b, 400c, 400d: UI; 500: Washing Machine; 5 01: Housing; 502: Water tank; 503: Washing tub; 504: Washing motor; 505: Door; 506: Door lock mechanism; 507: Vibration sensor; 511: Water supply valve; 512: Water supply pipe; 513: Automatic dispensing machine; 515: Water level sensor; 516: Bathtub water pump; 517: Bathtub water piping; 521: Drain pipe; 522: Drain filter; 523: Drain valve; 524: Circulation pump; 525: Circulation piping; 531: Air intake sensor; 532: Heat pump; 533: Pipe; 534: Circulation fan; 535: Warm air sensor; 536: Sterilization device; 541: First foam sensor; 542: Second foam sensor; 543: Warm water heater; 544: Warm water sensor Sensor; 550: Control device; 560: Operation panel; 570: Communication unit; 1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1070a, 1080, 1090, 1100, 1110, 1120, 1130, 1140, 1301: Module; 1011, 1012, 1021~1023, 1031, 1041, 1051~1056, 1061~1065, 1071, 1072, 1081, 1091, 1101, 1102, 1111, 1112, 1121, 1131, 1132, 1141, 1151~1153: Parameter; 1200: Settings Database setup; 1201: Equipment information; 1300: Execution content declaration; 1302: Equipment-related information; 1303: Sequence information; 1400, 1400C: Rule database; 1401~1405, 1401C, 1402C, 1403C, 1404C: Rules; 1410: Classification rules; 1500: Washing quantity determination process; 1510: Water supply process; 1511: Common information; 1520, 1522, 1524: Dehydration process; 1521, 1523, 1525, 1541: Decision information; 1530: Rinsing process; 1540: Drying process; F100: Preparation stage; F200: Pre-application execution stage; F300: Application execution stage.
Claims
1. A laundry machine capable of communicating with an external device, the laundry machine comprising: a communication section that receives washing information from the external device; a washing function section that performs an operation related to washing of a laundry based on the washing information; and a control device that controls the washing function section, wherein the washing information includes sequence information and a plurality of control information, each of the plurality of control information being control information related to a parameter for controlling the operation of the washing function section, the sequence information being information related to an order of execution of the plurality of control information, in a case where a rule related to the order of washing does not allow execution of first control information included in the washing information and second control information set in the sequence information to be executed after the first control information, the control device corrects the washing information, and causes the washing function section to perform the operation based on the washing information by executing the corrected washing information.
2. The laundry machine according to claim 1, wherein the control device, when correcting the washing information, adds third control information as control information to be executed after the first control information in the order in the washing information.
3. The laundry machine according to claim 1, wherein the control device, when correcting the washing information, corrects information related to the parameter included in the first control information or information related to the parameter included in the second control information.
4. The laundry machine according to claim 1, wherein the control device, when correcting the washing information, restricts execution of the second control information.
5. The laundry machine according to any one of claims 2 to 4, wherein in the rule, the following case is not allowed: the first control information includes a parameter related to water supply to a tub of the laundry machine, and the second control information includes a parameter for controlling an operation performed in a water-prohibited environment.
6. The laundry machine according to claim 5, wherein the operation performed in the water-prohibited environment includes an operation not allowed to be performed when water is stored in the tub.
7. The laundry machine according to any one of claims 2 to 4, wherein in the rule, the following case is not allowed: the first control information includes a parameter related to heating in the tub of the laundry machine, and the second control information includes a parameter for controlling an operation performed in a heat-prohibited environment.
8. The laundry machine according to claim 7, wherein the operation performed in the heat-prohibited environment includes an operation not allowed to be performed when a temperature in the tub is equal to or higher than a prescribed temperature.
9. The laundry machine according to any one of claims 2 to 4, wherein in the rule, the following case is not allowed: the first control information includes a parameter related to rotation of the tub of the laundry machine in which water is stored, and the second control information includes a parameter for controlling an operation performed in a motion-prohibited environment.
10. The laundry machine according to any one of claims 2 to 4, wherein In the rule, the following case is not allowed: the first control information contains a parameter related to air supply into a tub of the washing machine, and the second control information contains a parameter for controlling an operation performed in a water-prohibited environment.
11. The washing machine according to claim 9, wherein The operation performed in the water-prohibited environment contains an operation in which water surface fluctuation in the tub is not allowed.
12. The washing machine according to any one of claims 2 to 4, wherein In the rule, the following case is not allowed: the first control information contains a parameter for rotating a tub of the washing machine in a first rotation, and the second control information contains a parameter for rotating the tub in a second rotation different from the first rotation.
13. The washing machine according to claim 12, wherein A first rotation speed of the first rotation is different from a second rotation speed of the second rotation.
14. The washing machine according to claim 12, wherein A direction of the first rotation is different from a direction of the second rotation.
15. The washing machine according to claim 1, wherein In a case where the first control information contained in the washing information contains a parameter related to water supply to a tub of the washing machine, and the second control information set as a sequence performed after the first control information in the sequence information contains a parameter for controlling an operation performed in a water-prohibited environment, based on the rule, third control information containing a parameter related to drainage from the tub is added in the washing information as control information of a sequence performed between the first control information and the second control information.
16. The washing machine according to claim 1, wherein In a case where the first control information contained in the washing information contains a parameter related to water supply to a tub of the washing machine, and the second control information set as a sequence performed after the first control information in the sequence information contains a parameter for controlling an operation performed in a water-prohibited environment, based on the rule, the second control information is corrected in a manner of adding a parameter related to drainage from the tub immediately before the parameter for controlling the operation performed in the water-prohibited environment.
17. The washing machine according to claim 1, wherein In a case where the first control information contained in the washing information contains a parameter related to heating in a tub of the washing machine, and the second control information set as a sequence performed after the first control information in the sequence information contains a parameter for controlling an operation performed in a heat-prohibited environment, based on the rule, third control information containing a parameter related to heat dissipation of the tub is added in the washing information as control information of a sequence performed between the first control information and the second control information.
18. The washing machine according to claim 1, wherein In a case where the first control information included in the washing information includes a parameter related to heating in a tub of the washing machine and the second control information set in the sequence information as a sequence to be executed after the first control information includes a parameter for controlling an operation performed in a heat-prohibited environment, the second control information is corrected based on the rule in a manner that a parameter related to heat dissipation of the tub is added immediately before the parameter for controlling the operation performed in the heat-prohibited environment.
19. The washing machine according to claim 1, wherein In a case where the first control information included in the washing information and the second control information set in the sequence information as a sequence to be executed after the first control information are repeated based on the rule, the control device (i) deletes the first control information or the second control information, or (ii) deletes information related to the parameter included in the first control information or information related to the parameter included in the second control information.
20. The washing machine according to claim 1, wherein a detection unit that detects an operation state of the washing function unit, the control device performs the following processing: classifies the plurality of control information included in the washing information into one or more washing processes based on a classification rule; corrects the washing information by adding decision information in a first washing process among the one or more washing processes, the decision information being information for deciding a washing process to be performed by the washing function unit after the first washing process depending on whether the operation state during execution of the first washing process satisfies a prescribed condition; and causes the washing function unit to perform an operation based on the washing information by executing the corrected washing information.
21. A washing machine capable of communicating with an external device, the washing machine comprising: a communication unit that receives washing information from the external device; a washing function unit that performs an operation related to washing of a washing object based on the washing information; a control device that controls the washing function unit, wherein the washing information includes sequence information and a plurality of control information, each of the plurality of control information being control information related to a parameter for controlling an operation of the washing function unit, the sequence information being information related to a sequence of execution of the plurality of control information, the control device corrects the washing information based on a rule related to the sequence of washing and causes the washing function unit to perform an operation based on the washing information by executing the corrected washing information, the control device performs the following processing: (i) classifies the plurality of control information included in the washing information into one or more washing processes based on a classification rule, and (ii) corrects the washing information by adding common information related to a control common to one or more first control information included in a first washing process among the one or more washing processes in the first washing process. the washing function section is caused to perform an operation based on the washing information by executing the corrected washing information, the one or more first control information are consecutive in the order.
22. The washing machine according to claim 21, wherein a detection section that detects an operation state of the washing function section, the common information includes detection information for the control device to acquire the operation state during execution of the first washing process from the detection section, the control device performs the following processing: the operation state during execution of the first washing process is acquired from the detection section by executing the detection information; in a case where the first washing process ends while the acquired operation state satisfies a prescribed condition, the washing function section is caused to execute a second washing process after the first washing process; in a case where the acquired operation state does not satisfy the prescribed condition, the first washing process is aborted, and the washing function section is caused to execute a third washing process different from the second washing process.
23. The washing machine according to claim 22, wherein the second washing process includes second control information of the plurality of control information that is subsequent to the one or more first control information in the order.
24. The washing machine according to claim 22, wherein the detection information is information for the control device to sequentially acquire the operation state during execution of the first washing process from the detection section, the control device sequentially acquires the operation state during execution of the first washing process from the detection section by executing the detection information.
25. The washing machine according to any one of claims 22 to 24, wherein the first washing process is a water supply process or a water discharge process, the detection information is information for detecting speed information related to a change speed of a water level in a tub provided in the washing machine in the water supply process or the water discharge process, the prescribed condition is that the speed information is included in a prescribed range of speed information, the control device performs the following processing: the speed information is acquired as the operation state from the detection section; in a case where the water supply process or the water discharge process ends while the acquired speed information is included in the prescribed range of speed information, the washing function section is caused to execute the second washing process after the water supply process or the water discharge process; in a case where the acquired speed information is not included in the prescribed range of speed information, the water supply process or the water discharge process is aborted, and the washing function section is caused to execute the third washing process different from the second washing process.
26. The washing machine according to any one of claims 22 to 24, wherein the first washing process is a water supply process or an agitation process, the detection information is information for detecting a generation state of foam in a tub provided in the washing machine in the water supply process or the agitation process, the prescribed condition is that generation of the foam is not detected, The control device performs the following processing: The detection unit detects a state of generation of the foam as the operation state; In a case where the supply water process or the stirring process ends while the acquired state of generation of the foam indicates that generation of the foam is not detected, the washing function section is caused to execute the second washing process after the supply water process or the stirring process; In a case where the acquired state of generation of the foam indicates that generation of the foam is detected, the supply water process or the stirring process is suspended, and the washing function section is caused to execute the third washing process different from the second washing process.
27. The washing machine according to any one of claims 22 to 24, wherein the first washing process is a drying process, the detection information is information for detecting a current value of a fan motor of a supply air fan that supplies air into a water tub provided in the washing machine in the drying process, the prescribed condition is that the current value is equal to or lower than a first threshold value, the control device performs the following processing: the detection unit detects the current value as the operation state; in a case where the drying process ends while the acquired current value is equal to or lower than the first threshold value, the washing function section is caused to execute the second washing process after the drying process; in a case where the acquired current value exceeds the first threshold value, the drying process is suspended, and the washing function section is caused to execute the third washing process different from the second washing process.
28. The washing machine according to any one of claims 22 to 24, wherein the first washing process is a dehydration process, the detection information is information for detecting a magnitude of vibration of a water tub provided in the washing machine in the dehydration process, the prescribed condition is that the magnitude of vibration is equal to or lower than a second threshold value, the control device performs the following processing: the detection unit detects the magnitude of vibration as the operation state; in a case where the dehydration process ends while the acquired magnitude of vibration is equal to or lower than the second threshold value, the washing function section is caused to execute the second washing process after the dehydration process; in a case where the acquired magnitude of vibration exceeds the second threshold value, the dehydration process is suspended, and the washing function section is caused to execute the third washing process different from the second washing process.
29. The washing machine according to any one of claims 22 to 24, wherein the washing machine further comprises: a time measuring unit that measures an elapsed time from the start of the first washing process; and a display unit, the common information includes time measuring information that is information for causing the time measuring unit to measure the elapsed time from the start of the first washing process, and for causing time information related to the elapsed time measured by the time measuring unit to be presented on the display unit, the control device causes the time information related to the elapsed time obtained from the time measuring unit to be displayed on the display unit by executing the time measuring information.
30. The laundry machine according to any one of claims 22 to 24, wherein the control device corrects each of the one or more washing processes based on a correction rule for the corresponding washing process.
31. A control method, which is a control method executed in a laundry machine capable of communicating with an external device, wherein washing information including sequence information and a plurality of control information is received from the external device, each of the plurality of control information being control information related to a parameter for controlling an operation related to washing, the sequence information being information related to an order of executing the plurality of control information, in a case where a rule related to an order of washing does not allow execution of a first control information included in the washing information and a second control information set to an order following the first control information in the sequence information, the washing information is corrected, and an operation related to washing based on the washing information is executed by executing the corrected washing information.
32. A control method, which is a control method executed in a laundry machine capable of communicating with an external device, wherein washing information including sequence information and a plurality of control information is received from the external device, each of the plurality of control information being control information related to a parameter for controlling an operation related to washing, the sequence information being information related to an order of executing the plurality of control information, the washing information is corrected based on a rule related to an order of washing, and an operation related to washing based on the washing information is executed by executing the corrected washing information, in the execution of the operation, (i) the plurality of control information included in the washing information is classified into one or more washing processes based on a classification rule, and (ii) the washing information is corrected by adding common information related to control common to one or more first control information included in a first washing process of the one or more washing processes to the first washing process; the operation based on the washing information is executed by executing the corrected washing information; the one or more first control information are consecutive in the order.
33. A control system provided with an external device and a laundry machine capable of communicating with the external device, in the control system, the laundry machine is provided with: a communication section that receives washing information from the external device; a washing function section that performs an operation related to washing of a laundry based on the washing information; and a control device that controls the washing function section, wherein the washing information includes sequence information and a plurality of control information, each of the plurality of control information being control information related to a parameter for controlling an operation of the washing function section, the sequence information being information related to an order of executing the plurality of control information, In a case where execution of first control information included in the washing information and second control information set in the order information to be executed after the first control information in the order is not allowed by a rule related to an order of washing, the control device corrects the washing information, and causes the washing function section to execute operation based on the washing information by executing the corrected washing information.
34. A control system provided with an external device and a washing machine capable of communicating with the external device, in the control system, the washing machine is provided with: a communication section that receives washing information from the external device; a washing function section that performs operation related to washing of a washing object based on the washing information; and a control device that controls the washing function section, wherein the washing information includes order information and a plurality of control information, each of the plurality of control information is control information related to a parameter for controlling operation of the washing function section, and the order information is information related to an order of executing the plurality of control information, the control device corrects the washing information based on a rule related to an order of washing, and causes the washing function section to execute operation based on the washing information by executing the corrected washing information, the control device performs the following processing: (i) classifies the plurality of control information included in the washing information into one or more washing processes based on a classification rule, and (ii) corrects the washing information by adding common information related to control common to one or more first control information included in a first washing process among the one or more washing processes to the first washing process; the washing function section executes operation based on the washing information by executing the corrected washing information, the one or more first control information are consecutive in the order.
Citation Information
Patent Citations
Washing machine
JP2003284889A
Washing machine system
CN104364434A