Enrolling in a connection, Isi connection model – Echelon ISI User Manual
Page 30

ISI Programmer’s Guide
28
E
XAMPLE
3
The following example fetches a domain on a domain address server when
the user presses the Connect button on the server:
when (connect_button_pressed) {
IsiFetchDomain();
}
//Handle responses to requests in IsiFetchDomain()
when (resp_arrives) {
if (IsiProcessResponse()) {
// TODO: process unprocessed responses here (if any)
}
}
If no unambiguous domain ID is already present on the network, the domain
address server will use its default domain ID, as advised with the
IsiGetPrimaryDid() callback, as a unique domain ID.
Enrolling in a Connection
You can exchange data between devices by creating
connections
between network
variables on the devices. Connections are like virtual wires, replacing the
physical wires of traditional hard-wired systems. A connection defines the data
flow between one or more output network variables to one or more input network
variables. The process of creating a self-installed connection is called
enrollment
.
Inputs and outputs join a connection during open enrollment, much like students
join a class during open enrollment. This section describes the ISI connection
model and describes the procedures required to create a connection.
ISI Connection Model
Connections are created during an
open enrollment
period that is initiated by a
user, a connection controller, or a device application. Once initiated, a device is
selected to open enrollment—this device is called the
connection host
. Any device
in a connection may be the connection host—the connection host is responsible
for defining the open enrollment period and for selecting the connection address
to be used by all network variables within the connection. Connection address
assignment and maintenance is handled by the ISI engine, and is transparent to
your application.
Even though any device in a connection may be the connection host, if you have a
choice of connection hosts, network resource utilization will be optimized if you
pick the natural hub as the connection host. For example, in a connection with
one switch and multiple lights, the switch is the natural hub. In a connection
with one light and multiple switches, the light is the natural hub. If there is no
natural hub—multiple switches connected to multiple lights for example—using
one of the devices with an output network variable will optimize network
resource utilization.