FILEOPEN
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.
![]() | 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.
- FILE_OPENCREATE Erzeugen und Öffnen einer Datei (Bereits bestehende Dateien werden bei diesem Modus überschrieben!). FILE_OPENREAD Öffnen einer Datei für lesenden Zugriff;
- FILE_OPENWRITE Öffnen einer Datei zum Schreiben beginnt am Anfang der Datei.
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.
![]() | 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:

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 |