An apparatus having an actuator and / or a heater, and a method for controlling the apparatus.

CN115715392BActive Publication Date: 2026-09-01PANASONIC INTELLECTUAL PROPERTY CORP OF AMERICA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180042900.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-19
Filing Date
2021-06-16
Publication Date
2026-09-01
Estimated Expiration
2041-06-16

AI Technical Summary

Technical Problem

[0006]然而在上述以往技术中,需要由产品的制造商等将预先开发的控制程序预先存放到产品中,因此要想吻合多种多样的用户的需求来对控制程序进行定制以及更新是困难的

Benefits of technology

[0010]本公开的一个形态所涉及的装置能够更简单且更安全地执行多种多样的控制程序。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115715392B_ABST
    Figure CN115715392B_ABST
Patent Text Reader

Abstract

The device (20) includes: an actuator (22) and / or a heater (23), and a control unit (24) for controlling the actuator (22) and / or the heater (23). The control unit (24) acquires an application program defined by multiple function blocks that drive the actuator (22) and / or the heater (23). Referring to a rule that prohibits at least one of the remaining function blocks from being executed when one of the specified two or more function blocks is executed, if the multiple function blocks included in the application program meet the rule, the application program is modified, and the actuator (22) and / or the heater (23) is driven according to the modified application program.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to an apparatus having an actuator and / or a heater, and a method for controlling the apparatus. Background Technology

[0002] Traditionally, household appliances and residential equipment are controlled according to pre-prepared operating conditions (control programs) by their manufacturers. Patent Document 1 discloses a washing machine that can set the operating conditions for a wash that the user wants to perform.

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 2003-284889

[0006] However, in the aforementioned prior art, the product manufacturer and others need to pre-store the pre-developed control program into the product, making it difficult to customize and update the control program to meet the diverse needs of users. Summary of the Invention

[0007] Therefore, this disclosure provides an apparatus and method that can execute a wide variety of control programs more simply and safely.

[0008] One aspect of the apparatus disclosed herein includes: at least one of an actuator and a heater; and a control unit that controls the actuator and the heater. The control unit acquires an application program defined by a plurality of functional blocks that drive the actuator and the heater. Referring to a rule that prohibits at least one of the remaining functional blocks from being executed when one of the defined two or more functional blocks is executed, the control unit modifies the application program if the plurality of functional blocks included in the application program conform to the rule, and drives the actuator and the heater according to the modified application program.

[0009] Furthermore, these general or specific forms can be realized by systems, methods, integrated circuits, computer programs, or computer-readable recording media such as CD-ROMs, or by any combination of systems, methods, integrated circuits, computer programs, and recording media.

[0010] One embodiment of the device disclosed herein enables the execution of a wide variety of control programs more simply and safely. Attached Figure Description

[0011] Figure 1This is a hardware configuration diagram of the system in Implementation Method 1.

[0012] Figure 2A This is a hardware configuration diagram of the cloud server in Implementation Method 1.

[0013] Figure 2B This is a hardware configuration diagram of the device in Implementation Method 1.

[0014] Figure 2C This is a hardware configuration diagram of the terminal in Implementation Method 1.

[0015] Figure 3 This is a functional configuration diagram of the system in Implementation Method 1.

[0016] Figure 4 An example of a functional block that defines an application in Implementation 1 is shown.

[0017] Figure 5 Several functional blocks for a washing machine in Embodiment 1 are shown.

[0018] Figure 6 Several functional blocks for a microwave oven in Embodiment 1 are shown.

[0019] Figure 7 Multiple functional blocks for a rice cooker in Embodiment 1 are shown.

[0020] Figure 8 This is a timing diagram of the system in Implementation Method 1.

[0021] Figure 9 An example of the device database in Implementation 1 is shown.

[0022] Figure 10 An example of an execution content declaration in Implementation 1 is shown.

[0023] Figure 11 This is a flowchart of the pre-execution confirmation process in Implementation Method 1.

[0024] Figure 12 An example of the rule database in Implementation 1 is shown.

[0025] Figure 13 A modified example of the application in Implementation 1 is shown.

[0026] Figure 14 A modified example of the application in Implementation 1 is shown.

[0027] Figure 15A This is a timing diagram of the system in Variation 1 of Implementation Method 1.

[0028] Figure 15B This is a timing diagram of the system in variation 2 of implementation method 1.

[0029] Figure 15C This is a timing diagram of the system in variation 3 of implementation method 1.

[0030] Figure 15D This is a timing diagram of the system in variation 4 of implementation method 1.

[0031] Figure 15E This is a timing diagram of the system in variation 5 of implementation method 1.

[0032] Figure 16 This is a flowchart of the pre-execution confirmation process in Implementation Method 2.

[0033] Figure 17 This is a flowchart of the pre-execution confirmation process in Implementation Method 3.

[0034] Figure 18 This is a flowchart of the pre-execution confirmation process in Implementation Method 4. Detailed Implementation

[0035] (The knowledge that forms the basis of this disclosure)

[0036] The process by which the inventors of this application obtained this disclosure will be described. In household appliances and similar products with actuators and / or heaters, developing control programs to meet the needs of various users requires an open development environment. That is, an environment is needed that simplifies the development of control programs and allows third parties to easily participate in their development. In such an environment, for example, a clothing company could develop control programs for washing machines used to wash clothes sold by its own company.

[0037] Therefore, the inventors of this application have explored a construction that utilizes functional blocks derived from the abstraction of control over actuators and / or heaters included in a product. This construction, while maintaining safety, creates an environment capable of developing control programs, packaging control programs composed of combinations of multiple functional blocks, and distributing them as application programs. Accordingly, a wide variety of application distributions are possible, thereby meeting the needs of more diverse users for product customization and updates. However, in this environment, there is a possibility that dangerous applications (i.e., applications that cannot safely control the product) may be distributed, thus reducing product safety.

[0038] For example, it's conceivable that programs for household appliances are installed in devices that directly control actuators and / or heaters, and that programs developed by the manufacturer and those developed by third parties are intertwined. In this case, there's a high probability that the manufacturer will not disclose all information about the household appliances, including know-how, to third parties. For instance, parameters or timing that drive actuators and / or heaters constitute the manufacturer's know-how related to the performance of the household appliances. Therefore, to avoid reducing competitiveness, manufacturers are less likely to share know-how, such as the ability to freely drive household appliances, with third parties.

[0039] Therefore, due to insufficient information about home appliances and other products, there is a possibility that third parties could create applications with combinations of controls or parameter ranges that manufacturers had not anticipated. In other words, there is a possibility that applications that cannot guarantee security could be created. The provision of such applications is undesirable for users.

[0040] Furthermore, manufacturers of home appliances and similar products are considering updating users' lifestyles by providing new control programs. However, developing various new control programs incurs significant time commitments in parameter adjustments and hardware performance evaluations. It's easy to foresee that in home appliances, the time required for physical driving of actuators and / or heaters, including performance evaluation, is greater than that for smartphone apps. However, in an era where mass production is no longer the priority, but rather on-demand development tailored to individual user lifestyles, it's necessary to develop a wide variety of control programs for home appliances, much like smartphone apps. Therefore, manufacturers must create diverse applications that ensure product safety while minimizing the substantial time commitment required.

[0041] Furthermore, manufacturers want to ensure secure operation even when home appliances and similar products utilize third-party applications. Therefore, they aim to reduce the workload involved in performing this verification process by actually driving various applications within the home appliances and similar products.

[0042] Therefore, this disclosure provides an apparatus, etc., which can more easily and safely execute a wide variety of applications defined by multiple functional blocks that drive actuators and / or heaters.

[0043] The embodiments are described in detail below with reference to the accompanying drawings.

[0044] Furthermore, the embodiments described below are all general or specific examples. The values, shapes, materials, constituent elements, the arrangement and position of constituent elements, the connection methods, steps, and the order of steps shown in the following embodiments are all examples, and their purpose is not to limit the technical solution.

[0045] Furthermore, the diagrams are not strictly illustrative. The same symbols are used for substantially identical components across the diagrams, and repetitive descriptions are omitted or simplified.

