TwinCAT 3

Startup

TwinCAT 3 stellt die Bereiche der Entwicklungsumgebung durch das Microsoft Visual-Studio gemeinsam zur Verfügung: in den allgemeinen Fensterbereich erscheint nach dem Start linksseitig der Projektmappen-Explorer (vgl. „TwinCAT System Manager“ von TwinCAT 2) zur Kommunikation mit den elektromechanischen Komponenten.

Nach erfolgreicher Installation des TwinCAT-Systems auf den Anwender PC der zur Entwicklung verwendet werden soll, zeigt der TwinCAT 3 (Shell) folgende Benutzeroberfläche nach dem Start:

TwinCAT 3 1:
Initale Benutzeroberfläche TwinCAT 3

Zunächst ist die Erstellung eines neues Projekt mittels TwinCAT 3 2: (oder unter „Datei“→“Neu“→“Projekt…“) vorzunehmen. In dem darauf folgenden Dialog werden die entsprechenden Einträge vorgenommen (wie in der Abbildung gezeigt):

TwinCAT 3 3:
Neues TwinCAT 3 Projekt erstellen

Im Projektmappen-Explorer liegt sodann das neue Projekt vor:

TwinCAT 3 4:
Neues TwinCAT 3 Projekt im Projektmappen-Explorer

Es besteht generell die Möglichkeit das TwinCAT „lokal“ oder per „remote“ zu verwenden. Ist das TwinCAT System inkl. Benutzeroberfläche (Standard) auf dem betreffenden PLC (lokal) installiert, kann TwinCAT „lokal“ eingesetzt werden und mit Schritt „Geräte einfügen“ fortgesetzt werden.

Ist es vorgesehen, die auf einem PLC installierte TwinCAT Laufzeitumgebung von einem anderen System als Entwicklungsumgebung per „remote“ anzusprechen, ist das Zielsystem zuvor bekannt zu machen. Über das Symbol in der Menüleiste:

TwinCAT 3 5:

wird das pull-down Menü aufgeklappt:

TwinCAT 3 6:

und folgendes Fenster hierzu geöffnet:

TwinCAT 3 7:
Auswahldialog: Wähle Zielsystem

Mittels „Suchen (Ethernet)...“ wird das Zielsystem eingetragen. Dadurch wird ein weiterer Dialog geöffnet um hier entweder:

  • den bekannten Rechnernamen hinter „Enter Host Name / IP:“ einzutragen (wie rot gekennzeichnet)
  • einen „Broadcast Search“ durchzuführen (falls der Rechnername nicht genau bekannt)
  • die bekannte Rechner - IP oder AmsNetId einzutragen
TwinCAT 3 8:
PLC für den Zugriff des TwinCAT System Managers festlegen: Auswahl des Zielsystems

Ist das Zielsystem eingetragen, steht dieses wie folgt zur Auswahl (ggf. muss zuvor das korrekte Passwort eingetragen werden):

TwinCAT 3 9:

Nach der Auswahl mit „OK“ ist das Zielsystem über das Visual Studio Shell ansprechbar.

Geräte einfügen

In dem linksseitigen Projektmappen-Explorer der Benutzeroberfläche des Visual Studio Shell wird innerhalb des Elementes „E/A“ befindliche „Geräte“ selektiert und sodann entweder über Rechtsklick ein Kontextmenü geöffnet und „Scan“ ausgewählt oder in der Menüleiste mit TwinCAT 3 10: die Aktion gestartet. Ggf. ist zuvor der TwinCAT System Manager in den „Konfig Modus“ mittels TwinCAT 3 11: oder über das Menü „TWINCAT“ → „Restart TwinCAT (Config Mode)“ zu versetzen.

TwinCAT 3 12:
Auswahl „Scan“

Die darauf folgende Hinweismeldung ist zu bestätigen und in dem Dialog die Geräte „EtherCAT“ zu wählen:

TwinCAT 3 13:
Automatische Erkennung von E/A Geräten: Auswahl der einzubindenden Geräte

Ebenfalls ist anschließend die Meldung „nach neuen Boxen suchen“ zu bestätigen, um die an den Geräten angebundenen Klemmen zu ermitteln. „Free Run“ erlaubt das Manipulieren von Ein- und Ausgangswerten innerhalb des „Config Modus“ und sollte ebenfalls bestätigt werden.

Ausgehend von der am Anfang dieses Kapitels beschriebenen Beispielkonfiguration sieht das Ergebnis wie folgt aus:

TwinCAT 3 14:
Abbildung der Konfiguration in VS Shell der TwinCAT 3 Umgebung

Der gesamte Vorgang setzt sich aus zwei Stufen zusammen, die auch separat ausgeführt werden können (erst das Ermitteln der Geräte, dann das Ermitteln der daran befindlichen Elemente wie Boxen, Klemmen o. ä.). So kann auch durch Markierung von „Gerät ..“ aus dem Kontextmenü eine „Suche“ Funktion (Scan) ausgeführt werden, die hierbei dann lediglich die darunter liegenden (im Aufbau vorliegenden) Elemente einliest:

TwinCAT 3 15:
Einlesen von einzelnen an einem Gerät befindlichen Klemmen

Diese Funktionalität ist nützlich, falls die Konfiguration (d. h. der „reale Aufbau“) kurzfristig geändert wird.

PLC programmieren

TwinCAT PLC Control ist die Entwicklungsumgebung zur Erstellung der Steuerung in unterschiedlichen Programmumgebungen: Das TwinCAT PLC Control unterstützt alle in der IEC 61131-3 beschriebenen Sprachen. Es gibt zwei textuelle Sprachen und drei grafische Sprachen.

  • Textuelle Sprachen
    • Anweisungsliste (AWL, IL)
    • Strukturierter Text (ST)
  • Grafische Sprachen
    • Funktionsplan (FUP, FBD)
    • Kontaktplan (KOP, LD)
    • Freigrafischer Funktionsplaneditor (CFC)
    • Ablaufsprache (AS, SFC)

Für die folgenden Betrachtungen wird lediglich vom strukturierten Text (ST) Gebrauch gemacht.

Um eine Programmierumgebung zu schaffen, wird dem Beispielprojekt über das Kontextmenü von „SPS“ im Projektmappen-Explorer durch Auswahl von „Neues Element hinzufügen….“ ein PLC Unterprojekt hinzugefügt:

TwinCAT 3 16:
Einfügen der Programmierumgebung in „SPS“

In dem darauf folgenden geöffneten Dialog wird ein „Standard PLC Projekt“ ausgewählt und beispielsweise als Projektname „PLC_example“ vergeben und ein entsprechendes Verzeichnis ausgewählt:

TwinCAT 3 17:
Festlegen des Namens bzw. Verzeichnisses für die PLC Programmierumgebung

Das durch Auswahl von „Standard PLC Projekt“ bereits existierende Programm „Main“ kann über das „PLC_example_Project“ in „POUs“ durch Doppelklick geöffnet werden. Es wird folgende Benutzeroberfläche für ein initiales Projekt dargestellt:

TwinCAT 3 18:
Initiales Programm „Main“ des Standard PLC Projektes

Nun sind für den weiteren Ablauf Beispielvariablen sowie ein Beispielprogramm erstellt worden:

TwinCAT 3 19:
Beispielprogramm mit Variablen nach einem Kompiliervorgang (ohne Variablenanbindung)

Das Steuerprogramm wird nun als Projektmappe erstellt und damit der Kompiliervorgang vorgenommen:

TwinCAT 3 20:
Kompilierung des Programms starten

Anschließend liegen in den „Zuordnungen“ des Projektmappen-Explorers die folgenden – im ST/ PLC Programm mit „AT%“ gekennzeichneten Variablen vor:

