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. |
5/1/2016 7:09 PM |
|
Joined: 1/27/2012 Last visit: 6/20/2024 Posts: 84 Rating: (1) |
Thank you. I will check that. |
5/3/2016 2:47 PM | |
Joined: 6/24/2013 Last visit: 9/20/2024 Posts: 1628 Rating: (421)
|
Hi The library which deals with 64-bit REALs attached. it does contain function for PAC meter (which converts reading to dint in kWh and int for Wh) as well. for example for meter reading in double float = 1234567.234 function returns 1234567kWh (as dint) and 234Wh (as int) AttachmentIS0034_LONGREAL.zip (596 Downloads) |
Last edited by: Piotr.M at: 5/3/2016 4:11:49 PM |
|
5/3/2016 5:18 PM | |
Joined: 1/27/2012 Last visit: 6/20/2024 Posts: 84 Rating: (1) |
Hello, I have S7-400H and Wincc SCADA. So in this case I can also use the full 64-bit tag of wincc and use the full range or accuracy of 64-bit. At least I have check in simulation on my laptop. I think this is a better solution. What do you say? |
5/3/2016 5:38 PM | |
Joined: 6/24/2013 Last visit: 9/20/2024 Posts: 1628 Rating: (421)
|
1. Precision The PAC meter returns value in Wh so conversion to dint in kWh and int in Wh will not cause any loss of precision. 2. Arithmetic The S7-300/400 is unable to handle 64-bit real numbers and library (the above post) can be used should You need to do any calculations. If HMI can handle the 64-bit REAL and if all you need is to display the value it can be read from meter and displayed on the hmi. |
8/9/2016 3:50 PM | |
Joined: 9/3/2014 Last visit: 3/13/2019 Posts: 4767 Rating: (123) |
New question published by vipz is split to a separate thread with the subject Value is not updating in PLC. Best regards |
Follow us on