Praktikumsversuch BENT 09. Einführung in die Steuerungstechnik mit SPS



Ähnliche Dokumente
J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A)

S7-Hantierungsbausteine für R355, R6000 und R2700

Software-Beschreibung Elektronische Identifikations-Systeme BIS Softwarekopplung PROFIBUS DP mit BIS C-60_2-...an S7

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

Schaltbild E Tec Module Schaltbeispiel (Prüfschaltung)

Übung -- d002_ampelsteuerung

Fehlerdiagnose / Fehlerbehandlung

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

S7 - Lehrgang. 1. Wo liegt der Unterschied zwischen Öffnern und Sc hließern?

Mediator 9 - Lernprogramm

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A)

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

3.14 Die Programmieroberfläche Programmierung

6. ABLAUFSTEUERUNGEN MIT GRAPH 7

teamsync Kurzanleitung

Einführung in. Logische Schaltungen

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Produktschulung WinDachJournal

Dokumentation IBIS Monitor

Wie Sie mit Mastern arbeiten

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Beispiel: Siemens AG 900E03 9 Seiten Update:

3. Die tägliche -Flut effizient verwalten

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Stand: Adressnummern ändern Modulbeschreibung

Grafischer Tischeplan

Import SIMATIC-Variablen

9 Multiplexer und Code-Umsetzer

MC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand:

Arbeiten mit der Software STEP 7 und den Laborarbeitsplätzen SIMATIC S7-313C

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Versuch 3. Frequenzgang eines Verstärkers

Aufklappelemente anlegen

Bedienungsanleitung Version 1.0

Ausbildungsunterlage für die Programmierung einer S7 314C-2DP

Zwischenablage (Bilder, Texte,...)

Nutzung von GiS BasePac 8 im Netzwerk

Arbeiten mit UMLed und Delphi

Wie halte ich Ordnung auf meiner Festplatte?

Verwalten und Organisieren von Fotos,

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Urlaubsregel in David

BFI Industrie-Elektronik GmbH + Co. KG

Einzel- s und unpersönliche Massen-Mails versenden

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

