WO2006108257A1 - Adaptively configurable network - Google Patents

Adaptively configurable network Download PDF

Info

Publication number
WO2006108257A1
WO2006108257A1 PCT/CA2005/000574 CA2005000574W WO2006108257A1 WO 2006108257 A1 WO2006108257 A1 WO 2006108257A1 CA 2005000574 W CA2005000574 W CA 2005000574W WO 2006108257 A1 WO2006108257 A1 WO 2006108257A1
Authority
WO
WIPO (PCT)
Prior art keywords
devices
configuration information
message
configuration
operably configured
Prior art date
Application number
PCT/CA2005/000574
Other languages
French (fr)
Inventor
Peter Andrew Weldon Drexel
John Bellini
Ronnie Ying Yuen Mok
Original Assignee
Xantrex International
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 Xantrex International filed Critical Xantrex International
Priority to PCT/CA2005/000574 priority Critical patent/WO2006108257A1/en
Publication of WO2006108257A1 publication Critical patent/WO2006108257A1/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/5046Resolving address allocation conflicts; Testing of addresses
    • 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/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] 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]

Definitions

  • This invention relates to networking and more particularly to adaptively configurable networks.
  • the first solution employs a hardware switch such as a Dual In-line Package (DIP) switch to assign an instance code for the device.
  • DIP Dual In-line Package
  • the second solution involves configuring software executed by the devices before they are connected to the network.
  • the first solution above is prone to error because it usually involves either opening the device to set the DIP switch and the second solution above is prone to error because it involves configuring the device, offline, without knowledge of possible conflicts with other devices on the network.
  • peer-to-peer networks there may be no master or host device that holds a representation of the network configuration or that maintains a complete list of all the devices on the network. Each device must maintain its own list. If there are multiple devices that are the same, for example two inverter/chargers, then the devices and the network must provide a way to distinguish between them. In other words, each instance of a device with the same functionality must be identified by the user so that it can be configured, controlled and monitored independently.
  • One protocol (ISO 11783) allows for a device to have an instance but there is no prescribed method for instancing devices.
  • a network system is provided with network apparatuses that are configured to pass configuration messages between each other.
  • Each apparatus establishes and maintains a table listing configuration information for each apparatus in the system.
  • a user interface detects this condition and provides for user selection of an instance of the apparatus to distinguish it from other apparatuses of the same type.
  • a user interface provides for a user to associate apparatuses of the network with a group of apparatuses, to establish a group of apparatuses that contribute toward a common goal and to permit more than one group of apparatuses to use the same network to communicate with other apparatuses in the same group
  • a method of reconfiguring devices on the network when more than one device has the same configuration information.
  • the method involves receiving configuration messages transmitted by respective devices on the network, the configuration messages each comprising at least one configuration field representing configuration information about the respective devices.
  • the method further includes acquiring from a received configuration message contents of the at least one configuration field and causing to be displayed to the user, identifications of at least two devices, when the contents of the at least one configuration field of the received configuration message from one of the at least two devices are the same as the contents of a corresponding at least one configuration field of a previously received configuration message from another of the at least two devices, to indicate the at least two devices have the same configuration information.
  • the method further includes receiving user input identifying a selected one of the at least two devices having the same configuration information, causing the selected one of the at least two devices having the same configuration information to identify itself to the user, receiving user input identifying new configuration information for the selected one of the at least two devices having the same configuration information and causing the new configuration information to be transmitted to the selected one of the at least two devices.
  • Acquiring may comprise acquiring the contents of a functionality field and an instance identifier field of the received configuration message.
  • Causing the identifications to be displayed to the user may comprise generating a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to the configuration messages received from the devices and causing the common instance identifier list to be displayed to the user.
  • Receiving user input identifying a selected one of the at least two devices may comprise facilitating user selection of a device listed on the common instance identifier list.
  • Receiving user input identifying new configuration information may comprise receiving user input to select a new instance identifier from a list of possible instance identifiers.
  • the method may further include removing the selected one of the at least two devices from the common instance identifier list.
  • Causing the new configuration information to be transmitted to the selected one of the at least two devices may comprise transmitting the new instance identifier to the selected one of the at least two devices.
  • Causing the selected one of the at least two devices having the same configuration information to stop identifying itself may comprise causing the selected one of the at least two devices having the same configuration information to stop identifying itself after the new configuration information is transmitted to the selected one of the at least two devices.
  • Acquiring may comprise acquiring the contents of an association identifier field of the received configuration message.
  • Causing the identifications to be displayed to the user may comprise generating a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from the devices and causing the common association identifier list to be displayed to the user.
  • Receiving user input identifying a selected one of the at least two devices may comprise facilitating user selection of a device listed on the common association identifier list.
  • Receiving user input identifying new configuration information may comprise receiving user input to select a new association identifier from a list of possible association identifiers, the new association identifier indicating an association with a group of devices in the system.
  • Causing the new configuration information to be transmitted to the selected one of the at least two devices may comprise transmitting the new association identifier to the selected one of the at least two devices.
  • the method may further include removing the selected one of the at least two devices from the common association identifier list.
  • the method may further include causing the selected one of the at least two devices having the same configuration information to stop identifying itself to the user.
  • Causing the selected one of the at least two devices having the same configuration information to stop identifying itself may comprise causing the selected one of the at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before the new configuration information is transmitted to the selected one of the at least two devices.
  • a computer readable medium comprising codes for directing a processor circuit to carry out the method and any of its variations above.
  • a computer readable signal comprising codes for directing a processor circuit to carry out the method and any of its variations above.
  • an apparatus for reconfiguring devices on the network when more than one device has the same configuration information.
  • the apparatus includes message receiving means for receiving configuration messages transmitted by respective devices on the network, the configuration messages each comprising at least one configuration field representing configuration information about the respective devices.
  • the apparatus further includes acquiring means for acquiring from a received configuration message contents of the at least one configuration field and display signal generating means for generating signals for causing to be displayed to the user, identifications of at least two devices, when the contents of the at least one configuration field of the received configuration message from one of the at least two devices are the same as the contents of a corresponding at least one configuration field of a previously received configuration message from another of the at least two devices, to indicate the at least two devices have the same configuration information.
  • the apparatus further includes user input receiving means for receiving user input identifying a selected one of the at least two devices having the same configuration information, communication means for communicating with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information identify itself to the user, the user input receiving means being operably configured to receive user input identifying new configuration information for the selected one of the at least two devices having the same configuration information and the communication means being operably configured to cause the new configuration information to be transmitted to the selected one of the at least two devices.
  • the acquiring means may be operably configured to acquire the contents of a functionality field and an instance identifier field of the received configuration message.
  • the display signal generating means may be operably configured to generate a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to the configuration messages received from the devices and to generate signals to cause the common instance identifier list to be displayed to the user.
  • the user input receiving means may be operably configured to facilitate user selection of a device listed on the common instance identifier list.
  • the user input receiving means may be operably configured to receive user input to select a new instance identifier from a list of possible instance identifiers.
  • the display signal generating means may be operably configured to cause the selected one of the at least two devices to be removed from the common instance identifier list.
  • the communication means may be operably configured to transmit a new instance identifier to the selected one of the at least two devices.
  • the communication means may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after the new configuration information is transmitted to the selected one of the at least two devices.
  • the acquiring means may be operably configured to acquire the contents of an association identifier field of the received configuration message.
  • the display signal generating means may be operably configured to generate a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from the devices and to generate signals to cause the common association identifier list to be displayed to the user.
  • the user input receiving means may be operably configured to facilitate user selection of a device listed on the common association identifier list.
  • the user input receiving means may be operably configured to receive user input to select a new association identifier from a list of possible association identifiers, the new association identifier indicating an association with a group of devices in the system.
  • the communication means may be operably configured to transmit the new association identifier to the selected one of the at least two devices.
  • the display signal generating means may be operably configured to cause the selected one of the at least two devices to be removed from the common association identifier list.
  • the communication means may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself to the user.
  • the communication means may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before the new configuration information is transmitted to the selected one of the at least two devices.
  • an apparatus for reconfiguring devices on the network when more than one device has the same configuration information.
  • the apparatus includes a message receiver operably configured to receive configuration messages transmitted by respective devices on the network, the configuration messages each comprising at least one configuration field representing configuration information about the respective devices.
  • the apparatus further includes a content acquirer operably configured to acquire from a received configuration message contents of at least one configuration field and a display signal generator operably configured to generate signals for causing to be displayed to the user, identifications of at least two devices, when the contents of the at least one configuration field of the received configuration message from one of the at least two devices are the same as the contents of a corresponding at least one configuration field of a previously received configuration message from another of the at least two devices, to indicate the at least two devices have the same configuration information.
  • a content acquirer operably configured to acquire from a received configuration message contents of at least one configuration field
  • a display signal generator operably configured to generate signals for causing to be displayed to the user, identifications of at least two devices, when the contents of the at least one configuration field of the received configuration message from one of the at least two devices are the same as the contents of a corresponding at least one configuration field of a previously received configuration message from another of the at least two devices, to indicate the at least two devices have the same configuration information.
  • the apparatus further includes a user input receiver operably configured to receive user input identifying a selected one of the at least two devices having the same configuration information, a communication interface operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information identify itself to the user, the user input receiver being operably configured to receive user input identifying new configuration information for the selected one of the at least two devices having the same configuration information and the communication interface being operably configured to cause the new configuration information to be transmitted to the selected one of the at least two devices.
  • the content acquirer may be operably configured to acquire the contents of a functionality field and an instance identifier field of the received configuration message.
  • the apparatus may further include a common instance identifier generator operably configured to generate a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to the configuration messages received from the devices.
  • a common instance identifier generator operably configured to generate a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to the configuration messages received from the devices.
  • the display signal generator may be operably configured to generate signals to cause the common instance identifier list to be displayed to the user.
  • the user input receiver may be operably configured to facilitate user selection of a device listed on the common instance identifier list.
  • the user input receiver may be operably configured to receive user input to select a new instance identifier from a list of possible instance identifiers.
  • the apparatus may further include a possible instance identifier list generator operably configured to generate a list of possible instance identifiers.
  • the display signal generator may be configured to cause the list of possible instance identifiers to be displayed to the user.
  • the common instance identifier list generator may be operably configured to cause the selected one of the at least two devices to be removed from the common instance identifier list.
  • the communication interface may be operably configured to transmit a new instance identifier to the selected one of the at least two devices.
  • the communication interface may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after the new configuration information is transmitted to the selected one of the at least two devices.
  • the content acquirer may be operably configured to acquire the contents of an association identifier field of the received configuration message.
  • the apparatus may further include a common association identifier list generator operably configured to generate a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from the devices and wherein the display signal generator being operably configured to generate signals to cause the common association identifier list to be displayed to the user.
  • a common association identifier list generator operably configured to generate a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from the devices and wherein the display signal generator being operably configured to generate signals to cause the common association identifier list to be displayed to the user.
  • the user input receiver may be operably configured to facilitate user selection of a device listed on the common association identifier list.
  • the user input receiver may be operably configured to receive user input selecting a new association identifier from a list of possible association identifiers.
  • the display signal generator may include a possible association identifier list generator operably configured to generate a list of possible association identifiers.
  • the display generator may be operably configured to cause the list of possible association identifiers to be displayed to the user.
  • the communication interface may be operably configured to transmit the new association identifier to the selected one of the at least two devices.
  • the common association identifier list generator may be operably configured to cause the selected one of the at least two devices to be removed from the common association identifier list.
  • the communication interface may include a message generator operably configured to generate an identification message for receipt by the at least one of the devices to cause the at least one of the devices to actuate visual indicators thereon in a distinctive pattern and wherein the communication interface includes a transmitter operably configured to transmit the identification message to the at least one of the devices.
  • the communication interface may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself to the user.
  • the communication interface may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before the new configuration information is transmitted to the selected one of the at least two devices.
  • a function-performing apparatus for performing a function in a system of networked function performing apparatuses.
  • the apparatus includes a communication message receiver operably configured to receive messages including configuration messages from co-networked apparatuses and a configuration message transmitter operably configured to transmit a configuration message to at least one other of the co-networked apparatuses, the configuration message including configuration information about the apparatus.
  • the apparatus further includes an annunciator operable to annunciate a signal for use in physically identifying the apparatus and a controller in communication with the communication message receiver, the configuration message transmitter and the annunciator.
  • the controller is operably configured to control the annunciator in response to a pre-defined message received at the communication message receiver from any of the co-networked apparatuses and is operable to cause the configuration message transmitter to transmit the configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with the apparatus.
  • the controller may be operably configured to control the annunciator to annunciate or not annunciate the signal.
  • the controller may be further operably configured to receive and obtain function information from function information messages received from co- networked apparatuses having at least some common configuration information.
  • the configuration information may include information relating to a function of the apparatus and at least one of information relating to an instance of the function in the system and information relating to an association of the apparatus with other apparatuses in the system.
  • the controller may be configured to maintain a system table identifying the co-networked apparatuses and configuration information thereof, in the system.
  • the controller may be operably configured to change at least some of the configuration information relating to a co-networked apparatus, in the system table, in response to receiving a communication message from the co- networked apparatus containing configuration information pertaining to the co- networked apparatus, that is different from corresponding configuration information relating to the co-networked apparatus, in the system table.
  • the apparatus may include a store operably configured to store the configuration information about the apparatus and the controller may be operably configured to obtain configuration information from a re-configuration message received at the communication message receiver and store the configuration information in the store.
  • the controller may be operably configured to cause the configuration message transmitter to periodically transmit a configuration message comprising information stored in the store to the co-networked apparatuses.
  • the controller may be operably configured to cause the configuration message transmitter to transmit a configuration message comprising association information from the store, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding information stored in the store.
  • a function-performing apparatus for performing a function in a system of networked function performing apparatuses.
  • the apparatus includes communication message receiving means for receiving messages including configuration messages from co-networked apparatuses and configuration message transmitting means for transmitting a configuration message to at least one other of the co-networked apparatuses, the configuration message including configuration information about the apparatus.
  • the apparatus further includes annunciating means for annunciating a signal for use in physically identifying the apparatus and control means in communication with the communication message receiver, the configuration message transmitter and the annunciator, for controlling the annunciating means in response to a predefined message received at the communication message receiving means; from any of the co-networked apparatuses and for causing the configuration message transmitter to transmit the configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with the apparatus.
  • the control means may be operably configured to control the annunciating means to annunciate or not annunciate the signal.
  • the control means may include a processor operably configured to receive and obtain function information from function information messages received from co-networked apparatuses having at least some common configuration information.
  • the configuration information may include information relating to a function of the apparatus and at least one of information relating to an instance of the function in the system and information relating to an association of the apparatus with other apparatuses in the system.
  • the control means may include a processor operably configured to maintain a system table identifying the co-networked apparatuses and configuration information thereof, in the system.
  • the processor may be operably configured to change at least some of the configuration information relating to a co-networked apparatus, in the system table, in response to receiving a communication message from the co- networked apparatus containing configuration information pertaining to the co- networked apparatus, that is different from corresponding configuration information relating to the co-networked apparatus, in the system table.
  • the apparatus may include storing means for storing the configuration information about the apparatus and the control means may include a processor operably configured to obtain configuration information from a reconfiguration message received at the communication message receiving means and store the configuration information in the storing means.
  • the processor may be operably configured to cause the configuration message transmitting means to periodically transmit a configuration message comprising information stored in the storing means to the co-networked apparatuses.
  • the processor may be operably configured to cause the configuration message transmitting means to transmit a configuration message comprising association information from the storing means, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding information stored in the storing means.
  • a method of operating a function-performing apparatus for performing a function in a system of networked function performing apparatuses involves associating configuration information with the apparatus, receiving messages including configuration messages from co-networked apparatuses, the configuration messages including configuration information associated with the co-networked apparatus, controlling an annunciator in response to a pre-defined message received from any of the co-networked apparatuses and causing a configuration message transmitter to transmit a configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with the apparatus.
  • Controlling the annunciator may comprise controlling the annunciator to annunciate or not annunciate the signal.
  • the method may further involve receiving and obtaining function information from function information messages received from co-networked apparatuses having at least some common configuration information.
  • the configuration information may include information relating to a function of the apparatus and at least one of information relating to an instance of the function in the system and information relating to an association of the apparatus with other apparatuses in the system.
  • the method may further involve maintaining a system table identifying the co- networked apparatuses and configuration information thereof, in the system.
  • the method may further involve changing at least some of the configuration information relating to a co-networked apparatus, in the system table, in response to receiving a communication message from the co-networked apparatus containing configuration information pertaining to the co-networked apparatus, that is different from corresponding the configuration information relating to the co-networked apparatus, in the system table.
  • the method may further involve storing the configuration information about the apparatus and obtaining configuration information from a re-configuration message received at the apparatus and storing configuration information received from a reconfiguration message as configuration information about the apparatus.
  • the method may further involve causing a configuration message comprising stored information to be periodically transmitted to the co-networked apparatuses.
  • the method may further involve transmitting a configuration message comprising stored association information, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding stored information.
  • the embodiments described herein may provide advantages in that the need for special or expensive hardware is obviated, thereby keeping the cost to manufacture devices for use on the network to a minimum.
  • the embodiments described herein may provide users with a simple, user-friendly way of instancing and/or associating devices on a network without the use of tools.
  • the embodiments described herein may provide for instancing and/or associating to be performed from a single location rather than at multiple locations as the need to interact with each device directly is obviated.
  • Figure 1 is a schematic representation of an adaptively configurable network system according to a first embodiment of the invention
  • Figure 2 is a schematic representation of a configuration message transmitted by devices of the system shown in Figure 1 ;
  • Figure 3 is a schematic representation of a configuration field of an address claimed message of a configuration message of the type shown in
  • Figure 4 is a schematic representation of an association status message of a configuration message of the type shown in Figure 2;
  • Figure 5 is a block diagram of a generic function performing device of the system shown in Figure 1 ;
  • Figure 6 is a block diagram of a user interface of the system shown in
  • Figure 7 is a block diagram of a processor circuit for implementing the generic function device shown in Figure 5;
  • Figure 8 is a flowchart of an address claimed message broadcast process executed by a processor of the processor circuit shown in Figure
  • Figure 9 is a flowchart of an update process executed by the processor shown in Figure 7;
  • Figure 10 is a flowchart executed by the processor shown in Figure 7 in response to a receive reconfiguration message transmitted on a network bus shown in Figure 1 ;
  • Figure 11 is a flowchart of a reconfiguration process executed by the processor shown in Figure 7;
  • Figure 12 is a block diagram of a processor circuit for implementing the user interface shown in Figure 6;
  • Figure 13 is a flowchart of a process executed by a processor of the processor circuit shown in Figure 11 in response to receiving a configuration message on the network;
  • Figure 14 is a flowchart of a process executed by the processor shown in
  • Figure 11 for implementing a possible instance identifier list generator function
  • Figure 15 is a flowchart of a process executed by the processor shown in
  • Figure 11 in response to receipt of a broadcast association status message received from the network shown in Figure 1 ;
  • Figure 16 is a flowchart of a process executed by the processor shown in
  • Figure 17 is a sequence diagram illustrating a sequence of events taking place at different devices on the network shown in Figure 1 to assign unique instance identifiers to devices having the same function
  • Figures 18A-G are successive portions of a sequence diagram illustrating a sequence of events taking place at devices on the network shown in Figure 1 , to establish associations between different devices to thereby group the devices for communication with each other to achieve a corresponding overall function.
  • an adaptively configurable network system according to a first embodiment of the invention is shown generally at 10.
  • the system 10 includes a plurality of devices shown generally at 12, some of which are in communication with each other through a network bus 14. These devices may be referred to as being co-networked.
  • the system 10 provides a backup power system comprising first and second groups of equipment 16 and 18 for selectively supplying power to an AC output 20.
  • the first group of equipment 16 includes a first DC node 22, a first battery 24, and a first Inverter/Charger 26.
  • the second group of equipment 18 includes a second DC node 28, a second battery 30, and a second Inverter/Charger 32.
  • Both the first and second Inverter/Chargers 26 and 32 are supplied with power from a first AC source 34.
  • the first DC node 22, first inverter charger 26, second DC node 28 and second inverter-charger 32 may be considered function-performing devices, as they perform functions such as monitoring, inverting and charging which contribute toward the goal of the overall system.
  • the first and second groups of equipment 16 and 18 cooperate to supply power to the AC output 20.
  • one group is supplying power to the
  • the other group may be configured to charge the battery associated with that group. This requires cooperation by communicating using the network bus 14. Such communication requires knowledge of the function- performing devices communicating on the network.
  • the network bus 14 is "open” in the sense that it can be used as a general purpose network for function-performing devices of a particular type, such as power control devices, for example, as shown. Also, the network bus 14 is “open” in that a solar powered inverter (not shown), for example or other function-performing devices may be connected thereto, to supply power to the AC output, 20 or to provide power to either the first or second inverter/ chargers 26 and 32 or both of the first and second inverter/ chargers to charge the batteries 24 and 30.
  • the network bus 14 supports connection of additional function-performing devices into the network while existing devices of the network are operating.
  • each function-performing device of the network "claims" a unique address
  • different devices of the same type are instanced (i.e. separately identified) and/or different devices of the same function are "associated" with a group of devices, such as the first or second groups 16 or 18 described above, for example.
  • Configuration messages 36 generally include at least one configuration field 38 representing configuration information about the device that transmits it.
  • the configuration field 38 may be preceded by a header 40 and may be succeeded by a trailer 42, for example.
  • the header 40 may include an address identifying the intended recipient of the message, for example.
  • one type of configuration message may include an International Standards Organization (ISO) Address Claimed Message according to or similar to that specified in the ISO 11783 protocol.
  • this type of configuration message 36 includes a configuration field 38 comprising an address/function field 44 and an instance field 46, containing codes identifying the address or function of the device and the instance of the device. If particular addresses or address ranges are associated with different functions, each device may be configured with a lookup table associating addresses or address ranges with function. Thus, either the configuration message or a lookup table may provide codes identifying functions such as DC Node, Inverter/Charger, or Solar Inverter, for example.
  • the instance field may provide codes identifying functions such as DC Node, Inverter/Charger, or Solar Inverter, for example.
  • 46 may identify an instance such as first, second or third, for example, to represent that the device is the first, second or third device of a given function connected to the network.
  • the association identifier field 48 may be used to hold a code identifying the group of equipment (16 or 18) with which the function- performing device transmitting the message is associated.
  • a configuration message 36 sent by the first DC node 22 might have an address/function field 44 containing a code identifying the device as a DC node, an instance field 46 containing a code identifying the device as the first DC node and an association identifier field 48 containing a code associating the device with the first group 16.
  • each function-performing device that may be connected to the network bus (14) has a similar set of components.
  • the set includes a communication message receiver 52, a controller 54, an annunciator 56 and a configuration message transmitter 58.
  • the controller 54 either has or is in communication with non-volatile memory
  • the non-volatile memory 60 may be programmed to set the code specifying the function 62 of the device to a representative value and to set the code representing the instance 64 to zero and to set the code representing the association 66 to a pre-defined value, such as 0 representing "anonymous", for example.
  • the controller 54 When the function-performing device 50 is initially connected to the network bus 14 or when the system is powered up for the first time, the controller 54 causes the configuration message transmitter 58 to transmit an Address Claimed Message of the type shown in Figure 3, as a configuration message 36 indicating its function and instance according to factory set values. When another device having the same function and association code is added to the network, the controller 54 causes the configuration message transmitter 58 to transmit an Association Status Message of the type shown in Figure 4 as a configuration message 36.
  • the system 10 further includes a user interface apparatus 70 for reconfiguring the other function-performing devices on the network, when more than one function-performing device has the same configuration information.
  • the user interface apparatus 70 comprises a message receiver 72, a content acquirer 74, a display signal generator 76, a user input receiver 78 and a communication interface 80.
  • the message receiver 72 is operably configured to receive configuration messages (36) transmitted by respective devices on the network bus (14).
  • the content acquirer 74 is operably configured to acquire from a received configuration message (36) contents of the configuration field (38).
  • the display signal generator 76 is operably configured to generate display signals for causing a display such as shown at 82, to display to the user, identifications of at least two devices, when the contents of the configuration field (38) of the received configuration message (36) from one of the at least two devices are the same as the contents of a corresponding configuration field (38) of a previously received configuration message (36) from another of the at least two devices, to indicate the at least two devices have the same configuration information.
  • the user input receiver 78 is operably configured to receive user input identifying a selected one of the at least two devices having the same configuration information and the communication interface 80 is operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to identify itself to the user. This may be done by causing the communication interface 80 to send a pre-defined "annunciate" message to the selected device, for example. Referring to Figure 5, at the selected device, the annunciate message is received by the communication message receiver 52 and forwarded to the controller 54, which actuates the annunciator 56 to annunciate a signaling pattern recognizable by the user, in response to the "annunciate" message to indicate that the user has selected the device.
  • a plurality of visual indicators on the device may act as the annunciator and the controller 54 may cause them to flash in unison to provide a recognizable pattern to the user to identify the device as being one that requires re-configuration. Flashing a plurality of indicators on and off in unison is an unusual condition and this unusual condition distinguishes the device to be re-configured from the other device or other devices with the same configuration information.
  • an audio annunciator may be used to identify the device to the user.
  • the user input receiver 78 is operably configured to receive user input identifying new configuration information such as a new instance identifier or a new association identifier for the selected one of the at least two devices.
  • the communication interface 18 then sends a cease annunciate command to the selected device to cause it to stop identifying itself.
  • the communication interface 80 sends a reconfiguration message to the selected device with the new instance and/or association information.
  • the communication message receiver 52 of the selected one of the at least two devices forwards the new configuration information to the controller 54, causing the controller to alter the configuration information stored in the non-volatile memory 60, according to the new configuration information thereby re-configuring the selected device according to the new configuration information.
  • the controller 54 of the selected device causes the configuration message transmitter to again broadcast an address claimed message of the type shown in Figure 3, this time including the new instance information.
  • the controller 54 of the selected device may cause the configuration message transmitter 58 to transmit an Association Status Message of the type shown in Figure 4, in which the new configuration information is included in the association identifier field 48.
  • an address claimed message or an association status message is transmitted, all of the other devices of the network receive the message and determine from the contents of the configuration field 38, whether or not their function 62 and instance 64 or association 66 memory locations are programmed with codes identifying the same function, instance and/or association as those contained in the received message. If a receiving device has the same function codes and the same instance codes as a received address claimed message, it replies with its own address claimed message.
  • At least one of the devices is operably configured to transmit a configuration message when a configuration message received from another device in the system has configuration information that has a component that is the same as a corresponding component of configuration information associated with the at least one of the devices. This allows the user interface apparatus 70 to execute the above procedure to reconfigure one of the devices having the same configuration information when a new device is added to the network or when the system 10 is powered up for the first time.
  • the display signal generator 76 at the user interface changes the display signals so that an identification of the selected device no longer appears on the display as a device that has the same configuration information as another device.
  • each function-performing device of the network may include a processor circuit as shown generally at 100 in Figure 7 for implementing the communication message receiver 52, the controller 54, the annunciator 56 and the configuration message transmitter 58 shown in Figure 5.
  • the processor circuit 100 of Figure 7 includes a processor 102, a network interface 104, a function interface 106, an optional media interface 108, program memory shown generally at 112 and working memory shown generally at 114, all in communication with the processor 102. All of the above elements of the processor circuit 100 may be hardware elements.
  • the program memory 112 includes blocks of codes that direct the processor 102 to interact with the above hardware elements to effect the functionality of the communication message receiver 52, the controller 54, the annunciator 56 and the configuration message transmitter 58 and to implement the functionality of the device itself, such as to control an inverter/charger circuit or control a DC node, for example.
  • the program memory 112 generally includes non-volatile memory and may be pre-programmed at a factory, by burning a Read Only Memory chip, for example.
  • some of the codes may be pre-programmed, such as operating system codes and some of the codes may be received encoded in signals received from the network, for example, or in a signal received from the media interface 108 in response to reading a computer readable medium such as shown at 116, encoded with codes for directing the processor circuit to carry out the methods described herein.
  • the program memory 112 may include codes (not shown) that set up certain buffers and tables in the working memory 114. These may include a message "in” buffer 132 for storing a received message, a content "in” buffer
  • the codes stored in the program memory may include a message receiver block 118, a content acquirer block 120, a message transmitter block 122, a start-up block 124, an update block 126, an address claimed message broadcaster block 123, an association status message broadcaster block 125, an association status message handler block 127, an annunciator block 128, a reconfiguration block 129 and a function block 130.
  • the message receiver block 118 directs the processor 102 to cooperate with the network interface 104 to implement a physical network layer protocol such that clean, pure messages are received from the network bus 14.
  • the message receiver block 118 may thus deal with error correction, resends, and the like to ensure that a good clean message is received.
  • the message receiver block 118 causes the processor 102 to store the message in the working memory 114.
  • the content acquirer block 120 directs the processor 102 to parse the message stored in the working memory 114 to acquire the contents of the configuration field 38.
  • the message transmitter block 122 directs the processor 102 to cause a message compatible with the network protocol being used, to be transmitted to other devices of the network.
  • the start-up block 124 generally directs the processor 102 to copy the contents of the default address/function, instance and association buffers 136 into the working address/function, instance and association buffers 138, 140 and 142.
  • the update block 126 generally directs the processor 102 to update the system table in response to a received address claimed message to maintain a current list of address/function, instance and association of all devices in the network.
  • the controller thus maintains a system table identifying co- networked apparatuses and configuration information thereof.
  • the address claimed message broadcaster shown at block 123 directs the processor 102 to cause an address claimed message containing information stored in the working address, instance and association buffers 138, 140 and 142 to be periodically broadcast by the device on startup and when a change is made to the system table.
  • the association status message broadcaster block 125 directs the processor 102 to periodically broadcast an association status message.
  • the association message handler block 127 directs the processor 102 to respond to received association status messages.
  • the annunciator block 128 generally directs the processor 102 to control the annunciator (56) which may include actuate or deactuate a plurality of visual indicators on the device.
  • the annunciator 56 may cause the visual indicators to flash in unison, for example, in response to a received annunciate or cease annunciate message.
  • the annunciator may be controlled to annunciate or not annunciate a signal recognizable by a user to identify the device.
  • the reconfiguration block 129 directs the processor 102 to store a new instance code or a new association code received in a reconfiguration message in a corresponding working buffer.
  • the function block 130 directs the processor 102 to interact with function circuits, such as inverter/charger circuits (not shown), for example, to receive information through the communication message receiver and to transmit function information to other "associated" apparatus.
  • function circuits such as inverter/charger circuits (not shown), for example, to receive information through the communication message receiver and to transmit function information to other "associated" apparatus.
  • Such information may include function information such as battery temperature and voltage, for example, received from function information messages received from co- networked apparatuses having common configuration information, such as the same association code. This is how function devices that are part of a group and thus associated with each other communicate information between each other to effect the functionality of the group.
  • the address claimed message broadcaster 123 begins with block 154 which directs the processor 102 to invoke the message transmitter block 122 to cause an address claimed message to be transmitted on the network bus (14).
  • the transmission of this message is general in that it is not directed to any particular device of the network.
  • Block 156 then directs the processor 102 to start a timer and determine whether a response message is received within a period of time, such as 25OmS, for example. If no response message is received in the specified period of time, the address claimed broadcaster process is ended and the device continues to operate with the default address, instance and association identifiers as now stored in the working buffers 138, 140 and 142. As will be appreciated from this description, if another device of the network has the same address it will transmit its own address claimed message, which is the response message sought at block 156.
  • a period of time such as 25OmS
  • block 158 directs the processor 102 to determine whether the address/function identified in the response message is the same as the working address/function specified by the contents of the working address/function buffer 138. If the address/function is the same, block 160 directs the processor 102 to determine whether the device that sent the message has higher priority.
  • block 160 may include sub-blocks of code (not shown) that use the address/function code contained in the received response message to index a priority table (not shown) that specifies relative priority values for each possible address/function. For example, an inverter/charger function may have a higher priority than a DC Node.
  • block 162 directs the processor 102 to increment the contents of the working address/function buffer 138 and the processor is directed back to block 154 which causes a new address claimed message to be broadcast.
  • a sub-process depicted by blocks 154 to 162 is executed until the contents of the working address/function buffer 138 are different from the addresses used by each other device on the network, as shown at 158, or until a response message is received from a device having a lower function priority, as shown at 160.
  • block 168 directs the processor 102 to re- broadcast the last broadcast address claimed message, to permit the device that has the lower priority to change its address accordingly. It will be appreciated that this is done automatically at the device that has the lower priority, since that device is running the same process as shown in Figure 8, on its own processor.
  • block 164 directs the processor to call the update process shown at 126 in Figure 9.
  • the update block shown at 126 is executed from block 164 in Figure 8 and whenever an address claimed message is received from a co-networked apparatus.
  • the update block 126 begins with a first block 170 that directs the processor 102 to check the system table 144 to determine whether it contains an entry having the same address/function as the address/function contained in the received address claimed message.
  • block 172 directs the processor 102 to add an entry containing the address/function, and instance contained in the received address claimed message to the system table.
  • block 174 may succeed block 172 and cause the processor 102 to communicate directly with the device that sent the address claimed message to acquire further information relating to it. As described above, this may include device information such as serial number, model number, or other information.
  • the system table 144 is thus updated with a new entry listing the other device on the network.
  • block 175 directs the processor to determine whether the contents of the instance field 46 of the received address claimed message are the same as the instance associated with the corresponding entry in the table. If so, the process is ended. If the instance identifier is different, block 177 directs the processor to cause the instance associated with this entry to be replaced with the instance identifier contained in the received address claimed message. The instance associated with the corresponding device is thus now reflected by the system table 144.
  • the association status message handler block is shown generally at 127 and is invoked in response to receipt of an association status message.
  • the association status message handler includes a first block 182 that directs the processor 102 to compare the contents of the address/function field 44 in a received association status message with the contents of the default address/function buffer (see 136 in Figure 7). If at block 182 contents of the address/function field 44 are not the same as those of the default address/function buffer 136, block 184 directs the processor 102 to broadcast a function information message containing information relating to the function of the instant device. For example, if the instant device is a DC node, the information status message may include the association identifier stored in the working association buffer, and voltage, current, temperature and state of charge information relating to a battery.
  • block 186 directs the processor 102 to compare the contents of the association identifier field 48 of the received association status message with the contents of the working association buffer 142. If contents of the association identifier field 48 are not the same as those of the working association buffer, the processor 102 is directed to block 184 which causes the processor 102 to broadcast an information status message containing information relating to the function of the instant device, as described above.
  • block 188 directs the processor 102 to transmit its own association status message specifically to the device that sent the association status message. More generally, the controller causes the configuration message transmitter to transmit a configuration message comprising association information from the working association bugger, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding information stored in the working buffers. Then the processor is directed to block 184 which causes the processor 102 to broadcast an information status message containing information relating to the function of the instant device, as described above.
  • the processor is directed to block 184 which causes it to broadcast a function information message.
  • a system table updating process is executed. This process begins with block 185 which directs the processor 102 to determine whether the contents of the address/function field 44 of the received message match the address/function of an entry in the system table 144. If not, block 187 directs the processor 102 to add and entry to the system table 144, based on the contents of the received association status message.
  • block 189 directs the processor 102 to determine whether the association code associated with the entry in the system table 144 is the same as the association code specified by the contents of the association identifier field 48 of the received association status message. If so, the process is ended. If not, block 191 directs the processor 102 to change to association code associated with the entry in the system table 144 to the code specified by the contents of the association identifier field 48 of the received association status message. In this way, the system table 144 is updated with changes to association status.
  • association status message handler since all devices on the network execute the above described association status message handler, when two devices have the same function code and association identifier, they will repeatedly transmit association status messages to each other, until the association status is changed.
  • a reconfiguration message has generally the same format as an association status message including an address/function field, an instance field and an association status field, along with header and trailer fields.
  • the header field of a reconfiguration message includes a type code identifying whether the reconfiguration message is intended to reconfigure the instance status of the device or the association status of the device.
  • the reconfiguration block 129 includes a first block 201 that determines from the received configuration message, whether the message is intended to reconfigure the instance or association status by determining the value of the type code described above. If the processor determines that the instance is to be changed, block 203 directs the processor to store the contents of the instance field of the reconfiguration message in the working instance field of the device.
  • block 205 directs the processor to store the contents of the association status field of the reconfiguration message in the working association field of the device.
  • the memory or store is operably configured to store configuration information about the apparatus and the controller is operably configured to obtain configuration information from a re-configuration message received at the communication message receiver and store the configuration in the memory.
  • the user interface includes a processor circuit as shown generally at 200 in Figure 12 for implementing the communication message receiver 72, the content acquirer 74, the display signal generator 76, the user input receiver 78 and the communication interface 80 shown in
  • the processor circuit 200 includes a processor 202, a network interface 204, a user input interface 206, a media interface 208 a display interface 210, program memory shown generally at 212 and working memory shown generally at 214, all in communication with the processor 202. All of the above elements of the processor circuit 200 may be hardware elements.
  • the program memory 212 includes blocks of codes that direct the processor 202 to interact with the above hardware elements to effect the functionality of the communication message receiver 52, the controller 54, the annunciator 56 and the configuration message transmitter 58 shown in Figure 6 and to implement the functionality of the communication message receiver 72, the content acquirer 74, the display signal generator 76, the user input receiver 78 and the communication interface 80 shown in Figure 6.
  • the program memory 212 generally includes non- volatile memory and may be pre-programmed at a factory, by burning a Read
  • codes may be preprogrammed, such as operating system codes, and some of the codes may be received encoded in signals received from the network, for example, or in signals received from the media interface 208 in response to reading a computer readable medium such as shown at 216, encoded with codes for directing the processor 202 to carry out the methods described herein.
  • the codes may include a message receiver block 218, a content acquirer block 220, a common instance identifier list generator block 222, a possible instance identifier list generator block 224, a common association identifier list generator block 226, a possible association identifier list generator block 228, a user input receiver block 230, and a communication interface block 232.
  • the message receiver block 218 directs the processor 202 to cooperate with the network interface 204 to implement a physical network layer protocol such that clean, pure messages are received from the network.
  • the message receiver block 218 may thus deal with error correction, resends, and the like to ensure that a good clean message is received.
  • the message receiver block When a good clean message has been received, the message receiver block causes the processor 202 to store the message in a message buffer 240 in the working memory 214.
  • the content acquirer block 220 directs the processor 202 to parse the message stored in the message buffer 240 to acquire the address of the sender and the contents of the configuration field 38, for example.
  • the content acquirer block 220 may be controlled in response to the type (which may be identified in the message header) of message received to selectively acquire the contents of the instance field (46) of a received address claimed message, or the contents of the association identifier field 48, in a received association status message.
  • the contents of the address/function (44) and instance (46) fields are parsed from the received messages by the content acquirer block 220 and are stored in a system table
  • a process executed by the common instance identifier list generator block 222 is shown.
  • the process is initiated upon receipt of an address claimed message or an association status message and begins with first block 252 that directs the processor 202 to scan the system table (242 in Figure 12) to find an entry representing a device having the same functionality. If there is no such entry, the process is ended. If there is such an entry, block 254 directs the processor 202 to determine whether the entry has the same instance identifier as the instance identifier (46) in the received message. If the entry does not have the same instance identifier, the process is ended.
  • block 256 directs the processor 202 to indicate this condition to the user, such as by causing the display interface 210 to produce display signals for controlling a display, such as an LCD display, to cause the system table 242 or a portion of it to be displayed, showing a plurality of entries, for example, with the entries associated with the devices that have the same instance identifier being shown in bold, italics, underlined, blinking or any other form of distinguishable display format.
  • a display such as an LCD display
  • block 258 directs the processor 202 to receive user input from the user input interface 206 shown in Figure 12 to permit the user to select one of the two devices with the same instance identifier.
  • Block 258 may direct the processor 202 to cooperate with the user input interface 206, for example to permit the user to position a cursor to identify and select one of the two devices with the same instance identifier for reconfiguration.
  • block 260 directs the processor 202 to cooperate with the network interface 204 to cause an annunciation message to be transmitted to the selected device. From the foregoing, it will be appreciated that in response, the selected device annunciates a signal to permit a user to physically identify the device. This signal may include the unison flashing of a plurality of LEDs on the selected device, for example.
  • block 262 directs the processor 202 to receive user input identifying a new instance identifier for the selected device. To achieve this, the possible instance identifier list generator block 224 may be invoked.
  • the possible instance identifier list generator block 224 may include a first block 253 that directs the processor 202 to scan the system table 242 to find entries associated with devices having the same function but with different instance identifiers.
  • Block 255 directs the processor 202 to cause the display interface to produce signals to cause the display to present to the user a list of available instance identifiers with used identifiers or non-used identifiers being displayed in a distinctive display format, to present to the user a list possible instance identifiers.
  • available instance identifiers may include the numbers 0, 1 , 2, 3,... etc. in a numerical context, and instances 0 and 1 may have already been used.
  • the numbers 0 and 1 may be shown on the display at 50% of normal display intensity, while the numbers 2, 3, 4, etc. may be shown at normal intensity.
  • Other types of available instance identifiers may alternatively be used, such as, A, B, C 1 ... etc. in an alphabetic context; first, second, third, etc. in a sequential context, or any other unique identifier in a common context. In any event a list of possible instance identifiers is displayed to the user.
  • block 257 directs the processor 202 to receive user input regarding the selection of a new instance identifier for the selected device.
  • block 264 directs the processor 202 to transmit to the selected device a "cease annunciation" message to signal to the selected device that it should stop annunciating its distinctive signal.
  • Block 266 then directs the processor 202 to transmit a re-configuration message containing the new instance identifier to the selected device.
  • the selected device stores the new instance identifier in its working instance buffer 140 shown in Figure 7.
  • the common association identifier list generator block is shown generally at 226. This block is invoked upon receipt of a broadcast association status message at the user interface apparatus 70 as shown in Figure 1.
  • block 270 upon receipt of a broadcast association status message at the user interface, directs the processor 202 to determine whether the association identifier field (48) of the received broadcast association status message contains a code indicating an invalid, or anonymous association. If the contents of the association identifier field do contain a code indicating anonymous association, block 272 directs the processor 202 to cause the display interface 210 to cause the display to display an identification of the device from which the received association status message was sent, and an indication of the function of the device, as indicated by the function field of the received association status message.
  • Block 274 then directs the processor 202 to cooperate with the communication interface block 232 and the network interface 204 to cause an annunciation message to be transmitted to the selected device. From the foregoing, it will be appreciated that in response, the device annunciates a signal to permit a user to physically identify it, as described above.
  • block 276 directs the processor 202 to invoke the possible association identifier list generator block 228.
  • the possible association identifier list generator block 228 includes a first block 277 that directs the processor 202 to cause the display interface 210 to cause the display to present to the user a list of available association identifiers with used identifiers or non-used identifiers being displayed in a distinctive display format, to present to the user a list possible association identifiers.
  • available association identifiers may include the numbers 0, 1, 2, 3,... etc. in a numerical context, and associations 0 and 1 may have already been used. In this case, the numbers 0 and 1 may be shown on the display at 50% of normal display intensity, while the numbers 2, 3, 4, etc. may be shown at normal intensity.
  • association identifiers may alternatively be used, such as, A, B, C 1 ... etc. in an alphabetic context; first, second, third, etc. in a sequential context, or any other unique identifier in a common context. In any event a list of possible association identifiers is displayed to the user.
  • block 278 directs the processor 202 to cooperate with the user input interface 206 to receive user input regarding the selection of an association identifier for the selected device.
  • block 280 directs the processor 202 to transmit to the selected device a cease annunciation message signaling to the selected device that it should stop annunciating its distinctive signal.
  • Block 282 then directs the processor 202 to cooperate with the network interface 204 to transmit a re-configuration message containing the new association identifier to the selected device.
  • the selected device stores the new association identifier in its working association buffer shown in Figure 7.
  • FIG. 17 a process by which the devices 12 and user interface apparatus 70 on the network bus 14 shown in Figure 1 cooperate to deal with two devices having the same instance is shown generally at 300.
  • Figure 17 shows a sequence of events progressing from top to bottom of the figure. Interactions between devices are shown horizontally across the figure.
  • the user is depicted at 71.
  • the user interface apparatus is shown generally at 70.
  • the first DC node 22 is represented by a block labelled Device 1, Function A,
  • the second DC node 28 is represented by a block labelled Device 2, Function A, Instance 0.
  • Function A is set to a code to indicate a DC node.
  • Instance 0 represents a starting instance value stored in the default instance buffer of each respective device.
  • inverter/ chargers (26 and 32) are not shown in Figure 17, in order to focus on interactions between the user interface apparatus 70 and the first and second DC nodes 22 and 28.
  • the network is powered up as shown generally at 302.
  • the devices 22 and 28 are electrically connected to the network bus (14) and on receiving power
  • the first DC node 22 transmits an ISO address claimed message to both the user interface apparatus 70 and the other devices on the network bus 14 including the second DC node 28 as shown at 304.
  • the second DC node 28 transmits ISO address claimed messages to both the first DC node 22 and the user interface apparatus 70, as shown at 306.
  • the user interface apparatus 70 transmits an ISO address claimed message to the first DC node 22 and the second DC node 28 as shown at 308.
  • the events shown by reference numerals 304 - 308 indicate that all devices in the network broadcast an ISO address claimed message before sending or receiving any other messages. It should be noted that the broadcast of ISO address claimed messages in this manner occurs periodically even while the network is powered up, in order to ensure that all devices are kept up to date in the event that devices are taken off of the network or added to the network.
  • the result of events 304, 306, and 308 is that the user interface apparatus 70, the first DC node 22 and the second DC node 28 all have respective different addresses as shown at 310.
  • the user interface apparatus 70 has address X
  • the first DC node 22 has address Y
  • the second DC node has address Z.
  • the user interface apparatus 70 has no instance value although it could have, if two user interfaces were used.
  • both the first DC node and the second DC node 22 and 28 have the same function and the same instance, but different addresses.
  • the process by which the addresses are adjusted in order to be different for each device is shown generally at 150 in Figure 9.
  • the user interface apparatus 70 executes the common instance identifier list generator block shown at 222 in Figure 13 each time an address claimed message or an association status message is received, causing the user interface to display to the user 71 a constantly updated list of devices requiring instancing.
  • the list will include the following entries "Device 1 : DC node, Instance 0" and "Device 2: DC node Instance 0".
  • the user interface apparatus 70 notices that there are two or more devices with the same function having the same instance identifier, as shown generally at 314.
  • the user 71 selects a device shown on the display in order to set its instance.
  • the user interface apparatus 70 sends an annunciation message to the first DC node 22 to cause it to flash its LEDs in unison.
  • the first DC node 22 sends back to the user interface an ISO acknowledgement message.
  • the user interface apparatus 70 causes the display to prompt the user with allowable instance selections as shown at 324. For example, the user may be presented with a list 1 , 2, 3, 4, 5, 6, 7 etc.
  • the user selects one of the allowable instance values, by providing input identifying the number 1 for example, as shown at 328.
  • the user interface apparatus 70 sends a "cease annunciate" message to the first DC node 22 and in response, the first DC node ceases to flash its indicators in unison to thereby assume a state in which it is no longer identifying itself as shown at 332.
  • the first DC node 22 then transmits back to the user interface apparatus 70 an ISO acknowledgement message as shown at 334 and then the user interface apparatus 70 sends a reconfiguration message containing an instance field (46) identifying the instance of the first DC node as the number 1 , as shown at 336.
  • the first DC node 22 sends an ISO acknowledgement message 338.
  • the first DC node 22 then copies the instance value contained in the reconfiguration message into its working instance buffer (140) and then as shown at 340 and 342 the first DC node 22 transmits a new ISO address claimed message using the same address that was established at 310, but with a new instance identifier set to a code indicating instance 1.
  • the first DC node 22 now has an instance identifier stored in its working instance buffer (140) indicating the device is associated with instance 1.
  • the second DC node 28 has an instance identifier stored in its working buffer identifying it as being associated with Instance 0.
  • the fact that the instance identifiers for each of the DC nodes 22 and 28 are not 1 and 2 respectively is irrelevant, as the only requirement is that the instance identifiers of these two devices be different.
  • the sequence of events shown in Figure 17 illustrates, from a system perspective, how the instance of a particular device is changed when two devices initially have the same instance identifier.
  • FIG. 18A to 18G a sequence of events for establishing association status is shown generally at 350, beginning with Figure 18A.
  • the user interface apparatus 70, the first inverter/ charger 26, the first DC node 22, the second inverter charger 32, the second DC node 28 and the user 71 are shown.
  • the network bus 14 is powered up and all of the devices have already established their respective addresses and instancing following the process shown in Figure 17.
  • the inverter/ charger 26, first DC node 22, inverter/ charger 32, and second DC node 28 are configured with association status codes indicating "anonymous".
  • the working association buffer (142) of each device is set to a code indicating "anonymous”.
  • each device except the user interface apparatus 70 communicates with each other device to send association status messages indicating the functions of the devices and an anonymous association status identifier.
  • association status messages indicating the functions of the devices and an anonymous association status identifier.
  • the user interface apparatus 70 receives an association status message from the first inverter/ charger 26 indicating its function as a "DC/IO" device and association status as "anonymous”.
  • the user interface apparatus 70 receives from the first DC node an association status message indicating the function of the device as a "DC in" device and association status as anonymous.
  • the user interface apparatus 70 receives from the second inverter/charger 32 an association status message indicating its function as a DC/IO device and an "anonymous" association status identifier and as shown at 362, the user interface apparatus 70 receives from the second DC node 28 an association status message indicating its function as a "DC in” device and association status as "anonymous”.
  • the first inverter/charger 26 is seeking to establish which DC node it should receive messages from, as shown generally at 364, and the first DC node 22 is trying to establish which of the inverter/chargers 26 and 32 is expecting to receive messages from it, as shown at 366.
  • the second inverter/charger 32 is seeking to determine which of the DC nodes 22 and 28 it will be receiving messages from it, as shown at 368, and the second
  • DC node 28 is seeking to establish which of the inverter/chargers 26 and 32 it should be sending messages to, as shown at 370.
  • association status messages shown in Figures 18A and 18B are received at the user interface apparatus 70, they are stored in the system table (242) of the user interface apparatus 70.
  • the association status is "anonymous" and the function is the same as the function identified in a message that has already been received, such as when the message shown at 360 is received, the Common Association Identifier list generator block shown at 226 in Figure
  • the identifications of the devices having the same function are grouped into two groups, the first group relating to the "DC/IO" function and the second group relating the DC in function.
  • the user decides first to assign association status to the devices in the DC/IO group and arbitrarily selects the first inverter/charger 26, as shown at 374.
  • the user interface apparatus 70 transmits to the first inverter/ charger 26 an "annunciate" message to cause the first inverter/charger 26 to identify itself by flashing its LEDs for example in a unique pattern.
  • the first inverter/charger 26 sends an ISO acknowledgement message back to the user interface apparatus 70 as shown at 378 and as shown at 380 the first inverter/charger
  • the user interface apparatus 70 prompts the user with a list of association labels such as battery 1 , battery 2, battery 3, battery 4, etc. As shown at 384, it is assumed the user arbritarily selects the label "battery 1" and, in response, the user interface apparatus 70 as shown at 386, sends a "cease annunciation" message to the first inverter/charger 26. An ISO acknowledgement is then sent from the first inverter/charger 26 to the user interface apparatus 70 as shown at 388 and in response, as shown at 382, the first inverter/charger 26 stops identifying itself.
  • the user interface apparatus 70 transmits to the first inverter/charger 26 an association configuration message including an association identifier indicating "battery 1" as shown at 392.
  • the first inverter/charger 26 transmits an ISO acknowledgement to the user interface apparatus 70 as shown at 394 and then the first inverter/charger 26 transmits an association status message having an association identifier field (48) with contents indicating battery 1 , to each of the other devices in the network, as shown generally at 396.
  • the first inverter/charger 26 broadcasts to the other devices in the network its new association status.
  • the other devices receiving the association status from the first inverter/charger 26 update their system tables (144) with the new association status.
  • the identification of the first inverter/charger 26 is now removed from the list of devices having conflicting associations leaving three devices on the list, these being the first DC node 22, the second inverter/charger 32, and the second DC node 28.
  • the user may then select the second inverter/charger 32 as shown at 400, which causes the user interface apparatus 70 to transmit an "annunciate" message to the second inverter/ charger 32, as shown at 402.
  • the second inverter/charger 32 transmits an ISO acknowledgement message back to the user interface apparatus 70 as shown at 404.
  • the second inverter/charger 32 begins identifying itself by causing its LEDs to flash on and off.
  • the user interface apparatus 70 then prompts the user with a list of association labels as shown at 408. This may include the list of labels battery 1 , battery 2, battery 3, etc. wherein the label “battery 1 " is shown in a lesser intensity than the remaining association labels to indicate that it has already been used.
  • the user may arbritrarily select the "battery 2" label and in response the user interface apparatus 70 transmits to the second inverter/charger 32 a "cease annunciation" message as shown at 412.
  • the second inverter/charger 32 transmits an ISO acknowledgement message as shown at 414 back to the user interface apparatus 70.
  • the second inverter/charger 32 ceases to identify itself and then as shown at 418, the user interface apparatus 70 transmits an association reconfiguration message containing an association identifier field (48) indicating battery 2, to the second inverter/charger 32.
  • the second inverter/charger 32 transmits an ISO acknowledgement to the user interface apparatus 70.
  • the second inverter/charger 32 transmits to each other device on the network bus 14 an association status message having an association identifier indicating battery 2.
  • the second inverter/charger 32 has been reconfigured to associate it with the second battery.
  • the identification of the second inverter/charger 32 is removed from the list of devices with conflicting associations leaving only two devices left: the first DC node 22 and the second DC node 28.
  • the user is still prompted with a list of devices with conflicting associations as shown at 424.
  • the user may arbritrarily select the first DC node 22 and in response, the user interface apparatus 70, transmits an "annunciate" message to the first DC node 22 as shown at 428.
  • the first DC node 22 transmits an ISO acknowledgement message as shown at 430 back to the user interface apparatus 70.
  • the first DC node 22 begins identifying itself by flashing its LEDs in a recognizable pattern, as shown at 432.
  • the user is prompted with a list of association labels, and since the user has now selected a device having a different function, all of the association labels battery 1 , battery 2, battery 3, etc.
  • the user interface apparatus 70 transmits a cease "annunciate" message 438 to the first DC node 22.
  • the first DC node 22 transmits an ISO acknowledgement message as shown at 440 to the user interface apparatus 70 and as shown at 442 the first DC node stops flashing its LEDs and thus stops identifying itself.
  • the user interface apparatus 70 transmits an association reconfiguration message containing an association code identifying battery 1 with the first DC node 22.
  • the first DC node 22 transmits an ISO acknowledgement message back to the user interface apparatus 70.
  • the first DC node 22 transmits to each other device on the network an association status message indicating that the first DC node 22 is now associated with battery 1.
  • the other devices on the network update their system tables (144) accordingly. Referring to Figure 18G as shown at 452, the user is still prompted with a list of devices with conflicting associations however, now there is only one device in the list, the second DC node 28.
  • the user selects the second DC node 28 as shown at 454 and, in response, the user interface apparatus 70 transmits an annunciation message to the second DC node 28 as shown at 456.
  • the second DC node 28 transmits an ISO acknowledgement message back to the user interface apparatus 70.
  • the second DC node 28 begins identifying itself by flashing its LEDs in a recognizable pattern and as shown at 462, the user interface apparatus 70 causes the user to be prompted with a list of association labels. In the example described thus far, this list will include the labels battery 1 , battery 2, battery 3, etc. however the label "battery 1" will be displayed at reduced intensity to indicate that it has been already used in association with a device having the same function.
  • the user selects the label "battery 2" and the user interface apparatus 70 transmits a "cease annunciation" message to the second DC node 28, as shown at 466.
  • the second DC node 28 transmits an ISO acknowledgement message back to the user interface apparatus 70. Then, as shown at 470, the second DC node 28 stops flashing its LEDs and thus stops identifying itself. As shown at 472, the user interface apparatus 70 transmits an association reconfiguration message containing an association identifier indicating battery 2 to the second DC node 28. In response, as shown at 474, the second DC node 28 transmits an ISO acknowledgement message back to the user interface apparatus 70 and loads the "battery 2" identifier into its working association buffer (142). The second DC node 28 then transmits to each other device on the network an association status message to indicate that it is now associated with battery 2, as shown at 476.
  • the second inverter/ charger 32 and the second DC node 28 communicate to control power transfer to and from the second battery 30 and to control power supplied to the AC output 20 and power drawn from the AC source 34.
  • the first system is provided by the first group of equipment 16 and the second system is provided by the second group of equipment 18.
  • each group of equipment 16 and 18 can provide information to the user interface apparatus 70 which may be configured to display operating characteristics of each group of components such as voltage, current, battery state of charge, etc. so that a user may make an informed decision as to how to control the flow of electrical energy in the overall system.