[0046] (Implementation Method 1)

[0047] [1.1 Hardware Configuration]

[0048] Reference Figures 1 to 2C The hardware configuration of System 1 in this embodiment will be described. Figure 1 This is a hardware configuration diagram of System 1 in Implementation Method 1. Figure 2A This is a hardware configuration diagram of the cloud server 10 in Implementation Method 1. Figure 2B This is a hardware configuration diagram of device 20 in embodiment 1. Figure 2C This is a hardware configuration diagram of terminal 30 in implementation method 1.

[0049] like Figure 1 As shown, System 1 in 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 are, for example, apartments, shops, offices, etc.

[0050] 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 via the computer network. Alternatively, a physical server may be used instead of cloud server 10.

[0051] 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 instructions or software programs stored in the memory 12 are executed, the processor 11 functions as a sequence manager and device manager, as described later.

[0052] Devices 20a to 20h are the electrical and mechanical appliances used in facilities 2a to 2d. Additionally, 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 there is a need to distinguish them.

[0053] The device 20 can include household appliances and residential equipment. Household appliances and residential equipment are not limited to machines used in residences; they can also include industrial machines. Furthermore, in this disclosure, household appliances and residential equipment may be abbreviated as simply "household appliances." Examples of household appliances include microwave ovens, rice cookers, blenders, electric ovens, electric toasters, electric kettles, electric baking pans, IH (induction heating) cooking appliances, ovens, bread makers, electric pressure cookers, electric waterless cooking pots, multi-functional cookers, coffee makers, refrigerators, washing machines, dishwashers, vacuum cleaners, air conditioners, air purifiers, humidifiers, hair dryers, electric fans, and ion generators. Examples of residential equipment include electric roller shutters, electronic locks, and electric water heaters for bathtubs. However, the device 20 is not limited to the above.

[0054] like Figure 2B As shown, the device 20 includes a frame 21, an actuator 22, a heater 23, and a control unit 24. Alternatively, the device 20 may include at least one of the actuator 22 and the heater 23, or both.

[0055] The frame 21 houses the actuator 22, the heater 23, and the control unit 24. Furthermore, the frame 21 may also have an internal space for processing objects. For example, the inner drum of a washing machine, the heating chamber of a microwave oven, and the inner pot of a rice cooker are equivalent to internal spaces for processing objects.

[0056] The actuator 22 is a machine element that converts input energy into physical motion based on an electrical signal. For example, an electric motor, a hydraulic cylinder, or a pneumatic actuator can be used as the actuator 22, but it is not limited to these.

[0057] 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. For example, nickel-chromium heating wire, coil, and magnetron can be used as heater 23.

[0058] 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. It is conceivable that manufacturers of household appliances, etc., would provide a development environment to third parties where they can freely control the parameters and combinations of drives for the actuator 22 and heater 23. In this case, the third party could create a control program that exceeds the range of parameters intended by the manufacturer to safely drive the actuator 22 and / or heater 23, or exceeds the drive limitations of the actuator 22 and / or heater 23. Especially for the actuator 22, which performs physical motion, or the heater 23, which outputs heat energy, drives that the manufacturer has not considered are a major issue for ensuring safety. Examples of drives that the manufacturer has not considered include: a motor rotating at high speed as an example of an actuator, and supplying overcurrent to the heater 23. The inventors of this application aim to avoid hindering the creation 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 for the actuator 22, which performs physical motion, or the heater 23, which outputs heat energy.

[0059] 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.

[0060] Terminals 30a to 30d are used in facilities 2a to 2d, respectively, serving as user interfaces. Additionally, 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 there is a need to distinguish them.

[0061] 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 mobile 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 be implemented as a display terminal with displays built into each of devices 20a-20h.

[0062] 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. Furthermore, the input device 32 can also be a voice input device. The display 31 and the input device 32 can also be integrated as a single touchscreen. Furthermore, the input device 32 can also be a gesture input device. A gesture input device, for example, includes a camera and a recognition unit. The camera captures images, including gestures, and the recognition unit uses the images to recognize the gestures.

[0063] [1.2 Functional Composition]

[0064] The following is for reference Figure 3 The functional configuration of System 1 in this embodiment will be described. Figure 3 This is a functional configuration diagram of System 1 in Implementation Method 1.

[0065] 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.

[0066] Hereinafter, without needing to distinguish between devices 300a to 300h, it will be referred to as device 300. And, without needing to distinguish between UI400a to 400d, it will be referred to as UI400.

[0067] The sequence manager 100 manages multiple applications. These applications may be downloaded to the sequence manager 100 from an application delivery platform, for example, through user actions. Alternatively, applications from the application delivery platform may not be downloaded to the sequence manager 100. In this case, information showing the association between the applications and the application delivery platform can be recorded in the sequence manager 100's database. The applications will be described in detail later.

[0068] Device Manager 200 has a database for managing multiple facilities 2a-2d and the devices 300 and UI 400 used in each facility 2a-2d. Device Manager 200 manages devices 300 and UI 400 by recording device information and UI information associated with facilities 2a-2d into the database. Device information and UI information include, for example, control functions, drive functions, and operating status. For instance, Device Manager 200 can manage the operating status of device 300 and can monitor the operating schedule of device 300. Furthermore, Device Manager 200 can also manage the log information of device 300.

[0069] Alternatively, such a database may not be included in Device Manager 200, but may be included in Serial Manager 100, or may be included in both Serial Manager 100 and Device Manager 200.

[0070] Device 300 has control and drive functions for device 20. Device 300 can drive device 20 according to instructions from device manager 200.

[0071] UI400 provides information to users and accepts input from them.

[0072] The application program will be described here. In this embodiment, the application program (hereinafter also referred to as "application") refers to a control program defined by multiple function blocks that drive the actuator 22 and / or the heater 23. Each of the multiple function blocks can include parameters for driving the actuator 22 or the heater 23. Specifically, each of the multiple function blocks is obtained by abstracting the control of the actuator 22 or the heater 23. In addition to including multiple function blocks that drive the actuator 22 and / or the heater 23, the application program may also include function blocks that do not drive the actuator 22 and / or the heater 23. Examples of function blocks that do not drive the actuator 22 and / or the heater 23 include: information display through the interface of the device 300, voice output through the buzzer of the device 300, and turning on or off lights through the lighting of the device 300. Furthermore, the function blocks may also include conditions for starting to drive the actuator 22 or the heater 23. For example, let's take an application that includes a first function block and a second function block as an example. Here, when switching to the second function block during the execution of the first function block, the switch occurs when the start condition included in the second function block is met. Furthermore, a function block may not include a start condition, but may include an end condition. When switching to the second function block during the execution of the first function block, the switch occurs when the end condition included in the first function block is met.

[0073] Figure 4 An example of a functional block that defines an application in Implementation 1 is shown. Figure 4Function block 1000 shown is a function block for controlling the tumbling operation of the washing machine, including parameters 1001 to 1006. Parameter 1001 includes information indicating the type of tumbling (e.g., standard, turbulent, rocking). In other words, parameter 1001 indicates the type of function. Parameter 1002 includes a value indicating the drum rotation speed. In other words, parameter 1002 indicates the intensity of the drive of actuator 22 and / or heater 23. Parameter 1003 includes a value indicating the amount of water supplied to the drum in terms of the water level after water supply. In other words, parameter 1003 indicates the state after the actuator 22 and / or heater 23 is driven. Parameter 1004 includes a value indicating the on / off state of the circulation pump. In other words, parameter 1004 indicates whether actuator 22 and / or heater 23 are driven. Parameter 1005 includes information indicating the tumbling interval in stages (e.g., short, medium, long). Parameter 1006 includes a value indicating the tumbling time.

[0074] To define the application, multiple such functional blocks are used. For example, using... Figures 5-7 The multiple functional blocks shown.

[0075] Figure 5 Several functional blocks for a washing machine in Embodiment 1 are shown. Figure 6 Several functional blocks for a microwave oven in Embodiment 1 are shown. Figure 7 Several functional blocks for a rice cooker in Embodiment 1 are shown. Additionally, Figures 5-7 The multiple function blocks shown are just one example; function blocks for washing machines, microwave ovens, and rice cookers are not limited to these. For example, multiple function blocks can also be layered according to their level of abstraction.

[0076] For example, the level of abstraction can be changed between the manufacturer-oriented level and the non-manufacturer-oriented level. Examples of non-manufacturer-oriented levels include levels oriented towards other manufacturers or third parties. In this case, the manufacturer-oriented level has a lower level of abstraction than the non-manufacturer-oriented level. Lower abstraction means that parameters similar to those driving actuators and heaters are controlled.

[0077] Furthermore, by providing functional blocks at the minimum level of abstraction—ensuring technical know-how and safety—to manufacturers, applications can be developed not only by manufacturers but also by general users. By providing functional blocks at higher levels of abstraction to general users, even more people can develop applications. Higher levels of abstraction correspond to functional blocks defined using terminology that general users can understand even without specialized knowledge. This terminology, for example, refers to the functions of household appliances themselves. Specifically, if "sufficient" is selected as the parameter related to water volume in the "wash" function block of a washing machine, a change at a more concrete level could be, for example, increasing the water level parameter in the water supply function block from 60mm to 100mm, or decreasing the spin speed parameter in the tumble function block from 120rpm to 100rpm. As described above, the rearrangement and parameter changes of functional blocks at higher levels of abstraction can be implemented using functional blocks at lower levels of abstraction. Moreover, even devices other than washing machines, microwave ovens, and rice cookers can be integrated with... Figures 5-7 Similarly, multiple functional blocks are defined. These functional blocks allow for flexible application development through rearrangement and parameter adjustment, while ensuring safety and secrecy related to the driving of actuators and heaters.

[0078] Furthermore, by providing other manufacturers with functional blocks at the lowest level of abstraction that ensures know-how and security, these other manufacturers can independently specify and install functional blocks with higher levels of detail to implement the provided functional blocks. Accordingly, each manufacturer can freely develop applications related to the driving of their actuators and heaters for third parties who are only developing applications, while ensuring their own know-how and security.

[0079] At this point, other manufacturers can choose not to develop higher-level, more concrete functional blocks corresponding to the minimum level of abstraction provided by the manufacturer, which guarantees know-how and security. Instead, they can respond to anomalies by alerting application developers and users that the manufacturer-provided functional blocks are unusable or operate within a limited parameter range. Specifically, if "high speed" is selected as a parameter related to the motor rotation in the "tumble" function block of a washing machine, and the manufacturer's washing machine can achieve the 150 rpm parameter to reach "high speed," while other manufacturers' washing machines, due to differences in motor performance, can only rotate to 120 rpm, then an anomaly or a situation where the operation is achieved at the extreme 120 rpm will be indicated to application developers or users.

[0080] [1.3 Processing]

[0081] The following is for reference Figure 8 The processing of system 1 with the above configuration will be explained. Figure 8 This is a timing diagram of system 1 in implementation method 1.

[0082] [1.3.1 Preparation Phase F100]

[0083] First, let's explain the preparation phase of F100.

[0084] (Step S110)

[0085] Serial manager 100 sends serial manager information to device manager 200. This sending of serial manager information is performed, for example, via a command from a system administrator. Device manager 200 then registers the received serial manager information, for example, in a serial manager database. Alternatively, this step can be skipped if the serial manager information has been pre-registered in the serial manager database.

[0086] 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 include arbitrary information.

[0087] (Step S112)

[0088] Device 300 sends device information 1101 to device manager 200. This sending of device information 1101 is performed, for example, when device 300 is connected to a computer network. Device manager 200 registers the received device information 1101 in device database 1100. Alternatively, this step can be skipped if device information 1101 is pre-registered in device database 1100.

[0089] Alternatively, after device information 1101 is sent to UI400, it can be registered to device manager 200 via UI400.

[0090] Device information 1101 includes the identifier and / or address of device 300. Furthermore, device information 1101 may also include arbitrary information. Figure 9 An example of a device database in Implementation 1 is shown. Figure 9The equipment database 1100 contains multiple pieces of equipment information, including equipment information 1101. Each piece of equipment information includes: equipment ID, address, category, manufacturer name, model, actuator / heater, and degradation level. The actuator / heater refers to the identification information of the actuator 22 and / or heater 23 constituting the equipment 300. The degradation level is an example of degradation information indicating whether the actuator 22 and / or heater 23 constituting the equipment 300 has deteriorated. Here, a higher degradation level value indicates greater degradation. Equipment information 1101 may include information about executable functional blocks. Information related to executable functional blocks may correspond to whether functional blocks in the database are executable or not, or it may simply be information about executable functional blocks. Furthermore, whether a functional block can be executed can be prepared in advance based on information such as the actuator / heater included in equipment information 1101. Additionally, equipment information 1101 may also include information that allows for the determination of facilities 2a to 2d.

[0091] (Step S114)

[0092] UI400 sends UI information to Device Manager 200. This sending of UI information is performed, for example, according to user instructions. Device Manager 200 registers the received UI information, for example, in a UI database. Alternatively, if the UI information is pre-registered in the UI database, this step can be skipped.

[0093] UI information may include, for example, the identifier and / or address of UI400. Furthermore, UI information can also include any information.

[0094] In addition, UI information may also include information that allows for the identification of facilities 2a to 2d.

[0095] Through the above processing, the sequence manager 100, device manager 200, device 300, and UI 400 can establish associations with each other, thereby establishing their connection. Therefore, the preparation phase F100 ends.

[0096] [1.3.2 Application Execution Pre-Phase F200]

[0097] Next, the application execution pre-stage F200 will be explained. Prior to the application execution pre-stage F200, the application is downloaded to the sequence manager 100 from the application delivery platform according to instructions received from the user via the UI 400. This causes the sequence manager 100 to perform the following processes in a state where the application has been downloaded.

[0098] (Step S210)

[0099] UI400 receives an application execution request from the user and sends the request, including 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 UI400 and instructs the selected application to be executed.

[0100] In addition, the application execution request sent from UI400 to sequence manager 100 is sent along with information that can determine facilities 2a to 2d.

[0101] Alternatively, application execution requests may not necessarily be subject to explicit instructions from the user. For example, by detecting the user's actions or state, the application execution request can be automatically sent to the sequence manager 100 based on the detection results.

[0102] (Step S212)

[0103] The sequence manager 100 sends the execution content declaration of the application identified by the application execution request to the device manager 200. The execution content declaration includes information on multiple functional blocks that define the application to be executed, as well as information that can determine facilities 2a to 2d.

[0104] Figure 10 An example of an execution content declaration in Implementation 1 is shown. Figure 10 The diagram shows how to combine... Figure 5 The execution content declaration 1200 of the application program, which is defined for multiple functional blocks of a washing machine, is shown. The execution content declaration 1200 includes: multiple functional blocks 1201, device-related information 1202 required for the execution of each functional block 1201, and information 1203 on the order in which each functional block 1201 is executed.

[0105] Alternatively, the execution content declaration 1200 may not include device-related information 1202. In this case, the device manager 200 needs to retrieve devices capable of executing the corresponding function blocks in the facilities shown in the accepted facility information, based on the information of multiple function blocks 1201, and then assign the devices.

[0106] In addition, Figure 10 Although the device-related information 1202 shown is the model number of device 300, it is not limited thereto. The device-related information 1202 can be any information as long as it shows the conditions under which device 300 can be assigned to a function block. For example, the device-related information 1202 may include multiple models, or it may include the type of device, purpose of use, installation location, or only a combination of these.

[0107] (Step S214)

[0108] Device Manager 200, based on information that allows it to determine facilities 2a to 2d, allocates devices 300 associated with it, for each functional block included in the execution content declaration. For example, Device Manager 200 allocates devices 300 associated with it. Figure 10 Each of the multiple functional blocks 1201 shown is assigned a device DEV001, and device DEV001 is Figure 9 The device 300 is registered in the device database 1100 as having been connected to the facility shown in the accepted facility information, and has the model number WM-0001. Furthermore, if the operating status of device 300 or its connection to the cloud is being managed, the allocation of the operating device 300 can be prohibited.

