Beispiel07: Empfang von ADS Notifications

Dieser Artikel beschreibt die Implementierung eines TwinCAT 3 C++ Moduls, das ADS Notifications bezüglich Datenänderungen auf anderen Modulen empfängt.
Weil jede andere ADS-Kommunikation auf ähnliche Weise implementiert werden muss, kann dieses Beispiel als allgemeiner Einstiegspunkt für die Initialisierung der ADS-Kommunikation von TwinCAT 3 C++ Modulen aus betrachtet werden.

Download

Hier erhalten Sie den Quellcode für dieses Sample:

https://github.com/Beckhoff/TC1300_Samples/tree/main/S07-AdsNotifications

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 Beispiel07: Empfang von ADS Notifications 1:.
Das Beispiel ist einsatzbereit.

Beschreibung

Dieses Beispiel beschreibt den Empfang von ADS Notifications in einem TwinCAT C++ Modul.

Hierfür enthält die Solution 2 Module.

Die Adresse wird beim Modulübergang PREOP->SAFEOP (SetObjStatePS) vorbereitet. Die Methode CycleUpdate beinhaltet eine einfache Zustandsmaschine, die den erforderlichen ADS-Befehl sendet. Entsprechende Methoden zeigen die Empfangsbestätigungen an.

Die geerbte und überladene Methode AdsDeviceNotificationInd wird beim Eingang einer Notification aufgerufen.

Während der Abschaltung werden ADS-Meldungen beim Übergang zwecks Abmeldung versendet (SetObjStateOS) und das Modul wartet bis zum Auftreten einer Zeitüberschreitung auf den Eingang von Bestätigungen.

Beispiel07: Empfang von ADS Notifications 2:

Beginn der Modulentwicklung

Erstellen eines TwinCAT C++ Moduls mit Hilfe des ADS Port-Assistenten. Dadurch wird alles, was Sie zum Aufbau einer ADS-Kommunikation benötigen, eingerichtet. Einfach die notwendigen ADS-Methoden von ADS.h, wie im Beispiel gezeigt, verwenden und überschreiben.

Siehe auch

ADS-Kommunikation