Beispiel19: Synchroner Dateizugriff

Dieser Artikel beschreibt die Implementierung eines TC3 C++ Moduls, das auf Dateien auf der Festplatte während des Starts eines Moduls, also in Echtzeitumgebung, zugreifen kann.

Download

Erhalten Sie den Quellcode für dieses Beispiel.

1. Entpacken Sie die heruntergeladene ZIP-Datei.
2. Öffnen Sie mittels eines Visual Studios, in dem TwinCAT installiert ist, das Projekt über Open Project ….
3. Konfigurieren Sie das Signieren für dieses Projekt, indem Sie auf der Seite unter Rechtsklick auf dem Projekt->Properties->Tc Sign die TwinCAT Signierung anschalten und Ihr Zertifikat und ggf. Passwort konfigurieren.
Weitere Informationen zur Signierung der C++ Projekte erhalten Sie hier.
4. Wählen Sie Ihr Zielsystem aus.
5. Bauen Sie das Beispiel (z. B. Build->Build Solution).
6. Aktivieren Sie die Konfiguration mit einem Klick auf Beispiel19: Synchroner Dateizugriff 1:.
Das Beispiel ist einsatzbereit.

Der gesamte Quellcode, der vom Assistenten nicht automatisch generiert wird, wird mit dem Kommentarbeginn-Flag „//sample code“ und dem Kommentarende-Flag „//sample code end“ gekennzeichnet.
Somit können Sie nach diesen Zeichenketten in den Dateien suchen, um sich ein Bild von den Einzelheiten zu machen.

Beschreibung

Dieses Beispiel beschreibt den Zugriff auf Dateien über die TwinCAT Schnittstelle ITCFileAccess. Der Zugriff ist synchron und kann z. B. für das Lesen einer Konfiguration beim Starten eines Moduls verwendet werden.

Das Beispiel beinhaltet ein C++ Modul TcFileTestDrv mit einer Instanz dieses Moduls TcFileTestDrv_Obj1.
Bei diesem Beispiel findet der Dateizugriff beim Übergang PREOP to SAFEOP statt, also in der Methode SetObjStatePS().

Hilfsmethoden kapseln den Umgang mit Dateien ein.
Zuerst wird als Beispiel eine allgemeine Dateiinformation und eine Verzeichnisliste in die Protokollvorrichtung von TwinCAT 3 gedruckt. Anschließend wird eine Datei %TC_TARGETPATH%DefaultConfig.xml (normalerweise C:\TwinCAT\3.x\Target\DefaultConfig.xml) auf „%TC_TARGETPATH%DefaultConfig.xml.bak“ kopiert.

Zum Zugang zu den Protokolleinträgen, siehe Registerkarte Error List vom TwinCAT 3 Ausgabefenster.
Sie können die Informationsmenge mittels Änderung der Variablen TraceLevelMax in der Instanz TcFileTestDrv_obj1 in Registerkarte Parameter (Init) einstellen.