Abstract

In a network system, network apparatuses are configured to pass configuration messages between each other. Each apparatus establishes and maintains a table listing configuration information for each apparatus in the system. When two devices have the same configuration information a user interface detects this condition and provides for user selection of an instance of the apparatus to distinguish it from other apparatuses of the same type, in the system. Similarly, a user interface provides for a user to associate apparatuses of the network with a group of apparatuses, to establish a group of apparatuses that contribute toward a common goal and to permit more than one group of apparatuses to use the network to communicate with other apparatus in the same group.

Description

ADAPTIVELY CONFIGURABLE NETWORK
BACKGROUND OF THE INVENTION
1. Field of Invention This invention relates to networking and more particularly to adaptively configurable networks.
2. Description of Related Art
When two or more devices with the same functionality are connected to the same network to form a network system, all the devices, including those with differing functionality, and the user of the network must be able to distinguish one device from the other to facilitate control, configuration and use of the network system.
Historically, there have been two classic solutions to this problem. The first solution employs a hardware switch such as a Dual In-line Package (DIP) switch to assign an instance code for the device. The second solution involves configuring software executed by the devices before they are connected to the network.
The first solution above is prone to error because it usually involves either opening the device to set the DIP switch and the second solution above is prone to error because it involves configuring the device, offline, without knowledge of possible conflicts with other devices on the network.
In some peer-to-peer networks there may be no master or host device that holds a representation of the network configuration or that maintains a complete list of all the devices on the network. Each device must maintain its own list. If there are multiple devices that are the same, for example two inverter/chargers, then the devices and the network must provide a way to distinguish between them. In other words, each instance of a device with the same functionality must be identified by the user so that it can be configured, controlled and monitored independently. One protocol (ISO 11783) allows for a device to have an instance but there is no prescribed method for instancing devices.
SUMMARY OF THE INVENTION
To address the above problems a network system is provided with network apparatuses that are configured to pass configuration messages between each other. Each apparatus establishes and maintains a table listing configuration information for each apparatus in the system. When two devices have the same configuration information a user interface detects this condition and provides for user selection of an instance of the apparatus to distinguish it from other apparatuses of the same type. Similarly, a user interface provides for a user to associate apparatuses of the network with a group of apparatuses, to establish a group of apparatuses that contribute toward a common goal and to permit more than one group of apparatuses to use the same network to communicate with other apparatuses in the same group
In accordance with one aspect of the invention, in a system of devices for performing a function in which some of the devices may communicate using a network, there is provided a method of reconfiguring devices on the network, when more than one device has the same configuration information. The method involves receiving configuration messages transmitted by respective devices on the network, the configuration messages each comprising at least one configuration field representing configuration information about the respective devices. The method further includes acquiring from a received configuration message contents of the at least one configuration field and causing to be displayed to the user, identifications of at least two devices, when the contents of the at least one configuration field of the received configuration message from one of the at least two devices are the same as the contents of a corresponding at least one configuration field of a previously received configuration message from another of the at least two devices, to indicate the at least two devices have the same configuration information. The method further includes receiving user input identifying a selected one of the at least two devices having the same configuration information, causing the selected one of the at least two devices having the same configuration information to identify itself to the user, receiving user input identifying new configuration information for the selected one of the at least two devices having the same configuration information and causing the new configuration information to be transmitted to the selected one of the at least two devices.
Acquiring may comprise acquiring the contents of a functionality field and an instance identifier field of the received configuration message.
Causing the identifications to be displayed to the user may comprise generating a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to the configuration messages received from the devices and causing the common instance identifier list to be displayed to the user.
Receiving user input identifying a selected one of the at least two devices may comprise facilitating user selection of a device listed on the common instance identifier list.
Receiving user input identifying new configuration information may comprise receiving user input to select a new instance identifier from a list of possible instance identifiers.
The method may further include removing the selected one of the at least two devices from the common instance identifier list.
Causing the new configuration information to be transmitted to the selected one of the at least two devices may comprise transmitting the new instance identifier to the selected one of the at least two devices. -A-
Causing the selected one of the at least two devices having the same configuration information to stop identifying itself may comprise causing the selected one of the at least two devices having the same configuration information to stop identifying itself after the new configuration information is transmitted to the selected one of the at least two devices.
Acquiring may comprise acquiring the contents of an association identifier field of the received configuration message.
Causing the identifications to be displayed to the user may comprise generating a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from the devices and causing the common association identifier list to be displayed to the user.
Receiving user input identifying a selected one of the at least two devices may comprise facilitating user selection of a device listed on the common association identifier list.
Receiving user input identifying new configuration information may comprise receiving user input to select a new association identifier from a list of possible association identifiers, the new association identifier indicating an association with a group of devices in the system.
Causing the new configuration information to be transmitted to the selected one of the at least two devices may comprise transmitting the new association identifier to the selected one of the at least two devices.
The method may further include removing the selected one of the at least two devices from the common association identifier list. The method may further include causing the selected one of the at least two devices having the same configuration information to stop identifying itself to the user.
Causing the selected one of the at least two devices having the same configuration information to stop identifying itself may comprise causing the selected one of the at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before the new configuration information is transmitted to the selected one of the at least two devices.
In accordance with another aspect of the invention, there is provided a computer readable medium comprising codes for directing a processor circuit to carry out the method and any of its variations above.
In accordance with another aspect of the invention, there is provided a computer readable signal comprising codes for directing a processor circuit to carry out the method and any of its variations above.
In accordance with another aspect of the invention, in a system of devices for performing a function wherein some of the devices may communicate using a network, there is provided an apparatus for reconfiguring devices on the network, when more than one device has the same configuration information. The apparatus includes message receiving means for receiving configuration messages transmitted by respective devices on the network, the configuration messages each comprising at least one configuration field representing configuration information about the respective devices. The apparatus further includes acquiring means for acquiring from a received configuration message contents of the at least one configuration field and display signal generating means for generating signals for causing to be displayed to the user, identifications of at least two devices, when the contents of the at least one configuration field of the received configuration message from one of the at least two devices are the same as the contents of a corresponding at least one configuration field of a previously received configuration message from another of the at least two devices, to indicate the at least two devices have the same configuration information. The apparatus further includes user input receiving means for receiving user input identifying a selected one of the at least two devices having the same configuration information, communication means for communicating with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information identify itself to the user, the user input receiving means being operably configured to receive user input identifying new configuration information for the selected one of the at least two devices having the same configuration information and the communication means being operably configured to cause the new configuration information to be transmitted to the selected one of the at least two devices.
The acquiring means may be operably configured to acquire the contents of a functionality field and an instance identifier field of the received configuration message.
The display signal generating means may be operably configured to generate a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to the configuration messages received from the devices and to generate signals to cause the common instance identifier list to be displayed to the user.
The user input receiving means may be operably configured to facilitate user selection of a device listed on the common instance identifier list.
The user input receiving means may be operably configured to receive user input to select a new instance identifier from a list of possible instance identifiers. The display signal generating means may be operably configured to cause the selected one of the at least two devices to be removed from the common instance identifier list.
The communication means may be operably configured to transmit a new instance identifier to the selected one of the at least two devices.
The communication means may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after the new configuration information is transmitted to the selected one of the at least two devices.
The acquiring means may be operably configured to acquire the contents of an association identifier field of the received configuration message.
The display signal generating means may be operably configured to generate a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from the devices and to generate signals to cause the common association identifier list to be displayed to the user.
The user input receiving means may be operably configured to facilitate user selection of a device listed on the common association identifier list.
The user input receiving means may be operably configured to receive user input to select a new association identifier from a list of possible association identifiers, the new association identifier indicating an association with a group of devices in the system. The communication means may be operably configured to transmit the new association identifier to the selected one of the at least two devices.
The display signal generating means may be operably configured to cause the selected one of the at least two devices to be removed from the common association identifier list.
The communication means may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself to the user.
The communication means may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before the new configuration information is transmitted to the selected one of the at least two devices.
In accordance with another aspect of the invention, in a system of devices for performing a function wherein some of the devices may communicate using a network, there is provided an apparatus for reconfiguring devices on the network, when more than one device has the same configuration information. The apparatus includes a message receiver operably configured to receive configuration messages transmitted by respective devices on the network, the configuration messages each comprising at least one configuration field representing configuration information about the respective devices. The apparatus further includes a content acquirer operably configured to acquire from a received configuration message contents of at least one configuration field and a display signal generator operably configured to generate signals for causing to be displayed to the user, identifications of at least two devices, when the contents of the at least one configuration field of the received configuration message from one of the at least two devices are the same as the contents of a corresponding at least one configuration field of a previously received configuration message from another of the at least two devices, to indicate the at least two devices have the same configuration information. The apparatus further includes a user input receiver operably configured to receive user input identifying a selected one of the at least two devices having the same configuration information, a communication interface operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information identify itself to the user, the user input receiver being operably configured to receive user input identifying new configuration information for the selected one of the at least two devices having the same configuration information and the communication interface being operably configured to cause the new configuration information to be transmitted to the selected one of the at least two devices.
The content acquirer may be operably configured to acquire the contents of a functionality field and an instance identifier field of the received configuration message.
The apparatus may further include a common instance identifier generator operably configured to generate a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to the configuration messages received from the devices.
The display signal generator may be operably configured to generate signals to cause the common instance identifier list to be displayed to the user.
The user input receiver may be operably configured to facilitate user selection of a device listed on the common instance identifier list. The user input receiver may be operably configured to receive user input to select a new instance identifier from a list of possible instance identifiers.
The apparatus may further include a possible instance identifier list generator operably configured to generate a list of possible instance identifiers.
The display signal generator may be configured to cause the list of possible instance identifiers to be displayed to the user.
The common instance identifier list generator may be operably configured to cause the selected one of the at least two devices to be removed from the common instance identifier list.
The communication interface may be operably configured to transmit a new instance identifier to the selected one of the at least two devices.
The communication interface may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after the new configuration information is transmitted to the selected one of the at least two devices.
The content acquirer may be operably configured to acquire the contents of an association identifier field of the received configuration message.
The apparatus may further include a common association identifier list generator operably configured to generate a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from the devices and wherein the display signal generator being operably configured to generate signals to cause the common association identifier list to be displayed to the user.
The user input receiver may be operably configured to facilitate user selection of a device listed on the common association identifier list.
The user input receiver may be operably configured to receive user input selecting a new association identifier from a list of possible association identifiers.
The display signal generator may include a possible association identifier list generator operably configured to generate a list of possible association identifiers.
The display generator may be operably configured to cause the list of possible association identifiers to be displayed to the user.
The communication interface may be operably configured to transmit the new association identifier to the selected one of the at least two devices.
The common association identifier list generator may be operably configured to cause the selected one of the at least two devices to be removed from the common association identifier list.
The communication interface may include a message generator operably configured to generate an identification message for receipt by the at least one of the devices to cause the at least one of the devices to actuate visual indicators thereon in a distinctive pattern and wherein the communication interface includes a transmitter operably configured to transmit the identification message to the at least one of the devices. The communication interface may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself to the user.
The communication interface may be operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before the new configuration information is transmitted to the selected one of the at least two devices.
In accordance with another aspect of the invention, there is provided a function-performing apparatus for performing a function in a system of networked function performing apparatuses. The apparatus includes a communication message receiver operably configured to receive messages including configuration messages from co-networked apparatuses and a configuration message transmitter operably configured to transmit a configuration message to at least one other of the co-networked apparatuses, the configuration message including configuration information about the apparatus. The apparatus further includes an annunciator operable to annunciate a signal for use in physically identifying the apparatus and a controller in communication with the communication message receiver, the configuration message transmitter and the annunciator. The controller is operably configured to control the annunciator in response to a pre-defined message received at the communication message receiver from any of the co-networked apparatuses and is operable to cause the configuration message transmitter to transmit the configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with the apparatus. The controller may be operably configured to control the annunciator to annunciate or not annunciate the signal.
The controller may be further operably configured to receive and obtain function information from function information messages received from co- networked apparatuses having at least some common configuration information.
The configuration information may include information relating to a function of the apparatus and at least one of information relating to an instance of the function in the system and information relating to an association of the apparatus with other apparatuses in the system.
The controller may be configured to maintain a system table identifying the co-networked apparatuses and configuration information thereof, in the system.
The controller may be operably configured to change at least some of the configuration information relating to a co-networked apparatus, in the system table, in response to receiving a communication message from the co- networked apparatus containing configuration information pertaining to the co- networked apparatus, that is different from corresponding configuration information relating to the co-networked apparatus, in the system table.
The apparatus may include a store operably configured to store the configuration information about the apparatus and the controller may be operably configured to obtain configuration information from a re-configuration message received at the communication message receiver and store the configuration information in the store. The controller may be operably configured to cause the configuration message transmitter to periodically transmit a configuration message comprising information stored in the store to the co-networked apparatuses.
The controller may be operably configured to cause the configuration message transmitter to transmit a configuration message comprising association information from the store, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding information stored in the store.
In accordance with another aspect of the invention, there is provided a function-performing apparatus for performing a function in a system of networked function performing apparatuses. The apparatus includes communication message receiving means for receiving messages including configuration messages from co-networked apparatuses and configuration message transmitting means for transmitting a configuration message to at least one other of the co-networked apparatuses, the configuration message including configuration information about the apparatus. The apparatus further includes annunciating means for annunciating a signal for use in physically identifying the apparatus and control means in communication with the communication message receiver, the configuration message transmitter and the annunciator, for controlling the annunciating means in response to a predefined message received at the communication message receiving means; from any of the co-networked apparatuses and for causing the configuration message transmitter to transmit the configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with the apparatus.
The control means may be operably configured to control the annunciating means to annunciate or not annunciate the signal. The control means may include a processor operably configured to receive and obtain function information from function information messages received from co-networked apparatuses having at least some common configuration information.
The configuration information may include information relating to a function of the apparatus and at least one of information relating to an instance of the function in the system and information relating to an association of the apparatus with other apparatuses in the system.
The control means may include a processor operably configured to maintain a system table identifying the co-networked apparatuses and configuration information thereof, in the system.
The processor may be operably configured to change at least some of the configuration information relating to a co-networked apparatus, in the system table, in response to receiving a communication message from the co- networked apparatus containing configuration information pertaining to the co- networked apparatus, that is different from corresponding configuration information relating to the co-networked apparatus, in the system table.
The apparatus may include storing means for storing the configuration information about the apparatus and the control means may include a processor operably configured to obtain configuration information from a reconfiguration message received at the communication message receiving means and store the configuration information in the storing means.
The processor may be operably configured to cause the configuration message transmitting means to periodically transmit a configuration message comprising information stored in the storing means to the co-networked apparatuses. The processor may be operably configured to cause the configuration message transmitting means to transmit a configuration message comprising association information from the storing means, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding information stored in the storing means.
In accordance with another aspect of the invention, there is provided a method of operating a function-performing apparatus for performing a function in a system of networked function performing apparatuses. The method involves associating configuration information with the apparatus, receiving messages including configuration messages from co-networked apparatuses, the configuration messages including configuration information associated with the co-networked apparatus, controlling an annunciator in response to a pre-defined message received from any of the co-networked apparatuses and causing a configuration message transmitter to transmit a configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with the apparatus.
Controlling the annunciator may comprise controlling the annunciator to annunciate or not annunciate the signal.
The method may further involve receiving and obtaining function information from function information messages received from co-networked apparatuses having at least some common configuration information.
The configuration information may include information relating to a function of the apparatus and at least one of information relating to an instance of the function in the system and information relating to an association of the apparatus with other apparatuses in the system.
The method may further involve maintaining a system table identifying the co- networked apparatuses and configuration information thereof, in the system.
The method may further involve changing at least some of the configuration information relating to a co-networked apparatus, in the system table, in response to receiving a communication message from the co-networked apparatus containing configuration information pertaining to the co-networked apparatus, that is different from corresponding the configuration information relating to the co-networked apparatus, in the system table.
The method may further involve storing the configuration information about the apparatus and obtaining configuration information from a re-configuration message received at the apparatus and storing configuration information received from a reconfiguration message as configuration information about the apparatus.
The method may further involve causing a configuration message comprising stored information to be periodically transmitted to the co-networked apparatuses.
The method may further involve transmitting a configuration message comprising stored association information, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding stored information.
A computer readable medium encoded with codes for directing a processor to execute the method claimed in any one of claims 75-83. A computer readable signal encoded with codes for directing a processor to execute the method claimed in any one of claims 75-83.
The embodiments described herein may provide advantages in that the need for special or expensive hardware is obviated, thereby keeping the cost to manufacture devices for use on the network to a minimum. In addition the embodiments described herein may provide users with a simple, user-friendly way of instancing and/or associating devices on a network without the use of tools. In addition the embodiments described herein may provide for instancing and/or associating to be performed from a single location rather than at multiple locations as the need to interact with each device directly is obviated.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
BRIEF DESCRIPTION OF THE DRAWINGS In drawings which illustrate embodiments of the invention,
Figure 1 is a schematic representation of an adaptively configurable network system according to a first embodiment of the invention; Figure 2 is a schematic representation of a configuration message transmitted by devices of the system shown in Figure 1 ;
Figure 3 is a schematic representation of a configuration field of an address claimed message of a configuration message of the type shown in
Figure 2;
Figure 4 is a schematic representation of an association status message of a configuration message of the type shown in Figure 2;
Figure 5 is a block diagram of a generic function performing device of the system shown in Figure 1 ; Figure 6 is a block diagram of a user interface of the system shown in
Figures 1 ; Figure 7 is a block diagram of a processor circuit for implementing the generic function device shown in Figure 5; Figure 8 is a flowchart of an address claimed message broadcast process executed by a processor of the processor circuit shown in Figure
7; Figure 9 is a flowchart of an update process executed by the processor shown in Figure 7; Figure 10 is a flowchart executed by the processor shown in Figure 7 in response to a receive reconfiguration message transmitted on a network bus shown in Figure 1 ; Figure 11 is a flowchart of a reconfiguration process executed by the processor shown in Figure 7; Figure 12 is a block diagram of a processor circuit for implementing the user interface shown in Figure 6; Figure 13 is a flowchart of a process executed by a processor of the processor circuit shown in Figure 11 in response to receiving a configuration message on the network; Figure 14 is a flowchart of a process executed by the processor shown in
Figure 11 for implementing a possible instance identifier list generator function; Figure 15 is a flowchart of a process executed by the processor shown in
Figure 11 in response to receipt of a broadcast association status message received from the network shown in Figure 1 ;
Figure 16 is a flowchart of a process executed by the processor shown in
Figure 11 to implement a possible association list generator function;
Figure 17 is a sequence diagram illustrating a sequence of events taking place at different devices on the network shown in Figure 1 to assign unique instance identifiers to devices having the same function; Figures 18A-G are successive portions of a sequence diagram illustrating a sequence of events taking place at devices on the network shown in Figure 1 , to establish associations between different devices to thereby group the devices for communication with each other to achieve a corresponding overall function.
DETAILED DESCRIPTION
Referring to Figure 1 , an adaptively configurable network system according to a first embodiment of the invention is shown generally at 10. The system 10 includes a plurality of devices shown generally at 12, some of which are in communication with each other through a network bus 14. These devices may be referred to as being co-networked. In the embodiment shown, the system 10 provides a backup power system comprising first and second groups of equipment 16 and 18 for selectively supplying power to an AC output 20. The first group of equipment 16 includes a first DC node 22, a first battery 24, and a first Inverter/Charger 26. The second group of equipment 18 includes a second DC node 28, a second battery 30, and a second Inverter/Charger 32. Both the first and second Inverter/Chargers 26 and 32 are supplied with power from a first AC source 34. The first DC node 22, first inverter charger 26, second DC node 28 and second inverter-charger 32 may be considered function-performing devices, as they perform functions such as monitoring, inverting and charging which contribute toward the goal of the overall system.
In general, the first and second groups of equipment 16 and 18 cooperate to supply power to the AC output 20. When one group is supplying power to the
AC output 20, the other group may be configured to charge the battery associated with that group. This requires cooperation by communicating using the network bus 14. Such communication requires knowledge of the function- performing devices communicating on the network.
Desirably, the network bus 14 is "open" in the sense that it can be used as a general purpose network for function-performing devices of a particular type, such as power control devices, for example, as shown. Also, the network bus 14 is "open" in that a solar powered inverter (not shown), for example or other function-performing devices may be connected thereto, to supply power to the AC output, 20 or to provide power to either the first or second inverter/ chargers 26 and 32 or both of the first and second inverter/ chargers to charge the batteries 24 and 30. The network bus 14 supports connection of additional function-performing devices into the network while existing devices of the network are operating. To achieve this, a messaging scheme is used whereby each function-performing device of the network "claims" a unique address, different devices of the same type are instanced (i.e. separately identified) and/or different devices of the same function are "associated" with a group of devices, such as the first or second groups 16 or 18 described above, for example.
In the embodiment shown, generally, when a new function-performing device is initially connected to the network bus 14, or on power up of the entire system 10, the newly added device, or, in the case of system power up, all of the function-performing devices of the network, broadcast configuration messages having a general format as shown at 36 in Figure 2. Configuration messages 36 generally include at least one configuration field 38 representing configuration information about the device that transmits it. The configuration field 38 may be preceded by a header 40 and may be succeeded by a trailer 42, for example. The header 40 may include an address identifying the intended recipient of the message, for example.
Different configuration messages 36 may employed in the system. For example, one type of configuration message may include an International Standards Organization (ISO) Address Claimed Message according to or similar to that specified in the ISO 11783 protocol. Referring to Figure 3, this type of configuration message 36 includes a configuration field 38 comprising an address/function field 44 and an instance field 46, containing codes identifying the address or function of the device and the instance of the device. If particular addresses or address ranges are associated with different functions, each device may be configured with a lookup table associating addresses or address ranges with function. Thus, either the configuration message or a lookup table may provide codes identifying functions such as DC Node, Inverter/Charger, or Solar Inverter, for example. The instance field
46 may identify an instance such as first, second or third, for example, to represent that the device is the first, second or third device of a given function connected to the network.
Referring to Figure 4, another type of configuration message is an Association
Status Message which has a configuration field 38 comprising the address/function and instance fields 44 and 46 of the Address Claimed Message configuration field and which further includes an association identifier field 48. The association identifier field 48 may be used to hold a code identifying the group of equipment (16 or 18) with which the function- performing device transmitting the message is associated. For example, after the system 10 has been configured as described below, a configuration message 36 sent by the first DC node 22 might have an address/function field 44 containing a code identifying the device as a DC node, an instance field 46 containing a code identifying the device as the first DC node and an association identifier field 48 containing a code associating the device with the first group 16.
Referring to Figure 5, as shown at 50, generically, each function-performing device that may be connected to the network bus (14) has a similar set of components. The set includes a communication message receiver 52, a controller 54, an annunciator 56 and a configuration message transmitter 58.
The controller 54 either has or is in communication with non-volatile memory
60 in which configuration information including codes representing the function 62, instance 64 and association identifier 66 used in configuration messages sent by the device are stored. Initially, at a factory at which the devices are made, the non-volatile memory 60 may be programmed to set the code specifying the function 62 of the device to a representative value and to set the code representing the instance 64 to zero and to set the code representing the association 66 to a pre-defined value, such as 0 representing "anonymous", for example.
When the function-performing device 50 is initially connected to the network bus 14 or when the system is powered up for the first time, the controller 54 causes the configuration message transmitter 58 to transmit an Address Claimed Message of the type shown in Figure 3, as a configuration message 36 indicating its function and instance according to factory set values. When another device having the same function and association code is added to the network, the controller 54 causes the configuration message transmitter 58 to transmit an Association Status Message of the type shown in Figure 4 as a configuration message 36.
Referring back to Figure 1, from the foregoing it will be appreciated that initially, more than one function-performing device having the same function, instance and/or association identifier may be connected to the network. To resolve this situation, the system 10 further includes a user interface apparatus 70 for reconfiguring the other function-performing devices on the network, when more than one function-performing device has the same configuration information.
Referring to Figure 6, the user interface apparatus 70 comprises a message receiver 72, a content acquirer 74, a display signal generator 76, a user input receiver 78 and a communication interface 80. The message receiver 72 is operably configured to receive configuration messages (36) transmitted by respective devices on the network bus (14). The content acquirer 74 is operably configured to acquire from a received configuration message (36) contents of the configuration field (38). The display signal generator 76 is operably configured to generate display signals for causing a display such as shown at 82, to display to the user, identifications of at least two devices, when the contents of the configuration field (38) of the received configuration message (36) from one of the at least two devices are the same as the contents of a corresponding configuration field (38) of a previously received configuration message (36) from another of the at least two devices, to indicate the at least two devices have the same configuration information.
The user input receiver 78 is operably configured to receive user input identifying a selected one of the at least two devices having the same configuration information and the communication interface 80 is operably configured to communicate with the selected one of the at least two devices having the same configuration information to cause the selected one of the at least two devices having the same configuration information to identify itself to the user. This may be done by causing the communication interface 80 to send a pre-defined "annunciate" message to the selected device, for example. Referring to Figure 5, at the selected device, the annunciate message is received by the communication message receiver 52 and forwarded to the controller 54, which actuates the annunciator 56 to annunciate a signaling pattern recognizable by the user, in response to the "annunciate" message to indicate that the user has selected the device. For example, a plurality of visual indicators on the device may act as the annunciator and the controller 54 may cause them to flash in unison to provide a recognizable pattern to the user to identify the device as being one that requires re-configuration. Flashing a plurality of indicators on and off in unison is an unusual condition and this unusual condition distinguishes the device to be re-configured from the other device or other devices with the same configuration information. Alternatively or in addition, an audio annunciator may be used to identify the device to the user.
Referring back to Figure 6, having informed the user of the device that requires re-configuration, the user input receiver 78 is operably configured to receive user input identifying new configuration information such as a new instance identifier or a new association identifier for the selected one of the at least two devices. The communication interface 18 then sends a cease annunciate command to the selected device to cause it to stop identifying itself. Then, the communication interface 80 sends a reconfiguration message to the selected device with the new instance and/or association information. In response, referring to Figure 5, the communication message receiver 52 of the selected one of the at least two devices forwards the new configuration information to the controller 54, causing the controller to alter the configuration information stored in the non-volatile memory 60, according to the new configuration information thereby re-configuring the selected device according to the new configuration information.
If, as a result of the received reconfiguration message, the instance of the selected device was changed, the controller 54 of the selected device causes the configuration message transmitter to again broadcast an address claimed message of the type shown in Figure 3, this time including the new instance information.
If, as a result of the received reconfiguration message, the association status of the selected device was changed, the controller 54 of the selected device may cause the configuration message transmitter 58 to transmit an Association Status Message of the type shown in Figure 4, in which the new configuration information is included in the association identifier field 48. When either an address claimed message or an association status message is transmitted, all of the other devices of the network receive the message and determine from the contents of the configuration field 38, whether or not their function 62 and instance 64 or association 66 memory locations are programmed with codes identifying the same function, instance and/or association as those contained in the received message. If a receiving device has the same function codes and the same instance codes as a received address claimed message, it replies with its own address claimed message. If a receiving device has the same function and association codes, it replies with its own association status message. In general, at least one of the devices is operably configured to transmit a configuration message when a configuration message received from another device in the system has configuration information that has a component that is the same as a corresponding component of configuration information associated with the at least one of the devices. This allows the user interface apparatus 70 to execute the above procedure to reconfigure one of the devices having the same configuration information when a new device is added to the network or when the system 10 is powered up for the first time.
After transmitting the re-configuration message to the selected device, the display signal generator 76 at the user interface changes the display signals so that an identification of the selected device no longer appears on the display as a device that has the same configuration information as another device.
Description of the function devices
Referring to Figures 5 and 7, in general, each function-performing device of the network, such as devices 22, 26, 28 and 30, may include a processor circuit as shown generally at 100 in Figure 7 for implementing the communication message receiver 52, the controller 54, the annunciator 56 and the configuration message transmitter 58 shown in Figure 5. The processor circuit 100 of Figure 7 includes a processor 102, a network interface 104, a function interface 106, an optional media interface 108, program memory shown generally at 112 and working memory shown generally at 114, all in communication with the processor 102. All of the above elements of the processor circuit 100 may be hardware elements. The program memory 112 includes blocks of codes that direct the processor 102 to interact with the above hardware elements to effect the functionality of the communication message receiver 52, the controller 54, the annunciator 56 and the configuration message transmitter 58 and to implement the functionality of the device itself, such as to control an inverter/charger circuit or control a DC node, for example. The program memory 112 generally includes non-volatile memory and may be pre-programmed at a factory, by burning a Read Only Memory chip, for example. Or, some of the codes may be pre-programmed, such as operating system codes and some of the codes may be received encoded in signals received from the network, for example, or in a signal received from the media interface 108 in response to reading a computer readable medium such as shown at 116, encoded with codes for directing the processor circuit to carry out the methods described herein.
The program memory 112, may include codes (not shown) that set up certain buffers and tables in the working memory 114. These may include a message "in" buffer 132 for storing a received message, a content "in" buffer
134 for storing content obtained from a message, default address, function, instance and association buffers shown generally at 136, a working address/function buffer 138, a working instance buffer 140, a working association buffer 142 and a system table 144. The purpose of these buffers and table will be appreciated with reference to the description below.
In the embodiment shown, the codes stored in the program memory may include a message receiver block 118, a content acquirer block 120, a message transmitter block 122, a start-up block 124, an update block 126, an address claimed message broadcaster block 123, an association status message broadcaster block 125, an association status message handler block 127, an annunciator block 128, a reconfiguration block 129 and a function block 130.
The message receiver block 118 directs the processor 102 to cooperate with the network interface 104 to implement a physical network layer protocol such that clean, pure messages are received from the network bus 14. The message receiver block 118 may thus deal with error correction, resends, and the like to ensure that a good clean message is received. When a good clean message has been received, the message receiver block 118 causes the processor 102 to store the message in the working memory 114. The content acquirer block 120 directs the processor 102 to parse the message stored in the working memory 114 to acquire the contents of the configuration field 38.
The message transmitter block 122 directs the processor 102 to cause a message compatible with the network protocol being used, to be transmitted to other devices of the network.
The start-up block 124, generally directs the processor 102 to copy the contents of the default address/function, instance and association buffers 136 into the working address/function, instance and association buffers 138, 140 and 142.
The update block 126 generally directs the processor 102 to update the system table in response to a received address claimed message to maintain a current list of address/function, instance and association of all devices in the network. The controller thus maintains a system table identifying co- networked apparatuses and configuration information thereof.
The address claimed message broadcaster shown at block 123 directs the processor 102 to cause an address claimed message containing information stored in the working address, instance and association buffers 138, 140 and 142 to be periodically broadcast by the device on startup and when a change is made to the system table.
The association status message broadcaster block 125 directs the processor 102 to periodically broadcast an association status message.
The association message handler block 127 directs the processor 102 to respond to received association status messages. The annunciator block 128 generally directs the processor 102 to control the annunciator (56) which may include actuate or deactuate a plurality of visual indicators on the device. The annunciator 56 may cause the visual indicators to flash in unison, for example, in response to a received annunciate or cease annunciate message. Thus, the annunciator may be controlled to annunciate or not annunciate a signal recognizable by a user to identify the device.
The reconfiguration block 129 directs the processor 102 to store a new instance code or a new association code received in a reconfiguration message in a corresponding working buffer.
The function block 130 directs the processor 102 to interact with function circuits, such as inverter/charger circuits (not shown), for example, to receive information through the communication message receiver and to transmit function information to other "associated" apparatus. Such information may include function information such as battery temperature and voltage, for example, received from function information messages received from co- networked apparatuses having common configuration information, such as the same association code. This is how function devices that are part of a group and thus associated with each other communicate information between each other to effect the functionality of the group.
Address Claimed Message Broadcaster Referring to Figures 7 and 8, the address claimed message broadcaster 123 begins with block 154 which directs the processor 102 to invoke the message transmitter block 122 to cause an address claimed message to be transmitted on the network bus (14). The transmission of this message is general in that it is not directed to any particular device of the network.
Block 156 then directs the processor 102 to start a timer and determine whether a response message is received within a period of time, such as 25OmS, for example. If no response message is received in the specified period of time, the address claimed broadcaster process is ended and the device continues to operate with the default address, instance and association identifiers as now stored in the working buffers 138, 140 and 142. As will be appreciated from this description, if another device of the network has the same address it will transmit its own address claimed message, which is the response message sought at block 156.
If at block 156, a response message is received within the specified period of time, another function-performing device in the network has the same address/function. Thus, block 158 directs the processor 102 to determine whether the address/function identified in the response message is the same as the working address/function specified by the contents of the working address/function buffer 138. If the address/function is the same, block 160 directs the processor 102 to determine whether the device that sent the message has higher priority. In this regard, block 160 may include sub-blocks of code (not shown) that use the address/function code contained in the received response message to index a priority table (not shown) that specifies relative priority values for each possible address/function. For example, an inverter/charger function may have a higher priority than a DC Node.
If at block 160, the received response message is found to be from a device providing a function of higher priority, block 162 directs the processor 102 to increment the contents of the working address/function buffer 138 and the processor is directed back to block 154 which causes a new address claimed message to be broadcast. A sub-process depicted by blocks 154 to 162 is executed until the contents of the working address/function buffer 138 are different from the addresses used by each other device on the network, as shown at 158, or until a response message is received from a device having a lower function priority, as shown at 160. If at block 160, the received response message is not from a device having a function assigned a higher priority, block 168 directs the processor 102 to re- broadcast the last broadcast address claimed message, to permit the device that has the lower priority to change its address accordingly. It will be appreciated that this is done automatically at the device that has the lower priority, since that device is running the same process as shown in Figure 8, on its own processor.
If at block 158, the response message does not have the same address as that stored in the working address/function buffer 138, block 164 directs the processor to call the update process shown at 126 in Figure 9.
Update Process
Referring to Figures 7 and 9, the update block shown at 126 is executed from block 164 in Figure 8 and whenever an address claimed message is received from a co-networked apparatus. The update block 126 begins with a first block 170 that directs the processor 102 to check the system table 144 to determine whether it contains an entry having the same address/function as the address/function contained in the received address claimed message.
If a corresponding entry is not found in the system table 144, block 172 directs the processor 102 to add an entry containing the address/function, and instance contained in the received address claimed message to the system table. Optionally, block 174 may succeed block 172 and cause the processor 102 to communicate directly with the device that sent the address claimed message to acquire further information relating to it. As described above, this may include device information such as serial number, model number, or other information. The system table 144 is thus updated with a new entry listing the other device on the network.
If at block 170 the system table does contain an entry having the same address/function contained in the received address claimed message, block 175 directs the processor to determine whether the contents of the instance field 46 of the received address claimed message are the same as the instance associated with the corresponding entry in the table. If so, the process is ended. If the instance identifier is different, block 177 directs the processor to cause the instance associated with this entry to be replaced with the instance identifier contained in the received address claimed message. The instance associated with the corresponding device is thus now reflected by the system table 144.
Association Status Message Handler
Referring to Figures 7 and 10, the association status message handler block is shown generally at 127 and is invoked in response to receipt of an association status message. The association status message handler includes a first block 182 that directs the processor 102 to compare the contents of the address/function field 44 in a received association status message with the contents of the default address/function buffer (see 136 in Figure 7). If at block 182 contents of the address/function field 44 are not the same as those of the default address/function buffer 136, block 184 directs the processor 102 to broadcast a function information message containing information relating to the function of the instant device. For example, if the instant device is a DC node, the information status message may include the association identifier stored in the working association buffer, and voltage, current, temperature and state of charge information relating to a battery.
If at block 182, the contents of the address/received association status message are the same as the contents of the working function buffer (136), block 186 directs the processor 102 to compare the contents of the association identifier field 48 of the received association status message with the contents of the working association buffer 142. If contents of the association identifier field 48 are not the same as those of the working association buffer, the processor 102 is directed to block 184 which causes the processor 102 to broadcast an information status message containing information relating to the function of the instant device, as described above.
If at block 186, the contents of the association identifier field 48 are the same as the contents of the working association buffer 142, block 188 directs the processor 102 to transmit its own association status message specifically to the device that sent the association status message. More generally, the controller causes the configuration message transmitter to transmit a configuration message comprising association information from the working association bugger, to an apparatus from which a received configuration message has been transmitted, when function information and association information in the received configuration message is the same as corresponding information stored in the working buffers. Then the processor is directed to block 184 which causes the processor 102 to broadcast an information status message containing information relating to the function of the instant device, as described above.
If at block 186, the contents of the association identifier field 48 of the received association status message are not the same as the contents of the working association buffer 142, the processor is directed to block 184 which causes it to broadcast a function information message.
After a function information message has been broadcasted, a system table updating process is executed. This process begins with block 185 which directs the processor 102 to determine whether the contents of the address/function field 44 of the received message match the address/function of an entry in the system table 144. If not, block 187 directs the processor 102 to add and entry to the system table 144, based on the contents of the received association status message.
If at block 185, the is a corresponding entry in the system table 144, block 189 directs the processor 102 to determine whether the association code associated with the entry in the system table 144 is the same as the association code specified by the contents of the association identifier field 48 of the received association status message. If so, the process is ended. If not, block 191 directs the processor 102 to change to association code associated with the entry in the system table 144 to the code specified by the contents of the association identifier field 48 of the received association status message. In this way, the system table 144 is updated with changes to association status.
It will be appreciated that since all devices on the network execute the above described association status message handler, when two devices have the same function code and association identifier, they will repeatedly transmit association status messages to each other, until the association status is changed.
Referring to Figure 11 the reconfiguration block is shown generally at 129. The reconfiguration block is executed each time a reconfiguration message is received from the user interface (70 in Figure 1). A reconfiguration message has generally the same format as an association status message including an address/function field, an instance field and an association status field, along with header and trailer fields. The header field of a reconfiguration message includes a type code identifying whether the reconfiguration message is intended to reconfigure the instance status of the device or the association status of the device.
The reconfiguration block 129 includes a first block 201 that determines from the received configuration message, whether the message is intended to reconfigure the instance or association status by determining the value of the type code described above. If the processor determines that the instance is to be changed, block 203 directs the processor to store the contents of the instance field of the reconfiguration message in the working instance field of the device.
Similarly, if the processor determines that the association status is to be changed, block 205 directs the processor to store the contents of the association status field of the reconfiguration message in the working association field of the device.
In effect, the memory or store, is operably configured to store configuration information about the apparatus and the controller is operably configured to obtain configuration information from a re-configuration message received at the communication message receiver and store the configuration in the memory.
User Interface
Referring to Figures 6 and 12, the user interface includes a processor circuit as shown generally at 200 in Figure 12 for implementing the communication message receiver 72, the content acquirer 74, the display signal generator 76, the user input receiver 78 and the communication interface 80 shown in
Figure 6. Referring to Figure 12, the processor circuit 200 includes a processor 202, a network interface 204, a user input interface 206, a media interface 208 a display interface 210, program memory shown generally at 212 and working memory shown generally at 214, all in communication with the processor 202. All of the above elements of the processor circuit 200 may be hardware elements. The program memory 212 includes blocks of codes that direct the processor 202 to interact with the above hardware elements to effect the functionality of the communication message receiver 52, the controller 54, the annunciator 56 and the configuration message transmitter 58 shown in Figure 6 and to implement the functionality of the communication message receiver 72, the content acquirer 74, the display signal generator 76, the user input receiver 78 and the communication interface 80 shown in Figure 6.
Referring to Figure 12, the program memory 212 generally includes non- volatile memory and may be pre-programmed at a factory, by burning a Read
Only Memory chip, for example. Or some of the codes may be preprogrammed, such as operating system codes, and some of the codes may be received encoded in signals received from the network, for example, or in signals received from the media interface 208 in response to reading a computer readable medium such as shown at 216, encoded with codes for directing the processor 202 to carry out the methods described herein.
In the embodiment shown, the codes may include a message receiver block 218, a content acquirer block 220, a common instance identifier list generator block 222, a possible instance identifier list generator block 224, a common association identifier list generator block 226, a possible association identifier list generator block 228, a user input receiver block 230, and a communication interface block 232. The message receiver block 218 directs the processor 202 to cooperate with the network interface 204 to implement a physical network layer protocol such that clean, pure messages are received from the network. The message receiver block 218 may thus deal with error correction, resends, and the like to ensure that a good clean message is received.
When a good clean message has been received, the message receiver block causes the processor 202 to store the message in a message buffer 240 in the working memory 214. The content acquirer block 220 directs the processor 202 to parse the message stored in the message buffer 240 to acquire the address of the sender and the contents of the configuration field 38, for example. The content acquirer block 220 may be controlled in response to the type (which may be identified in the message header) of message received to selectively acquire the contents of the instance field (46) of a received address claimed message, or the contents of the association identifier field 48, in a received association status message.
As address claimed messages are received, the contents of the address/function (44) and instance (46) fields are parsed from the received messages by the content acquirer block 220 and are stored in a system table
242 to identify every device on the network. If a received message has address/function field contents that are the same as those of a device already listed in the system table, the message is ignored. Thus, a system table is produced.
User Interface Algorithms
Referring to Figures 12 and 13, a process executed by the common instance identifier list generator block 222, is shown. The process is initiated upon receipt of an address claimed message or an association status message and begins with first block 252 that directs the processor 202 to scan the system table (242 in Figure 12) to find an entry representing a device having the same functionality. If there is no such entry, the process is ended. If there is such an entry, block 254 directs the processor 202 to determine whether the entry has the same instance identifier as the instance identifier (46) in the received message. If the entry does not have the same instance identifier, the process is ended. If the entry does have the same instance identifier, block 256 directs the processor 202 to indicate this condition to the user, such as by causing the display interface 210 to produce display signals for controlling a display, such as an LCD display, to cause the system table 242 or a portion of it to be displayed, showing a plurality of entries, for example, with the entries associated with the devices that have the same instance identifier being shown in bold, italics, underlined, blinking or any other form of distinguishable display format. The use of the distinguishable display format allows a user to quickly and easily identify devices that have the same instance identifier. Then, block 258 directs the processor 202 to receive user input from the user input interface 206 shown in Figure 12 to permit the user to select one of the two devices with the same instance identifier. Block 258 may direct the processor 202 to cooperate with the user input interface 206, for example to permit the user to position a cursor to identify and select one of the two devices with the same instance identifier for reconfiguration.
After the user has selected a device to reconfigure, block 260 directs the processor 202 to cooperate with the network interface 204 to cause an annunciation message to be transmitted to the selected device. From the foregoing, it will be appreciated that in response, the selected device annunciates a signal to permit a user to physically identify the device. This signal may include the unison flashing of a plurality of LEDs on the selected device, for example.
After the annunciation message has been transmitted, block 262 directs the processor 202 to receive user input identifying a new instance identifier for the selected device. To achieve this, the possible instance identifier list generator block 224 may be invoked.
Referring to Figure 14, the possible instance identifier list generator block 224 may include a first block 253 that directs the processor 202 to scan the system table 242 to find entries associated with devices having the same function but with different instance identifiers. Block 255 directs the processor 202 to cause the display interface to produce signals to cause the display to present to the user a list of available instance identifiers with used identifiers or non-used identifiers being displayed in a distinctive display format, to present to the user a list possible instance identifiers. For example, available instance identifiers may include the numbers 0, 1 , 2, 3,... etc. in a numerical context, and instances 0 and 1 may have already been used. In this case, the numbers 0 and 1 may be shown on the display at 50% of normal display intensity, while the numbers 2, 3, 4, etc. may be shown at normal intensity. Other types of available instance identifiers may alternatively be used, such as, A, B, C1... etc. in an alphabetic context; first, second, third, etc. in a sequential context, or any other unique identifier in a common context. In any event a list of possible instance identifiers is displayed to the user.
With a list of possible instance identifiers on the display, block 257 directs the processor 202 to receive user input regarding the selection of a new instance identifier for the selected device.
Returning back to Figure 13, after the user has selected a new instance identifier, block 264 directs the processor 202 to transmit to the selected device a "cease annunciation" message to signal to the selected device that it should stop annunciating its distinctive signal. Block 266 then directs the processor 202 to transmit a re-configuration message containing the new instance identifier to the selected device. In response, the selected device stores the new instance identifier in its working instance buffer 140 shown in Figure 7.
Referring to Figure 15, the common association identifier list generator block is shown generally at 226. This block is invoked upon receipt of a broadcast association status message at the user interface apparatus 70 as shown in Figure 1.
Referring to Figures 12 and 15, upon receipt of a broadcast association status message at the user interface, block 270 directs the processor 202 to determine whether the association identifier field (48) of the received broadcast association status message contains a code indicating an invalid, or anonymous association. If the contents of the association identifier field do contain a code indicating anonymous association, block 272 directs the processor 202 to cause the display interface 210 to cause the display to display an identification of the device from which the received association status message was sent, and an indication of the function of the device, as indicated by the function field of the received association status message.
Block 274 then directs the processor 202 to cooperate with the communication interface block 232 and the network interface 204 to cause an annunciation message to be transmitted to the selected device. From the foregoing, it will be appreciated that in response, the device annunciates a signal to permit a user to physically identify it, as described above.
After the annunciation message has been transmitted, block 276 directs the processor 202 to invoke the possible association identifier list generator block 228.
Referring to Figures 12 and 16, the possible association identifier list generator block 228 includes a first block 277 that directs the processor 202 to cause the display interface 210 to cause the display to present to the user a list of available association identifiers with used identifiers or non-used identifiers being displayed in a distinctive display format, to present to the user a list possible association identifiers. For example, as with the instance identifiers described above, available association identifiers may include the numbers 0, 1, 2, 3,... etc. in a numerical context, and associations 0 and 1 may have already been used. In this case, the numbers 0 and 1 may be shown on the display at 50% of normal display intensity, while the numbers 2, 3, 4, etc. may be shown at normal intensity. Other types of available association identifiers may alternatively be used, such as, A, B, C1... etc. in an alphabetic context; first, second, third, etc. in a sequential context, or any other unique identifier in a common context. In any event a list of possible association identifiers is displayed to the user.
Referring back to Figure 15, with a list of possible association identifiers on the display, block 278 directs the processor 202 to cooperate with the user input interface 206 to receive user input regarding the selection of an association identifier for the selected device.
After the user selects a new association identifier, block 280 directs the processor 202 to transmit to the selected device a cease annunciation message signaling to the selected device that it should stop annunciating its distinctive signal. Block 282 then directs the processor 202 to cooperate with the network interface 204 to transmit a re-configuration message containing the new association identifier to the selected device. In response, the selected device stores the new association identifier in its working association buffer shown in Figure 7.
Instancing
Referring to Figure 17, a process by which the devices 12 and user interface apparatus 70 on the network bus 14 shown in Figure 1 cooperate to deal with two devices having the same instance is shown generally at 300. Figure 17 shows a sequence of events progressing from top to bottom of the figure. Interactions between devices are shown horizontally across the figure. The user is depicted at 71. The user interface apparatus is shown generally at 70. The first DC node 22 is represented by a block labelled Device 1, Function A,
Instance 0. The second DC node 28 is represented by a block labelled Device 2, Function A, Instance 0. Function A is set to a code to indicate a DC node. Instance 0 represents a starting instance value stored in the default instance buffer of each respective device.
For simplicity, the inverter/ chargers (26 and 32) are not shown in Figure 17, in order to focus on interactions between the user interface apparatus 70 and the first and second DC nodes 22 and 28.
In a first event of the sequence, the network is powered up as shown generally at 302. When the network is powered up the devices 22 and 28 are electrically connected to the network bus (14) and on receiving power, the first DC node 22, for example, transmits an ISO address claimed message to both the user interface apparatus 70 and the other devices on the network bus 14 including the second DC node 28 as shown at 304. Then, the second DC node 28 transmits ISO address claimed messages to both the first DC node 22 and the user interface apparatus 70, as shown at 306. Then, the user interface apparatus 70 transmits an ISO address claimed message to the first DC node 22 and the second DC node 28 as shown at 308. Generally, the events shown by reference numerals 304 - 308 indicate that all devices in the network broadcast an ISO address claimed message before sending or receiving any other messages. It should be noted that the broadcast of ISO address claimed messages in this manner occurs periodically even while the network is powered up, in order to ensure that all devices are kept up to date in the event that devices are taken off of the network or added to the network.
The result of events 304, 306, and 308 is that the user interface apparatus 70, the first DC node 22 and the second DC node 28 all have respective different addresses as shown at 310. As shown at 312, the user interface apparatus 70 has address X, the first DC node 22 has address Y and the second DC node has address Z. The user interface apparatus 70 has no instance value although it could have, if two user interfaces were used. As shown at 312, both the first DC node and the second DC node 22 and 28 have the same function and the same instance, but different addresses. The process by which the addresses are adjusted in order to be different for each device is shown generally at 150 in Figure 9.
During the course of address claiming, the user interface apparatus 70 executes the common instance identifier list generator block shown at 222 in Figure 13 each time an address claimed message or an association status message is received, causing the user interface to display to the user 71 a constantly updated list of devices requiring instancing. In the example shown, the list will include the following entries "Device 1 : DC node, Instance 0" and "Device 2: DC node Instance 0". In this manner, the user interface apparatus 70 notices that there are two or more devices with the same function having the same instance identifier, as shown generally at 314. In response to display of the list, as shown at 316 the user 71 selects a device shown on the display in order to set its instance. As shown at 318, assume the user provides input to arbitrarily select the first DC node having address Y. In response, as shown at 320 the user interface apparatus 70 sends an annunciation message to the first DC node 22 to cause it to flash its LEDs in unison. As shown at 322, the first DC node 22 sends back to the user interface an ISO acknowledgement message. In response, the user interface apparatus 70 causes the display to prompt the user with allowable instance selections as shown at 324. For example, the user may be presented with a list 1 , 2, 3, 4, 5, 6, 7 etc. As shown at 326, the user selects one of the allowable instance values, by providing input identifying the number 1 for example, as shown at 328. In response, as shown at 330, the user interface apparatus 70 sends a "cease annunciate" message to the first DC node 22 and in response, the first DC node ceases to flash its indicators in unison to thereby assume a state in which it is no longer identifying itself as shown at 332. The first DC node 22 then transmits back to the user interface apparatus 70 an ISO acknowledgement message as shown at 334 and then the user interface apparatus 70 sends a reconfiguration message containing an instance field (46) identifying the instance of the first DC node as the number 1 , as shown at 336. In response, the first DC node 22 sends an ISO acknowledgement message 338. The first DC node 22 then copies the instance value contained in the reconfiguration message into its working instance buffer (140) and then as shown at 340 and 342 the first DC node 22 transmits a new ISO address claimed message using the same address that was established at 310, but with a new instance identifier set to a code indicating instance 1.
Thus, the first DC node 22 now has an instance identifier stored in its working instance buffer (140) indicating the device is associated with instance 1. Similarly, the second DC node 28 has an instance identifier stored in its working buffer identifying it as being associated with Instance 0. The fact that the instance identifiers for each of the DC nodes 22 and 28 are not 1 and 2 respectively is irrelevant, as the only requirement is that the instance identifiers of these two devices be different. Thus, the sequence of events shown in Figure 17 illustrates, from a system perspective, how the instance of a particular device is changed when two devices initially have the same instance identifier.
Assigning Association Status Referring to Figures 18A to 18G, a sequence of events for establishing association status is shown generally at 350, beginning with Figure 18A. In this figure, the user interface apparatus 70, the first inverter/ charger 26, the first DC node 22, the second inverter charger 32, the second DC node 28 and the user 71 are shown. As shown generally at 352, the network bus 14 is powered up and all of the devices have already established their respective addresses and instancing following the process shown in Figure 17. Initially, the inverter/ charger 26, first DC node 22, inverter/ charger 32, and second DC node 28 are configured with association status codes indicating "anonymous". In other words, the working association buffer (142) of each device is set to a code indicating "anonymous". Consequently, as shown generally at 354, each device except the user interface apparatus 70 communicates with each other device to send association status messages indicating the functions of the devices and an anonymous association status identifier. As these messages are exchanged, as shown at 356, 358 in Figure 18A, and at 360 and 362 in Figure 18B, the user interface apparatus 70 receives an association status message from the first inverter/ charger 26 indicating its function as a "DC/IO" device and association status as "anonymous". As shown at 358, the user interface apparatus 70 receives from the first DC node an association status message indicating the function of the device as a "DC in" device and association status as anonymous. As shown at 360, the user interface apparatus 70 receives from the second inverter/charger 32 an association status message indicating its function as a DC/IO device and an "anonymous" association status identifier and as shown at 362, the user interface apparatus 70 receives from the second DC node 28 an association status message indicating its function as a "DC in" device and association status as "anonymous". Referring to Figures 18A and 18B, in effect, the first inverter/charger 26 is seeking to establish which DC node it should receive messages from, as shown generally at 364, and the first DC node 22 is trying to establish which of the inverter/chargers 26 and 32 is expecting to receive messages from it, as shown at 366. In addition, the second inverter/charger 32 is seeking to determine which of the DC nodes 22 and 28 it will be receiving messages from it, as shown at 368, and the second
DC node 28 is seeking to establish which of the inverter/chargers 26 and 32 it should be sending messages to, as shown at 370.
As the association status messages shown in Figures 18A and 18B are received at the user interface apparatus 70, they are stored in the system table (242) of the user interface apparatus 70. When a second association status message is received, in which the association status is "anonymous" and the function is the same as the function identified in a message that has already been received, such as when the message shown at 360 is received, the Common Association Identifier list generator block shown at 226 in Figure
15 is executed to cause the user to be prompted with a list of devices with conflicting associations, as shown at 372 in Figure 18C. Thus, since there are two devices relating to a "DC/IO" function and two devices relating to a "DC in function" each of these devices will be listed in a list displayed to the user.
The identifications of the devices having the same function are grouped into two groups, the first group relating to the "DC/IO" function and the second group relating the DC in function.
In this example, assume the user decides first to assign association status to the devices in the DC/IO group and arbitrarily selects the first inverter/charger 26, as shown at 374. In response, as shown at 376, the user interface apparatus 70 transmits to the first inverter/ charger 26 an "annunciate" message to cause the first inverter/charger 26 to identify itself by flashing its LEDs for example in a unique pattern. In response, the first inverter/charger 26 sends an ISO acknowledgement message back to the user interface apparatus 70 as shown at 378 and as shown at 380 the first inverter/charger
26 identifies itself by annunciating a unique visual or audible signaling pattern.
At about the same time, as shown at 382, the user interface apparatus 70 prompts the user with a list of association labels such as battery 1 , battery 2, battery 3, battery 4, etc. As shown at 384, it is assumed the user arbritarily selects the label "battery 1" and, in response, the user interface apparatus 70 as shown at 386, sends a "cease annunciation" message to the first inverter/charger 26. An ISO acknowledgement is then sent from the first inverter/charger 26 to the user interface apparatus 70 as shown at 388 and in response, as shown at 382, the first inverter/charger 26 stops identifying itself.
Referring to Figure 18D, at about the same time, the user interface apparatus 70 transmits to the first inverter/charger 26 an association configuration message including an association identifier indicating "battery 1" as shown at 392. In response, the first inverter/charger 26 transmits an ISO acknowledgement to the user interface apparatus 70 as shown at 394 and then the first inverter/charger 26 transmits an association status message having an association identifier field (48) with contents indicating battery 1 , to each of the other devices in the network, as shown generally at 396. In effect, the first inverter/charger 26 broadcasts to the other devices in the network its new association status. The other devices receiving the association status from the first inverter/charger 26 update their system tables (144) with the new association status. The identification of the first inverter/charger 26 is now removed from the list of devices having conflicting associations leaving three devices on the list, these being the first DC node 22, the second inverter/charger 32, and the second DC node 28. Still referring to Figure 18D, the user may then select the second inverter/charger 32 as shown at 400, which causes the user interface apparatus 70 to transmit an "annunciate" message to the second inverter/ charger 32, as shown at 402. In response, the second inverter/charger 32 transmits an ISO acknowledgement message back to the user interface apparatus 70 as shown at 404. As shown at 406, the second inverter/charger 32 begins identifying itself by causing its LEDs to flash on and off.
Referring to Figure 18E, the user interface apparatus 70 then prompts the user with a list of association labels as shown at 408. This may include the list of labels battery 1 , battery 2, battery 3, etc. wherein the label "battery 1 " is shown in a lesser intensity than the remaining association labels to indicate that it has already been used. In response, as shown at 410, the user may arbritrarily select the "battery 2" label and in response the user interface apparatus 70 transmits to the second inverter/charger 32 a "cease annunciation" message as shown at 412. In response, the second inverter/charger 32 transmits an ISO acknowledgement message as shown at 414 back to the user interface apparatus 70.
As shown at 416, the second inverter/charger 32 ceases to identify itself and then as shown at 418, the user interface apparatus 70 transmits an association reconfiguration message containing an association identifier field (48) indicating battery 2, to the second inverter/charger 32. In response, as shown at 420, the second inverter/charger 32 transmits an ISO acknowledgement to the user interface apparatus 70. Then, as shown generally at 422, the second inverter/charger 32 transmits to each other device on the network bus 14 an association status message having an association identifier indicating battery 2. Thus, the second inverter/charger 32 has been reconfigured to associate it with the second battery.
Referring to Figure 18F, the identification of the second inverter/charger 32 is removed from the list of devices with conflicting associations leaving only two devices left: the first DC node 22 and the second DC node 28. Thus, the user is still prompted with a list of devices with conflicting associations as shown at 424.
As shown at 426, the user may arbritrarily select the first DC node 22 and in response, the user interface apparatus 70, transmits an "annunciate" message to the first DC node 22 as shown at 428. In response, the first DC node 22 transmits an ISO acknowledgement message as shown at 430 back to the user interface apparatus 70. Then, in response to the "annunciate" message received at 428, the first DC node 22 begins identifying itself by flashing its LEDs in a recognizable pattern, as shown at 432. Then, as shown at 434, the user is prompted with a list of association labels, and since the user has now selected a device having a different function, all of the association labels battery 1 , battery 2, battery 3, etc. are shown in full intensity, since they are all available. As shown at 436, assume the user selects the label "battery 1" in which case the user interface apparatus 70 transmits a cease "annunciate" message 438 to the first DC node 22. In response, the first DC node 22 transmits an ISO acknowledgement message as shown at 440 to the user interface apparatus 70 and as shown at 442 the first DC node stops flashing its LEDs and thus stops identifying itself.
As shown at 446, the user interface apparatus 70 then transmits an association reconfiguration message containing an association code identifying battery 1 with the first DC node 22. In response, as shown at 448, the first DC node 22 transmits an ISO acknowledgement message back to the user interface apparatus 70. Then, as shown at 450, the first DC node 22 transmits to each other device on the network an association status message indicating that the first DC node 22 is now associated with battery 1. In response, the other devices on the network update their system tables (144) accordingly. Referring to Figure 18G as shown at 452, the user is still prompted with a list of devices with conflicting associations however, now there is only one device in the list, the second DC node 28.
The user selects the second DC node 28 as shown at 454 and, in response, the user interface apparatus 70 transmits an annunciation message to the second DC node 28 as shown at 456. In response, as shown at 458, the second DC node 28 transmits an ISO acknowledgement message back to the user interface apparatus 70. Then as shown at 460, the second DC node 28 begins identifying itself by flashing its LEDs in a recognizable pattern and as shown at 462, the user interface apparatus 70 causes the user to be prompted with a list of association labels. In the example described thus far, this list will include the labels battery 1 , battery 2, battery 3, etc. however the label "battery 1" will be displayed at reduced intensity to indicate that it has been already used in association with a device having the same function. As shown at 464, the user then selects the label "battery 2" and the user interface apparatus 70 transmits a "cease annunciation" message to the second DC node 28, as shown at 466.
As shown at 468, the second DC node 28 transmits an ISO acknowledgement message back to the user interface apparatus 70. Then, as shown at 470, the second DC node 28 stops flashing its LEDs and thus stops identifying itself. As shown at 472, the user interface apparatus 70 transmits an association reconfiguration message containing an association identifier indicating battery 2 to the second DC node 28. In response, as shown at 474, the second DC node 28 transmits an ISO acknowledgement message back to the user interface apparatus 70 and loads the "battery 2" identifier into its working association buffer (142). The second DC node 28 then transmits to each other device on the network an association status message to indicate that it is now associated with battery 2, as shown at 476. In response, all of the remaining devices in the network update their system tables to indicate that DC node 28 is associated with battery 2. As a result of updating the system tables (144 and 242) and working association buffers (142) of each device in the network according to the above process, individual devices are made to be responsive to devices having different functions but which have the same association status to thereby cause the first DC node 22 and the first inverter/ charger 26 for example, to communicate with each other to control the amount of energy transferred to and from the first battery 24 and the amount of energy supplied to the AC output 20 and the amount of energy received from the AC source 34.
Similarly, the second inverter/ charger 32 and the second DC node 28 communicate to control power transfer to and from the second battery 30 and to control power supplied to the AC output 20 and power drawn from the AC source 34. Thus, in one sense, two separate systems may be established on using the same network where the first system is provided by the first group of equipment 16 and the second system is provided by the second group of equipment 18. At the same time, however, each group of equipment 16 and 18 can provide information to the user interface apparatus 70 which may be configured to display operating characteristics of each group of components such as voltage, current, battery state of charge, etc. so that a user may make an informed decision as to how to control the flow of electrical energy in the overall system.
While specific embodiments of the invention have been described and illustrated, such embodiments should be considered illustrative of the invention only and not as limiting the invention as construed in accordance with the accompanying claims.

Claims

What is claimed is:
1. In a system of devices for performing a function wherein some of said devices may communicate using a network, a method of reconfiguring devices on the network, when more than one device has the same configuration information, the method comprising:
receiving configuration messages transmitted by respective devices on said network, said configuration messages each comprising at least one configuration field representing configuration information about said respective devices;
acquiring from a received configuration message contents of said at least one configuration field;
causing to be displayed to the user, identifications of at least two devices, when the contents of said at least one configuration field of said received configuration message from one of said at least two devices are the same as the contents of a corresponding said at least one configuration field of a previously received configuration message from another of said at least two devices, to indicate said at least two devices have the same configuration information;
receiving user input identifying a selected one of said at least two devices having the same configuration information;
causing said selected one of said at least two devices having the same configuration information to identify itself to the user; receiving user input identifying new configuration information for said selected one of said at least two devices having the same configuration information; and
causing said new configuration information to be transmitted to said selected one of said at least two devices.
2. The method of claim 1 wherein acquiring comprises acquiring the contents of a functionality field and an instance identifier field of said received configuration message.
3. The method of claim 2 wherein causing said identifications to be displayed to the user comprises generating a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to said configuration messages received from said devices and causing said common instance identifier list to be displayed to said user.
4. The method of claim 3 wherein receiving user input identifying a selected one of said at least two devices comprises facilitating user selection of a device listed on said common instance identifier list.
5. The method of claim 4 wherein receiving user input identifying new configuration information comprises receiving user input to select a new instance identifier from a list of possible instance identifiers.
6. The method of claim 5 further comprising removing said selected one of said at least two devices from said common instance identifier list.
7. The method of claim 1 wherein causing said new configuration information to be transmitted to said selected one of said at least two devices comprises transmitting said new instance identifier to said selected one of said at least two devices.
8. The method of claim 1 wherein causing said selected one of said at least two devices having the same configuration information to stop identifying itself comprises causing said selected one of said at least two devices having the same configuration information to stop identifying itself after said new configuration information is transmitted to said selected one of said at least two devices.
9. The method of claim 1 wherein acquiring comprises acquiring the contents of an association identifier field of said received configuration message.
10. The method of claim 9 wherein causing said identifications to be displayed to the user comprises generating a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from said devices and causing said common association identifier list to be displayed to said user.
11. The method of claim 10 wherein receiving user input identifying a selected one of said at least two devices comprises facilitating user selection of a device listed on said common association identifier list.
12. The method of claim 11 wherein receiving user input identifying new configuration information comprises receiving user input to select a new association identifier from a list of possible association identifiers, said new association identifier indicating an association with a group of devices in said system.
13. The method of claim 12 wherein causing said new configuration information to be transmitted to said selected one of said at least two devices comprises transmitting said new association identifier to said selected one of said at least two devices.
14. The method of claim 13 further comprising removing said selected one of said at least two devices from said common association identifier list.
15. The method of claim 1 further comprising causing said selected one of said at least two devices having the same configuration information to stop identifying itself to the user.
16. The method of claim 15 wherein causing said selected one of said at least two devices having the same configuration information to stop identifying itself comprises causing said selected one of said at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before said new configuration information is transmitted to said selected one of said at least two devices.
17. A computer readable medium comprising codes for directing a processor circuit to carry out the method of any one of claims 1-16.
18. A computer readable signal comprising codes for directing a processor circuit to carry out the method of any one of claims 1 -16.
19. In a system of devices for performing a function wherein some of said devices may communicate using a network, an apparatus for reconfiguring devices on the network, when more than one device has the same configuration information, the apparatus comprising: message receiving means for receiving configuration messages transmitted by respective devices on said network, said configuration messages each comprising at least one configuration field representing configuration information about said respective devices;
acquiring means for acquiring from a received configuration message contents of said at least one configuration field;
display signal generating means for generating signals for causing to be displayed to the user, identifications of at least two devices, when the contents of said at least one configuration field of said received configuration message from one of said at least two devices are the same as the contents of a corresponding said at least one configuration field of a previously received configuration message from another of said at least two devices, to indicate said at least two devices have the same configuration information;
user input receiving means for receiving user input identifying a selected one of said at least two devices having the same configuration information;
communication means for communicating with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information identify itself to the user;
said user input receiving means being operably configured to receive user input identifying new configuration information for said selected one of said at least two devices having the same configuration information; and
said communication means being operably configured to cause said new configuration information to be transmitted to said selected one of said at least two devices.
20. The apparatus of claim 19 wherein said acquiring means is operably configured to acquire the contents of a functionality field and an instance identifier field of said received configuration message.
21. The apparatus of claim 20 wherein said display signal generating means is operably configured to generate a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to said configuration messages received from said devices and to generate signals to cause said common instance identifier list to be displayed to said user.
22. The apparatus of claim 21 wherein said user input receiving means is operably configured to facilitate user selection of a device listed on said common instance identifier list.
23. The apparatus of claim 22 wherein said user input receiving means is operably configured to receive user input to select a new instance identifier from a list of possible instance identifiers.
24. The apparatus of claim 22 wherein said display signal generating means is operably configured to cause said selected one of said at least two devices to be removed from said common instance identifier list.
25. The apparatus of claim 19 wherein said communication means is operably configured to transmit a new instance identifier to said selected one of said at least two devices.
26. The apparatus of claim 19 wherein said communications means is operably configured to communicate with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information to stop identifying itself after said new configuration information is transmitted to said selected one of said at least two devices.
27. The apparatus of claim 19 wherein said acquiring means is operably configured to acquire the contents of an association identifier field of said received configuration message.
28. The apparatus of claim 27 wherein said display signal generating means is operably configured to generate a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from said devices and to generate signals to cause said common association identifier list to be displayed to said user.
29. The apparatus of claim 28 wherein said user input receiving means is operably configured to facilitate user selection of a device listed on said common association identifier list.
30. The apparatus of claim 29 wherein said user input receiving means is operably configured to receive user input to select a new association identifier from a list of possible association identifiers, said new association identifier indicating an association with a group of devices in said system.
31. The apparatus of claim 30 wherein said communication means is operably configured to transmit said new association identifier to said selected one of said at least two devices.
32. The apparatus of claim 31 wherein said display signal generating means is operably configured to cause said selected one of said at least two devices to be removed from said common association identifier list.
33. The apparatus of claim 19 wherein said communication means is operably configured to communicate with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information to stop identifying itself to the user.
34. The apparatus of claim 33 wherein said communication means is operably configured to communicate with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before said new configuration information is transmitted to said selected one of said at least two devices.
35. In a system of devices for performing a function wherein some of said devices may communicate using a network, an apparatus for reconfiguring devices on the network, when more than one device has the same configuration information, the apparatus comprising:
a message receiver operably configured to receive configuration messages transmitted by respective devices on said network, said configuration messages each comprising at least one configuration field representing configuration information about said respective devices;
a content acquirer operably configured to acquire from a received configuration message contents of said at least one configuration field;
a display signal generator operably configured to generate signals for causing to be displayed to the user, identifications of at least two devices, when the contents of said at least one configuration field of said received configuration message from one of said at least two devices are the same as the contents of a corresponding said at least one configuration field of a previously received configuration message from another of said at least two devices, to indicate said at least two devices have the same configuration information;
a user input receiver operably configured to receive user input identifying a selected one of said at least two devices having the same configuration information;
a communication interface operably configured to communicate with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information identify itself to the user;
said user input receiver being operably configured to receive user input identifying new configuration information for said selected one of said at least two devices having the same configuration information; and said communication interface being operably configured to cause said new configuration information to be transmitted to said selected one of said at least two devices.
36. The apparatus of claim 35 wherein said content acquirer is operably configured to acquire the contents of a functionality field and an instance identifier field of said received configuration message.
37. The apparatus of claim 36 further comprising a common instance identifier generator operably configured to generate a common instance identifier list of devices having the same functionality and the same instance identifiers, in response to said configuration messages received from said devices.
38. The apparatus of claim 37 wherein said display signal generator is operably configured to generate signals to cause said common instance identifier list to be displayed to said user.
39. The apparatus of claim 38 wherein said user input receiver is operably configured to facilitate user selection of a device listed on said common instance identifier list.
40. The apparatus of claim 39 wherein said user input receiver is operably configured to receive user input to select a new instance identifier from a list of possible instance identifiers.
41. The apparatus of claim 40 further comprising a possible instance identifier list generator operably configured to generate a list of possible instance identifiers
42. The apparatus of claim 41 wherein said display signal generator is configured to cause said list of possible instance identifiers to be displayed to the user.
43. The apparatus of claim 41 wherein said common instance identifier list generator is operably configured to cause said selected one of said at least two devices to be removed from said common instance identifier list.
44. The apparatus of claim 35 wherein said communication interface is operably configured to transmit a new instance identifier to said selected one of said at least two devices.
45. The apparatus of claim 35 wherein said communication interface is operably configured to communicate with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information to stop identifying itself after said new configuration information is transmitted to said selected one of said at least two devices.
46. The apparatus of claim 35 wherein said content acquirer is operably configured to acquire the contents of an association identifier field of said received configuration message.
47. The apparatus of claim 46 further comprising a common association identifier list generator operably configured to generate a common association identifier list identifying devices having the same association identifier, in response to configuration messages received from said devices and wherein said display signal generator being operably configured to generate signals to cause said common association identifier list to be displayed to said user.
48. The apparatus of claim 47 wherein said user input receiver is operably configured to facilitate user selection of a device listed on said common association identifier list.
49. The apparatus of claim 48 wherein said user input receiver is operably configured to receive user input selecting a new association identifier from a list of possible association identifiers.
50. The apparatus of claim 49 wherein said display signal generator includes a possible association identifier list generator operably configured to generate a list of possible association identifiers.
51. The apparatus of claim 49 wherein said display generator is operably configured to cause said list of possible association identifiers to be displayed to the user.
52. The apparatus of claim 49 wherein said communication interface is operably configured to transmit said new association identifier to said selected one of said at least two devices.
53. The apparatus of claim 52 wherein said common association identifier list generator is operably configured to cause said selected one of said at least two devices to be removed from said common association identifier list.
54. The apparatus of claim 35 wherein said communication interface includes a message generator operably configured to generate an identification message for receipt by said at least one of said devices to cause said at least one of said devices to actuate visual indicators thereon in a distinctive pattern and wherein said communication interface includes a transmitter operably configured to transmit said identification message to said at least one of said devices.
55. The apparatus of claim 35 wherein said communication interface is operably configured to communicate with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information to stop identifying itself to the user.
56. The apparatus of claim 55 wherein said communication interface is operably configured to communicate with said selected one of said at least two devices having the same configuration information to cause said selected one of said at least two devices having the same configuration information to stop identifying itself after user input identifying new configuration information is received and before said new configuration information is transmitted to said selected one of said at least two devices.
57. A function-performing apparatus for performing a function in a system of networked function performing apparatuses, the apparatus comprising:
a communication message receiver operably configured to receive messages including configuration messages from co- networked apparatuses;
a configuration message transmitter operably configured to transmit a configuration message to at least one other of said co-networked apparatuses, said configuration message including configuration information associated with said apparatus; an annunciator operable to annunciate a signal for use in physically identifying said apparatus; and
a controller in communication with said communication message receiver, said configuration message transmitter and said annunciator, said controller being operably configured to:
control said annunciator in response to a pre-defined message received at said communication message receivers; from any of said co-networked apparatuses; and operable to:
cause said configuration message transmitter to transmit said configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with said apparatus.
58. The apparatus of claim 57 wherein said controller is operably configured to control said annunciator to annunciate or not annunciate said signal.
59. The apparatus of claim 57 wherein said controller is further operably configured to receive and obtain function information from function information messages received from co-networked apparatuses having at least some common configuration information.
60. The apparatus of claim 57 wherein said configuration information includes information relating to a function of said apparatus and at least one of information relating to an instance of said function in said system and information relating to an association of said apparatus with other apparatuses in said system.
61. The apparatus of claim 57 wherein said controller is configured to maintain a system table identifying said co-networked apparatuses and configuration information thereof, in said system.
62. The apparatus of claim 61 wherein said controller is operably configured to change at least some of said configuration information relating to a co-networked apparatus, in said system table, in response to receiving a communication message from said co-networked apparatus containing configuration information pertaining to said co- networked apparatus, that is different from corresponding said configuration information relating to said co-networked apparatus, in said system table.
63. The apparatus of claim 57 wherein said apparatus includes a store operably configured to store said configuration information about said apparatus and wherein said controller is operably configured to obtain configuration information from a re-configuration message received at said communication message receiver and store said configuration information in said store.
64. The apparatus of claim 63 wherein said controller is operably configured to cause said configuration message transmitter to periodically transmit a configuration message comprising information stored in said store to said co-networked apparatuses.
65. The apparatus of claim 63 wherein said controller is operably configured to cause said configuration message transmitter to transmit a configuration message comprising association information from said store, to an apparatus from which a received configuration message has been transmitted, when function information and association information in said received configuration message is the same as corresponding information stored in said store.
66. A function-performing apparatus for performing a function in a system of networked function performing apparatuses, the apparatus comprising:
communication message receiving means for receiving messages including configuration messages from co-networked apparatuses;
configuration message transmitting means for transmitting a configuration message to at least one other of said co- networked apparatuses, said configuration message including configuration information about said apparatus;
annunciating means for annunciating a signal for use in physically identifying said apparatus; and
control means in communication with said communication message receiver, said configuration message transmitter and said annunciator, for:
controlling said annunciating means in response to a predefined message received at said communication message receiving means; from any of said co-networked apparatuses; and for:
causing said configuration message transmitter to transmit said configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with said apparatus.
67. The apparatus of claim 66 wherein said control means is operably configured to control said annunciating means to annunciate or not annunciate said signal.
68. The apparatus of claim 66 wherein said control means includes a processor operably configured to receive and obtain function information from function information messages received from co- networked apparatuses having at least some common configuration information.
69. The apparatus of claim 66 wherein said configuration information includes information relating to a function of said apparatus and at least one of information relating to an instance of said function in said system and information relating to an association of said apparatus with other apparatuses in said system.
70. The apparatus of claim 66 wherein said control means includes a processor operably configured to maintain a system table identifying said co-networked apparatuses and configuration information thereof, in said system.
71. The apparatus of claim 70 wherein said processor is operably configured to change at least some of said configuration information relating to a co-networked apparatus, in said system table, in response to receiving a communication message from said co-networked apparatus containing configuration information pertaining to said co- networked apparatus, that is different from corresponding said configuration information relating to said co-networked apparatus, in said system table.
72. The apparatus of claim 66 wherein said apparatus includes storing means for storing said configuration information about said apparatus and wherein said control means includes a processor operably configured to obtain configuration information from a re-configuration message received at said communication message receiving means and store said configuration information in said storing means.
73. The apparatus of claim 72 wherein said processor is operably configured to cause said configuration message transmitting means to periodically transmit a configuration message comprising information stored in said storing means to said co-networked apparatuses.
74. The apparatus of claim 72 wherein said processor is operably configured to cause said configuration message transmitting means to transmit a configuration message comprising association information from said storing means, to an apparatus from which a received configuration message has been transmitted, when function information and association information in said received configuration message is the same as corresponding information stored in said storing means.
75. A method of operating a function-performing apparatus for performing a function in a system of networked function performing apparatuses, the method comprising:
associating configuration information with the apparatus;
receiving messages including configuration messages from co- networked apparatuses, said configuration messages including configuration information associated with said co-networked apparatus;
controlling an annunciator in response to a pre-defined message received from any of said co-networked apparatuses; and
causing a configuration message transmitter to transmit a configuration message when at least some configuration information contained in a configuration message received from another co-networked apparatus is the same as corresponding configuration information associated with said apparatus.
76. The method of claim 75 wherein controlling said annunciator comprises controlling said annunciator to annunciate or not annunciate said signal.
77. The method of claim 75 further comprising receiving and obtaining function information from function information messages received from co-networked apparatuses having at least some common configuration information.
78. The method of claim 75 wherein said configuration information includes information relating to a function of said apparatus and at least one of information relating to an instance of said function in said system and information relating to an association of said apparatus with other apparatuses in said system.
79. The method of claim 75 further comprising maintaining a system table identifying said co-networked apparatuses and configuration information thereof, in said system.
80. The method of claim 79 further comprising changing at least some of said configuration information relating to a co-networked apparatus, in said system table, in response to receiving a communication message from said co-networked apparatus containing configuration information pertaining to said co-networked apparatus, that is different from corresponding said configuration information relating to said co- networked apparatus, in said system table.
81. The method of claim 75 further comprising storing said configuration information about said apparatus and obtaining configuration information from a re-configuration message received at said apparatus and storing said configuration information received from a reconfiguration message as configuration information about the apparatus.
82. The method of claim 81 further comprising causing a configuration message comprising stored information to be periodically transmitted to said co-networked apparatuses.
83. The method of claim 81 further comprising transmitting a configuration message comprising stored association information, to an apparatus from which a received configuration message has been transmitted, when function information and association information in said received configuration message is the same as corresponding stored information.
84. A computer readable medium encoded with codes for directing a processor to execute the method claimed in any one of claims 75-83.
85. A computer readable signal encoded with codes for directing a processor to execute the method claimed in any one of claims 75-83.
PCT/CA2005/000574 2005-04-15 2005-04-15 Adaptively configurable network WO2006108257A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CA2005/000574 WO2006108257A1 (en) 2005-04-15 2005-04-15 Adaptively configurable network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2005/000574 WO2006108257A1 (en) 2005-04-15 2005-04-15 Adaptively configurable network

