STRING_TO_CSVFIELD

STRING_TO_CSVFIELD 1:

Die Funktion konvertiert den Wert einer SPS-Stringvariablen in ein Datenfeld im CSV-Format als String. Einfache Einführungszeichen im Quellstring werden durch doppelte Einführungszeichen ersetzt. Beim gesetzten bQM-Parameter (QM = quotation marks) werden auch die äußeren (das CSV-Datenfeld einschließenden) Einführungszeichen hinzugefügt. 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_CSVMemBufferWriter verwendet um Datensätze im SPS-Speicher im CSV-Format zu erzeugen. Im nächsten Schritt kann der Speicherinhalt dann in die Datei geschrieben werden.

Der Quellstring darf keine Binärdaten enthalten. Binärdaten mit dem Wert Null würden den String an der falschen Stelle terminieren und abschneiden! Um Binärdaten zu konvertieren verwenden Sie bitte die Funktion: ARG_TO_CSVFIELD.

FUNCTION STRING_TO_CSVFIELD : T_MaxString

VAR_INPUT

VAR_INPUT
    in  : T_MaxString;
    bQM : BOOL;
END_VAR

in: Quellstring dessen Wert in ein Datenfeld im CSV-Format konvertiert werden soll (Typ: T_MaxString).

bQM: Bei TRUE an diesem Eingang werden dem Ergebnisstring auch die einschließenden Einführungszeichen hinzugefügt.

bQM

Beschreibung

Quellstring

Ergebnisstring

CSV-Konform

FALSE

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, Semikolon, Komma (US-CSV-Format) oder Binärdaten enthalten.

 

 

 

'Module_XA5'

'Module_XA5'

Ja

'123456'

'123456'

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

Quellstring, der mit den einschließenden Einführungszeichen versehen wird, darf auch die nicht-druckbaren Steuerzeichen, Einführungszeichen, Semikolon oder Komma (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 := STRING_TO_CSVFIELD( 'Module_"ALFA_$05"_6', TRUE );
s2 := STRING_TO_CSVFIELD( 'Module_50', FALSE );

Das Ergebnis:

s1 = '"Module_""ALFA_$05""_6"'

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)