Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Example of PmaPrototype and PmaInstance

Located in the tree of Pma objects: /Examples/Prototype.

This is an example application that uses in the runtime mode 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.
 
Configuration of the PmaInstance object:

The objects named Boiler_Instance1, Boiler_Instance2 .. are connected to the PmaPrototype object named Boiler_Prototype on the "Instance" page in the "Template" configurator. In the "Pma object parameters" configurator the parameter name (boil) is defined together with the corresponding value (1,3,3). The parameter 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.

 
Configuration of the PmaPrototype object:

The object named Boiler_Prototype has a parameter boil set to 0 in the "Pma object parameters" configurator.

 
Configuration of the PmaTrendGroup object:

The object has an expression composed by Macro expression $.join and Macro expression $.par on the "Trend" page in the Group ID identifier and User defined name of the group configurators.

 
Configuration of the PmaAlarmGroup object:

The object has an expression composed by Macro expression $.join and Macro expression $.par on the "Group" page in the Alarm group identifier and Displayed group name configurators. Configurators Parent enabled and Parent are connected to parent PmaAlarmGroup.

 
Configuration of the PmaData object:

The object has two variables TemperCurrent and TemperRequired created on the "Data" page. 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 TemperCurrent variable value emulation with respect to the value of the TemperRequired variable of the PmaData object.
 
Configuration of "Panel" object of the PmaPanel type:

The object named Panel has an expression compiled by $.join and $.par in the Panel title and sParams default value configurators on the "Panel" page.

There is a PmgRoot object in the panel with parameter named boil with initial value of 0.

The panel contains both simple and compleg Pmg objects. The PmgString objects are connected by the "PP - Data binding to Pma object property" data binding to the data of the PmaData object. The PmgSliderPane object is connected by the "PP - Data binding to Pma object property" data binding to the TemperRequired variable of the PmaData object. The trend viewer has static trend item configured without the connection to the server. The connection to the trend server is configured dynamicaly 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.

 
Configuration 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 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 a Web application. That is why the Macro expression $.par macro expression is used in the "Web component identifier" configurator on the "Web server" page objects enabled for Web, to ensure unambigous component identification.

History:
Pm7.03.01: Created
PROMOTIC 9.0.7 SCADA system documentation - MICROSYS, spol. s r.o.

Send page remarkContact responsible person
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice