Kostenlose DevOps-Analyse
Zurück zum Glossar
DevOps Glossar·OT / Industrial·Zuletzt geprüft

TwinCAT.NET

// Direkte Antwort

Was ist Beckhoff TwinCAT.NET?

TwinCAT.NET (Beckhoff.TwinCAT.Ads) ist die offizielle Beckhoff-Library, mit der .NET-Anwendungen über ADS (Automation Device Specification) auf die TwinCAT-Runtime und SPS-Variablen zugreifen. Die C#-Anwendung läuft dabei außerhalb der Echtzeit, etwa als Dienst, Prüfstandssoftware oder Datenanbindung, und liest und schreibt Variablen über ADS. Echtzeit-Logik bleibt in der TwinCAT-SPS (IEC 61131-3) oder in C++-Modulen.

Auch bekannt als: TwinCAT · Beckhoff TwinCAT · TwinCAT ADS

// Kurz gefragt1 Klick, anonym

Ist TwinCAT.NET bei Ihnen gerade ein Thema?

Wir fragen kurz, wie dringend das Thema bei Ihnen gerade ist. Je nach Antwort zeigen wir Ihnen direkt den passenden nächsten Schritt — ganz ohne Formular.

// Im DetailTwinCAT.NET

TwinCAT 3 besteht aus zwei Teilen. Die Engineering-Umgebung XAE (eXtended Automation Engineering) ist in Visual Studio integriert, dort schreiben Sie das Projekt und konfigurieren Achsen und Ein- und Ausgänge. Die Runtime XAR (eXtended Automation Runtime) läuft auf dem Industrie-PC und führt das Programm in Echtzeit aus. In der Echtzeit laufen laut Beckhoff Module in den Sprachen der IEC 61131-3, in C++ sowie aus MATLAB und Simulink. Eine .NET-Anwendung gehört nicht dazu. Sie läuft daneben als normaler Prozess und spricht über ADS (Automation Device Specification), das Kommunikationsprotokoll von Beckhoff, mit der Runtime.

TwinCAT.NET meint die .NET-Pakete, die Beckhoff dafür über NuGet veröffentlicht, allen voran Beckhoff.TwinCAT.Ads. Die aktuelle Version zielt auf .NET 10, .NET 8 und .NET Standard 2.0. Eine C#-Anwendung öffnet damit einen ADS-Client, spricht SPS-Variablen über ihren Symbolnamen wie „MAIN.fTemperatur“ an und muss keine Speicheradresse kennen. Sie kann Werte lesen, schreiben und sich über Änderungen benachrichtigen lassen. Laut Paketbeschreibung braucht der Rechner dafür eine TwinCAT-Installation, also XAE, XAR oder das ADS-Setup. Für IT-Entwickler ist das vertrautes Terrain, der Code sieht aus wie jede andere C#-Anbindung an einen Dienst.

Die Arbeitsteilung ist damit klar. Regelung, Verriegelungen und Bewegungsabläufe bleiben in der TwinCAT-PLC, meist in Strukturiertem Text. Die .NET-Anwendung übernimmt, was nicht im Millisekundentakt passieren muss, also Daten-Mapping, Logging, Visualisierung, einen OPC-UA-Server oder die Anbindung an Cloud und MES. Ein zweiter .NET-Weg ist das TwinCAT Automation Interface. Über diese COM-Schnittstelle erzeugen und konfigurieren C#- oder PowerShell-Skripte ganze TwinCAT-Projekte, ohne dass jemand in der Oberfläche klickt.

Für eine CI/CD-Pipeline heißt das zweierlei. Den .NET-Anteil bauen und testen MSBuild, NuGet und NUnit wie jedes C#-Projekt, ein Build-Agent ohne TwinCAT reicht dafür. Den ADS-Zugriff kapselt man hinter einem Interface, dann laufen Unit-Tests ohne Steuerung. Anders sieht es beim SPS-Projekt aus. Es zu kompilieren braucht einen Agent mit passender TwinCAT-XAE-Installation, und Integrationstests laufen gegen eine echte oder virtuelle Runtime. Die SPS-Bausteine speichert TwinCAT als einzelne XML-Dateien, die in Git gehören. Nutzerspezifische Dateien und Build-Ausgaben kommen ins .gitignore, sonst erzeugt jeder Kollege Diffs, die niemand lesen will.

// Beispiele aus der Praxis2 Szenarien
/01

Sollwerte aus dem MES per Symbolname in die PLC

Ein Werk hat Sollwerte bisher am Panel von Hand eingetippt. Jetzt verbindet sich eine C#-Anwendung über Beckhoff.TwinCAT.Ads mit der TwinCAT-Runtime, übernimmt die Werte aus dem MES und schreibt sie über den Symbolnamen der Variablen in die PLC. Die zeitkritische Logik bleibt unverändert, und ein Tippfehler am Panel ist als Fehlerquelle weg.

/02

Produktionsdaten, die einen Netzausfall überstehen

Fiel die Verbindung zum MES aus, fehlten bisher die Daten dieser Stunden. Eine .NET-Komponente neben der TwinCAT-PLC puffert die Produktionsdaten jetzt lokal und schickt sie nach, sobald die Verbindung wieder steht. Gebaut, signiert und ausgerollt wird sie über dieselbe CI/CD-Pipeline wie die übrigen Anwendungen des Werks.

// Welcher Weg passt?TwinCAT.NET
// In 2 Klicks: TwinCAT.NET richtig einsetzenSchritt 1 / 2

Wie binden Sie C# an Beckhoff an?

TwinCAT.NET (Beckhoff.TwinCAT.Ads) greift per ADS auf die TwinCAT-Runtime zu — der beste nächste Schritt hängt an Einsatzzweck und Reife. Zwei Klicks ordnen ein.

Wofür brauchen Sie den ADS-Zugriff?

// Häufige FragenFAQ
Was ist TwinCAT?
TwinCAT (The Windows Control and Automation Technology) ist die Automatisierungsplattform von Beckhoff, die einen Industrie-PC zur Echtzeit-Steuerung macht. Die Runtime führt SPS- und Motion-Logik deterministisch aus, das Engineering findet in Visual Studio statt. TwinCAT.NET sind die .NET-Pakete, mit denen C#-Anwendungen über ADS auf diese Runtime zugreifen.
Ist TwinCAT kostenlos?
Die Engineering-Umgebung für die SPS-Programmierung ist kostenlos und darf laut Beckhoff auf beliebig vielen Entwicklungsrechnern installiert werden. Kosten entstehen für die Runtime-Lizenzen auf der Steuerung und für Zusatzfunktionen über die reine SPS-Programmierung hinaus. Der Preis der Runtime richtet sich nach der Leistungsklasse des Industrie-PCs. Zum Ausprobieren erzeugt XAE Testlizenzen für sieben Tage, die sich beliebig oft erneuern lassen.
Ist TwinCAT eine Programmiersprache?
Nein, TwinCAT ist eine Automatisierungsplattform aus Engineering-Umgebung und Echtzeit-Runtime. Programmiert wird darin in den Sprachen der IEC 61131-3, vor allem Strukturiertem Text, außerdem in C++ oder mit Modellen aus MATLAB und Simulink. C# kommt über die .NET-Pakete dazu, läuft aber außerhalb der Echtzeit.
Ist TwinCAT das Gleiche wie CODESYS?
Nein. TwinCAT ist ein Produkt von Beckhoff mit eigener Echtzeit-Runtime, eigener Lizenzierung und Visual-Studio-Integration, CODESYS ist eine herstellerunabhängige Entwicklungsumgebung, die viele andere Steuerungshersteller einsetzen. Beide setzen die IEC 61131-3 um, deshalb findet sich schnell zurecht, wer eine der beiden kennt. Projekte lassen sich trotzdem nicht ohne Weiteres zwischen beiden austauschen, weil Beckhoff-eigene Bibliotheken und Konfigurationen fehlen.
Was ist ADS bei TwinCAT?
ADS (Automation Device Specification) ist das Beckhoff-Kommunikationsprotokoll, über das Geräte und Software-Komponenten innerhalb und außerhalb der TwinCAT-Runtime Daten austauschen. Beckhoff.TwinCAT.Ads bildet dieses Protokoll in .NET ab. C#-Anwendungen greifen damit über den Symbolnamen auf SPS-Variablen zu und müssen keine Speicheradressen kennen.
Wie versioniert man TwinCAT-.NET-Projekte mit Git?
Der .NET-Anteil liegt wie normaler C#-Code mit Solution, Projektdateien und NuGet-PackageReferences in Git. Das SPS-Projekt kommt dazu, weil TwinCAT seine Bausteine als einzelne XML-Dateien ablegt. Nutzerspezifische Dateien und Build-Ausgaben gehören ins .gitignore. Für den .NET-Build genügt ein normaler Agent, das SPS-Projekt kompiliert nur ein Agent mit passender TwinCAT-Installation.
// Ihre Einschätzung1 Klick, anonym

Wo steht Ihr Team bei TwinCAT.NET?

Uns interessiert, wo Ihr Team bei diesem Thema steht. Auf Basis Ihrer Antwort schlagen wir Ihnen den sinnvollsten nächsten Schritt vor — ganz ohne Formular.

// Quellen und Referenzen3 Quellen

Weiterführende Primärquellen zu TwinCAT.NET: Normtexte, Hersteller- und Projektdokumentation. Alle Ziele öffnen in einem neuen Tab.

// Nächster Schritt

Erstgespräch.
Kostenlos.
90 Tage zum Ergebnis.

Wir klären gemeinsam, wie Sie in 90 Tagen die ersten messbaren Industrial-DevOps-Erfolge erzielen.

Erstgespräch buchen
Seit 2006 · 47+ Projekte
Industrie · Automotive · Finance