Beispiel Machine.pro

Das Erstellen von Applikationen mit der TwinCAT soll anhand eines Beispiel-Programms erläutert werden. Dieses Programm stellt eine Bearbeitungsmaschine für beliebige Werkstücke dar. Es befindet sich nach der Installation von TwinCAT im Verzeichnis '\TwinCAT\Samples\First Steps\PLC‘ und hat den Namen 'Machine.pro'.
Skizze:

Beispiel Machine.pro 1:

Funktionsbeschreibung:

1) Das Transportband wird beim Programmstart 5 Schritte angesteuert.

2) Der Bohrer wird für 2 sec. nach unten gefahren.

3) Der Bohrer wird für 2 sec. nach oben gefahren.

4) Bei Schritt 1 wird wieder begonnen.

TwinCAT starten:

Bevor Sie das Programm ausführen können, müssen Sie den TwinCAT Realtime Server aktivieren.

Beispiel Machine.pro 2:

Klicken Sie dazu mit der Maus auf das Symbol des TwinCAT Realtime Servers und aktivieren Sie den Befehl 'Start' aus dem Menü 'System'. Die Farbe des Symbols wechselt über gelb nach grün. Dies bedeutet, dass der Echtzeitkern von TwinCAT aktiv ist.

TwinCAT PLC Control starten:

Starten Sie jetzt die Programmieroberfläche von der TwinCAT SPS. Betätigen Sie dazu mit der Maus 'Start' -> 'Programme' -> 'TwinCAT System' -> 'TwinCAT PLC Control'.

Beispiel Machine.pro 3:

Projekt öffnen:

Beispiel Machine.pro 4:

Ein SPS-Projekt wird in einer Datei auf der Festplatte oder Diskette abgelegt, die den Namen des Projektes trägt. Um ein Projekt zu öffnen betätigen Sie den Menüpunkt 'Datei' und anschließend den Befehl 'Öffnen'.

Verzeichnis auswählen:

Beispiel Machine.pro 5:

Wechseln Sie in das oben angegebene Verzeichnis, indem Sie im Dialogfenster das abgebildete Symbol anklicken. Klicken Sie den Eintrag 'Samples' zweimal schnell hintereinander (Doppelklick). Verfahren Sie danach genauso mit dem Eintrag 'First Steps' und 'PLC'.

Projekt auswählen:

Wählen Sie das Projekt 'Machine.pro' aus, indem Sie den Eintrag im Dialogfenster mit der Maus anklicken und anschließend den Befehl 'Öffnen' ausführen.

Beispiel Machine.pro 6:

Die Elemente von PLC Control:

Nach dem Öffnen von Machine.pro und einem Doppelklick mit der linken Maustaste auf den Programmbaustein MAIN öffnet sich folgendes Dialogfenster.

Beispiel Machine.pro 7:

Im oberen blauen Balken steht der Projektname Machine.pro. Beispiel Machine.pro 8:

Direkt darunter befindet sich das Befehlsmenü Beispiel Machine.pro 9:

und die Toolbar:Beispiel Machine.pro 10:

Der unterste graue Balken enthält die Statuszeile: Beispiel Machine.pro 11:

Das Dialogfenster teilt sich in drei einzelne Fenster, sie enthalten die Objektliste, die Variablendeklaration und die Programmdarstellung.

Objektliste:

Beispiel Machine.pro 12:

TwinCAT unterscheidet drei Arten von Grundobjekten in einem Projekt:

· (Programm-)Bausteine (POE)

· Datentypen

· Resourcen

Variablendeklaration:

Beispiel Machine.pro 13:

Ein SPS-Programm speichert seine Daten in Variablen ab. Variablen sind vergleichbar mit Merkerwörter oder Datenwörter. Bevor eine Variable benutzt werden kann, muss diese deklariert werden, d.h. ihre Zuordnung zu einem bestimmten Datentyp (z.B. BYTE oder REAL) bekannt gegeben werden. Bei der Deklaration werden auch bestimmte Attribute wie Batteriepufferung, Anfangswerte oder Zuordnung zu physikalischen Adressen festgelegt. Wird eine Variable nicht im Eingangsabbild oder Ausgangsabbild benötigt, also nur innerhalb des SPS-Programms, so braucht sich der SPS-Programmierer nicht um den Speicherort der Daten zu kümmern. Dieses übernimmt TwinCAT. Das ungewollte Überschneiden von Merkerwörter / Datenwörter, so wie es bei bisherigen Systemen möglich war, wird hierdurch vermieden (Seiteneffekte). Wie bei Variablen, müssen auch Funktionsbausteine deklariert (instanziiert) werden. In dem Beispiel werden von den drei Funktionsblöcken 'DriveTyp', 'DownTyp' und 'UpTyp' je eine Instanz (Drive, Down und Up) angelegt. Nach der Instanziierung können die Instanzen verwendet und aufgerufen werden.

