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

Ergebnis 1 bis 9 von 9

Thema: CR (0D hex) --> $R; ETX (03 hex) ---> ???; STX(02 hex) ---> ???;

  1. #1
    Registriert seit
    02.11.2010
    Beiträge
    29
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Wenn ich CR (0D hex) in Step 7 brauche, schreibe ich einfach $R in meinen DB.
    Kann mir einer sagen, was ich bei ETX (03 hex) oder STX (02 hex) in meinen DB schreiben muss.
    Brauche ich vielleicht einen SCL FC?

    Gruß
    Zitieren Zitieren CR (0D hex) --> $R; ETX (03 hex) ---> ???; STX(02 hex) ---> ???;  

  2. #2
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Na dasselbe wie vorher auch. Der Inhalt in den DBs ändert sich ja wegen TIA nicht. Also wenn du im DB ein 02 hex brauchst, lädst du das an diese Stelle.
    Muss aber sagen für Stringarbeiten ist SCL schon schön.
    Ich mach praktisch alle meine Ascii-Telegramme nur noch in SCL, weils einfach einfacher geht.

    mfG René

  3. #3
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    249
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Standard

    Diese Codes kenne ich von S7 Classic:

    Nicht darstellbare Zeichen erhalten einen Ersatzcode.
    Z.B. $'' , $05 oder $P .
    (Benannte Steucodes:
    $T .. $09 .. Tabulator
    $L .. $0A .. Zeilenvorschub
    $P .. $0C .. Seitenvorschub
    $R .. $0D .. Wagenrücklauf )

  4. #4
    xymoro ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.11.2010
    Beiträge
    29
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank!
    @vollmi: Leider weiß ich auch nicht wie das in Step7 funktioniert.
    @holgero: Verstehe ich dich richtig, dass ein $T einem $09 gleichwertig ist? Ist dann folgender Code korrekt?
    #tempString := '$0A$0D' //Zeilenvorschub Wagenruecklauf
    bzw. dem folgenden gleichwertig
    #tempString :='$L$R'

  5. #5
    xymoro ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.11.2010
    Beiträge
    29
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke! funktioniert.
    Geändert von xymoro (19.02.2015 um 19:02 Uhr)

  6. #6
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    249
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Standard

    Zitat Zitat von xymoro Beitrag anzeigen
    @holgero: Verstehe ich dich richtig, dass ein $T einem $09 gleichwertig ist? Ist dann folgender Code korrekt?
    #tempString := '$0A$0D' //Zeilenvorschub Wagenruecklauf
    bzw. dem folgenden gleichwertig
    #tempString :='$L$R'
    Ich habe es jetzt nicht extra nochmal ausprobiert, aber ich behaupte mal: Ja genau so ist es.

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Nimm PLCSIM oder eine echte CPU.
    Schreibe mit einer Variablentabelle (wie heißt das Ding nun in dem TIA?) B#16#02 oder was Dich interessiert in ein Merkerbyte oder DB-Byte und beobachte das Byte als "Zeichen". Wenn es in TIA für diesen ASCII-Wert einen Steuercode $x gibt, dann wird der Dir angezeigt werden. Das geht schneller als in der TIA -Dokumentation zu finden, falls es denn überhaupt vollständig und korrekt dokumentiert ist.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #8
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    249
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Standard

    Es muss z.B. auch folgendes in AWL funktionieren:

    L 'Hall'
    T LD0
    L 'o!$L$R'
    T LD4

  9. #9
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi xymoro

    du kannst jedes Zeichen mittels der durch die IEC61131 definierten Fluchtsymbolic in einen String stopfen.

    wir holgero schon schrieb ist
    $T .. $09 .. Tabulator
    $L .. $0A .. Zeilenvorschub
    $P .. $0C .. Seitenvorschub
    $R .. $0D .. Wagenrücklauf

    ich füge noch hinzu
    $$ .. $24 .. das Dollar
    $' .. $27 .. der Anführungsstrich

    Aber wer Bock hat, der bekommt mit $41 ein A. Starte mal auf deinem Windows das Systemprogramm charmap. Da stehen unten in der Statuszeile die Codierungen der Zeichen drin.

    Folgendes mag C Programmierer erstaunen, ist aber nach IEC 61131 korrekt: 'Ja$00das$00geht$21'
    In dem String befinden sich zwei NUL zeichen und ein ! !-)

    Schwieriger wird es jetzt mit äöü. STRING ist abhängig von der eingestellten CodePage. Das was ein Franzose im DB hinterlassen hat, sieht bei einem Tschechen ganz anders aus. Deswegen auch seit V12 die blöde Warnung.

    Ob WSTRING da wirklich ein Abhilfe ist ... erstens sind da die gleiche Texte erst mal dopplet so breit.
    Aber der Trick mit dem $ geht auch da. Jetzt müssen allerding 4 Stellen Hex angegeben werden.

    $T .. $0009 .. Tabulator
    $L .. $000A .. Zeilenvorschub
    $P .. $000C .. Seitenvorschub
    $R .. $000D .. Wagenrücklauf
    $$ .. $0024 .. das Dollar
    $' .. $0027 .. der Anführungsstrich
    $0000 das NUL
    $0041 das A
    $00C4 das Ä
    $0394 das Delta

    Somit ist WSTRING#'Ist$Lja$0000toll$0021' eine zulässige Angabe

    'n schön' Tach auch
    HB

Ähnliche Themen

  1. Real to Hex
    Von TwinCatBeginner im Forum CODESYS und IEC61131
    Antworten: 12
    Letzter Beitrag: 29.03.2015, 21:01
  2. Integer in Hex
    Von snowkopp im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 22.09.2009, 20:42
  3. HEX Konvertierung?
    Von Codesys_123 im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 09.06.2009, 19:34
  4. Integer, Hex
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.01.2006, 22:08
  5. Int --> Hex
    Von merlin im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 01.08.2005, 16:30

Lesezeichen

Berechtigungen

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