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

Ergebnis 1 bis 3 von 3

Thema: ASCII Zeichenkette in HEX oder Real Zahl konvertieren

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    sammle gerade erste Erfahrungen in der Programmierung S7-1200 (1212C V3.0) und RS232 Schnittstelle in einer konkreten Aufgabenstellung.

    Über die RS232 Schnittstelle lese ich aus einem Messsystem Daten in die Steuerung zur weiteren Verarbeitung ein.
    Den Datenstring sehe ich im Eingangspuffer als ASCII Zeichen, diese aber nur mit dem vollen ASCII Zeichenumfang.

    Habe bisher vergeblich nach einer Lösung gesucht, z.B. î½$R in 4 Byte Hex oder Gleitpunktzahl zu konvertieren.

    Gibt es dafür einen Lösungsansatz? Das Messsystem gibt aktuell die Werte halt nur als ein ASCII-Zeichen je Byte in diesem Format aus.

    Bin für jede Hilfe dankbar.
    Zitieren Zitieren ASCII Zeichenkette in HEX oder Real Zahl konvertieren  

  2. #2
    Registriert seit
    13.08.2012
    Beiträge
    112
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    habe eine ähnliche aufgabe...

    ist dein puffer ein array oder ein string? bei strings gibt es im tia portal funktionen, die die umrechnung für einen übernehmen.

    ich habe mir aber etwas eigenes geschrieben, mit hilfe aus dem forum

    #Flaeche_ZwSp := 0;

    FOR #Bytes := 1 TO 6 BY 1 DO // Anzahl der Durchläufe
    IF #ARRAY_Flaeche[#Bytes] >= b#16#30 // Abfrage, ob das ASCII-Zeichen eine Zahl ist
    THEN
    IF #ARRAY_Flaeche[#Bytes] <= B#16#39
    THEN
    CASE #Bytes OF
    1: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*100000);
    2: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*10000);
    3: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*1000);
    4: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*100);
    5: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*10);
    6: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*1);
    END_CASE;
    END_IF;
    END_IF;
    END_FOR;

    #INT_Flaeche := #Flaeche_ZwSp; // Übertragung des DINT-Wertes der Fläche in den Datenbereich

    in meinem thread ist noch von einem anderen user ein lösungsansatz der dynamisch ist. meine lösung ist statisch, da die länge des arrays immer konstant ist...

    grüsse

  3. #3
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von fmitsup Beitrag anzeigen
    Hallo,

    sammle gerade erste Erfahrungen in der Programmierung S7-1200 (1212C V3.0) und RS232 Schnittstelle in einer konkreten Aufgabenstellung.

    Über die RS232 Schnittstelle lese ich aus einem Messsystem Daten in die Steuerung zur weiteren Verarbeitung ein.
    Den Datenstring sehe ich im Eingangspuffer als ASCII Zeichen, diese aber nur mit dem vollen ASCII Zeichenumfang.

    Habe bisher vergeblich nach einer Lösung gesucht, z.B. î½$R in 4 Byte Hex oder Gleitpunktzahl zu konvertieren.

    Gibt es dafür einen Lösungsansatz? Das Messsystem gibt aktuell die Werte halt nur als ein ASCII-Zeichen je Byte in diesem Format aus.

    Bin für jede Hilfe dankbar.
    Verstehe die Frage nicht!
    Was liefert denn das Meßsystem für Werte, also welches Format?

Ähnliche Themen

  1. Antworten: 20
    Letzter Beitrag: 18.07.2012, 16:17
  2. Umwandlung ASCII-Zeichenkette
    Von E-Komiker im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.01.2010, 12:27
  3. Antworten: 1
    Letzter Beitrag: 29.12.2009, 16:31
  4. 5-stellige ascii zahl in normale zahl umwandeln
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.01.2006, 16:12
  5. Umwandlung einer ASCII Zeichenkette in S7-200
    Von M.S. 36 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 21.10.2003, 09:48

Stichworte

Lesezeichen

Berechtigungen

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