Handling Exceptions
The compiler enables you to write your own exception programs for handling particular system events. The following exceptions can be handled:
- Startup Exceptions (before the first cycle)
- Shutdown Exceptions (after the last cycle)
- Division By Zero Exceptions
-
-
Exception handling is supported for both Normal and Optimized PLC code generation.
In the sub-program that handles the exception you can perform any safety or trace operation. You then have the selection between the following possibilities:
- Return without any special call. In that case the standard handling will be performed: a system error message is generated, the result of the division is replaced by a maximum value and the application continues.
- Call the FatalStop function. The runtimeIn computer science, runtime (or run-time) describes the operation of a computer program, the duration of its execution, from beginning to termination (compare compile time). Within KAS, runtime also refers to the virtual machine that manage the program written in a computer language while it is running then stops immediately in Fatal Error mode.
- Call the CycleStop function. The runtime finishes the current program and then turns in "cycle setting" mode.
Handlers can also be used in DEBUG mode for tracking the bad operation. Just put a breakpoint in your handler. When stopped, the call stack will show you the location of the division in the source code of the program.
Startup Exceptions
You can write your own exception program to be executed before the first application cycle is executed:
- Create a new main program that will handle the exception. It cannot be an SFC"Sequential function chart" It can be used to program processes that can be split into steps. The main components of SFC are: - Steps with associated actions - Transitions with associated logic conditions - Directed links between steps and transitions program.
- In the editor of global defines, insert the following line:
#OnStartup ProgramName
-
-
Warning: The program is executed before all other programs within the fisrt cycle. This implies that the cycle timing can be longer during the first cycle. You cannot put breakpoints in the Startup program.
Shutdown Exceptions
You can write your own exception program to be executed after the last application cycle when the runtime system is cleanly stopped:
- Create a new main program that will handle the exception. It cannot be an SFC program.
- In the editor of global defines, insert the following line:
#OnShutdown ProgramName
-
-
Warning: You cannot put breakpoints in the Shutdown program.
Division By Zero Exceptions
You can write your own exception program for handling the "Division by zero" exception. Below is the procedure you must follow for setting an exception handler:
- Create a new sub-program without any parameter that will handle the exception
- In the editor of global defines, insert the following line:
#OnDivZero SubProgramName