Creating an acknowledged connection – Echelon ISI User Manual

Page 73

Advertising
background image

71

ISI Programmer’s Guide

2. Connection host enrolls local, normal, output network variable:

direction(CSMOEX) = isiDirectionInput or isiDirectionAny,
poll(CSMOEX) = clear;

3. Connection host enrolls local, polling, input network variable:

direction(CSMOEX) = isiDirectionOutput, poll(CSMOEX) = set;

4. Connection host enrolls local, polled, output network variable:

direction(CSMOEX) = isiDirectionInput, poll(CSMOEX) = set.

The isiDirectionAny value is used in unspecific connections; for example, between
multiple switches and multiple lamps. Most connections will be direction-

specific, whereas many general-purpose I/O devices will support unspecific-
direction connections to simplify the manual-connection scenario. Devices

receiving a CSMO include the direction and poll attributes in the consideration of

acceptance.

You can use the isiDirectionVarious value when the compound assembly contains
multiple network variables of different directions, where the network variable

direction is determined by the functional profile.

E

XAMPLE

The following example creates a CSMOEX with the direction field set to
output and the poll field set to on. The isiFlagExtended flag is required for

transmitting this CSMOEX (but not for receiving).

static const IsiCsmoData MyCsmo = {
ISI_DEFAULT_GROUP,

//

Group

isiDirectionOutput,

//

NV

direction

1,

//

Width

2,

//

Profile

number

(2

=

//

SFPTopenLoopSensor)

76u, //

Network

variable

type

index

//

(76

=

SNVT_freq_hz)

0,

//

Variant

(0

=

standard)

0,

//

Acknowledged

1,

//

Poll

isiScopeStandard,

// Scope that defines FPT or NVT

{0x9F, 0xFF, 0xFF, 0x05, 0x00, 0x05}, // application

1

//

network

variable

member

//

number

(1

=

nvoValue)

};

Creating an Acknowledged Connection

You can create a unicast acknowledged connection. The ISI protocol does not
support multicast acknowledged connections. An acknowledged connection

requires subnet/node ID addressing instead of the group ID addressing typically

used by ISI for network variable connections. Devices initiating acknowledged
network variable updates must track subnet/node ID allocation using some

suitable application-specific algorithm. The ISI library does not provide an

implementation of these algorithms, but applications are free to supply support
for acknowledged service. Acknowledged service is typically not used because of

the additional complexity of tracking subnet/node ID changes. To send an NV

update using the acknowledged service, create an explicit message that is

Advertising