Information processing apparatus and information processing method
Patent Information
- Application Number
- CN202180042573.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-19
- Filing Date
- 2021-06-14
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2041-06-14
AI Technical Summary
[0014] The information processing apparatus and the like involved in one aspect of this disclosure can easily generate a wide variety of secure control programs.
Smart Images

Figure CN115699067B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to an information processing apparatus and an information processing method. 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 an information processing device, etc., capable of easily generating a wide variety of secure control programs.
[0009] Solution for solving the problem
[0010] One aspect of this disclosure relates to an information processing apparatus that generates washing information, the washing information including multiple control information for controlling the operation of a washing machine. The information processing apparatus includes: a processor; and a memory connected to the processor, wherein the processor uses the memory to perform the following processing: accepting input of washing information including sequence information and multiple control information, each of the multiple control information being control information related to parameters for controlling a washing function unit, the washing function unit performing operations related to washing laundry, the sequence information being information related to the order in which the multiple control information is executed; and modifying the washing information based on rules related to the washing sequence.
[0011] In another aspect of this disclosure, an information processing apparatus generates washing information, which includes multiple control information for controlling the operation of a washing machine. The information processing apparatus includes a processor and a memory connected to the processor. Each of the multiple control information includes control information related to parameters for controlling a washing function unit that performs operations related to washing laundry. In this information processing method, the processor uses the memory to perform the following processes: accepting input of a first control information among the multiple control information; determining conditions for allowing control information to be executed in a sequence following the first control information based on rules related to the washing order and the accepted first control information; and restricting input of second control information set to be executed in a sequence following the first control information based on the determined conditions.
[0012] Furthermore, these general or specific methods can be implemented either through methods, systems, integrated circuits, computer programs, or recording media such as computer-readable CD-ROMs, or through any combination of systems, methods, integrated circuits, computer programs, and recording media.
[0013] The effects of the invention
[0014] The information processing apparatus and the like involved in one aspect of this disclosure can easily generate a wide variety of secure control programs. Attached Figure Description
[0015] Figure 1 This is a hardware structure diagram of the system in Implementation Method 1.
[0016] Figure 2A This is a hardware structure diagram of the cloud server in Implementation Method 1.
[0017] Figure 2B This is a hardware structure diagram of the device in Implementation Method 1.
[0018] Figure 2C This is a hardware structure diagram of the terminal in Implementation Method 1.
[0019] Figure 3 This is a functional structure diagram of the system in Implementation Method 1.
[0020] Figure 4 This is a diagram illustrating an example of the structure of a washing machine.
[0021] Figure 5 This is a block diagram illustrating an example of the functional structure of a washing machine.
[0022] Figure 6A The first example of a module for defining an application is shown in Implementation 1. Figure 6B This illustrates a second example of a module for defining an application in Implementation 1. Figure 6C This illustrates a third example of a module for defining an application in Implementation 1. Figure 6D This illustrates a fourth example of a module for defining an application in Implementation 1. Figure 6E This illustrates a fifth example of a module for defining an application in Implementation 1.
[0023] Figure 6F The sixth example of a module for defining an application is shown in Implementation 1.
[0024] Figure 6G The seventh example of a module for defining an application is shown in Implementation 1. Figure 6H The eighth example of a module for defining an application is shown in Implementation 1. Figure 6I The ninth example of a module for defining an application is shown in Implementation 1.
[0025] Figure 6J The tenth example of a module for defining an application is shown in Implementation 1.
[0026] Figure 6K The eleventh example of a module for defining an application is shown in Implementation 1.
[0027] Figure 6L The twelfth example of a module for defining an application is shown in Implementation 1.
[0028] Figure 6M The thirteenth example of a module for defining an application is shown in Implementation 1.
[0029] Figure 6N The fourteenth example of a module for defining an application is shown in Implementation 1.
[0030] Figure 6O The fifteenth example of a module for defining an application is shown in Implementation 1.
[0031] Figure 6P The sixteenth example of a module for defining an application is shown in Implementation 1.
[0032] Figure 7 This is a sequence diagram of the system in Implementation Method 1.
[0033] Figure 8 An example of a device database in Implementation 1 is shown.
[0034] Figure 9 An example of an execution content declaration in Implementation 1 is shown.
[0035] Figure 10 A flowchart of the pre-execution confirmation process in Implementation 1 is shown.
[0036] Figure 11 An example of a rule database in Implementation 1 is shown.
[0037] Figure 12 This illustrates a first example of a modification to the execution content declaration in Implementation 1.
[0038] Figure 13 This illustrates a second example of a modification to the execution content declaration in Implementation 1.
[0039] Figure 14 This illustrates a third example of a modification to the execution content declaration in Implementation 1.
[0040] Figure 15 This illustrates a fourth example of a modification to the execution content declaration in Implementation 1.
[0041] Figure 16 This shows a fifth example of a modification to the execution content declaration in Implementation 1.
[0042] Figure 17 This illustrates a sixth example of a modification to the execution content declaration in Implementation 1.
[0043] Figure 18 This is the seventh example of a modification to the execution content declaration in Implementation 1.
[0044] Figure 19 This illustrates an eighth example of a modification to the execution content declaration in Implementation 1.
[0045] Figure 20 This illustrates a ninth example of a modification to the execution content declaration in Implementation 1.
[0046] Figure 21 This is a diagram illustrating an example of the classification rules in a variation of Embodiment 1.
[0047] Figure 22 This is a flowchart of the pre-execution confirmation process in Variation 1 of Implementation Method 1.
[0048] Figure 23A The modification of the execution content declaration in Variation 1 of Implementation 1 is shown.
[0049] Figure 23B The modification of the execution content declaration in Variation 1 of Implementation 1 is shown.
[0050] Figure 23C The modification of the execution content declaration in Variation 1 of Implementation 1 is shown.
[0051] Figure 24 This is a flowchart of the pre-execution confirmation process in Variation 2 of Implementation Method 1.
[0052] Figure 25A This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0053] Figure 25B This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0054] Figure 25C This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0055] Figure 25D This illustrates a first example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0056] Figure 26A This is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0057] Figure 26B This is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0058] Figure 26C This is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0059] Figure 26D This is a second example of a modification to the execution content declaration in Variation 2 of Implementation 1.
[0060] Figure 27A This is a sequence diagram of the system in variation 4 of implementation method 1.
[0061] Figure 27B This is a sequence diagram of the system in variation 5 of implementation method 1.
[0062] Figure 27C This is a sequence diagram of the system in Variation 6 of Implementation Method 1.
[0063] Figure 27D This is a sequence diagram of the system in variation 7 of implementation method 1.
[0064] Figure 27E This is a sequence diagram of the system in variation 8 of implementation method 1.
[0065] Figure 28 A flowchart of the pre-execution confirmation process in Implementation 2 is shown.
[0066] Figure 29 A flowchart of the pre-execution confirmation process in Implementation 3 is shown.
[0067] Figure 30 A flowchart of the pre-execution confirmation process in Implementation 4 is shown.
[0068] Figure 31 An example of a rule database in Implementation 4 is shown.
[0069] Figure 32 This is a diagram illustrating a structural example of the information processing system in Embodiment 5.
[0070] Figure 33A This is a diagram illustrating an example of the information stored in the module database in Implementation 5.
[0071] Figure 33B This is a diagram illustrating an example of the information stored in the rule database in Implementation 5.
[0072] Figure 34 This is a diagram illustrating an example of the general rules contained in the rule database of Implementation 5.
[0073] Figure 35 This is a sequence diagram of the information processing system in Implementation Method 5.
[0074] Figure 36 This is a flowchart illustrating the overall processing actions of the development tool in Implementation 5.
[0075] Figure 37 This is a flowchart illustrating an example of the automatic parameter correction process in Implementation 5.
[0076] Figure 38 This is a flowchart illustrating an example of parameter error presentation handling in Implementation 5.
[0077] Figure 39 This is a diagram showing an example of a sequence generation screen in Embodiment 5.
[0078] Figure 40 This is a diagram showing an example of a list of modules in Implementation 5.
[0079] Figure 41A This is a diagram showing a first display example of the parameter setting area in Embodiment 5.
[0080] Figure 41B This is a diagram showing a second display example of the parameter setting area in Embodiment 5.
[0081] Figure 42 This is a diagram illustrating an example of the automatic correction processing of the functional modules in Embodiment 5.
[0082] Figure 43This is a diagram illustrating a first example of the automatic correction process for the connection of functional modules in Implementation 5.
[0083] Figure 44 This is a diagram illustrating a second example of the automatic correction process for the connection of functional modules in Implementation 5.
[0084] Figure 45 This is a diagram illustrating a third example of the automatic correction processing for the connection of functional modules in Embodiment 5.
[0085] Figure 46 This is a diagram illustrating a fourth example of the automatic correction processing for the connection of functional modules in Implementation 5.
[0086] Figure 47 This is a diagram illustrating a first example of the automatic correction processing of the sequence in a variation 1 of Embodiment 5.
[0087] Figure 48 This is a diagram illustrating a second example of the automatic correction processing of the sequence in Variation 1 of Embodiment 5.
[0088] Figure 49 This is a diagram illustrating a third example of the automatic correction processing of the sequence in Variation 1 of Embodiment 5. Detailed Implementation
[0089] (The underlying insights of this disclosure)
[0090] 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 the development of control programs. 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.
[0091] 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.
[0092] 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.
[0093] Therefore, third parties, due to insufficient information about household appliances and other 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] The implementation method will now be described in detail with reference to the accompanying drawings.
[0098] 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.
[0099] 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.
[0100] (Implementation Method 1)
[0101] [1.1 Hardware Structure]
[0102] 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.
[0103] 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.
[0104] 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.
[0105] 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.
[0106] 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.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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.
[0111] 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.
[0112] 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.
[0113] 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.
[0114] 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.
[0115] 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.
[0116] 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.
[0117] [1.2 Functional Structure]
[0118] 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.
[0119] 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.
[0120] 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.
[0121] 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.
[0122] 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.
[0123] 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.
[0124] 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.
[0125] UI 400 provides information to users and is subject to user input.
[0126] 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.
[0127] 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.
[0128] 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.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] 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.
[0136] 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.
[0137] 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.
[0138] 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.
[0139] 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.
[0140] 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.
[0141] 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.
[0142] 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.
[0143] 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.
[0144] 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.
[0145] 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.
[0146] 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. The control information is simply information used to control the washing machine 500 to perform washing-related operations. The operation of the washing function unit is related to washing the laundry, and includes at least one of the following actions: load detection, water supply, water filling and rinsing, detergent dispensing, fabric softener dispensing, agitation, drum rotation, spin-drying, draining, door locking, soaking, sterilization and antibacterial action, buzzer operation, air supply, and drying.
[0147] 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.
[0148] 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.
[0149] 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.
[0150] 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.
[0151] 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.
[0152] 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.
[0153] 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.
[0154] 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.
[0155] 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.
[0156] 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.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] 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.
[0166] 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.
[0167] For example, the level of abstraction can be varied using manufacturer-oriented and non-manufacturer-oriented layers. Examples of non-manufacturer-oriented layers include layers oriented towards other manufacturers or third parties. In this case, the level of abstraction for manufacturer-oriented layers is lower than that for non-manufacturer-oriented layers. Lower abstraction means controlling things closer to the parameters used to drive actuators and heaters.
[0168] 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.
[0169] [1.3 Processing]
[0170] 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.
[0171] [1.3.1 Preparation Phase F100]
[0172] First, let's explain the preparation phase of F100.
[0173] (Step S110)
[0174] 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.
[0175] 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.
[0176] (Step S112)
[0177] 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.
[0178] In addition, device information 1201 can also be registered in device manager 200 via UI 400 after being sent to UI 400.
[0179] 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.
[0180] In addition, equipment information 1201 may also include information that can identify facilities 2a to 2d.
[0181] (Step S114)
[0182] 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.
[0183] UI information may include, for example, the identifier and / or address of UI 400. Furthermore, UI information can also contain arbitrary information.
[0184] In addition, UI information can also include information that can identify facilities 2a to 2d.
[0185] 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.
[0186] [1.3.2 Application Execution Pre-Phase F200]
[0187] 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.
[0188] (Step S210)
[0189] 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.
[0190] 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.
[0191] 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.
[0192] (Step S212)
[0193] 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.
[0194] 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 as follows: The execution content declaration 1300 includes multiple modules 1301, device-related information 1302 required to execute each module 1301, and sequence information 1303 related to the order in which the modules 1301 are executed. The execution content declaration 1300 is an example of washing information. Washing information can consist of one of multiple control information parameters related to various operating parameters of the washing function unit, or it can be information composed of a combination of multiple control information parameters. The multiple control information parameters mentioned here are, for example, those... Figures 6A to 6P The information represented by modules 1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1100, 1110, 1120, 1130, 1140, and 1150 is illustrated in the figure.
[0195] 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.
[0196] 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.
[0197] (Step S214)
[0198] 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.
[0199] 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.
[0200] (Step S215)
[0201] 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.
[0202] (Step S216)
[0203] 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.
[0204] Then, device 300 modifies the module based on the confirmation results. This corrects the module to prevent problems from arising.
[0205] 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.
[0206] (Step S2165)
[0207] 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.
[0208] 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 11The 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.
[0209] 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.
[0210] 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.
[0211] 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.
[0212] 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.
[0213] 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.
[0214] 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.
[0215] 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.
[0216] 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.
[0217] 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.
[0218] 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.
[0219] 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.
[0220] (Step S2166)
[0221] 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.
[0222] (Step S2167)
[0223] 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.
[0224] Reference Figures 12-20 A specific example of the modification to such execution content declaration 1300 is explained.
[0225] 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.
[0226] 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.
[0227] 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.
[0228] Figure 13This 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.
[0229] 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.
[0230] 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.
[0231] Figure 14 This illustrates a third example of a modification to the execution content declaration in Implementation 1. Figure 14 In 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.
[0232] Figure 15This 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.
[0233] Figure 16 This illustrates a fifth example of a modification to the execution content declaration in Implementation Method 1. Figure 16 In 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.
[0234] 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.
[0235] In addition, Figure 17 In 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.
[0236] 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.
[0237] Figure 18 This illustrates a seventh example of a modification to the execution content declaration in Implementation 1. Figure 18In 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.
[0238] 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.
[0239] 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.
[0240] 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.
[0241] Here, return to Figure 7 Explanation.
[0242] (Step S217)
[0243] 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.
[0244] (Step S218)
[0245] 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.
[0246] (Step S220)
[0247] 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.
[0248] (Step S222)
[0249] 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.
[0250] (Step S224)
[0251] 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.
[0252] 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.
[0253] Through the above actions, the application execution pre-stage F200 ends.
[0254] [1.3.3 Application Execution Phase F300]
[0255] Next, the application execution phase F300 will be explained.
[0256] (Step S310)
[0257] 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.
[0258] 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.
[0259] 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.
[0260] (Step S312)
[0261] Device Manager 200 receives the execution instructions from the first module and updates the schedules (scheduled usage times) for each device.
[0262] (Step S314)
[0263] Device 300 receives the execution instruction of the first module and executes the first module.
[0264] (Step S316)
[0265] 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.
[0266] (Step S318)
[0267] 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.
[0268] (Step S320)
[0269] The sequence manager 100 sends an execution instruction for the selected second module to the device manager 200.
[0270] 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.
[0271] 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.
[0272] 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.
[0273] 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.
[0274] [1.4 Effects, etc.]
[0275] As described above, in this embodiment, 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 the actuator 22, which performs physical motion, or the heater 23, which outputs heat 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 for ensuring safety can be carried out in parallel, and a wide variety of applications can be developed at an early stage.
[0276] 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.
[0277] 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.
[0278] 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.
[0279] 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.
[0280] Alternatively, for example, if the rules do not allow the execution of the first module contained in the execution 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 execution content declaration as control information for the execution order after the first module.
[0281] 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.
[0282] 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.
[0283] 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.
[0284] 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.
[0285] 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.
[0286] 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.
[0287] 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.
[0288] 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.
[0289] 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.
[0290] 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.
[0291] 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.
[0292] 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.
[0293] 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.
[0294] 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.
[0295] 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.
[0296] Alternatively, for example, in the apparatus 20 of this embodiment, the control unit 24 may change the application by referring to the 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 the heater 23.
[0297] 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.
[0298] 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.
[0299] 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.
[0300] 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.
[0301] 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.
[0302] 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.
[0303] This allows for more reliable modification of modules with parameters that are included within the first parameter range, which are not permitted.
[0304] 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).
[0305] Thus, the application can contain information on sequence and timing, and can determine and execute sequentially while confirming the parameter range of each module.
[0306] 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.
[0307] 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.
[0308] 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.
[0309] 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.
[0310] (A variation of Implementation Method 1)
[0311] (Variation Example 1)
[0312] 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.
[0313] 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 adds common information shared by the more than one first module contained in the first washing process to the first washing process within the more than one 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 consecutive 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 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.
[0314] 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.
[0315] 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.
[0316] 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.
[0317] 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.
[0318] 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.
[0319] 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.
[0320] 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.
[0321] 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.
[0322] Next, the control device 550 adds common information to each washing process (S2173).
[0323] 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.
[0324] 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.
[0325] Next, the control device 550, as Figure 23C As shown, common information 1511 related to the common control of the modules 1060 for the drum rotation action, 1150 for the foam generation action, 1050 for the stirring action, and 1010 for the water supply action included in the water supply process 1510 is added to the water supply process 1510. 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 of the water tank 502 detected by the water level sensor reaches a specified water level, or detection information for acquiring the change (increase) of the water level of the water tank 502 detected by the water level sensor per unit time.
[0326] 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.
[0327] 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.
[0328] 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 one or more washing processes based on classification rules, and (ii) adds common information related to the common control of the one or more modules 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 one or more modules contained in the first washing process are consecutive in the order represented by the sequence information.
[0329] 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.
[0330] (Variation Example 2)
[0331] 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.
[0332] 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 when the operating state meets the prescribed conditions, 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 in 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.
[0333] 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 because the operating status meets the predetermined conditions, the control device 550 causes the washing function unit to execute 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.
[0334] 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.
[0335] 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.
[0336] First, the control device 550 uses classification rule 1410 to determine the attributes of multiple modules 1301 (S2171).
[0337] Next, the control device 550 classifies the multiple modules into one or more washing processes based on the determined attributes (S2172).
[0338] Next, the control device 550 adds decision information to each washing process (S2173a).
[0339] 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.
[0340] Then, control device 550 such Figure 25B As shown, module 1070, which categorizes the dehydration action, is classified as dehydration process 1520.
[0341] 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.
[0342] 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.
[0343] 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.
[0344] 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.
[0345] 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 is below the second threshold and the dehydration process ends, the washing function unit executes a predetermined second washing process following the dehydration process. The second washing process is a washing process that includes the 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.
[0346] 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.
[0347] 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.
[0348] 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.
[0349] 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.
[0350] 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.
[0351] 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.
[0352] 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.
[0353] 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.
[0354] 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.
[0355] 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 is below the second threshold and the dehydration process ends, the washing function unit will perform the predetermined drying process 1540 after the dehydration process.
[0356] 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.
[0357] In the washing machine 500 of this modified example, common information includes detection information used by 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 when 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 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.
[0358] 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.
[0359] 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.
[0360] 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.
[0361] (Variation Example 3)
[0362] 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.
[0363] 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.
[0364] 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.
[0365] 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.
[0366] 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.
[0367] 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.
[0368] 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. 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 if the water supply process 1510 ends because the speed information is within the range of the predetermined speed information, 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 the predetermined speed information, the control device 550 stops the water supply process 1510 and causes the washing function unit to execute a presentation process.
[0369] 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.
[0370] 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.
[0371] 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.
[0372] 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. 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 if the drainage process ends when the speed information is within the predetermined speed information range, the washing function unit executes 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 execute a presentation process.
[0373] 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.
[0374] Therefore, by executing decision information, the control device 550 causes the washing function unit to perform a predetermined washing process following the water supply or agitation process when the obtained foam generation status indicates that no foam generation has been detected and the water supply or agitation process has ended. Alternatively, by executing decision information, the control device 550 causes the water supply or agitation process to be stopped and the washing function unit to perform a defoaming process when the obtained foam generation status indicates that foam generation has been detected.
[0375] (Variation Example 4)
[0376] 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.
[0377] 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).
[0378] 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.
[0379] 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.
[0380] (Variation Example 5)
[0381] 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).
[0382] 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.
[0383] 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.
[0384] 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.
[0385] (Variation Example 6)
[0386] 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).
[0387] 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).
[0388] 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.
[0389] 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.
[0390] (Variation Example 7)
[0391] 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).
[0392] When a module is pre-downloaded to device 300 and the user executes the module at any scheduled 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.
[0393] (Variation Example 8)
[0394] 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).
[0395] (Implementation Method 2)
[0396] 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.
[0397] 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.
[0398] [2.1 Processing]
[0399] 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.
[0400] Figure 28 A flowchart of the pre-execution confirmation process in Implementation 2 is shown.
[0401] (Step S2161A)
[0402] Device 300 obtains application authentication information. This application authentication information includes details indicating that authentication is complete once the application has been authenticated.
[0403] 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.
[0404] (Step S2162A)
[0405] 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.
[0406] [2.2 Effects, etc.]
[0407] 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.
[0408] 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.
[0409] 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.
[0410] Therefore, once the application authentication is complete, the processing for changing modules can be skipped, thereby reducing the processing load.
[0411] (Implementation Method 3)
[0412] 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 its differences from Embodiment 1.
[0413] 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.
[0414] [3.1 Processing]
[0415] 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.
[0416] Figure 29 A flowchart of the pre-execution confirmation process in Implementation 3 is shown.
[0417] (Step S2161B)
[0418] 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.
[0419] (Step S2163B)
[0420] 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.
[0421] (Step S2164B)
[0422] 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.
[0423] 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.
[0424] [3.2 Effects, etc.]
[0425] 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.
[0426] 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.
[0427] (Implementation Method 4)
[0428] 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.
[0429] 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.
[0430] [4.1 Processing]
[0431] 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.
[0432] Figure 30 A flowchart of the pre-execution confirmation process in Implementation 4 is shown.
[0433] (Step S2163C)
[0434] 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.
[0435] (Step S2165C)
[0436] 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.
[0437] 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.
[0438] 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.
[0439] 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.
[0440] 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.
[0441] 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.
[0442] [4.2 Effects, etc.]
[0443] 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.
[0444] 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.
[0445] (Implementation Method 5)
[0446] In embodiments 1 to 4 described above, the modules included in the already published application are modified before the application is executed. In this embodiment, the timing of the modification of the modules included in the application is before the application is published, that is, during the development or creation of the application. This embodiment differs from embodiments 1 to 4 in this respect. Hereinafter, this embodiment will be described in detail, focusing on the differences from embodiments 1 to 4. Furthermore, this embodiment may be the same as embodiments 1 to 4 except for the timing of the module modification. Additionally, the same reference numerals are used for the constituent elements of this embodiment that are the same as those in embodiments 1 to 4, and detailed descriptions are omitted.
[0447] [5.1 Structure]
[0448] Figure 32 This is a diagram illustrating an example of the structure of an information processing system used for developing applications.
[0449] The information processing system 2000 includes a module database 41, a rule database 42, development tools 50, multiple devices 20, multiple terminals 30, an application providing server 60, and a sequence manager 100. For example, these components of the information processing system 2000 are connected via a communication network such as the Internet.
[0450] Module database 41, also known as module DB, is a record medium storing a list of modules containing multiple functional modules. Furthermore, similar to embodiments 1-4, these functional modules are also referred to as modules. Rule database 42, also known as rule DB, is a record medium storing multiple rules. Furthermore, rule database 42 may, for example, be connected to... Figure 11 The rule database shown is the same as 1400. Furthermore, these recording media are hard disks, RAM (Read Only Memory), ROM (Random Access Memory), or semiconductor memory, etc. Moreover, such recording media can be either volatile or non-volatile.
[0451] The development tool 50 is, for example, a computer system comprising a processor 51, a memory 52, a display 53, and an input unit 54. The processor 51 executes the processes described later by executing instructions or software programs stored in the memory 52, and displays text or images on the display 53. The display 53 is, for example, a liquid crystal display, a plasma display, or an organic EL (electro-Luminescence) display, but is not limited to these. The input unit 54 is, for example, configured as a keyboard, a touch sensor, a touchpad, or a mouse. Such a development tool 50 is used, for example, by application developers to generate sequences or applications containing multiple functional modules. Furthermore, in this embodiment, the development tool 50 is an example of an information processing device. Furthermore, regarding the development tool 50, in... Figure 32 The diagram shows a desktop PC (Personal Computer), but it is not limited to this; it can also be a smartphone, tablet, etc. In other words, the development tool 50 can be any computer system, without any restrictions on its form.
[0452] The application providing server 60 retrieves and stores the application generated by the development tool 50 via a communication network. Then, the application providing server 60 downloads the stored application to the sequence manager 100 according to instructions from the UI 400 of the terminal 30.
[0453] Figure 33A This is a diagram illustrating an example of information stored in module database 41. Figure 33B This is a diagram illustrating an example of information stored in the rules database 42.
[0454] like Figure 33AAs shown, the module database 41 stores a list of functional modules used to drive the washing machine as the module list described above. For example, module list 41a is stored. Module list 41a includes functional modules 1000, 1010, 1020, and 1030, etc., used to drive the washing machine. These functional modules may be the same as or similar to the modules in embodiments 1 to 4 described above.
[0455] like Figure 33B As shown, rule database 42 stores rule groups consisting of at least one rule applicable to the washing machine. For example, rule group 42a is stored. Rule group 42a includes rules R1000, R1010, R1020, and R1030, etc., applicable to the washing machine. These rules may be the same as or similar to the rules in embodiments 1 to 4 described above.
[0456] Here, the rules in R1010, R1020, and R1030 regarding washing machines are, for example, specific rules applicable to washing machines of a specified type manufactured by a specified manufacturer. Specifically, the rules in these specific rules R1010, R1020, R1030, etc., can also be, for example... Figure 11 Rules 1401 to 1405 are shown.
[0457] On the other hand, the washing machine rule R1000 is, for example, a universal rule that can be applied to every type of washing machine.
[0458] Figure 34 This is a diagram showing an example of the general rules contained in rule database 42.
[0459] The rule group 42a of the washing machine stored in the rule database 42 may also contain, for example... Figure 34 The general rule R1000 is shown in (a). This general rule R1000 represents the parameter range (500 rpm, +∞) applicable to each type of washing machine that is applicable to a variety of washing machines. The variety of washing machines includes washing machines supplied by multiple manufacturers. In addition, if each manufacturer provides multiple types of washing machines, then the variety of washing machines includes those multiple types of washing machines. That is, the parameter range shown as a rule in the general rule R1000 can be applied to any washing machine regardless of the manufacturer and type. Furthermore, similar to embodiments 1 to 4, this parameter range can also define non-permitted ranges. For example, the general rule R1000 indicates a range greater than 500 rpm as a non-permitted range. In addition, similar to embodiments 1 to 4, a non-permitted range may, for example, be the range of parameters for the internal space of the housing 21, or for the actuator 22 or heater 23 to reach a durable temperature.
[0460] In addition, such as Figure 34As shown in (b), the general rule R1000 for this washing machine can also represent the parameter range applicable to washing machines from various manufacturers. For example, the general rule R1000 represents the parameter range (800 rpm, +∞) applicable to multiple models of washing machines provided by manufacturer "Company A" and the parameter range (600 rpm, +∞) applicable to multiple models of washing machines provided by manufacturer "Company B", etc.
[0461] Furthermore, general rules can also be set differently based on the type of washing machine construction. Types of washing machine construction include, for example, upright washing machines where the washing tub's rotation axis runs vertically, and front-loading washing machines where the washing tub's rotation axis intersects vertically. Since different types of washing machine construction result in vastly different washing methods, different general rules can be set for each type of washing machine construction. For example, manufacturers can apply general rules for upright washing machines, and vice versa. Additionally, specific rules can also be set differently based on the type of washing machine construction.
[0462] [5.2 Processing]
[0463] Figure 35 This is the sequence diagram of Information Processing System 2000.
[0464] (Step S11)
[0465] First, development tool 50 installs one or more functional modules. Specifically, development tool 50 obtains one or more functional modules from module database 41 by downloading. For example, development tool 50 can obtain either the module list 41a of the washing machine or only a portion of the functional modules in the module list 41a. Then, development tool 50 sets the obtained functional modules to a state where they can be used to generate sequences.
[0466] Here, device information corresponding to each functional module can also be attached to each functional module stored in the module database 41. This device information indicates, for example, the manufacturer, category, type, or model of the device 20 that is driven according to the functional module corresponding to that device information. Therefore, the development tool 50 can also download more than one functional module based on this device information. For example, the development tool 50 can download more than one functional module for driving various devices 20 provided by the same manufacturer, or it can download more than one functional module for driving various devices 20 that are washing machines.
[0467] (Step S12)
[0468] Next, the development tool 50 generates a sequence. Specifically, the development tool 50 generates a sequence using one or more downloaded functional modules based on the input operations performed by the operator on the input unit 54. Furthermore, the operator can also be the developer of the application that forms the sequence. In this embodiment, the development tool 50 refers to the aforementioned rules in step S12 and modifies the application based on those rules.
[0469] (Step S13)
[0470] Next, the development tool 50 uploads the generated sequence. Specifically, based on the user's input to the input unit 54, the development tool 50 generates a sending message for sending the sequence to the application providing server 60, and sends the sending message to the application providing server 60. This sending message can be, for example, JSON (JavaScript Object Notation). Thus, the sequence is sent to the application providing server 60 and stored there as an application.
[0471] (Step S14)
[0472] Next, the user of terminal 30 accesses application provider server 60 by operating the UI 400 of terminal 30 and browses the list of applications stored on application provider server 60. Then, based on the user's operation, UI 400 selects an application from the list and requests the application provider server 60 to download the application.
[0473] (Step S15)
[0474] When the application provider server 60 receives a download request from the UI 400, it downloads the selected application to the sequence manager 100 associated with the user.
[0475] Figure 36 This is a flowchart illustrating the overall processing actions of development tool 50. Specifically, Figure 36 The flowchart shown illustrates Figure 35 The detailed processing actions of steps S11 and S12 in the sequence.
[0476] (Step S21)
[0477] The development tool 50 first installs, for example, several functional modules for driving the washing machine 500.
[0478] (Step S22)
[0479] Next, the development tool 50 performs configuration processing of the functional modules based on the operator's input operation to the input unit 54. That is, the development tool 50 displays the multiple functional modules installed in step S21 on the display 53, and selects one functional module from the displayed modules based on the operator's input operation to the input unit 54. Then, the development tool 50 configures the functional module in the selection module area of the sequence generation screen on the display 53 based on the operator's input operation to the input unit 54. Regarding the sequence generation screen, using... Figure 39 This will be described later. In other words, the operator drags and drops one of the multiple functional modules into the selection module area.
[0480] (Step S23)
[0481] Next, the development tool 50 performs parameter setting processing on the functional module configured in step S22 based on the operator's input operation to the input unit 54. Specifically, the development tool 50 displays an image of the parameters used by the functional module in the parameter setting area of the sequence generation screen. Then, the development tool 50 accepts the parameter content based on the operator's input operation to the input unit 54 and displays the parameter content in the parameter setting area. Thus, the parameters of the functional module are set. Alternatively, the initial values of the functional module's parameters can be preset.
[0482] (Step S24)
[0483] Next, the development tool 50 refers to the rules applicable to the washing machine 500 to determine whether the parameters set in step S23 are outside the parameter range shown by the rules, i.e., outside the unallowed range.
[0484] (Step S25)
[0485] When development tool 50 determines in step S24 that a parameter is outside the allowed range (step S24: "No"), it performs parameter setting support processing. In this parameter setting support processing, development tool 50 performs either error presentation processing to show the error to the operator or automatic parameter correction processing. In automatic parameter correction processing, development tool 50 changes the functional module by changing the parameter outside the allowed range to a parameter within the allowed range. In error presentation processing, development tool 50, for example, displays a message indicating that the parameter set in the previous step S23 is outside the allowed range as an error on display 53, prompting the operator to change the parameter. Then, after performing the processing in step S25, development tool 50 repeats the processing from step S23 onwards.
[0486] Furthermore, if step S23 is performed after the automatic parameter correction process in step S25, the development tool 50 displays the parameters modified by the automatic correction process in the parameter setting area in step S23. On the other hand, if step S23 is performed after the error presentation process in step S25, the development tool 50 again processes the parameters based on the operator's input to the input unit 54, just as described above. Thus, the parameters for this functional module are changed. In other words, the functional module is modified.
[0487] Furthermore, the parameters of the functional modules can also be set to fixed values. In this case, the development tool 50 may not need to perform steps S24 and S25.
[0488] (Step S26)
[0489] When it is determined in step S24 that the parameter is outside the allowed range (step S24: "Yes"), the development tool 50 further determines whether to permit the connection of the functional module configured in step S22. For example, in step S22, the functional module is configured immediately before or after an existing module that is already configured in the selection module area as another functional module. As a result, the functional module is configured in a state of connection with the existing module. That is, the functional module is configured in such a way that the processing of the device 20 based on the functional module and the processing of the device 20 based on the existing module are executed consecutively. In this case, the development tool 50 determines whether to permit the connection between the functional module and the existing module by referring to the connection rules applicable to the washing machine 500. That is, similar to step S2166 of embodiment 1, the development tool 50 determines whether to permit the connection between the first module and the second module by determining whether to allow the execution of the second module after the first module. In addition, the connection rules may be, for example, Figure 11 Rules 1401 to 1405 are shown.
[0490] (Step S27)
[0491] When the development tool 50 determines in step S26 that a connection is not permitted (step S26: "No"), it performs connection support processing. In this connection support processing, the development tool 50 performs error presentation processing to show the error to the operator, or automatic connection correction processing. Then, the development tool 50 repeats the processing from step S22 onwards. In the automatic connection correction processing in step S27, for example, the same processing as step S2167 in Embodiment 1 may be performed.
[0492] Furthermore, if step S22 is performed after the automatic connection correction process in step S27, the development tool 50 displays the two or more functional modules that have been reconnected through the automatic correction process in the selection module area. On the other hand, if step S22 is performed after the error presentation process in step S27, the development tool 50 reconfigures the functional modules again based on the operator's input to the input unit 54, as described above. Additionally, if steps S27 to S22 are repeated, since the parameters of the functional modules are already set within the allowable range, the development tool 50 can skip steps S23 to S25 after step S22.
[0493] (Step S28)
[0494] When the development tool 50 determines that a connection is permitted in step S26 (step S26: "Yes"), it further determines whether sequence generation is complete based on the operator's input operation on the input unit 54. If the development tool 50 determines that sequence generation is incomplete (step S28: "No"), it repeats the process from step S22. At this time, the development tool 50 selects a new module from the multiple modules installed in step S21 based on the operator's input operation on the input unit 54, and configures the new module in the selected module area.
[0495] (Step S29)
[0496] When development tool 50 determines in step S28 that the generation of the sequence is complete (step S28: "Yes"), it further determines whether the overall flow of the generated sequence is permitted. For example, in this sequence, a second functional module is configured before or after the first functional module. On the other hand, in the combination rules applicable to washing machine 500, the combination of the first and second functional modules is not permitted. In this case, development tool 50 determines that the overall flow of the generated sequence is not permitted. Alternatively, in the combination rules applicable to washing machine 500, it is required that the second functional module be configured before or after the first functional module. In this case, development tool 50 determines that the overall flow of the generated sequence is permitted.
[0497] (Step S30)
[0498] When development tool 50 determines in step S29 that the entire sequence of processes is not permitted (step S29: "No"), it performs configuration support processing. In this configuration support processing, development tool 50 performs error presentation processing to show errors to the operator, or automatic correction processing of the configuration of functional modules. Then, development tool 50 repeats the processing from step S22 onwards.
[0499] Furthermore, if step S22 is performed after the automatic correction process in step S30, the development tool 50 displays two or more functional modules that have been reconfigured through the automatic correction process in the module selection area. Additionally, if steps S30 to S22 are repeated, since the parameters of the functional modules have already been set within the allowed range, the development tool 50 can skip steps S23 to S25 after step S22. Furthermore, since the connection of the functional modules has been permitted, the development tool 50 can skip steps S26 and S27. Moreover, the development tool 50 can skip step S28.
[0500] In addition, development tool 50 can also skip the processing of steps S29 and S30.
[0501] Figure 37 This is a flowchart illustrating an example of automatic parameter correction processing.
[0502] exist Figure 36 In the example shown, each time a functional module is selected and configured, the parameters for that functional module are determined and automatically corrected. However, this disclosure is not limited to this example; the development tool 50 can also follow... Figure 37 The flowchart shown illustrates the various processes.
[0503] (Step S41)
[0504] The development tool 50 selects M functional modules (M is an integer between 1 and N) from N functional modules (N being an integer greater than or equal to 2) used to drive the washing machine 500, based on the operator's input operation to the input unit 54. In other words, the development tool 50 selects each of the M functional modules from the N functional modules used to drive at least one of the actuator 22 and heater 23 of the washing machine 500, which is the controlled device, as the selection modules based on the operator's input operation to the input unit 54.
[0505] (Step S42)
[0506] Next, the development tool 50 generates a sequence, i.e., an application program, by setting parameters for each of the selected M functional modules. In other words, the development tool 50 sets parameters for each of the M selected modules to drive the actuator 22 or the heater 23 based on the operator's input to the input unit 54, thereby generating an application program defined by the M selected modules.
[0507] (Step S43)
[0508] Next, the development tool 50 refers to rules applicable to the washing machine 500. For example, if the application generated in step S42 is applied to multiple washing machines, the development tool 50 refers to the general rule R1000. Alternatively, if the application generated in step S42 is applied to a specific type of washing machine, the development tool 50 refers to the specific rules R1010, R1020, and R1030 corresponding to that type of washing machine 500. In other words, the development tool 50 determines whether the application generated in step S42 is an application specifically for the controlled device or a general application applied to both the controlled device and other devices. Then, the development tool 50 refers to the rule candidate corresponding to the determination result of the application from among multiple rule candidates used to define the range of parameters where the drive of at least one of the actuators 22 and heaters 23 is not allowed.
[0509] (Step S44)
[0510] Then, the development tool 50 determines whether the parameters of each of the M functional modules set in step S42 are included in the non-allowed range shown in the above rules.
[0511] (Step S45)
[0512] Here, when the development tool 50 determines that the parameter is within an unallowed range (step S44: "Yes"), it changes the functional module having the parameter. That is, the development tool 50 changes at least one of the M selection modules by referring to the rules used to define the range of parameters that are not allowed for driving at least one of the actuators 22 and heater 23, thereby changing the application. Here, at least one of the M selection modules has a parameter that is within the specified parameter range.
[0513] (Step S46)
[0514] Then, development tool 50 outputs the modified application.
[0515] Figure 38 This is a flowchart illustrating an example of parameter error handling.
[0516] exist Figure 36 In the example shown, each time a functional module is selected and configured, the parameters for that functional module are determined and errors are displayed. However, this disclosure is not limited to this example; the development tool 50 can also follow... Figure 38 The flowchart shown illustrates the various processes.
[0517] (Steps S41 to S44)
[0518] and Figure 37 Similarly, in the example shown, development tool 50 performs the processing steps S41 to S44.
[0519] (Step S51)
[0520] When development tool 50 determines in step S44 that a parameter is within an unallowed range (step S44: "Yes"), it does not automatically change the functional module with that parameter, but instead displays an error on display 53. This presents an error to the operator. In other words, in the processing of steps S43, S44, and S51, development tool 50 presents the error by referring to rules. Specifically, development tool 50 refers to the rules used to define the unallowed parameter range for driving at least one of actuators 22 and heater 23, and presents an error to the operator when at least one of the M selection modules has a parameter within the aforementioned parameter range.
[0521] (Step S52)
[0522] Upon seeing the error, the operator changes the parameters set in step S42 by inputting information into the input section 54 of the development tool 50. As a result, the development tool 50 changes the functional module. That is, the development tool 50 changes at least one of the M selection modules based on the input from the operator who received the error, thereby changing the application. Then, the development tool 50 repeats the process from step S43 onwards.
[0523] (Step S46)
[0524] When development tool 50 determines in step S44 that a parameter is not included in the allowed range (step S44: "No"), it outputs the application. At this time, if the application was changed in step S52, the changed application is output. Conversely, if the application was not changed in step S52, the application generated in step S42 is output.
[0525] Here, when the process of step S51 is repeated, the development tool 50 can also change the way errors are presented based on the number of repetitions. For example, if the number of errors presented is K times or more (K is an integer greater than or equal to 2), the development tool 50 presents parameters that are not included in the aforementioned parameter range to the operator. That is, if the number of errors presented is K times or more, the development tool 50 displays parameters that are not included in the parameter range, i.e., parameters that are not included in the non-allowed range, as candidates for parameters set for the functional module on the display 53. Thus, this candidate is suggested to the operator, for example, as an application developer. As a result, the operator, as an application developer, who sees this candidate, can easily change the parameters set in step S42 to this candidate by inputting the input section 54 of the development tool 50.
[0526] Alternatively, if the number of incorrect presentations exceeds K, the development tool 50 may present the operator with a range of parameters not included in the aforementioned parameter range. In other words, if the number of incorrect presentations exceeds K, the development tool 50 displays the allowed range of parameters on the display 53. Thus, the operator, acting as an application developer, can easily change the parameters set in step S42 to parameters within the allowed range by inputting data into the input section 54 of the development tool 50.
[0527] [5.3 Display Example]
[0528] Figure 39 This is an example of a sequence generation screen.
[0529] The development tool 50 displays the sequence generation screen described above on the monitor 53. The sequence generation screen includes a parameter setting area D1, a module list area D2, an object device area D3, and a module selection area D4.
[0530] The acceptance image is displayed in the parameter setting area D1, showing the parameters used by the acceptance function module.
[0531] The module list area D2 displays the module lists for each of the various devices 20. These module lists contain functional modules downloaded from the module database 41 and installed in the development tool 50.
[0532] The category name of the device 20 selected from the various devices 20 is displayed in the object device area D3.
[0533] Configure and display the functional modules selected from the module list displayed in the module list area D2 in the module selection area D4. The functional modules are displayed as icons, for example.
[0534] For example, the operator determines the category name of the device 20 using the application by inputting data into the input section 54 of the development tool 50. The development tool 50 displays the determined category name in the target device area D3. For example, the determined category name "washing machine" is displayed. Next, the operator selects a functional module from the module list displayed in the module list area D2 to drive the device 20 with the determined category name "washing machine" by inputting data. Then, the operator configures the selected functional module, i.e., the selection module, in the selection module area D4 by inputting data. The selection and configuration of the functional module can be done by dragging and dropping. One or more functional modules configured in the selection module area D4 can be executed in the order they are configured. That is, the application contains information about the execution order of the M selection modules configured in the selection module area D4 and information about the timing of the execution of the M selection modules.
[0535] When a function module is configured in the module selection area D4, the development tool 50 displays the acceptance image of the parameters used by that function module in the parameter setting area D1.
[0536] Figure 40 This is a diagram showing an example of a list of modules.
[0537] The operator inputs data from the display on the input unit 54 by performing input operations. Figure 39 In the module list area D2 shown, select the category name of the device 20 from the various category names of the multiple devices 20 for the application to be generated next. Development tool 50, for example... Figure 40 The list of modules corresponding to the selected category name of device 20 is displayed as shown. For example, as... Figure 40 As shown, when a washing machine is selected, the development tool 50 displays a list of modules for that washing machine. For example, the list of modules includes functional modules for implementing various functions such as load detection, water supply, water filling, detergent dispensing, fabric softener dispensing, agitation, drum rotation, spin-drying, drainage, door lock, soaking, sterilization and antibacterial functions, buzzer, air supply, and drying.
[0538] The operator selects a function module from the module list displayed like this by inputting data into the input unit 54, and configures the selected function module. Figure 39 The selected module area D4 is shown. In other words, development tool 50 performs operations based on such input. Figure 36 The processing shown in step S22 is the configuration processing of the functional module.
[0539] Figure 41A and Figure 41B This is a diagram showing an example of the parameter setting area D1.
[0540] For example, such as Figure 41A and Figure 41B As shown, the development tool 50 displays an image of the parameters contained in the functional modules of the washing machine, which is the device 20, in the parameter setting area D1. Functional modules that perform the spin-drying function and functional modules that perform the drum rotation function can be applied in the washing machine.
[0541] For example Figure 41A The image displayed in parameter setting area D1 is an image used to receive the contents of multiple parameters included in the dehydration function module. For example, the dehydration function module includes a set dehydration speed and a dehydration duration as parameters. The operator looks at this image and performs an input operation on the input unit 54 to input the values of the set speed and duration as the respective contents of the set speed parameter and duration parameter.
[0542] Similarly, Figure 41B The image displayed in parameter setting area D1 is an image of the contents of multiple parameters included in the drum rotation function module 1060. For example, the drum rotation function module includes parameters such as the set rotation speed of the drum, the set rotation direction of the drum, the start / stop of the water supply, the start / stop of the circulation pump, and the rotation direction. The operator views this image and inputs the set rotation speed value into the input unit 54. Furthermore, the operator inputs parameters for the rotation direction (either right or left rotation), the water supply start / stop, the circulation pump start / stop, and the circulation direction (either forward or reverse rotation) as parameters for the rotation direction, water supply, and circulation pump. The development tool 50 sets the parameters used by the drum rotation function module by accepting these input parameters.
[0543] In this way, development tool 50 performs operations based on the operator's input. Figure 36 The parameter setting process in step S23 is shown.
[0544] Additionally, when setting the parameters of a functional module in development tool 50, such as... Figure 36 In step S24, the parameter is determined to be outside the allowed range by referring to the rules of the device 20 corresponding to the functional module.
[0545] Figure 42 This is a diagram illustrating an example of the automatic correction process of a functional module.
[0546] For example, such as Figure 42As shown in (a), the operator inputs the values of the rotation speed and duration included in the spin-drying function module 1070 of the washing machine 500 by performing an input operation on the input unit 54. This sets the parameters used by the spin-drying function module 1070.
[0547] When the parameters are set in this way, the development tool 50 performs automatic correction processing for that functional module. First, the development tool 50 refers to the rules of the washing machine 500 corresponding to that functional module. For example, the development tool 50 refers to... Figure 33B The rule database 42a shown contains any one of the rules. This rule can be either a general rule R1000 or a special rule R1010, etc.
[0548] Then, when the development tool 50 determines that the input parameter, i.e., the value of the rotational speed, such as 1200 rpm, is within the parameter range shown in the rules, i.e., the value is within the unallowed range, it corrects the value of the parameter. For example, if the parameter range exceeds 1000 rpm, the development tool 50 will... Figure 42 As shown in (b), the spin speed value is adjusted from 1200 rpm to 1000 rpm. At this time, the development tool 50 can also adjust the duration parameter by increasing the duration to reduce the spin speed. By adjusting this parameter, the spin-drying function module is changed. That is, the application containing this function module is changed. This ensures the safety of the washing machine 500.
[0549] Figure 43 This is a diagram illustrating the first example of automatic correction processing for the connection of functional modules.
[0550] For example, such as Figure 43 As shown in (a), the operator performs an input operation on the input section 54 in the setting screen D6 for setting the order of functions, to configure the stirring function module 1050 to be executed sequentially after the dehydration function module 1070. This is not permitted under Rule 1405, therefore, the development tool 50, as... Figure 43As shown in (b), a standby action function module 1150 containing parameters related to an action that remains inactive for a specified period (e.g., 30 seconds) is added as control information for the execution sequence following the spin-drying function module 1070. That is, when a function module 1050 using a different rotational agitation action than the spin-drying action is configured after the spin-drying action function module 1070, the development tool 50 automatically modifies the addition of the standby action function module 1150 between the spin-drying action function module 1070 and the agitation action function module 1050. By modifying the order of adding other function modules, the connection of the function modules is changed. That is, the application containing the function module is changed. This ensures the safety of the washing machine 500.
[0551] In addition, development tool 50 can also be used as... Figure 43 As shown in (b), in the case of automatic correction, a message D7 indicating the reason for automatic correction will be displayed on the settings screen D6.
[0552] Figure 44 This is a diagram illustrating a second example of the automatic correction process for the connection of functional modules.
[0553] For example, such as Figure 44 As shown in (a), the operator performs an input operation on the input section 54 in the setting screen D6 for setting the order of functions, to configure the stirring function module 1050 to be executed sequentially after the dehydration function module 1070. This is not permitted under Rule 1405, therefore, the development tool 50 can also... Figure 44 As shown in (b), message D8 is displayed on the setting screen D6, indicating that the stirring function module 1050 cannot be configured after the dehydration function module 1070. Furthermore, message D8 may also include a display asking the user whether to correct the order of the function modules. Figure 44 As shown in (b), the query display includes "Yes" and "No". If the user enters "Yes", the development tool 50 can switch to a screen for accepting corrections. If "No" is entered, the development tool 50 can end the display of screen D6, which is used to set the order of functions.
[0554] Figure 45 This is a diagram illustrating the third example of automatic correction processing for the connection of functional modules.
[0555] For example, let's say... Figure 45As shown in (a), the operator configures the stirring function module 1050 to be executed sequentially after the dehydration function module 1070 by dragging and dropping from the module list area D2 to input the input to the input section 54 in the setting screen D6 for setting the order of functions. This is not permitted under Rule 1405, therefore, the development tool 50 can also... Figure 45 As shown in (b), message D9 is displayed on the setting screen D6, indicating that the stirring function module 1050 cannot be configured after the dehydration function module 1070. Furthermore, message D9 may also contain a message prompting the selection of another function module. In this case, regarding the other function modules included in message D9, the function modules permitted according to each rule can be specifically presented.
[0556] Figure 46 This is a diagram illustrating the fourth example of automatic correction processing for the connection of functional modules.
[0557] For example, it could also be, such as Figure 46 As shown, when the operator configures the dehydration function module 1070 by inputting data to the input unit 54 in the setting screen D6 for setting the order of functions, the development tool 50 displays the module list area D2a in a manner that shows function modules whose execution order is not allowed after the dehydration function module 1070 according to various rules. In this case, for example, the development tool 50 may be set to a display mode in which a strikethrough is drawn in the display showing the stirring function module 1050 and the drum rotation function module 1060, or it may be set to a grayed-out display mode, or it may be deleted from the selection objects in the module list area.
[0558] As in Figure 45 and Figure 46 As illustrated, development tool 50 can also accept input from a first functional module among multiple functional modules, and determine the conditions for allowing functional modules to be executed in the order following the first functional module based on the accepted first functional module and rules related to the order of selection, and restrict the input of second functional modules that are set to be executed in the order following the first functional module based on the determined conditions.
[0559] [5.4 Effects, etc.]
[0560] As described above, in this embodiment, an environment capable of developing a wide variety of secure applications can be provided through the application and rule database containing modules. Therefore, applications freely developed in this environment can safely drive the actuator 22 that performs physical motion or the heater 23 that outputs heat energy. 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 security can be carried out in parallel, enabling the early development of a wide variety of secure applications.
[0561] Furthermore, if this embodiment is combined with any of the embodiments 1 to 4, even after the application is provided, it can be changed to a more secure application by modifying the rule database. Additionally, in cases where it is necessary to improve situations not anticipated by the manufacturer, since 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.
[0562] For example, the information processing method in this embodiment generates washing information that includes multiple control information for controlling the operation of the washing machine 500. In this information processing method, an input containing a sequence (washing information) including multiple modules (control information) and sequence information is received, and the sequence is corrected based on rules related to the washing sequence. Each of the multiple modules relates to parameters for controlling a washing function unit, which performs operations related to washing the laundry. The sequence information relates to the order in which the multiple modules are executed.
[0563] 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, during development, modules with disallowed sequences can be automatically corrected. Therefore, the washing function unit's execution of disallowed sequences can be prevented. That is, even if the application developer incorrectly sets the washing function unit's actions in a disallowed sequence, the generation of applications that cannot safely control the washing machine 500 can be prevented. Additionally, the generation of applications that cause the washing machine 500 to operate inefficiently can be prevented. Therefore, even if the application developer creates an application that 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 ensured and its safety improved. Furthermore, the operating efficiency of the washing machine 500 can be improved, and power consumption can be reduced.
[0564] Alternatively, for example, if the rules do not allow the execution of the first module contained in the sequence and the second module which is set in the sequence information to be executed after the first module, the development tool 50 may add a third module to the sequence as control information for the execution order after the first module.
[0565] 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.
[0566] Alternatively, for example, if the rules do not allow the execution of the first module contained in the sequence and the second module is set in the sequence information to be executed after the first module, the development tool 50 may correct information related to the parameters contained in the first module or the parameters contained in the second module.
[0567] 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.
[0568] Alternatively, for example, if the development tool 50 restricts the execution of the second module when the rule does not allow the execution of the first module contained in the sequence and the second module is set in the sequence information to be executed after the first module, the execution of the second module may be restricted.
[0569] 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.
[0570] 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.
[0571] 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.
[0572] 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.
[0573] 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.
[0574] 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.
[0575] Alternatively, for example, if the development tool 50 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, a third module containing parameters related to drainage from the water tank 502 can be appended to the sequence as control information for the execution order 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 actions of the second module can be executed effectively.
[0576] Alternatively, for example, if the development tool 50 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, the second module can be modified 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 actions of the second module can be effectively executed.
[0577] Alternatively, for example, if the development tool 50 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, a third module containing parameters related to heat dissipation from the water tank 502 can be added to the sequence as control information for the execution order between the first and second modules. Therefore, by cooling the water tank 502 before the start of operation in a heat-free environment, a heat-free environment can be created, and the actions of the second module can be effectively executed.
[0578] Alternatively, for example, if the development tool 50 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, the second module can be modified 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 performed.
[0579] Alternatively, for example, if the first module included in the sequence of the development tool 50 is duplicated with a second module that is set in the sequence information to be executed after the first module, based on rules, (i) the first module or the second module is deleted, or (ii) information related to the parameters included in the first module or the parameters included in the second module is deleted. Therefore, by deleting modules or parameters with duplicate actions, the execution of useless actions can be reduced. Therefore, power consumption can be reduced.
[0580] (A variation of implementation method 5)
[0581] (Variation Example 1)
[0582] In embodiment 5, automatic correction processing of the parameters of the functional modules input during sequence generation, automatic correction processing of the connection of functional modules, or automatic correction processing of the configuration of functional modules are performed. However, it is also possible to perform processing including... Figure 22 The processing of steps S2171, S2172, and S2173 described herein, or including... Figure 24 The steps S2171, S2172, and S2173a described herein are considered automatic sequence correction processes. The automatic sequence correction processes described here can also be performed, for example, in... Figure 30 The processing action described herein is performed after the determination of "yes" in step S28 and before step S29. Furthermore, the automatic sequence correction processing only needs to be performed when the user inputs the functional module and the sequence generation is complete; it does not necessarily need to be embedded. Figure 30 In the processing actions.
[0583] Figure 47 This is a diagram illustrating the first example of automatic correction processing for a sequence.
[0584] For example, such as Figure 47 As shown in (a), the operator inputs the sequence by performing an input operation on the input unit 54 in the setting screen D10 for setting the sequence. The input sequence shows the sequential execution of the washing volume detection function module 1000, the drum rotation function module 1060, the foam generation function module 1150, the agitation function module 1050, and the water supply function module 1010. After the sequence input by the operator in the setting screen D10 is completed, the development tool 50 executes the following... Figure 22 The processing of steps S2171, S2172, and S2173 as described herein, such as Figure 47As shown in (b), common information 1511 is added to the water supply process, which includes the function module 1060 for drum rotation, the function module 1150 for foam generation, the function module 1050 for agitation, and the function module 1010 for water supply. That is, the development tool 50 automatically corrects the addition of common information, which is common to the function modules 1000 for washing volume detection, 1060 for drum rotation, 1150 for foam generation, 1050 for agitation, and 1010 for water supply, which are classified as water supply process 1510. By adding this common information common to multiple function modules classified as the same washing process, the sequence is corrected. That is, the application containing this function module is modified. Thus, even without specialized knowledge, the operator can generate an application to enable the washing machine 500 to function efficiently.
[0585] In addition, development tool 50 can also be used as... Figure 47 As shown in (b), in the case of automatic correction, a message D11 indicating the reason for automatic correction will be displayed on the settings screen D10.
[0586] Figure 48 This is a diagram illustrating a second example of automatic sequence correction processing.
[0587] For example, such as Figure 48 As shown in (a), the operator inputs a sequence by performing an input operation on the input unit 54 in the setting screen D10 for setting the sequence. The input sequence indicates the case where the dehydration function module 1070 is executed. Upon completion of the sequence input by the operator in the setting screen D10, the development tool 50 executes the function containing... Figure 24 The processing steps S2171, S2172, and S2173a described herein are as follows: Figure 48As shown in (b), decision information 1521 is added after the dehydration function module 1070 in the dehydration step 1520. That is, the development tool 50 automatically corrects the addition of decision information 1521 in the dehydration step 1520. This decision information 1521 is used to determine the washing process to be executed by the washing function unit after the dehydration step based on whether the operating status during the execution of the dehydration 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 dehydration step 1520, the dehydration step 1520 continues; if unevenness of the fabric is detected in the washing machine 500, the washing machine 500 stops the dehydration step and proceeds to the rinsing step. In this way, the sequence is corrected by adding decision information 1521, which is used to determine the washing process to be executed by the washing function unit after the dehydration step based on whether the operating status during the execution of a certain washing process meets predetermined conditions. That is, the application containing this functional module is modified. Thus, even operators without specialized knowledge can generate applications to enable the washing machine 500 to function efficiently.
[0588] In addition, development tool 50 can also be used as... Figure 48 As shown in (b), in the case of automatic correction, a message D12 indicating the reason for automatic correction will be displayed on the setting screen D10.
[0589] Figure 49 This is a diagram illustrating the third example of automatic sequence correction processing.
[0590] For example, such as Figure 49 As shown in (a), the operator inputs a sequence by performing an input operation on the input unit 54 in the setting screen D10 for setting the sequence. The input sequence shows the case where the pre-dehydration function module 1070a, the dehydration function module 1070, and the drying function module 1140 are executed. After the sequence input by the operator in the setting screen D10 is completed, the development tool 50 executes the sequence containing... Figure 24 The processing steps S2171, S2172, and S2173a described herein are as follows: Figure 49As shown in (b), decision information 1523 is added after the dehydration function module 1070 in the dehydration step 1522, and decision information 1541 is added after the drying function module 1140 in the drying step 1540. That is, the development tool 50 automatically corrects the addition of decision information 1523 in the dehydration step 1522, which is information used to determine the washing process to be performed by the washing function unit after the dehydration step based on whether the operating status during the execution of the dehydration step 1522 meets the prescribed conditions. Similarly, the development tool 50 automatically corrects the addition of decision information 1541 in the drying step 1540, which is information used to determine the washing process to be performed by the washing function unit after the dehydration step based on whether the operating status during the execution of the drying step 1540 meets the prescribed conditions. Decision information 1523, for example, indicates that if unevenness of the fabric is detected during the pre-dehydration operation in the dehydration process 1522, the dehydration process will be stopped and the process will proceed to the rinsing process; or, if unevenness of the fabric is detected during the dehydration operation, the dehydration process will be stopped and the process will proceed to the re-dehydration process. Alternatively, decision information 1523 indicates that the dehydration process 1522 will continue if no unevenness of the fabric is detected. Decision information 1541 indicates, for example, that if no filter blockage is detected during the drying process 1540, the dehydration process 1520 will continue; or if filter blockage is detected, the drying process 1540 will be stopped and the process will proceed to the error display presentation process. In this way, the sequence is corrected by adding decision information 1523 and 1541 to determine the washing process to be executed after the dehydration process based on whether the operating status during a certain washing process meets specified conditions. That is, the application containing this functional module is modified. Therefore, even operators without specialized knowledge can generate applications to enable the washing machine 500 to function efficiently.
[0591] In addition, development tool 50 can also be used as... Figure 49 As shown in (b), when automatic correction is performed, messages D13 and D14 indicating the reason for the automatic correction will be displayed on the settings screen D10.
[0592] (Variation Example 2)
[0593] In embodiment 5, the development tool 50 is assumed to be composed of a device different from the device 20 (washing machine 500), but it is not limited to this. The washing machine 500 may also have the same functions as the development tool 50. In this case, the control device 550 and the operation panel 560 of the washing machine may also perform the same functions as the development tool 50. Thus, by operating the operation panel 56 of the washing machine, the user can develop (create) an application, such as setting the parameters of the function modules and setting the order of the function modules.
[0594] (Other implementation methods)
[0595] 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.
[0596] 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.
[0597] 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.
[0598] 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, and 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).
[0599] Industrial availability
[0600] It can be used in home appliances and other appliances that can execute applications defined by multiple functional modules.
[0601] Explanation of reference numerals in the attached figures
[0602] 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; 41: Module Database; 42, 1400, 1400C: Rule Database; 50: Development Tools; 51: Processor; 53: Display; 54: Input Unit; 60: Application Provider Server; 100: Sequence Manager; 200: Device Manager; 300, 300a, 300b, 30 0c, 300d, 300e, 300f, 300g, 300h: Equipment; 400, 400a, 400b, 400c, 400d: UI; 500: Washing machine; 501: 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: Piping; 534: Circulating fan; 535: Warm air sensor; 536: Sterilization device; 541: First foam sensor; 542: Second foam sensor; 543: Hot water heater; 544: Hot water 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: Modules; 1011, 1012, 1021~1023, 1031, 1041, 1051~1056, 1061~1065, 1071, 1072, 1081, 1 091, 1101, 1102, 1111, 1112, 1121, 1131, 1132, 1141, 1151-1153: Parameters; 1200: Equipment Database; 1201: Equipment Information; 1300: Execution Content Declaration; 1302: Equipment-Related Information; 1303: Sequence Information; 1401-1405, 1401C, 1402C, 1403C, 1404C: Rules; 1410: Classification Rules; 1500: Washing Volume 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; 2000: Information processing system; F100: Preparation stage; F200: Pre-application execution stage; F300: Application execution stage; R1000: General rules; R1010, R1020, R1030: Special rules.
Claims
1. An information processing device for generating washing information, the washing information being used to control the operation of a washing machine, the information processing device comprising: Processor; and The memory, which is connected to the processor, in, The processor uses the memory to perform the following processes: The system accepts input of first washing information, which includes sequence information and multiple control information. Each of the multiple control information is control information related to parameters used to control the washing function unit, which performs the operation for the laundry. The sequence information is information related to the order in which the multiple control information is executed. The first washing information is corrected based on rules related to the washing order, and the corrected second washing information is then used to generate the washing information. The washing machine has the washing function unit. The second washing information is used to cause the washing function unit to execute multiple control information contained in the second washing information in the order shown by the sequence information contained in the second washing information.
2. An information processing apparatus that generates washing information, the washing information including a plurality of control information for controlling the operation of a washing machine, each of the plurality of control information including control information related to parameters for controlling a washing function unit, the washing function unit performing the operation for the laundry. The information processing device includes: Processor; and The memory, which is connected to the processor, in, The processor uses the memory to perform the following processes: The washing information is generated by accepting the input of the multiple control information. In the generation of the washing information: Accept the input of the first control information among the plurality of control information; Based on the rules relating to the order of washing and the first control information received, the conditions under which control information is permitted to be executed in the order following the first control information are determined. Based on the determined conditions, the input of second control information, which is set to be executed after the first control information, is restricted.
3. An information processing method for generating washing information, the washing information being used to control the operation of a washing machine, the information processing method being executed by a processor, wherein in the information processing method, The system accepts input of first washing information, which includes sequence information and multiple control information. Each of the multiple control information is control information related to parameters used to control the washing function unit, which performs the operation for the laundry. The sequence information is information related to the order in which the multiple control information is executed. The first washing information is corrected based on rules related to the washing order, and the corrected second washing information is then used to generate the washing information. The washing machine has the washing function unit. The second washing information is used to cause the washing function unit to execute multiple control information contained in the second washing information in the order shown by the sequence information contained in the second washing information.
4. The information processing method according to claim 3, wherein, In the correction, if the rule disallows the execution of the first control information contained in the first washing information and the second control information in the sequence information contained in the first washing information that is set to be executed after the first control information, a third control information is added to the first washing information as the control information to be executed after the first control information.
5. The information processing method according to claim 3, wherein, In the correction, if the rule does not allow the execution of the first control information contained in the first washing information and the second control information in the sequence information contained in the first washing information to be executed in the order following the first control information, the information related to the parameter contained in the first control information or the information related to the parameter contained in the second control information is corrected.
6. An information processing method for generating washing information, the washing information including multiple control information for controlling the operation of a washing machine, the information processing method being executed by a processor. Each of the plurality of control information includes control information related to parameters used to control the washing function unit, which performs the operation for the laundry. In the information processing method, The washing information is generated by accepting the input of the multiple control information. In the generation of the washing information: Accept the input of the first control information among the plurality of control information; Based on the rules relating to the order of washing and the first control information received, the conditions under which control information is permitted to be executed in the order following the first control information are determined. Based on the determined conditions, the input of second control information, which is set to be executed after the first control information, is restricted.
7. The information processing method according to any one of claims 4 to 6, wherein, In the rules, the following are not permitted: the first control information contains parameters related to the water supply to the tub of the washing machine, and the second control information contains parameters for controlling operation performed in a water-restricted environment.
8. The information processing method according to claim 7, wherein, Operations performed in the water-free environment include operations that are not permitted when water is stored in the tank.
9. The information processing method according to any one of claims 4 to 6, wherein, In the rules, the following are not permitted: the first control information contains parameters related to heating in the tub of the washing machine, and the second control information contains parameters for controlling operation performed in a heat-free environment.
10. The information processing method according to claim 9, wherein, Operations performed in the heat-free environment include operations that are not permitted when the temperature inside the tank is above a specified temperature.
11. The information processing method according to any one of claims 4 to 6, wherein, In the rules, the following are not permitted: the first control information contains parameters relating to the rotation of the tub of the washing machine containing water, and the second control information contains parameters for controlling operation performed in a restricted environment.
12. The information processing method according to any one of claims 4 to 6, wherein, In the rules, the following are not permitted: the first control information contains parameters related to air supply to the tub of the washing machine, and the second control information contains parameters for controlling operation performed in a restricted environment.
13. The information processing method according to claim 11, wherein, Operations performed in the restricted environment include operations that do not allow the water surface in the tank to slosh.
14. The information processing method according to any one of claims 4 to 6, wherein, In the rules, the following are not permitted: the first control information contains parameters for rotating the tub of the washing machine at a first rotation, and the second control information contains parameters for rotating the tub at a second rotation different from the first rotation.
15. The information processing method according to claim 14, wherein, The first rotational speed of the first rotation is different from the second rotational speed of the second rotation.
16. The information processing method according to claim 14, wherein, The direction of the first rotation is different from the direction of the second rotation.
17. The information processing method according to claim 3, wherein, In the aforementioned correction, if the first control information included in the first washing information contains parameters related to water supply to the tub of the washing machine, and the second control information, which is set in the sequence information included in the first washing information to be executed after the first control information, contains parameters for controlling operation performed in a water-restricted environment, then based on the rule, a third control information containing parameters related to drainage from the tub is added to the first washing information as control information for the order of execution between the first control information and the second control information.
18. The information processing method according to claim 3, wherein, In the correction, if the first control information included in the first washing information contains parameters related to water supply to the tub of the washing machine, and the second control information, which is set in the sequence information included in the first washing information to be executed after the first control information, contains parameters for controlling operation performed in a water-restricted environment, then based on the rule, the second control information is corrected by adding parameters related to drainage from the tub immediately before the parameters for controlling operation performed in the water-restricted environment.
19. The information processing method according to claim 3, wherein, In the aforementioned correction, if the first control information included in the first washing information contains parameters related to heating within the tub of the washing machine, and the second control information, which is set in the sequence information included in the first washing information to be executed after the first control information, contains parameters for controlling operation performed in a heat-free environment, then based on the rule, a third control information containing parameters related to heat dissipation from the tub is added to the first washing information as control information for the sequence of execution between the first control information and the second control information.
20. The information processing method according to claim 3, wherein, In the correction, if the first control information included in the first washing information contains parameters related to heating in the tub of the washing machine, and the second control information, which is set to be executed after the first control information in the sequence information included in the first washing information, contains parameters for controlling operation performed in a heat-restricted environment, then based on the rule, the second control information is corrected by adding parameters related to heat dissipation of the tub immediately before the parameters for controlling operation performed in the heat-restricted environment.
21. The information processing method according to claim 3, wherein, In the correction, based on the rule, if the first control information contained in the first washing information is repeated with the second control information in the sequence information contained in the first washing information that is set to be executed after the first control information, (i) the first control information or the second control information is deleted, or (ii) information related to the parameter contained in the first control information or information related to the parameter contained in the second control information is deleted.
Citation Information
Patent Citations
Washing machine
JP2003284889A
Washing machine system
CN104364434A