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

Ergebnis 1 bis 9 von 9

Thema: Wert von 1 SI ASCII als String speichern

  1. #1
    Registriert seit
    19.02.2013
    Beiträge
    43
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich bekomme den Wert was ich über 1 SI ASCII RS232 Schnittstelle lese als ASCII Wert, weiss aber nicht wie ich es als String speichern soll. Später muss die Werte mit den bei mir in einer Tabelle vorhandenen Werte vergleichen.
    Gibt es dafür Beispielprogramme?
    Bin gewohnt mit Beckhoff zu arbeiten aber S7 ist für mich leider noch ganz neu.
    Zitieren Zitieren Wert von 1 SI ASCII als String speichern  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    ein Byte-Array mit ASCII-Zeichen drin ist im Grunde schon fast ein String. Der einzige Unterschied zu einem String ist, dass der einen Header hat, in dem steht, wie lang der String deklariert ist und wieviele Zeichen er beinhaltet.
    Du bräuchtest also nur die empfangenen Zeichen in einen passenden String zu übertragen.
    Wie willst du das Code-technisch umsetzen ? AWL oder SCL ?

    Gruß
    Larry

  3. #3
    Goeky ist offline Benutzer
    Themenstarter
    Registriert seit
    19.02.2013
    Beiträge
    43
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Benutzte Code AWL. Leider habe ich kein SCL, damit hätte ich keine Probleme.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... dann mußt du dir einen ANY-Pointer auf den Datenbereich des deklarierten String bilden (String-Adresse +2) und einen auf deine Quell-Daten. Die Quelldaten dann mit Blockmove (SFC20) auf die Ziel-Adresse übertragen und anschließend den String-Header (deklarierte Länge, tatsächliche Länge) anpassen.

    ... oder alles Byte für Byte handisch ... (wenn es nur ein paar Bytes sind)

    Gruß
    Larry

  5. #5
    Goeky ist offline Benutzer
    Themenstarter
    Registriert seit
    19.02.2013
    Beiträge
    43
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok, vielen Dank. String habe ich gebildet.
    Wie kann ich diesen String beobachten? Im Variablentabelle sehe ich nix und auch nicht in DB kann ich Wert lesen. Welche Möglichkeiten habe ich dafür?

  6. #6
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .
    1. Du gibst deinen DBxx.DBWyy als Operanden in der VAT an.

    2. Du wählst in der VAT das Anzeigeformat "Zeichen".

    Pro Zeile siehst du aber nur 2 Zeichen, die nächsten
    Zeichen liegen im darauf folgenden DW, das du in der
    nächsten Zeile angeben und beobachten kannst.
    kind regards
    SoftMachine

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Mit Variablentabelle die Bytes an den Adressen beobachten auf denen der String liegt.
    Je 1 oder 2 oder 4 Bytes als HEX oder Zeichen

    Da sieht man auch sehr schön, daß die Zeichen des Strings erst ab Anfangsadresse+2 liegen.
    Byte Anfangsadresse + 0: maximale Länge des Strings
    Byte Anfangsadresse + 1: aktuelle Länge des Strings
    Byte Anfangsadresse + 2 ...: die Zeichen des Strings

    Harald
    Angehängte Grafiken Angehängte Grafiken
    Geändert von PN/DP (22.01.2014 um 16:02 Uhr) Grund: Bild zugefügt
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #8
    Goeky ist offline Benutzer
    Themenstarter
    Registriert seit
    19.02.2013
    Beiträge
    43
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank. Es klappt

  9. #9
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    .
    Glückwunsch !
    kind regards
    SoftMachine

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 25.11.2013, 16:45
  2. String nach konvertieren Array ASCII-codierter
    Von Jense586 im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 04.12.2012, 14:02
  3. Word übertragen in String=ASCII
    Von Trötschi im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 26.08.2010, 07:55
  4. String als Wert an ein Control Rückgeben (WinCC)
    Von Jochen Kühner im Forum HMI
    Antworten: 1
    Letzter Beitrag: 10.06.2008, 10:28
  5. OPC-Daten (von Allen Bradley) am PC in ASCII-File speichern
    Von ANo im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 25.05.2005, 09:37

Lesezeichen

Berechtigungen

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