Programmdarstellung:

Beispiel Machine.pro 14:

In diesem Bereich von der TwinCAT PLC Control wird das SPS-Programm eingegeben und dargestellt.

Zielsystem auswählen:

TwinCAT stellt bis zu 4 Laufzeitsysteme zur Verfügung. Jedes dieser Laufzeitsysteme kann unabhängig von den anderen Laufzeitsystemen SPS-Programme in IEC61131-3 ausführen. Auf welchem Laufzeitsystem Sie Ihre Programme ausführen wollen, entscheiden Sie durch den Befehl 'Auswahl des Zielsystems ...' , im Menü 'Online'.
TwinCAT muss gestartet sein, um eine Auswahl treffen zu können.

Sofern sich TwinCAT im 'Run' oder 'Konfig'-Modus befindet, werden alle konfigurierten Laufzeitsysteme angezeigt.

Beispiel Machine.pro 15:

Nach der Installation von TwinCAT ist eventuell nur ein Laufzeitsystem freigegeben. Bestätigen Sie die Auswahl mit 'OK'.

Falls sich die PLC-Runtime nicht auf dem lokalen Rechner befindet, müssen Sie zuvor eine Verbindung zum gewünschten Zielsystem herstellen (siehe TwinCAT-Dokumentation).

Einloggen:

Beispiel Machine.pro 16:

Sie haben jetzt das SPS-Programm in der TwinCAT PLC Control geladen und wollen dieses ausführen. Vergewissern Sie sich, dass der TwinCAT Realtime Server aktiv ist. Sie erkennen das daran, dass rechts unten auf dem Bildschirm das TwinCAT Realtime Server Symbol grün dargestellt wird. Bevor Sie ein SPS-Programm starten, müssen Sie die TwinCAT PLC Control mit dem Laufzeitsystem verbinden; sich in die Steuerung 'einloggen'. Führen Sie im Menü 'Online' den Befehl 'Einloggen' aus. Da sich im Laufzeitsystem noch kein SPS-Programm befindet, erscheint die Meldung: Kein Programm auf der Steuerung! Alles übersetzen?. Bestätigen Sie die Frage mit 'OK'.

In der Statuszeile wechselt daraufhin die Anzeige:Beispiel Machine.pro 17:

SPS Programm starten:

Beispiel Machine.pro 18:

Mit den Befehl 'Start' aus dem Menü 'Online' wird das SPS-Programm im TwinCAT Realtime Server gestartet. Die Anzeige 'LÄUFT' in der Statuszeile wechselt von hellgrau auf schwarz. Sie sehen auch, dass innerhalb der Ablaufsprache einzelne Schritte zeitweise blau dargestellt werden. Ein blau dargestellter Schritt wird gerade ausgeführt, ist also der aktive Schritt.

SPS Programmverlauf verfolgen:

Über den Befehl 'Globale Variablen' in der Objektliste 'Resourcen' sehen Sie alle global deklarierten Variablen. Globale Variablen können von allen Programmbausteinen (POE) gemeinsam benutzt werden.

Beispiel Machine.pro 19:

Neben den Variablen werden dort auch die Funktionsbausteine 'timerUp', 'timerDown' und 'devTimer' angezeigt. Vor dem Funktionsnamen ist ein Pluszeichen. Durch einen Doppelklick mit der Maus auf dieses Zeichen öffnet sich eine baumartige Darstellung, in der alle Variablen der Funktion angezeigt werden.

Zahlendarstellung ändern:

Den Inhalt der Variablen können Sie in verschiedenen Zahlensystemen anzeigen lassen. Sie haben die Wahl zwischen Dezimal, Hexadezimal und Dual. Wenn Sie die Anzeige ändern wollen, müssen Sie im Menü 'Projekt' den Befehl 'Optionen...' ausführen. In der Kategorie 'Editor' können Sie den entsprechenden Eintrag auswählen.

Beispiel Machine.pro 20:

Programm beenden:

Beispiel Machine.pro 21:

Sie haben jetzt ein SPS-Programm in den TwinCAT PLC Control (IEC 61131-3 Programmierumgebung) geladen und auf den TwinCAT PLC Server (Laufzeitsystem) ausgeführt. Beenden Sie nun das SPS-Programm. Führen Sie dazu in den Menü 'Online' den Befehl 'Stop' aus.

Ausloggen:

Beispiel Machine.pro 22:

In den nächsten Abschnitten werden wir das SPS-Programm ergänzen. Dazu ist es notwendig, dass Sie sich von den TwinCAT PLC Server abmelden (ausloggen). Im Menü 'Online' müssen Sie dazu den Befehl 'Ausloggen' ausführen.

Programmtext betrachten:

