Flexible program id – Echelon LNS User Manual

Page 37

Advertising
background image

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

Advertising