TwinCAT 3 21:

Variablen Zuordnen

Über das Menü einer Instanz – Variablen innerhalb des „SPS“ Kontextes wird mittels „Verknüpfung Ändern…“ ein Fenster zur Auswahl eines passenden Prozessobjektes (PDOs) für dessen Verknüpfung geöffnet:

TwinCAT 3 22:
Erstellen der Verknüpfungen PLC-Variablen zu Prozessobjekten

In dem dadurch geöffneten Fenster kann aus dem SPS-Konfigurationsbaum das Prozessobjekt für die Variable „bEL1004_Ch4“ vom Typ BOOL selektiert werden:

TwinCAT 3 23:
Auswahl des PDO vom Typ BOOL

Entsprechend der Standarteinstellungen stehen nur bestimmte PDO Objekte zur Auswahl zur Verfügung. In diesem Beispiel wird von der Klemme EL1004 der Eingang von Kanal 4 zur Verknüpfung ausgewählt. Im Gegensatz hierzu muss für das Erstellen der Verknüpfung der Ausgangsvariablen die Checkbox „Alle Typen“ aktiviert werden, um in diesem Fall eine Byte-Variable einen Satz von acht separaten Ausgangsbits zuzuordnen. Die folgende Abbildung zeigt den gesamten Vorgang:

TwinCAT 3 24:
Auswahl von mehreren PDO gleichzeitig: Aktivierung von „Kontinuierlich“ und „Alle Typen“

Zu sehen ist, dass überdies die Checkbox „Kontinuierlich“ aktiviert wurde. Dies ist dafür vorgesehen, dass die in dem Byte der Variablen „nEL2008_value“ enthaltenen Bits allen acht ausgewählten Ausgangsbits der Klemme EL2008 der Reihenfolge nach zugeordnet werden sollen. Damit ist es möglich, alle acht Ausgänge der Klemme mit einem Byte entsprechend Bit 0 für Kanal 1 bis Bit 7 für Kanal 8 von der PLC im Programm später anzusprechen. Ein spezielles Symbol (TwinCAT 3 25:) an dem gelben bzw. roten Objekt der Variablen zeigt an, dass hierfür eine Verknüpfung existiert. Die Verknüpfungen können z. B. auch überprüft werden, indem „Goto Link Variable“ aus dem Kontextmenü einer Variable ausgewählt wird. Dann wird automatisch das gegenüberliegende verknüpfte Objekt, in diesem Fall das PDO selektiert:

TwinCAT 3 26:
Anwendung von "Goto Link Variable" am Beispiel von „MAIN.bEL1004_Ch4“

Der Vorgang zur Erstellung von Verknüpfungen kann auch in umgekehrter Richtung, d. h. von einzelnen PDO ausgehend zu einer Variablen erfolgen. In diesem Beispiel wäre dann allerdings eine komplette Auswahl aller Ausgangsbits der EL2008 nicht möglich, da die Klemme nur einzelne digitale Ausgänge zur Verfügung stellt. Hat eine Klemme einen Byte, Word, Integer oder ein ähnliches PDO, so ist es möglich dies wiederum einen Satz von bit-typisierten Variablen (Typ „BOOL“) zuzuordnen. Auch hier kann ebenso in die andere Richtung ein „Goto Link Variable“ ausgeführt werden, um dann die betreffende Instanz der PLC zu selektieren.

TwinCAT 3 27:

Hinweis zur Art der Variablen-Zuordnung

Diese folgende Art der Variablen Zuordnung kann erst ab der TwinCAT Version V3.1.4024.4 verwendet werden und ist ausschließlich bei Klemmen mit einem Mikrocontroller verfügbar.

In TwinCAT ist es möglich eine Struktur aus den gemappten Prozessdaten einer Klemme zu erzeugen. Von dieser Struktur kann dann in der SPS eine Instanz angelegt werden, so dass aus der SPS direkt auf die Prozessdaten zugegriffen werden kann, ohne eigene Variablen deklarieren zu müssen.

Beispielhaft wird das Vorgehen an der EL3001 1-Kanal-Analog-Eingangsklemme -10…+10 V gezeigt.

  1. Zuerst müssen die benötigten Prozessdaten im Reiter „Prozessdaten“ in TwinCAT ausgewählt werden.
  2. Anschließend muss der SPS Datentyp im Reiter „PLC“ über die Check-Box generiert werden.
  3. Der Datentyp im Feld „Data Type“ kann dann über den „Copy“-Button kopiert werden.
  4. TwinCAT 3 28:
    Erzeugen eines SPS Datentyps
  5. In der SPS muss dann eine Instanz der Datenstruktur vom kopierten Datentyp angelegt werden.
  6. TwinCAT 3 29:
    Instance_of_struct
  7. Anschließend muss die Projektmappe erstellt werden. Das kann entweder über die Tastenkombination „STRG + Shift + B“ gemacht werden oder über den Reiter „Erstellen“/ „Build“ in TwinCAT.
  8. Die Struktur im Reiter „PLC“ der Klemme muss dann mit der angelegten Instanz verknüpft werden.
  9. TwinCAT 3 30:
    Verknüpfung der Struktur
  10. In der SPS können die Prozessdaten dann über die Struktur im Programmcode gelesen bzw. geschrieben werden.
TwinCAT 3 31:
Lesen einer Variable aus der Struktur der Prozessdaten

Aktivieren der Konfiguration

Die Zuordnung von PDO zu PLC Variablen hat nun die Verbindung von der Steuerung zu den Ein- und Ausgängen der Klemmen hergestellt. Nun kann die Konfiguration mit TwinCAT 3 32: oder über das Menü unter „TWINCAT“ aktiviert werden, um dadurch Einstellungen der Entwicklungsumgebung auf das Laufzeitsystem zu übertragen. Die darauf folgenden Meldungen „Alte Konfigurationen werden überschrieben!“ sowie „Neustart TwinCAT System in Run Modus“ werden jeweils mit „OK“ bestätigt. Die entsprechenden Zuordnungen sind in dem Projektmappen-Explorer einsehbar:

TwinCAT 3 33:

Einige Sekunden später wird der entsprechende Status des Run Modus mit einem rotierenden Symbol TwinCAT 3 34: unten rechts in der Entwicklungsumgebung VS Shell angezeigt. Das PLC System kann daraufhin wie im Folgenden beschrieben gestartet werden.

Starten der Steuerung

Entweder über die Menüauswahl „PLC“ → „Einloggen“ oder per Klick auf TwinCAT 3 35: ist die PLC mit dem Echtzeitsystem zu verbinden und nachfolgend das Steuerprogramm zu geladen, um es ausführen lassen zu können. Dies wird entsprechend mit der Meldung „Kein Programm auf der Steuerung! Soll das neue Programm geladen werden?“ bekannt gemacht und ist mit “Ja” zu beantworten. Die Laufzeitumgebung ist bereit zum Programmstart mit Klick auf das Symbol TwinCAT 3 36:, Taste „F5“ oder entsprechend auch über „PLC“ im Menü durch Auswahl von „Start“. Die gestartete Programmierumgebung zeigt sich mit einer Darstellung der Laufzeitwerte von einzelnen Variablen:

TwinCAT 3 37:
TwinCAT 3 Entwicklungsumgebung (VS Shell): Logged-in, nach erfolgten Programmstart

Die beiden Bedienelemente zum Stoppen TwinCAT 3 38: und Ausloggen TwinCAT 3 39: führen je nach Bedarf zu der gewünschten Aktion (entsprechend auch für Stopp „umschalt-Taste + F5“ oder beide Aktionen über das „PLC“ Menü auswählbar).