SPS IEC 1131 / Programmieren mit PROSYS

© U. Ohm, BBS4, Hannover - [email protected]

1

2

SPS IEC 1131 / Programmieren mit PROSYS

Das vollständige und zertifizierte IEC 1131-3 Programmiersystem für die S5 und S7 Überblick über die HELP-Datei Was ist was in ProSys 1131? Deklarationseditor Projekte bearbeiten Anweisungsliste (AWL) Objekte bearbeiten Strukturierter Text (ST) Allgemeine Editierfunktionen Funktionsplan (FUP) Allgemeine Onlinefunktionen Kontaktplan (KOP) Fenster anordnen Ablaufsprache (AS) Fehlermeldungen STEP5-AWL S7-200-Besonderheiten STEP7-AWL Steuerungskonfiguration Bibliotheksverwalter

Start-Button

ACCON-ProSys 1131 wurde vom TÜV Nord geprüft im Auftrag der PLCopen und ist bei der PLCopen für den Base Level IL (AWL) (Zertifikat NR. C-12 vom 4.10.1095) und Base Level ST (AWL) (Zertifikat NR. C-13 vom 4.10.1095).

SPS IEC 1131 / Programmieren mit PROSYS

3

Anleitung zur Verwendung der ProSys-Hilfe Die unterstrichenen Begriffe sind jeweils aus der angegeben nachgestellen Schrittnummer entnommen und führen zu den weiteren Begriffen. 1) Was ist was in ProSys 1131? (Seite 1) 2) Bestandteile eines Projekts (aus 1) Ein Projekt beinhaltet alle Objekte eines Steuerungsprogramms. Ein Projekt wird in einer Datei mit dem Namen des Projekts gespeichert. Zu einem Projekt gehören folgende Objekte: 3) Bausteine (aus 2) Es gibt folgende Bausteintypen, die von der Norm IEC 1131-3 festgelegt sind: Funktionen, Funktionsblöcke und Programme. Jeder Baustein besteht aus einem Deklarationsteil und einem Rumpf. Der Rumpf ist in einer der IEC-Programmiersprachen AWL, ST , FUP oder AS geschrieben. 4) Funktionen (aus 3) verfügen über keine internen Zustände, d.h. Aufrufe einer Funktion mit denselben Argumenten (Eingabeparametern) liefern immer denselben Wert (Ausgabe). 5) Funktionsblock (aus 3) Ein Funktionsblock oder Funktionsbaustein ist ein Baustein, der bei der Ausführung einen oder mehrere Werte liefert. Ein Funktionsblock enthält keinen Typ. Er kann keine oder mehrere Ein- und Ausgabeparameter haben. 6) Programm (aus 3) Ein Programm ist ein Baustein, der bei der Ausführung einen oder mehrere Werte liefert. Programme sind global im gesamten Projekt bekannt. Alle Werte bleiben von einer Ausführung des Programms bis zur nächsten erhalten. 7) Reservierte Bausteinnamen aus 3) Ein spezielles Programm ist der Baustein OB1. Das ist der erste Baustein, der in einem neuen Projekt angelegt wird. Dieser Baustein wird pro Steuerungszyklus genau einmal aufgerufen. Löschen Sie diesen Baustein nicht, und benennen Sie ihn nicht um!!! 8) Datentypen (aus 2) In ProSys 1131 können als Operanden Konstanten, Variablen, Adressen und evtl. Funktionsaufrufe auftreten. 9) Konstanten (aus 8) BOOL-Konstanten sind die Wahrheitswerte TRUE und FALSE. TIME-Konstanten 10) Variablen (aus 8) Variablen werden entweder lokal im Deklarationsteil eines Bausteins deklariert, oder in der globalen Variablenliste. Für die Bezeichner von Variablen ist zu beachten, daß sie keine Leerstellen enthalten dürfen, keine Umlaute, sie dürfen nicht doppelt deklariert sein, und nicht identisch zu Schlüsselwörtern. 11) Adresse (aus 8) Die direkte Darstellung einzelner Speicherzellen erfolgt mittels spezieller Zeichenreihen. 12) Anweisungsliste (AWL) (aus 1)

