Polling, Controlled enrollment – Echelon ISI User Manual
Page 92

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