CSVFIELD_TO_STRING

CSVFIELD_TO_STRING 1:

Die Funktion konvertiert ein Datenfeld im CSV-Datenfeldformat der als Quellstring vorliegt in einen Wert im SPS-Stringformat. Doppelte Einführungszeichen im Quellstring werden durch ein einfaches Einführungszeichen ersetzt. Beim gesetzten bQM-Parameter (QM = quotation marks) werden auch die äußeren (das Datenfeld einschließenden) Einführungszeichen aus dem Quellstring entfernt. Beim Erfolg liefert die Funktion den konvertierten String als Ergebnis zurück. Die Funktion liefert einen Leerstring wenn bei der Konvertierung ein Fehler aufgetreten ist aber nur dann wenn der Quellstring auch kein Leerstring war.

Die Funktion wird normalerweise zusammen mit dem Funktionsbaustein FB_CSVMemBufferReader verwendet um Datensätze im SPS-Speicher die im CSV-Format vorliegen zu lesen (zu interpretieren). Vorher werden die CSV-Datensätze meistens aus einer Datei in den SPS-Speicher eingelesen. Der Quellstring darf keine Binärdaten enthalten. Binärdaten mit dem Wert Null werden den String an der falschen Stelle terminieren und abschneiden! Um Datenfelder mit Binärdaten zu konvertieren verwenden Sie bitte die Funktion: CSVFIELD_TO_ARG.

FUNCTION CSFIELD_TO_STRING : T_MaxString

VAR_INPUT

VAR_INPUT
    in  : T_MaxString;
    bQM : BOOL;
END_VAR

in: Quellstring mit einem Datenfeld im CSV-Format der in einen Wert im SPS-Stringformat konvertiert werden soll (Typ: T_MaxString).

bQM: Bei TRUE an diesem Eingang werden aus dem Quellstring auch die einschließenden Einführungszeichen entfernt.

bQM

Beschreibung

Quellstring

Ergebnisstring

CSV-Konform

FALSE

Ein Quellstring , der nicht mit den einschließenden Einführungszeichen versehen wird sollte möglichst nur aus Buchstaben und Zahlen bestehen. In diesem Fall darf der Quellstring keine nicht-druckbaren Steuerzeichen, Einführungszeichen, Semikolons, Kommas (US-CSV-Format) oder Binärdaten enthalten.

'Module_XA5'

'123456'

''

'Module_XA5'

'123456'

''

Ja

Ja

Ja

'A""""B'

'A""B'

Nein

'A""B'

'A"B'

Nein

';'

';'

Nein

'$R$N'

'$R$N'

Nein

'AB$00CD'

'AB' (String wurde abgeschnitten)

Nein

TRUE

Ein Quellstring , der mit den einschließenden Einführungszeichen versehen wird darf auch die nicht-druckbaren Steuerzeichen, Einführungszeichen, Semikolons, Kommas (US-CSV-Format) enthalten. Binärdaten sind nicht zulässig.

'"Module_XA5"'

'Module_XA5'

Ja

'"123456"'

'123456'

Ja

 

'""'

''

Ja

 

'"A""""B"'

'A""B'

Ja

 

'"A""B"'

'A"B'

Ja

 

'";"'

';'

Ja

 

'"$R$N"'

'$R$N'

Ja

 

'"AB$00CD"'

'AB' (String wurde abgeschnitten)

Nein

 

Beispiel:

PROGRAM MAIN
VAR
    s1 : STRING;
    s2 : STRING;
END_VAR
s1 := CSVFIELD_TO_STRING( '"ab_$04_$05_cd-""ALFA""_5"', TRUE );
s2 := CSVFIELD_TO_STRING( 'Module_50', FALSE );

Das Ergebnis:

s1 = 'ab_$04_$05_cd-"ALFA"_5'

s2 = 'Module_50'

Weitere Informationen finden Sie hier: Beispiel: Schreiben/lesen einer CSV-Datei.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken (Kategoriegruppe)

TwinCAT v3.1.0

PC oder CX (x86, x64, ARM)

Tc2_Utilities (System)