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

Page 30

Advertising
background image

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.

Advertising