I would like to ask for your advice regarding the reduction of my CPU’s response time — specifically, I’m referring to the task execution time. My goal is to handle more tasks within a shorter period.
Is it possible to achieve this without negatively impacting the overall performance of my PLC?
For context, I changed the system tick from 1000 μs to 500 μs.
Example: Just think you would be the PLC and you have to do the same stuff twice as fast. Would that not be exhausting.
Explanation:
Your PLC has a certain amout of calculation Performance. This will stay allways the same.
The Task-Class settings allow you to set up how you will use this Ressource.
Each Codeline needs a certain amount of Calcutlation Ressource.
If you execute this line once > 1 Ressource
If you execute this line twice > 2 Ressource
If you cut the time by half you double the ammound of codelines the PLC has to process.
This means this part of your Application in that Task-Class doubles the required CPU Time.
You normaly have to speed up the Fieldbus as well, which means the copy Task for the IO-Mapping is running also more often.
Changing the Timings of the System will always result in an different PLC Load.
Shorter Timings increase the load.
Longer Timings reduce the load.
Why we have this settings: You can have similar Load but have very differnet Timing Settings and Code amount.
Make a profiler measurement over the time. Idle time and CPU usage for respective tasks, communication system task would be good starting point for discussion what you can reduce and how this will affect your project.
Changing the System Tick has no effect if you don’t change the task class timings. These can be set in the Resources configuration below the Timing configuration.