Erzeugen eine Gleitpunktzahl

  • Hi Jungs,


    wie erzeugt ihr eine Gleitpunktzahl aus 32 Bit Input? :denk:


    Ich hab da ein bisl was angefangen, will in BG_LOG laufen lassen, aber es wird riesig:



    Ist noch nicht fertig und nicht getestet. Auch die Zahl <3 noch nicht inbegriffen.


    Hab mir die Seite http://www.h-schmidt.net/FloatConverter/IEEE754de.html zur Hilfe gezogen


    Eine Karel-Funktion ist mir auch nicht bekannt


    Gruß heinrich

  • ANZEIGE
  • schreib die 32 bit als string in ne datei (/RD/ZAHL.TXT) und lies sie real wieder aus....
    Die funktionen str2int und str2real sowie real2str und int2str

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • werden als 4 byte auf die Datei geschrieben und zwar als vier aufeinanderfolgende einzelne ascii-Zeichen (Dazu ggf als vier einzelbytes vom Bus lesen)
    Dann wird das vier-Byte als als EIN Ascii gelesen und ASC2REAL aus der Datei in real gewandelt

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • unbekannt.
    aber so ne kleine karelroutine kannst du ja im hintergrund laufen lassen.

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • 44: R[103] = GI[7] ;
    45: IF R[103] <= 32767,JMP LBL[203] ;
    46: R[103] = R[103] - 65536 ;
    47: LBL[203:KorrGrf, positiv] ;
    48: ;
    49: R[103] = R[103] / xxx ;



    Ich hab da mal was Vorbereitet.
    So machen wir das, alerdings als Ganzzahl übergeben. Der Realwert in der SPS zB *1000 dann wandeln in eine Ganzzahl, so sind 3 Komastellen gerettet, je nachdem wie Genau man es brauch.
    Der Wert XXX ist für den Multiplikator wie in der SPS.

  • Hi theani,


    Danke für den Ansatz, genau so mach ich es auch wenn ich beide Teilnehmer beinflusen kann.
    Hier habe ich mit einem Slave zu tun, der gibt mir einen Real-Wert mit 32 Bits raus.
    D.h. komme damit nicht weiter.

    Einmal editiert, zuletzt von heini0707 ()

  • So hab den heutigen Abend ein wenig genutzt,dabei ist folgendes rausgekommen:



    Die Vorkommastelle funzt schon, die Nachkommastelle mach ich morgen

    Einmal editiert, zuletzt von heini0707 ()

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