Located in the
Pma object tree:
/Examples/Prototype.
This is an example of the application that uses in runtime the
PmaInstance objects. The
PmaPrototype object (template) containing the
PmaPanel,
PmaData,
PmaTrendGroup etc. subobjects is copied into the instances.
In the
PmaFolder object named "
Prototype" there is one
PmaPrototype object, three
PmaInstance objects and one
PmaAlarmGroup object. The
PmaPrototype object contains
PmaPanel,
PmaData,
PmaTrendGroup,
PmaAlarmGroup and
PmaTimer objects. This object represents the prototype (template) for the technology of a single boiler.
Setting of the
PmaInstance object:
The objects named
Boiler_Instance1,
Boiler_Instance2 … are connected to the
PmaPrototype object named "
Boiler_Prototype" on the "
Instance" tab in the "
Path to prototype" configurator. In the "
Pma object parameters" configurator the parameter name (
boil) is defined together with the corresponding value (
1,
3,
3). The parametr name is identical with the parameter in the "
Pma object parameters" configurator of the
PmaPrototype object and the value is crucial for identification in the folowing configuration of data, trends and alarms for the corresponding boiler.
Setting of the
PmaPrototype object:
The object named "
Boiler_Prototype" has the
boil parameter set to the
0 value in the "
Pma object parameters" configurator.
Setting of the
PmaTrendGroup object:
The object has an expression composed by
Macro expression $.join and
Macro expression $.par on the "
Trend" tab in configurators
Trend group identifier and
Displayed group name.
Setting of the
PmaAlarmGroup object:
The object has an expression composed by
Macro expression $.join and
Macro expression $.par on the "
Group" tab in configurators
Alarm group identifier and
Displayed group name. Configurators
Parent enabled and
Parent are connected to parent
PmaAlarmGroup.
Setting of the
PmaData object:
The object has two variables
TemperCurrent and
TemperRequired created on the "
Data" tab. One of them is connected via
ExtAlarmAnalog to the
PmaAlarmGroup object with the template
alarm0. There are configurators in the setup window of this data extension
Data extension identifier and
Alarm source composed into macro expression by
Macro expression $.join and
Macro expression $.par. Both variables are connected to the
PmaTrendGroup object by
ExtTrend.
The
PmaTimer object named "
Emul" serves for value emulation of the
TemperCurrent variable with respect to the value of the
TemperRequired variable of the
PmaData object.
Setting of the object of the
PmaPanel type:
The object named "
Panel" has an expression compiled by
$.join and
$.par in configurators
Panel title and
sViewPars default value on the "
Panel" tab.
There is the
PmgRoot object in the panel with the
boil parameter with the default value of
0.
The panel contains both simple and compleg
Pmg objects. The
PmgString objects are connected by the "
PP - Pma object property" data binding to the data of the
PmaData object. The
PmgSliderBox object is connected by the "
PP - Pma object property" data binding to the
TemperRequired variable of the
PmaData object. The trend viewer has static trend items configured without the connection to the server. The connection to the trend server is configured dynamically in the
onStart event by the
Connect method. In the third parameter of this method the
GetPar method is used in order to detect the value of the
boil panel parameter. Based on this, the viewer is connected to corresponding trend group.
Setting of the
MainPanel object of the
PmaPanel type:
The panel is configured as overview screen containing identical compound
Pmg objects representing the boiler. The objects differ only by the value of the parent
Pmg object parameter. The embedded
Pmg objects use this parameter in order to connect to the corresponding data items.
The example is created in order to be functional also as Web application. That is why the
Macro expression $.par macro expression is used in the "
Web component identifier" configurator on the "
Web server" tab objects enabled for the Web, to ensure unambigous component identification.