[0109] In addition, in, for example Figure 10 If the multiple functional blocks shown are connected to the facilities indicated by the accepted facility information but have not been registered, that is, if the object device does not exist in the corresponding facility, the device manager 200 notifies the sequence manager 100 that the application whose execution content declaration is not executable.

[0110] (Step S215)

[0111] Device Manager 200 notifies Device 300 of the device allocation results. Accordingly, multiple function blocks in the application are sent to the allocated Device 300 respectively.

[0112] (Step S216)

[0113] Device 300 verifies the function block before execution. That is, before the function block is executed, device 300 verifies whether any problems will occur within device 300. For example, device 300 verifies for safety and / or efficiency issues.

[0114] Therefore, based on the confirmation results, device 300 modifies the function block. Accordingly, the function block is modified to prevent problems from occurring.

[0115] Reference Figure 11 This pre-execution confirmation process is explained in detail. Figure 11 This is a flowchart of the pre-execution confirmation process in Implementation Method 1.

[0116] (Step S2165)

[0117] Device 300 obtains rules corresponding to the application. Here, the rule prohibits the execution of at least one of the specified two or more functional blocks if only one of those functional blocks is executed. For example, device 300 refers to a rule database to obtain a combination of the specified two or more functional blocks. The rule database may be included in device 300, or it may be included in sequence manager 100 or device manager 200.

[0118] For example, a rule could be adopted that prevents the first function block from being executed before the second function block is executed. More specifically, a rule could be adopted that prevents the first function block from being executed from the start of the application until the second function block is executed. Such a first function block could, for example, include a function block for creating an environment that enables the execution of the second function block. Specifically, the first function block could include a drainage function block for implementing a water-free environment before the second function block (e.g., a dehydration function block) is executed.

[0119] Furthermore, a rule could be adopted to prevent the third function block from being executed after the second function block has been executed. More specifically, a rule could be adopted to prevent the third function block from being executed from the time the second function block was executed until the application terminates. This third function block could, for example, include a function block for restoring the environment that has changed due to the execution of the second function block to the environment before the second function block was executed. Specifically, the third function block could include a ventilation function block for restoring the temperature that has risen due to the execution of the second function block (e.g., a drying function block) to the temperature before the second function block was executed.

[0120] Figure 12 An example of a rule database in Implementation 1 is shown. Figure 12 Rules 1301 and 1302 are registered in rule database 1300. Each of rules 1301 and 1302 contains information specifying combinations of two or more function blocks. For example, rule 1301 prohibits the drainage function block from being executed before the dehydration function block. And, for example, rule 1302 prohibits the air supply function block from being executed after the drying function block.

[0121] This is a combination of two or more functional blocks, pre-defined to prevent the internal space of the housing 21, actuator 22, or heater 23 from reaching the maximum tolerable temperature. The maximum tolerable temperature refers to the rated temperature, indicating the maximum allowable temperature. Therefore, if the actuator 22 or heater 23 is driven using a combination of two or more defined functional blocks, the temperature of the internal space of the housing 21, actuator 22, or heater 23 will not reach the unacceptable temperature. In other words, the rule is a rule used to ensure that two or more defined functional blocks are combined and executed to prevent the internal space of the housing 21, actuator 22, or heater 23 from reaching the maximum tolerable temperature.

[0122] In addition, Figure 12 While rules 1301 and 1302 each show combinations of two functional blocks, they are not limited to this. For example, in addition to showing combinations of two functional blocks, the rules could also show the range of parameters for at least one of the two functional blocks. Furthermore, to accommodate the development of a wide variety of applications, the rules are specified to allow the use of functional blocks with broad ranges.

[0123] For example, in actuator 22 or heater 23, there may be rules that enable safe operation based on the environment of device 300, such as the internal space of housing 21. This means that the rules may not solely depend on the performance of actuator 22 or heater 23 itself. Therefore, rules prioritizing safety in order to ensure safe operation regardless of the environment reduce the scope for developing various applications. Alternatively, rules could be established based on information such as device 300, independent of application applications. By utilizing such rules, both safety and the development of diverse applications can be balanced.

[0124] The rules relate to the range within which actuator 22 or heater 23 can be safely driven. This range can be determined by considering the start or end conditions of the function block. Consider the example of a first function block and a second function block executed after it. Rules can be set that envision a situation where, until the start condition of the second function block is met, the execution of the first function block generates a load that affects the safety of actuator 22 or heater 23. In other words, the rules depend on the performance of actuator 22 or heater 23, the start or end conditions of the function block, etc.

[0125] Rules 1301 and 1302 each further include a category, manufacturer name, and model number. Accordingly, device 300 can retrieve the rule corresponding to the function block-driven actuator 22 or heater 23 from the rule database 1300. For example, device 300 refers to... Figure 12From rule database 1300, retrieve rules 1301 and 1302 for WM-0001.

[0126] (Step S2166)

[0127] Device 300 determines whether multiple functional blocks included in the application conform to the rules.

[0128] For example, if the rule prohibits the first function block from being executed before the second function block is executed, and the application includes a second function block but does not include the first function block before it, then device 300 determines that the multiple function blocks included in the application comply with the rule. Specifically, if the application includes a second function block but does not include the first function block, device 300 determines that the multiple function blocks included in the application comply with the rule. Furthermore, if the application includes a second function block and includes the first function block only after it, device 300 determines that the multiple function blocks included in the application comply with the rule. Additionally, if the application includes a second function block and includes the first function block before it, device 300 determines that the multiple function blocks included in the application do not comply with the rule. Furthermore, if neither the first nor the second function block is included in the application, device 300 determines that the multiple function blocks included in the application do not comply with the rule. And, if the application includes a first function block but does not include the second function block, device 300 determines that the multiple function blocks included in the application do not comply with the rule.

[0129] Furthermore, for example, if the rule prohibits the execution of the third function block after the execution of the second function block, and if the application includes the second function block but does not include the third function block after it, then device 300 determines that the multiple function blocks included in the application comply with the rule. Specifically, if the application includes the second function block but does not include the third function block, device 300 determines that the multiple function blocks included in the application comply with the rule. Also, if the application includes the second function block and includes the third function block only before it, device 300 determines that the multiple function blocks included in the application comply with the rule. Additionally, if the application includes the second function block and includes the third function block after it, device 300 determines that the multiple function blocks included in the application do not comply with the rule. Furthermore, if neither the second nor the third function block is included in the application, device 300 determines that the multiple function blocks included in the application do not comply with the rule. Finally, if the application includes the third function block but does not include the second function block, device 300 determines that the multiple function blocks included in the application do not comply with the rule.

[0130] Here, if it is determined that multiple function blocks do not conform to the rules (S2166 "No"), the device 300 skips the subsequent step S2167 and ends the pre-execution confirmation process. Alternatively, if it is determined that multiple function blocks conform to the rules (S2166 "Yes"), the device 300 proceeds to the next step S2167.

[0131] (Step S2167)

[0132] Device 300 modifies the application and terminates the pre-execution confirmation process. Application modifications refer to (i) adding a new functional block to a set of functional blocks, (ii) changing the order of multiple functional blocks, (iii) deleting one of multiple functional blocks, or (iv) any combination of these. These application modification methods can also be defined by rules.

[0133] Reference Figure 13 as well as Figure 14 This section describes specific examples of changes to such applications.

[0134] Figure 13 A modified example of the application in Implementation 1 is shown. Figure 13 In this process, a draining function block (first function block) is added before the spin-drying function block (second function block). Accordingly, water in the washing machine tub can be drained before the spin-drying function block is executed, thereby enabling safe operation of the actuator 22 during spin-drying.

[0135] Figure 14 A modified example of the application in Implementation 1 is shown. Figure 14 In this design, an air supply function block (third function block) is added after the drying function block (second function block). Accordingly, after the washing machine temperature rises due to drying, the temperature can be lowered by air supply, thereby preventing users from being scalded by the washing machine and improving the safety of the washing machine.

[0136] Furthermore, although the changes to the application for the washing machine have been explained here, the same changes can be made to the application for other devices.

[0137] For example, in an application for a rice cooker that includes a steam cooking function block (second function block) that utilizes steam, and where a steam heating function block (first function block) is not preceding this steam cooking function block, the steam heating function block can be added before the corresponding function block 10 minutes before the steam cooking function block is to be executed. Accordingly, the steam heater can be preheated before the steam cooking function block is executed, thereby ensuring smooth steam emission during the execution of the steam cooking function block.

[0138] Furthermore, for example, if an application for a microwave oven includes a steam-bake function (second function block) and does not include a steam heating function (first function block) before it, a steam heating function block can be added before the corresponding function block 10 minutes before the steam-bake function block is to be executed. Accordingly, the steam heater can be preheated before the steam-bake function block is executed, ensuring smooth steam emission during its execution. Also, if an application for a microwave oven includes a baking function (second function block) and does not include a convection function (third function block) after it, a convection function block can be added after it. Accordingly, the high internal temperature caused by the baking function block can be cooled by executing the convection function block, allowing the next function block to be executed earlier.

[0139] (Step S217)

[0140] Device 300 sends the pre-execution confirmation result to Device Manager 200. If the function block is changed, the modified function block can be sent to Device Manager 200.

[0141] (Step S218)

[0142] Device Manager 200 responds to Sequence Manager 100 with the device allocation result. Furthermore, if a function block is changed during pre-execution confirmation, an application including the modified function block can be sent to Sequence Manager 100.

[0143] (Step S220)

[0144] The sequence manager 100 receives the allocation result notification from the device manager 200 and notifies the user via the UI 400 that the execution preparation is complete.

[0145] (Step S222)

[0146] While displaying a list of devices on which the application is running, the UI400 also displays a graphical user interface (GUI) for accepting user input to confirm application execution. Additionally, the UI400 can accept changes to device assignments from the user. Furthermore, the UI400 may choose not to display a list of devices.

[0147] (Step S224)

[0148] UI400 receives confirmation from the user and sends an application start instruction to Device Manager 200. Device Manager 200 then transmits the application start instruction to Sequence Manager 100.

[0149] In addition, steps S220, S222, and S224 are information re-provided to the user before the application is executed, and since this increases the amount of user operation, they can be omitted.

[0150] By following the steps above, the application execution pre-stage F200 is complete.

[0151] [1.3.3 Application Execution Phase F300]

[0152] Next, the application execution phase F300 will be explained.

[0153] (Step S310)

[0154] The sequence manager 100 receives the application start instruction and selects the first function block (the first function block) from among the multiple function blocks included in the application. Then, the sequence manager 100 sends the execution instruction of the selected first function block to the device manager 200.

[0155] In addition, when multiple function blocks are working continuously, the sequence manager 100 can also send the execution instructions of multiple function blocks together to the device manager 200.

[0156] Device Manager 200 sends the execution instruction of the first function block to device 300, which is assigned as the first function block, based on the execution instruction of the first function block received from Sequence Manager 100.

[0157] (Step S312)

[0158] Device Manager 200 receives the execution instructions of Function Block 1 and updates the scheduled usage time for each device.

[0159] (Step S314)

[0160] Device 300 receives the execution instruction for the first function block and executes the first function block.

[0161] (Step S316)

[0162] When the execution of the first functional block is completed, device 300 sends a completion notification to device manager 200. Additionally, if an exception occurs during the execution of the first functional block, device 300 can also send exception information to device manager 200. Furthermore, device 300 can also send event information to device manager 200 during the execution of the first functional block. Event information may include, for example, sensor output values ​​or machine operations, but is not limited to these. Device manager 200 transmits the completion notification and / or various information received from device 300 to sequence manager 100.

[0163] (Step S318)

[0164] The sequence manager 100 receives a completion notification for the first function block, updates the application's progress, and selects the next function block (the second function block). Furthermore, upon receiving exception information, the sequence manager 100 can execute corresponding processing (e.g., returning to the previous function block, returning to the initial function block, or idling). Information regarding the processing corresponding to the exception information can be pre-stored in the sequence manager 100 or received from the user via the UI 400. Additionally, upon receiving event information, the sequence manager 100 executes processing corresponding to the event information. 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 display the water level in the currently executing function block.

[0165] (Step S320)

[0166] The sequence manager 100 sends the execution instruction for the selected second function block to the device manager 200.

[0167] In addition, the execution instruction of the second function block can be an instruction for the same device as the execution instruction (S310) of the first function block, or it can be an instruction for a different device.

[0168] In addition, the execution instructions for the second function block are the same as those for the first function block, and the execution instructions for multiple function blocks can be sent together to the device manager 200.

[0169] Since the subsequent processing is the same as that for the first function block (S312-S318), illustrations and explanations are omitted. The function blocks included in the application are executed sequentially, and the application execution phase F300 ends when the last function block has been executed.

[0170] Furthermore, while function blocks are instructed to execute one at a time here, this is not a limitation. For example, the execution of multiple function blocks assigned to the same device can be instructed together. In this case, it can be confirmed in advance whether each function block meets the parameter range for function execution, and the function block corresponding to the change can be downloaded to the device side before execution. Also, for example, execution instructions for each function block can be given for multiple devices.

[0171] [1.4 Effects, etc.]

[0172] As described above, by including application blocks and a rules database, an environment capable of developing a wide variety of applications can be provided. For applications freely developed within this environment, actuators 22 or heaters 23 that output heat energy can be safely driven to operate physically. In other words, not only is the environment for freely developing applications improved, but also application-independent security features are provided. Thus, for example, the development of a wide variety of highly customizable applications can be carried out in parallel with the development of a rules database for security, thereby enabling the early development of a wide variety of applications.

[0173] Furthermore, even after the application is provided, it can be modified to further enhance security by changing the rule database. Moreover, even when improvements are needed for situations the manufacturer did not anticipate, there is no need to modify the various applications themselves; by defining the rule database independently of the application, all applications can be addressed by updating the rule database.

[0174] We also considered the following approach: maintaining a baseline for exception handling rules by monitoring the application's execution state without modifying the application itself. However, this approach only addresses exceptions after they occur, thus allowing situations that could overload appliances or compromise security. Therefore, we ensure security by maintaining a rule database independent of the application and modifying the application based on this rule data.

[0175] 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 function blocks that drive at least one of the actuator 22 and the heater 23. If a rule is specified that at least one of the remaining function blocks is not executed when one of two or more function blocks is prohibited from being executed, and the application program is modified if the plurality of function blocks included in the application program meet the rule, and the actuator 22 and the heater 23 are driven according to the modified application program.

[0176] Accordingly, the actuator 22 and / or heater 23 can be driven according to the application defined by multiple functional blocks. Therefore, applications employing functional blocks that abstract the control of the device 20 can be developed, allowing not only manufacturers but also third parties to develop a variety of applications that can be easily executed within the device 20. Furthermore, if the application conforms to a rule that prohibits the execution of one of the specified two or more functional blocks while at least one of the remaining functional blocks is not executed, the application can be modified according to the application before the actuator 22 and / or heater 23 is driven. Therefore, it is possible to ensure that one of the specified two or more functional blocks is combined with at least one of the remaining functional blocks. That is, even if the application developer makes an error and issues an instruction to execute a functional block that is not allowed to be executed independently, the execution of an application that cannot safely control the device 20 can be suppressed. Therefore, even if the application developer creates an application that prioritizes user-friendliness over ensuring the safety of the actuator 22 and / or heater 23, the safety of the application-controlled device 20 can be improved.

[0177] Furthermore, for example, in the apparatus 20 of this embodiment, the control unit 24 may modify the application by performing (a) adding a new function block to multiple function blocks, (b) changing the order of multiple function blocks, or (c) deleting a function block from among multiple function blocks.

[0178] More specifically, for example, in the device 20 of this embodiment, the application includes information on the execution order of each of a plurality of functional blocks, and the specified two or more functional blocks include a first functional block and a second functional block. The rule prohibits the first functional block from not being executed before the second functional block is executed. When the application includes the second functional block and the first functional block is not included before the second functional block, the control unit 24 changes the application by adding the first functional block before the second functional block.

