Cyclic task vs free wheeling

aand74

Member
Join Date
Dec 2005
Location
Deinze
Posts
131
We are to develop a first application in Codesys.
It will contain motion (Softmotion) with drives on Ethercat (CSP mode).
Off course there will be a task linked to the Ethercat cycle for the motion.
But for the bulk of the program that is not that time critical i doubt between a freewheeling task and a cyclic task.
I know the pro's and con's.
But coming from a Siemens environment where OB1 is used as a freewheeling main task I tend towards freewheeling.
Rockwell users probably tend towards cyclic tasks.
Just asking to share your choise for the task type of the main program (considering that the time critical motion logic is already in a cyclic motion task).
 
We are to develop a first application in Codesys.
It will contain motion (Softmotion) with drives on Ethercat (CSP mode).
Off course there will be a task linked to the Ethercat cycle for the motion.
But for the bulk of the program that is not that time critical i doubt between a freewheeling task and a cyclic task.
I know the pro's and con's.
But coming from a Siemens environment where OB1 is used as a freewheeling main task I tend towards freewheeling.
Rockwell users probably tend towards cyclic tasks.
Just asking to share your choise for the task type of the main program (considering that the time critical motion logic is already in a cyclic motion task).


Honestly? I think the number of projects where the difference is relevant is so small that it doesn't matter.

In my time with Siemens, Process automation tended to mostly use cyclic interrupts (usually at least a Fast and a Slow), and ignore OB1. There is some digital control to happen relatively fast, and then a bunch of analog processing that happens at long time scales, so why do all the math every time when the numbers won't have changed yet?



Factory stuff puts everything in OB1 because everything more or less needs to happen "now", so why wait? Obviously, as you said, motion or things that are actually high priority get put in a special place, but I can't count the number of times someone said "oh this high priority code needs to be put in a cyclic OB to make sure that it's called fast enough" and then it turns out that it actually gets called about 10x slower than OB1 runs at, because they bought a speedy PLC. (yes there are reasons that it could still make sense, but these weren't those).



I'm not sure on Codesys if there is an application reason to go with one vs the other. If you application will have a lot of comms, maybe the "leftover" after all your cyclic tasks runs can be used for that? Not sure on their architecture or details.
 
I typically use maybe 3 different tasks, and nothing freewheeling.

I've had instances more than once in different trypes of controllers that when you're using a freewheeling task so much of controller's efforts are spent on trying to run that task that you have difficulty reconnecting to the control.

Typically, mine will be something like PIDTask(1ms), FastTask(5ms), NormalTask(20ms), if I use webvisu that will probably run in a 200ms task.
 

Similar Topics

I'm working with Beckoff Twincat 3 or in Codesys with ABB PLC. My cyclic time inside task configuration is always fixed. M question is can it be...
Replies
0
Views
1,034
Hello to all, I know there are a few people here very experienced with Codesys. I wonder does Codesys have something similar to OB35 in STEP7...
Replies
3
Views
624
Hi, When I use an interrupt OB (let's say OB38 which is processed every 10ms), does it read the state of the inputs at the time it is called, or...
Replies
18
Views
2,390
Hi all, I converted a project from MW+ Express to MW+ Pro, for the benefit of more percise control over the performance of different parts in...
Replies
5
Views
1,870
Hi everyone, I have a conventional rubberpress with a upper and under heating plate. I'm using a 1510SP-1 from siemens Now i have some issues...
Replies
8
Views
9,227
Back
Top Bottom