13) Strukturierter Text (ST) (aus 1)

14) Funktionsplan (FUP) (aus 1)

15) Kontaktplan (KOP) (aus 1)

16) Ablaufsprache (AS) (aus 1) 17) Operatoren (Hilfe / Suchen... / Operatoren )

4

SPS IEC 1131 / Programmieren mit PROSYS

Nützliche Tipps

1) Falls folgender Hinweis auftaucht,

2) 3) 4) 5)

6)

ist meistens die Systemkonfiguration nicht richtig an die gewählten Ein- und Ausgänge angepasst. (Siehe dazu die Bedienungsanleitung ). Die Fehler lassen sich einfach recherchieren über . Im Fenster stehen die Zeilen, in dem der Fehler auftritt und ein meist hilfreicher Kommentar. Wenn sie mehrere Netzwerke gebildet haben, ist darauf zu achten, dass das letzte nicht leer ist. Sonst kommt auch eine Fehlermeldung. Der nächte Fehler lässt sich schnell finden über . Die Sprachen lassen sich „austauschen“ (konvertieren). Dazu ist • ganz links der entsprechende Baustein blau zu unterlegen. • und die neue Sprache zu wählen. Das Fenster kann gesetzt oder entfernt werden über .

7) Falls das Programm trotz Wahl der Simulation und nach dem Einloggen

nicht läuft, haben Sie wahrscheinlich vergessen, den START-Button

zu drücken.

8) Wenn Sie in FUP oder KOP einen Baustein einfügen wollen und auf den entsprechenden Button klicken, dieser aber nicht im Netzwerk eingetragen wird, haben Sie nicht vorher in das Feld des Neztwerkes geklickt, sondern der Kursor steht im Deklarationsfeld. 9) Die Fehlermeldung „kein Schreibzugriff auf...“ entsteht, wenn man versucht, eine symbolische Zuweisung (also einen Ausgang – z. B. K3 AT %QX1.2> ) auf eine Eingangsklemme zu legen ( z.B. K3 AT %I1.2 ). Ein Ausgang kann zwar als Eingang für eine Verknüpfung abgefragt werden, ändert dadurch aber nicht seinen Status. Auch wenn in einem Programm zuerst die Eingänge einer Verknüpfung neu zugeordnet werden - ohne dass bisher das Schütz K3 deklariert wurde - und dort z.B. der Schützkontakt K3 abgefragt wird, muss für die Deklaration die Schützspule K3 einer Ausgangsklemme zugeordnet werden (sofern nicht ausdrücklich ein entsprechender Schützkontakt am Eingang der SPS direkt abgefragt werden soll. Dann ist dieser Kontakt jedoch anders zu benennen, als die Ausgangsvariable K3. 10) Ein neues Netzwerk in FUP darf nicht leer bleiben, sonst kommt es zur Fehlermeldung. Zuerst kommt obiger Hinweis „Um sich einloggen zu können muß das Projekt korrekt sein“.Bei Recherche wie unter Pkt. 2 beschieben folgt dann: „Es wird ein Ausdruck erwartet“. Abhilfe: Entweder Netzwerk bestücken oder mit Cursor markieren unter >Bearbeit> dann wählen.

SPS IEC 1131 / Programmieren mit PROSYS

5

Darstellung von Variablen Ein Programm kann die Aufgabe haben, zwei Eingangsgrößen durch ein logisches UND (AND) zu verknüpfen. Der Baustein (UND) ist dafür zwingend erforderlich. Welche Eingangsgrößen jedoch verknüpft werden sollen, kann variabel entschieden werden. Deshalb nennt man diese Größen auch Variable. Eine Variable wird durch einen Namen - den Bezeichner oder Operand - gekennzeichnet. Dieser ist – fast – frei wählbar, aber mit folgenden Einschränkungen: • • • •

