TwinCAT ADS

Grundstruktur von ADS-Geräten und ADS-Symbolen

Automation Device Specification (ADS) bildet die Grundlage für das Interface for LabVIEW™. ADS beschreibt eine geräte- und feldbusunabhängige Schnittstelle und ermöglicht die Kommunikation zwischen ADS-Geräten.

Nachfolgend wird das ADS-Gerätekonzept sowie die Identifikation eines ADS-Geräts erläutert.

Die modulare Systemarchitektur von TwinCAT erlaubt es, die einzelnen Teile der Software (z. B. TwinCAT PLC, TwinCAT NC ...) als eigenständige Geräte zu betrachten: Für jede einzelne Aufgabe gibt es ein Softwaremodul. Die Server im System sind die ausführenden Geräte, welche bestimmte Dienste anbieten. Die Clients sind Programme, welche die Dienste der Server anfordern. Ein Client baut entsprechend initial eine Verbindung zum Server auf und fragt einen Dienst an: Zum Beispiel fragt er lesend den Wert einer Variablen an oder er fragt das Schreiben einer Variablen an.

TwinCAT ADS 1:

Das Interface for LabVIEW™ stellt eine ADS-Client-Schnittstelle zur Verfügung, mit welcher ein Datenaustausch (schreibend und lesend) mit TwinCAT-Laufzeiten ermöglicht wird. Die TwinCAT-Laufzeit, bzw. ihre ADS-Geräte, stellen damit als ADS-Server ihre Dienste zur Verfügung und können aus LabVIEW™ heraus genutzt werden.

Der ADS-Datenaustausch zwischen ADS-Geräten findet über den ADS-Router statt. Wie im obigen Schaubild aufgezeigt, erfolgt der Datenaustausch von ADS-Geräten, welche auf demselben System realisiert sind, über den Systemspeicher. Sind zwei ADS-Geräte, z. B. LabVIEW™ und die TwinCAT-Laufzeit, auf unterschiedlichen Systemen vorhanden, kann eine Route zwischen zwei ADS-Routern erzeugt werden. Beim Erzeugen der ADS-Route kann der Transporttyp (i.d.R. TCP/IP) für die Kommunikation zwischen den beiden ADS-Routern definiert werden. Entsprechend identifiziert sich ein ADS-Gerät durch die AMS-NetId des ADS-Routers und durch eine Portnummer, welche dann das ADS-Gerät auf dem System spezifiziert. Beispielsweise ist der Port 851 der Default-Port für die erste PLC-Instanz in der TwinCAT-Laufzeit. ADS-Dienste eines ADS-Geräts werden dann durch zwei Parameter, den Index Group und den Index Offset, spezifiziert. Zum Beispiel ist eine SPS-Variable zum Lesen oder Schreiben unter einem bestimmten Index Group und Index Offset erreichbar.

Soll eine Anwendung erstellt werden, die auf mehreren Zielsystemen eingesetzt werden soll und bei der LabVIEWTM und TwinCAT auf demselben System laufen, kann die relative AMS NetId verwendet werden. Die relative AMS NetId deutet immer auf das lokale System. Hierfür wird 0.0.0.0.0.0 für die Adresse eingesetzt.

Zusammenfassung

Um die Adressierung von Variablen in einer TwinCAT-Laufzeit für den Anwender komfortabler zu gestalten, erstellt TwinCAT ADS-Symbole, welche z. B. mit dem Target Browser durchsucht werden können. Der Target Browser ist auch im Interface for LabVIEW™ im VI Symbol Interface integriert, sodass ADS-Symbole einfach und schnell selektiert werden können. Ein ADS-Symbol für eine Variable in TwinCAT enthält dann die oben genannten Informationen: AMS NetId, Port, Index Group und Index Offset und darüber hinaus die Bit Size sowie einen Symbolnamen und den Datentyp der Variablen.

Weitere Informationen zu ADS finden Sie unter folgenden Links:

Grundlegende ADS-Datenkommunikation

Grundlegend gibt es bei ADS drei unterschiedliche Möglichkeiten/Modi zur Datenkommunikation.

Synchrones Lesen oder Schreiben

Asychrones Lesen oder Schreiben

TwinCAT ADS 2:

Eventbasierte Kommunikation (nur Lesen)

TwinCAT ADS 3:

Die VIs ADS Read und ADS Write sind polymorph. Der gewünschte Kommunikationsmodus, sync, async oder notification, kann dort selektiert werden. Die VIs bieten darüber hinaus noch Erweiterungen dieser Grundmodi an, die das LabVIEW™-seitige buffering von Daten und deren Weitergabe an den LabVIEW™-Prozess betreffen.