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 Sample:

https://github.com/Beckhoff/TC1300_Samples/tree/main/S31-CTON

1. Öffnen Sie mittels eines Visual Studios, in dem TwinCAT installiert ist, das Projekt über Open Project ….
2. Wenn Sie das Projekt auf Windows oder auf TwinCAT/BSD® ausführen möchten (nicht für Beckhoff RT Linux® nötig): 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 im Kapitel TwinCAT.
3. Wählen Sie Ihr Zielsystem aus.
4. Bauen Sie das Beispiel (z. B. Build->Build Solution).
5. 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