9/18/2006 5:57 PM | |
Joined: 9/23/2005 Last visit: 10/10/2024 Posts: 4349 Rating: (1446) |
Hi, This effect occurs because you have a “limited” mantissa. The 32 bits real variable just have some like 7 characters in the mantissa. See FAQ http://support.automation.siemens.com/WW/view/en/14844391 In this case you must programming a “user defined” solution (e.g. accumulator cascade). For example, in SCL: // INTEGRATION LAST_OUT := OUT; OUT := LAST_OUT + X; OUT_LOW := (OUT - LAST_OUT) - X + OUT_LOW; IF OUT_LOW <> 0 THEN IF ABS(OUT/OUT_LOW) < 10000000 THEN LAST_OUT := OUT; OUT := OUT - OUT_LOW; OUT_LOW := (OUT - LAST_OUT) + OUT_LOW; END_IF; END_IF; See also the FAQ http://support.automation.siemens.com/WW/view/en/13406965 , that talks about integration, but gives some explanation about accumulator cascade. |
Denilson Pegaia |
|
9/19/2006 9:58 AM | |
Joined: 9/18/2006 Last visit: 3/27/2024 Posts: 21 Rating: (1) |
Hi, I do the same function in AWL and Itworks very good at the moment. Thanks again. |
Follow us on