10/30/2014 9:05 AM | |
Posts: 102 Rating: (2) |
One more thing my communication is on mpi between hmi and cpu ... and the speed is 187.5kpbs.... |
10/30/2014 11:42 AM | |
Joined: 11/21/2007 Last visit: 9/25/2024 Posts: 2325 Rating: (308) |
Hello Hassan Raza There can be several reasons for high cycle time and I am afraid that there are no simple solutions. Cycle type can be high due to : a) Size of your Program b) The way your program is written and structured. c) Too many / too fast Interrupts programmed c) Peripheral faults & errors. It is difficult to pintpoint any problem without having access to your program. Here are some ways you can try and reduce the Cycle time : a) Remove any unnecessary interrupts ( time interrupts with low cycle time or process interrupts occurring very frequently ) b) Optimise your program logic e.g. - stagger the calling of your blocks. you may stagger the calling of some blocks over different CPU cycles if it is not important to call them every cycle. - Conditionally call the blocks required to be executed only under specific conditions. -Remove and excess / unnecessary logic c)Ensure that there are no peripheral device errors ( Profibus / Profinet slave errors) d) If nothing works ... use a higher CPU Hope this helps Cheers Navnag |
Last edited by: Navnag at: 10/30/2014 11:42 AMpoint-d added There is no such thing as the last bug in a program |
|
This contribution was helpful to7 thankful Users |
10/30/2014 12:34 PM | |
Joined: 3/5/2014 Last visit: 8/5/2022 Posts: 5521 Rating: (1054) |
Hello Hassan, |
FCK WAR! |
|
11/1/2014 9:07 AM | |
Posts: 1064 Rating: (72) |
check for loops in your program they can and will caus ehigh cycle times , jump out of loops if possible |
This contribution was helpful to2 thankful Users |
11/1/2014 11:23 AM | |
Posts: 8946 Rating: (999) |
If your program is to large/slowfor CPU315, you may use a CPU317 that is much faster... |
This contribution was helpful to3 thankful Users |
11/3/2014 12:09 AM | |
Joined: 10/7/2005 Last visit: 10/20/2024 Posts: 3024 Rating: (1054)
|
Hello Hassan Raza over and top of the already given advice, I've seenvery high cycle times due to excessive use of UDT's, STRUCT's and other complex data types being used as FC/FB parameters. Have a look at Shall UDT make the difference in CPU Scan Time? for more on this. Also, overall code sizecan be a deceiving value. If you have for example one FC with let's say 5kB in size, but this FC is being called 200 times (e.g. valvehandling block and you have 200 valves), your CPUneeds to crunch through1MB of code every scan just for this one block that by itself is "only" 5kB incode size. The message here is that reuseable Blocksare best coded in the most memory efficient way (and again avoid complex datat types as parameteres for these blocks where you can). I hope this helps |
Cheers |
|
This contribution was helpful to5 thankful Users |
11/3/2014 9:04 AM | |
Posts: 102 Rating: (2) |
Thank you fellows, I will try the steps mentioned and will post results here.
|
This contribution was helpful to2 thankful Users |
Follow us on