Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: Char_to_byte

  1. #1
    Registriert seit
    08.04.2014
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!

    Hat jemand ein Program, in dem man ein einzelne Charactar zu Byte unwandeln kann? Oder wie könnte ich das schaffen?

    Grüße!!
    Zitieren Zitieren Char_to_byte  

  2. #2
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    748
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Bei Beckhoff gibt es dafür in der TcSystem.Lib die Funktion F_toAsc. Ob andere CoDeSys-Steuerungen etwas Vergleichbares bieten, weiss ich nicht.
    Im Ernstfall musst Du selbst eine Funktion schreiben. Einen String(1) als VAR_INPUT übergeben, darauf einen POINTER TO BYTE zeigen lassen, damit den Bytewert auslesen und als Funktionsergebnis zurückgeben.

  3. #3
    Registriert seit
    08.10.2010
    Beiträge
    107
    Danke
    6
    Erhielt 15 Danke für 15 Beiträge

    Standard

    In der Oscat Bibliothek sind einige Blöcke dazu enthalten.
    Ich denke, dass ist der einfachste Weg.

    Du Kannst Dir auch eine Case Anweisung bauen:
    Case string Of
    'a' : byAusgabe:=33;
    ....

    Es gibt sicherlich noch weitere Möglichkeiten.

  4. #4
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    In TwinCAT gibt es die Funktion ASC die für den ersten Character eines Strings des ASCII-Wert ausgibt.
    Die Funkion CHR macht das Umgekehrte.

    [EDIT]
    Sorry sehe gerade das diese Funktion in der Serial Communication Lib enthalten ist. Wenn man die nicht gekauft hat kann man ASC und CHR nat. nicht nutzen.

    Ich könnte aber wetten das in den Funktionen nichts weiter als eine LookUp Table enthalten ist.
    Geändert von MasterOhh (14.05.2014 um 17:37 Uhr)

  5. #5
    Registriert seit
    28.12.2012
    Beiträge
    3
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Normalerweise ist bei jeder TwinCAT-Installation eine "TcSystem.lib" mit dabei. Darin findet man dann die Funktion "F_ToASC", welche das erste Zeichen eines übergebenen Strings in den zugehörigen Byte-Wert des ASCII-Codes wandelt - eine Lookup-Table braucht man dazu nicht, denn intern wird eine Zeichenkette sowieso als Folge von Bytes gespeichert. In der Funktion steckt also nicht mehr als:
    Code:
    VAR_INPUT
     str : STRING;
    END_VAR
    VAR
     pChar : POINTER TO BYTE;
    END_VAR
    pChar := ADR(str); 
    F_ToASC := pChar^;

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •