Performing the Profiling Operation
Important
The implicitly added IEC code for a Profiler measurement method results in a change which slows down the evaluated program.
When a profiling or code coverage measurement is active, an online change is generally not possible. Moreover, some online features are not available, such as "flow control" and "breakpoints".
Enabling or disabling a Profiler measurement method, or changing any settings in the Profiler editor each requires a download. Then an online change is no longer possible.
Tip
POUs from libraries are also measured and the results displayed on the Online tab of the Profiler editor and in the Profiler Watch List view. However, no call trees are displayed for objects from compiled libraries.
CODESYS Profiler provides different profiling methods for determining the processing times of programs for various kinds of problems.
Profiling by instrumentation:
Profiler measures the task runtimes directly by using additional code which is generated into the program. The recording and processing of the measured values takes place on the controller and therefore can also be performed without connecting the development system to the controller (in contrast to the other measuring methods). For more information, see: Profiling by Code Instrumentation
Profiling by sampling (for multicore systems only):
An additionally generated profiler task interrupts the task to be measured at random times and determines its current call tree. Runtimes of the POUs are calculated from these measurements and not measured directly. The method is not suitable for determining outliers of task runtimes, but rather for determining over a longer period of time which POUs take a particularly large amount of time. For more information, see: Profiling by Sampling
Profiler watch list:
Profiler measures the execution time of individual POUs by means of execution points which are set in the POUs while the program is running. For more information, see: Using the Profiler Watch List
See the help pages for each method to find the right one for your application.