[0179] Furthermore, for example, in the apparatus 20 of this embodiment, the application includes information on the execution order of each of a plurality of functional blocks. The specified two or more functional blocks include a first functional block and a second functional block. The rule prohibits the first functional block from not being executed before the second functional block is executed. When the application includes the first functional block and the second functional block, and the first functional block is not included before the second functional block, the control unit 24 changes the application by changing the order of the first functional block to before the second functional block.

[0180] Furthermore, for example, in the apparatus 20 of this embodiment, the application includes information on the execution order of each of a plurality of functional blocks, and the specified two or more functional blocks include a first functional block and a second functional block. The rule prohibits the first functional block from not being executed before the second functional block is executed. If the application includes the second functional block and the first functional block is not included before the second functional block, the control unit 24 changes the application by deleting the second functional block.

[0181] Accordingly, by adding new function blocks, changing the order of function blocks, or deleting function blocks before the application is executed, it can be ensured that the first function block is executed before the second function block. Therefore, application developers can reduce the priority of considering safety controls for actuator 22 and heater 23, allowing for more freedom in application development. Furthermore, developers of software installed on the device 20 that controls actuator 22 and heater 23 can allow function blocks to execute without having to check the application's safety one by one each time.

[0182] Furthermore, for example, in the apparatus 20 of this embodiment, the application includes information on the execution order of each of a plurality of functional blocks, and the specified two or more functional blocks include a second functional block and a third functional block. The rule prohibits the third functional block from being executed after the second functional block is executed. If the application includes the second functional block and the third functional block is not included after the second functional block, the control unit 24 changes the application by adding a third functional block after the second functional block.

[0183] Furthermore, for example, in the apparatus 20 of this embodiment, the application includes information on the execution order of each of a plurality of functional blocks. The specified two or more functional blocks include a second functional block and a third functional block. The rule prohibits the third functional block from being executed after the second functional block is executed. When the application includes a second functional block and a third functional block, and the third functional block is not included after the second functional block, the control unit 24 changes the application by changing the order of the third functional block to after the second functional block.

[0184] Furthermore, for example, in the apparatus 20 of this embodiment, the application includes information on the execution order of each of a plurality of functional blocks, and the specified two or more functional blocks include a second functional block and a third functional block. The rule prohibits the third functional block from being executed after the second functional block is executed. If the application includes the second functional block and the third functional block is not included after the second functional block, the control unit 24 changes the application by deleting the second functional block.

[0185] Furthermore, for example, in the apparatus 20 of this embodiment, the application includes information about multiple functional blocks and information about the execution order of each of the multiple functional blocks. If the rule includes information that at least one of the multiple functional blocks cannot be executed, information about the functional blocks that the application cannot develop or execute will be displayed as an exception message to the developer.

[0186] Accordingly, by adding new function blocks, changing the order of function blocks, or deleting function blocks before the application is executed, it can be ensured that the third function block is executed after the second function block. Therefore, application developers can reduce the priority of considering safety drivers for actuator 22 and heater 23, allowing for more freedom in application development. Furthermore, developers of software installed on the device 20 that controls actuator 22 and heater 23 can allow function blocks to execute without having to check the application's safety one by one each time.

[0187] Furthermore, for example, in the device 20 of this embodiment, the rule is a rule used to ensure that two or more functional blocks are executed in combination to prevent at least one of the actuator 22 and the heater 23 from reaching the maximum tolerable temperature.

[0188] Accordingly, it is possible to prevent the actuator 22 and / or heater 23 from reaching the maximum tolerable temperature when the application is executed, thereby improving the safety of the device 20 controlled by the application.

[0189] Furthermore, for example, the device 20 in this embodiment may include a frame 21 with an internal space, and the first rule is a rule used to ensure that two or more specified functional blocks are executed in combination so as not to cause the internal space to reach the maximum tolerable temperature.

[0190] Accordingly, when the application is executed, the internal space of the housing 21 can be prevented from reaching the maximum tolerable temperature, thereby improving the safety of the device 20 controlled by the application.

[0191] (A variation of Implementation Method 1)

[0192] Furthermore, although in the above-described embodiment 1, reference was made to... Figure 8 The processing of System 1 has been described, but the order of processing is not limited to this. In particular, the timing of the pre-execution confirmation (S216) and the module that becomes the main component are not limited to this. Therefore, for several variations of the timing diagram of System 1, refer to... Figures 15A-15E Let me explain in detail.

[0193] Figure 15AThis is a timing diagram of system 1 in variation 1 of implementation method 1. Figure 15A In this process, the pre-execution confirmation (S216) is performed by the device 300 before the device 300 receives the execution instruction (S310) and is about to execute the function block (S314).

[0194] Accordingly, the software installed on device 300 can adopt a simplified structure that performs pre-execution confirmation before the function block is executed. That is, steps S215 and S217 can be omitted. In this way, it is not necessary to install the functions and communication APIs for performing these processes into device 300, thereby reducing the memory usage of the microcomputer mounted on device 300.

[0195] Additionally, the result of pre-execution confirmation can also be notified to Device Manager 200 and / or UI400. For example, as a result of pre-execution confirmation, if parameters are changed or a function block execution stop instruction is given, the confirmation result can be notified to Device Manager 200 or UI400.

[0196] Figure 15B This is a timing diagram of system 1 in variation 2 of implementation method 1. Figure 15B In the process, the pre-execution confirmation (S216) is performed directly by the device manager 200 when the device manager 200 sends the allocation result notification (S218).

[0197] Accordingly, the software installed on device 300 may not include the pre-execution verification (S216) function. Therefore, the use of the memory in device 300 can be suppressed, thereby potentially reducing the cost of device 300.

[0198] Furthermore, in the above-described embodiment 1, although the processing order of the function block execution (S314) performed by the device 300 was described as being executed by the sequence manager 100 installed on the cloud server 10, the form of the function block execution (S314) is not limited thereto.

[0199] For example, notification content from sequence manager 100 can be saved to the memory within device 300, and function blocks can be executed by the user issuing direct instructions via the UI of device 20 or the UI400 of terminal 30. In other words, the application can be downloaded to the device in advance, and the user can execute the application at any time.

[0200] Figure 15C This is a timing diagram of system 1 in variation 3 of implementation method 1. Figure 15CIn the application execution phase F300, the sequence manager 100 notifies the device 300 of one or more function blocks to be executed by the device 300 (S310C). Then, the device 300 saves the notified function blocks to the memory (S311C).

[0201] After this, the device 300 receives the execution instructions of one or more function blocks saved by the user (S312C), and executes one or more function blocks sequentially starting from the first function block (S314).

[0202] As described above, by saving the function block to 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 variation is more effective in environments with low reliability of communication with cloud server 10, and / or in devices 300 where device operation cannot be stopped or delayed during application execution.

[0203] Furthermore, even in Variation 3, similar to Embodiment 1, while the pre-execution confirmation (S216) is of great importance, the timing of the start of the pre-execution confirmation (S216) or the module that becomes the main body is not affected. Figure 15C Due to limitations, Modification 3 can be combined with Modification 1 or Modification 2.

[0204] Figure 15D This is a timing diagram of system 1 in variation 4 of implementation method 1. Variation 4 is equivalent to a combination of variation 1 and variation 3. In variation 4, as... Figure 15D As shown, the pre-execution confirmation (S216) is performed by the device 300 before the device 300 receives the execution instruction (S312C) and is about to execute the function block (S314).

[0205] Function blocks can be downloaded to device 300 in advance. When the user executes the function block at an arbitrary time, there may be a significant discrepancy between the download time and the execution time. In other words, it's possible to consider the scenario where the function block is executed days, months, or even years after being downloaded to device 300. In this case, the degradation level of device 300 will change during the period from when the function block is downloaded until it is executed. Therefore, in device 300 where the execution of the function block will be affected by the degradation level, by having device 300 perform pre-execution verification before the function block is executed, pre-execution verification corresponding to the degradation level can be performed.

