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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: ASCII umwandeln aus RS232

  1. #1
    Registriert seit
    28.11.2011
    Beiträge
    11
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Gemeinde,

    ich arbeite derzeit daran über eine RS232 zu kommunizieren per CM1241/CPU1212.

    Das senden der Daten funktioniert, leider hapert es daran die Daten die z.B. von einem Terminal kommen von ASCII in weiter verarbeitbare Daten zu konvertieren.
    Ich probiere derzeit per Terminal die Zahlenfolge "1234" auf mein KPT600 zu bekommen. Im "Empfangs"-Datenbaustein steht 16#3132_3334 was den ASCII Zeichen entspricht.
    Ebenso muss ich eine gebrochene Zahl wie 12,5 an das HMI übermitteln - wie kann man das realisieren?

    Wie bekomme ich die Zeichenfolge so umgesetzt das ich mit ihr weiter arbeiten kann?

    Danke im voraus

    mfg Heppy
    Zitieren Zitieren ASCII umwandeln aus RS232  

  2. Folgender Benutzer sagt Danke zu heppy für den nützlichen Beitrag:

    Mauser (16.12.2011)

  3. #2
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.472
    Danke
    498
    Erhielt 1.143 Danke für 736 Beiträge

    Standard

    Willst du mit ASCII weiterarbeiten oder das ASCII-Zeichen in eine Zahl umwandeln ?
    Früher gab es Peitschen .... heute Terminkalender

  4. #3
    heppy ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.11.2011
    Beiträge
    11
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich möchte so wie ich die Zeichen im Terminal eingebe auch weiterarbeiten - ich gebe z.B. im Terminal "1234" ein und möchte das auf mein KPT600 transferieren.
    Derzeit bekomme ich aus dem DB ein DWord mit z.B. 16#3132_3334 heraus - das ist für mich völlig unbrauchbar.

    mfg Heppy

  5. #4
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.472
    Danke
    498
    Erhielt 1.143 Danke für 736 Beiträge

    Standard

    Ich würde eine Variable auf deinem KPT als STRINGCHAR mit Länge 4 definieren. Als Adresse gibtst du das erste Byte in deinem DB an. Als Ausgabefeld nimmt du dann als Darstellung Zeichenkette und als Feldlänge auch wieder 4.


    Müsste so gehen.....
    Früher gab es Peitschen .... heute Terminkalender

  6. #5
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.472
    Danke
    498
    Erhielt 1.143 Danke für 736 Beiträge

    Standard

    Gibt es noch eine Rückmeldung ?
    Früher gab es Peitschen .... heute Terminkalender

  7. #6
    Registriert seit
    28.08.2007
    Beiträge
    140
    Danke
    17
    Erhielt 13 Danke für 11 Beiträge

    Standard

    Hallo,

    es gibt da einige IEC Bibliotheks Funktionen, mit denen man strings in Dezimalwerte und umgekehrt wandeln kann. Habe ich zwar noch nie benutzt aber vielleicht hilft es dir ja weiter.

    1. FC5 DI_STRNG: Umwandlung einer Variable vom Typ DINT in eine Variable vom
      Typ STRING,
    2. FC16 I_STRNG: Umwandlung einer Variable vom Typ INT in eine Variable vom Typ
      STRING,
    3. FC30 R_STRNG: Umwandlung einer Variable vom Typ REAL in eine Variable vom
      Typ STRING,
    4. FC37 STRNG_DI: Umwandlung einer STRING-Variablen in eine Variable vom Typ
      DINT,
    5. FC38 STRNG_I: Umwandlung einer STRING-Variablen in eine Variable vom Typ
      INT,
    6. FC39 STRNG_R: Umwandlung einer STRING-Variablen in eine Variable vom Typ
      REAL
    Siehe auch http://support.automation.siemens.co...ard&viewreg=WW

    Auch gibt es in diesem Forum schon haufenweise zu diesem Thema

  8. #7
    Registriert seit
    15.11.2008
    Beiträge
    14
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey!
    Kann mich den Vorgängern nur anschließen.
    Hab sowas nur auf der 300er und auf a&b gemacht.

    Sehr interessantes projektchen.
    Pass jedoch auf über/ Unterläufe auf.
    Was passiert wenn Partner nicht sendet bzw empfängt?
    Zu empfehlen wäre, dass du mehr Zeichen als benötigt überträgst (sollte noch ein wert dazukommen)

    Gruß
    Plcfritz

  9. #8
    heppy ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.11.2011
    Beiträge
    11
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke euch für die Antworten, hatte gestern mehr mit anderen Arbeiten zu tun - Rückmeldung gibts bald.

    @ EyeQ: gibt es bei TIA solche IEC Funktionen? Wenn ja wo?
    @ plcfritz: Meine SPS empfängt aller 100ms automatisch eine Antwort vom PC, gesendet wird über eine Softkey Taste am KPT. Die Sendefunktion klappt soweit, nur das empfangen bereitet noch Probleme, da ich aus dem String nicht die Daten so herausbekomme wie ich es gern hätte

  10. #9
    heppy ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.11.2011
    Beiträge
    11
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Bin bisher immer noch nicht auf einen grünen Zweig gekommen. Ich kann die eingelesenen Werte nicht auf dem KPT600 anzeigen lassen egal wie ich rangehe.
    Derzeit versuche ich aus den empfangenen Doppelwörtern die einzelnen Chars herauszubekommen ... leider ohne Erfolg am KPT. Wieso kann man denn nur hex, dez, datum/uhrzeit und zeichenkette ausgeben? Ist denn keiner mal auf die Idee gekommen auch Char auszugeben?

    Falls jemand weiter weiß ... ich weiß es auf jeden Fall nicht. Ich les hier erfolgreich alles ein was ich brauche und am Ende kommt immer wieder nur eine Dez oder Hex Zahl am Dispay heraus ...

  11. #10
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kannst Du mal dein Projekt hier hochladen ?

    Es gibt StringChar als variable, damit kann man auch ein Char darstellen.
    Ich mußte vor kurzem noch einen String darstellen, der im DB aber Rückwärts stand, also mußte ich alle Zeichen einzeln darstellen , das ging auch (war aber kein KTP sonden TP177B)
    „Wenn du ein Problem hast, versuche es zu lösen. Kannst du es nicht lösen, dann mache kein Problem daraus.“
    Siddhartha Gautama

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 09.01.2011, 17:54
  2. Antworten: 14
    Letzter Beitrag: 15.10.2010, 11:50
  3. usb - rs232 - internet - rs232 - sps
    Von tojamata im Forum Sonstige Steuerungen
    Antworten: 9
    Letzter Beitrag: 19.02.2010, 10:56
  4. 5-stellige ascii zahl in normale zahl umwandeln
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.01.2006, 16:12
  5. ASCII -> Integer
    Von winniepuh im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 10.11.2005, 08:48

Lesezeichen

Berechtigungen

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