Es sind nur Buchstaben, Zahlen und der Unterstrich (_) in - fast – beliebiger Reihenfolge erlaubt. (Umlaute sind nicht erlaubt. Also anstatt z. B. ä muss ae geschrieben werden). Der Bezeichner darf nicht mit einer Zahl beginnen. Es dürfen nicht mehrere Unterstriche direkt hinter einander folgen. Es darf kein Leerzeichen zwischen den Zeichen stehen, es muss also ein zusammenhängender Ausdruck entstehen.

Variablen bezeichnen Datenelemente, deren Inhalt sich ändern kann. Die Variablen können in zwei Gruppen geteilt werden: • •

Variablen, die zum Zwischenspeichern von internen Daten dienen. Direkt dargestellte Variablen, die mit Ein- und Ausgängen der SPS verbunden sind.

Eine Anschlussklemme einer SPS hat eine genormte Bezeichnung: Das Programm erkennt eine solche Klemme an dem %-Zeichen, das jeder Klemmenbezeichnung direkt voran gestellt wird. Alle Eingänge sind an dem dann folgenden I (von: Input) und alle Ausgänge an dem Q zu erkennen. Das folgende „X“ hat keine Bedeutung, sondern ist nur ein Füllzeichen, das hier als Platzhalter dient, weil das Programm eine bestimmte Länge der Eingabe erwartet. Beispiel:

%IX1.3 %QX2.4

Eingangsklemme 3 der Eingangsklemmleiste 1 Ausgangsklemme 4 der Ausgangsklemmleiste 2

SPS IEC 1131 / Programmieren mit PROSYS

6

Datenbreite Die Information, welche Klemme angesprochen werden soll, umfasst die Datenmenge 1 Bit. Die SPS verarbeitet außer Bit- auch Byte- und Wortsignale. Ein Byte besteht immer aus 8 Bits, ein Wort aus 2 Bytes, also 16 Bits. Das niedrigste Bit eines Bytes liegt an der Klemme 0, das höchste an Klemme 7. Soll eine Anweisung gleichzeitig ein ganzes Byte oder Wort umfassen, dann ist zum Kennzeichen des Operanden noch die Datenbreite B = Byte oder W = Wort hinzu zu fügen (dort, wo sonst das „X“ stand): %IB1

Lade Eingangs-Byte Nr. 1 = Bit-Eingänge Nr. 0 bis 7 der Eingangsklemmleiste 1

%QB3 Gib die Information auf die Bit-Ausgänge Nr. 0 bis 7 der Ausgangsklemmleiste 3 aus. Sinngemäß verfahren Sie bei der Wortverarbeitung. Die Datenbreite B = Byte wird einfach durch W = Wort ersetzt: %QW3

SPS IEC 1131 / Programmieren mit PROSYS

7

Man kann einen Bezeichner direkt als Klemme darstellen, wie vorstehend beschrieben – muss es aber nicht. Man kann – und das ist für größere Programme dringend zu empfehlen (warum?) – die Variablen mit einem „Kosenamen“ (der symbolischen Adresse) versehen und auch so aufrufen. Sinnvoll wäre hier eine logische Bezeichnung der Funktion. Für die Abfrage des START-Tasters könnte die Variable dann „Start“ oder „EIN“ heißen. Dafür muss dann nur noch eine Zuordnung zwischen Start und der entsprechenden Klemme erfolgen. Diese Zuordnung erfolgt grundsätzlich in der Deklaration des Programms, dem Vorspann. Zwischen den Schlüsselwörtern VAR und END_VAR werden die „Kosenamen“ mit dem weiteren Schlüsselwort AT der Klemme zugewiesen. Danach muss noch der Datentyp deklariert werden. Achten Sie auf die genormte Schreibweise! Schlüsselwörter sind GROSS zu schreiben. Die Zeichen „:“ und zum Schluss „;“ nicht vergessen! Die Variablen können – je nach Firmen-software – entweder direkt in den Deklarationskopf oder in eine Assistententabelle geschrieben werden. Von diesem Assistenten werden die Daten dann normgemäß in den Deklarationskopf übertragen.

SPS IEC 1131 / Programmieren mit PROSYS

Direkte Darstellung

Darstellung mit symbolischen Namen

(*Deklaration*)

(*Deklaration*)

VAR

VAR