[0206] Figure 15EThis is a timing diagram of system 1 in variation 5 of implementation method 1. Variation 5 is equivalent to a combination of variation 2 and variation 3. In variation 5, as... Figure 15E As shown, the pre-execution confirmation (S216) is performed directly by the device manager 200 when the device manager 200 sends the allocation result notification (S218).

[0207] (Implementation Method 2)

[0208] Next, Embodiment 2 will be described. The main difference from Embodiment 1 described above is that, since the application has already been authenticated, the pre-execution confirmation is skipped. This embodiment will be described below focusing on the differences from Embodiment 1.

[0209] Furthermore, since the hardware and functional configuration of System 1 in this embodiment are the same as those in Embodiment 1 described above, illustrations and descriptions are omitted.

[0210] [2.1 Processing]

[0211] In this embodiment, except that step S216 of the pre-execution confirmation in Embodiment 1 is replaced by step S216A, the process is the same as in Embodiment 1. Therefore, referring to... Figure 16 The steps of the pre-execution confirmation process, S216A, are explained.

[0212] Figure 16 This is a flowchart of the pre-execution confirmation process in Implementation Method 2.

[0213] (Step S2161A)

[0214] Device 300 obtains application authentication information. The application authentication information includes information indicating whether the application has been successfully authenticated.

[0215] Application authentication is used to ensure, for example, the quality of the application's structure, and to verify its security and / or identity (that it has not been tampered with). An example of an application that has been granted authentication information is provided. If the application's code change history indicates no changes to parameter ranges, the authentication information will be displayed and associated with the application.

[0216] (Step S2162A)

[0217] Based on the acquired application information, device 300 determines whether the application has been successfully authenticated. If the application is successfully authenticated (S2162A "Yes"), device 300 skips subsequent steps S2165 to S2167 and terminates the pre-confirmation process. Conversely, if the application is not successfully authenticated (S2162A "No"), device 300 proceeds to the next step, S2165.

[0218] [2.2 Effects, etc.]

[0219] 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 function blocks and including information indicating whether authentication has been completed. The plurality of function blocks drive at least one of the actuator 22 and the heater 23. If the application program does not include information indicating that authentication has been completed, the control unit 24 refers to a rule indicating that two or more defined function blocks are executed in combination. If the plurality of function blocks included in the application program do not conform to the rule, the control unit 24 modifies the application program and drives at least one of the actuator 22 and the heater 23 according to the modified application program.

[0220] Accordingly, the same effect as in Implementation Method 1 can be achieved. Furthermore, when the application is not fully authenticated, processing corresponding to changes to the application can be performed; when the application is fully authenticated, the processing load can be reduced. Therefore, without performing judgment processing for the combination of function blocks for all applications, the processing load can be reduced simply by managing authentication, and a design benchmark related to the combination of function blocks can be obtained. This allows application developers to perform easier and safer designs.

[0221] Furthermore, for example, in the apparatus 20 of this embodiment, if information indicating that the application has been authenticated is available, the application may not be modified without referring to the first rule.

[0222] Therefore, once the application has been authenticated, the processing for changing function blocks can be skipped, thereby reducing the processing load.

[0223] (Implementation Method 3)

[0224] Next, Embodiment 3 will be described. The main difference between this embodiment and Embodiment 1 described above is that, when the application creator and the device manufacturer are the same person, the pre-execution confirmation is skipped. This embodiment will be described below focusing on the differences from Embodiment 1 described above.

[0225] Furthermore, since the hardware and functional configuration of System 1 in this embodiment are the same as those in Embodiment 1 described above, illustrations and descriptions are omitted.

[0226] [3.1 Processing]

[0227] In this embodiment, except that step S216 of the pre-execution confirmation in Embodiment 1 is replaced by step S216B, the process is the same as in Embodiment 1. Therefore, referring to... Figure 17 The steps of the pre-execution confirmation process, S216B, are explained.

[0228] Figure 17 This is a flowchart of the pre-execution confirmation process in Implementation Method 3.

[0229] (Step S2161B)

[0230] Device 300 obtains application creator information. This information shows the creator of the application. The creator refers to the company, individual, or group that made the application; it can also be referred to as the developer or author.

[0231] (Step S2163B)

[0232] Device 300 acquires device manufacturer information. The device manufacturer information indicates the manufacturer of the device. The manufacturer refers to the company, individual, or group that manufactures device 300 (i.e., apparatus 20), and may also be referred to as the manufacturer.

[0233] (Step S2164B)

[0234] Device 300 determines whether the application's creator is different from the device 300's manufacturer. If the application's creator is an individual and the device 300's manufacturer is a company, then if the application's creator's company is the same as the device 300's manufacturer, device 300 can determine that the application's creator and the device 300's manufacturer are the same. Furthermore, if the application's creator is the party that received the development commission from the device 300's manufacturer, then device 300 can determine that the application's creator and the device 300's manufacturer are the same.

[0235] Here, if the application creator and the device 300 manufacturer are the same (S2164B "No"), the device 300 skips subsequent steps S2165 to S2167 and ends the pre-execution confirmation process. Alternatively, if the application creator and the device 300 manufacturer are different (S2164B "Yes"), the device 300 proceeds to the next step, S2165.

[0236] [3.2 Effects, etc.]

[0237] As described above, the device 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 function blocks and including information showing the manufacturer. The plurality of function blocks drive at least one of the actuator 22 and the heater 23. The control unit 24 acquires information showing the manufacturer of the device 20. If the manufacturer of the application program is different from the manufacturer of the device 20, it refers to the rules showing that two or more function blocks are executed in combination. If the plurality of function blocks included in the application program do not conform to the rules, it modifies the application program and drives at least one of the actuator 22 and the heater 23 according to the modified application program.

[0238] Accordingly, the same effect as in Embodiment 1 can be achieved. Furthermore, when the application creator and the device 20 manufacturer are different, processing corresponding to changes in the application can be performed; when the application creator and the device 20 manufacturer are the same, it is expected that the processing load can be reduced.

[0239] (Implementation Method 4)

[0240] Next, Embodiment 4 will be described. The main difference between this embodiment and Embodiment 1 described above is that a rule corresponding to the degradation level of the device is used for pre-execution verification. This embodiment will be described below focusing on the differences from Embodiment 1 described above.

[0241] Furthermore, since the hardware and functional configuration of System 1 in this embodiment are the same as those in Embodiment 1 described above, illustrations and descriptions are omitted.

[0242] [4.1 Processing]

[0243] In this embodiment, the process is the same as in Embodiment 1, except that step S216C is used instead of the pre-execution confirmation step S216. Therefore, referring to... Figure 18 The steps S216C of the pre-execution confirmation process are explained.

[0244] Figure 18 This is a flowchart of the pre-execution confirmation process in Implementation Method 4.

[0245] (Step S2163C)

[0246] Device 300 acquires equipment degradation information. The equipment degradation information indicates the degradation level of the actuator 22 and / or heater 23 in device 20. There are no particular limitations on the detection method for the degradation level; for example, it can be detected by a sensor.

[0247] (Step S2165C)

[0248] Device 300 obtains the rules corresponding to the degradation level. For example, device 300 refers to the rule database to obtain the rules corresponding to the degradation level of the actuator 22 or heater 23 driven by the function block.

[0249] Additionally, factors determining the degradation level include, for example, the number of times the actuators 22 and / or heaters 23 in equipment 300 have been used, the duration of use, or the number of days of use since operation began. These factors can be assumed to increase approximately proportionally to user usage. Therefore, the rule is that the degradation level increases whenever the value corresponding to the factor increases.

[0250] Furthermore, the 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 refers to the sum of 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 during function block execution. The temperature of heater 23 can 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.

[0251] 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 values ​​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 for a given input to the output value specified in the relationship is used.

[0252] [4.2 Effects, etc.]

[0253] 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 that specifies multiple function blocks for driving at least one of the actuator 22 and the heater 23, and acquires degradation information indicating whether at least one of the actuator 22 and the heater 23 has deteriorated. Referring to the rules corresponding to the degradation information, i.e., referring to the rules indicating that two or more specified function blocks are executed in combination, if the multiple function blocks included in the application program do not conform to the rules, the application program is modified, and the actuator 22 and the heater 23 are driven according to the modified application program.

[0254] Accordingly, the same effect as in Embodiment 1 can be achieved. Furthermore, by utilizing rules corresponding to the degradation information of the device 20 and by using function blocks, it is possible to execute drive instructions for the actuator 22 and / or heater 23 on the application side while taking into account the operation of the device deteriorating over time, and further improve the safety of the application-controlled device 20.

[0255] (Other implementation methods)

[0256] While the systems involved in one or more embodiments of this disclosure have been described above based on implementation methods, this disclosure is not limited to these embodiments. Various modifications conceivable to those skilled in the art, as well as configurations constructed by combining constituent elements from different embodiments, can be included within the scope of one or more embodiments of this disclosure without departing from the spirit of the disclosure.

[0257] Furthermore, while the sequence manager 100 and device manager 200 are included in the cloud server 10 in the above embodiments, they are not limited thereto. The sequence manager 100 and / or device manager 200 may also be included in the device 20. Similarly, while the UI 400 is included in the terminal 30, it may also be included in the device 20.

[0258] Furthermore, in the above embodiments, the application program can also be modified based on the degradation information. For example, the device 300 may establish corresponding parameter conversion information by referring to conversion methods for multiple degradation levels and multiple parameters, obtain the conversion method corresponding to the degradation level, and use the obtained conversion method to convert the parameters included in the function block. The conversion method may be defined by the converted value or by a coefficient applicable to the value before conversion.

[0259] Furthermore, although the application is modified during the pre-execution confirmation process in the above embodiments to execute the modified application, this is not a limitation. For example, if the state of device 300 differs from the intended state, the application may not be modified, and the device manager 200 and / or sequence manager 100 may be notified of execution abort (abnormality).

[0260] This disclosure can be applied to home appliances and other products that can execute applications defined by multiple function blocks.

[0261] Symbol Explanation

[0262] 1 System; 2a, 2b, 2c, 2d Facilities; 10 Cloud Server; 11 Processor; 12 Memory; 20, 20a, 20b, 20c, 20d, 20e, 20f, 20g, 20h Devices; 21 Frame; 22 Actuator; 23 Heater; 24 Control Unit; 30, 30a, 30b, 30c, 30d Terminals; 31 Display; 32 Input Device; 100 Sequence Manager; 200 Device Manager; 300, 300a, 300b, 300c, 300d, 300e, 300f, 300g, 300h Devices; 400, 400a, 400b, 400c, 400d UI (User Interface); Function blocks 1000 and 1201; Parameters 1001, 1002, 1003, 1004, 1005, and 1006; Device database 1100; Device information 1101; Execution content declaration 1200; Device-related information 1202; Sequence information 1203; Rule database 1300; Rules 1301 and 1302; Preparation phase F100; Pre-application execution phase F200; Application execution phase F300.

Claims

1. A device comprising an actuator and / or a heater, The device includes: At least one of the actuator and the heater; and The control unit controls at least one of the actuator and the heater. The control unit, An application program is obtained, defined by multiple functional blocks, which drive at least one of the actuator and the heater. Referring to a rule retrieved from a rule database that prohibits the execution of one of two or more specified functional blocks while preventing the execution of at least one of the remaining functional blocks, if multiple functional blocks included in the application conform to the rule, the application is modified by adding new functional blocks, changing the order of the multiple functional blocks, or deleting one of the multiple functional blocks. According to the application that has undergone the aforementioned changes, at least one of the actuator and the heater is driven.

2. The device comprising an actuator and / or a heater as described in claim 1, The application includes information about the execution order of each of the plurality of functional blocks. The specified two or more functional blocks include the first functional block and the second functional block. The rule prohibits the first function block from not being executed before the second function block is executed. If the application includes the second function block but does not include the first function block before the second function block, the control unit modifies the application by adding the first function block before the second function block.

3. The apparatus comprising an actuator and / or a heater as described in claim 1, The application includes information about the execution order of each of the plurality of functional blocks. The specified two or more functional blocks include the first functional block and the second functional block. The rule prohibits the first function block from not being executed before the second function block is executed. When the application includes the first function block and the second function block, but the first function block is not included before the second function block, the control unit changes the application by changing the order of the first function block to be before the second function block.

4. The apparatus comprising an actuator and / or a heater as described in claim 1, The application includes information about the execution order of each of the plurality of functional blocks. The specified two or more functional blocks include the first functional block and the second functional block. The rule prohibits the first function block from not being executed before the second function block is executed. If the application includes the second function block but does not include the first function block before the second function block, the control unit modifies the application by deleting the second function block.

5. The apparatus comprising an actuator and / or a heater as described in any one of claims 2 to 4, The rule prohibits the first function block from being executed from the start of the application until the second function block is executed.

6. The apparatus comprising an actuator and / or a heater as described in claim 5, The first function block is a function block used to create an environment capable of executing the second function block.

7. The apparatus comprising an actuator and / or a heater as described in claim 1, The application includes information about the execution order of each of the plurality of functional blocks. The specified two or more functional blocks include the second functional block and the third functional block. The rule prohibits the third function block from being not executed after the second function block has been executed. If the application includes the second function block but does not include the third function block after the second function block, the control unit modifies the application by adding the third function block after the second function block.

8. The apparatus comprising an actuator and / or a heater as described in claim 1, The application includes information about the execution order of each of the plurality of functional blocks. The specified two or more functional blocks include the second functional block and the third functional block. The rule prohibits the third function block from being not executed after the second function block has been executed. When the application includes the second function block and the third function block, but the third function block is not included after the second function block, the control unit changes the application by changing the order of the third function block to after the second function block.

9. The apparatus comprising an actuator and / or a heater as described in claim 1, The application includes information about the execution order of each of the plurality of functional blocks. The specified two or more functional blocks include the second functional block and the third functional block. The rule prohibits the third function block from being not executed after the second function block has been executed. If the application includes the second function block but does not include the third function block after the second function block, the control unit modifies the application by deleting the second function block.

10. The apparatus comprising an actuator and / or a heater as described in any one of claims 7 to 9, The rule prohibits the third function block from being executed from the time the second function block is executed until the application terminates.

11. The apparatus comprising an actuator and / or a heater as described in claim 10, The third function block is used to restore the environment that has changed due to the execution of the second function block to the environment before the second function block was executed.

12. The apparatus comprising an actuator and / or a heater as described in any one of claims 1 to 4, The rules are designed to ensure that at least one of the actuator and the heater is executed in combination to prevent it from reaching its maximum tolerable temperature.

13. The apparatus comprising an actuator and / or a heater as described in any one of claims 1 to 4, The device includes a frame with an internal space. The rules are designed to prevent the internal space from reaching its maximum tolerable temperature, and are used to ensure that two or more specified functional blocks are executed in combination.

14. The apparatus comprising an actuator and / or a heater as described in claim 1, Obtain application authentication information, and if the application does not contain information indicating that authentication has been completed, refer to the rule that two or more functional blocks as specified are executed in combination.

15. A method for controlling an actuator and / or a heater, controlling an apparatus having at least one of an actuator and a heater, wherein in the method, An application program is obtained, defined by multiple functional blocks, which drive at least one of the actuator and the heater. Referring to a rule retrieved from a rule database that prohibits the execution of one of two or more specified functional blocks while preventing the execution of at least one of the remaining functional blocks, if multiple functional blocks included in the application conform to the rule, the application is modified by adding new functional blocks, changing the order of the multiple functional blocks, or deleting one of the multiple functional blocks. According to the application that has undergone the aforementioned changes, at least one of the actuator and the heater is driven.

16. The method for controlling the actuator and / or heater as described in claim 15, It also obtains application authentication information, and if the application does not contain information indicating that authentication has been completed, it refers to the rule that two or more functional blocks as specified are executed in combination.

Citation Information

Patent Citations

  • Washing machine

    JP2003284889A

  • Control of household applicance

    CN110088376A

  • Domestic electric appliances and heating cooking device

    CN1140577A