FB_XmlSrvWrite

FB_XmlSrvWrite 1:

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