Polling, Controlled enrollment – Echelon ISI User Manual

Page 92

Advertising
background image

ISI Programmer’s Guide

90

monitored device changes. Controlled and automatic enrollment both address

responsiveness by supporting event-driven updates—the controller is notified
whenever a monitored network variable value changes. The disadvantage of both

controlled and automatic enrollment is that additional code space is required on

the monitored device, with automatic enrollment requiring the most code space.
This section describes the three methods for both controller and device

developers. If you are developing a general-purpose controller, you should
support all three methods to be able to monitor any type of device. If you are

developing an ISI device, you should consider supporting either controlled or

automatic enrollment if polling will not provide adequate monitoring
performance. Some standard ISI profiles require controlled enrollment, so using

controlled enrollment for monitoring with these profiles does not require

additional code space.

Polling

Polling is the simplest of the three methods. The controller uses a device table as
described in

Discovering Devices

in this chapter to create network variable fetch

requests that it sends to the monitored devices. The 709.1 protocol engine in

each of the monitored devices automatically responds to the fetch requests with
the requested network variable value, so no special code is required in the

monitored device. This works whether the network variable is in a connection or

not since the fetch request uses a network variable index that does not change
when the network variable enrolls in a connection. The problem with polling is

performance. On a power line channel, a controller should not do more than one
poll per second on a network with a power line channel or 12 polls per second on

an exclusive TP/FT-10 network. Controllers supporting multiple outgoing

transactions should have no more than one outstanding polling transaction at a
time. In a network with 100 devices and one monitored network variable per

device, the controller will require 10 minutes to poll every device at 10 polls per

minute. If the monitored devices are lamps, the controller will take up to 10
minutes to indicate a change in the state of the lamp. This is probably not

satisfactory for a lamp, but may be satisfactory for a device with slowly changing

data like an air temperature sensor.

Controlled Enrollment

Controlled enrollment as described in

Creating a Connection with Controlled

Enrollment

in this chapter provides an easy way for a controller to orchestrate

event-driven updates from monitored devices, at a cost of at least 100 bytes on

the monitored devices. Some standard ISI profiles require controlled enrollment,
in that case there is no additional code or code space required on the device to

support controlled enrollment for monitoring. When a controller uses controlled
enrollment for monitoring, it must also provide a user interface for creating peer-

to-peer connections with controlled enrollment. The reason is that a connection

created by a controller for monitoring will make the assembly used for
monitoring no longer available for a peer-to-peer connection if the device does not

support connection replacement or connection extension—this will be the case for

many simple devices. By supporting peer-to-peer controlled enrollment, the
controller can re-build the required connections when the user adds a monitored

Advertising