Zum Hauptinhalt springen

Beckhoff TwinCAT/ADS

ADS (Automation Device Specification) ist das Kommunikationsprotokoll, das die TwinCAT-Laufzeitumgebung von Beckhoff (Deutschland) verwendet. Es kommt vor allem auf Industrie-PCs (IPC) mit TwinCAT 2 / 3 und in EtherCAT-Master-Umgebungen zum Einsatz.

In PC-basierten Steuerungsumgebungen — Automobillinien, Halbleiterfertigung, Windkraft, Motion Control — ist ADS mit hoher Wahrscheinlichkeit im Spiel.


Eingabewerte im Registrierungsformular

EingabefeldWas tragen Sie einBeispiel
IP-AdresseIP des IPC, auf dem TwinCAT läuft192.168.0.80
PortADS-TCP-Port48898 (Standard / Änderung nicht empfohlen)
Target AMS NetId (target-netid)AMS NetId des Zielgeräts — bleibt das Feld leer, wird IP주소.1.1 automatisch verwendet192.168.0.80.1.1
Target AMS Port (target-port)Port der TwinCAT-Laufzeit851 (TwinCAT 3 PLC) / 801 (TwinCAT 2 PLC1)

Weitere Optionen: source-netid / source-port (AMS-Kennung auf Gateway-Seite — Standard 32905), connect-timeout / read-timeout (ms, Standard 3000). Die alten Optionsschlüssel (ams-net-id / ams-port / target-ams-net-id / timeout-request) sind abgekündigt.

Format der AmsNetId

6 Oktette in der Form a.b.c.d.1.1. Üblicherweise handelt es sich um die IP-Adresse des IPC mit angehängtem .1.1 — maßgeblich ist jedoch die im TwinCAT System Manager angezeigte NetId. Zu finden über das TwinCAT-Symbol in der Taskleiste → Properties → AMS NetId.

Route eintragen (zwingend erforderlich)

ADS kommuniziert nur, wenn beide Seiten die NetId der Gegenstelle kennen. Ruft das Gateway die PLC erstmals auf, erscheint auf PLC-Seite der Add Route Dialog — oder die Verbindung wird automatisch abgewiesen. Tragen Sie im TwinCAT System Manager unter RoutesAdd die IP / NetId des Gateways ein und prüfen Sie, ob die TwinCAT-Lizenz gültig ist.

Kommunikation wird bei abgelaufener Lizenz verweigert

Bei TwinCAT 3 bricht die ADS-Antwort ab, sobald die 30-Tage-Testversion abgelaufen ist. Prüfen Sie zuerst den Lizenzstatus im License Manager.


Schreibweise der PLC-Adresse im Tag

ADS unterstützt zwei Zugriffsarten.

1. Direkter Speicherbereich (Indexed)

SchreibweiseBedeutung
M0:4Merkerbereich (M%), Offset 0, 4 Byte
I0:2Eingangsbereich, Offset 0, 2 Byte
Q0:2Ausgangsbereich, Offset 0, 2 Byte

Format <area>:<offset>:<size>. size in Byte.

2. Symbolisch (Symbolic)

SchreibweiseBedeutung
MAIN.fCounterVariable fCounter des Programms MAIN
MAIN.fCounter:REALmit Datentypangabe (32-Bit-Gleitkomma)
GVL.bRunning:BOOLbRunning aus der Global Variable List

Für die symbolische Schreibweise muss auf PLC-Seite eine TPY-Datei (TwinCAT 2) vorliegen bzw. ein Symbol-Download (TwinCAT 3 → Build → Activate Configuration) erfolgt sein.


Zuordnung der Datenformate

Wert in der PLCDatenformatFormatzusatzBeispiel PLC-Adresse
BOOLBoolean(leer)GVL.bRunning:BOOL
BYTE / SINTIntegerBMAIN.bByte:BYTE
INT (16-Bit)Integer(leer)MAIN.nCount:INT
DINT (32-Bit)IntegerDWMAIN.nTotal:DINT
REAL (32-Bit-Gleitkomma)FloatREALMAIN.fTemp:REAL
LREAL (64-Bit-Gleitkomma)DoubleLREALMAIN.fPos:LREAL
STRING(80)StringSTR[80]MAIN.sName:STRING

Häufige Probleme und Lösungen

Symptom / MeldungMögliche UrsacheLösung
„No route to host“Route nicht eingetragenGateway im TwinCAT System Manager → Routes hinzufügen
„Target port not found“AmsPort passt nicht zur SerieTC2 = 801, TC3 = 851 erneut prüfen
„Symbol not found“Symbol-Download nicht ausgeführtIn TwinCAT 3 Activate Configuration ausführen und erneut versuchen
Alle Werte 0TwinCAT nicht in RUN, sondern im STOP- / CONFIG-ModusIm System Manager auf RUN umschalten
LizenzfehlerTestversion abgelaufenLizenz im License Manager erneuern

Häufig verwendete Beispiele

Tag-NamePLC-AdresseDatenformatFormatzusatz
BetriebsflagGVL.bRunning:BOOLBoolean(leer)
ZählerMAIN.nCount:DINTIntegerDW
TemperaturMAIN.fTemp:REALFloatREAL
ChargennameMAIN.sBatch:STRINGStringSTR[80]

Ausführlichere Beispiele / automatisierte Registrierung

Siehe die ADS-Beispiele unter Erweitert — REST API.