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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: BYTE in STRING Konvertierung

  1. #11
    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
    Zitat Zitat von Ralle Beitrag anzeigen
    Es kann einfach ein Byte sein, dann kannst du das in der Variablentabelle als Zeichen ansehen.Ein String geht auch, aber den kannst du in der Variablentabelle nur ansehen, indem du in der VAT untereinander jedes Byte einzeln ausgeben läßt. Es wäre gut zu wissen, was du denn überhaupt tun willst. Du hast schon des Char-Zeichen 'R' im richtigen Format 52hex vorliegen.
    Hi, Ralle,
    geht auch mit einem Wort, also 2 CHAR (aus den beiden Bytes des Wortes) nebeneinander.
    Gruss
    kind regards
    SoftMachine

  2. #12
    Registriert seit
    28.06.2012
    Beiträge
    42
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich will mit dem CONCAT-Befehl auf diesen STRING zugreifen und ein R auf meinen Moitor sehen, da kommt aber immer eine 82??

  3. #13
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Dazu mußt du auch einen String definieren. Concat kann nur auf einen initialisierten String zugreifen. Am einfachsten legst du in einem Datenbaustein einen String an und nutzt diesen. Concat verkettet Strings, was also willst du damit auf einen String zugreifen??? Was genau willst du machen?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #14
    Registriert seit
    28.06.2012
    Beiträge
    42
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich lese in einem FB mit dem SFC 51 I&M0 -Daten aus, welche in einen Instanz-DB geschrieben werden , dann wird ein relevantes BYTE (in dem Fall B#16#52)erst in einen INTEGER und danach in einen STRING umgewandelt. Diesen STRING packe in einen globalen DB. Mit dem CONCAT-Befehl greife ich auf dem STRING zu. Der mit CONCAT zusammengemergte STRING wird auf einem Monitor ausgegeben(RS232-Kommunikation)...,dort sehe ich aber immer nur die 82 stehen und kein "R"....wie geht das?

  5. #15
    Registriert seit
    17.10.2009
    Beiträge
    37
    Danke
    4
    Erhielt 11 Danke für 11 Beiträge

    Standard

    In der Variablentabelle kannst du das Byte z.B. DB1.DBB0 u.a. als Dezimal oder auch als Zeichen darstellen lassen. Wenn du ein Byte in einen String konvertieren willst, ist entscheidend, ob Du den Zahlenwert als String haben willst oder das dem ASCII-Code entsprechende Zeichen.
    Willst Du den Zahlenwert haben, kannst Du die Konvertierungsfunktionen Int_To_String(Byte_To_Int(x)) verwenden. Willst Du das Zeichen konvertieren benutzt Du BYTE_TO_CHAR.
    Für String-Konvertierungen gibt es auch in der Oscat-Bibliothek www.Oscat.de einige Funktionen mit denen man sich die Arbeit erleichtern kann. Habe ich auch schon oft benutzt wenn ich zu faul war mir selbst Gedanken zu machen. Man muß das Rad ja nicht zwei mal erfinden.

    Vielleicht hilft es als Anregung ?

  6. Folgender Benutzer sagt Danke zu fmbux für den nützlichen Beitrag:

    SCLNewbie (11.10.2012)

  7. #16
    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
    Zitat Zitat von SCLNewbie Beitrag anzeigen
    Ich lese in einem FB mit dem SFC 51 I&M0 -Daten aus, welche in einen Instanz-DB geschrieben werden , dann wird ein relevantes BYTE (in dem Fall B#16#52)erst in einen INTEGER und danach in einen STRING umgewandelt. Diesen STRING packe in einen globalen DB. Mit dem CONCAT-Befehl greife ich auf dem STRING zu. Der mit CONCAT zusammengemergte STRING wird auf einem Monitor ausgegeben(RS232-Kommunikation)...,dort sehe ich aber immer nur die 82 stehen und kein "R"....wie geht das?
    1. CONCAT verbindet 2 Strings zu einem. Wenn du auf deinen String zugreifst und den verbinden willst, welcher ist der zweite ?
    2. Bei der Ausgabe am Monitor würde ich mal schauen, welches Format dafür projektiert ist (INT oder STRING oder ASCII oder was auch immer)
    3. Schön wäre es, hier mal konkrete Angaben zu posten (Code oder ScreenShot), damit du gezielte Hilfe erhalten kannst.
    4. Dein "DrumHerumEiern" um die eigentliche Aufgabe verzögert doch nur die Lösung für dich selbst, leider.
    kind regards
    SoftMachine

Ähnliche Themen

  1. String := '$Byte';
    Von SirTom78 im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 04.09.2011, 00:54
  2. Byte in String wandeln
    Von matchef im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 15.10.2010, 17:03
  3. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  4. Byte -> Wort->String
    Von Reblaus im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 13.12.2006, 16:35
  5. Konvertierung Real in String
    Von linax im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 08.12.2003, 17:40

Lesezeichen

Berechtigungen

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