Publications (1)

Publication Number Publication Date
WO2006108257A1 true WO2006108257A1 (en) 2006-10-19

Family

ID=37086549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2005/000574 WO2006108257A1 (en) 2005-04-15 2005-04-15 Adaptively configurable network

Country Status (1)

Country Link
WO (1) WO2006108257A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018199908A1 (en) * 2017-04-24 2018-11-01 Hewlett-Packard Development Company, L.P. Configuration parameter transfer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US5671355A (en) * 1992-06-26 1997-09-23 Predacomm, Inc. Reconfigurable network interface apparatus and method
WO2005026936A1 (en) * 2003-09-09 2005-03-24 Transact Technologies Incorporated Standard configurable universal serial bus (usb) device identifier

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US5671355A (en) * 1992-06-26 1997-09-23 Predacomm, Inc. Reconfigurable network interface apparatus and method
WO2005026936A1 (en) * 2003-09-09 2005-03-24 Transact Technologies Incorporated Standard configurable universal serial bus (usb) device identifier

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018199908A1 (en) * 2017-04-24 2018-11-01 Hewlett-Packard Development Company, L.P. Configuration parameter transfer
US11068430B2 (en) 2017-04-24 2021-07-20 Hewlett-Packard Development Company, L.P. Configuration parameter transfer

