Konfiguration

FileType-Objekte werden in einem separaten Namensraum mit der Bezeichnung „FileTransfer” erstellt. Zur Konfiguration des Namensraums und zur Auswahl der über OPC UA verfügbaren Dateien und Ordner dient eine XML-Datei (files.xml), die in demselben Verzeichnis wie die ausführbare Datei des OPC UA Servers sein muss. Um die Konfiguration zu aktivieren, muss das System neu gestartet werden. Die XML-Datei enthält Informationen über den Ordnerpfad und eine Suchmaske, die definiert, welche Dateien im OPC‑UA‑Namensraum veröffentlicht werden:

<Files>
  <FolderObject DisplayName="TwinCAT">
    <FolderObject DisplayName="3.1">
      <FolderObject DisplayName="Boot" Path="c:/TwinCAT/3.1/Boot" Search="*.*" >
        <FolderObject DisplayName="Plc" Path="c:/TwinCAT/3.1/Boot/Plc" Search="*.*" ></FolderObject>
        <FolderObject DisplayName="Tmi" Path="c:/TwinCAT/3.1/Boot/Tmi" Search="*.*" ></FolderObject>
      </FolderObject>
    </FolderObject>
  </FolderObject>
</Files>

Lesen einer Datei mit einem OPC UA Client

Der allgemeine Umgang mit Dateien ist in Anhang C der OPC-UA-Spezifikation beschrieben.
Das Lesen einer Datei via OPC UA kann somit in folgende Schritte unterteilt werden:

Dateimodi

Die folgende Tabelle zeigt alle verfügbaren Dateimodi:

Feld

Bit

Beschreibung

Lesen

1

Die Datei wird zum Lesen geöffnet. Wenn dieses Bit nicht gesetzt ist, kann Read nicht ausgeführt werden.

Schreiben

4

Die Datei wird zum Schreiben geöffnet. Wenn dieses Bit nicht gesetzt ist, kann Write nicht ausgeführt werden.

EraseExisting

6

Der vorhandene Dateiinhalt wird gelöscht und es wird eine leere Datei zur Verfügung gestellt.

Append

10

Die Datei wird geöffnet und ans Ende positioniert, sonst auf den Anfang. Diese Position kann mit SetPosition geändert werden.

Generelles Verhalten

Die Anzahl an parallel geöffneten Dateien ist prinzipiell unlimitiert und unterliegt ggf. nur etwaigen Einschränkungen des zugrunde liegenden Betriebssystems. Dateien unterliegen jedoch einem 60-Sekunden Timeout. Nach diesem Timeout werden offene Dateien nicht sofort automatisch geschlossen. Anstelle dessen werden sie als „zu-schließend“ markiert. Wenn während dieser Zeit das entsprechende FileHandle für eine Read-/Write-Operation verwendet wird, wird der Timeout zurückgesetzt und das FileHandle bleibt gültig. Wenn während dieser Zeit eine Open-Operation auf derselben Datei durchgeführt wird, wird das alte FileHandle freigegeben. Wenn ein OPC UA Client seine Verbindung zum Server trennt und noch Dateien geöffnet hat, werden alle FileHandles, die zu dieser Sitzung gehören, automatisch geschlossen.