SPS - ias.uni-stuttgart.de
Transcription
SPS - ias.uni-stuttgart.de
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Praktische Übungen im Labor „Automatisierungstechnik“ Versuch Nr. 4 Speicherprogrammierbare Steuerungen Versuchsanleitung Raum 2.146 Dokument Versionsverwaltung 2 PÜL Automatisierungstechnik - SPS Inhaltsverzeichnis 1 EINFÜHRUNG................................................................................................................. 3 1.1 1.2 2 „Eine starre Welt wird flexibel – die Geburt der SPS“ ............................................... 3 Inhalt und Zielsetzung des Versuchs ........................................................................... 3 SPEICHERPROGRAMMIERBARE STEUERUNGEN ............................................. 4 2.1 Einführung in die Steuerungstechnik .......................................................................... 4 2.2 Aufbau und Arbeitsweise einer SPS ............................................................................ 5 2.2.1 Aufbau einer SPS ................................................................................................. 5 2.2.2 Arbeitsweise einer SPS ........................................................................................ 6 2.2.3 Bauformen von SPS ............................................................................................. 6 2.3 TIA-Portal .................................................................................................................... 8 2.4 Programmierung einer SPS ......................................................................................... 9 2.4.1 Programmiersprachen........................................................................................... 9 2.4.2 Bitverknüpfungsoperationen .............................................................................. 11 2.4.3 Zeitoperationen................................................................................................... 12 2.4.4 Zähloperationen .................................................................................................. 15 2.4.5 Rechenoperationen mit ganzen Zahlen .............................................................. 16 2.4.6 Vergleichsoperationen ........................................................................................ 16 2.4.7 Umwandlungsoperationen .................................................................................. 17 2.4.8 Wert übertragen .................................................................................................. 17 2.4.9 Sprungoperationen ............................................................................................. 17 2.5 Anwendungsbeispiel Fußgängerampel ...................................................................... 18 3 AUFBAU DES DEMONSTRATORS........................................................................... 20 3.1 Der Demonstrator „Hochregallager“ ......................................................................... 20 3.1.1 Die Eingabestation ............................................................................................. 21 3.1.2 Das Regalbediengerät ......................................................................................... 21 3.1.3 Inbetriebnahme des Hochregallagers ................................................................. 23 3.2 Software-Komponenten ............................................................................................. 23 3.2.1 Entwicklungsumgebung SIMATIC STEP 7 ...................................................... 23 4 VERSUCHSDURCHFÜHRUNG ................................................................................. 29 4.1 Erster Versuchstermin ............................................................................................... 29 4.1.1 Vorbereitungsaufgaben ...................................................................................... 29 4.1.2 Aufgaben zur Durchführung .............................................................................. 31 4.2 Zweiter Versuchstermin ............................................................................................ 32 4.2.1 Vorbereitungsaufgaben ...................................................................................... 33 4.2.2 Aufgaben zur Durchführung .............................................................................. 34 5 ANHANG ........................................................................................................................ 35 5.1 Symbolliste ..........................................................Fehler! Textmarke nicht definiert. PÜL Automatisierungstechnik - SPS 3 1 Einführung 1.1 „Eine starre Welt wird flexibel – die Geburt der SPS“ Bis Anfang der siebziger Jahre wurden Steuerungsaufgaben durch verbindungsprogrammierte Schütz- oder Relaissteuerungen gelöst. Die Nachteile lagen dabei im großen Platzbedarf für die Hardware und vor allem in der mangelnden Flexibilität. Jede Änderung erforderte in der Regel mühsame Umbauarbeiten. Die Entwicklung der Speicherprogrammierbaren Steuerung (SPS) führte zu einem radikalen Wandel in der Steuerungstechnik. SPS zeichnen sich durch ihre Hardware-unabhängige Ausführung von Steuerungsaufgaben aus – realisiert werden die Abläufe nun in Software. Im Unterhalt sind SPS aufgrund einer Reihe von Vorteilen interessant: Niedrige Kosten pro Steuerfunktion Hohe Zuverlässigkeit Einfache Instandhaltung und Fehlerortung Hoher Grad der Standardisierung von Hard- und Software Die Anwendungen reichen daher von der Produktautomatisierung bis hin zur Anlagenautomatisierung. 1.2 Inhalt und Zielsetzung des Versuchs Im Rahmen dieses 2-tägigen Versuches soll in die Erstellung von Steuerungsprogrammen für SPS unter Verwendung unterschiedlicher SPS-Programmiersprachen eingeführt werden. Als Aufgabe dient die Programmierung einer Hochregallager-Steuerung mit Hilfe einer Siemens Soft-SPS. Im Sinne einer erfolgreichen und zügigen Versuchsdurchführung ist der Versuch gut vorzubereiten. Hierzu sind sämtliche Vorbereitungsaufgaben vor Versuchsbeginn schriftlich zu bearbeiten und jeweils einmal pro Gruppe dem Tutor nach dem Versuch abzugeben. 4 PÜL Automatisierungstechnik - SPS 2 Speicherprogrammierbare Steuerungen 2.1 Einführung in die Steuerungstechnik Eine Steuerung dient zum Steuern einer Maschine oder allgemein eines technischen Prozesses abhängig von Prozesssignalen und externen Steuersignalen (vgl. Abbildung 1). Die Steuerung erhält als Eingangssignale von außen kommende Bediensignale und von Sensoren (z.B. Grenztaster, Lichtschranken etc.) gebildete Prozesssignale. Abhängig von diesen Eingangssignalen erzeugt die Steuerung entsprechend ihres Automatisierungsprogramms die Ausgangssignale, die zur Steuerung des Prozesses mittels Aktoren dienen. In DIN 19226 ist eine Steuerung durch einen offenen Wirkungsweg definiert. D.h. sie kann nur Störgrößen entgegenwirken, für die sie ausgelegt ist. Dabei besteht der Wirkungsweg aus der Steuereinrichtung (Automatisierungsgerät) und der Steuerstrecke (technischer Prozess). Eingangssignale Bedienpult Sensoren Ausgangssignale Steuerung Prozeß/ Maschine Aktoren Abbildung 1: Struktur eines Steuerungssystems Bzgl. der Funktionsweise unterscheidet man zwei Arten von Steuerungen: Verknüpfungssteuerungen (Freifolgesteuerungen): Der Steuerungsablauf hängt ausschließlich von den Prozesssignalen (dem Prozesszustand) der gesteuerten Anlage ab. Ablaufsteuerungen (Zwangsfolgesteuerungen): Der Steuerungsablauf hängt vom Prozesszustand und vom Zustand der Steuerung ab. In der Praxis liegen in der Regel Mischformen von Verknüpfungssteuerungen und Ablaufssteuerungen vor. PÜL Automatisierungstechnik - SPS 5 2.2 Aufbau und Arbeitsweise einer SPS 2.2.1 Aufbau einer SPS Wie in Abbildung 2 dargestellt, enthält eine SPS, wie jeder Rechner, ein Steuer- und Rechenwerk sowie einen Programm- und Datenspeicher (Merker). Darüber hinaus verfügt eine SPS über einen Zeitgeber, eine Schnittstelle zu einem sog. Programmiergerät und Ein/Ausgabeeinheiten, die abhängig vom Umfang und Ausbaugrad der Steuerung jeweils eine oder mehrere Ein- und Ausgabegruppen umfassen. Programmspeicher Steuerwerk Eingabeeinheit Ausgabeeinheit E 0.0 E 0.1 . . . . A 0.0 A 0.1 . . . . interner Bus Merker Zeitgeber Schnittstelle Programmiergerät Abbildung 2: Aufbau einer SPS Eingabeeinheit: Die Eingabeeinheit dient zur Erfassung von analogen oder digitalen Eingangssignalen. Üblicherweise enthält jeder Eingabekanal eine Eingangsschaltung zur Anpassung des Signalpegels, eine LED zur Anzeige des anliegenden Eingangwertes, ein Entstörfilter, einen Optokoppler zur galvanischen Trennung der Eingangssignalkreise von der Steuerung und eine Dekodierschaltung, um der Steuerung den gezielten Zugriff zur betreffenden Baugruppe über eine Eingangstorschaltung zu ermöglichen. Ausgabeeinheit: Auch bei der Ausgabeeinheit kann zwischen analogen und digitalen Baugruppen unterschieden werden. Durch Ausgabe der jeweiligen Baugruppenadresse kann das Steuerwerk gezielt an eine Ausgabebaugruppe Ausgangswerte ausgeben. Jeder einzelne binäre Ausgangskanal enthält einen 1-Bit-Speicher zur Speicherung des jeweiligen Ausgabewertes, eine Anzeige für den Ausgabewert, eventuell eine galvanische Trennung des Ausgangssignalkreises vom Steuerungsstromkreis und ein Verstärkerglied zur direkten Ansteuerung von Stellgliedern. Die Speicherung der binären Ausgabewerte auf der jeweiligen Ausgabekarte ist notwendig, um aus den von der Steuerung impulsförmig ausgegebenen Werten Dauersignale zu erzeugen. Die Ausgangsbaugruppen können eventuell noch Einrichtungen zur Überwachung der Ausgänge auf Kurzschluss und zum Abschalten der Ausgänge im Störungsfall enthalten. 6 PÜL Automatisierungstechnik - SPS Zeitgeber: Die Zeitgeber ermöglichen die Bildung der für steuerungstechnische Aufgaben erforderlichen Zeiten im Bereich von etwa 0,01 s bis 1000 min. Sie sind entweder durch eigene Baugruppen mit entsprechenden Zeitgliedern oder durch Speicherbereiche realisiert, in denen die Zeitzählerstände der einzelnen Zeitgeber abgelegt sind und immer nach Ablauf der jeweiligen, mit einer Echtzeituhr gebildeten, Zeiteinheit erniedrigt werden. Merker: Merker sind Speicherelemente, in denen sich das Steuerwerk Signalzustände „merkt” (speichert). Programmspeicher: Der Programmspeicher enthält die Anweisungen des Anwenderprogramms im Maschinencode (z.B. 16-Bit-Worte unter fortlaufender Adresse). Normalerweise werden hierzu gepufferte Schreib-Lese-Speicher verwendet. Steuerwerk: Das Steuerwerk liest die Anweisungen des Automatisierungsprogramms in der Reihenfolge der Adressen aus dem Programmspeicher und führt die zugehörigen Operationen aus Bussystem: Programmspeicher, Steuerwerk, und Peripheriebaugruppen (Ein- und Ausgänge) sind in der SPS durch einen Bus, dem sog. Rückwandbus, miteinander verbunden. 2.2.2 Arbeitsweise einer SPS Prozessabbild im Ausgangsspeicher Ausgangssignale Automatisierungsprogramm (Signalverarbeitung) Prozessabbild im Eingangsspeicher technischer Prozess Eingangssignale Sensoren SPS Aktoren Eine SPS arbeitet in einem zyklischen Betrieb (vgl. Abbildung 3). Dabei werden zu Beginn jedes Zyklus die aktuellen Eingangssignale eingelesen und im Speicher abgelegt. Man bezeichnet diesen Vorgang als Erstellung eines Prozessabbilds. Im Anschluss erfolgt die eigentliche Programmbearbeitung, d.h. die Berechnung neuer Ausgangswerte auf Basis des abgespeicherten Prozessabbilds. Änderungen im technischen Prozess während dieser Phase werden von der Steuerung (noch) nicht erkannt und auch in der Berechnung nicht berücksichtigt. Nach Beendigung der Berechnungen werden die sich im Ausgangsspeicher befindlichen Ausgangswerte an den technischen Prozess ausgegeben und der Zyklus beginnt von neuem. Die Zykluszeit ist dabei nicht konstant sondern hängt von Programm und Ausführungspfad ab. Abbildung 3: Arbeitsweise einer SPS 2.2.3 Bauformen von SPS Je nach Einsatzgebiet gibt es heutzutage eine breit gefächerte Produktpalette von SPS. Dabei entscheiden das Einsatzgebiet und der benötigte Leistungsumfang über die zu wählende Steuerung. PÜL Automatisierungstechnik - SPS 7 Im Folgenden werden anhand von Siemens Produkten die einzelnen Steuerungen vorgestellt. Natürlich bieten auch andere Hersteller Steuerungen an. 2.2.3.1 Stand-Alone-Systeme Abbildung 4: Siemens SIMATIC S7 SPS-Programm Die bei Siemens unter der Kategorie „Modular Controller“ angebotenen SPS „SIMATIC S7“ sind durch ihre kompakte und modulare Bauform für den Einsatz in der Anlagensteuerung gedacht. Die Programmierung erfolgt durch ein externes Programmiergerät (PG), das in den meisten Fällen ein PC ist, z.B. über Profibus. Auf der Steuerung läuft dann das aufgespielte Programm wie im vorhergehenden Kapitel beschrieben ab. Diese Bauform ist die „klassische“ Variante der SPS und wird auch heute noch gewählt, da sie als fehlersicher eingestuft wird. 2.2.3.2 IPC und Soft-SPS 8 PÜL Automatisierungstechnik - SPS Mit dem Einsatz von sog. „Industrial-PC“ (IPC) verschmelzen die Grenzen zwischen einer SPS und einer PC-Steuerung auch Prozessleitsystem bezeichnet. Als IPC werden PC bezeichnet, die die von der Industrie geforderten Normen in Bezug auf Verfügbarkeit und Ausfallsicherheit aufweisen. Hierbei werden auch unterschiedliche Bauformen angeboten, die sich für den Einbau in Schaltschränke eignen oder 19“-Rackkompatible Gehäuse aufweisen. Siehe Abbildung 5. Abbildung 5: Bauformen von IPC, links: Micro-IPC, rechts: Rack-IPC Auf einem IPC laufen unter einem Windows-Betriebssystem sog. Software-basierte SPS (Soft-SPS) ab. Über Steckkarten, den sog. Kommunikationsprozessoren (CP), können diese z.B. per Profibus mit der Peripherie kommunizieren. Die Programmierung kann entweder durch ein externes PG erfolgen – der IPC agiert dann wie ein gut ausgestattetes Stand-AloneSystem – oder die Entwicklungsumgebung zur Programmierung läuft wie beim Demonstrator am IAS ebenfalls direkt auf dem IPC. Die Vorteile einer so aufgebauten SPS liegen im Funktionsumfang, der von den IPC angeboten wird und damit selbst große Prozessleitsysteme und komplexe Steuerungen ermöglicht und dies mit der von PC bekannten Flexibilität. Die Nachteile eines solchen Aufbaus liegen in der nur schwer realisierbaren Echtzeitverarbeitung und der Gefahr von Software-Fehlern während der Verarbeitung. Seit 2010 stellen auch Computer-Viren eine ernst zu nehmende Gefahr für solche Systeme dar. 2.3 TIA-Portal Das Totally Integrated Automation Portal (TIA-Portal) integriert verschiedene SIMATIC Produkte in eine Software-Anwendung, mit der Sie Ihre Produktivität und Effizienz erhöhen können. Eine typische Automatisierungslösung umfasst: Eine Steuerung, die den Prozess mit Hilfe des Programms steuert. Ein Bediengerät, mit dem Sie den Prozess bedienen und visualisieren. PÜL Automatisierungstechnik - SPS 9 2.4 Programmierung einer SPS Steuerungsaufgaben werden vom Anwender in einem Programm festgehalten. Mit Hilfe einer Menge von Sprachelementen wird das Programm für konkrete Aufgaben erstellt. Da es sich bei den Aufgaben um die Verarbeitung von binären Signalen handelt, sind die Sprachelemente für diese Funktionen ausgelegt. Aus den so beschränkten Anforderungen haben sich für die Praxis fünf Programmiersprachen entwickelt: Kontaktplan (KOP) Funktionsplan (FUP) Anweisungsliste (AWL) Ablaufsprache (AS) Strukturierter Text (ST) 2.4.1 Programmiersprachen 2.4.1.1 Kontaktplan (KOP) Bei KOP hat man die Erfahrungen aus der Zeit des Aufbaus von Steuerungen mit Relais übernommen. Dabei werden UND-Verknüpfungen als Reihenschaltung und ODERVerknüpfungen als Parallelschaltung realisiert. Es werden drei Arten von Elementen unterschieden: Öffner, Schließer und Verknüpfungsergebnis (vgl. Abbildung 6). Schließer Öffner Verknüpfungsergebnis Abbildung 6: Kontaktplan Elemente 10 PÜL Automatisierungstechnik - SPS 2.4.1.2 Funktionsplan (FUP) FUP ersetzt oder ergänzt die Textbeschreibung einer Steuerungsaufgabe, kann aber auch als graphische Darstellung der Schaltalgebra verstanden werden. In graphischer Form werden die funktionellen Zusammenhänge aller Signale, unabhängig von der Realisierung dargestellt. 2.4.1.3 Anweisungsliste (AWL) KOP- und FUP-Darstellungen von Steuerungen müssen in eine dem Mikroprozessor nahe liegende Form umgewandelt werden, in die Anweisungsliste (AWL). Man kann eine Anweisungsliste als die Assemblersprache der SPS verstehen. Zweiteilig aufgebaute Anweisungen bestehen aus der Operations- und Operanden-Bezeichnung. Im Operandenteil wird die Quelle bzw. das Ziel der zu verarbeitenden Signalzustände angegeben. Dagegen wird im Operationsteil die Operation selbst angegeben. Die folgende Tabelle zeigt eine Übersicht der AWLOperanden und Operationen. Operand Eingang Ausgang Merker Konstante Zeitglied Zähler Bezeichnung E A M K T Z Operationen Konjunktion UND Disjunktion ODER Negation NICHT Zuweisung Laden Klammer AUF Klammer ZU Nulloperation Negation der Konjunktion Negation der Disjunktion Negation eines Ausdrucks Bezeichnung U O N = L ( ) NOP UN ON N( Tabelle 1: AWL-Operanden und Operationen 2.4.1.4 Ablaufsprachen (AS) Ablaufsprachen bestehen aus einzelnen Prozessesschritten und den Weiterschaltbedingungen (Transitionen) (vgl. Abbildung 7). Die Schritte können Aktionen enthalten, die Transitionen beschreiben, unter welchen Bedingungen ein Übergang zum nächsten Schritt erfolgen soll. Darüber hinaus können für jeden Schritt Verriegelungsbedingungen (C) und Überwachungsbedingungen (V) festgelegt werden. Mit einer Verriegelungsbedingung kann die Ausführung von Aktionen von Bedingungen abhängig gemacht werden. Überwachungsbedingungen dienen zum Erkennen von Ablauffehlern. Die Weiterschalt-, Verriegelungs- und Überwachungsbedingungen werden in der Programmiersprache Kontaktplan (KOP) programmiert. Ablaufsprachen eignen sich besonders zur Programmierung von Ablaufsteuerungen. PÜL Automatisierungstechnik - SPS 11 T1 S2 Schritt 2 T2 - S3 Schritt 3 T3 S4 Schritt 4 Abbildung 7: Lineare Ablaufkette in der Ablaufsprache S7-Graph 2.4.2 Bitverknüpfungsoperationen Die Bitverknüpfungsoperationen interpretieren die Signalzustände 0 und 1 und verknüpfen sie entsprechend der Booleschen Logik. Die Verknüpfungen liefern das Ergebnis von 0 oder 1. 2.4.2.1 UND-Verknüpfung FUP E0.0 & A4.0 = KOP E0.0 E0.1 E0.1 AWL A4.0 ( ) U U = E E A 0.0 0.1 4.0 Beschreibung: Der Ausgang A4.0 führt ein 1-Signal, wenn die Eingänge E0.0 UND E0.1 ein 1-Signal haben. 2.4.2.2 ODER-Verknüpfung FUP KOP E0.0 E0.0 >=1 AWL A4.0 ( ) A4.1 = E0.1 E0.1 O O = E E A 0.0 0.1 4.0 Beschreibung: Der Ausgang A4.0 führt ein 1-Signal, wenn die Eingänge E0.0 ODER E0.1 ein 1-Signal hat. 2.4.2.3 XOR-Verknüpfung FUP E0.0 XOR E0.0 E0.1 E0.0 E0.1 A4.0 = E0.1 KOP AWL A4.0 ( ) X X = E E A 0.0 0.1 4.0 Beschreibung: Der Ausgang A4.0 führt ein 1-Signal, wenn entweder exklusiv der Eingang E0.0 oder exklusiv der Eingang E0.1 ein 1-Signal hat. 12 PÜL Automatisierungstechnik - SPS 2.4.2.4 Negation FUP E0.1 & E0.0 KOP >=1 A4.3 = E0.2 AWL E0.0 A4.3 ( ) NOT E0.1 E0.2 U( O O UN U ) NOT = E 0.0 E E 0.1 0.2 A 4.3 Beschreibung: Der Ausgang A4.3 führt ein 1-Signal, wenn weder die UND-Abfrage (NICHT E0.1 UND E0.2) erfüllt ist noch der Eingang E0.0 ein 1-Signal hat. 2.4.2.5 Ausgang setzen FUP KOP E0.5 E0.5 >=1 A4.7 S AWL A4.7 (S) E0.6 E0.6 O O S E E A 0.5 0.6 4.7 Beschreibung: Der Ausgang A4.7 wird auf den Signalwert 1 gesetzt (gespeichert eingeschaltet), wenn der Eingang E0.5 ODER E0.6 ein 1-Signal haben. 2.4.2.6 Ausgang rücksetzen FUP E0.3 & A4.7 R KOP E0.3 E1.6 E1.6 AWL A4.7 (R) U U R E E A 0.3 1.6 4.7 Beschreibung: Der Ausgang A4.7 wird auf den Signalwert 0 zurückgesetzt (ausgeschaltet), wenn die Eingänge E0.3 UND E1.6 ein 1-Signal haben. 2.4.3 Zeitoperationen Zeitoperationen dienen dem Programmierer zur Realisierung verschiedener Steuerungsaufgaben. Der Aufruf der verschiedenen Zeitfunktionen sowie die Zeitvorgabe müssen im Anwenderprogramm erfolgen. Speicherprogrammierbare Steuerungen bieten fünf Arten von Zeitoperationen. Diese sind in Tabelle 2 aufgeführt. S_IMPULS S_VIMP S_EVERZ S_SEVERZ S_AVERZ Impuls Verlängerter Impuls Einschaltverzögerung Speichernde Einschaltverzögerung Ausschaltverzögerung Tabelle 2: Zeitarten PÜL Automatisierungstechnik - SPS 13 2.4.3.1 Zeit als Impuls starten (S_IMPULS) FUP AWL T1 E1.0 S5T#3S E1.1 S_IMPULS S TW DUAL DEZ R Q A4.0 U L SI U R L NOP U = E 1.0 S5T#3S T 1 E 1.1 T 1 T 1 0 T 1 A 4.0 Parameter T1 Timer-Nr. S Starteingang TW Zeitwert R Rücksetzeingang DUAL Rest-Zeitwert DEZ Rest-Zeitwert Q Status des Timers Beschreibung: Wechselt der Schaltzustand am Eingang E1.0 von 0 auf 1, wird der Timer T1 gestartet. Er läuft mit dem angegebenen Wert von 3 s ab, solange E1.0 = 1 ist. Wechselt der Signalzustand bei E1.0 von 1 auf 0, wird die Zeit angehalten. Wenn der Signalzustand bei E1.1 von 0 auf 1 geht, während die Zeit läuft, wird sie zurückgesetzt. Der Ausgang 4.0 führt ein 1-Signal, solange die Zeit läuft. In Abbildung 8 ist der zeitliche Verlauf dargestellt. Starteingang 1 0 t Rücksetzeingang 1 0 t Status der Zeit 1 3s 0 t Abbildung 8: Zeitlicher Verlauf „Impuls“ 14 PÜL Automatisierungstechnik - SPS 2.4.3.2 Zeit als Einschaltverzögerung starten (S_EVERZ) FUP AWL T1 E1.0 S5T#3S E1.1 S_EVERZ S TW DUAL DEZ R Q A4.0 U L SE U R L NOP U = E 1.0 S5T#3S T 1 E 1.1 T 1 T 1 0 T 1 A 4.0 Parameter T1 Timer-Nr. S Starteingang TW Zeitwert R Rücksetzeingang DUAL Rest-Zeitwert DEZ Rest-Zeitwert Q Status des Timers Beschreibung: Wechselt der Signalzustand am Eingang E1.0 von 0 auf 1, wird die Zeit gestartet. Ist die angegebene Zeit von 3 s abgelaufen und beträgt der Signalzustand am Eingang E1.0 noch immer 1, dann erhält der Ausgang A4.0 ein 1-Signal. In Abbildung 9 ist der zeitliche Verlauf dargestellt. Starteingang 1 0 t Rücksetzeingang 1 0 t Status der Zeit 1 3s 3s 0 t Abbildung 9: Zeitlicher Verlauf „Einschaltverzögerung“ 2.4.3.3 Zeit als speichernde Einschaltverzögerung starten (S_SEVERZ) Wechselt der Signalzustand am Eingang von 0 auf 1, wird die Zeit gestartet. Die Zeit läuft unabhängig davon ab, ob das Signal am Eingang von 1 auf 0 wechselt. Wenn die Zeit abgelaufen ist, führt der Ausgang solange ein 1-Signal, bis der Signalzustand bei R von 0 auf 1 geht. PÜL Automatisierungstechnik - SPS 15 2.4.3.4 Zeit als Ausschaltverzögerung starten (S_AVERZ) Wechselt der Signalzustand am Eingang S von 0 auf 1, wird der Ausgang eingeschaltet. Wechselt der Signalzustand am Eingang S von 1 auf 0, wird die Zeit gestartet. Der Ausgang Q führt ein 1-Signal wenn am Eingang 1 ist oder solange die Zeit läuft. In Abbildung 10 ist der zeitliche Verlauf dargestellt. Starteingang 1 0 t Rücksetzeingang 1 0 t Status der Zeit 1 verz. verz. 0 t Abbildung 10: Zeitlicher Verlauf „Ausschaltverzögerung“ 2.4.4 Zähloperationen Zähloperationen werden für das Erfassen von Stückzahlen oder Impulsen, sowie zur Auswertung von Zeiten und Entfernungen eingesetzt. Sie sind, wie die Zeitfunktionen flankengetriggert. Die Inhalte der Zähler sind binär codiert. Die SPS bietet drei Zählerarten: Vorwärtszähler, Rückwärtszähler und Vorwärts-/Rückwärtszähler. Zähleranfangswert setzen FUP KOP & E1.0 SZ C#75 ZW E1.0 Z1 (SZ) C#75 AWL U E Z C#75 1.0 S Z 1 Beschreibung: Der Zähler Z1 wird mit dem Anfangswert 75 gesetzt, wenn der Eingang E1.0 eine positive Flanke erfährt. Bei Eingabe als Konstante muss bei AWL, KOP und FUP vor dem Wert das Zeichen C# stehen. 16 PÜL Automatisierungstechnik - SPS Vorwärtszähler FUP & KOP Z1 ZV E1.1 E1.1 Z1 (ZV) AWL U ZV E Z 1.1 1 Beschreibung: Der Zähler Z1 wird mit jeder positiven Flanke am Eingang E1.1 um 1 erhöht. Rückwärtszähler (ZR) funktioniert analog zum Vorwärtszähler 2.4.5 Rechenoperationen mit ganzen Zahlen 16 Bit-Ganzzahlen addieren FUP-/KOP-Box ADD_I EN IN1 OUT IN2 ENO AWL Beispiel EN Freigabeeingang (optional) IN1 Erster Summand IN2 Zweiter Summand OUT Ergebnis der Addition ENO Freigabeausgang (optional) L L +I T NOP Wert1 Wert2 Ergebnis 0 16 Bit-Ganzzahlen subtrahieren FUP-/KOP-Box SUB_I EN IN1 OUT IN2 ENO AWL Beispiel EN Freigabeeingang (optional) IN1 Minuend IN2 Subtrahend OUT Ergebnis der Subtraktion ENO Freigabeausgang (optional) L L -I T NOP Wert1 Wert2 Ergebnis 0 2.4.6 Vergleichsoperationen In der folgenden Tabelle ist eine Übersicht der Vergleichsmöglichkeiten dargestellt. Vergleichsart IN1 ist gleich IN2 IN1 ist ungleich IN2 IN1 ist größer als IN2 IN1 ist kleiner als IN2 IN1 ist größer gleich IN2 IN1 ist kleiner gleich IN2 Vergleichszeihen bei AWL, FUP und KOP Integerzahlen Double Integer Gleitpunktzahlen (16 Bit) (32 Bit) (32 Bit) ==I ==D ==R <>I <>D <>R >I >D >R <I <D <R >=I >=D >=R <=I <=D <=R Tabelle 3: Vergleichsmöglichkeiten PÜL Automatisierungstechnik - SPS 17 Beispiel: Vergleich von zwei Integerzahlen L Zahl1 L Zahl2 ==I = A 4.0 Diese Operation vergleicht den Wert des Eingangsparameters „Zahl1“ mit dem Wert der Zahl2. Sind die Werte identisch, dann führt der Ausgang A4.0 ein 1-Signal, andernfalls ein 0Signal. 2.4.7 Umwandlungsoperationen Die zwei wichtigsten Umwandlungsoperationen sind die Umwandlung von BCD-Zahlen in Integerzahlen und umgekehrt. Die Operation „BTI“ wandelt die BCD-Zahl im Eingangswort in eine Integerzahl und „IBT“ wandelt eine Integerzahl in eine BCD-Zahl. Beispiel: (AWL) L Wert-Ein BTI T Wert-OUT 2.4.8 Wert übertragen Die Operation „MOVE“ (FUP/KOP) überträgt den Wert des Eingangswort in das Ausgangswort. Diese Funktion ist sehr hilfreich bei der Aktualisierung der Datenbausteine. Beispiel: (AWL) L MW T AW 20 22 2.4.9 Sprungoperationen Die SPS bietet auch Sprungfunktionen wie man sie auch in anderen Programmiersprachen findet. In der Tabelle 3 ist eine Übersicht der wichtigsten Sprungfunktionen dargestellt. Operation Springe absolut Sprungleiste Springe bedingt bei 1 Springe bedingt bei 0 FUP, KOP JMP-Box Entfällt JMP-Box JMPN-Box AWL SPA SPL SPB SPBN Vergleichbar mit GOTO-Anweisung CASE-Anweisung IF-Anweisung IF-Anweisung Tabelle 4: Übersicht der Sprungoperationen 18 PÜL Automatisierungstechnik - SPS Beispiel: (AWL) Netzwerk 1: U E SPB M1 Netzwerk 2: O E O E = A 0.0 0.1 0.2 4.0 Netzwerk 3: SPA M2 Netzwerk 4: M1: U E = A Netzwerk 5: M2: U E = A 4.2 0.3 4.1 Beschreibung: Das Programm verzweigt vom Netzwerk 1 zur Sprungmarke M1 im Netzwerk 4, wenn der Eingang E0.0 ein 1Signal führt und damit die Sprungbedingung im Netzwerk 1 erfüllt ist. In diesem Fall werden die Netzwerke 2 und 3 übersprungen, d.h. nicht bearbeitet. Führt E0.0 ein 0-Signal, ist die Sprungbedingung im Netzwerk 1 nicht mehr erfüllt, das Programm setzt im Netzwerk 2 fort. Anschließend sorgt die absolute Sprunganweisung im Netzwerk 3 für die Verzweigung zur Sprungmarke M2 im Netzwerk 5. 0.4 2.5 Anwendungsbeispiel Fußgängerampel Was soll gesteuert werden? Mit dem zu erstellenden Beispielprogramm AMPEL soll der Straßen- und Fußgängerverkehr an einem Fußgängerüberweg gesteuert werden. Welche Teilaufgaben sind zu erfüllen? Das Programm AMPEL soll sowohl die Ampeln für den Straßenverkehr (Verkehrsampeln) als auch die Ampeln für den Fußgängerverkehr (Fußgängerampeln) steuern. Die Fußgängerampeln haben jeweils eine grüne und eine rote Signalleuchte, sowie einen Schalter, um Grün für Fußgänger anzufordern. Welche Anforderungen gibt es? Voreinstellung soll sein: Grün für die Verkehrsampel und Rot für die Fußgängerampel, damit ein sicherer Ausgangszustand definiert ist. Erhält das Programm durch das Drücken des Schalters die Aufforderung, die Fußgängerampel auf Grün zu schalten, so schaltet die Verkehrsampel von Grün über Gelb auf Rot. Die Gelbphase für den Autoverkehr dauert 3 sec. Die Rotphase für den Autoverkehr soll 16 sec. dauern und gleichzeitig mit der Grünphase für den Fußgängerverkehr starten. Die Grünphase für den Fußgängerverkehr soll 10 sec. dauern. Sobald die Grünphase für den Fußgängerverkehr beendet ist, soll die Fußgängerampel auf Rot umschalten. Die Rot-/Gelbphase für den Autoverkehr soll 3 sec. dauern. Die Verzögerung für die nächste Grünanforderung für Fußgänger soll 1 sec. dauern. Welche Operanden werden benötigt? 2 Eingänge (E), zur Anforderung von Grün für die Fußgänger auf beiden Straßenseiten 5 Ausgänge (A) zur Steuerung der Signalanzeigen beider Ampeln 1 Merker (M), zur Durchführung der Ampelschaltung nach einer Grünanforderung durch einen Fußgänger 5 Zeiten (T), um die Dauer der jeweiligen Ampelphasen zu bestimmen. Die Zeiten haben jeweils das Format <S5Time>. PÜL Automatisierungstechnik - SPS 19 AWL-Programm: Netzwerk 1: Ermittlung der Grünanforderung für Fußgänger U( U( O O ) U O ) UN = A 4.5 S5T#10S T3 Netzwerk 7: Grünphase für Fußgänger E 0.0 E 0.1 T6 M 0.0 T5 M 0.0 Netzwerk 2: Grünphase für Autos UN = U L SE M 0.0 A 4.7 U UN = A 4.5 T3 A 4.1 Netzwerk 8: Timerstart für Verzögerung der Gelbphase für Autos U U L SE M 0.0 T3 S5T#6S T4 Netzwerk 9: Rotphase für Fußgänger Netzwerk 3: Timerstart für Gelbphase für Autos U L SE M 0.0 S5T#3S T2 Netzwerk 4: Gelbphase für Autos U U( ON O ) = M 0.0 T2 T4 A 4.6 U U( ON O ) ON = M 0.0 T2 T3 M 0.0 A 4.0 Netzwerk 10: Timerstart für Rot-/Gelbphase für Autos U U L SE M 0.0 T4 S5T#3S T5 Netzwerk 5: Rotphase für Autos U U = M 0.0 T2 A 4.5 Netzwerk 6: Timerstart für Grünphase für Fußgänger Netzwerk 11: Timerstart für Verzögerung der Grünanforderung U A 4.7 L S5T#1S SET 6 20 PÜL Automatisierungstechnik - SPS 3 Aufbau des Demonstrators Im Rahmen dieses Versuches ist die Steuerung für den Demonstrator Hochregallager zu entwerfen. In diesem Kapitel wird der Aufbau des Demonstrators beschrieben und die für Projektierung, Programmierung und Bedienung notwendigen Software-Komponenten vorgestellt. 3.1 Der Demonstrator „Hochregallager“ 2 1 3 6 4 7 5 Abbildung 11: Das Hochregallager 1 Hochregal, 2 Regalbediengerät, 3 Förderkorb, 4 Eingabestation, 5 Vereinzelungseinheit, 6 Ausgabestation, 7 periphere Steuerung Mit Hilfe des Demonstrators Hochregallager (Abbildung 11) können Werkstücke auf 50 Lagerplätze (1) eingelagert und wieder ausgelagert werden. Die Werkstücke werden aus der Eingabestation (4 & 5) durch das Regalbediengerät (2) aufgenommen und mithilfe des Förderkorbes (3) zu den Lagerplätzen gebracht. Die Orientierung im Hochregallager ist so angelegt, dass das obere linke Fach auf einer Matrix das Element [1,1] belegt und das rechte untere Fach [10,5] ist. Damit ist das Regalbediengerät für die Abdeckung in X-Richtung zuständig, der Förderkorb für die Z-Richtung. Durch den Teleskoptisch des Förderkorbes wird die Y-Richtung abgedeckt. Ausgelagerte Werkstücke werden in der Ausgabestation (6) abgelegt. Die Einlagerung von Werkstücken kann sequentiell erfolgen. Alternativ dazu ist es möglich, das Sortierziel anhand der Codierung der einzelnen Werkstücke zu ermitteln. Die Codierung wird durch Analyse-Sensoren in der Eingabestation erkannt. Die Anbindung des Demonstrators erfolgt über D/A-Wandler der Firma Schleicher (7). Diese sind über Profibus mit dem Kommunikationsprozessor des IPC verbunden. PÜL Automatisierungstechnik - SPS 21 3.1.1 Die Eingabestation Die Komponenten der Eingabestation sind in der Abbildung 12 dargestellt. Die Vereinzelungseinheit zieht mit Hilfe einer Kette, an der zwei Mitnehmer befestigt sind, die Werkstücke aus dem Speicher. Das Vorhandensein eines Werkstücks wird durch den Speichersensor (2) erkannt. Während des Transports wird der Werkstücktyp mittels zwei Analysesensoren (4) ermittelt. Die Analysesensoren befinden sich unter dem Boden der Vereinzelungseinheit. Das Förderband transportiert die vereinzelten Werkstücke zur Abholposition. Dort werden sie von einer Lichtschranke erkannt (6) 6 4 3 5 2 1 Abbildung 12: Die Vereinzelungseinheit 1 Motor Vereinzelungseinheit, 2 Sensor Vereinzelungseinheit, 3 Sensor des Mitnehmers, 4 Analysesensoren (nicht sichtbar), 5 Motor Förderband, 6 Sensoren Abholposition 3.1.2 Das Regalbediengerät Am Regalbediengerät (Abbildung 13) befestigt ist der Förderkorb, der durch den Motor (1) nach oben und unten bewegt wird. Die Position des Förderkorbs soll mit Hilfe der Positionssensoren (2) erfasst werden, von denen es jeweils 2 Stück für jede Höhe gibt. Im Förderkorb ist ein Teleskoptisch (3) eingebaut, dessen Position über drei Sensoren unter dem Förderkorb (4) bestimmt wird. Die Anwesenheit eines Werkstückes wird über den Sensor seitlich am Förderkorb festgestellt (5). Das Regalbediengerät wird mit dem Antriebsriemen (6) nach links und nach rechts bewegt wobei seine Position ebenfalls durch Sensoren bestimmt werden kann. 22 PÜL Automatisierungstechnik - SPS 1 2 2 5 6 4 3 Abbildung 13: Das Regalbediengerät 1 Antrieb Förderkorb (Z-Richtung), 2 Positionssensoren oben/unten, 3 Teleskoptisch (Y-Richtung), 4 Positionssensor „Vorne“, 5 Werkstückerkennung, 6 Antrieb Regalbediengerät (X-Richtung) PÜL Automatisierungstechnik - SPS 23 3.1.3 Inbetriebnahme des Hochregallagers Zu Beginn der Arbeit muss das Hochregallager mit Spannung versorgt werden. Die Werkstücke oder andere Gegenstände, die auf dem Weg des Regalbediengeräts liegen, müssen vor dem Start der SPS entfernt werden. Um die Anlage zu starten, muss sichergestellt werden, dass alle Module der Steuerungseinheit mit Strom versorgt werden (an jedem Bauteil leuchten die Power-LEDs). ACHTUNG! Das Regalbediengerät darf nie bis zu den Endschaltern an der X-Achse des Hochregals gefahren werden. Wenn diese Endschalter betätigt werden, wird der Motorstrom unterbrochen. ACHTUNG! Der Teleskoptisch darf ebenfalls nicht außerhalb seiner Endsensoren gefahren werden. Es besteht die Gefahr, dass die Kette abspringt. 3.2 Software-Komponenten Das PC-System zur Steuerung besteht aus einem wie in Kapitel 2.2.3.2 beschriebenen IPC mit den in Abbildung 14 dargestellten installierten Software-Komponenten. WinAC RTX F WinCC WinLC RTX F Soft-SPS-Controller SIMATIC Step 7 Symboleditor graphische Benutzeroberfläche Entwicklungsumgebung IPC Abbildung 14: Übersicht über die installierten Software-Komponenten Für die Realisierung einer Soft-SPS auf einem PC-System ist „WinAC“ zuständig. Dieser Programmteil enthält echtzeitfähige (RTX) Treiber für den installierten CP und mit „WinLC“ den Controller für die SPS-Bedienung. Mit „WinCC“ wird die graphische Benutzeroberfläche zur Bedienung des Demonstrators realisiert. Zur Programmierung und Projektierung wird die Entwicklungsumgebung „SIMATIC Step 7“ verwendet. Im Folgenden werden die einzelnen Komponenten genauer beschrieben und ihre Anwendung erklärt. 3.2.1 Entwicklungsumgebung SIMATIC STEP 7 STEP 7 ist das Standardpaket zur Konfigurierung und Programmierung von SPS der Siemens S7 Baureihe, unter die auch die hier verwendete Soft-SPS fällt. Es enthält umfangreiche Werkzeuge und Funktionen für die unterschiedlichen Aufgaben eines Automatisierungsprojektes. Wesentliche Bestandteile sind 24 PÜL Automatisierungstechnik - SPS SIMATIC-Manager für die Verwaltung aller Werkzeuge und Daten eines Automatisierungsprojektes (vgl. Abbildung 15). Programmeditor zur Erstellung des Anwenderprogramms in den Programmiersprachen KOP, FUP oder AWL S7-Graph zur graphischen Schrittkettenprogrammierung Symbol-Editor zur Verwaltung globaler Variablen Hardware-Konfiguration zur Konfiguration und Parametrierung der Hardware Hardware-Diagnose zur Übersicht über den Zustand des Automatisierungssystems Wegen der Mächtigkeit dieser Software lässt sich mit dieser Einführung allerdings nur ein begrenzter Einblick in die Möglichkeiten von STEP 7 gewinnen. Abbildung 15: SIMATIC Manager 3.2.1.1 Einführung in das Arbeiten mit STEP 7 3.2.1.1.1 Erstellen eines neuen Projektes und hochladen auf die SPS Das Anlegen eines neuen Projektes in SIMATIC STEP 7 erfordert die Konfiguration der Hardware, was ein länglicher Prozess sein kann. Daher wurde dies bereits für das Praktikum erledigt. Der Name des Projekts ist der Name Ihrer Gruppe, z. B. Gruppe4. Ein Anwenderprogramm kann aus einem oder mehreren Blöcken bestehen. Sie müssen mindestens einen Organisationsblock (OB#) benutzen. Diese Blöcke beinhalten alle Funktionen, die notwendig sind, um Ihre spezifische Automationsaufgabe durchzuführen. Folgende Schritte sind notwendig, um den Organisationsblock „Main [OB1]” zu öffnen: 1. Öffnen Sie den Ordner "Program blocks" im Projektbaum. PÜL Automatisierungstechnik - SPS 25 2. Öffnen Sie den Organisationsblock "Main [OB1]". Nun können Sie mit dem Programmieren in der von Ihnen bevorzugten Sprache beginnen. Um Ihr Programm auf die SPS zu übertragen drücken Sie einfach den „Download“ Knopf in der Symbolleiste. 3.2.1.2 Projektierung der Anlage Vor der ersten Programmierung der SPS muss die Projektierung der Anlage in Step 7 vorgenommen werden. Dabei wird der Aufbau der externen Peripherie am Profibus inkl. des Kommunikationsprozessors nachgebildet. Diese Arbeit wurde vor Beginn des Versuchstermins bereits vom Tutor durchgeführt. Damit werden die Ein- und Ausgänge der externen Peripherie für die Verwendung zur Verfügung gestellt. Eine Übersicht über die Ein- und Ausgänge finden Sie in Kapitel 5. 3.2.1.3 Die bausteinorientierte Programmstruktur SPS-Programme werden in sog. Bausteinen organisiert (vgl. Abbildung 16). Der Organisationsbaustein OB1 entspricht der Main-Funktion eines C-Programms und wird vom Betriebssystem zyklisch abgearbeitet. Er kann sog. Funktionsbausteine (FB) und Funktionen (FC) aufrufen. DB FB DB FB FC OB1 DB FB FC Abbildung 16: Programmstruktur FC (Funktion): FC ist ein Baustein ohne Gedächtnis. Eine Funktion besitzt ein oder mehrere Eingangsparameter und immer einen Funktionswert (Rückgabewert). FB (Funktionsbaustein): Besonderheit dieses Bausteins ist, dass beim Aufruf ein Datenbaustein angegeben werden muss, der der aufgerufenen Instanz des FB als Speicher zur Verfügung steht. Daher können in einem FB statische Variablen deklariert werden d.h. Variablen, deren Daten am Ende des FB erhalten bleiben. Ansonsten bestehen dieselben Möglichkeiten wie bei einem FC. DB (Datenbaustein): DB dient zur Speicherung von Daten die zur Bearbeitung des Steuerungsprogramms benötigt werden. Die können z.B. Istwerte, Grenzwerte oder Texte sein. 3.2.1.3.1 Bausteinaufrufoperationen Bausteinaufrufoperation Unbedingter Aufruf einer Funktion ohne Parameterübergabe Bedingter Aufruf einer Funktion ohne Parameterübergabe UC AWL Beispiel FC 20 U CC E FC 0.5 20 26 PÜL Automatisierungstechnik - SPS Unbedingter Aufruf eines Funktionsbausteins mit Instanzdatenbaustein ohne Parameterübergabe CALL FB15, DB9 NOP 0 Unbedingter Aufruf eines Funktionsbausteins mit Instanzdatenbaustein und Parameterübergabe CALL FB10, DB12 EPar1:=“Wert1“ EPar2:=“Wert2“ NOP 0 3.2.1.4 KOP/AWL/FUP Editor Die Programmerstellung in den Programmiersprachen KOP und FUP geschieht schrittweise: Während der Programmeingabe erfolgt bereits eine Syntaxprüfung, sodass bestimmte Fehler sofort kenntlich gemacht werden. Die Programmiersprache AWL gestattet sowohl die quellenorientierte als auch die inkrementelle Programmeingabe. Bei der inkrementellen Eingabe können Programme mit fehlerhafter Syntax nicht abgespeichert werden. Abbildung 17: Programmiereditor PÜL Automatisierungstechnik - SPS 27 Funktion des Programmiereditors 1. Funktionsleiste: Über die Funktionsleiste haben Sie Zugriff auf die wichtigsten Funktionen des Programmiereditors, z. B.: Netzwerke einfügen, löschen, auf- und zuklappen Absolute Operanden ein- und ausblenden Netzwerkkommentare ein- und ausblenden Favoriten ein- und ausblenden Programmstatus ein- und ausblenden 2. Bausteinschnittstelle: Die Bausteinschnittstelle dient dem Anlegen und Verwalten von lokalen Variablen 3. Palette "Favoriten" in der Task Card "Anweisungen" und Favoriten im Programmiereditor: Die Favoriten ermöglichen einen schnellen Zugriff auf die Anweisungen, die oft verwendet werden. Die Palette "Favoriten" kann individuell durch weitere Anweisungen erweitert werden 4. Anweisungsfenster: Das Anweisungsfenster ist der Arbeitsbereich des Programmiereditors. Hier können Sie folgende Aufgaben durchführen: Netzwerke anlegen und verwalten Titel und Kommentare zu Baustein und Netzwerken eingeben Anweisungen einfügen und mit Variablen versorgen. 5. 6. 7. Palette "Anweisungen" in der Task Card "Anweisungen" Palette "Erweiterte Anweisungen" in der Task Card "Anweisungen" Task Card "Anweisungen": Die Task Card "Anweisungen" enthält die Anweisungen, mit denen Sie die Inhalte des Programms erstellen. 8. Task Card "Testen" 3.2.1.5 S7-Graph Für die Arbeitsweise der Schrittkette gelten folgende generellen Aussagen: Die einzelnen Schritte der Ablaufkette werden nacheinander durchlaufen. In einer linearen Schrittkette darf immer nur ein Schritt aktiv (eingeschaltet) sein. In einer Ablaufkette mit Simultanverzweigung kann pro Kettenzweig jeweils ein Schritt aktiv sein. Ein bestimmter Schritt wird eingeschaltet, wenn der vorausgehende Schritt aktiv ist und die vorausgehende Transition erfüllt ist. Ein bestimmter Schritt wird ausgeschaltet, wenn der nachfolgende Schritt aktiv wird. 28 PÜL Automatisierungstechnik - SPS E0.3 T1 Schritt2 N A4.1 R A4.5 S2 Schritt 2 E0.1 T2 Schritt3 N C A4.3 N A4.2 - S3 Schritt 3 E0.0 T3 S4 Schritt4 S A4.5 Schritt 4 E0.4 Verriegelung (C) Abbildung 18: Ausschnitt eines S7-Graph Bei dem in Abbildung 18 zugrunde liegenden Beispiel wird der Schritt S2 eingeschaltet, wenn der vorausgehende Schritt eingeschaltet und die Transition T1 erfüllt sind, d.h. E=0.3 ein 1Signal erhält. Der Ausgang A4.1 führt ein wegen dem nicht speichernden Einschalten (N) jetzt solange ein 1-Signal, wie der Schritt S2 aktiv ist, und der Ausgang A4.5 wird rückgesetzt (R). Der Schritt S2 schaltet den vorausgehenden Schritt aus. Der Schritt S3 wird eingeschaltet, wenn der Schritt S2 aktiv und die Transition T2 erfüllt sind, also E0.1 ein 1-Signal erhält. Die Ausgänge A4.2 und A4.3 führen wegen dem nicht speichernden Einschalten (N) nur solange ein 1-Signal, wie der Schritt S3 aktiv ist. Beim Ausgang A4.3 muss zusätzlich die Verriegelungsbedingung (C) erfüllt sein, d.h. der Eingang E0.4 muss ein 1-Signal führen. Der Schritt S3 schaltet S2 aus. Der Schritt S4 wird eingeschaltet, wenn der Schritt S3 aktiv und die Transition T3 erfüllt sind, also E0.0 ein 0-Signal erhält. Der Ausgang A4.5 wird dann speichernd (S) eingeschaltet und bleibt auch dann eingeschaltet, wenn der Schritt S4 wieder deaktiviert ist. Erst der Rücksetzbefehl (R) im Schritt S2 schaltet den Ausgang A4.5 beim nächsten Programmdurchlauf wieder aus. PÜL Automatisierungstechnik - SPS 29 4 Versuchsdurchführung 4.1 Erster Versuchstermin 4.1.1 Vorbereitungsaufgaben Vor dem Versuchstermin zu bearbeiten und nach dem Versuchstermin dem Tutor einmal pro Person schriftlich abzugeben. Vorbereitungsaufgabe 1: Einführende Aufgaben a) Machen Sie sich näher mit dem Aufbau des Demonstrators vertraut: Überlegen Sie sich, warum es in Z-Richtung jeweils zwei Sensoren zur Bestimmung der Höhe gibt. Was für ein Wirkungsprinzip wird beim Sensor des Mitnehmers der Vereinzelungseinheit verwendet? Wie heißen diese Sensoren? Vergleichen Sie Standard-SPS-Bauformen mit Soft-SPS. Nennen Sie einige Vorund Nachteile. Warum werden immer noch beide Bauformen angeboten? Zeichnen Sie in einer groben Skizze die Projektierung auf, die in STEP 7 vorgenommen werden muss. Zeichnen Sie die Bauteile IPC, CP, Profibus und externer Peripherie ein. b) Zeichnen Sie den zeitlichen Verlauf für die im Kapitel 2.4.3.3beschriebene speichernde Einschaltverzögerung analog zu Abbildung 9. c) Gegeben sei der Funktionsplan: E0.0 & >=1 E0.1 E0.0 & & E0.1 Z5 ZR E0.2 Erstellen Sie entsprechende Programme in AWL und KOP, welche die gleiche Funktionalität liefern. Vorbereitungsaufgabe 2: Förderbandsteuerung a) Die Abbildung 19 zeigt ein Industrieförderband. Das Förderband soll mit Hilfe von zwei Tastern (START/STOP) ein- bzw. ausgeschaltet werden können. Entwerfen Sie ein kleines Programm in AWL welches dies ermöglicht. Benutzen Sie für Start/Stop-Buttons die Eingänge 5.0 und 5.1 (siehe Anhang). 30 PÜL Automatisierungstechnik - SPS Abbildung 19: Förderband b) Das Förderband aus Abbildung 19 wird mit einer Lichtschranke erweitert, welche das Vorhandensein eines Werkstücks erkennt. Nach dem Erkennen des Werkstücks soll sich das Förderband nach 3 Sekunden automatisch einschalten und wieder nach 3 Sekunden ausschalten. Entwerfen Sie die Steuerung für das Förderband in FUP und KOP. Erstellen Sie eine Symboltabelle für diese Aufgabe auf Grundlage des Anhangs mit der Ausgabestation als Aktor. Vorbereitungsaufgabe 3: Regalbediengerät In dieser Aufgabe sollen Sie sich Gedanken für eine manuelle Steuerung machen, bei der grobe Bedienfehler ausgeschlossen werden sollen. Das Regalbediengerät soll nur bewegt werden können, wenn sich der Teleskoptisch in der Mittelstellung befindet und der Förderkorb ganz unten ist. Das Regalbediengerät ist zu stoppen bevor es die Endschalter erreicht. Auch Förderkorb sollte langsam ausgeführt. Der Förderkorb muss gestoppt werden bevor Schäden an der Anlage entstehen können. Der Teleskoptisch darf nur ein- und ausgefahren werden, wenn sich das Regalbediengerät in einer eindeutigen Position befindet, d.h. einer der X-Positions-Sensoren muss betätigt sein. Entwerfen Sie die Steuerung für alle Bauteile des Kranes in KOP. Vorbereitungsaufgabe 4: Werkstück vereinzeln In dieser Aufgabe sollen Sie einen Funktionsblock mit dem Namen FB2 erstellen, der folgende Funktionen erfüllen muss: Zuerst soll überprüft werden, ob ein Werkstück sich auf der Abholposition oder im Förderkorb des Regalbediengerätes befindet. Falls dies der Fall ist soll das Programm sich sofort beenden. Wenn ein Werkstück sich in der Vereinzelungsstation befindet, soll der Antrieb dieser gestartet werden bei klick auf F2, um das Werkstück auf die Abholposition zu transportieren. Der Antrieb der Vereinzelungsstation bleibt so lange aktiv wie der Sensor des Mitnehmers ein High-Signal erzeugt. Der Antrieb des Förderbandes 1 soll zur gleichen Zeit eingeschaltet werden wie der Antrieb der Vereinzelungsstation. Der Antrieb des Förderbandes 1 soll abgeschaltet werden, wenn die Lichtschranke der Abholposition eine fallende Flanke erzeugt. Schreiben Sie den Funktionsblock “Vereinzelung” (FB2) in der Ablaufsprache S7-Graph. PÜL Automatisierungstechnik - SPS 31 Vorbereitungsaufgabe 5: Werkstück vereinzeln und Abholen Diese Aufgabe ist eine Erweiterung der vorherigen Aufgabe. Nach dem das Werkstück zur Abholposition transportiert wurde, soll Förderkorb des Regalbediengerätes zu dieser Position fahren und mit dem Teleskoptisch das Werkstück aufnehmen. Der Förderkorb muss sich langsam bewegen, damit er nicht über die erste X-Position hinaus fährt. Der Teleskoptisch muss in der mittleren Position stehen und der Förderkorb muss in der untersten Position stehen, bevor sich der Förderkorb bewegen darf. An der Abholposition soll der Teleskoptisch bis zur maximalen Y-Position ausgefahren werden. Anschließend nach oben bis zum höheren Schalter der ersten ZPosition(Z-über5) und abschließend zurück in die Mittelposition. Erweitern Sie das Programm von Vorbereitungsaufgabe 4 um die Fähigkeit Werkstücke abzuholen. 4.1.2 Aufgaben zur Durchführung Versuch 1: Implementieren Sie die entworfene Förderbandsteuerung für die Ausgabestation direkt in den Organisationsbaustein OB1. Testen Sie Ihr Programm. Versuch 2: Implementieren Sie Vorbereitungsaufgabe 3 und testen diese. Versuch 3: Implementieren Sie die Funktion „Vereinzeln“ aus Vorbereitungsaufgabe 4 in den Funktionsbaustein FB2. Testen Sie die Funktion. Versuch 4: Erweitern Sie den Funktionsbaustein FB2 um die Funktionalitäten aus der Vorbereitungsaufgabe 5. Testen Sie die Steuerung. 32 PÜL Automatisierungstechnik - SPS 4.2 Zweiter Versuchstermin Im zweiten Teil des Versuchs soll die vollständige Funktion des Hochregallagers realisiert werden. Die Abbildung 20 zeigt die Programmstruktur. FB1 Initialisierung FB2 Vereinzeln FC30 Werkstücktyp ermitteln FB3 manuell Einlagern DB7 Werkstücktypen FB4 automatisch Einlagern DB6 Einlagerpositionen OB1 FB5 Auslagern Abbildung 20: Programmstruktur Bausteine die programmiert werden müssen sind: OB1 FB1 Initialisieren FB4 Automatisch Einlagern FB10 Werkstück ablegen DB7 Speichert die Einlagerposition PÜL Automatisierungstechnik - SPS 33 4.2.1 Vorbereitungsaufgaben Vorbereitungsaufgabe 1: Initialisieren mit FB1 Die Initialisierung soll gestartet werden, indem der Benutzer auf der Benutzeroberfläche die Tasten „Hoch“ und „Runter“ zur selben Zeit betätigt. Die Initialisierung startet mit der Prüfung der Position des Teleskoptisches. Die Position des Tisches kann mit drei Sensoren (Y-Hinten, Y-Mitte, Y-Vorne) erfasst werden. Von dort fahren zu "Sicheren Position"(Y-Mitte). o Wenn keiner der Sensoren des Teleskoptisches aktiviert ist, kann das Programm ohne die Hilfe des Benutzers nicht erkennen, ob der Teleskoptisch sich in der „sicheren Position“ (Y-Mitte) befindet. In diesem Fall soll das Programm abbrechen und der Benutzer muss den Teleskoptisch manuell auf eine bekannte Position fahren und die Initialisierung erneut starten. Befindet sich der Teleskoptisch in der sicheren Position soll die Prüfung der Position des Regalbediengeräts mittels der X-Positions-Sensoren gestartet werden. o Wenn keiner der X-Positions-Sensoren aktiviert ist soll das Regalbediengerät solange nach rechts fahren bis einer der X-Positions-Sensoren betätigt wird. Sobald ein Sensor aktiviert wurde soll das Programm prüfen ob es sich um den X-Pos5 Sensor handelt. Wenn nicht dann soll das Regalbediengerät ist zu fahren langsam in die entsprechende Richtung bis zum „X-Pos5“-Sensor. Bei der Betätigung des Sensors „X-Pos5“ soll die Position des Förderkorbs überprüft werden. Die Position des Förderkorbs wird über die Positionssensoren ermittelt. Ist der unterste Sensor nicht aktiviert, dann soll der Förderkorb solange nach unten fahren bis dieser betätigt wurde. Nach diesen Schritten befindet sich das Regalbediengerät in der Startposition. Am Ende des Funktionsbausteins FB1 sollen der Datenbaustein DB7 initialisiert werden. Erstellen Sie dazu entweder eine Funktion die Sie aufrufen oder setzen Sie alle fünf enthaltenen Positionen direkt in der Schrittkette zu „False“. Erstellen Sei den zugehörigen S7-Graph. Der Zugriff auf Elemente eines Datenbausteins geschieht über z.B. „DB7.Platz1“. Wenn der Symbolname „Platz1“ im Datenbaustein gesetzt wurde. 34 PÜL Automatisierungstechnik - SPS Vorbereitungsaufgabe 2: Automatisch Einlagern Nach dem Vereinzeln mit „F2“ kann der Benutzer auf der Benutzeroberfläche mit der Taste „F3“ den Einlagerungsvorgang starten. Um die Aufgabe zu vereinfachen sollen nur die ersten fünf Spalten in der untersten Reihe bei der automatischen Einlagerung berücksichtigt werden. Das Programm prüft, ob ein Werkstück im Förderkorb vorhanden ist. Wenn der Förderkorb leer ist soll das Programm abbrechen. Das Regalbediengerät fährt nun bis zu der ersten freien automatisch gewählten Einlagerposition. Wenn das Regalbediengerät diese Einlagerposition erreicht hat, soll durch einen Aufruf eines FB10 der Teleskoptisch in das Fach gefahren werden, bis der Sensor „Y-Hinten“ betätigt wird. Danach fährt der Förderkorb eine halbe Ebene nach unten. D.h. der Förderkorb fährt von der Ebene „Z-Über“ zur Ebene „Z-Unter“ Wird der Sensor „Z-Unter“ betätigt, fährt der Teleskoptisch zurück, bis der Sensor „Y-Mitte“ betätigt wird. Nach erfolgreichem Ablegen des Werkstücks wird die Belegung der Einlagerposition in Datenbaustein DB7 geschrieben. Erstellen sich nach der Beschreibung einen S7-Graphen für das automatische Einlagern. Berücksichtigen Sie, dass zum mehrfachen Aufruf des FB10 zum Ablegen des Werkstückes im HRL dieser während jedes Aufrufs mit "INIT_SQ" zurückgesetzt werden muss. 4.2.2 Aufgaben zur Durchführung Versuch 1: Erstellen Sie den Datenbaustein DB7 mit 5 Elementen und geben Sie den einzelnen Zeilen Symbolnamen. Implementieren Sie die Funktion „Initialisieren“ und erweitern Sie OB1. Testen Sie die Steuerung. Versuch 2: Implementieren Sie die in Vorbereitungsaufgabe 2 entwickelte Steuerung für das automatische Einlagern in den Funktionsbaustein FB4 und erweitern Sie den Organisationsbaustein OB1. Testen Sie die Steuerung. PÜL Automatisierungstechnik - SPS 35 5 Anhang Die Anlage wird angesteuert und überwacht durch 12 digitale Ansteuersignale und 31 digitale Sensorsignale. Es gilt die folgende Symbolliste: Symbolischer Name Funktion SPS Anschluss Sensoren X-Pos1 X-Achse Pos.1 (Hochregal) (Eingabestation) E 1.0 Taster (Öffner) X-Pos2 X-Achse Pos.2 (Hochregal) E 1.1 Taster (Öffner) X-Pos3 X-Achse Pos.3 (Hochregal) E 1.2 Taster (Öffner) X-Pos4 X-Achse Pos.4 (Hochregal) E 1.3 Taster (Öffner) X-Pos5 X-Achse Pos.5 (Hochregal) E 1.4 Taster (Öffner) X-Pos6 X-Achse Pos.6 (Hochregal) E 1.5 Taster (Öffner) X-Pos7 X-Achse Pos.7 (Hochregal) E 1.6 Taster (Öffner) X-Pos8 X-Achse Pos.8 (Hochregal) E 1.7 Taster (Öffner) X-Pos9 X-Achse Pos.9 (Hochregal) E 0.0 Taster (Öffner) X-Pos10 X-Achse Pos.10 (Hochregal) (Ausgabestation) E 0.1 Taster (Öffner) Y-Vorne Y-Achse Vorne (Teleskoptisch) E 0.2 Taster (Öffner) Y-Mitte Y-Achse Mitte (Teleskoptisch) E 0.3 Taster (Öffner) Y-Hinten Y-Achse Hinten (Teleskoptisch) E 0.4 Taster (Öffner) Z-Ueber1 Z-Achse oberer Kontakt Pos.1 E 0.5 Taster (Öffner) Z-Unter1 Z-Achse unterer Kontakt Pos.1 E 0.6 Taster (Öffner) Z-Ueber2 Z-Achse oberer Kontakt Pos.2 E 0.7 Taster (Öffner) Z-Unter2 Z-Achse unterer Kontakt Pos.2 E 3.0 Taster (Öffner) Z-Ueber3 Z-Achse oberer Kontakt Pos.3 E 3.1 Taster (Öffner) Z-Unter3 Z-Achse unterer Kontakt Pos.3 E 3.2 Taster (Öffner) Z-Ueber4 Z-Achse oberer Kontakt Pos.4 E 3.3 Taster (Öffner) Z-Unter4 Z-Achse unterer Kontakt Pos.4 E 3.4 Taster (Öffner) Z-Ueber5 Z-Achse oberer Kontakt Pos.5 E 3.5 Taster (Öffner) 36 PÜL Automatisierungstechnik - SPS Z-Unter5 Z-Achse unterer Kontakt Pos.5 E 3.6 WS-Anw Werkstück befindet sich im Förderkorb E 3.7 WS-AnwSt1 Lichtschranke Eingabestation E 2.0 WS-AnwSt2 Lichtschranke Ausgabestation E 2.1 Mitnehmer Position Reedkontakt Mitnehmer Vereinzelungseinheit E 2.2 Speicherleer Lichtschranke Vereinzelungseinheit E 2.3 Reedkontakt WS-Unterscheidungs-Sensor E 2.4 Reedkontakt WS-Unterscheidungs-Sensor E 2.5 F1 Benutzereingabe E 5.0 Taster (Schließer) F2 Benutzereingabe E 5.1 Taster (Schließer) F3 Benutzereingabe E 5.2 Taster (Schließer) Schalter_oben Förderkorb nach oben fahren E5.3 Taster (Schließer) Schalter _unten Förderkorb nach unten fahren E5.6 Taster (Schließer) Schalter _links Förderkorb nach links fahren E5.4 Taster (Schließer) Schalter _rechts Förderkorb nach rechts fahren E5.5 Taster (Schließer) Schalter _vor Teleskoptisch nach vorne fahren E5.7 Taster (Schließer) Schalter _zurück Teleskoptisch nach hinten fahren E4.0 Taster (Schließer) Förderband 1 fahren (bei Eingabestation) A 0.0 Motor Förderband 2 fahren (bei Ausgabestation) A 0.1 Motor Werkstücke vereinzeln A 0.3 Motor Richtung +X fahren A 1.0 Motor Richtung –X fahren A 1.1 Motor Aktuell angesteuerter Motor langsam fahren A 1.2 Motor Fkausfahren Teleskoptisch herausfahren (+Y-Achse) A 1.3 Motor Fkeinfahren Teleskoptisch hineinfahren (-Y-Achse) A 1.4 Motor Fkhochfahren Förderkorb hoch fahren (+Z-Achse) A 1.5 Motor Fkrunterfahren Förderkorb nach unten fahren (-Z-Achse) A 1.6 Motor WSUnterscheidung1 WSUnterscheidung2 Foerderband1 fahren Foerderband2 fahren Speicherfahren RBGnachrechts fahren RBGnachlinks fahren RBGlangsam fahren Taster (Öffner) Optischer Sensor (Schließer) Optischer Sensor (Öffner) Optischer Sensor (Öffner) Reedkontakt (Schließer) Optischer Sensor (Öffner) Reedkontakt (Schließer) Reedkontakt (Schließer)