FB_XmlSrvWrite

Mit dem Funktionsbaustein FB_XmlSrvWrite kann der Wert einer SPS-Variablen in eine XML-Datei geschrieben werden. Die Eingangsvariable sXPath muss dabei auf einen gültigen Knoten in der mit sFilePath angegebenen XML-Datei zeigen. Das Symbol, das geschrieben werden soll, wird anhand der übergebenen Symboladresse und Symbolgröße eindeutig identifiziert.
VAR_INPUT
VAR_INPUT
sNetId : T_AmsNetId;
ePath : E_OpenPath := PATH_GENERIC;
nMode : WORD := XMLSRV_SKIPMISSING;
pSymAddr : DWORD;
cbSymSize : UDINT;
sFilePath : T_MaxString;
sXPath : T_MaxString;
bExecute : BOOL;
tTimeout : TIME := T#60s;
END_VAR
sNetId: String mit der Netzwerkadresse des TwinCAT 3 Xml Servers. Für den lokalen Rechner (default) kann auch ein Leerstring angegeben werden.
ePath: Über diesen Eingang kann ein TwinCAT-Systempfad auf dem Zielgerät zum Öffnen der Datei angewählt werden.
nMode: Über diesen Eingang ist das Verhalten beeinflussbar, mit welchen Daten die XML-Datei beschrieben wird. Für den Befehl XmlSrvWrite gibt es den Modus XMLSRV_SKIPMISSING und XMLSRV_ADDMISSING. Im Modus XMLSRV_SKIPMISSING werden nur die Sub-Elemente eines SPS-Symbols in die XML-Datei geschrieben, die bereits vorher in der XML-Datei existierten. Im Modus XMLSRV_ADDMISSING werden in der XML-Datei fehlende Subelement der XML-Datei hinzugefügt. Ab Produktversion 3.2.31.0 ist es möglich mit den Parametern XMLSRV_SERIALIZESYMCOMMENT und XMLSRV_SERIALIZETYPECOMMENT die Kommentare aus dem Deklarationsbereich mit in die XML Datei zu schreiben.
pSymAddr: Adresse der SPS-Variablen, die in die XML-Datei geschrieben werden soll.
cbSymSize: Größe der SPS-Variablen, die in die XML-Datei geschrieben werden soll.
sFilePath: Enthält den Pfad- und Dateinamen der zu öffnenden Datei. Der Pfad kann nur auf das lokale Filesystem des Rechners zeigen! Das bedeutet, Netzwerkpfade können hier nicht angegeben werden!
sXPath: Enthält die Adresse des Tags im XML-Dokument, aus der die Daten geschrieben werden soll. Die Adresse muss eine gültige XPath-Anweisung sein. Der Name des Tags muss dabei nicht dem Namen des Symbols entsprechen.
bExecute: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.
tTimeout: Maximale Zeit, die bei der Ausführung des Funktionsbausteins nicht überschritten werden darf.
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
END_VAR
bBusy: Dieser Ausgang wird bei der Aktivierung des Funktionsbausteins gesetzt und bleibt so lange gesetzt, bis eine Rückmeldung erfolgt.
bError: Dieser Ausgang wird, nachdem der bBusy-Ausgang zurückgesetzt wurde, gesetzt, sollte ein Fehler bei der Übertragung des Kommandos erfolgen.
nErrId: Liefert bei einem gesetzten bError-Ausgang die TC3 XML Server Fehlernummer.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v3.1 Build 4011 | PC oder CX (x86, x64, ARM) | Tc2_XmlDataSrv |