Kurzeinführung: TwinCAT ADS

Grundstruktur von ADS-Geräten und ADS-Symbolen

Automation Device Specification (ADS) bildet die Grundlage für das Interface for MATLAB®/Simulink®. 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.

Kurzeinführung: TwinCAT ADS 1:

Das Interface for MATLAB®/Simulink® stellt für Simulink® und MATLAB® 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.

Darüber hinaus stellt das Interface for MATLAB®/Simulink® einen ADS-Server für MATLAB® bereit, sodass eine MATLAB®-Umgebung Dienste für ADS-Clients bereitstellen kann.

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. MATLAB® und die TwinCAT-Laufzeit auf unterschiedlichen Systemen, 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, Index Group und Index Offset, spezifiziert. Zum Beispiel ist eine SPS-Variable zum Lesen oder Schreiben unter einem bestimmten Index Group und Index Offset erreichbar.

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 MATLAB®/Simulink® im TC 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, Daten zu kommunizieren:

Synchrones Lesen oder Schreiben

Asychrones Lesen oder Schreiben

Kurzeinführung: TwinCAT ADS 2:

Eventbasierte Kommunikation (nur Lesen)

Kurzeinführung: TwinCAT ADS 3: