WO2000076174A1 - Method and system for dynamically assigning device numbers in a control system - Google Patents

Method and system for dynamically assigning device numbers in a control system Download PDF

Info

Publication number
WO2000076174A1
WO2000076174A1 PCT/US2000/014898 US0014898W WO0076174A1 WO 2000076174 A1 WO2000076174 A1 WO 2000076174A1 US 0014898 W US0014898 W US 0014898W WO 0076174 A1 WO0076174 A1 WO 0076174A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
master controller
assigned
area network
control area
Prior art date
Application number
PCT/US2000/014898
Other languages
French (fr)
Inventor
Ronald W. Barber
Charles W. Partridge
Original Assignee
Panja, Inc.
Mcgrane, William, B.
Lee, Mark, R.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panja, Inc., Mcgrane, William, B., Lee, Mark, R. filed Critical Panja, Inc.
Priority to AU54512/00A priority Critical patent/AU5451200A/en
Publication of WO2000076174A1 publication Critical patent/WO2000076174A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats

Definitions

  • This invention relates generally to control systems and more particularly to a method and system for dynamically assigning device numbers in a control system.
  • HVAC heating, ventilation and air conditioning
  • the equipment may be coupled to equipment controlling devices that are linked to a computer-based master controller through the use of a control area network.
  • One or more user interface devices such as a touch panel, may also be linked to the control area network to accept user input and display current system status.
  • the user interfaces and controlling devices should be addressable over the control area network.
  • the address of the user interface or controlling device can be used to specify a destination to send messages to and receive messages from the master controller and other devices.
  • the present invention provides a method and system for dynamically assigning device numbers in a control system that addresses shortcomings of prior systems and methods.
  • a method for dynamically assigning an address to a device in a control system.
  • the control system has a master controller that is coupled to the device via a network.
  • the device sends an address request message over the network.
  • the address request message is received at the master controller, and the master controller assigns a control area network address to the device.
  • the control area network address includes a system number and a device number.
  • the master controller removes the assigned control area network address from an available device number list stored in the memory of the master controller.
  • the master controller also associates a physical connection address of the device with the assigned control area network address.
  • An address designation message that includes the assigned control area network address is sent from the master controller to the device.
  • a control system includes at least one device coupled to a control area network.
  • the control system also includes a master controller that is coupled to the control area network and operable to control the operations of the device or devices coupled to the network.
  • the master controller utilizes a messaging protocol to communicate with the devices.
  • the messaging protocol allows the assignment of dynamic control area network addresses by the master controller to devices coupled to the network.
  • At least one device in the control system has such a dynamic control area network address assigned by the master controller. This dynamic control area network address comprises a system number and a device number.
  • Embodiments of the invention provide numerous technical advantages.
  • the use of dynamic control area network addresses allows addresses to be automatically assigned to a device in a control system by the master controller of the control system.
  • devices in the control system may request a previously used control area network address to further reduce configuration when a control system is brought back on-line after a shutdown.
  • FIGURE 1 is a top-level block diagram of an embodiment of an Internet control environment 10 constructed according to the teachings of the present invention
  • FIGURE 2 is a block diagram of an embodiment of a control system constructed according to the teachings of the present invention
  • FIGURE 3 is a block diagram showing exemplary components of a master controller of the control system of FIGURE 2;
  • FIGURE 4 is a block diagram showing exemplary components of a connection manager of the master control of FIGURE 3;
  • FIGURE 5 A is a chart showing various exemplary fields of a message packet constructed according to the teachings of the present invention.
  • FIGURE 5B is a schematic diagram of an exemplary message packet constructed according to the teachings of the present invention.
  • FIGURE 6 is a flowchart illustrating an embodiment of a method of dynamically assigning device numbers in a control system according to the teachings of the present invention.
  • FIGURES 1 through 6 of the drawings like numerals being used for like and corresponding parts of the various drawings.
  • FIGURE 1 is a top-level block diagram of an embodiment of an Internet control environment 10 constructed according to the teachings of the present invention.
  • Internet control environment 10 comprises one or more control systems 30, 40 coupled to and capable of being controlled from the Internet.
  • Each control system for example, control system 30, contains a number of devices 36-39 that are coupled through a control area network 34 and controlled by a master controller 35.
  • Each control system 30, 40 is coupled to the Internet through control network portal 12.
  • the term 'Internet' is used to refer to an intranet, a wide area network (WAN), or the World Wide Web, and vice- versa.
  • the implications of employing Internet control environment 10 are the ability to communicate with and control one or more devices in control systems 30, 40 from the Internet, and the ability to control Internet devices 23-26 not directly coupled to a control area network.
  • the geographical and communication protocol boundaries are transparent between a local control system and the Internet, so that the Internet, web information content providers and web browser applications become devices coupled to the various control systems.
  • the term 'device' refers to a component that can send control commands to and/or receive control messages from a master controller in a control system.
  • Internet devices are specifically those devices coupled to a master controller through the Internet.
  • Control area network devices are those devices directly coupled to a master controller through a control area network. It should be understood that although interconnection of a control system with the Internet provides many advantages, each control system 30, 40 could exist as a separate entity with no connection to the Internet or any other control systems.
  • Control area networks 34, 44 of control systems 30, 40 are local area networks operating under transport protocols such as Ethernet, AXLink and PhastLink (the latter two developed by AMX Corporation of Dallas, Texas) that interconnect a variety of controllers, devices and equipment.
  • the underlying network connectivity may be wired, wireless, power line carriers, or any suitable transmission medium.
  • coupled to control area networks 34, 44 are a plurality of devices 36-39, 46-49. To more specifically describe the types of devices that may be utilized, reference is now made to FIGURE 2.
  • FIGURE 2 shows an exemplary implementation of control system 30 of FIGURE 1.
  • Devices typically fall into one of two categories: user interfaces 36 or equipment controlling devices 37-39.
  • Other devices that are neither user interfaces nor equipment controlling devices include radio frequency (RF) gateways for both one-way and two-way wireless devices, and the PC based tools used to configure and program the control system and its components.
  • RF radio frequency
  • User interface 36 may be any device that is capable of receiving user input and displaying or indicating control network status.
  • a touch panel, a computer terminal with a monitor, keyboard and pointing device, or any other device with similar functionalities may serve as user interface 36.
  • a plurality of user interfaces may be implemented in control system 30.
  • Internet applications are also capable of functioning as user interface devices without the use of custom and dedicated applications on the user's end.
  • Equipment controlling devices 37-39 are devices that can operate or act according to commands received from master controller 35 to control various pieces of equipment 57-59 coupled there-to. Equipment controlling devices 37-39 need not be physically connected to the controlled equipment.
  • a infrared remote can be used to control an infrared-controlled VCR or TV.
  • Types of controlled equipment 57-59 may include heating and air conditioning systems, lighting systems, video equipment, audio equipment, sprinklers, security cameras, infrared sensors, and smoke detectors.
  • Household appliances such as hot tubs, fireplaces, microwave ovens, washing machines and coffee makers may also be controlled equipment. It will be understood by one skilled in the art that many other types of equipment may also be controlled.
  • Equipment controlling devices 37-39 are also capable of providing master controller 35 a current status on the operational state of the controlled equipment. These operational states may include power settings (on/off), temperature settings, current ambient temperature, light intensity settings, volume settings, threshold settings, and predetermined alphanumeric strings reflective of operational states. Once reported to master controller 35, these operational states may be displayed on the user interface(s) 36. It should also be understood that although only three equipment controlling devices 37-39 and three pieces of equipment 57-59 are shown in FIGURE 2, any number of equipment interfaces controlling any number of pieces of equipment may be used.
  • the CAN devices (user interface 36 and equipment controlling devices 37- 39) are controlled by master controller 35.
  • Internet devices 23-26 (illustrated in FIGURE 1), although not directly connected to control area network 34, may also be controlled by a master controller.
  • master controller 35 When multiple master controllers are connected to control network portal 12, as depicted in FIGURE 1, a single master controller (for example master controller 35) may be designated as the master controller for Internet devices 23-26.
  • control network portal 12 may itself be a master controller that controls Internet devices 23-26.
  • Master controller 35 (as well as all other master controllers) is generally a CPU-based controller that controls communications among devices, such as between user interface 36 and equipment controlling devices 37-39. Master controller 35 is operable to receive user inputs, such as commands, received by user interface device 36 and to instruct the appropriate equipment controlling device(s) to act according to the command. Master controller 35 may also periodically poll each device 36-39 in control area network 34 to monitor the status of the device. The system status and/or the status of other devices may then be sent to user interface device 36 for display.
  • master controllers 35, 45 are also operable to receive user input from devices on the Internet 22 via control network portal 12.
  • content providers 25, 26 are typically web servers that generate and provide static and/or dynamic information and content in the form of web pages.
  • Content provider applications executing on the web server are able to mine data stored in databases (not explicitly shown).
  • the web pages are typically developed with hypertext markup language (HTML), and various other scripting languages and programming environments such as Microsoft Active Server Pages (ASP), Common Gateway Interface (CGI), Internet Server Application Programming Interface (ISAPI), JAVA, ActiveX, Cold Fusion, etc. that make the web pages more dynamic and interactive.
  • HTML hypertext markup language
  • ASP Common Gateway Interface
  • ISAPI Internet Server Application Programming Interface
  • JAVA ActiveX
  • Cold Fusion etc.
  • Web browsers 23, 24 are application programs that can be used to request web pages from content providers 25, 26 and decode the web pages.
  • Web browser applications include NETSCAPE NAVIGATOR and MICROSOFT INTERNET EXPLORER, for example.
  • a user executes a web browser application on her personal computer and accesses the World Wide Web via a dial-up connection to an Internet service provider.
  • the Internet or World Wide Web may also be accessed via other means such as cable modems and digital subscriber lines (DSL).
  • DSL digital subscriber lines
  • the user makes a request for a particular web page or particular web site by entering or specifying a uniform resource locator (URL).
  • URL uniform resource locator
  • IP Internet protocol
  • IP Internet protocol
  • a connection is first established with a web server of a content provider that is addressed by the URL.
  • a hypertext transport protocol (HTTP) request is then issued to the web server to download an HTML file.
  • the web server receives the request and sends a web page file to the web browser, which decodes the file to display information in specified format on the screen.
  • Web pages with dynamic content provided by gateway interfaces such as CGI and ISAPI are executable applications that are run by the web server upon user request.
  • the executing gateway application is able to read parameter information associated with the request and generate an output in the form of an HTML file in response to the parameter values.
  • Another way to add dynamic and interactive content to web pages uses ASP.
  • ASP scripts are server-side executable scripts that are directly incorporated in the HTML web pages. Upon request for the page, the web server executes the ASP script in response to input parameter values and generates the web page with dynamic content.
  • control network portal 12 users may access control systems 30, 40 using web browsers 23, 24 accessing web pages provided by control network portal 12 or via value-added web pages provided by content providers 25, 26.
  • a user who has a control area network deployed in her luxury residence to control various aspects of the home environment may use a web browser application to remotely monitor her home. She may change the temperature setting to decrease energy use, for example, because she will be leaving on a business trip. She may also use the surveillance cameras to visually ensure that security has not been breached. She may even remotely program her VCR to record certain programs that will be broadcast while she is away.
  • An example of value-added web pages provided by content providers is the provision of an interactive version of the television programming web page, www.tvguide.com. A user may request this web page, determine available program choices, and click on a certain program. Options may be provided to enable the user to turn on the television and tune it to a particular channel scheduled to broadcast the selected program, or to program the VCR to record the selected program.
  • value-added web pages provided by content providers is the provision of a secured web page that an electric company may access to slightly raise the temperature settings of the air conditioning systems of its participating customers in anticipation of high demand brown-out conditions.
  • a web page that a security company may use to access, monitor and control the security, surveillance and fire protection systems of its customers.
  • a master controller In order to communicate with and control the devices in its control system and devices on the Internet, a master controller must be able to send messages to and receive messages from the Internet and CAN devices. In order to ensure the delivery of messages to the correct device, each device must have a unique address. This device address is used to reference the device within the master controller's programming language and to configure the device with system tools.
  • IP address In order to address messages to devices on the Internet, an IP address is used.
  • Devices in a control system (CAN devices) use a different type of addressing (an address that includes a control system number, a device number, and a port number).
  • This messaging protocol will be described below. However, in order to better understand the messaging protocol, the various elements and functions of a master controller will first be described.
  • FIGURE 3 is a block diagram showing the architectural configuration of a master controller 100.
  • Master controller 100 is operable to send and receive messages. Messages received by master controller 100 may be destined for different entities within the architecture, however, every message will pass through the first three layers of the architecture. All messages enter master controller 100 at the driver layer.
  • the driver layer includes a series of ports 102. Each port 102 may run a different low-level driver 104 for interfacing directly with the hardware coupled to that port.
  • These low-level drivers 104 include RS232, PhastLink, AXLink (PhastLink and AXLink are protocols developed by AMX Corporation), and Ethernet drivers. It is through ports 102 that the devices are connected to master controller 100.
  • connection manager 1 10 operates to manage ports 102. Furthermore, when a message is received by connection manager 1 10 from ports 102, it formats the message for a message dispatcher 120 and places the message in the message dispatcher's queue. Message dispatcher 120 retrieves each message from its queue, and opens each message to determine to which device or other object the message is addressed. Message dispatcher 120 is, in essence, a router that routes messages based on the content of the message. After determining the destination of the packet, message dispatcher 120 then forwards the message to a device manager 130, a configuration manager 144, or an IP port manager 146.
  • Device manager 130 virtualizes each control device in the system. It contains device specific drivers for each device type, and implements the control portion of the control system (such as instructing equipment interfaces to control their associated controlled equipment). Since various types of devices may be implemented, device manager 130 will contain device-specific drivers for each device type. Device manager 130 will also support extensibility to allow dynamically loadable modules to provide device-specific messaging if required.
  • Connection manager 1 10 and device manager 130 are the primary elements responsible for ensuring that a message or other data sent between master controller 100 and a device reach the intended destination. These two elements will be discussed in further detail below. First, however, the functions of the remaining illustrated components of master controller 100 are as follows. Configuration manager 144 sets up and manages communication parameters such as IP configuration and other configurable aspects of the system. IP port manager 146 is an extension of a router that manages and allows device- specific IP connections to occur. Its purpose is to ensure that IP port to device communication occurs, including any necessary protocol translations, and to route the message appropriately.
  • An interpreter 134 executes the code that is used to perform commands in device manager 130.
  • the executable code is written in the Axcess 2 programming language developed by AMX Corporation (Dallas, Texas).
  • AMX Corporation Digias, Texas
  • device manager 130 interprets a message and transforms it into a common messaging format, it forwards the message to interpreter 134.
  • Interpreter 134 takes the message and performs the appropriate processing based upon the event/message.
  • the programmer may have instructed interpreter 134 through the executable code to execute a loop, access variables, execute a timed event, or any variety of actions. Some of these actions could require that a message be sent to a device or another control system (controlled by another master controller). In these cases, the message is sent back to the device manager for routing and device-specific protocol wrapping.
  • connection manager 110 the primary responsibility of connection manager 1 10 is to route messages to their appropriate destination.
  • This destination may include the local master controller, local devices, a master controller in another control system, or a device in another control system.
  • the message routing philosophy is that all messages must pass through the master controller that is controlling the system of the destination device. Therefore, a two-tier distributed routing mechanism is created that first routes a message based upon the destination system number, then (within the destination system's master controller) the message is routed toward the correct device.
  • All of this routing occurs without regard to the physical, electrical, or exterior protocol connection of any device.
  • all messages conform to a PhastLink+ (PL+) protocol format.
  • PL+ PhastLink+
  • the PL+ messaging protocol (developed by AMX Corporation) will be described in detail below in conjunction with FIGURES 5A and 5B.
  • connection manager 110 has three primary components: a master router 112, a device router 1 14, and a packet packager 116.
  • master router 1 12 The purpose of master router 1 12 is to provide the first tier of routing capability, for example, directing data to the appropriate master controller. It contains the routing information necessary to send a message to another master controller or a device controlled by another master controller.
  • master router 112 maintains master connection information that is obtained dynamically via a modified RIP protocol (the RIP protocol is defined in RFC 1058).
  • the implementation of master router 1 12 supports master controllers located on any of the bus topologies or protocols that may be utilized (e.g., PhastLink, AXLink, Ethernet, etc.).
  • master router 112 Another fundamental responsibility of master router 112 is to manage notification tables and provide appropriate notifications to other master controllers.
  • the notification tables are generated based upon notification messages routed through message dispatcher 120 and that originate from a master controller. Master router 112 will then pass the message to device router 1 14 along with the information necessary for device router 1 14 to forward the message to the destination system.
  • Device router 1 14 provides the second tier of routing capability (i.e., directing data to the destination device). It contains the routing information necessary to send a message to any local device (any device logically located in the local system) or to a master controller in another system (which can then forward the message to the destination device, if appropriate). Specifically, device router 1 14 maintains connection information for each device, such as whether the device is connected via AXLink, PhastLink, Ethernet, or any other protocol, and routes the message appropriately according to the type of connection. The device routing information is obtained by device router 1 14 both dynamically and passively.
  • Connection manager 110 also includes packet packager 116. Packet packager 1 16 reformats and packages message data as appropriate for the destination device.
  • FIGURE 5A is a chart that lists the various fields of an exemplary PhastLink+ message packet, the size of each field, an example of data that is placed in each field, and a comment about the sample data.
  • FIGURE 5B is a graphical representation of the sample packet. In the illustrated embodiment, there are fourteen fields that comprise the message packet 200.
  • the first field is a protocol field 202.
  • Protocol field 202 identifies the format of the data section of the packet by identifying the type of protocol used.
  • the length of data field 204 indicates the total number of bytes contained in the data portion of packet 200.
  • the flag field 206 may include one of two types of flags. These flags are as follows:
  • the first type of flag is a broadcast flag.
  • the broadcast flag will send a broadcast message to all devices in a control system. This flag informs the router that the message is to be broadcast, and that the destination addressing information has broadcast semantics.
  • the second type of flag is a newbee flag.
  • the newbee flag is set when the sending device is not aware of any master controller in the system (e.g. when the sending device just came on-line). When such a flag is used, the destination address fields are set to zero and are ignored (i.e. no routing will take place).
  • the master controller of the sending device's system will receive this message and respond to the device by indicating that it is the master controller and by forwarding its address to the device.
  • each control system (controlled by a master controller) will have a unique 16-bit system number. This system number is user selectable and is used to differentiate one system from another.
  • Each device in a control system will also have a unique 16-bit device number.
  • the device number may be user selectable, and is used to differentiate one device from another within a single system.
  • Each device also has at least one physical port which is addressed via a 16-bit port number.
  • the port number provides the logical to physical translation layer of addressing. Most port numbers are based upon the type of device. For example, a four port IR card will have four physical connectors numbered one through four that are addressed as ports one through four.
  • the system, device, and port numbers allow proper forwarding, routing, and delivery of messages to all devices.
  • FIGURES 5A and 5B there is a system number field, a device number, and a port number field for both the source and the destination of the message.
  • the source and destination system fields 208, 214 have a valid range of 0-65535, with zero indicating the local control system in which the source is located.
  • the source and destination device fields 210, 216 have a valid range of 0-65535, with zero indicating the master controller of the specified system.
  • the source and destination port fields 212, 218 also have a valid range of 0-65535.
  • Device supported IP communication is provided by making destination device field 210 zero, and providing the appropriate socket number of the system master controller.
  • the allowed hop count field 220 indicates how many hops can occur before the message is purged from the system. Each time a message passes through a master controller, allowed hop count field 220 is decremented by one and checked to see if it equals zero. Once the count reaches zero, the master generates an error message to the source indicating that the message has not reached the destination.
  • the message I.D. field 222 contains a unique identification number for the message. This message I.D. is used by low-level communication algorithms to correlate the original message with its acknowledgment and response.
  • the message command field 224 and the message data field 226 represent the actual message being sent in the packet. Each packet is decoded by reading message command field 224 and performing the appropriate commands located therein. Some commands are directed towards device manager 130 of the master controller, and other messages are directed to connection manager 1 10. Two examples of commands that are sent between a device and the master controller are a command from a device requesting a dynamic device number, and a command responding to this request from the master controller by assigning a dynamic device number. The use and assignment of such dynamic device numbers is described in further detail below.
  • Device manager 130 is responsible for managing three different types of devices: real devices, dynamic devices, and virtual devices. Real devices physically exist on the control area network, and have their own permanent device number.
  • Device numbers are user selectable and is assigned to the device until the user indicates otherwise.
  • Device numbers can be set using software (e.g., by writing the device number to the device's memory) or using hardware (e.g., setting DIP switches on the device).
  • Dynamic devices are real devices in a physical sense, but they differ from real devices in that their device number is not permanent. A dynamic device will request a device number from the master controller when it comes on-line. This allows these types of devices to be installed without any configuration whatsoever (“plug-n-play").
  • devices that use dynamic device numbers are those that do not require device numbers during the normal operation of the control system. Examples of such devices are RF receivers, RF transceivers, gateways, and routers; all of which transparently pass data between the master controller and one or more devices. These type of devices are typically not referenced within the Axcess 2 program, and do not require a fixed device number.
  • the devices can be dynamically assigned a device number by device manager 130. Although these devices could be assigned permanent device numbers (making them real devices), the use of dynamic device numbers reduces the amount of user configuration required. It should be also understood that every device on the control area network could be assigned a dynamic device number. However, since most devices in a control system are infrequently moved or reconfigured, permanent device numbers are typically assigned to the majority of devices in a control system.
  • Virtual devices are devices that do not physically exist, but that do have a permanently assigned device number. These devices are strictly software implementations of devices that exist only in a master controller. Functionally, they have the same characteristics as a real device. Virtual devices have two primary purposes: they provide an Axcess 2 programmer the interface mechanism for combining devices, ports, channels, and levels (channels and levels are subdivisions of a port), and they facilitate Axcess 2 program-to- Axcess 2 program communication. The following is a table of the ranges of available device numbers assigned to each category of device in one embodiment of the preset invention.
  • device manager 130 includes a device number manager (DNM) 132.
  • DNM 132 is responsible for maintaining a database of device numbers that have been assigned to devices, and is further responsible for tracking usage of these device numbers. This responsibility includes the creation and management of dynamic device numbers. The use of device number manager 132 and connection manager 110 to create and manage dynamic device numbers is described below.
  • FIGURE 6 is a flowchart illustrating a method of dynamically assigning device numbers in a control system according to the teachings of the present invention.
  • the method starts at a step 300.
  • dynamic devices are not permanently assigned a device number.
  • When such devices are connected to or engaged with the control area network at step 305, they are programmed to send out an address request message at step 310.
  • This message includes a command that requests a dynamic device number from the master controller that is controlling the system to which the device is connected.
  • Three fields of the standard PL+ packet, described in conjunction with FIGURES 5A and 5B, are primarily used to make such a request.
  • flag field 206 should include the newbee flag.
  • This flag indicates that the device has just come on-line, and assures that the message is directed to the master controller.
  • the newbee flag bypasses the routing information in the packet and directs the message to the master controller.
  • a value is inserted in message command field 224 that represents the request dynamic address command in device manager 130 (via interpreter 134). In a particular embodiment of the present invention this is the hexadecimal value "0x0583".
  • a proposed device number may be suggested by the requesting device in message data field 226. This option may be used by some devices (those containing a memory) to request the device number that was previously assigned to that device. Similarly, if the master controller goes down, it will automatically reassign the previously-assigned device numbers to the dynamic devices once the master controller comes back on-line. This helps to provide continuity and reduce system configuration time once the master comes back on-line.
  • DNM 132 checks an available device number list at step 320, and either assigns the next available device number or assigns the device number suggested by the requesting device, if available, at step 325. After DNM 132 chooses a device number, it associates the chosen device number with the physical connection address (such as an Ethernet address) of the requesting device in an assigned address database at step 330.
  • the available device number list and the assigned address database are stored in a memory of the master controller. This memory may be RAM (or its variants), Flash, ROM, PROM, EPROM, EEPROM, or any other appropriate means of storing data.
  • Memory may also include storage devices such as hard drives, CD-ROMS, DVD-ROMS, etc.
  • the master controller through connection manager 110, sends an address designation message to the requesting device.
  • the address designation message includes a value in message command field 224 which indicates that a dynamic address is being sent.
  • the address designation message includes an assigned device number in the first two bytes of message data field 226. The device can use this device number for as long as it has communication with the master.
  • the assigned device number may be the one suggested by the device in the address request message, or it may be one chosen by the master controller.
  • the address designation message also includes the system number associated with the master controller in the last two bytes of message data field 226. Once the device receives the address designation message at step 340, the device thereafter uses the designated system and device numbers in subsequent messages.
  • a dynamic device may use the designated device number until the device is disconnected from the control area network, goes off-line, or is otherwise disengaged from the CAN at step 345.
  • connection manager 1 10 notifies device manager 130, and device number manager 132 disassociates the previously assigned device number with the disengaged device at step 350.
  • the DNM 132 further adds the previously assigned device number back to its available device number list at step 355.

Abstract

A method is provided for dynamically assigning an address to a device in a control system. The control system has a master controller that is coupled to the device via a network. When a device is connected to the network, the device sends an address request message over the network. The address request message is received at the master controller, and the master controller assigns a control area network address to the device. The control area network address includes a system number and a device number. Furthermore, the master controller removes the assigned control area network address from an available device number list stored in the memory of the master controller. The master controller also associates a physical connection address of the device with the assigned control area network address. An address designation message that includes the assigned control area network address is sent from the master controller to the device. The message is received by the device, and the device determines the assigned system number and device number. The device then writes the assigned system number and device number by the device into its memory.

Description

METHOD AND SYSTEM FOR DYNAMICALLY ASSIGNING DEVICE NUMBERS IN A CONTROL SYSTEM
TECHNICAL FIELD OF THE INVENTION
This invention relates generally to control systems and more particularly to a method and system for dynamically assigning device numbers in a control system.
BACKGROUND OF THE INVENTION
Through the use of a control system, various equipment or appliances in an environment, such as a home or business, can be computer-controlled to form an automated environment. The controlled equipment may include heating, ventilation and air conditioning (HVAC) systems, lighting systems, audio-visual systems, telecommunications systems, security systems, surveillance systems, and fire protection systems, for example. The equipment may be coupled to equipment controlling devices that are linked to a computer-based master controller through the use of a control area network. One or more user interface devices, such as a touch panel, may also be linked to the control area network to accept user input and display current system status.
In order for the master controller to communicate with and control the various user interfaces and equipment controlling devices, the user interfaces and controlling devices should be addressable over the control area network. The address of the user interface or controlling device can be used to specify a destination to send messages to and receive messages from the master controller and other devices.
SUMMARY OF THE INVENTION Accordingly, a need has arisen for a method and system of assigning addresses to devices in a control system. The present invention provides a method and system for dynamically assigning device numbers in a control system that addresses shortcomings of prior systems and methods.
In one aspect of the present invention, a method is provided for dynamically assigning an address to a device in a control system. The control system has a master controller that is coupled to the device via a network. When a device is connected to the network, the device sends an address request message over the network. The address request message is received at the master controller, and the master controller assigns a control area network address to the device. The control area network address includes a system number and a device number. The master controller removes the assigned control area network address from an available device number list stored in the memory of the master controller. The master controller also associates a physical connection address of the device with the assigned control area network address. An address designation message that includes the assigned control area network address is sent from the master controller to the device. The message is received by the device, and the device determines the assigned system number and device number. The device then writes the assigned system number and device number into its memory. According to another aspect of the present invention, a control system is provided that includes at least one device coupled to a control area network. The control system also includes a master controller that is coupled to the control area network and operable to control the operations of the device or devices coupled to the network. The master controller utilizes a messaging protocol to communicate with the devices. The messaging protocol allows the assignment of dynamic control area network addresses by the master controller to devices coupled to the network. At least one device in the control system has such a dynamic control area network address assigned by the master controller. This dynamic control area network address comprises a system number and a device number.
Embodiments of the invention provide numerous technical advantages. For example, in one embodiment of the invention, the use of dynamic control area network addresses allows addresses to be automatically assigned to a device in a control system by the master controller of the control system.
This automatic assignment reduces the amount of user configuration required. In addition, devices in the control system may request a previously used control area network address to further reduce configuration when a control system is brought back on-line after a shutdown.
Other technical advantages are readily apparent to one skilled in the art from the following figures, descriptions, and claims.
BRIEF DESCRTPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following descriptions taken in connection with the accompanying drawings in which:
FIGURE 1 is a top-level block diagram of an embodiment of an Internet control environment 10 constructed according to the teachings of the present invention;
FIGURE 2 is a block diagram of an embodiment of a control system constructed according to the teachings of the present invention; FIGURE 3 is a block diagram showing exemplary components of a master controller of the control system of FIGURE 2;
FIGURE 4 is a block diagram showing exemplary components of a connection manager of the master control of FIGURE 3; FIGURE 5 A is a chart showing various exemplary fields of a message packet constructed according to the teachings of the present invention;
FIGURE 5B is a schematic diagram of an exemplary message packet constructed according to the teachings of the present invention; and FIGURE 6 is a flowchart illustrating an embodiment of a method of dynamically assigning device numbers in a control system according to the teachings of the present invention.
DETAILED DESCRTPTION OF THE INVENTION
Embodiments of the present invention and its advantages are best understood by referring to FIGURES 1 through 6 of the drawings, like numerals being used for like and corresponding parts of the various drawings.
FIGURE 1 is a top-level block diagram of an embodiment of an Internet control environment 10 constructed according to the teachings of the present invention. Internet control environment 10 comprises one or more control systems 30, 40 coupled to and capable of being controlled from the Internet. Each control system, for example, control system 30, contains a number of devices 36-39 that are coupled through a control area network 34 and controlled by a master controller 35. Each control system 30, 40 is coupled to the Internet through control network portal 12. In this application, the term 'Internet' is used to refer to an intranet, a wide area network (WAN), or the World Wide Web, and vice- versa. The implications of employing Internet control environment 10 are the ability to communicate with and control one or more devices in control systems 30, 40 from the Internet, and the ability to control Internet devices 23-26 not directly coupled to a control area network. The geographical and communication protocol boundaries are transparent between a local control system and the Internet, so that the Internet, web information content providers and web browser applications become devices coupled to the various control systems.
The term 'device' refers to a component that can send control commands to and/or receive control messages from a master controller in a control system. Internet devices are specifically those devices coupled to a master controller through the Internet. Control area network devices (CAN devices) are those devices directly coupled to a master controller through a control area network. It should be understood that although interconnection of a control system with the Internet provides many advantages, each control system 30, 40 could exist as a separate entity with no connection to the Internet or any other control systems. Control area networks 34, 44 of control systems 30, 40 are local area networks operating under transport protocols such as Ethernet, AXLink and PhastLink (the latter two developed by AMX Corporation of Dallas, Texas) that interconnect a variety of controllers, devices and equipment. The underlying network connectivity may be wired, wireless, power line carriers, or any suitable transmission medium. As described above, coupled to control area networks 34, 44 are a plurality of devices 36-39, 46-49. To more specifically describe the types of devices that may be utilized, reference is now made to FIGURE 2.
FIGURE 2 shows an exemplary implementation of control system 30 of FIGURE 1. Devices typically fall into one of two categories: user interfaces 36 or equipment controlling devices 37-39. Other devices that are neither user interfaces nor equipment controlling devices include radio frequency (RF) gateways for both one-way and two-way wireless devices, and the PC based tools used to configure and program the control system and its components.
User interface 36 may be any device that is capable of receiving user input and displaying or indicating control network status. For example, a touch panel, a computer terminal with a monitor, keyboard and pointing device, or any other device with similar functionalities may serve as user interface 36. Although only a single user interface 36 is shown, a plurality of user interfaces may be implemented in control system 30. Furthermore, as described in detail below, using control area network portal 12, Internet applications are also capable of functioning as user interface devices without the use of custom and dedicated applications on the user's end. Equipment controlling devices 37-39 are devices that can operate or act according to commands received from master controller 35 to control various pieces of equipment 57-59 coupled there-to. Equipment controlling devices 37-39 need not be physically connected to the controlled equipment. For example, a infrared remote can be used to control an infrared-controlled VCR or TV. Types of controlled equipment 57-59 may include heating and air conditioning systems, lighting systems, video equipment, audio equipment, sprinklers, security cameras, infrared sensors, and smoke detectors.
Household appliances, such as hot tubs, fireplaces, microwave ovens, washing machines and coffee makers may also be controlled equipment. It will be understood by one skilled in the art that many other types of equipment may also be controlled.
Equipment controlling devices 37-39 are also capable of providing master controller 35 a current status on the operational state of the controlled equipment. These operational states may include power settings (on/off), temperature settings, current ambient temperature, light intensity settings, volume settings, threshold settings, and predetermined alphanumeric strings reflective of operational states. Once reported to master controller 35, these operational states may be displayed on the user interface(s) 36. It should also be understood that although only three equipment controlling devices 37-39 and three pieces of equipment 57-59 are shown in FIGURE 2, any number of equipment interfaces controlling any number of pieces of equipment may be used.
As previously stated, the CAN devices (user interface 36 and equipment controlling devices 37- 39) are controlled by master controller 35. Internet devices 23-26 (illustrated in FIGURE 1), although not directly connected to control area network 34, may also be controlled by a master controller. When multiple master controllers are connected to control network portal 12, as depicted in FIGURE 1, a single master controller (for example master controller 35) may be designated as the master controller for Internet devices 23-26. Alternatively, control network portal 12 may itself be a master controller that controls Internet devices 23-26.
Master controller 35 (as well as all other master controllers) is generally a CPU-based controller that controls communications among devices, such as between user interface 36 and equipment controlling devices 37-39. Master controller 35 is operable to receive user inputs, such as commands, received by user interface device 36 and to instruct the appropriate equipment controlling device(s) to act according to the command. Master controller 35 may also periodically poll each device 36-39 in control area network 34 to monitor the status of the device. The system status and/or the status of other devices may then be sent to user interface device 36 for display.
Returning to FIGURE 1, master controllers 35, 45 are also operable to receive user input from devices on the Internet 22 via control network portal 12. Connected to Internet 22 are content providers 25, 26, which may function as Internet user interface devices. Content providers 25, 26 are typically web servers that generate and provide static and/or dynamic information and content in the form of web pages. Content provider applications executing on the web server are able to mine data stored in databases (not explicitly shown). The web pages are typically developed with hypertext markup language (HTML), and various other scripting languages and programming environments such as Microsoft Active Server Pages (ASP), Common Gateway Interface (CGI), Internet Server Application Programming Interface (ISAPI), JAVA, ActiveX, Cold Fusion, etc. that make the web pages more dynamic and interactive.
Also connected to Internet 22 are web browsers 23, 24 that may also serve as Internet user interface devices. Web browsers 23, 24 are application programs that can be used to request web pages from content providers 25, 26 and decode the web pages. Web browser applications include NETSCAPE NAVIGATOR and MICROSOFT INTERNET EXPLORER, for example. Typically, a user executes a web browser application on her personal computer and accesses the World Wide Web via a dial-up connection to an Internet service provider. The Internet or World Wide Web may also be accessed via other means such as cable modems and digital subscriber lines (DSL). The user makes a request for a particular web page or particular web site by entering or specifying a uniform resource locator (URL). The URL is associated with an Internet protocol (IP) address of the specified web site. Every computer connected to the World Wide Web and Internet has a unique IP address. This address is used to route message packets to specific computers and users. Internet protocol (IP) is the message transport and communications protocol of the Internet and World Wide Web.
When the web browser requests a certain URL, a connection is first established with a web server of a content provider that is addressed by the URL. A hypertext transport protocol (HTTP) request is then issued to the web server to download an HTML file. The web server receives the request and sends a web page file to the web browser, which decodes the file to display information in specified format on the screen. Web pages with dynamic content provided by gateway interfaces such as CGI and ISAPI are executable applications that are run by the web server upon user request. The executing gateway application is able to read parameter information associated with the request and generate an output in the form of an HTML file in response to the parameter values. Another way to add dynamic and interactive content to web pages uses ASP. ASP scripts are server-side executable scripts that are directly incorporated in the HTML web pages. Upon request for the page, the web server executes the ASP script in response to input parameter values and generates the web page with dynamic content.
Using control network portal 12, users may access control systems 30, 40 using web browsers 23, 24 accessing web pages provided by control network portal 12 or via value-added web pages provided by content providers 25, 26. For example, a user who has a control area network deployed in her luxury residence to control various aspects of the home environment may use a web browser application to remotely monitor her home. She may change the temperature setting to decrease energy use, for example, because she will be leaving on a business trip. She may also use the surveillance cameras to visually ensure that security has not been breached. She may even remotely program her VCR to record certain programs that will be broadcast while she is away. An example of value-added web pages provided by content providers is the provision of an interactive version of the television programming web page, www.tvguide.com. A user may request this web page, determine available program choices, and click on a certain program. Options may be provided to enable the user to turn on the television and tune it to a particular channel scheduled to broadcast the selected program, or to program the VCR to record the selected program.
Another example of value-added web pages provided by content providers is the provision of a secured web page that an electric company may access to slightly raise the temperature settings of the air conditioning systems of its participating customers in anticipation of high demand brown-out conditions. Yet another example is a web page that a security company may use to access, monitor and control the security, surveillance and fire protection systems of its customers.
In order to communicate with and control the devices in its control system and devices on the Internet, a master controller must be able to send messages to and receive messages from the Internet and CAN devices. In order to ensure the delivery of messages to the correct device, each device must have a unique address. This device address is used to reference the device within the master controller's programming language and to configure the device with system tools.
In order to address messages to devices on the Internet, an IP address is used. Devices in a control system (CAN devices) use a different type of addressing (an address that includes a control system number, a device number, and a port number). This messaging protocol will be described below. However, in order to better understand the messaging protocol, the various elements and functions of a master controller will first be described.
FIGURE 3 is a block diagram showing the architectural configuration of a master controller 100. Master controller 100 is operable to send and receive messages. Messages received by master controller 100 may be destined for different entities within the architecture, however, every message will pass through the first three layers of the architecture. All messages enter master controller 100 at the driver layer. The driver layer includes a series of ports 102. Each port 102 may run a different low-level driver 104 for interfacing directly with the hardware coupled to that port. These low-level drivers 104 include RS232, PhastLink, AXLink (PhastLink and AXLink are protocols developed by AMX Corporation), and Ethernet drivers. It is through ports 102 that the devices are connected to master controller 100.
The driver layer transfers each message to a connection manager 110. Connection manager 1 10 operates to manage ports 102. Furthermore, when a message is received by connection manager 1 10 from ports 102, it formats the message for a message dispatcher 120 and places the message in the message dispatcher's queue. Message dispatcher 120 retrieves each message from its queue, and opens each message to determine to which device or other object the message is addressed. Message dispatcher 120 is, in essence, a router that routes messages based on the content of the message. After determining the destination of the packet, message dispatcher 120 then forwards the message to a device manager 130, a configuration manager 144, or an IP port manager 146.
Device manager 130 virtualizes each control device in the system. It contains device specific drivers for each device type, and implements the control portion of the control system (such as instructing equipment interfaces to control their associated controlled equipment). Since various types of devices may be implemented, device manager 130 will contain device-specific drivers for each device type. Device manager 130 will also support extensibility to allow dynamically loadable modules to provide device-specific messaging if required.
Connection manager 1 10 and device manager 130 are the primary elements responsible for ensuring that a message or other data sent between master controller 100 and a device reach the intended destination. These two elements will be discussed in further detail below. First, however, the functions of the remaining illustrated components of master controller 100 are as follows. Configuration manager 144 sets up and manages communication parameters such as IP configuration and other configurable aspects of the system. IP port manager 146 is an extension of a router that manages and allows device- specific IP connections to occur. Its purpose is to ensure that IP port to device communication occurs, including any necessary protocol translations, and to route the message appropriately.
An interpreter 134 executes the code that is used to perform commands in device manager 130. In one embodiment, the executable code is written in the Axcess2 programming language developed by AMX Corporation (Dallas, Texas). Once device manager 130 interprets a message and transforms it into a common messaging format, it forwards the message to interpreter 134. Interpreter 134 takes the message and performs the appropriate processing based upon the event/message. The programmer may have instructed interpreter 134 through the executable code to execute a loop, access variables, execute a timed event, or any variety of actions. Some of these actions could require that a message be sent to a device or another control system (controlled by another master controller). In these cases, the message is sent back to the device manager for routing and device-specific protocol wrapping. Returning now to the description of connection manager 110, the primary responsibility of connection manager 1 10 is to route messages to their appropriate destination. This destination may include the local master controller, local devices, a master controller in another control system, or a device in another control system. The message routing philosophy is that all messages must pass through the master controller that is controlling the system of the destination device. Therefore, a two-tier distributed routing mechanism is created that first routes a message based upon the destination system number, then (within the destination system's master controller) the message is routed toward the correct device.
All of this routing occurs without regard to the physical, electrical, or exterior protocol connection of any device. In one embodiment of the present invention, all messages conform to a PhastLink+ (PL+) protocol format. The PL+ messaging protocol (developed by AMX Corporation) will be described in detail below in conjunction with FIGURES 5A and 5B.
Referring now to FIGURE 4, a block diagram showing a detailed view of connection manager 110 is shown. Connection manager 110 has three primary components: a master router 112, a device router 1 14, and a packet packager 116. The purpose of master router 1 12 is to provide the first tier of routing capability, for example, directing data to the appropriate master controller. It contains the routing information necessary to send a message to another master controller or a device controlled by another master controller. Specifically, master router 112 maintains master connection information that is obtained dynamically via a modified RIP protocol (the RIP protocol is defined in RFC 1058). The implementation of master router 1 12 supports master controllers located on any of the bus topologies or protocols that may be utilized (e.g., PhastLink, AXLink, Ethernet, etc.).
Another fundamental responsibility of master router 112 is to manage notification tables and provide appropriate notifications to other master controllers. The notification tables are generated based upon notification messages routed through message dispatcher 120 and that originate from a master controller. Master router 112 will then pass the message to device router 1 14 along with the information necessary for device router 1 14 to forward the message to the destination system.
Device router 1 14 provides the second tier of routing capability (i.e., directing data to the destination device). It contains the routing information necessary to send a message to any local device (any device logically located in the local system) or to a master controller in another system (which can then forward the message to the destination device, if appropriate). Specifically, device router 1 14 maintains connection information for each device, such as whether the device is connected via AXLink, PhastLink, Ethernet, or any other protocol, and routes the message appropriately according to the type of connection. The device routing information is obtained by device router 1 14 both dynamically and passively.
This information is "learned" when local devices send out messages (which are routed through device router 1 14). When a device sends out a message, device router 114 reviews the message to determine the source device, and then associates that device with the physical connection address (e.g., Ethernet address) from which the message was sent. Connection manager 110 also includes packet packager 116. Packet packager 1 16 reformats and packages message data as appropriate for the destination device.
As described above, in one embodiment of the present invention, the PhastLink+ protocol is used for messaging within a control system and between control systems. FIGURE 5A is a chart that lists the various fields of an exemplary PhastLink+ message packet, the size of each field, an example of data that is placed in each field, and a comment about the sample data. FIGURE 5B is a graphical representation of the sample packet. In the illustrated embodiment, there are fourteen fields that comprise the message packet 200. The first field is a protocol field 202. Protocol field 202 identifies the format of the data section of the packet by identifying the type of protocol used. The length of data field 204 indicates the total number of bytes contained in the data portion of packet 200. The flag field 206 may include one of two types of flags. These flags are as follows:
Figure imgf000012_0001
The first type of flag is a broadcast flag. The broadcast flag will send a broadcast message to all devices in a control system. This flag informs the router that the message is to be broadcast, and that the destination addressing information has broadcast semantics. The second type of flag is a newbee flag. The newbee flag is set when the sending device is not aware of any master controller in the system (e.g. when the sending device just came on-line). When such a flag is used, the destination address fields are set to zero and are ignored (i.e. no routing will take place). The master controller of the sending device's system will receive this message and respond to the device by indicating that it is the master controller and by forwarding its address to the device. Although messages are routed using a two-tier scheme (system and device number), addressing of control devices is accomplished via a three-tier addressing scheme using the destination fields 208, 210, 212 and the source fields 214, 216, 218. The three address tiers are the system number, the device number, and the port number. In a particular embodiment, each control system (controlled by a master controller) will have a unique 16-bit system number. This system number is user selectable and is used to differentiate one system from another.
Each device in a control system will also have a unique 16-bit device number. The device number may be user selectable, and is used to differentiate one device from another within a single system. Each device also has at least one physical port which is addressed via a 16-bit port number. The port number provides the logical to physical translation layer of addressing. Most port numbers are based upon the type of device. For example, a four port IR card will have four physical connectors numbered one through four that are addressed as ports one through four.
The system, device, and port numbers allow proper forwarding, routing, and delivery of messages to all devices. As shown in FIGURES 5A and 5B, there is a system number field, a device number, and a port number field for both the source and the destination of the message. In the illustrated embodiment, the source and destination system fields 208, 214 have a valid range of 0-65535, with zero indicating the local control system in which the source is located. The source and destination device fields 210, 216 have a valid range of 0-65535, with zero indicating the master controller of the specified system. The source and destination port fields 212, 218 also have a valid range of 0-65535. Device supported IP communication is provided by making destination device field 210 zero, and providing the appropriate socket number of the system master controller. The allowed hop count field 220 indicates how many hops can occur before the message is purged from the system. Each time a message passes through a master controller, allowed hop count field 220 is decremented by one and checked to see if it equals zero. Once the count reaches zero, the master generates an error message to the source indicating that the message has not reached the destination. The message I.D. field 222 contains a unique identification number for the message. This message I.D. is used by low-level communication algorithms to correlate the original message with its acknowledgment and response.
The message command field 224 and the message data field 226 represent the actual message being sent in the packet. Each packet is decoded by reading message command field 224 and performing the appropriate commands located therein. Some commands are directed towards device manager 130 of the master controller, and other messages are directed to connection manager 1 10. Two examples of commands that are sent between a device and the master controller are a command from a device requesting a dynamic device number, and a command responding to this request from the master controller by assigning a dynamic device number. The use and assignment of such dynamic device numbers is described in further detail below. Device manager 130 is responsible for managing three different types of devices: real devices, dynamic devices, and virtual devices. Real devices physically exist on the control area network, and have their own permanent device number. By 'permanent' it is meant that the device number is user selectable and is assigned to the device until the user indicates otherwise. Device numbers can be set using software (e.g., by writing the device number to the device's memory) or using hardware (e.g., setting DIP switches on the device).
Dynamic devices are real devices in a physical sense, but they differ from real devices in that their device number is not permanent. A dynamic device will request a device number from the master controller when it comes on-line. This allows these types of devices to be installed without any configuration whatsoever ("plug-n-play"). In certain embodiments of the present invention, devices that use dynamic device numbers are those that do not require device numbers during the normal operation of the control system. Examples of such devices are RF receivers, RF transceivers, gateways, and routers; all of which transparently pass data between the master controller and one or more devices. These type of devices are typically not referenced within the Axcess2 program, and do not require a fixed device number.
Although such devices are not directly referenced during normal operations, some type of device number is required to communicate directly with these devices for such purposes as installation, configuration, and diagnostics. Examples of these communications include obtaining the version of firmware located in the device, downloading new firmware into the device, and transferring routing tables from one router to another. In order to carry out these communications, the devices can be dynamically assigned a device number by device manager 130. Although these devices could be assigned permanent device numbers (making them real devices), the use of dynamic device numbers reduces the amount of user configuration required. It should be also understood that every device on the control area network could be assigned a dynamic device number. However, since most devices in a control system are infrequently moved or reconfigured, permanent device numbers are typically assigned to the majority of devices in a control system.
Virtual devices are devices that do not physically exist, but that do have a permanently assigned device number. These devices are strictly software implementations of devices that exist only in a master controller. Functionally, they have the same characteristics as a real device. Virtual devices have two primary purposes: they provide an Axcess2 programmer the interface mechanism for combining devices, ports, channels, and levels (channels and levels are subdivisions of a port), and they facilitate Axcess2 program-to- Axcess2 program communication. The following is a table of the ranges of available device numbers assigned to each category of device in one embodiment of the preset invention.
25
Figure imgf000014_0001
Referring to FIGURE 3, in order to manage device numbers, device manager 130 includes a device number manager (DNM) 132. DNM 132 is responsible for maintaining a database of device numbers that have been assigned to devices, and is further responsible for tracking usage of these device numbers. This responsibility includes the creation and management of dynamic device numbers. The use of device number manager 132 and connection manager 110 to create and manage dynamic device numbers is described below.
FIGURE 6 is a flowchart illustrating a method of dynamically assigning device numbers in a control system according to the teachings of the present invention. The method starts at a step 300. As described above, dynamic devices are not permanently assigned a device number. When such devices are connected to or engaged with the control area network at step 305, they are programmed to send out an address request message at step 310. This message includes a command that requests a dynamic device number from the master controller that is controlling the system to which the device is connected. Three fields of the standard PL+ packet, described in conjunction with FIGURES 5A and 5B, are primarily used to make such a request. First, flag field 206 should include the newbee flag. This flag indicates that the device has just come on-line, and assures that the message is directed to the master controller. The newbee flag bypasses the routing information in the packet and directs the message to the master controller. Second, a value is inserted in message command field 224 that represents the request dynamic address command in device manager 130 (via interpreter 134). In a particular embodiment of the present invention this is the hexadecimal value "0x0583".
Finally, a proposed device number may be suggested by the requesting device in message data field 226. This option may be used by some devices (those containing a memory) to request the device number that was previously assigned to that device. Similarly, if the master controller goes down, it will automatically reassign the previously-assigned device numbers to the dynamic devices once the master controller comes back on-line. This helps to provide continuity and reduce system configuration time once the master comes back on-line.
Once the master controller receives the address request message at step 315, the message is sent by connection manger 110 to device number manager 132. DNM 132 checks an available device number list at step 320, and either assigns the next available device number or assigns the device number suggested by the requesting device, if available, at step 325. After DNM 132 chooses a device number, it associates the chosen device number with the physical connection address (such as an Ethernet address) of the requesting device in an assigned address database at step 330. The available device number list and the assigned address database are stored in a memory of the master controller. This memory may be RAM (or its variants), Flash, ROM, PROM, EPROM, EEPROM, or any other appropriate means of storing data. Memory may also include storage devices such as hard drives, CD-ROMS, DVD-ROMS, etc. At step 335, the master controller, through connection manager 110, sends an address designation message to the requesting device. The address designation message includes a value in message command field 224 which indicates that a dynamic address is being sent. Furthermore, the address designation message includes an assigned device number in the first two bytes of message data field 226. The device can use this device number for as long as it has communication with the master. The assigned device number may be the one suggested by the device in the address request message, or it may be one chosen by the master controller. The address designation message also includes the system number associated with the master controller in the last two bytes of message data field 226. Once the device receives the address designation message at step 340, the device thereafter uses the designated system and device numbers in subsequent messages.
As stated above, a dynamic device may use the designated device number until the device is disconnected from the control area network, goes off-line, or is otherwise disengaged from the CAN at step 345. When the device is disengaged, connection manager 1 10 notifies device manager 130, and device number manager 132 disassociates the previously assigned device number with the disengaged device at step 350. The DNM 132 further adds the previously assigned device number back to its available device number list at step 355.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions, and alterations can be made therein without departing from the spirit and scope of the present invention as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method of dynamically assigning an address to a device in a control system, the control system having a master controller coupled to the device via a network, the method comprising: sending an address request message from the device over the network in response to connecting the device to the network; receiving the address request message at the master controller; assigning a control area network address to the device by the master controller in response to receiving the address request message, the control area network address including a system number and a device number; removing the assigned control area network address by the master controller from an available device number list stored in a memory of the master controller; associating a physical connection address of the device by the master controller with the assigned control area network address; sending an address designation message from the master controller to the device, the address designation message including the assigned control area network address; receiving the address designation message by the device; determining the assigned system number and device number by the device in response to receiving the address assign message; and writing the assigned system number and device number by the device into a memory of the device.
2. The method of Claim 1, wherein sending an address request message by the device comprises sending an address request message that includes a suggested device number.
3. The method of Claim 2, wherein sending an address request message comprises sending a suggested device number corresponding to a device number previously assigned to the device.
4. The method of Claim 2, wherein assigning the control area network address to the device by the master controller comprises assigning the suggested device number to the device and a system number associated with the master controller.
5. The method of Claim 1, wherein sending an address request message by the device comprises sending a flag indicating that the message source is a new device and that the message is to be directed to the master controller of the control system.
6. The method of Claim 1, wherein assigning a control area network address comprises: assigning a system number associated with the master controller; and assigning a device number corresponding to an available device number in the control system controlled by the master controller.
7. The method of Claim 1 , wherein associating a physical connection address comprises associating the physical connection address of the device with the assigned control area network address in an assigned address database in the master controller.
8. The method of Claim 1, further comprising: determining a disengagement of the device by the master controller; disassociating the previously assigned device number with the disengaged device by the master controller; and adding the control area network address previously assigned to the disengaged device to the available device number list by the master controller.
9. The method of Claim 8, wherein determining the disengagement of the device by the master controller comprises determining whether the device fails to respond to messages sent to the device from the master controller.
10. A method of dynamically assigning an address to a device in a control system, the control system having a master controller coupled to the device via a network, the method comprising: sending an address request message from the device over the network in response to connecting the device to the network; receiving the address request message at the master controller; and assigning a control area network address to the device by the master controller in response to receiving the address request message, the control area network address including a system number and a device number.
11. The method of Claim 10, further comprising removing the assigned control area network address by the master controller from an available device number list in response to assigning the control area network address to the device.
12. The method of Claim 10, further comprising associating a physical connection address of the device by the master with the assigned control area network address in an assigned address database.
13. The method of Claim 10, further comprising: sending an address designation message including the assigned control area network address from the master controller to the device; receiving the address designation message by the device; determining the assigned system number and device number by the device in response to receiving the address assign message; and saving the assigned system number and device number by the device into memory of the device.
14. A method of dynamically assigning an address to a device in a control system, the control system having a master controller coupled to the device via a network, the method comprising: sending an address request message from the device over the network in response to connecting the device to the network; receiving a address designation message by the device from the master controller in response to sending the address request message; determining an assigned system number and an assigned device number by the device from the address designation message; and writing the assigned system number and device number by the device into a memory of the device for use in transmitting subsequent messages from the device.
15. A control system, comprising: at least one device; a control area network; a master controller coupled to the control area network and operable to control the operations of the at least one device, the master controller utilizing a messaging protocol to communicate with the at least one device, the messaging protocol allowing the assignment of dynamic control area network addresses by the master controller; and wherein at least one device has a dynamic control area network address assigned by the master controller, the dynamic control area network address comprising a system number and a device number.
16. The control system of Claim 15, wherein the master controller further comprises a memory, the memory containing an available device number list and an assigned address database.
17. The control system of Claim 16, wherein the assigned address database contains the associations of assigned dynamic control area network addresses with a physical connection address of the devices to which the dynamic control area network addresses are assigned.
18. The control system of Claim 16, wherein the available device number list comprises a set of dynamic control area network addresses that are not assigned to a device in the control system.
19. The control system of Claim 15, wherein the master controller further comprises: a device manager operable to manage an available device number list and an assigned address database; and a connection manager operable to receive an address request message from a device, and to send an address designation message to the device containing a dynamic control area network address.
20. The control system of Claim 19, wherein the device manager is operable to assign a dynamic control area network address to the device from the available device number list.
21. The control system of Claim 20, wherein the device manager is operable to associate the assigned dynamic control area network address with a physical connection address of the device in the assigned address database.
PCT/US2000/014898 1999-06-08 2000-05-31 Method and system for dynamically assigning device numbers in a control system WO2000076174A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU54512/00A AU5451200A (en) 1999-06-08 2000-05-31 Method and system for dynamically assigning device numbers in a control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32803299A 1999-06-08 1999-06-08
US09/328,032 1999-06-08

Publications (1)

Publication Number Publication Date
WO2000076174A1 true WO2000076174A1 (en) 2000-12-14

Family

ID=23279211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/014898 WO2000076174A1 (en) 1999-06-08 2000-05-31 Method and system for dynamically assigning device numbers in a control system

Country Status (2)

Country Link
AU (1) AU5451200A (en)
WO (1) WO2000076174A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1458167A1 (en) * 2003-03-12 2004-09-15 Fanuc Ltd Method of network address setting
EP1569419A1 (en) * 2004-02-25 2005-08-31 Lg Electronics Inc. Method of assigning addresses to a plurality of devices on a network and a network system therefor
EP1587251A2 (en) * 2004-04-14 2005-10-19 Lg Electronics Inc. Home network system with multi-network manager and method for controlling the same
EP1705540A3 (en) * 2005-03-23 2009-06-03 Fanuc Ltd Network opening method in manufacturing system
US7660922B2 (en) * 2006-05-12 2010-02-09 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
FR2974262A1 (en) * 2011-04-13 2012-10-19 Schneider Toshiba Inverter Method for addressing speed regulator connected in point-to-point to personal computer using Ethernet cable, involves self-assigning network address by speed regulator after lack of response and expiry of duration of request
US9063739B2 (en) 2005-09-07 2015-06-23 Open Invention Network, Llc Method and computer program for device configuration

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2579233A (en) 2018-11-27 2020-06-17 Edwards Ltd A method relating to controllers of a vacuum pumping and/or abatement system
CN110567107A (en) * 2019-09-16 2019-12-13 珠海格力电器股份有限公司 Regional control method, device and system and air conditioning system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481750A (en) * 1991-01-17 1996-01-02 Moulinex (Societe Anonyme) Process for allocating addresses to newly connected apparatus in a domestic network controlled by a master controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481750A (en) * 1991-01-17 1996-01-02 Moulinex (Societe Anonyme) Process for allocating addresses to newly connected apparatus in a domestic network controlled by a master controller

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GOPAL I S ET AL: "DYNAMIC ADDRESS ASSIGNMENT IN BROADCAST NETWORKS", IEEE TRANSACTIONS ON COMMUNICATIONS,US,IEEE INC. NEW YORK, vol. COM-34, no. 1, January 1986 (1986-01-01), pages 31 - 37, XP000811899, ISSN: 0090-6778 *
LOUCKS E M ET AL: "IMPLEMENTATION OF A DYNAMIC ADDRESS ASSIGNMENT PROTOCOL IN A LOCAL AREA NETWORK", COMPUTER NETWORKS AND ISDN SYSTEMS,NORTH HOLLAND PUBLISHING. AMSTERDAM,NL, vol. 11, no. 2, February 1986 (1986-02-01), pages 133 - 146, XP000211676, ISSN: 0169-7552 *
TSUCHIYA P F: "EFFICIENT UTILIZATION OF TWO-LEVEL HIERARCHICAL ADDRESSES", PROCEEDINGS OF THE GLOBAL TELECOMMUNICATIONS CONFERENCE (GLOBECOM),US,NEW YORK, IEEE, vol. -, 6 December 1992 (1992-12-06), pages 1016 - 1021, XP000357710, ISBN: 0-7803-0608-2 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1458167A1 (en) * 2003-03-12 2004-09-15 Fanuc Ltd Method of network address setting
EP1569419A1 (en) * 2004-02-25 2005-08-31 Lg Electronics Inc. Method of assigning addresses to a plurality of devices on a network and a network system therefor
US7564804B2 (en) 2004-02-25 2009-07-21 Lg Electronics Inc. Method of assigning addresses to a plurality of devices on a network and a network system therefor
EP1587251A2 (en) * 2004-04-14 2005-10-19 Lg Electronics Inc. Home network system with multi-network manager and method for controlling the same
EP1587251A3 (en) * 2004-04-14 2009-04-22 Lg Electronics Inc. Home network system with multi-network manager and method for controlling the same
EP1705540A3 (en) * 2005-03-23 2009-06-03 Fanuc Ltd Network opening method in manufacturing system
US7904205B2 (en) 2005-03-23 2011-03-08 Fanuc Ltd Network opening method in manufacturing robots to a second network from a first network
US9063739B2 (en) 2005-09-07 2015-06-23 Open Invention Network, Llc Method and computer program for device configuration
US7660922B2 (en) * 2006-05-12 2010-02-09 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US8291141B2 (en) * 2006-05-12 2012-10-16 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US8812758B2 (en) 2006-05-12 2014-08-19 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US8069288B2 (en) 2006-05-12 2011-11-29 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
FR2974262A1 (en) * 2011-04-13 2012-10-19 Schneider Toshiba Inverter Method for addressing speed regulator connected in point-to-point to personal computer using Ethernet cable, involves self-assigning network address by speed regulator after lack of response and expiry of duration of request

Also Published As

Publication number Publication date
AU5451200A (en) 2000-12-28

Similar Documents

Publication Publication Date Title
US7673030B2 (en) Internet control system communication protocol, method and computer program
US6763040B1 (en) Internet control system communication protocol and method
US6653933B2 (en) Autonomous local area distributed network
US6615088B1 (en) System and method of device interface configuration for a control system
KR100830940B1 (en) Remote control system for home network using universal plug and play
US6801529B1 (en) Method and system for sending messages to multiple locations in a control system
US20040059815A1 (en) Guest room service and control system
US20040083128A1 (en) Smart router for a guest room service and control system
US20070211691A1 (en) Method, system and computer program using standard interfaces for independent device controllers
JP2002281169A (en) System, method, and adaptor for remote control and service equipment
US11563594B2 (en) Method for controlling a home-automation facility
CN1943171A (en) Method for controlling a device in a network of distributed stations, and network station
JP3552199B2 (en) Device control device and communication node
WO2000076174A1 (en) Method and system for dynamically assigning device numbers in a control system
CN105049339A (en) Method and device for loading control interface of intelligent device
CN101383789B (en) Household gateway device, system and method implementing access to and controlling household network
CN1720711B (en) Apparatus and system for providing universal web access function
JPH0750686A (en) Communication system for network constitution and communication method
US7577713B2 (en) System and method for providing service of binding information appliances supporting same or respective control middlewares in home network environment
JP2002135858A (en) System and method for remote control and storage medium
WO2000076169A2 (en) Method and system for providing internet access to nodes on a control area network
JP2001331394A (en) System and method for remotely controlling household electrical appliance
JP2002149516A (en) Information processing system and method, service information collecting device and computer readable recording medium recorded with program of information processing method
WO2000067134A1 (en) Internet application control system and method
JP4395059B2 (en) Communication device accommodating communication lines of multiple users

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP