Abstract:
An approach for automatically setting the device instance of a device such as a unitary controller without reliance on a router and/or global controller, or something like a special extension to an associated router and/or global controller. The approach may be implementable entirely by logic in the unitary controller.

Description:
[0001]    This application is a continuation of U.S. patent application Ser. No. 12/435,993, filed May 5, 2009, and entitled “AN APPROACH FOR AUTOMATICALLY SETTING THE DEVICE INSTANCE OF A BACNET DEVICE”. 
     
    
     BACKGROUND 
       [0002]    The invention pertains to network devices and particularly to BACnet devices. 
       SUMMARY 
       [0003]    The invention is an approach for automatically setting the device instance of a device such as a unitary controller without reliance on a router and/or global controller or something such as a special extension to an associated router and/or global controller. The approach may be implementable entirely in the unitary controller. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
         [0004]      FIG. 1  is a diagram of a layout for setting an instance of a BACnet device. 
       
    
    
     DESCRIPTION 
       [0005]    It may take an installer some time to manually set the device instance on a BACnet (building automation and control network) device. In some cases, a special tool may be required to do the device instance. The present approach indicates how the device can automatically choose a reasonable device instance. BACnet is a non-proprietary open protocol communication protocol and system developed by the American Society of Heating Refrigeration Air-Conditioning Engineers (ASHRAE) and adopted by the American National Standards Institute (ANSI) as an ANSI/ASHRAE Standard 135-1995. 
         [0006]    For BACnet unitary controllers (unitaries) on MS/TP (master-slave/token-passing) networks, there is often a BACnet router from an Ethernet to that MS/TP network. The Ethernet and the MS/TP network may be regarded as BACnet LANs (local-area networks). The router device instance may be used as a basis for the other devices on that MS/TP network. For example, if the router has a device instance of 10000, the unitary controllers may automatically determine their device instances to be 10001, 10002, 10003, and so on. This computation may be based on an MAC (media access control) address of the MS/TP device, which is unique on that MS/TP network. 
         [0007]    Two versions of the present approach are noted. The first version is suitable for system designs where BACnet routers may have just one MS/TP network. The second version accounts for routers that may have multiple MS/TP networks. 
         [0008]    A benefit of the present approach is that it can be used entirely without any special BACnet extensions to the router/global controller (global) itself. The global controller may generally include a router. The present approach may be implemented entirely in the unitary controller. What is needed is for the unitary controller to implement an algorithm indicated herein. 
         [0009]    As noted, the present approach is for automatically addressing unitaries. A goal of the first version may be that unitary controllers reconfigure their device instances to be equal to (global controller device instance)+(unitary MAC address). This scheme differs from other approaches in that virtually all of the logic for doing the auto-addressing is in the unitary rather than in the global controller and/or router. 
         [0010]    A goal of the second version is that unitary controllers reconfigure their device instances to be equal to (global controller device instance)+(global controller MAC address−120)*100+(unitary MAC address). The “100” may be regarded as spacing among the global controllers so that there is “room” for unitary controller device instances. 
         [0011]      FIG. 1  is a diagram of the present approach for setting an instance of a BACnet device. A BACnet router and/or global controller  11  may have a device instance, D G =1000. Router or controller  11  may provide an “I Am” message which indicates “I am 1000” on a line  12 . Router or controller  11  may provide on a line or LAN  13  an indication “MAC M G =120”. LAN or line  13  may be an MS/TP network. A unitary controller  14 , which is connected to line  13 , may have “MAC M 1 =1”, and a unitary controller  15 , which also is connected to line  13 , may have “MAC M 2 =2”. Other unitary controllers may be connected to line  13 . A new device instance for unitary controller  14  may equal “D G +(M G −120)*100+M 1 =1001”. The new device instance for unitary controller  15  may equal “D G +(M G −120)*100+M 2 =1002”. Other new device instances, which follow in the same manner, may equal 1003, 1004 . . . 1000+n, where n is a total number of unitary controllers on line or network  13 . 
         [0012]    The network needs to be configured as in the following. First, global controllers that are to support auto-addressing should have, for example, an MS/TP MAC address in the range 120-127. The unitaries may look for an “I-Am” message from MAC address 120-127 to determine what their own device instances should be. Not having any device with an MS/TP MAC address in the range 120-127 effectively disables the feature for that MS/TP network. 
         [0013]    Second, unitary controllers that support this feature will not communicate if they have a MAC address in the range 120-127. Having a MAC address in the range 120-127 effectively disables the device&#39;s MS/TP. This should prevent an auto-addressing device from scrambling the others&#39; device instances. In either case, MAC addresses for the unitaries may be limited to the range 1 . . . 119 and the MAC addresses for the globals may be limited to the range 120 . . . 127. The MAC address 0 cannot be used for anything because it results in no offset from the global. Other numbers or ranges of numbers may be used in MAC addresses for the unitaries and the globals. 
         [0014]    Third, global controllers must be addressed such that there is “room” for the unitary device instances. This means that the globals could be addressed 100, 200, 300, and so on, and support up to 99 unitaries. Technically, the globals could be spaced at 200, 400, 600, and so on, and support up to 127 unitaries. In many practical situations, the spacing may range from 50 to 300. Since it is recommended not to go over 80 unitaries per MS/TP, spacing globals in intervals of 100 should be fine. 
         [0015]    Some engineers may prefer to prefix the unitary device instance with the global device instance. For example, device  100  may be the router to unitaries 100001, 100002, 100003, and so on. One can get a very similar result by addressing globals with instances 100000, 200000, and so on. The only difference here is that the globals have large numbers rather than the smaller numbers in the 100&#39;s. 
         [0016]    Global controllers with multiple MS/TP networks need to be configured such that a global controller has a different MAC address on each of the MS/TP networks. This separates the ranges of the devices. 
         [0017]    The approach may work as noted in the following. Auto addressing may occur when a unitary listens to an “I-Am” message coming from a global controller. When the global controller emits a device instance that is different from what the unitary has stored in flash, the unitary may update its own copy and re-address itself. In systems with such devices, auto-addressing may be forced by doing anything that causes the global to emit an “I-Am” message. 
         [0018]    In the present specification, some of the matter may be of a hypothetical or prophetic nature although stated in another manner or tense. 
         [0019]    Although the invention has been described with respect to at least one illustrative example, many variations and modifications will become apparent to those skilled in the art upon reading the present specification. It is therefore the intention that the appended claims be interpreted as broadly as possible in view of the prior art to include all such variations and modifications.