6/13/2022 1:33 PM | |
Joined: 5/3/2017 Last visit: 5/21/2024 Posts: 673 Rating: (217) |
Hi Arian-A, all cyclic OBs runs only once in their cycle time. After the start-up of the CPU the CPU process the whole time the OB1. If a cycle interrupt OB is called, the OB1 is interrupted and the OB3X is processed. Is a faster cyclic interrupt OB is called at the processing of the the slower OB, the slower OB is stored on the stack and the faster cyclic interrupt OB is processed. After the finishing the faster OB, the slower cyclic OB is processed. Is the processing of the slower cyclic interrupt OB is finished, then the CPU works in the OB1 again. So long another cyclic interrupt OB interrupt the OB1. You can find a example for the program with the OB1, OB33 (Default: 500ms cycle), OB35 (Default: 100ms cycle) and when the processing time of the OB1 = 40ms, OB33 = 120ms and OB35 = 20ms. And the CPU goes to stop (overload mode) when, the cyclic interrupted OB is call but the processing from the previous call is not finished. Or the CPU hasn't finished the OB1 in the maximum time (default 6s). With regards |
Last edited by: Heisenberg2 at: 06/13/2022 13:41:38 |
|
This contribution was helpful to2 thankful Users |
Follow us on