Flexible program id – Echelon LNS User Manual
Page 37
LNS Programmer's Guide
23
Server installer will be available to LNS customers on the Echelon web-site, and on the
LNS Application Developer’s Kit CD for redistribution by licensed LNS developers.
For more information on the
i
.LON 1000 Internet Server and the
i
.LON 600
L
ON
W
ORKS
/IP Server in this document, see Chapter 11, LNS Network Interfaces.
Flexible Program ID
By default, LonMark devices with a given program ID are expected to have the same self-
documentation data format. LNS has never verified that the number and type of
LonMark Functional Blocks on two devices sharing a program ID match. However, such
inconsistencies would normally be detected in previous releases because LNS checked the
self-documentation string length, and did a spot check on the node self-documentation
null terminator. In LNS Turbo Edition, LonMark devices are allowed to have different
self-documentation strings by default. Therefore, LNS will no longer detect many
inconsistencies in LonMark self-documentation data by default.
Modifiable Device-Specific Configuration Properties
There are two main behavioral differences an LNS application might observe when
running LNS Turbo Edition instead of a previous LNS version, due to the changes made
to support modifiable device-specific configuration properties.
The way LNS reads a modifiable device-specific configuration property with the
ConfigProperty
object’s
GetElement()
or
GetRawValues()
methods, or the
Value
or
RawValue
properties, has changed. Prior versions of LNS did not recognize modifiable
device-specific configuration properties as any different than “normal” configuration
properties, and these properties and methods would return data from the LNS database
(if the value in the database was known). Therefore no contact with the device was
necessary.
In LNS Turbo Edition, these methods and properties read the data directly from the
device. As a result, reading these values in LNS Turbo Edition is likely to take longer
than in previous releases, and may return different data values. If the value cannot be
read from the device, LNS will return an error, whereas in previous releases it would not.
This is consistent with the treatment of constant device-specific configuration properties,
and is the same as if the value in the database was not present. If the value is not
known, and the system management mode is set to
lcaMgmtModeDeferConfigUpdates
, prior versions of LNS would return an exception,
whereas LNS Turbo Edition will attempt to read the value from the device.
In prior versions of LNS, constant device-specific configuration properties would never be
set in the database. As of LNS Turbo Edition, operations such as calling the
DownloadConfigurationProperties()
method with the
lcaConfigPropOptSetDefaults
option set will cause constant device-specific
configuration property values to be stored in the database, as well as other configuration
property values.
Likewise, calling the
UploadConfigurationProperties()
method may store a
constant device-specific configuration property value in the database. Using the new
operation to read configuration property values from the database will allow an
application to see the database copy of the constant device-specific configuration
property. However, none of the methods or properties available in previous releases will
read the database version of a constant device-specific configuration property. Under no