1、Connected Home Appliances Object Modeling ANSI/AHAM CHA-1-2003 (R2007) p i ANSI AHAM CHA-1-2003 (R 2007) PREFACE The Association of Home Appliance Manufacturers develops standards in accordance with AHAMs “Policy and Procedures Governing Technical Standards“, which states: “AHAM Standards shall be i
2、n the best interest, mutually, of consumers who use appliances, and other properly interested parties.” AHAM standards are presented to the American National Standards Institute (ANSI) for recognition as American National Standards. This standard was so recognized on October 31, 2007 and bears the A
3、merican National Standard designation ANSI/AHAM CHA-1-2003 (R2007). This edition supersedes ANSI/AHAM CHA-1-2003. With regard to safety, AHAM recommends that all appliance products-both major and portable-manufactured or marketed in the United States be submitted to an appropriate independent labora
4、tory for inspection and listing in conformance with the safety standards and procedures followed by such laboratories. AHAM welcomes comments and suggestions regarding this standard. Any standard may be reviewed and improved as needed. All standards must be updated or reconfirmed at least every five
5、 years. Any interested party, at any time, may request a change in an AHAM standard. Such request should be addressed to AHAMs President, and should be accompanied by a statement of reason for the request and a suggested alternate proposal. Copyright 2007 by the Association of Home Appliance Manufac
6、turers (AHAM) All rights reserved. The hard copy print version of this document shall be for individual use only. The electronic file version of this document shall be for storage on one computer for purposes of viewing and/or printing one copy for individual use only. This document shall not be rep
7、roduced in whole or in part by any means, and shall not be transmitted electronically or otherwise to a third person without the prior written permission of AHAM. p ii ANSI AHAM CHA-1-2003 (R 2007) ACKNOWLEDGEMENTS AHAM would like to acknowledge the following companies and representatives for partic
8、ipating in the development of this standard. During the course of the project, many others also contributed, for which AHAM is thankful, but only primary participants in the final product are listed. Task Force members: 1. Applica Consumer Products, Bob Fanzutti 2. BSH Home Appliances (Thermador), D
9、indo Uy 3. Echelon Corporation, Bob Warden 4. Electrolux Home Products North America, Robert Woods 5. Emerson Appliance Controls, Perry Rothenbaum, Tom Sheahan, Tim Graff 6. emWare, Inc., Todd Rytting 7. GE Appliances, Ed McInerney (Chairman), John Hooker, Wolfgang Daum 8. Invensys Appliance Control
10、s, Tom Glennon 9. LG Electronics U.S.A., Inc., Ki-Tae Oh 10. Maytag Corporation, Keith Egger 11. Molex Connector Corporation, Bernie Finnegan 12. Samsung Electronics Co., LTD (SEC), Living Appliance Division, Lee Jeong-han 13. Sharp Electronics Corp., Wayne Myrick 14. Sub-Zero Freezer Company, Inc.,
11、 Greg Beal, Chris Rieger 15. Therm-O-Disc, Incorporated, Prasad Khadkikar, Richard Miu 16. Whirlpool Corporation, Dale Mayes, Gale Horst 17. WRAP, Inc., Dr. Kenneth Wacks (consultant) 18. ZiLog, Mike Gershowitz Drafting Subcommittee Members: 1. Echelon Corporation, Bob Warden 2. Emerson Appliance Co
12、ntrols, Perry Rothenbaum and Tom Sheahan 3. GE Appliances, John Hooker 4. Maytag Corporation, Keith Egger 5. Sharp Electronics Corp., Wayne Myrick 6. Sub-Zero Freezer Company, Inc., Greg Beal, Chris Rieger 7. Whirlpool Corporation, Dale Mayes (Chairman) 8. WRAP, Inc., Dr. Kenneth Wacks (consultant)
13、Working Group Leaders: 1. Definitions and General Approach - Ken Wacks 2. Clothes Washer model - Perry Rothenbaum 3. Refrigerator model - John Hooker 4. Clothes Dryer model - Keith Egger 5. Dishwasher model - Tom Sheahan 6. Range model - Perry Rothenbaum 7. Microwave Oven model - Dale Mayes 8. Room
14、Air Conditioner model - John Hooker AHAM staff support: Larry Wethje and Bill Rose (consultant) Legal Counsel: Yee Wah Chin of Mintz, Levin, Cohn, Ferris, Glovsky e.g., the cook top portion and the oven portion of a range device are systems. Not all devices are subdivided into systems. ANSI AHAM CHA
15、-1-2003 (R 2007) p 4 4. GENERAL APPROACH TO MODELING APPLIANCES 4.1. Objects and Methods A key objective in defining a set of messages is to reuse language elements where possible. Object-oriented design facilitates code and data reuse, thereby reducing costs for manufacturers. It was created about
16、10 years ago for computer programs. The structure of object-oriented design is relatively simple and powerful. A Message, possibly carrying properties, is sent to an Object. The Message causes a Method within the Object to be invoked, as shown in Figure 4.1. This may result in access to an internal
17、data structure or the execution of a subroutine or both. A value may be returned by the recipient Object. Message (Values) Method #1 Method #2 Method #3 etc. Object Object Figure 4.1 A Message to an Object Invokes a Method 4.2. Commands and Events Both Commands and Events use Messages, as shown in F
18、igure 4.2. Commands are used for remote control of equipment. The recipient may provide a status report in response. An Event is issued by an object typically when a controller or operator needs to be informed about a significant change or alarm. Request Response Command range, units, and precision
19、to be defined) Discrete Indicator (senses a value within a specified range; range, units, and precision to be defined) Binary Control (sets one of two states) Binary Indicator (indicates value of one of two states) Multifunction Control (selects one of N values) Multifunction Indicator (senses one o
20、f N values) Timer Control (settable interval time not related to clock time; GetValue can return original set value as well as the current value which includes a setting for indeterminate time) Timer Indicator (interval time not related to clock time; GetValue returns the current value which include
21、s a setting for indeterminate time) Clock Time Control (clock time is time of day; it may include calendar time) The objects for each subsystem in the AHAM Models are presented in Chapters 5 through 11. 4.4. Methods The following methods are supported by these object classes. GetValue SetValue SetOn
22、 SetOff Following is the meaning of each method: GetValue (applies to all object classes) A message requesting the GetValue method is addressed to one or more properties in one or more objects within the appliance. This method returns the value(s) of the specified properties. The value(s) returned r
23、eflects the current state of the appliance regardless of whether the underlying values were set by ANSI AHAM CHA-1-2003 (R 2007) p 6 the requesting device or controller, another device or controller, or a user interface incorporated within the appliance. SetValue (applies to all control object class
24、es and nickname under Product Information Object) A message requesting the SetValue method is addressed to one or more properties in one or more objects within the appliance. This method writes the value(s) carried in the message to the specified object properties. SetOn (applies to the Binary Contr
25、ol object) A message requesting the SetOn method is addressed to one or more properties in one or more Binary Control objects within the appliance. This method activates the ON definition of a Binary Control object. If the Binary Control object is already in the ON state, then no message need be sen
26、t. SetOff (applies to the Binary Control object) A message requesting the SetOff method is addressed to one or more properties in one or more Binary Control objects within the appliance. This method activates the OFF definition of a Binary Control object. If the Binary Control object is already in t
27、he OFF state, then no message need be sent. This standard does not define the properties and related specifications for each object. However, please note that the key property in each control and indicator object is the “current value.“ This property is read/write for a control object and read-only
28、for an indicator object. 4.5. Event Messages All objects may issue event messages. Manufacturers will determine the thresholds for each event if not stated herein. An event is a message issued by an object when it changes state or when a change in an object property exceeds a specified value or rang
29、e of values. Manufacturers are not required to implement event management. In an actual implementation a polling/poll rate mechanism that returns the changed value may substitute for an event mechanism. Some communication systems may support specific options for subscribing to messages such as: Bind
30、ing, Polling Rate, Priority, Encryption, etc. When a formal event mechanism is supported, the following method allows one device to subscribe to event notification (make a prior request for notification) from an object in a second device. EventSubscription A message requesting the EventSubscription
31、method is addressed by a “subscribing appliance” to an object. That object must be preprogrammed to issue event messages when a specified property changes or exceeds a specified value or range. The event message is then issued by the object as an asynchronous, unsolicited message to the subscribing
32、appliance. 4.6. Appliance State Names Typically a state transition occurs when an appliance starts, stops or is interrupted from its normal process cycle. State Transition objects allow an external device communicating with an appliance model to request a state change within an ANSI AHAM CHA-1-2003
33、(R 2007) p 7 appliance. A requested state change may or may not occur, depending on interlocks incorporated at the physical appliance. The appliance state names used in this document are shown in Figure 4.3. IDLEPROGRAMACTIVE(includesDelay Start)HOLD(Error)PAUSEDSERVICE/DEMOState DefinitionsIDLE: of
34、f mode, typically the initial power-up statePROGRAM: The machine is receiving instructions to define a process, but no start has been receivedACTIVE: The machine is currently executing a process (e.g. during a wash or cook cycle)PAUSE: The machine was paused (by user or network)HOLD: A severe error
35、has occurred that has cancelled the operation (does not include standard non-fatal errors )CYCLE COMPLETE: The machine completed a process, but has not returned to the IDLE stateSERVICE/DEMO: The machine is running proprietary manufacture-specific service and diagnostic functionsAny program-type com
36、mande.g. set a state variableOperationCancelledErrors fatalto the operationOperationCancelledTemporarily pausean operationContinueEnter ManufacturerExclusive servicemodeExit service modeCanceloperationsAck & return todefault stateStartprocessoperationsCYCLECOMPLETEOperationCompletedAck & return tode
37、fault stateReady forStart ofprocessoperationsFigure 4-3 Virtual State Indicators 4.7. Notes for Appliance Models The following notes apply to all of the device/appliance models described in Chapters 5-11: 1) The Object Model describes the behavior of a virtual appliance with respect to features that
38、 may be communicated. It is not intended to describe the physical implementation of any manufacturers appliance. It is the responsibility of the manufacturer to ensure the appliance is designed to operate safely. 2) “Bullets” followed by bold text indicate the name of an object. 3) “Stars” followed
39、by text indicate a property of an object. 4) For the purposes of this standard, items in subsystems, object containers, objects or object properties that are marked REQUIRED shall be implemented if the level immediately above it (system, subsystem, object container or object respectively, whether op
40、tional or required) is implemented. See Figures 4.4 and 4.5 for the AHAM ANSI AHAM CHA-1-2003 (R 2007) p 8 X. Device (Appliance) Object Model X.Y. System X.Y.Z. Subsystem X.Y.Z.1 Object Container Object Properties Appliance Model Hierarchy. For example, if a given object container (whether optional
41、or required) is implemented, then any required objects within that object container must be implemented along with any required object properties within those required objects. Additionally, if in this example, an optional object within the object container is also implemented, then any required pro
42、perties within that object must also be implemented. This ensures that for a given implementation, developers will be guaranteed a minimum level of functionality. Provisions not marked REQUIRED are considered optional. 4.8. Structure and Hierarchy of Appliance Models The structure, or hierarchy, of
43、each appliance model as detailed in the following chapters is illustrated in Figures 4.4 and 4.5. Figure 4-4 - Structure/Hierarchy of Appliance Models Only devices that provide more than one primary function will have a “system“ level. For example, a range consists of oven and cook top systems. Howe
44、ver, a dishwasher does not have a system level, rather just subsystems. For devices without a system level, the subclass numbering illustrated in Figure 4.4 will contain one less decimal. 4.9. Manufacturer Extensions Manufacturers may add additional features that may not be made public. They may def
45、ine additional object instantiations within the existing subsystems or may add new subsystems to the AHAM models. Provision has been made in the Device Description subsystem for manufacturers to provide data about private features. The objective of this standard is to facilitate interoperation among
46、 appliances. Manufacturers are encouraged to share their additions with the industry through AHAM. Models created by manufacturers that are not one of the seven product models listed in the scope should be classified as “other” in the AHAM appliance model property identified in the Product Informati
47、on Object. p 9 ANSI AHAM CHA-1-2003 (R 2007) Figure 4-5 - AHAM Appliance Model HierarchyDevice (Appliance) System 1 System 2 System N Subsystem 1 Subsystem 2 Subsystem NObject Container 1 Object Container N Object Container 2 Object 1 Object 2 Object N Properties 1N p 10 ANSI AHAM CHA-1-2003 (R 2007
48、) 5. Clothes Washer Appliance Model This chapter defines an object model of a generic interface for a household clothes washer. Figure 5-1 below is a diagram of the Clothes Washer Appliance Model. See Section 4.7 for NOTES applicable to all appliance models. Clothes Washer Appliance ModelOperationMo
49、nitoringStatus IndicatorsSensor IndicatorsTimer IndicatorsDevice Description SubsystemProduct InformationProduct CapabilitiesUser Control SubsystemCycle DurationCycle ModifiersFabric SelectionWater Level SelectionCycle TemperatureUser PreferencesSubsystemAlert & Error CodesFigure 5.1 AHAM Appliance Model of Clothes Washer p 11 ANSI AHAM CHA-1-2003 (R 2007) 5.1. DEVICE DESCRIPTION SUBSYSTEM (REQUIRED) The Device Description Subsystem provides information of a general nature about the appliance and a place for objects that are