Echelon FTXL User Manual
Page 51
FTXL User’s Guide
39
SCPTdefOutput configuration property as an optional configuration property,
and use it to define the default value for the sensor's principal network variable.
The functional profile itself, however, might not define the type for the principal
network variable.
The following example implements a SFPTopenLoopSensor functional block with
an optional SCPTdefOutput configuration property. The configuration property
inherits the type from the network variable it applies to, SNVT_amp in this case.
Example 1:
SCPTdefOutput cp_family cpDefaultOutput;
network output SNVT_amp nvoAmpere nv_properties {
cpDefaultOutput = 123
};
fblock SFPTopenLoopSensor {
nvoAmpere implements nvoValue;
} fbAmpereMeter;
The initial value (123) must be provided in the instantiation of the configuration
property, because the type for cpDefaultOutput is not known until it is
instantiated.
You can also combine type-inheriting configuration properties with network
variables that are of changeable type. The type of such a network variable can be
changed dynamically by a network integrator when the device is installed in a
network.
Example 2:
SCPTdefOutput cp_family cpDefaultOutput;
SCPTnvType cp_family cpNvType;
network output changeable_type SNVT_amp nvoValue
nv_properties
{
cpDefaultOutput
=
123,
cpNvType
};
fblock SFPTopenLoopSensor {
nvoValue implements nvoValue;
} fbGenericMeter;
The nvoValue principal network variable, although it is of changeable type, must
still implement a default type (SNVT_amp in the example). The SCPTdefOutput
type-inheriting configuration property inherits the type information from this
initial type. Therefore, the initializer for cpDefaultOutput must be specific to
this instantiation. Furthermore, the initializer must be valid for this initial type.
If the network integrator decides to change this type at runtime, for example, to
SNVT_volt, then it is in the responsibility of the network management tool to
apply the formatting rules that apply to the new type when reading or writing
this configuration property. However, your application has the responsibility to
propagate the new type to this network variable’s type-inheriting configuration
properties (if any).