FILEOPEN

FILEOPEN 1:

Mit diesem Funktionsbaustein kann eine Datei neu angelegt, bzw. eine bereits bestehende und geschlossene Datei zur weiteren Bearbeitung erneut geöffnet werden.

VAR_INPUT

VAR_INPUT
    NETID       : T_AmsNetId;  (* ams net id *)
    FPATHNAME   : T_MaxString;    (* default max filename length = 255 *)
    OPENMODE    : DWORD;        (* open mode flags *)
    OPEN        : BOOL;     (* open control input *)
    TMOUT       : TIME;
END_VAR

NETID : Ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird.

FPATHNAME : Enthält den Pfad- und Dateinamen der zu öffnenden Datei.

FILEOPEN 2:

Der Pfad kann nur auf das lokale Filesystem des Rechners zeigen. Das bedeutet, Netzwerkpfade können hier nicht angegeben werden!

OPENMODE : Enthält den Modus für das Öffnen der Datei. Die nachfolgend aufgeführten Codes sind die verschiedenen Öffnungsmodi, die bereits in der Bibliothek als Konstanten vordefiniert sind, und dem Baustein dementsprechend symbolisch übergeben werden können. 

OPEN : Durch eine steigende Flanke an diesem Eingang wird der ADS-Befehl ausgelöst.

TMOUT : Gibt die Zeit bis zum Abbruch der Funktion an.

VAR_OUTPUT

VAR_OUTPUT
    BUSY        : BOOL;
    ERR         : BOOL;
    ERRID       : UDINT;
    HFILE       : UINT;     (* file handle *)
END_VAR

BUSY : Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt, längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten, Zeit. Während Busy = TRUE wird an den Eingängen kein neuer Befehl angenommen.

FILEOPEN 3:

Es wird nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht.

ERR : Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in 'ErrorId' enthalten. Wenn der Baustein ein Timeout-Fehler hat, so ist 'Error' = TRUE und 'ErrorId' = 1861 (Hexadezimal 0x745). Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.

ERRID : Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt.

HFILE : Enthält, nach erfolgreichem Öffnen, das erzeugte File-Handle für die Datei.

 

Beispiel für den Aufruf des Bausteins in FBD:

FILEOPEN 4:

Hierbei soll die Datei "TestFile2.txt" im Root-Verzeichnis des Laufwerks "C:" angelegt bzw. Überschrieben werden. Im Beispiel ist ein ordnungsgemäßes Handle für die Datei erzeugt worden. Dieses Handle wird nun an die nachfolgend beschriebenen File-Funktionsbausteine als Kennung für die zu bearbeitende Datei übergeben.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.7.0

PC or CX (x86)

PLCSystem.Lib

TwinCAT v2.8.0

PC or CX (x86)

TcSystem.Lib

TwinCAT v2.10.0 Build >= 1301

CX (ARM)

TcSystem.Lib