Dieses Beispiel wurde in den verschiedenen Programmiersprachen der IEC61131-3 programmiert. Der Hauptteil des Programms ist in der Ablaufsprache (AS) erstellt worden. Er beinhaltet die Schritte:

· Init

· Engine

· Drill

und die Transitionen:

· TRUE

· End·

TimerUp.Q

Transitionen betrachten:

Die Transition 'TRUE' ist ständig erfüllt, da das Schlüsselwort 'TRUE' eine systemweite Konstante ist und ständig erfüllt ist (TRUE engl. wahr). Der Schritt 'Engine' wird bedingungslos nach dem Schritt 'Init' ausgeführt. TimerUp.Q bedeutet, dass die Variable Q in der Funktion Up TRUE (wahr oder auch 1) sein muss, damit diese Transition erfüllt ist.

'End' ist eine Transition, die weiteren Programmtext beinhaltet. Durch einen Doppelklick mit der Maus auf die Transition 'End' öffnet sich ein weiteres Fenster, in dem der entsprechende Programmtext angezeigt wird.

Beispiel Machine.pro 23:

In der Transition 'End' wird verglichen, ob die 25 Schritte des Motors schon erreicht wurden. Ist dieses der Fall, wechselt das Programm bei dem nächsten Zyklus von dem Schritt 'Engine' zu dem Schritt 'Drill'.

Beinhaltet ein Schritt oder eine Transition weiteren Programmtext, so wird dieses durch ein kleines schwarzes Dreieck gekennzeichnet.

Beispiel Machine.pro 24:

SPS Programm ändern:

Unter dem Menüpunkt Fenster können Sie wieder zum Fenster MAIN wechseln. An dieser Stelle soll das SPS-Programm von Ihnen so geändert werden, dass die Taktgeschwindigkeit des Motors in zwei Stufen (schnell/langsam) über eine Variable verändert werden kann. Öffnen Sie durch einen Doppelklick in der Objektliste den Funktionsblock 'DriveTyp'. Setzen Sie den Eingabecursor in die 1. Zeile und geben Sie folgenden Text ein:

IF switch = TRUE THEN

Nach betätigen der Eingabetaste (Return) erscheint ein Dialogfenster, welches Sie, wie unten abgebildet, ausfüllen müssen.

Beispiel Machine.pro 25:

Nach Betätigen von 'OK' wird die Variable 'Schalter' an die Variablenliste von MAIN angefügt (evtl. ist es möglich das diese Dialogbox bei Ihnen nicht erscheint, da in dem Dialog 'Optionen' die automatische Variablendeklaration deaktiviert werden kann. Dann öffnen Sie im Menü Bearbeiten die Variablen Deklaration).

Geben Sie noch folgende Programmzeilen ein:

devSpeed := T#10ms;
   ELSE 
devSpeed := T#25ms;
  END_IF

Das Fenster hat anschließend folgenden Inhalt:

Beispiel Machine.pro 26:

Ist die Variable 'switch' gesetzt, wird die Variable 'devSpeed' auf 10 ms gesetzt, andernfalls auf 25 ms. Dieses hat zur Folge, dass in den folgenden Programmzeilen die Impuls- und die Pausendauer des Taktgebers entweder 25 ms oder 10 ms beträgt.

Programm speichern:

Beispiel Machine.pro 27:

Speichern Sie das Programm durch den Befehl 'speichern' im Menü 'Datei'.

Programm übersetzen:

Bevor ein Programm in den TwinCAT PLC Server übertragen werden kann, muss dieses übersetzt werden, d.h. von der textuellen oder grafischen Darstellung in eine für die Steuerung verständliche Form konvertiert werden. Führen Sie dazu aus dem Menüpunkt 'Projekt' den Befehl 'Alles Übersetzen' aus.

Programm starten:

Loggen Sie sich an die Steuerung ein und starten Sie das SPS-Programm. Sie sehen, dass die Variable 'switch' beim Starten auf 'FALSE' steht.

Variablenwerte ändern:

Sie haben die Möglichkeit, Werte von Variablen zu verändern, während das SPS-Programm läuft. Öffnen Sie das Fenster 'globale Variablen' und führen Sie einen Doppelklick auf den Eintrag 'switch' aus. Die Anzeige ändert sich von FALSE auf TRUE und die Schriftfarbe wird rot. Der Wert in dem TwinCAT PLC Server hat sich bis zu diesem Zeitpunkt aber noch nicht geändert; dazu müssen Sie in dem Menüpunkt 'Online' den Befehl 'Werte schreiben' ausführen. Die Schriftfarbe wird wieder schwarz und die Variable 'devSpeed' ändert sich auf 10 ms.

Programmablauf verfolgen:

Um den Programmablauf verfolgen zu können müssen Sie TwinCAT Scope View öffnen.