AT %I0.0 : BOOL; AT %I0.1 : BOOL; AT %Q0.0 : BOOL;

Einschalt_1 AT %I0.0 : BOOL; Ausschalt_1 AT %I0.1 : BOOL; _Motor_Relais AT %Q0.0 : BOOL;

END_VAR

END_VAR

(*Programm*)

(*Programm*)

LD OR AND ST

LD OR AND ST

%I0.0 %Q0.0 %I0.1 %Q0.0

Einschalt_1 _Motor_Relais Ausschalt_1 _Motor_Relais

8

Lade den Wert Eingang Klemme 0.0 ...oder am Ausgang 0.0 und am Eingang Klemme 0.1 weise das Ergebnis dem Ausg. 0.0 zu.

SPS IEC 1131 / Programmieren mit PROSYS

Visuelle Anleitung

Übung 1: Öffnen eines Programms und Simulaltion.

Menüleiste (Ausschnitt)

Führen Sie die unterlegten Befehle aus.

Wählen Sie ein Programm aus.

9

SPS IEC 1131 / Programmieren mit PROSYS

Falls das Programm noch nicht wie nebenstehend geöffnet wurde, Doppelklick auf Baustein OB1

Zu sehen ist eine kleine Verknüpfung von einem Eingang mit 3 Ausgängen, geschrieben in AWL. Zu weiteren Erklärungen des Programms siehe Blatt „Anleitung zur Verwendung der ProSys-Hilfe“: dort unter Pkt. 12: AWL; unter Pkt. 11: Adresse; unter Pkt. 10: Variable. In allen Beispielprogrammen, die auf ****a.pro enden (geschrieben in AWL), gibt es zahlreiche Kommentare.

10

SPS IEC 1131 / Programmieren mit PROSYS

Unten in linken Fenster können verschiedene Dienstprogramme aufgerufen werden. Auch die eingekreiste Steuerungsfunktion.

Durch Klick auf das entsprechende BYTE folgt die gezeigte Auswahl, die Sie entsprechen Ihrer Wahl markieren und somit definieren können. Im Beispiel wird gerade Byte 1 als Ausgangsklemmleiste ausgewählt.

11

SPS IEC 1131 / Programmieren mit PROSYS

Zum Simulieren des obigen Programms ist unter zu markieren.

Das Einloggen (Einlesen) des Programms erfolgt entweder wie oben unter zu sehen (markieren), oder unten über den Button.

Damit sind alle Vorbereitungen getroffen. Die Simulation starten mit dem -Button.

An der Eingangsleiste wird der zum Programm passende Eingang (hier: ) gedrückt. Auf der passenden Ausgangsleiste wird die Verknüpfung angezeigt.

Die Simulation wird beendet mit Klick auf den -Button.

ENDE der ersten Übung

12

SPS IEC 1131 / Programmieren mit PROSYS

Aufgabe: Anlegen eines neuen Projektes in AWL mit direkter Adressierung und Simulation.

13

SPS IEC 1131 / Programmieren mit PROSYS

hier das Programm schreiben

Bei direkter Adressierung müssen keine Variablen deklariert werden. Die Schlüsselwörter werden vom Programm groß geschrieben. Das „X“ der Ein- u. Ausgänge muß nicht geschrieben werden. Es wird vom Programm eingesetzt. Schritte nach dem Schreiben des Programms: - Steuerungskonfiguration - evtl. noch wählen - Einloggen -Start - Einschaltbedingungen austesten - STOP - Ausloggen und ggf. Programm ändern...

ENDE der Übung

14

SPS IEC 1131 / Programmieren mit PROSYS Programmierung in FUP: (FUP)

vor Operatorwahl in dieses Feld klicken

Der Operatortyp kann überschrieben werden, z. B. mit OR

15

SPS IEC 1131 / Programmieren mit PROSYS

1

zum Simulieren: - evtl. noch einstellen - Steuerungskonfiguation - Einloggen - Start - Testen - Stop - Ausloggen - evtl. Korrekturen

Ende der Übung

2

16

SPS IEC 1131 / Programmieren mit PROSYS

17