Beispiel31: Funktionsbaustein TON in TwinCAT3 C++

Dieser Artikel beschreibt die Implementierung eines Verhaltens in C++, das vergleichbar mit einem TON Funktionsbaustein von SPS / IEC-61131-3 ist.

Source

Hier 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 Beispiel31: Funktionsbaustein TON in TwinCAT3 C++ 1:.
Das Beispiel ist einsatzbereit.

Beschreibung

Das Verhalten dieses Moduls ist vergleichbar mit einem Modul, das mit dem Cyclic IO-Assistenten erstellt wurde. m_input.Value wird dem m_Output.Value hinzugefügt. Im Gegensatz zum Modul Cyclic IO, fügt dieses Modul lediglich m_input.Value zu m_Output.Value hinzu, wenn die definierte Zeitspanne (1000ms) abgelaufen ist.

Dies wird mit Hilfe einer CTON Klasse erzielt, die mit dem TON Funktionsbaustein von SPS / 61131 vergleichbar ist.

Das Beispiel verstehen

Die C++ Klasse CTON (TON.h/.cpp) stellt das Verhalten eines TON Funktionsbausteins von SPS / 61131 zur Verfügung. Die Methode Update() ist vergleichbar mit dem Rumpf des Funktionsbausteins, der regelmäßig aufgerufen werden muss.

Die Methode Update() erhält zwei „in“ Parameter:

Und zwei „out“ Parameter:

Darüber hinaus muss ITcTask zur Abfrage der Zeitbasis bereitgestellt werden.

Siehe auch

Beispiel30: Zeitmessung

ITcTask Schnittstelle