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

Results 1 to 5 of 5

Thread: TIA Byte folge in HEX und/oder String konvertieren

  1. #1
    Join Date
    16.08.2019
    Posts
    2
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo erstmal,
    ich habe ein Problem bei der Konvertierung von KeyDaten (Bytes) in String.
    Ich lese im TIA (V15) ein 128 Byte grossen Addressbereich ein. Dort liegen die Daten eines E-Keys.
    Unter anderem beinhaltet die Datenstruktur eine Key ID (8Bytes) und eine Benutzer ID (7Bytes).

    Benutzer ID:
    Byte1 := 16x31 | ergibt CHR(31) = "1"
    Byte2 := 16x30 | ergibt CHR(31) = "0"
    Byte3 := 16x30 | ergibt CHR(31) = "0"
    Byte4 := 16x32 | ergibt CHR(31) = "2"
    Byte5 := 16x30 | ergibt CHR(31) = "0"
    Byte6 := 16x30 | ergibt CHR(31) = "0"
    Byte7 := 16x33 | ergibt CHR(31) = "3"

    Die Benutzer ID wird also als Charakter aus dem Wert des Bytes generiert und soll am Ende "1002003" ergeben.

    Die Key ID :
    Byte1 : 16x31 | ergibt "31"
    Byte2 : 16x2B | ergibt "2B"
    Byte3 : 16x00 | ergibt "00"
    Byte4 : 16xA4 | ergibt "A4"
    Byte5 : 16x06 | ergibt "06"
    Byte6 : 16x14 | ergibt "14"
    Byte7 : 16xB0 | ergibt "B0"

    Bei der Key ID wird also nicht das ASCII Zeichengesucht, sondern der hinterlegte HEX Wert soll als String
    die Zeichenfolge "312B00A40614B0" ergeben.

    Habe die ganze Nacht alle Konvertierungsbefehle und Bausteine in KOP und SCL durchgetestet, bin wohl zu müde oder zu untalentiert
    Die BenutzerID habe ich noch hinbekommen (sehr umständliches zusammenbauen von Strings - gefiel mir am Ende nicht wirklich)

    (Zu meiner Verteidigung: ich programmiere eigentlich im Bereich C++ und C# ... und ehrlich .... was man im SPS Bereich an Werkzeug (Befehlen)
    zur Verfügung gestellt bekommt - auweia, ganz schön mager - Die ganze Funktion wäre in C# ein Fünfzeiler ...oder habe ich nicht die richtigen Bausteine gefunden???)


    Also, falls mir da jemand auf die Sprünge helfen kann - mein ewiger Dank wird Dir gehören!

    In dem Sinne
    Gruss an die Gemeinde
    Reply With Quote Reply With Quote Answered: TIA Byte folge in HEX und/oder String konvertieren  

  2. "Moin,
    zu deiner ID: Befehl lautet Chars_TO_Strg.
    zu deiner Key-ID: Befehl lautet HTA."


  3. #2
    Join Date
    29.03.2004
    Posts
    6,625
    Danke
    161
    Erhielt 2,014 Danke für 1,431 Beiträge

    Default

    Das hat man doch schnell zu Fuß programmiert
    Du verarbeitest die Bytes in einer For-Schleife. Nimmst dir aus dem Byte erst das eine Nibble vor und konvertierst den Wert in ein entsprechendes Zeichen (entweder über eine Lookup-Table oder über ein case mit 16 Bedingungen), hängst das Zeichen an deine Zeichenkette an, dann das gleiche mit dem anderen Nibble und dann weiter in der Schleife bis alle Bytes verarbeitet sind.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  4. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    Spawn14 (16.08.2019)

  5. #3
    Join Date
    27.06.2015
    Location
    Hamburg
    Posts
    860
    Danke
    159
    Erhielt 238 Danke für 198 Beiträge

    Default

    Moin,
    zu deiner ID: Befehl lautet Chars_TO_Strg.
    zu deiner Key-ID: Befehl lautet HTA.
    "Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden." - John Ruskin

  6. #4
    Spawn14 is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.08.2019
    Posts
    2
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Der HTA ... der wars! mit CHARS_To STRG gehts übrigens nicht, muss BYTE_To_CHAR sein ... und dann mit Concat zusammenfügen..
    jetzt funktionierts jedenfalls so wies soll!
    Danke noch mal an Euch für die schnelle Hilfe

  7. #5
    Join Date
    27.06.2015
    Location
    Hamburg
    Posts
    860
    Danke
    159
    Erhielt 238 Danke für 198 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Spawn14 View Post
    ... mit CHARS_To STRG gehts übrigens nicht...
    hm eigentlich sollte der auch ein Byte-Array als Quelle akzeptieren.
    Chars_To_Strg.JPG
    * aus der Siemens-Hilfe

    Quote Originally Posted by Spawn14 View Post
    Danke noch mal an Euch für die schnelle Hilfe
    sehr gerne und ein guten Start ins Wochenende
    Last edited by Howard; 16.08.2019 at 11:50. Reason: Bild hinzugefügt
    "Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden." - John Ruskin

Similar Threads

  1. Step 7 HEX to String
    By GFuchs84 in forum Simatic
    Replies: 12
    Last Post: 29.07.2015, 23:26
  2. TIA String oder char array to REAL konvertieren
    By ludi81 in forum Simatic
    Replies: 6
    Last Post: 06.01.2015, 19:32
  3. Replies: 2
    Last Post: 11.10.2012, 16:51
  4. Replies: 13
    Last Post: 24.09.2009, 12:54
  5. Hex In String
    By MichaelHuf in forum Simatic
    Replies: 11
    Last Post: 05.12.2006, 21:18

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •