9/20/2012 5:48 PM | |
Joined: 1/28/2009 Last visit: 9/10/2024 Posts: 6849 Rating: (1365)
|
Hello, Timer_p or FB5 is part of CFC library. In CFC library you have elements for S7300 and S7400.I test the scenario you have mentioned and the result was satisfactory in PLCSIM. I called the function in a Chart and compile all my project there.I attached all you need in attachment.My recommendation, try use this function in CFC.For STEP7 with LAD/STL/FBD editor use Simatic or IEC timers . Best regards, Hamid Hosseini AttachmentFB5.zip (162 Downloads) |
This contribution was helpful to1 thankful Users |
9/20/2012 8:39 PM | |
Joined: 12/4/2009 Last visit: 8/2/2024 Posts: 453 Rating: (136) |
Dear Hamid, thank you for your reply. I took your advice about having my blocks in CFC and the result is indeed satisfactory. This solution is kind-of remedy for my problem, but now I'm even more confused. I am aware of that FB5 is a block form CFC library, but anyhow CFC is nothing more than some sort of higher programming language. At compilation stage, it should be translated to S7 code whatsoever. Having two FB5 calls in CFC OB35 runtime group should be identical situation to calling them directly in OB35 without CFC being used at all. As an illustration I have attached two printscreens from my test project. It is obvious that after 199s, timer with 86400.0 preset value has counted down to 86197s, and that there is more than 3s of gap between theese two timers. Could it be that this is PLCSIM bug? Or CFC blocks should be called exclusively from CFC, which would truly compromise my PLC programming knowledge... AttachmentFB5_CONFUSION.zip (117 Downloads) |
Last edited by: crazyCow at: 4/17/2016 12:23:46 AMIf this post actually helped, you may consider using the Rate button above. |
|
9/21/2012 7:48 AM | |
Joined: 10/7/2005 Last visit: 9/23/2024 Posts: 3021 Rating: (1054)
|
Hello kjurlina good news first, the way I see it it, it is neither a PLCSIM bug nor is yourPLC programming knowledge compromised. The issue with FB5 "TIMER_P" is that it uses Floating Point math to subtract "SAMPLE_T" from "TIME0" every time the FB is called. In your original example you call FB5 every 100ms via OB35 and correctly declared "SAMPLE_T" as 0.1 (ms). You will in this case see a"drift" in the actual time outputs "PTIME" betweenthe call with a "TIME0" setpoint of 86400.0 (sec.) and the other call with 120.0 (sec.). Reason being is that you aresubtracting a very small value (0.1)from a very large valuevalue(86400.0) and the required exponent alignment will lead to rounding errors and inaccuracies (see also the FAQ How accurately can I calculate with REAL numbers that are used in extensive formulas? for more on this). This is also the reason that the inbuilt help for FB5 warns that "The difference between TIME0 and SAMPLE_T may not be more than 10^7" (if you were to break this rule you won't get any subtraction happening anymore, you are currently only running "borderline"). The way I see it, you will have the same problem when called in the same fashion from a "pure" CFC enviroment and here's my theory why you and hdhosseinido NOT seethis problem apearing in this case: FB5's default "SAMPLE_T" is 1 sec (hidden input in CFC) and you would certainly get a better results if called from a 1 sec. cyclic interrupt OB (check you CFC Run sequence andcyclicinterrupt OB time). It could also be that it is indeed called from a 0.1 sec cyclic interrupt OB, but that a "reducation ratio" has been appliedwhich would also improve the result (check your runtime group properties). Attached is a screendump with the results of pure CFC calls.. The top one with a 0.1 secondscall of FB5 (= same problem as when called directly in a LAD/FBD/STL program), the bottom one with a 1.0 seconds call of FB5 (= no problem anymore, should work just as well when done so ina LAD/FBD/STL program). I hope this helps |
Last edited by: fritz at: 9/21/2012 8:41 AMfixed up screendump Cheers |
|
This contribution was helpful to3 thankful Users |
6/19/2017 8:38 AM | |
Joined: 12/9/2010 Last visit: 10/8/2022 Posts: 623 Rating: (77) |
Hi crazyCow, Test on actual PLC and share the results here. While simulation, other processes are also running in PC processor. Please share FB5 block as I also could not find it. |
If you like the comment, rate it (right top) or thank it (left bottom). |
|
6/20/2017 6:14 PM | |
Joined: 9/3/2014 Last visit: 3/13/2019 Posts: 4767 Rating: (123) |
New question published by Ram_BahrainSteel is split to a separate thread with the subject FB5 block, Sample_T has changed. Best regards |
Follow us on