Echelon LNS User Manual

Page 288

Advertising
background image

LNS Programmer's Guide

274

LNS does not include external interface files for Network Service Devices. However, it
does create default DeviceTemplate objects for use by Network Service Devices. As

described earlier in this chapter, the network interface used by a Network Service Device

can affect the Network Service Device’s capabilities. Some of these capabilities (e.g.
maximum number of groups) affect how LNS will configure the Network Service Device.

As a result, Network Service Devices with different network interfaces and

programmatic capabilities use different device templates.

Therefore, switching from one network interface to another may require you to upgrade

the Network Service Device to use the device template for the new network interface.
Normally, LNS will perform the upgrade automatically when the system is opened.

However, depending on the configuration of the Network Service Device, switching from

a high performance to a standard network interface may result in dropping connections
to or from the Network Service Device. Specifically, if the Network Service Device is

involved in several multicast connections and uses more than 15 groups, switching to a

standard network interface will result in losing some of those connections.

If you do not want your client application’s Network Service Device to be upgraded
automatically, you can set the lcaFlagsManualNsdUpgrade flag in the Flags property

prior to opening the system. This will prevent LNS from automatically upgrading your

client application’s Network Service Device. This does not eliminate the need to upgrade
the Network Service Device. It only keeps LNS from performing the upgrade

automatically.

You can read the UpgradeRequirement property of the AppDevice object

representing a Network Service Device to see if an upgrade is required after the network

interface has been changed and the system has been opened. If the property indicates
that an upgrade is required, you should start a transaction and perform the upgrade by
calling the Upgrade() method on the AppDevice object. You should not specify a
DeviceTemplate object when upgrading a Network Service Device.

If the upgrade causes connections to be lost, you can display this information to the user,

and the user can decide whether to proceed with the upgrade and commit the

transaction, or open with a different network interface (cancel the transaction, and then

close the network). If the application keeps the database open without upgrading the
Network Service Device, the Network Service Device will not be properly configured,

which will result in communication errors during network management and monitor and
control operations.

You can examine the UpgradeStatus property of the Network Service Device’s
AppDevice object to review the changes made to the device's external interface during

the upgrade. For example, the UpgradeInfos property contains a collection of
UpgradeInfo objects, each one containing the status of one external interface

component on the old external interface.

The capabilities of a Network Service Device may also be affected by the version of LNS
software installed. Therefore, if the Flags property is set to
lcaFlagsManualNsdUpgrade, it may be necessary to upgrade the Network Service

Device after installing a new version of LNS. LNS Turbo Edition supports three different

types of Network Service Devices, depending on the network interface used. Each uses its
own template and program ID. Table 11.1 lists these types by program ID.

Advertising