Similar Documents

Publication Publication Date Title
US7139839B2 (en) Method and apparatus for assigning a network node address
JP4139758B2 (en) Path setting method and network, relay station, and master station that employ the path setting method
CN101584152B (en) Network communication system
US8755387B2 (en) Communication system and relay apparatus
JP4065434B2 (en) Router device and method for starting up router device
EP1233538A2 (en) Power line communications system
CN110233746B (en) Home networking method and home networking AP
US20030107471A1 (en) House code setting method and power line carrier communication system
JPH04220044A (en) Communication module of programmable controller
JP2003218888A (en) Polling communication system and polling control method
JP3647955B2 (en) Operation board, remote I / O communication control method
CN108418606A (en) Data transmission method for uplink and device, multi-line system
CN101123603B (en) Configurable Ethernet interface backup system and method
JPH0654369A (en) Data transmission in installation, especially in home installation
RU2699405C2 (en) Method for commissioning network node
WO2006108257A1 (en) Adaptively configurable network
JP2011215029A (en) Management system, management device, management unit, and selection method
CN111971984B (en) Low-power consumption Bluetooth communication method, electronic device, network and storage medium
JP2003008600A (en) Data collection system and method
JP4531545B2 (en) Network system
JP4763580B2 (en) In-vehicle communication system, in-vehicle device, and in-vehicle communication method
JP2007324674A (en) Communication route buildup method, and communication terminal
CN115664944A (en) Multi-gateway dynamic hot standby method, device, equipment and storage medium
CN102377478A (en) Information processing device, communication system, and information processing method
CN105207811B (en) Method and device for replacing non-AllJoyn equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Country of ref document: RU

122 Ep: pct application non-entry in european phase

Ref document number: 05734217

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5734217

Country of ref document: EP