Echelon ISI User Manual
Page 93

91
ISI Programmer’s Guide
device to a peer-to-peer connection. To support controlled enrollment, the
controller must maintain a device description table that lists:
• the program IDs that support controlled enrollment,
• which network variables on each of those devices are to be monitored by
the controller,
• the assembly containing each monitored network variable, and
• which of the devices support connection replacement and which support
connection extension.
For devices with program IDs that are not in the device description table, the
controller may query the device for the required information. The controller can
query and interpret the device’s node self-documentation string to get a list of the
functional blocks implemented by the device, then use the standard functional
profiles to determine the required network variables, and then use the standard
assembly number to functional block number mapping described in
ISI
Connection Model
in Chapter 2 to determine the assemblies.
To support controlled enrollment for monitoring, a controller follows these steps
upon discovering a device as described in
Discovering Devices
in this chapter:
1. The controller looks up the discovered device in the device description
table and determines whether it supports controlled enrollment,
connection replacement, and/or connection extension.
2. If the device supports controlled enrollment and connection extension, the
controller extends any existing connection for the monitored assembly by
sending isiOpen and isiExtend requests to the device, and then recovers
connections to confirm that the connection was successfully extended. If
the connection was not successfully created, the controller proceeds with
the remaining steps.
3. If the device supports controlled enrollment and connection replacement,
but does not support connection extension or could not extend the
existing connection, the controller determines if the monitored NV is
already in a connection. It does this by using connection recovery as
described in
Recovering Connections
in this chapter. If the monitored NV
is not already in a connection, the controller creates a connection from the
monitored NV to the controller using the isiOpen and isiCreate requests.
If the monitored NV is already in a connection, the controller rebuilds the
connection using the isiOpen and isiCreate requests on all assemblies in
the connection, adding the controller to the connection.
4. If the device supports controlled enrollment but does not support
connection replacement or connection extension, the controller
determines if the monitored NV is already in a connection. It does this by
using connection recovery as described in
Recovering Connections
in this
chapter. If the monitored NV is not already in a connection, the
controller creates a connection from the monitored NV to the controller
using the isiOpen and isiCreate requests. If the monitored NV is already
in a connection, the controller sends the isiFactory request to the device
to clear all of its existing connections, and then rebuilds all connections