Echelon ISI User Manual

Page 32

Advertising
background image

ISI Programmer’s Guide

30

the application. Standard ISI profiles that define multiple assemblies must

specify the order the assemblies are to be assigned.

Each assembly has a width which is typically equal to the number of network
variables in the assembly. In the previous figures, for example, assembly 0 has a

width of 1, assembly 1 typically has a width of 2, and assembly 2 typically has a

width of 4. All assemblies must have a width of at least 1. Simple assemblies
have a width of 1; compound assemblies typically have a width of greater than 1.

One of the network variables in a compound assembly is designated as the

primary network variable

. If the primary network variable is part of a functional

block, that functional block is designated as the

primary functional block

.

Information about the primary network variable may be included in the
connection invitation.

To open enrollment, the connection host broadcasts a connection invitation that
may include the following information about the assembly on offer: the network

variable type of the primary network variable in the assembly, the functional
profile number of the primary functional profile in the assembly, and the

connection width. Other devices on the network receive the invitation and

interpret the offered assembly to decide whether they could join the new
connection.

In the case of assembly 0, the connection invitation may just specify a width of
one and the network variable type. This is a case similar to the one employed by
a generic switch device where the switch offers a SNVT_switch network variable

that is not tied to a specific functional profile.

Assembly 1 demonstrates a more specialized example. A switch may offer this

assembly and describe it as an implementation of the SFPTclosedLoopSensor
profile, with a width of two, and a SNVT_switch input and output. The ISI

protocol defines how multiple network variable selectors are mapped to the

individual network variables offered.

Since the invitation includes no more than one functional profile number, a
compound assembly is typically limited to a single functional block on each

device. To include multiple functional blocks in an assembly, a

variant

may be

specified. A variant is an identifier that customizes the information specified in
the connection invitation. Variants may be defined for any device category and/or

any functional profile/member number pair. For example, a variant can be
specified with the SFPTclosedLoopSensor functional block offered in assembly 2

above to specify that the SFPTclosedLoopActuator functional block is included in

the assembly. Standard variant values are defined in standard functional
profiles that are published by L

ON

M

ARK

International, and manufacturers may

specify manufacturer-specific variant values for manufacturer-specific

assemblies.

Each assembly on a device has a unique number that is assigned by the
application. Each network variable on a device may be assigned to an assembly.

The ISI engine calls the IsiGetNvIndex() and IsiGetNextNvIndex() callback

functions to map a member of an assembly to a network variable on the device.

Advertising