TIA Split Funktion wirft Fehler 16#8484

nik20099

Level-2
Beiträge
68
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Leute,
ich versuche mit einer S7-1500 ein Array of Char mit der Split Funktion in getrennte Werte zu packen.

mein Array of Char sieht wie folgt aus:
tempCData[0] '*'
tempCData[1] ' '
tempCData[2] ' '
tempCData[3] '0'
tempCData[4] ';'
tempCData[5] ' '
tempCData[6] '9'
tempCData[7] '1'
tempCData[8] ' '
tempCData[9] ' '
tempCData[10] '}'
tempCData[11] ' '

das Ergebniss an sich passt auch:
tempSData[0] String[3]' 0'
tempSData[1] String[3]' 91'

Allerdings bekomm ich als RetVal den Wert: 16#8484 (Zusätzliche Zeichen gefunden.)

Wenn allerdings die letzte Zahl einstellig ist:
tempCData[0] '*'
tempCData[1] ' '
tempCData[2] ' '
tempCData[3] '0'
tempCData[4] ';'
tempCData[5] ' '
tempCData[6] '9'
tempCData[7] ''
tempCData[8] ' '
tempCData[9] '} '
tempCData[10] ' '

tempSData[0] String[3]' 0'
tempSData[1] String[3]' 9 '

bekomme ich den Fehler nicht.

Was mache ich verkehrt?
 

Anhänge

  • 1.png
    1.png
    23,3 KB · Aufrufe: 33
  • 2.png
    2.png
    22,6 KB · Aufrufe: 33
Ich habe dein Problem nicht wirklich verstanden. Der 2. Aufruf, bei dem im tempCData[7] ein Leerstring steht, bekommst du nicht ?
Sehen deine Array's mit dem tempCData immer identisch aus ? Wenn ja - wozu brauchst du dann den Split ? Deine Wunschergebnisse stehen doch immer an derselben Stelle ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das Ergebniss an sich passt auch:
tempSData[0] String[3]' 0'
tempSData[1] String[3]' 91'

Allerdings bekomm ich als RetVal den Wert: 16#8484 (Zusätzliche Zeichen gefunden.)
versuche mal mit Mode = 2

Wenn allerdings die letzte Zahl einstellig ist:
tempCData[0] '*'
tempCData[1] ' '
tempCData[2] ' '
tempCData[3] '0'
tempCData[4] ';'
tempCData[5] ' '
tempCData[6] '9'
tempCData[7] ''
tempCData[8] ' '
tempCData[9] '} '
tempCData[10] ' '

tempSData[0] String[3]' 0'
tempSData[1] String[3]' 9 '

bekomme ich den Fehler nicht.
tempCData[7] ist hier anscheinend ein Byte B#16#00 ? Wird das vielleicht als String-Ende interpretiert?
Was passiert, wenn du anstatt dem B#16#00 ein richtiges (druckbares) Leerzeichen ' ' (B#16#20) hineinschreibst?
 
Moin und Frohe Ostern Nachträglich euch allen :)

also ich habe meinen Fehler soeben gefunden.

Undzwar ist beim Ziel "Array of String" der String zu Kurz gewesen.

Trotzdem danke für eure konstruktiven Vorschläge :)
 
Zurück
Oben