Grundlagen der Automatisierungstechnik (Automatisierungstechnik 1) 4. Übung SPS-Programmierung Programmiersprachen nach IEC 61131-3 2 1
Strukturierter Text (ST) Engl.: Structured Text (ST) Höhere Programmiersprache Pascal mit Erweiterungen für das Softwaremodell nach IEC 61131 und das Handling von I/O-Signalen Strukturierte Programmierung mit Konstrukten wie IF THEN ELSE, CASE, FOR, WHILE 3 Wichtige Operatoren (1) Variablen- und Speicherhandling LD Load Lädt einen Wert in den Akkumulator LDN Load Not Lädt einen negierten Wert in den Akkumulator ST Store Speichert den Inhalt des Akkumulators STN Store Not Speichert die Negation des Akkumulators S Set setzt Operand auf TRUE (wenn Akku=1) Verkürzt für STC Store Conditional R Reset setzt Operand auf FALSE (wenn Akku=1) Verkürzt für STCN Store Conditional Not Boolesche Verknüpfungen AND, ANDN Und, Und Nicht AND(, ANDN( Verknüpfung mit Klammerausdruck danach OR, ORN Oder, Oder Nicht OR(, ORN( Verknüpfung mit Klammerausdruck danach XOR, XORN Exklusiv Oder, Exklusiv Oder Nicht XOR(, XORN( Verknüpfung mit Klammerausdruck danach ) Klammer zu 4 2
Wichtige Operatoren (2) Behandlung allgemeiner Daten ADD, ADD( Addiert Operand auf Akkumulator SUB, SUB( Subtrahiert Operand vom Akkumulator MUL, MUL( Multipliziert Akkumulator mit Operand DIV, DIV( Dividiert Akkumulator durch Operand ) Klammer zu Vergleichsoperatoren GT, GT( Größer GE, GE( Größer oder Gleich EQ, EQ( Gleich NE, NE( Ungleich LE, LE( Kleiner oder Gleich LT, LT( Kleiner ) Klammer zu 5 Wichtige Operatoren (3) Verzweigungen (Sprünge) JMP Sprung zu einer Sprungmarke JMPC Bedingter Sprung (nur ausgeführt wenn Akkumulator auf TRUE) JMPCN Bedingter Sprung (nur ausgeführt wenn Akkumulator auf FALSE) Funktionsbausteinaufruf CAL Bausteinaufruf CALC Bedingter Bausteinaufruf (wenn Akkumulator auf TRUE) CALCN Bedingter Bausteinaufruf (wenn Akkumulator auf FALSE) Rücksprung aus Funktionsbaustein oder Funktion RET Rücksprung RETC Bedingter Rücksprung (wenn Akkumulator auf TRUE) RETCN Bedingter Rücksprung (Akkumulator auf FALSE) Funktionsaufruf Funktionsname 6 3
Anlagenbeschreibung Industrietor 7 Informelle Spezifikation Das Industrietor verfügt über 2 Schütze anhand derer das Industrietor nach oben (SchLM1) bzw. nach unten (SchRM1) gefahren werden kann. Zur Bestimmung der Position stehen ein Sensor zur Erkennung der oberen (Oben_S30) und unteren Endlage (Unten_S10) zur Verfügung. Zur Mensch-Maschine-Interaktion stehen 2 Taster zur Verfügung. Mit dem Taster TasterAUF soll das Tor nach oben gefahren werden (das Tor öffnet sich). Mit dem Taster TasterAB soll das Tor nach unten gefahren werden (das Tor wird geschlossen). Hierbei ist zu beachten, dass auf einen Flankenwechsel am Taster reagiert werden soll, der Taster also nicht ständig von Hand gedrückt werden muss. Ein dauerhaft halboffenes Tor ist bewusst nicht vorgesehen. Zur Vermeidung von Schäden an Mensch oder Material dient die Lichtschranke (OptSensor). Wird einer der Lichtstrahlen der Lichtschranke unterbrochen, so soll das Tor nach oben fahren bis es komplett geöffnet ist. Bei Betätigen des Not-Aus-Knopfes (Not_Aus) soll das Tor in seiner aktuellen Position stehen bleiben und bis zu einem Reset der Steuerung nicht mehr bewegt werden können. 8 4
Erweiterte informelle Spezifikation Zusätzlich zur einfachen Spezifikation soll es nun möglich sein das Tor mit einer Ein-Knopf-Fernbedienung zu steuern. Die Fernbedienung hat nur einen Knopf und kann als Taster aufgefasst werden. Die Anlage soll wie folgt auf einen Knopfdruck der Fernbedienung reagieren: Bewegt sich das Tor und ist weder komplett geöffnet noch komplett geschlossen, dann soll sich das Tor in die entgegen gesetzte Richtung bewegen. Ist das Tor komplett geschlossen soll es sich jetzt öffnen. Ist das Tor komplett geöffnet soll es sich jetzt schließen. Ist ein Lichtstrahl der Lichtschranke unterbrochen, so soll die Steuerung auf die Fernbedienung nicht reagieren. 9 Verwendete Signale Tabelle der Eingangssignale Signal-Name Bedeutung der logischen 0 Bedeutung der logischen 1 TasterAUF Taster nicht gedrückt Taster gedrückt TasterAB Taster nicht gedrückt Taster gedrückt Not_Aus Taster gedrückt Taster nicht gedrückt FernSt Knopf nicht gedrückt Knopf gedrückt Unten_S10 Tor komplett geschlossen Tor nicht komplett geschlossen Oben_S30 Tor komplett geöffnet Tor nicht komplett geöffnet OptSensor Ein Lichtstrahl ist unterbrochen Kein Lichtstrahl ist unterbrochen Tabelle der Ausgangssignale Signal-Name Bedeutung der logischen 0 Bedeutung der logischen 1 SchLM1 Motor nicht nach links drehen Motor nach links drehen (Tor nach oben) SchRM1 Motor nicht nach rechts drehen Motor nach rechts drehen (Tor nach unten) 10 5
Aufgaben 1. Entwerfen Sie zunächst eine Steuerung für die einfache Spezifikation (ohne Fernbedienung) 2. Setzen Sie die Steuerung in AWL und ST um 3. Überlegen Sie sich ein Vorgehen zum Test der Steuerung in einer Simulation (Testfälle) 4. Erweitern Sie die Lösung um die Funktion der Fernbedienung 5. Setzen Sie die Steuerung in AWL um 6. Überlegen Sie sich ein Vorgehen zum Test der Steuerung in einer Simulation (Testfälle) 11 6