Sharing a configuration property – Echelon LonTal Stack User Manual
Page 76
64
Creating a Model File
network variable to which the property applies. For an SFPTopenLoopSensor
standard functional profile, the SCPToffset configuration property applies to the
functional block, and thus implicitly applies to the profile's primary member
network variable. In this example, the effective data type of this property is
SNVT_volt (inherited from nvoAnalogValue).
The example also includes a five-point linearization factor, implemented as a
configuration property array of type SCPTsetpoint. The SCPTsetpoint
configuration property is also a type-inheriting configuration property, and its
effective data type is also SNVT_volt in this example.
Because the SCPTsetpoint linearization factor is a configuration property
array, it applies to the entire array of functional blocks, unlike the array of
SCPTgain configuration property network variables, whose elements are
distributed among the elements of the functional block array. In this example,
the linearization configuration property array is implemented with configuration
property network variables, and must be shared among the elements of the
functional block array.
To implement the linearization array of configuration properties such that each
of the four functional blocks has its own linearization data array, you must
implement this configuration property array in files, and declare the
configuration property with the cp_family modifier.
The following table shows the relationships between the members of the
functional-block array. As the table shows, each channel has a unique gain
value, but all channels share the offset value and linearization factor.
Channel
Gain
Offset
Linearization
fbAdc[0] nciGain[0]
fbAdc[1] nciGain[1]
fbAdc[2] nciGain[2]
fbAdc[3] nciGain[3]
nciOffset nciLinearization[0..4]
Sharing a Configuration Property
The typical instantiation of a configuration property is unique to a single device,
functional block, or network variable. For example, a configuration property
family whose name appears in the property list of five separate network variables
has five instantiations, and each instance is specific to a single network variable.
Similarly, a network variable array of five elements that includes the same
configuration property family name in its property list instantiates five members
of the configuration property family, and each one applies to one of the network
variable array elements.
Rather than creating extra configuration property instances, you can specify that
functional blocks or network variables share a configuration property by
including the static or global keywords in the configuration property
declaration.