Device identification – Echelon DM-21 Device Manager User Manual
Page 11

Device Manager User’s Guide
1-7
variables, L
ON
M
ARK
Objects, and configuration properties. Each LonPoint
module requires about 2K of storage in the device manager.
Device Identification
In order for a Device Manager to distinguish between two different devices, there
must be some means provided whereby each device can be uniquely identified.
This is accomplished by using the device's Program ID and optionally its location
string.
The Program ID is a hexadecimal string uniquely identifying the device's
application (see the L
ON
M
ARK
Application Layer Interoperability Guidelines for
more information).
The location string is a 6 byte string in the Neuron Chip's config database.
Devices set their location string based on input from a keyed connector, DIP
switch, rotary switches, smart card, or some other comparable identification
mechanism. Devices that do not have a built in means of setting their location
string may have their location string set manually using a tool designed to set
location strings. See
www.echelon.com/products/dm
for an example of a PC
application that can be used to set a device's location string. The location string
may be left blank. If so, the Device Manager will match on Program ID only. If
the location string is used, the location string in the Device Manager's Managed
Device List must match the location sting in the device in order for the device to
be discovered.
The Device Manager must be able to uniquely identify each device in the
system by Program ID and, optionally, its location string.
Using #pragma run_unconfigured with the Device Manager
In order for a device to automatically set its own location string (i.e., via a keyed
connector or DIP switch), the application within that device must be running.
Typically, devices that are in the unconfigured state will not run any applications
until a network management tool configures the device. This would create a
problem for a system using Device Mangers when more than one device has the
same Program ID, i.e., the same application.
This situation can be rectified by permitting devices to run while they are
unconfigured. This is accomplished by including the following statement in the
device's Neuron C program:
#pragma run_unconfigured
!
A device that uses the run_unconfigured pragma will run even when it is in the
hard-offline state. If such a device attempts to transmit, it may do so using a
suspect configuration state (hard-offline is used by LNS to prevent a device from
transmitting while being reconfigured in power cycles and corrupts the device's
memory during the process).