Bedienungsanleitung Programmiersoftware Save `n carry PLUS. Inhaltsangabe

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Kapitel 7 - Wägungen

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

DALI-16B Features ab Firmware V2.31

ZVT TA7.0 Protokoll beim ICT250 aktivieren

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

P-touch Transfer Manager verwenden

hanazeder Montage, Anschluss HLC-EA-MP hanazeder electronic GmbH J.M. Dimmel Str Ried i. I.

BANKETTprofi Telefonschnittstelle

Neue Zugangsdaten für sg-online erstellen

Eigene Dokumente, Fotos, Bilder etc. sichern

MMS - Update auf Version 4.4

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Lehrer: Einschreibemethoden

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL A7 Test- und Online- Funktionen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Jederzeit Ordnung halten

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Dokumentenverwaltung im Internet

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

2. Im Admin Bereich drücken Sie bitte auf den Button Mediathek unter der Rubrik Erweiterungen.

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

NOXON Connect Bedienungsanleitung Manual

Stammdatenanlage über den Einrichtungsassistenten

Eingangsseite Umwelt-online

Handbuch ECDL 2003 Basic Modul 7 Abschnitt 1: Information Kopieren aus dem Browser

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Filialpreisverwaltung

3 ORDNER UND DATEIEN. 3.1 Ordner

Datenbanken Kapitel 2

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Zahlen auf einen Blick

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

Handbuch B4000+ Preset Manager

Ablaufsteuerung Sequenzer, als Schaltstufen für den Amateurfunk.

Einführungskurs MOODLE Themen:

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

So geht s Schritt-für-Schritt-Anleitung

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Globale Tastenkombinationen für Windows

iphone- und ipad-praxis: Kalender optimal synchronisieren

Transkript:

Lehrstuhl für Elektrische Antriebe und Mechatronik Prof. Dr.-Ing. Dr.-Ing. S. Kulig Praktikumsversuch BENT 09 Einführung in die Steuerungstechnik mit SPS c LS-EAM (2010)

2 Inhaltsverzeichnis 1 Einführung 3 1.1 Speicherprogrammierbare Steuerungen und ihre Anwendung.................. 3 1.2 Aufbau und Baugruppen einer SPS................................ 4 1.2.1 Der Baugruppenträger.................................. 4 1.2.2 Stromversorgung und CPU................................ 4 1.2.3 Ein- und Ausgabebaugruppen.............................. 6 1.2.4 Positionierbaugruppe FM 354 für Servoantrieb..................... 7 2 Projektierung mit der Siemens S7 9 2.1 Softwarevorstellung........................................ 9 2.2 Der projektorientierte Aufbau - STEP 7 Simatic Manager.................... 9 2.2.1 Ein Projekt anlegen - der Projektassistent........................ 10 3 Grundlagen zur Programmerstellung 12 3.1 Programme der CPU....................................... 12 3.2 Bausteine im Anwenderprogramm................................ 12 3.2.1 Zyklische Programmbearbeitung............................. 12 3.2.2 Organisationsbaustein (OB)............................... 13 3.2.3 Funktion (FC) und Funktionsbaustein (FB)....................... 13 3.2.4 Datenbaustein (DB)................................... 13 3.2.5 Bausteine im Projekt anlegen............................... 14 3.3 Sprachen AWL, FUP, KOP und GRAPH............................. 14 3.3.1 Logische Verknüpfungen................................. 14 3.3.2 Bausteine in FUP programmieren............................ 15 3.4 Prinzip der Ablaufkette...................................... 16 3.4.1 Ein Prozessablauf als Zustandsgraph........................... 17 3.5 Programmierung mit GRAPH 7................................. 19 4 Projektierungsbeispiel 21 4.1 Problemstellung.......................................... 21 4.2 Aufgabenteil........................................... 22 4.2.1 Vorbereitung....................................... 22 4.2.2 Versuchsteil........................................ 22 5 Anhang 24 5.1 Symboltabelle........................................... 24 5.2 Funktion: Eingangsmerker.................................... 25 5.3 Funktion: Tür schließen...................................... 27 5.4 Rückmeldesignale der FM 354.................................. 28

3 1 Einführung 1.1 Speicherprogrammierbare Steuerungen und ihre Anwendung Der zunehmende Automatisierungsgrad in der Industrie und die Steigende Komplexität von Prozessabläufen stellen immer höhere Anforderungen an die Steuerungstechnik. Herkömmliche Schützsteuerungen stoßen hier schnell an Grenzen bezüglich Aufwand, Platzbedarf und Flexibilität. Bei Schütz- und Relaissteuerungen werden die Beziehungen zwischen Ein- und Ausgängen der Steuerungsanlage durch Schaltelemente realisiert, die durch eine feste Verdrahtung untereinander verbunden sind. Die Realisierung der Steuerung wird durch einen Stromlaufplan beschrieben, in welchem die einzelnen Schaltelemente und ihre Verbindungen aufgeführt sind. Diese Steuerungssysteme werden als Verdrahtungsprogrammierte Steuerungen (VPS) bezeichnet. Der Nachteil solcher Steuerungen liegt, neben einem hohen Platzbedarf in Schaltschränken darin, dass ein Programm durch die Verdrahtung festgelegt wird. Eine Änderung der Steuerungsaufgabe macht arbeitsaufwendige Umverdrahtungen nötig, welche den flexiblen Einsatz in Prozessen behindern und zusätzliche Kosten verursachen. Die mechanischen Relaiskontakte sind nur für eine begrenzte Anzahl von Schaltspielen ausgelegt. Diese Tatsache zieht Wartungs- und Reparaturarbeiten nach sich. Es bieten sich stattdessen die Speicherprogrammierbaren Steuerungen (SPS) als oftmals wirtschaftliche Alternative an. Im Gegensatz zu den fest verdrahteten Steuerungen wird die Steuerungsaufgabe durch Software- Programmierung einer Steuerungseinheit, der SPS, gelöst. Der SPS werden die, von der jeweiligen Aufgabenstellung abhängigen Eingangssignale (Taster, Sensoren, usw. ) zugeführt und können hier mit dem Anwenderprogramm verknüpft werden.über die SPS-Ausgänge werden die im Prozess enthaltenen Aktoren angesteuert. Die Aktoren können je nach Leistungsaufnahme direkt an die SPS angeschlossen werden. Hierzu werden in späteren Kapiteln noch nähere Informationen gegeben. Allgemein finden Speicherprogrammierbare Steuerungen mitlerweile in vielen Bereichen Anwendung und bleiben nicht allein industriellen Anwendungen vorbehalten. Hier zunächst einige Beispiele: Steuerung von Werkzeugmaschinen Ampelsteuerungen Steuerung von Fahrstühlen Waschstrassen-Steuerung Das klassische Einsatzgebiet speicherprogrammierbarer Steuerungen sind teil- und vollautomatische Prozessabläufe, die für verschiedene Anwendungen häufig umgerüstet bzw. anders eingestellt werden müssen. Wie bereits oben erläutert, lassen sich die dazu notwendigen Steuerungseinrichtungen über konventionelle Schütztechnik nur mit erheblichen Nachteilen realisierenund sind nicht flexibel gegenüber sich ändernden Anforderungen. Ausgehend von der Automobilindustrie verbreiteten sich die SPS über weite Bereiche bis hin zu privaten Anwendungen im Haushalt (z.b. Torsteuerungen). Möglich wurde dies durch die Entwicklung von elektronischen Steuergeräten, die durch Einsatz integrierter Schaltungen und Prozessoren immer leistungsfähiger und vor allem preiswerter geworden sind. Moderne Steuerungen haben eine Vielzahl von Ein- und Ausgängen, die sowohl digital als auch analoge Werte verarbeiten und ausgeben können. Damit besteht auch die Möglichkeit, einfache Regelungsaufgaben zu realisieren. In diesem Versuch soll ein Überblick über eine aktuelle SPS, der Siemens S7-Baureihe gegeben werden. Es werden zunächst allgemeine Grundlagen gelegt und diese anschließend in einem Projektierungsbeispiel praktisch angewendet.

4 1.2 Aufbau und Baugruppen einer SPS Der grundsätzliche Aufbau einer SPS ist im Prinzip produkt- und herstellerunabhängig. Eine SPS besteht in der Regel aus verschiedenen Einzelkomponenten (Baugruppen) wie Ein- und Ausgabebaugruppen, oder Sonderbaugruppen, wie analoge Ein- und Ausgänge oder Umrichtersteuermodule. Die Baugruppen werden auf einen Baugruppenträger montiert und über Busverbinder gekoppelt. Ein Netzteil übernimmt die Spannungsversorgung sowohl für die Prozessoreinheit als auch für die Baugruppen. Es können je nach Ausführung auch externe Schalt- und Meldegeräte versorgt werden. Das Herzstück einer SPS ist die CPU-Einheit. In dieser Baugruppe wird das SPS-Programm abgearbeitet. Mit der Auswahl der CPU-Baugruppe bestimmt man die Leistungsfähigkeit des Systems, die Speichergröße sowie den zur Verfügung stehenden Befehlssatz. 1.2.1 Der Baugruppenträger Die Anordnung der einzelnen Module auf dem Baugruppenträger ist bis auf die ersten drei Positionen beliebig. Steckplatz 1 ist für die Stromversorgungsbaugruppe (PS) reserviert. Die CPU-Baugruppe wird grundsätzlich auf Steckplatz 2 gesetzt. Der Steckplatz 3 wird entweder von einer Anschaltbaugruppe zur Verbindung mehrerer CPUs genutzt, oder nicht belegt. Die weiteren Steckplätze können frei für digitale, analoge oder funktionale Baugruppen genutzt werden. 1.2.2 Stromversorgung und CPU Abbildung 1.1: S7-300 Zur Versorgung der S7-300 und der angeschlossenen Sensoren und Aktoren mit DC 24V lassen sich verschiedene Stromversorgungsbaugruppen verwenden, die sich hinsichtlich ihrer Ausgangsleistung unterscheiden. Die im Versuchsaufbau enthaltene Baugruppe PS 307; 2A zeichnet sich durch folgende Eigenschaften aus: Ausgangsstrom max. 2A Ausgangsnennspannung DC 24V, geregelt und kurzschlussfest

5 sichere elektrische Trennung nach EN 60 950 kann als Laststromversorgung verwendet werden Die CPUs der Gerätefamilie S7-300 sind für den mittleren Leistungsbereich ausgelegt und bieten durch ein optimales Preis/Leistungsverhältnis vielfältige Anwendungsmöglichkeiten. Unterschiede liegen in der Größe der Programm- und Arbeitsspeicher, in der Zykluszeit (Zeit für die Abarbeitung von 1K Anweisungen), sowie in der Anzahl der zur Verfügung stehenden Zähler-, Zeiten- und Merkerfunktionen. Neben den reinen CPU- Baugruppen, wie z.b. die CPU 314 gibt es auch Kombinationen, bei denen weitere Baugruppen wie Ein- und Ausgänge oder auch Regelungsfunktionen bereits integriert sind. Diese Kompakt-CPUs sind im Vergleich zu Einzelsystemen für bestimmte Anwendungen schon allein aus preislicher Sicht zu bevorzugen. Der Versuchsstand enthält eine CPU 314, die folgende Leistungsmerkmale aufweist: Arbeitsspeicher Befehlslaufzeit für 1K Anweisungen Merker Zähler Zeiten 24 kbyte 0,3 ms 2048 64 128 Über die Kontrollleuchten auf der Gerätefront kann der momentane Zustand der CPU abgelesen werden: Anzeige Bedeutung Erklärung SF (rot) Sammelfehler diagnosefähige Baugruppen zeigen Fehler über SF an. Die Fehlerart kann über das Menü Baugruppenzustand online ausgelesen werden. BATF (rot) Batteriefehler Pufferbatterie defekt DC5V (grün) DC 5V Spannungsversorgung interne Spannungsversorgung ok für CPU und Rück- wandbus FRCE (gelb) FRCE (gelb) Anzeige für Zugriff auf Variablen durch Testfunktionen RUN (grün) Betriebszustand RUN statische Anzeige für CPU in RUN-blinkende Anzeige für CPU-Anlauf STOP (gelb) Betriebszustand STOP langsames Blinken bei Aufforderung zum Urlöschen-schnelles Blinken bei Ausführung Urlöschen- statische Anzeige für CPU-STOP Der Schlüsselschalter der CPU dient zur Einstellung der Betriebsart. Je nach Stellung sind nur lesende Zugriffsmöglichkeiten auf die CPU gestattet oder es sind lesende und schreibende Funktionen möglich.

6 Schalterstellung RUN-P RUN STOP MRES Funktionen lesender und schreibender Zugriff möglich nur lesender Zugriff erlaubt alle Funktionen erlaubt Urlöschen: Schlüssel aus STOP auf MRES drehen, bis STOP zum 2. Mal aufleuchtet und anschließend leuchten bleibt - innerhalb von 3 sek Schalter wieder in Stellung MRES bringen und halten bis STOP blinkt- wenn Urlöschen beendet ist, leuchtet STOP wieder statisch 1.2.3 Ein- und Ausgabebaugruppen Für den Anschluß von Sensoren/Gebern und Lasten/Aktoren stehen der S7-300 verschiedene digitale und analoge Baugruppen zur Verfügung. Diese Baugruppen werden unter dem Namen Signalbaugruppen (SM) zusammengefasst. Sie bilden die Schnittstellen zwischen Prozess und dem Automatisierungssystem. Digitale Baugruppen werden durch DI für digital input und mit DO für digital output gekennzeichnet. Die Ein- und Ausgänge der Digitalbaugruppen sind über Optokoppler potenzialgetrennt ausgeführt. Die Versorgung von angeschlossenen Sensoren und Aktoren kann aus der Stromversorgungsbaugruppe mit DC 24V erfolgen. Zu beachten ist jedoch die Strombelastbarkeit der Ausgänge, die sich bei der vorhandenen Baugruppe auf Imax=0,5A beschränkt. Damit ist es also möglich, Magnetventile, Meldeleuchten oder Gleichstromschütze zu betreiben. Der Zustand der jeweiligen Ein- und Ausgänge wird über eine Kontroll-LED direkt neben der Anschlussklemme an der Baugruppe angezeigt. Leuchtet die LED, so liegt eine logische 1 vor. Die Potenziale für eine DC 24V Baugruppe liegen für Signal 1 bei 13 bis 30V und für Signal 0 bei -3 bis 5V bei einem Eingangsstrom der DI-Baugruppe von ca. 7 ma. Die Adressen der einzelnen Eingänge und Ausgänge lassen sich in der Hardwarekonfiguration ablesen. Dort ist der Adressbereich der Baugruppe mit den entsprechenden Bytes angegeben. Die einzelnen Eingänge werden dann über das zugehörige Bit angesprochen. So ist der zweite Eingang der DI Baugruppe mit dem zugeordneten Byte 0 durch E 0.1 anzusprechen, da die Eingänge von 0 bis 7 gezählt werden. Genauso verhält es sich bei Ausgabebaugruppen, nur dass hier der Ausgang durch z.b. A 4.2 angesprochen wird. Analoge Baugruppen werden mit AI für analog input und AO für analog output benannt. Durch diese Baugruppen wird es möglich eine Vielzahl physikalischer Größen über entspechende Meßwertaufnehmenr zu verarbeiten. Gängigstes Beispiel ist hier die Temperaturwertaufnahmme mittels eines PT 100. Für eine einfache Messung kann ein direkter Anschluss an die Baugruppe erfolgen, indem die Konstantstromquelle der Analogeingangsbaugruppe genutzt und die über dem Widerstand abfallende Spannung dem AI-Eingang zugeführt wird. Aber auch Größen wie Windgeschwindigkeit oder Sonneneinstrahlung lassen sich einfach als Eingangsgrößen bzw. Regelgrößen dem Automatisierungssystem zuführen. Bei Verwendung der Analogbaugruppen muss jedoch die Zeit für die A/D Wandlung im Programm berücksichtigt werden. Ebenfalls sind die Zahlenformate zu beachten, da Analogeingangsbaugruppen meist eine Darstellung als Zweierkomplement liefern, welche anschließend im Anwenderprogramm z.b. in Hex umgewandelt werden muss. Da analoge Baugruppen für den vorliegenden Versuch nicht benötigt werden, wird die Verwendung an dieser Stelle nicht weiter vertieft.

7 1.2.4 Positionierbaugruppe FM 354 für Servoantrieb Abbildung 1.2: Servoantriebe Die FM 354 ist eine mikroprozessorgesteuerte Positionierbaugruppe für einen Antrieb mit analoger Sollwertschnittstelle. Es ist eine leistungstarke Baugruppe für Anwendungen des Lagegeregelten Positionierens mit Linear- und Rundachsen. Die Baugruppe arbeitet selbstständig, d.h. Verfahrprogramme können eigenständig bearbeitet werden, ohne CPU-Zeit der SPS in Anspruch zu nehmen. Ein nicht-flüchtiger Datenspeicher ermöglicht, auch nach Ausschalten der Anlage, die Beibehaltung der Parametrierdaten des Antriebsystems. Die FM 354 ist einsetzbar sowohl für einfache Positionierungen, wie hier verwendet, als auch für komplexe Verfahrprofile mit höchsten Ansprüchen für Dynamik, Genauigkeit und Geschwindigkeit. Typische Einsatzgebiete sind: Förder- und Transporteinrichtungen Montagelinien Hilfsbewegungen bei Fräs- und Drehmaschinen Verpackungsmaschinen und vieles mehr... Um einen Überblick der Baugruppenfunktionen zu erhalten, werden die wichtigsten hier aufgeführt: Verwaltung der Betriebsartensteuerung Istwerteerfassung über Inkremental- oder Absolutwertgebersignal von Gebern an den Achsen Lageregelung, um Überschwingvorgänge zu minimieren oder um Toleranzen des mechanischen Aufbaus auszugleichen digitale Ein-/Ausgänge, z.b. für Referenzpunktschalter, Position erreicht oder externe Starttaster Softwareendschalter zur Verfahrwegbegrenzung

8 Diagnose und Fehlerbehandlung Datenhaltung für Parameter Der Anwender kann über die Parametrierfunktion ein Verfahrprogramm vorgeben, welches dann automatisch oder durch äußere Steuerung eigenständig durchlaufen wird. Über das Anwenderprogramm läßt sich die FM 354 ebenfalls ansprechen und somit voll in den Automatisierungsprozess integrieren. Für diesen Versuch wird zunächst die Betriebsart (BAA) Referenzpunktfahrt benötigt, damit sich die Linearachse mit dem Geber synchronisieren kann. Als Referenzpunkt dient ein induktiver Näherungsschalter an der Achse, der direkt auf einen Eingang der FM 354 geschaltet ist. Das Anwenderprogramm löst also nur eine Referenzpunktfahrt aus und erhält Rückmeldung, wenn diese beendet und die Achse synchronisiert ist. Eine einfache Positionierungsaufgabe kann mit der Betriebsart Schrittmaßfahrt bewältigt werden. In den Parametrierdaten der FM 354 legt man unter dem Punkt Schrittmaße Weglängen fest, um die die Achse bei Aufruf verfahren werden soll. Die Richtung der Verfahrbewegung muss vom Anwenderprogramm mit übergeben werden (näheres siehe Versuchsteil)

9 2 Projektierung mit der Siemens S7 2.1 Softwarevorstellung 2.2 Der projektorientierte Aufbau - STEP 7 Simatic Manager Abbildung 2.1: Step 7 Programmoberfläche Die Programmiersoftware für die Siemens SPS der Baureihe S7 heißt STEP 7. Diese bietet die gesamte Funktionalität für das Konfigurieren, Parametrieren und Programmieren der S7-Steuerungen. Ein wesentlicher Vorteil gegenüber älteren Programmierungstools besteht in dem objektorientierten Aufbau der Benutzeroberfläche. Der Simatic Manager ist die Einstiegsoberfläche für die Programmierung mit STEP 7. Er zeigt die hierachische Darstellung sämtlicher Objekte eines Projektes und ermöglicht so den Zugang zu allen Funktionen, die zur Lösung einer Automatisierungsaufgabe nötig sind. Ein Projekt, mit seinen einzelnen Objekten, ist vergleichbar mit der Verzeichnisstruktur des Windows-Explorers als Hierarchiebaum dargestellt. Die einzelnen Objekte können durch Doppelklick geöffnet oder über die rechte Maustaste mit weiteren Funktionalitäten bearbeitet werden. Die wichtigsten S7-Objekte, die für diese Programmieraufgabe benötigt werden, sind in der folgenden Tabelle aufgeführt:

10 Objekt Beschreibung liegt in Behälter Projekt repräsentiert die Gesamtheit aller Daten und Programme einer Automatisierungslösung SIMATIC 300-Station repräsentiert den Hardwareaufbau mit einer oder mehreren programmierbaren Baugruppen Programmierbare repräsentiert eine programmierbare CPU- Baugruppe Baugruppe S7-Programm enthält Ordner Bausteine, Quellen und das Objekt Symbole Bausteine enthält die Bausteine des Anwenderprogramms FM 354 enthält die Daten für die Sonderbaugruppe FM 354 steht an der Spitze der Organisationshirarche Projekt Station programmierbare Baugruppe oder Projekt S7-Programm FM 354 2.2.1 Ein Projekt anlegen - der Projektassistent Abbildung 2.2: Projektassistent Bei Aufruf des Simatic Managers wird gleichzeitig der STEP 7 Projektassistent geöffnet, der beim Anlegen eines STEP 7 Projekts unterstützt und die Projektstruktur vorgibt. Die Projektstruktur dient, wie eingangs erläutert, dazu, alle anfallenden Daten und Programme geordnet abzulegen. Das Eingangsfenster gibt einen Überblick der Projektstruktur, und über die Symbolfläche Weiter gelangt man in das Fenster der CPU-Auswahl. Wählen Sie hier die CPU für ihr Projekt aus CPU 314. Jede CPU hat andere Eigenschaften bezüglich Speicherausbau und nutzbarer Operandenbereiche. Ein Projekt wird somit CPU spezifisch angelegt. Die aufgeführte MPI-Adresse (Multi Point Interface) wird für die Kommunikation der CPU mit dem PC benötigt. Die voreingestellte MPI-Adresse 2 kann übernommen werden. Das nächste Fenster ermöglicht es, die für das Projekt notwendigen Organisationsbausteine auszuwählen, sowie die Programmiersprache, die der Anwender für diesen

Baustein verwenden will. Bei der Programmierung wird hier zunächst nur der OB 1 (Hauptprogrammbaustein) in der Sprache FUP benötigt. Durch die Schaltfläche Weiter gelangen sie zum letzten Fenster des Projektassistenten. Hier wird der Name des Projektes festgelegt, z.b. Aufzug. Mit Fertigstellen wird das neue Projekt gemäß der Vorschau erzeugt und angelegt. 11

12 3 Grundlagen zur Programmerstellung 3.1 Programme der CPU In einer CPU laufen grundsätzlich zwei verschiedene Programme ab: das Betriebssystem und das Anwenderprogramm. Das Betriebssystem ist bereits in jeder CPU enthalten und organisiert alle Funktionen und Abläufe, die nicht mit einer spezifischen Steuerungsaufgabe verbunden sind. Zu den Aufgaben zählen u. a.: das Abwickeln von Neustart und Wiederanlauf das Verwalten von Speicherbereichen das Aktualisieren des Prozessabbildes der Eingänge und die Ausgabe des Prozessabbildes der Ausgänge das Aufrufen des Anwenderprogramms Bestimmte Parameter und Eigenschaften des Betriebssystems können vom Anwender festgelegt und verändert werden. Hierzu zählt z.b. das Verhalten bei Wiederanlauf oder die Größe des Speicherbereichs für Merker, Zeiten und Zähler. Häufig verwendet wird auch die Möglichkeit, bestimmte Merker remanent auszuführen, d.h. ihr Zustand bleibt auch nach Ausschalten des Systems gleich. Um die Betriebsparameter der CPU zu verändern, wird über die Hardwarekonfiguration und anschließenden Doppelklick auf den CPU-Steckplatz das CPU-Menü geöffnet. Veränderungen im Adressbereich oder in der Speicherbereichsaufteilung können sich allerdings auf die Lauffähigkeit des Systems negativ auswirken, also ist hier Vorsicht geboten. Das Anwenderprogramm enthält alle Funktionen, die zur Bearbeitung einer spezifischen Automatisierungsaufgabe erforderlich sind. Hierzu zählen beispielsweise: das Festlegen der Voraussetzungen für den Neustart und den Wiederanlauf der CPU (z.b. Rücksetzen von Speicherbereichen auf vordefinierte Werte oder Einleiten von bestimmten Verfahrprogrammen bei Positionierbaugruppen) das Bearbeiten von Prozessdaten (z.b. Verknüpfung von Binärsignalen, Ausgabesignale festlegen,...) 3.2 Bausteine im Anwenderprogramm 3.2.1 Zyklische Programmbearbeitung Bei speicherprogrammierbaren Steuerungen liegt typischerweise zyklische Programmbearbeitung vor, d.h. das Betriebssystem läuft in einer Programmschleife, dem Zyklus ab und ruft bei jedem Durchlauf einmal den Organisationsbaustein OB 1 auf. Der OB 1 ist das Hauptprogramm des Anwenderprogramms. Es ist somit möglich, das gesamte Anwenderprogramm in den OB 1 zu schreiben und so eine lineare Struktur zu verwenden. Dies ist nur bei sehr kleinen und einfachen Programmen empfehlenswert, da sonst die Übersicht schon bei der Programmierung verloren geht. Komplexe Automatisierungsaufgaben können besser realisiert werden, wenn sie in kleinere Teilaufgaben untergliedert werden. Die Gliederung sollte sich an den technologischen Funktionen des Automatisierungsprozesses orientieren, oder an Teilfunktionen, die mehrfach im Prozess verwendet werden. Im Anwenderprogramm werden diese Teilaufgaben durch entsprechende Programmteile, den Bausteinen, repräsentiert. Mit bestimmten Aufrufbefehlen können die einzelnen Bausteine aus dem OB 1 heraus aktiviert werden. Weiterhin besteht die Möglichkeit einer tieferen Schachtelung durch Aufruf von Bausteinen aus Teilprozessen heraus. Man spricht hier somit von einer strukturierten Programmierung. Jeder Baustein

13 wird wiederum in einzelne Netzwerke unterteilt. Jedes Netzwerk kann mit einem Titel und einem Kommentar versehen werden. Aufgrund der Übersichtlichkeit empfielt es sich, pro Netzwerk nur eine zusammenhängende logische Verknüpfung zu erstellen.! #"%$ #"%$ & "%$ & ' $ 3.2.2 Organisationsbaustein (OB) Ein Organisationsbaustein ist die Schnittstelle zwischen dem Betriebssystem und dem Anwenderprogramm. In einem OB wird die Reihenfolge der Bearbeitung des Anwenderprogramms festgelegt. Neben dem eigentlichem Hauptprogramm, dem OB 1, gibt es noch eine Reihe weiterer OBs, die z.b. für den Neustart zuständig sind oder für die Reaktion auf Prozessalarme. Um ein lauffähiges Programm zu erstellen, muss ein OB 1 vorhanden sein. In diesem Beispiel findet weiterhin der OB100 Verwendung, der bei einem Neustart der CPU einmalig durchlaufen wird und somit den Wiederanlauf regelt. 3.2.3 Funktion (FC) und Funktionsbaustein (FB) Eine Funktion (FC) ist ein Codebaustein ohne Gedächtnis, dem jedoch auch Parameter übergeben werden können. Dieser Bausteintyp eignet sich besonders für die Programmierung häufig wiederkehrender Teilprozesse. Daten der Funktion und lokale Variablen gehen nach Beendigung des Bausteindurchlaufs verloren. Ein Funktionsbaustein ist ein Baustein mit Gedächtnis. Er verfügt über einen zugeordneten Datenbaustein als Speicher (Instanz-Datenbaustein). Die Parameter, die an den FB übergeben werden, sind im Instanz-DB gespeichert und bleiben auch nach Beendigung der Bausteinbearbeitung erhalten. Dieser Bausteintyp eignet sich besonders für die Programmierung komplexer wiederkehrender Teilprozesse. 3.2.4 Datenbaustein (DB) Bei Datenbausteinen unterscheidet man grundsätzlich zwei verschiedene Typen: Instanz-Datenbaustein und Globale Datenbausteine.

14 Instanzdatenbausteine sind Speicherstrukturen, die z.b. einem Funktionsbaustein zugeordnet sind. Die Bits dieser Datenstruktur werden von dem FB aus beschrieben und können auch nur aus diesem Baustein heraus gelesen werden. Anders ist dies bei globalen Datenbausteinen. Diese sind frei definierbare Datenstrukturen, in denen global einzelne Bits, Wörter oder größere Strukturen verändert oder gelesen werden können. In dem folgenden Beispielprojekt übernimmt der DB1 alle Daten, die zur Kommunikation zwischen der Positionierbaugruppe und dem Anwenderprogramm nötig sind. Fahrbefehle können vom Anwenderprogramm gesetzt werden und ebenso die Rückmeldesignale von der Baugruppe gelesen werden. Ein Signal, welches nur ein Bit des DBs belegt wird z.b durch DB1.DBX 29.1 angesprochen. Es ist das Bit mit der absoluten Adresse 29.1 des Datenbausteins Nummer 1. Belegt ein Signal ein ganzes Byte, so kann es über DB1.DBB 30 erreicht werden. 3.2.5 Bausteine im Projekt anlegen Bausteine, die noch nicht durch den Projektassistenten erzeugt bzw. angelegt worden sind, müssen vom Anwender manuell hinzugefügt werden. Dies ist möglich unter dem Objekt Bausteine der Projektstruktur. Durch Anwahl von diesem Objekt werden alle bisher im Projekt eingebundenen Bausteine angezeigt. Mit Klick auf die rechte Maustaste und anschließender Anwahl von Objekt hinzufügen wird eine Auswahl der oben aufgeführten Bausteine angeboten. Nach Klick auf einen Bausteintyp können der Bausteinname, der symbolische Name sowie die Erstellersprache gewählt werden. 3.3 Sprachen AWL, FUP, KOP und GRAPH 3.3.1 Logische Verknüpfungen Bei der Programmierung einer SPS sind meist mehrere Programmierarten bzw. Sprachen verwendbar. Zu den gängigen Programmierarten zählen die Anweisungsliste (AWL), der Funktionsplan (FUP), der Kontaktplan (KOP) und die Erstellersprache GRAPH. Die Anweisungsliste ist mit der Assemblerprogrammierung vergleichbar, wobei AWL nur über einen wesentlich kleineren Befehlsvorrat verfügt. Auf Befehle bzw. Operationen folgen Operanden. Dadurch kann eine Steuerungsaufgabe in AWL speicherplatz- und laufzeitoptimal programmiert werden. Nachfolgend ist ein Netzwerk in AWL abgebildet, welches die wichtigsten Verknüpfungsbefehle U für die Konjunktion UND, O für die Disjunktion ODER, sowie eine Zuweisung repräsentiert durch den Zuweisungsoperator = enthält. Durch Klammerung werden auch geschachtelte Strukturen möglich. Mit der ersten Programmzeile wird in einem Speicherbereich ein Verknüpfungsergebnis (VKE erzeugt, welches als Zustandsspeicher für das jeweilige Netzwerk dient. Der Zuweisungsoperator weist im Beispiel dem Ausgang mit Namen Tür_auf nur dann eine logische Eins zu, wenn das VKE zuvor auch den Wert Eins besitzt. Dies ist nur der Fall, wenn die Eingänge NOT_AUS und Pos_reached und die Merker M10.0 oder M10.1 und Kontr_1 auf logisch Eins stehen, wobei der Eingang Kontr_2 den Wert Null besitzten muss. Unter dem Kapitel Bausteine in FUP pogrammieren ist das gleiche Netzwerk in der Sprache FUP dargestellt. U "NOT_AUS" U "Pos_reached" U( O[ O M 10.0 O M 10.1 O( U "Kontr_1" UN "Kontr_2"

15 ) ) = "Tür_auf" Der Kontaktplan orientiert sich an der Stromlaufplandarstellung aus der Schütztechnik. Über Schaltsymbole, wie Öffner- und Schließerkontakte, sowie Schützspulen, etc., wird eine Funktion programmiert. Dies ermöglicht eine einfache Verfolgung des Signalflusses und gewährleistet eine gute Lesbarkeit des Programms. Der Funktionsplan ist ebenso wie der Kontaktplan eine graphische Programmiersprache. Die Anweisungen werden als logische Elemente (Box), die aus der Boolschen Algebra entnommen sind, dargestellt. Analog zu Schaltplänen in der Digitaltechnik ist auch hier eine einfache Verfolgung des Signalflusses möglich. Zwischen den einzelnen Programmiersprachen kann jederzeit umgeschaltet werden. Der Quellcode wird dann in der jeweiligen anderen Sprache angezeigt, vorausgesetzt die Syntax wurde genau eingehalten. Ein Umschalten von FUP oder KOP zu AWL ist immer problemlos möglich, in anderer Richtung aufgrund der etwas umfangreichen Syntax jedoch häufig schwieriger. Wenn ein Netzwerk nicht umgewandelt werden kann, wird es in seiner ursprünglichen Erstellersprache weitergeführt. Die übrigen Netzwerke können dann in beliebiger Sprache programmiert werden. Bestimmte Befehle lassen sich nicht in FUP oder KOP programmieren, bzw. würden einen wesentlichen Mehraufwand erfordern. Daher sind umfangreiche Strukturen, wie beispielsweise die Kommunikationsbausteine für die FM 354 in AWL geschrieben, da diese Sprache sich hierfür besser eignet. 3.3.2 Bausteine in FUP programmieren In die FUP-Programmierumgebung gelangt man direkt durch Doppelklick auf den zu programmierenden Baustein, wenn bei diesem als Erstellersprache FUP gewählt wurde. Das Fenster enthält neben den Symbolleisten eine Variablendeklarationstabelle, sowie das Fenster für den Anweisungsteil mit dem ersten Netzwerk. Die Variablendeklaration wird benötigt, wenn aus dem aufrufendem Programm Werte übergeben oder an dieses zurückgegeben werden sollen. Die hier vergebenen Variablen sind nur lokal für diesen Baustein verarbeitbar. Die logischen Verknüpfungselemente werden Boxen genannt und sind über folgende Möglichkeiten einzufügen und zu erweitern: UND-Boxen, ODER-Boxen, Ausgangs-Boxen, einen Eingang hinzufügen und einen Eingang negieren können über die Funktionstasten F2, F3, F7, F8 und F9 eingefügt werden oder durch Klick auf die entsprechenden Elemente in den Funktionsleisten. Programmelemente können auch durch drag and drop aus dem Programmelementekatalog entnommen werden. Der Katalog kann durch Strg + K oder über das Menü Ansicht geöffnet werden. Mit Klick auf die rechte Maustaste lassen sich die Eingänge und Ausgänge über die symbolische Programmierung beschalten, zu wählen ist hierfür der Punkt Symbol einfügen. Ein neues Netzwerk wird über Klick auf das Symbol in der oberen Funktionsleiste erzeugt.

16 "Kontr_1" "Kontr_2" & M10.1 >=1 M 10.0 "Pos_reached" "NOT_AUS" & "Tür_auf" = Für ein FUP-Netzwerk bestehen verschiedene Regeln, die unbedingt beachtet werden müssen, damit der Quellcode kompiliert werden kann. Allgemein, und nicht nur für FUP-Netzwerke gilt, dass es aus mehreren Elementen und mehreren Zweigen bestehen kann. Alle Elemente eines solchen Netzwerkes müssen untereinander verbunden sein. Weiterhin gilt: Jedes FUP-Netzwerk muss einen Abschluss in Form einer Zuweisung oder einer Box haben. Folgende FUP-Elemente dürfen nicht als Abschluss eines Netzwerkes verwendet werden: Vergleicherboxen (-=-), Konnektoren (-#-) und positive (-P-) oder negative (-N-) Flankenauswertung. An Boxen mit binären Verknüpfungen können Standart-Boxen (Flipflops, Zähler, Rechenoperationen usw.) angehängt werden. In einem Netzwerk dürfen keine voneinander getrennten Verknüpfungen mit separaten Ausgängen programmiert werden. Die programmierten Bausteine werden aus anderen Programmen aufgerufen, dies kann das Hauptprogramm (OB 1) sein aber auch andere Funktionsbausteine bzw. Funktionen. Dem aufgerufenem Baustein können Variablen übergeben werden, bzw. dieser liefert Werte an das aufrufende Programm zurück. Zu beachten ist unbedingt das Zahlenformat der zu übergebenden Werte, welches meist hexadezimal auszuführen ist. Gekennzeichnet wird dies durch das Format B#16#Wert, welches als Zahlenformat einzugeben ist. Der Bausteinaufruf stellt sich als Box mit dem Namen des entsprechenden FBs bzw. der FC dar. Wenn keine Werte übergeben werden sollen, verfügt die Box allein über einen enable (EN) Eingang, der bei Beschaltung nur dann den Aufruf durchführt, wenn eine logische 1 anliegt. Bei Nichtbeschaltung wird der Baustein immer aufgerufen. 3.4 Prinzip der Ablaufkette Viele Problemstellungen in der Steuerungstechnik lassen sich in einer übersichtlichen Darstellungsweise gliedern, indem der Prozess in einzelne Teilabschnitte unterteilt wird. Jeder Abschnitt, Schritt genannt, ist mit festgelegten Befehlen (Aktionen) belegt. Eine Folge von Schritten nennt man Ablaufkette. Die einzelnen Elemente der Kette werden, abhängig von den Bedingungen zum Weiterschalten (Transitionen), in einer festgelegten Reihenfolge aktiviert. Die Bearbeitung einer Ablaufkette beginnt immer mit einem Initialschritt, der an beliebiger Stelle der Schrittkette stehen kann. Solange die Aktionen eines Schrittes ausgeführt werden, ist er aktiv. Bei paralleler Ausführung von mehreren Schritten gleichzeitig sind alle diese Schritte aktiv. Ein Schritt wird nur verlassen, wenn übergeordnete Steuerungselemente des Programmaufrufs dies verlangen, oder wenn die Transition zum nachfolgenden Element der Kette erfüllt ist. Am Ende der Ablaufkette steht ein Kettenende oder ein Sprung zu einer beliebigen Stelle dieser Kette, wodurch ein zyklischer Betrieb der Ablaufkette möglich ist.

17 3.4.1 Ein Prozessablauf als Zustandsgraph Ein Zustandsgraph ist die bildliche Darstellung einer Ablaufsteuerung. Innerhalb des Zustandsgraphen wird ein Schritt mit einem rechteckigen Zustandssymbol gekennzeichnet, in welchem die Zustands- bzw. Schrittnummer eingetragen wird. Die einzelnen Zustände werden über Wirkungslinien verbunden, welche durch die Transitionen unterbrochen sind. Die Transitionen stellen die Bedingung dar, unter der der nächste Zustand aktiv werden kann. Auch die Transitionen werden der Übersicht halber nummeriert, wobei die Vergabe der Nummer dem Programmierer überlassen bleibt. Der Schritt, der bei Aufruf der Kette als erstes aktiviert werden soll, heißt Initialschritt. Dieser Schritt kann an beliebiger Stelle der Schrittkette stehen und ist über das Rechte Maustasten-Menü bestimmbar. Voreingestellt ist der Schritt 1 als Initialschritt. Neben der rein linearen Wirkungslinie können auch Alternativ-Verzweigungen eingebaut werden. Die Verzweigung verfügt ebenfalls über eine Transition, unter der sie aktiv werden kann. Am Ende der Alternativ-Verzweigung steht entweder ein Sprung zu einem beliebigen Zustand des Zustandsgraphen oder eine Wirkungslinie, die auf die lineare Graphstruktur zurückführt. Sprünge werden durch Kreissymbole oder durch Pfeile gekennzeichnet, wobei die Schrittnummer des Sprungziels in den Kreis bzw. neben der Pfeilspitze eingetragen wird. Die Zielstelle des Sprungs wird durch einen Pfeil gekennzeichnet, an dem die Sprungtransition mit der entsprechenden Nummer aufgeführt ist. Rechts neben dem Zustandssymbol wird eine Tabelle angelegt, in die der der Schrittname, dies kann eine Kurzbeschreibung der Funktion sein, und die auszuführenden Befehle stehen. Die folgende Tabelle beinhaltet die wichtigsten Operanden (Befehlskennzeichen), die unter GRAPH verwendet werden können. Befehlkennzeichen N S R D Call Erläuterung nicht gespeichert setzen (wird nach Schrittdeaktivierung zurückgesetzt) gespeichert setzen (bleibt nach Schrittdeaktivierung gesetzt) vorrangiges Rücksetzen Zeitverzögertes, nichtgespeichertes setzen Bausteinaufruf

Abbildung 3.1: Direkte Fahrt von 2. OG in EG 18

19 Abbildung 3.1 zeigt einen Ausschnitt der späteren Ablaufsteuerung des Versuchaufbaus. Der Fahrstuhl befindet sich zu Beginn mit geöffneter Tür im 2. Stock. In Step 1 wird zunächst eine Zeitverzögerung von 10 Sekunden festgelegt und die entsprechenden Merker für den Betriebszustand der Fahrkorbtür, des Ruftasters im 2. OG und des Tasters im Fahrkorb für das 2 OG gesetzt. Für die Implementierung der Zeitverzögerungen stehen die Merker M30.6 und M30.7 zur Verfügung. Die Transition T1 dient als Übergangsbedingung zum nächsten Step und überprüft ob die Zeitverzögerung abgelaufen ist und über den Zustand des Merkers M11.0 ob das 1.OG oder das EG angewählt wurden. In Step 2 wird die Fahrkorbtür über den Funktionsaufruf Tür_schließen geschlossen. Ein Funktionsaufruf über die Adresse FC42 ist ebenfalls möglich. Im Folgenden wird der Fall einer direkten Fahrt vom 2. OG in das EG betrachtet. Über die Transition T10 wird zunächst sichergestellt, dass die Fahrtfreigabe gegeben ist und alle Türen geschlossen sind(m30.5 und M0.1). Die Merker M10.2 und M10.5 werden negiert eingebunden, da sie nicht gedrückt werden dürfen falls der Fahrstuhl im 1. OG nicht halten soll. Da alle Bedingungen erfüllt seien müssen, werden sie über eine Und-Box verknüpft und mit einer Oder-Box erweitert, in welcher wiederum die Bedingungen für die Anwahl des EG oder den Ruf aus dem EG definiert werden. Im Falle der Erfüllung aller Bedingungen kann der Fahrstuhl nun durch Aufruf der Funktion Schritt_runter losfahren. Die Schrittnummer entspricht einem definiertem Schrittmaß der Schrittmaßtabelle. Schrittzahl [hex] Schrittzahl [dez] Schrittweite [mm] 14 20 400 15 21 600 16 22 1000 Nachdem der Fahrstuhl seine Position erreicht hat, werden die Rückmeldesignale nach Kapitel 5.4 gegeben. Dabei ist zu beachten, dass das Rückmeldesignal Checkback_Signals_Working negiert eingebunden wird, da die Bearbeitung des letzten Befehls abgeschlossen sein muss. Wenn wiederum die Zeitverzögerung von 2 Sekunden abgelaufen ist, wird der Fahrstuhl freigegeben. Der Abschnitt der Ablaufsteuerung endet mit einem Sprung (Kapitel 3.4). 3.5 Programmierung mit GRAPH 7 Im Simatik Manager muss ein Funktionsbaustein mit der Erstellersprache GRAPH angelegt werden. Durch Doppelklick auf den Baustein öffnet sich automatisch die S7 GRAPH Programmierumgebung. Hier ist es möglich, einen Automatisierungsprozess nach der oben aufgeführten Ablaufkettenstruktur zu programmieren. Nach dem Starten des Editors fügt das System bereits den ersten Schritt (Initialschritt) und die erste Transition ein. Die Ablaufstruktur kann sowohl in der Einblatt-Darstellung als auch in der Darstellungsart Übersicht erzeugt werden. Mit Hilfe der Maus und der Funktionsleiste Schrittkette am linken Bildschirmrand werden alle weiteren Schritte und Transitionen, die Alternativverzweigung und der Sprung vom Ende einer Kette eingefügt. Durch Markieren der jeweiligen Position in der Kette und Klick auf ein Symbol, z.b. Schritt und Transition einfügen wird die Kette erweitert. Die Nummerierung der Schritte und Transitionen erfolgt automatisch, kann jedoch nach belieben verändert werden. Die Transitionen können mit den bekannten FUP-Elementen beschaltet werden, die in der Funktionsleiste als Symbole vorhanden sind. Ebenso wie bei der Bausteinprogrammierung im Simatik Manager können hier auch die symbolischen Adressen aus der Symboltabelle durch Klick auf die rechte Maustaste und Symbol einfügen verwendet werden. Die Programmierung von Schrittaktionen sieht genauso aus wie oben beschrieben, auch mit symbolischer Adressierung. Nach Fertigstellen der Kette wird diese gespeichert und das System fragt nach dem zugeordneten Instanz-Datenbaustein. Hier muss der DB 2 angegeben werden, der der Schrittkette nun zugeordnet ist. Um eine Ablaufkette in das Hauptprogramm, den OB1 einzubinden, kann der Baustein im Programmeditor des OB1 durch drag and drop aus dem Programmelementekatalog in ein Netzwerk eingefügt werden. Der Bausteinaufruf erfolgt durch eine vom Programm automatisch

generierte Box, die über mehrere Ein- und Ausgänge verfügt. Mit der Beschaltung bestimmter Eingänge (Bausteinparameter) lässt sich das Ablaufverhalten der Schrittkette beeinflussen. Der Eingang EN (enable) bewirkt bei Beschaltung nur dann den Aufruf der Kette, wenn eine logische 1 anliegt; bei Nichtbeschaltung ist er immer auf logisch 1 gesetzt. Der Parameter INIT_SQ bewirkt bei einer logischen 1 das Rücksetzten der Ablaufkette und das Aktivieren des Initialschritts. Über OFF_SQ werden alle Schritte deaktiviert und die Schrittkette ausgeschaltet (z.b. für NOT-AUS Funktion). Alle anderen Bausteinparameter werden für dieses Beispiel nicht benötigt. 20

21 4 Projektierungsbeispiel Abbildung 4.1: Versuchsafbau 4.1 Problemstellung Als Projektierungsbeispiel ist bei diesem Versuch eine Aufzugsteuerung für 3 Etagen zu entwerfen. Der Versuchsaufbau beinhaltet eine komplette und funktionsfähige Aufzuganlage mit drei Stockwerken, den dazugehörigen Türen, Fahrkorb und Bedientastern mit Rückmeldeleuchten. Die zu verschaltenden Elemente und ihre Funktion sind im folgenden aufgeführt: Ruftaster auf den Stockwerken, jeweils mit eigener Kontrollleuchte zur Signalisierung der Betätigung. Das mittlere Stockwerk verfügt über zwei Taster, die die Möglichkeit einer Vorzugsrichtung für Fahrt nach unten bzw. oben geben. Will eine Person von Stockwerk 2 ins Erdgeschoss, fahrt der Aufzug aber momentan vom EG in das Stockwerk 2, so soll er nicht auf Stockwerk 1 halten. Gleiches gilt natürlich auch für die Fahrt von Stockwerk 2 ins EG. 3 Taster im Fahrkorb für jede Etage, die die Anwahl der Stockwerke ermöglichen, ebenfalls mit Rückmeldeleuchten.

22 2 Motorkontakte für die Funktion Tür des Fahrkorbs öffnen und schließen. 4 Türkontaktschalter, 3 für die Etagentüren und einer für die Fahrkorbtür, die geschlossene Türen durch logisch 1 signalisieren. Eine Lichtschranke im Fahrkorb, die ein Schließen der Türen bei Unterbrechung,verhindert. Die aufgeführten Funktionen sind mit der vorhandenen S7-300 SPS und einer über einen Frequenzumrichter angegesteuerte Linearachse zu realisieren. Die Achse dient als Antrieb für den Fahrkorb. Da die gesamte Projektentwicklung zu zeitaufwendig wäre, werden bestimmte Programmteile vorgegeben, so dass als Arbeitsaufgabe die Entwicklung und Programmierung der Ablaufkette für die Aufzugssteuerung im Vordergrund steht. 4.2 Aufgabenteil 4.2.1 Vorbereitung 1. Verdeutlichen sie die Betriebsabläufe des Aufzugs anhand eines Strukturbaums wie in dem unten aufgeführten Beispiel. Beachten sie dabei: Unter welchen Bedingungen der Fahrkorb in einem Stockwerk halten soll oder dieses ohne zu Halten passieren soll. Wann ein Sprung nach Kapitel 3.4 sinnvoll verwendet werden kann. 2. Erweitern Sie nach obigen Vorgaben die Ablaufsteuerung für eine Fahrt vom 2. OG in das 1. OG und anschließend wieder in das 2. OG. Orientieren sie sich hierbei an dem in Kapitel 3.4.1 vorgestellten Beispiel. Verwenden sie dafür die Symboltabelle, die Rückmeldesignale der FM und die vorgegebene Ablaufschablone aus dem Anhang. 4.2.2 Versuchsteil 1. Legen Sie mit Hilfe des Projektassistenten ein Projekt im Simatik-Manager an, welches als Baustein nur den OB 1 beinhaltet.

23 2. Konfigurieren Sie die Steuerung nach der vorhandenen Hardware und tragen Sie die benötigten Schrittmaße in die Schrittmaßtabelle der FM 354 ein. 3. Öffnen sie nun parallel zu ihrem das Projekt Aufzug aus dem Ordner Beispiele. Kopieren Sie anschließend die Symboltabelle, sowie alle vorhandenen Bausteine in ihr Projekt und schließen Sie Aufzug wieder. 4. Erzeugen Sie nun einen Funktionsbaustein mit dem symbolischen Namen Schrittkette_Aufzug und öffnen Sie diesen anschließend. 5. Programmieren Sie die vorbereitete Schrittkette und speichern Sie das Programm. 6. Programmieren Sie nun den Bausteinaufruf Schrittkette_Aufzug im OB 1 und beschalten Sie die oben genannten Eingänge sinnvoll. 7. Führen Sie ein Urlöschen der CPU durch und laden Sie anschließend ihr Projekt in die SPS. 8. Testen und Optimieren Sie das Projekt bis zur Erfüllung der obigen Anforderungen.

24 5 Anhang 5.1 Symboltabelle Symbol Adresse Datentyp Kommentar K_Ruf_Stw_2 A 4.1 BOOL Kontrollleuchte Taster Stockwerk 2 K_Ruf_Stw_1_h A 4.2 BOOL Kontrollleuchte Taster Stockwerk 1 hoch K_Ruf_Stw_1_r A 4.3 BOOL Kontrollleuchte Taster Stockwerk 1 runter K_Ruf_Stw_EG A 4.4 BOOL Kontrollleuchte Taster Erdgeschoss K_Anw_Stw_2 A 4.5 BOOL Kontrollleuchte Fahrkorb Taster Stockwerk 2 K_Anw_Stw_1 A 4.6 BOOL Kontrollleuchte Fahrkorb Taster Stockwerk 1 K_Anw_Stw_EG A 4.7 BOOL Kontrollleuchte Fahrkorb Taster Erdgeschoss Tür_Fahrk_schl A 5.0 BOOL Tür Fahrkorb schließen Tür_Fahrk_öffn A 5.1 BOOL Tür Fahrkorb öffnen DB_FM DB 1 UDT1 Datenbaustein für FM 354 AblaufDB DB 2 FB 1 Anwenderdatenbaustein Achse Y NOT_AUS E 0.0 BOOL Ruf_Stw_2 E 0.1 BOOL Taster Stockwerk 2 Ruf_Stw_1_h E 0.2 BOOL Taster Stockwerk 1 hoch Ruf_Stw_1_r E 0.3 BOOL Taster Stockwerk 1 runter Ruf_Stw_EG E 0.4 BOOL Taster Erdgeschoss Anw_Stw_2 E 0.5 BOOL Taster Fahrkorb Stockwerk 2 Anw_Stw_1 E 0.6 BOOL Taster Fahrkorb Stockwerk 1 Anw_Stw_EG E 0.7 BOOL Taster Fahrkorb Erdgeschoss Tür_EG_zu E 1.0 BOOL Türkontakt Erdgeschoss Tür_1_zu E 1.1 BOOL Türkontakt Stockwerk 1 Tür_2_zu E 1.2 BOOL Türkontakt Stockwerk 2 Tür_Fahrk_zu E 1.3 BOOL Türkontakt Fahrkorb Lichtschr_Fahrk E 1.4 BOOL Lichtschranke Fahrkorb Ablaufkette FB 1 FB 1 Funktionsbaustein Aufzugssteuerung Eingangsmerker FC 40 FC 40 Funktion Taster setzten Merker Tür_schließen FC 42 FC 42 Funktion für Fahrkorbtür schließen Schritt_runter FC 50 FC 50 Fahrkorb abwärts mit bestimmter Schrittmaßnummer Schritt_hoch FC 51 FC 51 Fahrkorb aufwärts mit bestimmter Schrittmaßnummer M_Türen_zu M 0.1 BOOL M_Ruf_Stw_2 M 10.0 BOOL M_Ruf_Stw_1_h M 10.1 BOOL M_Ruf_Stw_1_r M 10.2 BOOL M_Ruf_Stw_EG M 10.3 BOOL M_Anw_Stw_2 M 10.4 BOOL M_Anw_Stw_1 M 10.5 BOOL M_Anw_Stw_EG M 10.6 BOOL M_Stw_1_EG M 11.0 BOOL Anwahl von Stockwerk 1 oder EG M_Stw_2_1 M 11.1 BOOL Anwahl von Stockwerk 2 oder Stockwerk 1 Fahrtfreigabe_Tuer_zu M 30.5 BOOL Gesetzt, wenn FC 42 abgearbeitet ist Cycle Execution OB 1 OB 1 Hauptprogramm Complete Restart OB 100 OB 100 Anlaufbaustein Fahrt_Freigabe T 11 TIMER

25 5.2 Funktion: Eingangsmerker FC 40: Eingangsmerker Netzwerk 1:Alle Türen geschlossen U NOT_AUS U Tür_EG_zu U Tür_1_zu U Tür_2_zu U Tür_Fahrk_zu = M_Türen_zu Netzwerk 2: Taster Stockwerk 2 U Ruf_Stw_2 S M_Ruf_Stw_2 Netzwerk 3: Kontrollleuchte Taster Stockwerk 2 U M_Ruf_Stw_2 = K_Ruf_Stw_2 Netzwerk 4: Taster Stockwerk 1 Fahrtrichtung hoch U Ruf_Stw_1_h S M_Ruf_Stw_1_h Netzwerk 5: Kontrollleuchte Taster Stockwerk 1 Fahrtrichtung hoch U M_Ruf_Stw_1_h = K_Ruf_Stw_1_h Netzwerk 6: Taster Stockwerk 1 Fahrtrichtung runter U Ruf_Stw_1_r S M_Ruf_Stw_1_r Netzwerk 7: Kontrollleuchte Taster Stockwerk 1 Fahrtrichtung runter U M_Ruf_Stw_1_r = K_Ruf_Stw_1_r Netzwerk 8: Taster Erdgeschoss U Ruf_Stw_EG S M_Ruf_Stw_EG Netzwerk 9: Kontrollleuchte Taster Erdgeschoss U M_Ruf_Stw_EG = K_Ruf_Stw_EG Netzwerk 10: Taster Fahrkorb Anwahl Stockwerk 2 U Anw_Stw_2 S M_Anw_Stw_2 Netzwerk 11: Kontollleuchte Taster Fahrkorb Anwahl Stockwerk 2

26 U M_Anw_Stw_2 = K_Anw_Stw_2 Netzwerk 12: Taster Fahrkorb Anwahl Stockwerk 1 U Anw_Stw_1 S M_Anw_Stw_1 Netzwerk 13: Kontollleuchte Taster Fahrkorb Anwahl Stockwerk 1 U M_Anw_Stw_1 = K_Anw_Stw_1 Netzwerk 14: Taster Fahrkorb Anwahl Erdgeschoss U Anw_Stw_EG S M_Anw_Stw_EG Netzwerk 15: Kontollleuchte Taster Fahrkorb Anwahl Erdgeschoss U M_Anw_Stw_EG = K_Anw_Stw_EG Netzwerk 16: Anwahl Stockwerk 1 oder Erdgeschoss O M_Anw_Stw_1 O M_Ruf_Stw_1_h O M_Ruf_Stw_1_r O M_Ruf_Stw_EG O M_Anw_Stw_EG = M_Stw_1_EG Netzwerk 17: Anwahl Stockwerk 1 oder Stockwerk 2 O M_Ruf_Stw_2 O M_Anw_Stw_2 O M_Anw_Stw_1 O M_Ruf_Stw_1_h O M_Ruf_Stw_1_r = M_Stw_2_1

27 5.3 Funktion: Tür schließen Baustein: FC 42 Tür Fahrkorb schließen Netzwerk: 1 "Lichtschr _Fahrkorb" "Tür_Fahrk _öffn" & "Tür_Fahrk_Schl" = Netzwerk: 2 "Lichtschr _Fahrkorb" "Tür_Fahrk _öffn" S SR T10 R Q Netzwerk: 3 Zeitverzögerung für Tür nach Lichtschrankenunterbrechung erneut schließen "Lichtschr _Fahrkorb" & T10 SV S5T#5s TW Netzwerk: 4 Zeitverzögerung für Fahrtfreigabe nach Tür Fahrkorb geschlossen "M_Türen_zu" "Tür_Fahrk_Schl" & "Fahrt_Frei gabe" S S_SEVERZ "Lichtschr _Fahrkorb" "Tür_Fahrk _öffn" >=1 S5T#5s TW R Q gabe_tür_zu" "Fahrtfrei =

28 5.4 Rückmeldesignale der FM 354 Die Daten werden von der FM 354 in den DB1 übertragen und können z.b. als Transition in der Ablaufkette genutzt werden. Da es sich hier um einzelne Bits handelt, erfolgt die Abfrage jeweils über DB1.DBX 29.1 für die Anzeige, dass die Achse im Moment verfahren wird. Ist die Position erreicht, so wird dieses Bit auf Null gesetzt und das Bit DB1.DBX 31.7 wird gesetzt. Adresse Variable Datentyp Anfanswert Kommentar 29.1 WORKING BOOL FALSE Bearbeitung lauft 31.0 SYNC BOOL FALSE Achse synchronisiert 31.7 POS_ROD BOOL FALSE Position erreicht

Abbildung 5.1: Ablaufschablone 1 29

Abbildung 5.2: Ablaufschablone 2 30