Echelon ISI User Manual
Page 66
ISI Programmer’s Guide
64
Function Name
Reason to Override
IsiGetNextAssembly()
This function should be overridden when
providing for compound assemblies
involving multiple network variables,
connections involving functional blocks, or
automatic enrollment. The default
implementation returns the next assembly
number if a complementary network
variable exists for a simple connection,
using standard network variable types. The
default implementation of this function
always returns ISI_NO_ASSEMBLY for an
automatic enrollment request. To support
joining a connection with automatic
enrollment, this callback function must be
overridden.
When overriding this function, also consider
overriding the IsiGetAssembly() function.
IsiGetNextNvIndex()
This function must be overridden in order to
share a single selector among multiple
network variables. The default
implementation always returns
ISI_NO_INDEX.
This function is rarely overridden, but if you
do, consider also overriding the
IsiGetNvIndex() function.
IsiGetNvIndex()
This function must be overridden in order to
provide for compound assemblies involving
multiple network variables. The default
implementation returns
Assembly
+
Offset
.
This function is commonly overridden. Also
consider overriding the
IsiGetNextNvIndex() function.
IsiGetPrimaryDid()
This function can be overridden when using
a non-standard domain ID as the default
domain ID. The default implementation
returns a 3 byte domain, the ASCII values
of the characters “ISI”. Devices using this
override may not be ISI compatible.
IsiGetWidth()
This function must be overridden when an
assembly has a width greater then 1. The
default implementation always returns 1.