Developer Portal Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    Missing digits in PartProcessed REAL value

    Missing digits in PartProcessed REAL value

    maj9bj
    Long-established Member

    After sending REAL value with more decimal places as a part of PartProcessed, some digits are missing and instead of them there is an invalid chaacter in the XML. See images.

    We fixed the problem temporarily using rounding of the REAL value to less decimal places. 

    maj9bj_0-1660838639824.png

    maj9bj_1-1660838649797.png

     

    1 REPLY 1

    SteffenR-
    Community Moderator
    Community Moderator

    Rounding the REAL value is the correct solution, see our customer information from Mai 2021 below. The problem is caused by REAL_TO_STRING / LREAL_TO_STRING.

    Beckhoff provides a nice function LREAL_TO_FMTSTR in the Tc2_Utilities library to round a floating number.

     

    Customer information English / German:

     

    SteffenR_0-1660844187626.png

     

    Nexeed Automation Release Mail

     

     

     

    28.05.2021

     

     

    Bugfix – Control plus – NxIpDdl

     

     

     

     

     

     

    Problem description

     

     

     

    • The TC system function LREAL_TO_STRING or. REAL_TO_STRING generates sporadically illegal characters in the converted string. The error occurs with floating-point numbers with many decimal places. This leads to errors in the MES communication because there is an illegal character in the string to be transmitted.
      SteffenR_2-1660844187628.png
    • To avoid this, a correction function was installed in the versions specified above. As we now had to determine, this function does work incorrectly with numbers in the range between -1.0 and +1.0, as well as very large numbers. Due to this error, the exponent is truncated, i.e., the values communicated to the MES are wrong by one or more orders of ten.
    • Please note that as part of our investigations, we have also found that the use of a LREAL_TO_STRING conversion to a REAL number can be performed without a compiler message, but then leads to incorrect results.
      SteffenR_3-1660844187629.jpeg

       

     

     

     

     

     

     

    Versions affected

     

     

     

    NxIpDdl

    o    From V1.1.3.0 – 21.12.2018

    o    To V1.1.13.0 – 04.10.2020

     

     

     

     

     

     

    Bugfixes

     

     

     

    NxDll V1.1.15.0

    • Correction function is still available:
      However, this version only checks the last character of the string for invalid values and removes them. Afterwards the complete string is searched again for invalid characters and should such an invalid character be found an error is returned.

    NxDll V1.2.0.0

    • Correction function removed

     

    We recommend an update to V1.2. In this case, error messages may occur as a result of the MES communication. These can be corrected by a corresponding rounding of the value to be exceeded.

     

     

     

     

     

     

     

     

    Problembeschreibung

     

     

     

    • Die TC Systemfunktion LREAL_TO_STRING bzw. REAL_TO_STRING zeigt sporadisch unzulässige Zeichen im konvertierten String. Der Fehler tritt bei Zahlen mit vielen Nachkommastellen auf. Dies führt in der Folge zu Fehlern in der MES Kommunikation da sich ein unzulässiges Zeichen im zu übertragenden String befindet.
      SteffenR_4-1660844187630.png
    • Um dies zu umgehen wurde in den oben angegebenen Versionen eine Korrektur-Funktion eingebaut. Wie wir nun feststellen mussten arbeitet diese Funktion bei Zahlen im Bereich zw. -1.0 und +1.0, sowie sehr großen Zahlen, fehlerhaft. Aufgrund dieses Fehler wird der Exponent abgeschnitten, d.h. die an das MES kommunizierten Werte sind um eine oder mehrere 10-er Potenzen falsch.
    • Bitte beachten Sie, dass wir im Rahmen unserer Untersuchungen auch festgestellt haben, dass die Anwendung einer LREAL_TO_STRING Konvertierung auf eine REAL Zahl ohne Compilermeldung durchgeführt werden kann, dann aber zu falschen Ergebnissen führt.
      SteffenR_5-1660844187630.jpeg

     

     

     

     

     

     

     

    Betroffene Versionen

     

     

     

    NxIpDdl

    o    von V1.1.3.0 – 21.12.2018

    o    bis V1.1.13.0 – 04.10.2020

     

     

     

     

     

     

    Bugfixes

     

     

     

    NxDll V1.1.15.0

    • Korrekturfunktion ist noch vorhanden:
      Diese Version überprüft allerdings nur noch das letzte Zeichen des Strings auf unzulässige Werte und entfernt diese. Anschließend wird der komplette String nochmals auf unzulässige Zeichen durchsucht und sollte solch ein unzulässiges Zeichen gefunden werden wird ein Fehler ausgegeben.

    NxDll V1.2.0.0

    • Korrekturfunktion entfernt

     

    Wir empfehlen ein Update auf V1.2. In diesem Fall kann es in der Folge zu Fehlermeldungen durch die MES Kommunikation kommen. Diese können durch eine entsprechende Rundung des zu übertagenden Wertes behoben werden.

     

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist