PCDK Numerisches Register auslesen in C#

  • Hallo Zusammen,


    ich versuche gerade die Numerischen Register von einem Roboter über C# auszulesen. Das ganze funktioniert auch solange es ein Integer ist. Sobald im Register eine Gleitkommazahl steht wird eine exception geworfen.


    Codeauszug:

    var numRegister = (myRobot.RegNumerics[1].Value.RegLong);


    Wenn in Register 1 ein Integer steht also zb. 100 geht es. Wenn nicht dann kommt folgende meldung : System.Runtime.InteropServices.COMException: "Register value is not of Integer type."


    Macht Sinn da der Value halt kein Integer ist. Jetzt meine Frage.


    Weiß jemand wie ich auch Gleitkommazahlen auslesen kann ? Oder geht das nicht ?


    Liebe Grüße

  • ANZEIGE
  • Hallo,


    explizit zu Deinem Fall kann ich nichts sagen, aber generell sind Gleitkommazahlen über Schnittstelle häufig ein "Problem".

    Meistens behilft man sich einfach indem man in der Quelle einen Int baut (z.B. Multiplikation mit 100, d.h. 1,23 * 100 = 123), die Zahl als Ganzzahl über die Schnittstelle schiebt und beim Ziel wieder entsprechend durch bspw. 100 teilt (123 / 100 = 1,23) und damit weiterarbeitet.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden