Echelon Neuron C User Manual

Page 185

Advertising
background image

Neuron C Reference Guide

165

property-reference-list

:

property-reference-list

,

property-reference

property-reference

property-reference

:

property-identifier

[=

initializer

] [

range-mod

]

property-identifier

[

range-mod

] [=

initializer

]

range-mod

: range_mod_string (

concatenated-string-constant

)

property-identifier

:

[

property-qualifier

]

cpnv-prop-ident

[

property-qualifier

]

cp-family-prop-ident

property-qualifier

: static | global

cpnv-prop-ident

:

identifier

[

constant-array-index-expr

]

identifier

cp-family-prop-ident

:

identifier

Example:

// CP for heartbeat and throttle (default 1 min each)
SCPTmaxSndT cp_family cpMaxSendT = { 0, 0, 1, 0, 0 };
SCPTminSndT cp_family cpMinSendT = { 0, 0, 1, 0, 0 };

// NV with heartbeat and throttle:
network output SNVT_lev_percent nvoValue
nv_properties

{

cpMaxSendT,

// override default for minSendT to 30 seconds:

cpMinSendT = { 0, 0, 0, 30, 0 }

};

The network variable property list begins with the nv_properties keyword. It
then contains a list of property references, separated by commas, exactly like the

device property list. Each property reference must be the name of a previously

declared CP family or the name of a previously declared configuration network
variable. The rest of the syntax is very similar to the device property list syntax

discussed above.
Following the

property-identifier

, there can be an optional

initializer

, and an

optional

range-mod

. These optional elements can occur in either order if both are

specified. If present, the instantiation initializer for a CP family member

overrides any initializer provided at the time of declaration of the CP family;
thus, using this mechanism, some CP family members can be initialized

specially, with the remaining CP family members having a more generic initial

value. If a network variable is initialized in multiple places (in other words, in
its declaration as well as in its use in a property list), the initializations must

match.

You cannot have more than one configuration property of any given SCPT or

UCPT type that applies to the same network variable. A compilation error occurs

when a particular configuration property type is used for more than one property
in the network variable’s property list.
Finally, each property instantiation can have a range-modification string

following the property identifier. The range-modification string works identically
to the

range-mod

described in

Configuration Property Modifiers (cp-modifiers)

on

Advertising