Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Convertion Real to UDINT

mawaloc
2020-05-18
2020-05-18
  • mawaloc - 2020-05-18

    Hello ,

    I've an issue where I don't know where it comes from.
    I'm trying to make a combination of two numbers:
    -First Number I will call A:
    where he could gets until 5 digits.aaaaa => Actual type UDINT
    -Second number i will call B:
    where he could gets also until 5 digits.bbbbb => Actual type UDINT
    A:28
    b:235

    How I do is :
    REAL_TO_UDINT(((UDINT_TO_REAL(28)/10000)+235)*10000)

    My Problem is when b as 3 digits my result is ok.
    Result : 23500028
    but now if my b numbers increase lets said 4 or 5 digits the result change
    and I arrive to:
    b:1235
    result: 123500030

    I think there is a rounding somewhere That I don't find.
    But in anycase my result is still under what UDINT can accept, this is why I don't understand

    thanks you for your comment

     
  • i-campbell

    i-campbell - 2020-05-18

    The REAL format is limited to about 7 or 8 digits of precision.
    For the precision you need, use LREAL.

     

Log in to post a comment.