Vielen Dank für die Antwort, aber ganz klar ist mir die sache noch nicht...
Vielleicht erkläre ich mal was ich eigentlich machen will und füge mal meinen bisherigen Quelltext hinzu.
Ich habe einen Funktionsbaustein FB_XMLread, den ich in meinem Programm aufrufe und einige Werte übergebe.
Inenrhalb des Funktionbausteins rufe ich sowohl den Baustein XML_READER als auch den Baustein FILE_SERVER auf.
Mein größtes Problem liegt darin, dass ich mit den internen Variablen der beider Bausteine nicht zurechtkomme.
Mein bisheriger Quellcode sieht wie folgt aus:
VAR_INPUT
Element:STRING(255);
Attribute:STRING(255);
Value:STRING(255);
yFileName:STRING;
END_VAR
VAR_OUTPUT
END_VAR
VAR
fbXMLread: XML_READER;
fbFileOpen: FILE_SERVER;
Path:STRING(255);
(*fileOpen*)
FSD : FILE_SERVER_DATA;
PT : NETWORK_BUFFER;
(*xml-Read*)
CTRL : XML_CONTROL;
BUF : NW_BUF_LONG;
BufSize: UINT;
END_VAR
(*VAR_IN_OUT
END_VAR*)
yFileName := CONCAT(sCurrentFilenameMonitor,'.xml');
(*Dateikonfigurationen zum öffnen*)
FSD.FILENAME := yFileName;(*Dateiname an FILE_SERVER übergeben*)
FSD.MODE:= 1;(*Datei wird für Lesezugriff geöffnet*)
FSD.OFFSET:=0;(*Kein Offset beim öffnen der Datei*)
BufSize:= PT.SIZE;
fbFileOpen();
BufSize:= PT.SIZE;
CTRL.START_POS:= 0;
CTRL.STOP_POS := BufSize-1;
CTRL.ATTRIBUTE := Attribute;
CTRL.ELEMENT:= Element;
CTRL.VALUE:= Value;
fbXMLread.CTRL:=1;
fbXMLread.BUF:= BufSize;
fbXMLread();
Ctrl_1 := fbXMLread.CTRL;
Um schnelle Antwort wäre ich sehr dankbar.
Grüße Christian