Promotic
WikipediaLinkedInYoutubeTwitterFacebook

How to find errors in the application

While creating or running an application, errors may occur. Such errors must be detected, analysed and corrected.
 

Finding errors in the scripts

INFO system:

Most errors can be detected in the INFO system in /Errors/Script. Each error is listed with description, the row and column number in the script.

 
The Pm.Debug method:

Some errors in the script can be more "tricky". For example the error can be of semantic origin instead of syntactic, i.e. the script is running, but not exactly the way it should be. The cause of such error the Pm.Debug method can be used and e.g. so-called "interval bisection". It means that somewhere in the application this method is placed into the script (together with the tuning remark as a first parameter). Then it is possible to check the script completion in the running application and see the "tuning remark" in the INFO system in Debug_info. This information can be useful in order to decide whether the error occured in the script before or after the remark.

 
Web panels:

The Pm.Debug method works also in the Web client and the report can be viewed after pressing Shift-Ctrl-Alt-space simultaneously in Web panel.

 
Initialization write into the Pmg object:

Script errors often occur in the onStart event of the Pmg object that reads or writes into another Pmg object based on this event. The cause of such error is the fact that the other Pmg object is not initialized at the moment of executing this event. This is the panel Pmg object order error that can be avoided by placing such Pmg object (that contains the script) above all others (i.e. select the Pmg object, right mouse button and go to menu "Selected Pmg objects / Move selected Pmg objects by order in memory / above all objects").

 

Long term application error observation

Information about errors that is written into the INFO system is visible only if the application is running or stopped (in the runtime mode and in the development environment). If the application is closed, the error information is lost.
 
Saving error information into the LOG file:

The global errors can be written into the "Application.ini" file. This kind of error log can be set in the "Application.ini" file in the [Log] section. The LOG file can then be explored long after the application is running or stopped. The error log is preset to record only the first occurrence of errors of each type.

 
Individual error logs:

The onAppError event of the PmaRoot object also can be used for example:

- creating own error log file
- writing error event into alarms and events
- calling another action (send e-mail, SMS, ...)

 

Application restart

There are situations that are not likely to accur during short term running of the application. For example:
- after OS Windows restart, the application is launched before all Windows services necessary for running it are active
- after some time of the application runtime the OS Windows run out of free resources (Watching running PROMOTIC application memory, GDI,...)
- the connection with communication device is not re-estabilished after network breakdown, etc.
 
The application launch can be postponed for example by:
- by the utility RunLater or
- setting the RtStartDelay key in the Application.ini file in the Description of keys in the [Promotic] section section
 
If the application or the OS Windows "freezes" the PmRtManager as WatchDog security component can be used for forcing the restart.
PROMOTIC 9.0.3 SCADA system documentation - MICROSYS, spol. s r.o.

Send page remarkContact responsible person
Navigation:
 
 
- Finding an error in the application
 
 
- SVG
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice