LinkedIn Logo YouTube Logo

Visual Studio 2010 für die Automatisierung TwinCat 3 – Konvergenz der Technologien

Mit der neuen Softwaregeneration TwinCat 3 hat Beckhoff eine Mainstream-Technologie der IT-Branche in die Automatisierungstechnik adaptiert. Microsoft Visual Studio 2010 ist damit nun auch für die Automatisierungs- und Anwendungsprogrammierung nutzbar. In einer Entwicklungsumgebung sind alle wesentlichen Programmiersprachen, wie C/C++, eine Matlab/Simulink-Anbindung oder die Sprachen der IEC 61131-3 inklusive der objektorientierten Erweiterungen integriert.

Die Automatisierungssoftware TwinCat ist seit vielen Jahren und durch viele verschiedene Applikationen bekannt. Im Beckhoff Automatisierungssystem laufen hier alle Fäden zusammen. Mit dem neuen Major Release von TwinCat 2 auf TwinCat 3 vollzieht Beckhoff einen Schritt, der die gesamte Automatisierungswelt nachhaltig beeinflussen dürfte. Doch der Reihe nach. Neuheiten im Kurzüberblick In der neuen Version von TwinCat stehen neben den objektorientierten Erweiterungen der IEC61131-3, mit C und C++, nun auch die Sprachen der IT-Welt für TwinCat zur Verfügung. Durch die Einbindung von Matlab/Simulink wird darüber hinaus der Weg in wissenschaftliche Anwendungen geöffnet. Die in unterschiedlichen Sprachen erzeugten Module laufen in einer gemeinsamen eXtended Automation Runtime (XAR). Diese bietet harte Echtzeitbedingungen unter der Nutzung von Multicore-Technologie und der Unterstützung von 64-Bit­Betriebssystemen. Die Implementierung von TwinCat-3-Modulen und die Konfiguration des Gesamtsystems erfolgen in der eXtended-Automation-Engineering-Umgebung (XAE), die auf dem Microsoft Visual Studio basiert. eXtended Automation Engineering (XAE) TwinCat 3 nutzt als Engineering-Umgebung die in der IT-Softwareentwicklung verbreitete Entwicklungsumgebung Microsoft Visual Studio 2010. Die beiden Modi \’TwinCat 3 Standard\‘ und \’TwinCat 3 Integrated\‘ nutzen die Version \’Visual Studio Shell\‘, die über das Microsoft-Programm \’Visual Studio Industry Partner\‘ (VSIP) zugänglich ist. Schon mit dem früheren Visual Studio 2008 war durch VSIP ein Geschäftsmodell gegeben, das es ermöglichte, die Visual-Studio-Entwicklungsumgebung für eigene kundenspezifische Aufgaben zu nutzen und leicht anzupassen. Die kostenlose Basisversion von \“Visual Studio Shell\“ bietet dazu bereits alle Funktionalitäten, die eine moderne Entwicklungsumgebung benötigt, um modulare Softwareentwicklung zu unterstützen: Neben den Schnittstellen zum Einhängen eigener Editoren in den Projektierungsbaum oder in die Menüs können auch alle anderen Dienste, vom Compiler bis hin zum Hilfesystem, genutzt werden. Mit der Erweiterbarkeit über Plug ins – den sogenannten \“VS-Extensions\“ – kann das Framework zügig und modular, mit eigenem technologischen Know-how, wachsen, angepasst und gepflegt werden. TwinCat 3 im \’Standard\‘-Modus Für die Installation von TwinCat 3 auf einem Zielsystem ergeben sich zwei Möglichkeiten: Ist bisher keine Visual-Studio-2010-Version auf dem Zielsystem vorhanden, so wird mit TwinCat 3 eine kostenlose Basis der VS-Shell mit den TwinCat Extensions installiert. Diese Nutzung der Shell wird als \“Isolated Mode\“ bezeichnet: Mehrere hundert Unternehmen nutzen das VSIP-Programm und können so ihre Extensions in ihre eigene Instanz der VS-Shell laden. Somit können viele \’Isolated Mode\‘-basierende Applikationen ungestört nebeneinander betrieben werden. Der TwinCat-Modus \’TwinCat 3 Standard\‘ ist für alle Nutzer gedacht, die nur konfigurieren und die IEC 61131 ausschließlich als Sprachmittel nutzen wollen. Die aus der TwinCat-Version-2-Umgebung bekannten Dialoge des System Managers wurden übernommen, sodass sich die Anwender direkt in vertrauter Umgebung wiederfinden. Die Nutzung von TwinCat-C- oder Matlab-Simulink-Modulen zur Laufzeit ist möglich; für das Ändern oder Debuggen von C/C++-Codes fehlt aber die entsprechende VS-Umgebung. \’TwinCat 3 Integrated\‘ bietet den Zugang zur C/C++-Welt Ist bereits eine der Visual-Studio-2010-Versionen \’Professional\‘, \’Premium\‘ oder \’Ultimate\‘ auf dem Zielsystem verfügbar, bieten sich zwei Optionen: TwinCat 3 kann auch hier in einer \’VS-Shell im Isolated Mode\‘ parallel installiert werden. Sinnvoller ist jedoch der Betriebsmodus \’TwinCat Integrated\‘, der sich in das auf dem Rechner bestehende VS2010 einbindet. Damit steht für Echtzeitaufgaben zusätzlich die Programmiersprache C/C++ zur Verfügung. Die modulare Visual-Studio-Umgebung kann auch durch Komponenten aus der \’Visual Studio Gallery\‘ erweitert werden: Dazu können im Menü \’Extension Manager\‘ Informationen über die im Internet-Marktplatz verfügbaren VS-Extensions angezeigt werden. Im Mircosoft-Marktplatz können Produkte eingekauft, benotet und kommentiert werden. Allein für die Visual-Studio-2010-Plattform stehen derzeit mehr als 1286 Extensions von diversen Anbietern zum direkten Download und zur Integration in die VS-Shell zur Verfügung. Ein Teil der Marktplatzangebote ist kostenlos. Die Vielfalt der VS-Extensions ist nahezu unbeschränkt: Von .NET- oder Silverlight-Komponenten zur Erstellung von Bedienoberflächen oder Tools zum Erzeugen von Setups oder zur Modellierung von Softwarepaketen, bis zu Team-Entwicklungswerkzeugen, wie SVN-SubVersion, als Alternative zum vorhandenen Team-Foundation-Server (TFS). Alle Komponenten des Marktplatzes bewerben das erleichterte Engineering. Veredelt für den Einsatz in der Automatisierungstechnik Beckhoff hat in diese modulare VS-Entwicklungsumgebung – neben den ggf. schon vorhandenen C/C++-Sprachen – auch die IEC61131-Programmiermöglichkeiten und den TwinCat System Manager, das Konfigurationstool für System, Module, I/O und Motion, integriert. Damit sind nun nicht mehr zwei Tools mit gegenseitigen Export-/Importschritten zum Konfigurationsaustausch beim Engineering notwendig: Die Integration in eine einheitliche Umgebung vereinfacht die Handhabung, schafft Verwaltungsumwege ab, erledigt Aufgaben automatisch im Hintergrund, eliminiert damit mögliche Fehlerquellen und ermöglicht so effizientes Engineering. Zwei Welten wachsen zusammen Spannend zu beobachten ist, wie die Möglichkeiten der Implementierung in den zwei Welten der SPS- und C-Codierung aufeinander zuwachsen: SPS-Programmierer können mit TwinCat 3 weitere objektorientierte Funktionalitäten nutzen, die bisher der SPS-Welt verwehrt geblieben sind: TwinCat 3 bietet bereits die Features der neuen IEC61131-3-3rd-Edition. So können die Vorteile der Erweiterung und Modernisierung des Standards, in Bezug auf die objektorientierten Programmierkonstrukte, bereits jetzt in allen Sprachen der IEC61131 genutzt werden. Zu den Möglichkeiten gehören u.a. die Einfachvererbung sowie die Nutzung von Interfaces, Methoden und Attributen. Die Implementierung in C/C++-Code freut vor allem Anwender der Branchen Bildverarbeitung, Messtechnik oder Robotik: Achs-Transformationen können effizienter erstellt werden; häufig ist eine C-Codebasis auch bereits vorhanden und kann nun leicht in den leistungsfähigen TwinCat-3-Unterbau integriert werden. Nachwachsende Talente lernen an Hochschulen nicht SPS-Ablaufsprachen sondern moderne Hochsprachen. Aber auch C/C++-Programmierer werden sich an einen anderen Code-Ablauf eingewöhnen müssen. Haben die meisten Entwickler bisher eher ereignisgesteuerte Applikationen erstellt, so läuft nun auch der C-Code zyklisch im Echtzeitkontext ab. Sollen im C-Code Aktionen gestartet werden, die eine längere Bearbeitung benötigen als der zyklische Takt erlaubt, so müssen diese Aufgaben entkoppelt werden. Beckhoff stellt dafür ein \’Software Development Kit\‘ (SDK) zur Verfügung, um Aktionen aus dem deterministischen Echtzeitablauf starten und den Bearbeitungsstatus überwachen zu können: Das Einlesen/Schreiben von Dateien, das Starten von Threads, das Allokieren von Speicher und das Kommunizieren mit Datenbanken erfolgt somit über Funktionen aus dem SDK und entspricht damit dem für SPS-Programmier bekannten Mechanismus der Verwendung von SPS-Libraries. Der in Microsoft Visual Studio 2010 enthaltene C-Compiler wird für die C-Code-Generierung genutzt. Der Zielcode wird nach der Kompilierung, in Form von dynamisch ladbaren Bibliotheken (DLL), in das Echtzeitlaufzeitsystem geladen. Der Anwender ist somit in der Lage, das TwinCat-System mit Programmmodulen zu erweitern. Diagnosemöglichkeiten, wie das Monitoring und das Verändern von Prozessvariablen bei laufendem SPS-Zyklus, sind für SPS-Programmierer eine Selbstverständlichkeit. Ein C-Entwickler muss mit dem Setzen eines Breakpoints zunächst den Ablauf des Codes anhalten, um in Watchfenstern den Status der Symbole zu modifizieren. Auch hier hat Beckhoff die Möglichkeiten des Visual Studio erweitert und für den Einsatz von C/C++ in der Automatisierungstechnik optimale Diagnosemöglichkeiten geschaffen: Mit Hilfe des \’Custom Debugger Interface\‘ wurde ein eigener Debug-Transportkanal geschaffen. Die Onlinedaten stehen anschließend in einem \’TwinCat Watch\‘-Fenster für Monitoring und zur Veränderung zur Verfügung, und zwar ohne den Maschinenablauf per Breakpoint stoppen zu müssen. Diese Diagnose der Echtzeitanwendung steht sowohl lokal als auch über im Netzwerk zur Verfügung. Fazit Das Visual Studio bietet weitere Sprachen und Designer für andere Aufgabengebiete: Silverlight-Designer oder .net-basierende Sprachen, wie z. B. C#, können für die Programmierung von Nicht-Echtzeit-Anteilen der Applikation z. B. des UserInterfaces benutzt werden. Mit der \’Visual Studio Shell\‘ liefert Microsoft eine Plattform mit allen notwendigen Schnittstellen zur Erweiterung. In Kombination mit den Beckhoff-Erweiterungen für die Automatisierungstechnik ergibt sich die leistungsfähige, modulare Plattform \’eXtendend Automation Engineering\‘ (XAE): Alle Komponenten, von der I/O-Konfiguration, dem SPS- und/oder C-Code, bis zur GUI oder Datenbankanbindung, können leicht im selben Projekt auch für den Einsatz im Team verwaltet werden. Beckhoff ist mit TwinCat 3 seiner Philosophie treu geblieben, IT-Standards zu \’veredeln\‘ und für die Automatisierungstechnik nutzbar zu machen. SPS/IPC/Drives 2010: Halle 7 Stand 406 Kasten: IT-Standards für Automatisierungstechnik nutzbar machen Bereits im Jahr 1986 wurden von Beckhoff \’normale\‘ PCs für Steuerungsaufgaben genutzt, sodass die bekannte PC-Welt in der Automatisierungstechnik Einsatz fand. Seit 1996 steht TwinCat 2 zur Verfügung: Das Betriebssystem Windows NT wurde mit deterministischer Echtzeitfähigkeit und IEC 61131-3 Programmiermöglichkeiten erweitert. Mit der Einführung von EtherCat wurde wieder eine Standard-IT-Technologie – nämlich Ethernet – mit allen Vorteilen, wie günstigere Anschlusstechnik und einfachen Tools, adaptiert und für die Automatisierungstechnik verfügbar gemacht. Mit TwinCat 3 hat Beckhoff erneut von der IT-Branche bekannte Technologien in die Automatisierungstechnik überführt: In das weltweit bekannte Tool der IT-Welt, Microsoft Visual Studio, werden alle wesentlichen Programmiersprachen, integriert.

Beckhoff Automation GmbH & Co. KG
http://www.beckhoff.de/TwinCAT 3

Das könnte Sie auch Interessieren

Weitere Beiträge