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 Symbol-Adresse und Symbol-Größ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 XML Data 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.
pSymAddr: Adresse der SPS Variable, die in die XML-Datei geschrieben werden soll.
cbSymSize: Größe der SPS Variable, die in die XML-Datei geschrieben werden soll.
sFilePath: Enthält den Pfad- und Dateinamen der zu öffnenden Datei. Hinweis: 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 solange 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 TwinCAT Xml Data Server Fehlernummer.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.10.0 ab Build 1235 | PC oder CX (x86) | TcXmlDataSrv.Lib |