8/17/2011 10:23 AM | |
Joined: 3/21/2006 Last visit: 9/10/2024 Posts: 10228 Rating: (1181) |
|
8/17/2011 4:00 PM | |
Joined: 9/27/2006 Last visit: 9/20/2024 Posts: 12282 Rating: (2684)
|
Hello Navnag; OSCAT.de proposes a solution also for handling double-precision REALs in S7 CPUs: 8. Arithmetics with Double Precision 8.1. Introduction Floating point numbers are stored in the format REAL. A common data format according to IEC754 used a 24 bit wide mantissa and an 8-bit exponent. This results in an accuracy of 7-8 digits. Usually this is for applications in control technology more than sufcient, but in certain cases can lead to a problem. A typical case can which be solved with single-precision only inadequate is a consumption meter. If you want to several Mwh (megawatt hours) of total consumption adding up, taking a smallest power of 1 mW (milliwatt) at a distance of 10ms fairs and so you need a resolution of 3.6 * 10^7 (equivalent 10MWs) and it would be a do add up 1* 10^-5 W's. To do this it requires a resolution of 12 digits. The solution implemented by OSCAT is REAL Double precision and has a resolution of about 15 digits. The implemented data type REAL2 consists of R1 and RX, RX is here the value saved the first 7-8 points as Real and the rest in one real R1. This data type has the advantage that no conversion of REAL2 to REAL is needed, rather, the RX is rather part of single REAL value. Attachmentoscat_basic_doc_332_DouleReal.pdf (1858 Downloads) |
This contribution was helpful to4 thankful Users |
11/28/2011 4:19 PM | |
Joined: 3/21/2006 Last visit: 9/10/2024 Posts: 10228 Rating: (1181) |
How can you process 64-bit floating-point numbers in STEP 7 V5.5 with a SIMATIC S7-300/400 CPU? |
This contribution was helpful to6 thankful Users |
5/18/2015 2:20 PM | |
Joined: 9/3/2014 Last visit: 3/13/2019 Posts: 4767 Rating: (123) |
|
This contribution was helpful to1 thankful Users |
9/8/2015 10:44 AM | |
Joined: 6/24/2013 Last visit: 9/20/2024 Posts: 1628 Rating: (421) |
Hi
1. Q_Energy_kWh output is not written anywhere, I suggest to add a MOVE block in NW3 to copy "Energy_kWh_DInt" to the output. Corrected - added the MOVE after conversion to dint 2. Is the code in NW10 only for testing? I don't see the need for it else. Personally I don't like when memory bits are used inside FCs or FBs. Yes. Network removed. I use Markers strictly for testing only (in my programs global variables are in data block called globla which is divided into structures). this way at the end of commissioning I can search for any M bits and take them out (any Ms are for test only) 3. If the energy is negative decimals won't work, due to NW6. Changed the fractions to be always positive. otherwise it would display incorrectly i.e. when energy is negative kWhs are negative but Whs are positive. display xxxxxxx.yyy for positive; -xxxxxx.yyy for negative (it would show -xxxxxx.-yyy when negative given) in the above example xxxxxxx is linked to kWhs and yyy to wh. the dot is a fixed text and yyy is disoplayed with leading 0s Attached - corrected project. Many thanks for sugestions Piotr AttachmentIS0034_LONGREAL.zip (462 Downloads) |
This contribution was helpful to2 thankful Users |
5/1/2016 2:11 PM |
|
Joined: 1/27/2012 Last visit: 6/20/2024 Posts: 84 Rating: (1) |
Great...I was searching for exactly the same information. From PAC 3200 to PLC double real to real. Thank you. |
Follow us on