Demo application of PROMOTIC system

Example is placed in the folder: /Pm/Examples/Demo.

The application is used for presenting the capabilities of the PROMOTIC system. It is designed not to exceed the limit of 30 variables and 10 graphic panels (see PmRtFree - Free runtime licence). Multipte panels are being switched automatically after apllication launch. These panels represent various industrial technologies. Some panels have been taken from real systems with the permission of system owners. All data values, alarms and events are emulated.

The basic control is done by buttons in the PmPanel object configured as ToolBar that is located as a subobject in the PmWorkspace. Swithing the panels in "Auto" mode is done by using the script in the onRefresh event of the "SlideShow" button.

Alarm and event emulation PmAlarmEvent is done after making the corresponding selection by calling the user method Methods defined in the Methods page of the PmFolder object named /Manager.



The application workspace is represented by the PmWorkspace object. It has two PmPanel type subobjects. One represents the About window and the second is the Toolbar. On the page PmWorkspace > Frames the application workspace is separated into:
- The "toolbar" frame positioned on the upper side. It has a static size and is connected to Toolbar subobject.
- Frame "main" is taking the rest of the area dedicated for the application panels.

Panel representing the Toolbar

The Toolbar panel represents the application toolbar and is located as PmWorkspace subobject. In each button (of PmiButton type) the application panels switching is activated.


The data for application panels is stored in /EmulData/Data. The PmData values are emulated or computed from emulated values by PmTimer objects. Some items are connected by data extension (Data extensions) via ExtTrend to PmTrend objects and via ExtAlarmAnalog to PmAlarmEvent object.


The folder /Applications contains multiple subfolders with PmPanel items. If the panels use access to the items of the PmData object, then the connection is made to the object located in the /EmulData/Data folder. The PmTrend objects located in these folders are connected by ExtTrend to the PmData object.


The /Others folder contains further folders where additional PmPanel and PmReport are stored. In the panels, there are, for example, graphic ActiveX items (TrendsView and PmTable) or the motion animation is being solved there together with the PmiCanvas item usage. The PmReport objects represent the examples of print protocols and alarm reports.

Switching languages in runtime

The language list used in the application is defined in the page PmRoot > Application. Language dependent texts are read according to selected language from the text_appdemo.xml application file. The xml file syntax for accessing each text is described in Macro expression $.text. The language selection on application launch is solved in the PmRoot.onAppStartBegin event. The application language setting is available via the RtLang property. See How to create an application using different national languages.


The PmWeb object (Web) allows the application to be offered as web server (Overview of the WEB technology in the PROMOTIC system). In this object additional objects are inserted allowing more application technologies PmWebDir, PmWebInfo (language independent objects), PmWebFolder and PmWebLang to be accessed via web. It contains additional objects that are offered to web in selected language.

This layout enables logical sorting of the objects acessed via web in the Web Server page of the PmData, PmTrend, PmPanel and PmAlarmEvent objects.

In the PmWeb object the default path is changed to user folder webdir containing the index.htm file. This means that the web client after entering the http://computername URL addres into the web browser will display the first user page index.htm located in the webdir subfolder in the application folder.

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