Speicherprogrammierbare Steuerungen S P S. Prof. Dr.- Ing. W. Schönberger Hochschule Landshut



Ähnliche Dokumente
Übung -- d002_ampelsteuerung

SPS-Grundkurs mit SIMATIC S7

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

SPS-Grundkurs mit SIMATIC S7

2004, Thomas Barmetler Automatisierungstechnik - Einstieg. Das EVA-Prinzip

Grundsätzlich werden folgende Darstellungsformen für die Beschreibung logischer Funktionen verwendet: Wertetabelle Signal-Zeit-Plan Stromlaufplan.

Übung -- d001_7-segmentanzeige

S7-Hantierungsbausteine für R355, R6000 und R2700

Labor Mechatronik Versuch MV-2 Prozesssteuerung mit SPS S7. Versuch MV_2 Prozesssteuerung mit SPS S7

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

Datensicherung. Beschreibung der Datensicherung

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Dokumentation zum Spielserver der Software Challenge

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Übung Basisautomatisierung

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Local Control Network

1. Allgemeines. Mit der Vertragsverwaltung können u.a.

Verknüpfungssteuerungen mit Zeitverhalten. Verknüpfungssteuerungen mit Zeitverhalten

Dokumentation IBIS Monitor

Handbuch B4000+ Preset Manager

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Zahlensysteme: Oktal- und Hexadezimalsystem

U. Ohm, BBS 4, Hannover

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Bedienungsanleitung Version 1.0

Daten verarbeiten. Binärzahlen

Hilfe zur Dokumentenverwaltung

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Wie wird ein Jahreswechsel (vorläufig und endgültig) ausgeführt?

ENTWURF, TEST und BETRIEB. einer STEUERUNG für eine. Tablettenabfüllanlage. HSH FACHGEBIET AUTOMATISIERUNGSTECHNIK Fak. II Labor Steuerungstechnik

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

DOKUMENTATION VOGELZUCHT 2015 PLUS

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Herzlich Willkommen Bienvenue Welcome. Beispiele zur Mathematik-/Logikfunktion. Manfred Schleicher

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

a) 256 Informationen O b) 255 Informationen O c) 128 Informationen O d) 512 Informationen O e) 244 Informationen O

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Tutorial: Wie kann ich Dokumente verwalten?

Technische Fachhochschule Berlin Fachbereich VIII

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

EasyWk DAS Schwimmwettkampfprogramm

Eltako FVS. Verwendung von Systemfunktionen. Grenzenlose Flexibilität und Komfort in der Gebäudeinstallation

GeoPilot (Android) die App

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

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

Programmierung Weichenmodul S/D Tafel 1

Kostenstellen verwalten. Tipps & Tricks

Benutzeranleitung Superadmin Tool

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

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

2. Negative Dualzahlen darstellen

FlowFact Alle Versionen

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Sucosoft S40 KOP/FBS KOP FBS

Binärdarstellung von Fliesskommazahlen

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

Buddy - Algorithmus Handbuch für Endnutzer Stand

2-fach Binäreingang, UP Typ: 6963 U

Persönliches Adressbuch

Leitfaden zur Installation von Bitbyters.WinShutdown

FLASH USB Einführung DEUTSCH

Die Dateiablage Der Weg zur Dateiablage

Grundlagen der Informatik

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Schulberichtssystem. Inhaltsverzeichnis

Binär Codierte Dezimalzahlen (BCD-Code)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Local Control Network Technische Dokumentation

Arbeiten mit Standorten und Freimeldungen

Microsoft Access 2013 Navigationsformular (Musterlösung)

Facharbeit Informatik. Thema:

C 14 / C 15 Steuerungen für Industrietore

Kommunikations-Management

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Artikel Schnittstelle über CSV

Powernet EIB System. Aktor. C D Technische Daten: Versorgung extern

GRAF-SYTECO. Handbuch. Zeichensatzgenerator für AT-Geräte. Erstellt: November SYsteme TEchnischer COmmunikation

Mediumwechsel - VR-NetWorld Software

Drehzahlmessung mit der S7-200

Wiederkehrende Buchungen

GEVITAS Farben-Reaktionstest

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Bedienungsanleitung für das Tektronix Oszilloskop TDS 2002B

Abschlusstest SPS Basis Kurs

Eigenschaften von Zählerschaltungen (1) 1 1. Richtung

Folgeanleitung für Klassenlehrer

Übungscomputer mit Prozessor Bedienungsanleitung

Umstellung News-System auf cms.sn.schule.de

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Tevalo Handbuch v 1.1 vom

Zugriff auf Daten der Wago über eine Webseite

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

10.0 Quick Start mit AT89LP2052 Elliptecmotor Kit

Technische Informatik Basispraktikum Sommersemester 2001

Zunächst empfehlen wir Ihnen die bestehenden Daten Ihres Gerätes auf USB oder im internen Speicher des Gerätes zu sichern.

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

Transkript:

Speicherprogrammierbare Steuerungen S P S Prof. Dr.- Ing. W. Schönberger Hochschule Landshut Stand Oktober 2010

Inhaltsverzeichnis AUFBAU UND FUNKTIONSWEISE EINER SPS...3 ARBEITSWEISE DES STEUERWERKS...5 ZYKLUSZEIT...6 REAKTIONSZEIT...6 AKKUMULATOR (AKKU)...7 EIN-/AUSGABEBAUGRUPPEN...7 ADRESSIERUNG DER EIN-/AUSGANGSBAUGRUPPEN:...8 MERKER...9 PROGRAMMIEREN EINER SPS...10 ELEMENTE DES ANWENDERPROGRAMMS...10 CPU URLÖSCHEN...11 OPERATIONEN EINER SPS...11 DIE PROGRAMMIERARTEN AWL, FUP UND KOP...12 BINÄRE GRUNDVERKNÜPFUNGEN...13 ERSTABFRAGE UND VERKNÜPFUNGSERGEBNIS (VKE)...15 SPEICHERNDE FUNKTIONEN...24 FLANKENAUSWERTUNG...26 STARTEN EINER ZEIT ALS IMPULS - SI...33 STARTEN EINER ZEIT ALS VERLÄNGERTER IMPULS - SV...34 STARTEN EINER EINSCHALTVERZÖGERUNG - SE...34 STARTEN EINER SPEICHERNDEN EINSCHALTVERZÖGERUNG - SS...35 STARTEN EINER AUSSCHALTVERZÖGERUNG - SA...35 ZÄHLFUNKTIONEN...41 LADE-, TRANSFER- UND AKKUMULATORFUNKTIONEN...45 - AKKUMULATORFUNKTIONEN...48 - VERGLEICHSOPERATIONEN...48 - ARITHMETISCHE OPERATIONEN...49 - UMWANDLUNGSFUNKTIONEN...49 - ELEMENTARE DATENTYPEN...53 2

Aufbau und Funktionsweise einer SPS Man unterscheidet zwischen verbindungsprogrammierten und speicherprogrammierten Steuerungen. Als verbindungsprogrammiert bezeichnet man jene Steuerungen, deren Funktion durch Verdrahtung festgelegt ist. Die wichtigsten Vertreter sind Schützsteuerungen (Öffner, Schließer, Zeitrelais) pneumatische/hydraulische Steuerungen festverdrahtete digitale Logikschaltungen. Bei speicherprogrammierbaren Steuerungen wird die Steuerungsaufgabe durch ein Programm beschrieben, das in einem elektronischen Speicher hinterlegt ist. Man spricht bei Verwendung eines RAM-Speichers von einer freiprogrammierbaren Steuerung, bei Verwendung eines PROM-Speichers von einer austauschprogrammierbaren Steuerung. Verbindungsprogrammiert Steuerung ist durch die Art der Funktionsglieder und deren Verbindung festgelegt Speicherprogrammiert Steuerung ist als Software in einem Programmspeicher hinterlegt Bedingt änderbar: Festprogrammiert Programmänderung nicht vorgesehen: Leiterplatten, Löt- und Schraubverbindungen Kreuzschienenverteiler, Umstecken von Brücken Tausch von Baugruppen Mit veränderbarem Speicher Auf Festplatte EPROM EEPROM Mit unveränderbarem Speicher PROM (Anwender) ROM (Hersteller) 3

Speicherprogrammiert Programm Programmiergerät Programmspeicher Steuerwerk Eingänge Ausgänge Warum verwendet man speicherprogrammierbare Steuerungen? (Automatisierungsgeräte). Der Aufbau und die Verdrahtung bei einem Automatisierungsgerät (AG) sind unabhängig von der zu lösenden Steuerungsaufgabe, daher können Standard-AGs verwendet werden. Das AG ist funktionsneutral, denn der gewünschte Steuerungsablauf wird erst durch das Programm bestimmt. Der gleiche Steuerungstyp kann für unterschiedliche Steuerungsaufgaben eingesetzt werden. Eine SPS ist eine elektronische Steuerung, daher kein mechanischer Verschleiß, d.h. höhere Lebensdauer und Zuverlässigkeit. Bei steigender Verknüpfungstiefe wird das SPS-Programm länger (preiswerter Halbleiterspeicher), bei Schützsteuerungen steigt dagegen die Zahl der Schütze und Hilfsschütze (hohe Kosten!) 4

Vergleich SPS - Schützsteuerung Beurteilungskriterium SPS Schützsteuerung Funktionsträger Programm Verdrahtung Arbeitsweise Seriell Parallel Funktionseingabe Programmiergerät (PC) Schraubendreher o.ä. Funktionsänderung Leicht Umständlich Projektierungs-, Prüf- und Inbetriebnahmehilfsmittel Umfangreich Gering Fehlerdiagnose Gut möglich Weniger gut Dokumentation Automatisch über Per Hand zu erstellen Programm Platz-, Leistungsbedarf Gering Groß Geräuschentwicklung Geräuschlos Laut Zuverlässigkeit, Lebensdauer Sehr gut Begrenzt durch Verschleiß Rechnerkopplung, Sehr gut möglich Kaum möglich Visualisierung Störsicherheit Zusätzliche Maßnahmen Keine Probleme erf. Sicheres Verhalten im Fehlerfall Zusätzliche Maßnahmen Keine Probleme erf. Bei SPS-Steuerungen sind auch höherwertige Verknüpfungen möglich, z.b. Zählen, Vergleichen, Rechenoperationen, Regelungen, Programmsprünge und der Aufruf parametrierbarer Funktionsblöcke. In prozessnahen Bereich (im Feld bereich) kann die Verknüpfung der Sensoren und Aktoren seriell über einen sog. Feldbus vorgenommen werden. Typische Vertreter solcher Bussystemen sind z.b. INTERBUS, Profibus oder CAN Bus. Die Kopplung und Vernetzung mit übergeordneten Leitsteuerungen oder Leitrechnern ist leicht über lokale Netze (LAN) möglich. Weiterhin kann ein Bedien- und Beobachtungssystem zur Prozessüberwachung integriert werden. Arbeitsweise des Steuerwerks Das Anwenderprogramm wird vom Steuerwerk einer SPS seriell bearbeitet. Das besagt, dass die Steuerungsanweisungen in ihrer vorgegebenen Reihenfolge nacheinander, beginnend bei der ersten bis zur letzten Anweisung aus dem Programmspeicher ausgelesen und vom Steuerwerk ausgeführt werden. Diese Bearbeitung wird in ständig sich wiederholenden Zyklen fortgesetzt (zyklische Bearbeitung). 5

Zu Beginn eines Bearbeitungszyklus werden die Signalzustände aller im Gerät vorhandenen digitalen Eingänge abgefragt. Ihre logischen Signale ("0" oder "1") werden in einem Bereich des Arbeitsspeichers als "Prozessabbild der Eingänge" - PAE - hinterlegt. Während der folgenden Programmbearbeitung greift das Steuerwerk dann nur noch auf dieses PAE zu. Damit können sich Signalwechsel, die innerhalb des Programmzykluses auftreten, nicht störend auswirken. Außerdem benötigt ein Zugriff auf den Betriebdatenspeicher weit weniger Zeit, als der direkte Zugriff auf die Peripheriebaugruppen. Ergeben sich im Laufe der Programmbearbeitung aus der Abfrage und den logischen Verknüpfungen der Signale von Eingängen, Merkern oder Zeitgliedern neue Signalzustände für die Ausgänge, so hinterlegt das Steuerwerk diese Änderungen zunächst im "Prozessabbild der Ausgänge - PAA". Erst nach Abarbeitung der letzten Programmanweisung wird der Inhalt des PAA an die peripheren Ausgabebaugruppen übertragen. Hiermit wird erreicht, dass Ausgänge nicht "flatternd" ein- bzw. ausgeschaltet werden. Falls in einem Programmzyklus ein Ausgang an mehreren Stellen des Programms mit unterschiedlich wirkenden Signalen belegt wurde, bleibt nur der zuletzt im PAA gespeicherte Signalzustand gültig und wirkt über die Ausgabebaugruppe auf die Stelleinrichtungen. Zykluszeit Die Zykluszeit ist die Zeit, die während eines Programmzyklus vergeht. Sie setzt sich zusammen aus der Betriebssystembearbeitungszeit, der Prozessabbildtransferzeit (PAE und PAA) und der Anwenderprogrammbearbeitungszeit. Typische Bearbeitungszeiten für das Anwenderprogramm liegen bei 0,1-0,3 msec für 1.000 Anweisungen. Die Zykluszeit des jeweils vergangenen Zyklus kann in OB 1 ausgelesen werden. Dort ist auch eine Zykluszeitüberwachung (Zykluswächter) einstellbar, der bei Zeitüberschreitung (z.b. Endlosschleife im Programm) das AG in den STOP - Zustand versetzt. Reaktionszeit 6

Die Reaktionszeit ist die Zeit vom Erkennen eines Eingangssignals bis zur Änderung eines damit verknüpften Ausgangssignals. Die Reaktionszeit hängt von der Zykluszeit und der Verzögerung der Eingänge und Ausgänge ab. Akkumulator (Akku) Der Akku ist ein spezielles Register zum Laden der Voreinstellungen für Zeitgeber oder Zähler sowie zur Durchführung arithmetischer Operationen. Meist verfügt das AG über zwei bis vier Akkumulatoren zur Aufnahme von zwei Operanden für arithmetische Operationen wie Addition, Subtraktion, Multiplikation oder Vergleichsoperationen. Das Übertragen (Kopieren) eines Datensatzes aus einem externen Register in den Akku bezeichnet man mit Laden (z. B. L DW 27, L T 2 oder L EB 4). Der Datentransfer aus dem Akku in ein externes Register heißt Transferieren (z.b. T MB 3 oder T PB 1). Als kleinste Datenmenge kann ein Byte geladen bzw. transferiert werden. Ein-/Ausgabebaugruppen Ein- und Ausgangssignale einer SPS sind in der Regel binäre Signale, d.h. sie haben entweder den Signalzustand "0" oder "1" (AUS / EIN). In der Steuerungstechnik wird der binäre Zustand "0" häufig durch 0 V, der Zustand "1" durch 24 V DC oder 220 V AC dargestellt. Beispiel: 24 V Nennspannung "0" : 0... 5 V DC "1" : +13... +33 V DC; Nennwert +24 V Man fasst mehrere Binärsignale zu einem digitalen Signal zusammen. Üblich ist die Zusammenfassung von 8 bit zu einem Byte und 16 bit zu zwei Byte. Eingabebaugruppe: Die für die Steuerung notwendigen Prozessgrößen werden von Messaufnehmern (Sensoren) erfasst und den Eingangsbaugruppen der SPS zugeführt. Häufig verwendete Sensoren sind Schalter (Endschalter), induktive Näherungsschalter, Taster, Füllstands- und Temperaturwächter, Lichtschranken, Strömungswächter Alle o.a. Sensoren liefern ein binäres Ein - Aus - Signal. Bei den Eingabebaugruppen werden meist 8, 16 oder 32 Eingänge zusammengefasst. Merkmale: hoher Eingangswiderstand bzw. Potenzialtrennung über Optokoppler oder Relais Entstörung über Eingangsfilter (Zeitkonstante!) Anzeige der Eingangspegel über LED. Ausgabebaugruppe: Sie dienen zur Ausgabe binärer Signale zum Ansteuern von Stellgliedern (Aktoren). Häufig verwendet werden Relais oder Schütze zum Schalten z.b. von Motoren oder Heizeinrichtungen optische oder akustische Signalgeber 7

Ventile Leistungsthyristoren oder -transistoren. Auch bei den Ausgabebaugruppen werden meist 8, 16 oder 32 Ausgänge zusammengefasst. Merkmale: Signalverstärkung und Umsetzung auf die erforderliche Ausgangsspannung Sicherung gegen Kurzschluss; Strombegrenzung Anzeige der Ausgangspegel über LED. Adressierung der Ein-/Ausgangsbaugruppen: Jede Adresse setzt sich zusammen aus * einer Abkürzung für den Bausteintyp * einer Gruppen - oder Bytenummer, abhängig vom Steckplatz * einer Kanal- oder Bitnummer. Byte- und Bitnummer werden durch einen Punkt getrennt. Die Bitnummern laufen stets von 0 bis 7. In der Regel ist Steckplatz 1 für die Stromversorgung, Steckplatz 2 für die CPU und Steckplatz 3 für eine Anschaltungsbaugruppe reserviert, so dass die erste Ein- oder Ausgabebaugruppe auf Platz 4 steckt. Dieser Baugruppe wird dann die Defaultadresse (Bytenummer) 0 zugeordnet. Beispiel: Der Baugruppentyp - allgemein auch Operandenteil genannt - gibt an, um welche Art des Operanden es sich handelt. Neben Ein- und Ausgängen sind weitere häufig vorkommenden Operanden: M für Merker T für Zeiten (Timer) Z für Zähler D für Daten P für Peripherie B für Bausteine Adressen der Analogbaugruppen: Die Adresse eines Analogein- oder -ausgabekanals ist immer eine Wortadresse (16 Bit). Die Kanaladresse richtet sich nach der Baugruppen-Anfangsadresse. Steckt die erste Analogbaugruppe z. B. auf Steckplatz 4, dann hat sie die Default-Anfangsadresse 256. Die Anfangsadresse jeder weiteren Analogbaugruppe erhöht sich je Steckplatz um 16. Eine Analogein-/-ausgabebaugruppe hat für die Analogein- und ausgabekanäle die gleichen Anfangsadressen. 8

Beispiel: Eine Analogeinbaugruppe auf Steckplatz 4 hat auf Kanal 0 die Adresse 256 und auf Kanal 1 die Adresse 258. Die Analogausgänge haben die gleichen Anfangsadressen, also Kanal 0 Adresse 256 und Kanal 1 Adresse 258. Auf Steckplatz 5 erhöhen sich die Adressen um 16 Bit = 1 Wort, also auf 272. Merker Merker sind Speicherplätze im AG, in denen sich das Steuerwerk binäre Signalzustände "merkt" (zwischenspeichert). Sie werden wie Ausgänge behandelt, die jedoch nicht über Baugruppen nach außen geführt sind. Man unterscheidet remanente und nichtremanente Merker, sofern eine Pufferbatterie verwendet wird. Bei Spannungsausfall oder nach Abschalten des AGs bleibt der Signalzustand in den remanenten Merkern erhalten. Funktionell entspricht der Merker einem Hilfsschütz in der Relaistechnik, dessen Kontakte das Ergebnis einer Verknüpfung für mehrere Strompfade bereitstellen. Die logischen Zustände der Merker lassen sich in gleicher Weise weiterverarbeiten (abfragen, verknüpfen) wie die von Eingangs- oder Ausgangsbaugruppen. Ein besonderer Merkertyp sind die Taktmerker, die ihren Binärzustand periodisch im Puls-Pausen-Verhältnis 1:1 ändern. Welches Merkerbyte der CPU zum Taktmerkerbyte wird, bestimmen Sie bei der Parametrierung des Taktmerkers. Taktmerker werden im Anwenderprogramm verwendet, um z. B. Leuchtmelder mit Blinklicht anzusteuern oder periodisch wiederkehrende Vorgänge (etwa das Erfassen eines Istwertes) anzustoßen. Bei der SIMATIC S7 ist jedem Bit des Taktmerkerbytes gemäß nachstehender Tabelle eine Frequenz zugeordnet. 9

Programmieren einer SPS Allen folgenden Ausführungen und Programmbeispielen liegt die Programmiersprache STEP 7 für die S7-300 Serie der Siemens AG zugrunde. Teilweise sind mit freundlicher Genehmigung der Siemens AG, Bereich Automatisierungstechnik, Passagen aus den STEP 7 Handbüchern und Hardwarebeschreibungen entnommen. Elemente des Anwenderprogramms Die Programmiersoftware STEP 7 bietet die Möglichkeit, das Anwenderprogramm zu strukturieren, d. h. in einzelne, in sich geschlossene Programmabschnitte, sog. Bausteine, aufzuteilen. Daraus ergeben sich die folgenden Vorteile: umfangreiche Programme lassen sich übersichtlich in einzelne Bausteine (entspr. Unterprogrammen) untergliedern. In diese kann unbedingt oder bedingt gesprungen werden: einzelne Programmteile können standardisiert werden; die Programmorganisation wird vereinfacht; Änderungen des Programms lassen sich leichter durchführen; der Programmtest wird vereinfacht, weil er abschnittsweise erfolgen kann; die Inbetriebnahme wird erleichtert. Ein S7-Anwenderprogramm besteht aus nachfolgend aufgeführten Bausteinen, Operationen und Operanden: Die Programmabschnitte eines strukturierten Anwenderprogramms entsprechen technologisch zusammenhängenden Teilbereichen eines Gesamtprozesses. Sie werden als Bausteine eines Programms bezeichnet, die wiederum in einzelne Netzwerke untergliedert werden können. 10

Die verschiedenen Bausteine werden hierarchisch vom OB 1 ausgehend aufgerufen. Nach dem Abarbeiten eines Bausteins, d.h. nach dem Befehl BE (Baustein Ende) wird die Programmbearbeitung an der Sprungstelle des aufrufenden Bausteine fortgesetzt. Bausteine sind vergleichbar mit Unterprogrammen und werden auch z.b. mit dem Befehl CALL aufgerufen. CPU urlöschen Es ist sehr zu empfehlen, zu Beginn eines neuen Projektes die CPU des AG s in ihren Ausgangszustand zu versetzen (urlöschen). Die CPU muss urgelöscht werden bevor ein neues komplettes Anwenderprogramm in die CPU übertragen wird wenn die CPU das Urlöschen anfordert durch Blinken der STOP-Anzeige im 1-Sekunden- Abstand. Es gibt zwei Möglichkeiten, die CPU urzulöschen, per Software oder mit dem Betriebsartenschalter wie nachfolgend beschrieben: * Drehen Sie den Schlüssel in Stellung STOP * Drehen Sie den Schlüssel in Stellung MRES. * Halten Sie den Schlüssel in dieser Stellung, bis die STOP-LED zum 2. Mal aufleuchtet und leuchten bleibt (entspricht 3 Sekunden). * Innerhalb von 3 Sekunden müssen Sie den Schalter wieder in die Stellung MRES drehen und solange halten, bis die STOP-LED blinkt (mit 2 Hz). Wenn die CPU das Urlöschen beendet hat, hört die STOP-LED auf zu blinken und leuchtet. * Die CPU hat das Urlöschen durchgeführt; innerhalb von 3 Sekunden müssen Sie den Schalter in die Stellung RUN drehen. Während des Anlaufs blinkt die RUN- LED mit 2 Hz. Operationen einer SPS Der gesamte Operationsvorrat der S 7 ist im Anhang 1 alphabetisch zusammengestellt. Die unterschiedlichen Operationen können in nachfolgende Kategorien eingeteilt werden: Grundfunktionen Bitverknüpfungsoperationen (U, O...) Wertzuweisung (=) Speicherfunktionen (S, R, FP, FN) Lade- und Transferfunktionen (L.., T..) Zeitfunktionen (SI, SV...) Zählfunktionen (ZV, ZR...) 11

Digitale Funktionen Vergleichsfunktionen (>I, >=D...) Arithmetische und mathematische Funktionen (+I, COS...) Wortweise Verknüpfungen (UW, OW...) Zahlenformat Umwandlungen (ITB: Integer nach BCD...) Schiebefunktionen (SLW, SRW...) Programmablaufsteuerung Sprungfunktionen (SPA, SPB...) Bausteinaufrufe (CALL, CC...) Weitere wichtige Operationen sind die direkte und indirekte Adressierung sowie diverse Interruptbefehle. Die meisten Anweisungen bestehen aus einem Operationsteil und einem Operandenteil. Anstelle der direkten Adressierung (hier E 0.2) kann auch mit symbolischen Adressen, z.b. Einschalter adressiert werden. Dazu ist eine Symbolikdatei mit der Zuordnung der Absolutadressen zu deren symbolischen Bezeichnungen zu erstellen. Die Programmierarten AWL, FUP und KOP Die Programmdarstellung kann auf 3 verschiedene Arten erfolgen: 1. Anweisungsliste AWL: Liste der Anweisungen eines Programms in der Reihenfolge der geforderten Abarbeitung. Im Programmspeicher ist das Programm stets in AWL (im Binärcode) abgelegt. KOP und FUP werden vom Programmiergerät (PG) in AWL umgesetzt. Die AWL stellt zwar nicht die benutzerfreundlichste, aber die universellste Art der Programmierung dar. 2. Funktionsplan FUP: Der FUP ist die bildliche Darstellung der Steuerungsaufgabe mit Symbolen der Digitaltechnik (DIN 40 700 und 40 719). Eingänge werden auf der linken Seite des Funktionssymbols, Ausgänge an der rechten Seite angeordnet. 3. Kontaktplan KOP: Der KOP ist ebenso wie der FUP eine grafische Programmdarstellung und verwendet die in den USA gebräuchlichen Symbole. Er ist dem Stromlaufplan von Schützsteuerungen ähnlich, jedoch verlaufen die Strompfade auf dem Bildschirm von links nach rechts. 12

E 1.2 E 1.3 A 4.0 E 1.2 E 1.3 A 4.0 KOP E 1.2 & E 1.3 A 4.0 U E 1.2 U E 1.3 = A 4.0 AWL STR FUP Binäre Grundverknüpfungen Prinzipiell gibt es nur zwei binäre SPS Grundfunktionen: die UND (U) bzw. ODER (O) Verknüpfung. Diese fragen immer den Signalzustand logisch 1 ab, d.h. bei einem betätigten Schließkontakt ist das Verknüpfungsergebnis (VKE) logisch 1. Die dazu komplementären Funktionen sind UND NICHT (UN) bzw. ODER NICHT (ON) mit der Abfrage auf logisch 0. UND und ODER Funktionen können auch kombiniert vorkommen. Dabei ist gemäß der Booleschen Algebra definiert, dass zuerst die UND Verknüpfung bearbeitet wird und dieses VKE danach mit allen weiteren Funktionen verknüpft wird. Will man diese Abfolge ändern, müssen Klammern wie z.b. U( bzw. O( gefolgt von einer schließenden Klammer gesetzt werden. Eine weitere von den Basisfunktionen abgeleitete Verknüpfung ist die Exklusiv-ODER- Funktion (X bzw. deren Komplement XN). Die UND - Verknüpfung entspricht der Reihenschaltung von Kontakten im Stromlaufplan. Die Ausgänge A 4.0 bzw. A 4.1 haben nur dann den Signalzustand "1" (sind eingeschaltet), wenn beide Eingänge E 1.0 und E 1.1 eingeschaltet, also logisch "1" sind. Die ODER - Verknüpfung entspricht der Parallelschaltung von Kontakten. Das Verknüpfungsergebnis (VKE) ist bereits dann logisch "1", wenn mindestens ein Eingang eingeschaltet ist. Grundsätzlich kann das VKE am Ende einer Abfrageoperation mehreren Operanden (z.b. Ausgängen, Merkern etc.) zugewiesen werden. Dabei werden die beiden Zuweisungen =A4.0, =A4.1 einfach nacheinander programmiert. 13

UND vor ODER Verknüpfung: Übung 01: UND/ODER Verknüpfung Die obige UND/ODER - Verknüpfung ist als AWL und KOP zu programmieren, in das AG zu übertragen und zu testen. Verwenden Sie dabei sowohl die absolute als auch E 1.0 E 1.1 A 4.0 E 1.0 E 1.2 E 1.3 A 4.1 E 1.1 E 1.2 A 4.2 A 4.0 A 4.1 A 4.2 E 1.3 E 1.0 E 1.1 & A 4.0 A 4.1 E 1.2 E 1.3 >=1 A 4.2 die symbolische Adressierung (benennen Sie z.b. E 1.0 mit Schliesser_1- etc). 14

Erstabfrage und Verknüpfungsergebnis (VKE) Die Erstabfrage eines Einganges, Merkers oder Zeitgliedes muss aus formalen Gründen immer mitgeschrieben werden. U E 1.0 (Erstabfrage) U E 1.1 = A 4.0 Bei der Bearbeitung der Abfragen wird nach jeder Anweisung ein VKE gebildet. Sind die Abfragen erfüllt, ist das VKE "1", sind die nicht erfüllt, ist das VKE "0". Das VKE der letzten Abfrage - Operation bestimmt den Zustand der anschließend programmierten Ausgänge, Merker, Zähler oder Zeiten. Das Verknüpfungsergebnis (VKE) darf nicht verwechselt werden mit dem "Status" (STAT) einer Eingangs- oder Ausgangsgröße. Der Status z.b. eines Einganges gibt an, ob dieser logisch 1 oder logisch 0 ist. Beispiel zur UND - Verknüpfung: Steuerung einer Spritzgussmaschine Bei einer Spritzgussmaschine fährt der Stempel nur dann ab, wenn die Form geschlossen, der Formdruck aufgebaut, das Schutzgitter geschlossen und die Presstemperatur erreicht ist. Sensoren: Form geschlossen Formdruck Schutzgitter geschlossen Presstemperatur Stellglied induktiver Näherungsschalter Dehnungsmessstreifen Endschalter Thermoelement Magnetventil mit Federrückstellung 15

Zuordnungstabelle: Sensor / Aktor Symb. Name Absolut Logische Zuordnung Form FORM_ZU E 0.0 Geschlossen = 1 geschlossen Formdruck KEIN_DRUCK E 0.1 Formdruck erreicht = 0 Schutzgitter GITTER_ZU E 0.2 Schutzgitter geschlossen = 1 Preßtemperatur TEMP_NICHT_ERREICH E 0.3 Preßtemperatur erreicht = 0 T Magnetventil STEMPEL_AB A 4.0 Log. 1: Stempel fährt ab Realisierung mit SPS: (hier in AWL) U FORM_ZU UN KEIN_DRUCK U GITTER_ZU UN TEMP_NICHT_ERREICHT = STEMPEL_AB BE 16

UND - vor - ODER-Verknüpfung ODER vor UND-Verknüpfung E 1.0 E 1.3 E 1.5 E 1.0 E 1.3 E 1.5 E 1.1 E 1.4 E 1.1 E 1.4 E 1.2 E 1.2 A 4.0 A 4.0 ODER-Verknüpfungen von UND- Funktionen lassen sich in der Boolschen Algebra und in SPS-Programmen ohne Klammern schreiben. Es werden zuerst die UND-Funktionen bearbeitet, und aus deren Ergebnissen die ODER-Funktion bestimmt. Nach den Regeln der Boolschen Algebra müssen ODER-Funktionen (parallele Zweige) durch Klammern zusammengefasst werden. Damit werden die ODER-Funktionen vor den UND- Funktionen bearbeitet. Jede geöffnete Klammer im SPS-Programm muss wieder geschlossen werden. Automatisierungsgeräte können meist 6-8 Klammerebenen bearbeiten. Häufig ist es jedoch aus Gründen der Programmübersicht besser, stark verschachtelte Strukturen durch die Verwendung von Merkern in Teilverknüpfungen zu zerlegen. 17

Übung 02: Mehrfache Wertzuweisung an denselben Ausgang, Klammerebenen und Zwischenmerker Der angegebene Stromlaufplan ist a.) ohne Verwendung von Merkern und b.) mit Verwendung von Merkern in AWL zu programmieren. E 0.4 E 0.5 E 1.5 E 1.0 E 1.1 A 4.0 A 4.0 18

Übung 03: Ersetzen von Klammerebenen durch Merker a.) Schreiben Sie die AWL für folgenden FUP (E1, A sind symbolische Adressen): E2 E4 & >=1 E1 E2 E3 & & E2 E3 & >=1 & >=1 E5 & & & >=1 E1 A b.) Bilden Sie sinnvolle Zwischenergebnisse und schreiben Sie die AWL mit entsprechenden Merkern. Übung 04: Steuerung einer Stanze Der Zylinder einer Stanze soll nur unter einer der folgenden Bedingungen abgefahren werden können: 1. Zwei Handschalter müssen miteinander betätigt werden. 2. Das Schutzgitter ist geschlossen und der Fußschalter wird betätigt. 3. Das Schutzgitter ist geschlossen und einer der zwei Handschalter wird betätigt. Zusätzlich muss bei allen drei Bedingungen sichergestellt sein, daß sich Stanzgut in der Presse befindet (induktiver Geber) und dass die Anlage eingeschaltet ist. Zuordnungstabelle: Sensor / Aktor Symb. Name Absolut Logische Zuordnung Einschalter EINSCHALTER E 0.0 Eingeschaltet = 1 Handtaster 1 TASTER_1- E 0.1 Gedrückt = 1 Handtaster 2 TASTER_2- E 0.2 Gedrückt = 1 Fußschalter FUSSCHALTER E 0.3 Betätigt = 1 Schutzgitter SCHUTZGITTER E 0.4 Geschlossen = 1 Induktiver Geber STANZGUT_IN_PRESS E 0.5 Stanzgut eingelegt = 1 E Zylinder ZYLINDER_AB A 4.0 Log. 1: Zylinder fährt ab 19

Beispiel: Ansteuerung einer 7 - Segment - Anzeige Mit den Schaltern S0 - S3 werden die Zahlen 0-9 im BCD -Code in das Automatisierungsgerät eingegeben. Über die 7 Segment Anzeige sollen die entsprechenden Ziffern 0.. 9 dargestellt werden. Dazu müssen vom AG für jede Ziffer die entsprechenden Segmente angesteuert werden. Zuordnung der Segmente zu den Dezimalziffern: f a g b f a b b a g b a g b f g b f a g f a g a b f a g b f a g b e d c e d c c e d d c c d c e d c c e d c c Zur Lösung dieser Aufgabe gibt es zwei Möglichkeiten: eine triviale und eine elegante Lösung. Zuordnungstabelle mit symbolischen Adressen: Eingang: Merker: E 0.0 Bin_Wert_1 M 0.0 Zahl_0 E 0.1 Bin_Wert_2 M 0.1 Zahl_1 E 0.2 Bin_Wert_4 M 0.2 Zahl_2 E 0.3 Bin_Wert_8 M 0.3 Zahl_3 M 0.4 Zahl_4 Ausgang: M 0.5 Zahl_5 M 0.6 Zahl_6 A 2.0 Segm_a M 0.7 Zahl_7 A 2.1 Segm_b M 1.0 Zahl_8 A 2.2 Segm_c M 1.1 Zahl_9 A 2.3 Segm_d A 2.4 Segm_e A 2.5 Segm_f A 2.6 Segm_g Hier zunächst die Triviallösung mit einer Vorgehensweise in 2 Schritten: 1. Auswertung der 4 Eingänge und Erkennung der Zahlen 0-9 durch Zuordnung der Merker M 0.0 - M 1.1 2. Auswertung der Merker und Darstellung der Zahl durch die entsprechenden Segmente. Netzwerk 1 Netzwerk 2 UN Bin_Wert_8 UN Bin_Wert_8 UN Bin_Wert_4 UN Bin_Wert_4 UN Bin_Wert_2 UN Bin_Wert_2 UN Bin_Wert_1 U Bin_Wert_1 20

= Zahl_0 = Zahl_1 In gleicher Weise werden in 8 weiteren Netzwerken durch permanenetes Abfragen der Binäreingänge die Zahlen 2 9 identifiziert. Nachdem die darzustellende Zahl bekannt ist, erfolgt die Ansteuerung der 7 Segmente nach folgendem Schema: NW 11 NW 12 NW 17 O Zahl_0 O Zahl_0 O Zahl_2 O Zahl_2 O Zahl_1 O Zahl_3 O Zahl_3 O Zahl_2 O Zahl_4 O Zahl_5 O Zahl_3 O Zahl_5 O Zahl_6 O Zahl_4 O Zahl_6 O Zahl_7 O Zahl_7 O Zahl_8 O Zahl_8 O Zahl_8 O Zahl_9 O Zahl_9 O Zahl_9 = Segm_g = Segm_a = Segm_b BE Wesentlich eleganter lässt sich diese BCD 7-Segment Dekodierung durch die Anwendung der indirekten Adressierung lösen. Bei der indirekten Adressierung werden sog. Pointer (Zeiger) verwendet. Die wirklichen Adressen ergeben sich erst während der Laufzeit des Programmes (Siehe unter Abschnitt Indirekte Adressierung ). Dazu legt man zunächst in einem Datenbaustein, hier z.b. DB 10, das Schema zur Ansteuerung der sieben Segmente für die jeweiligen Zahlen an. Der Datenbaustein hat folgende Form: Binärzahl/Segmente Daten- Segmente Datenformat HEX Zahl - g f e d c b a Byte der 0 Zahl 0 Byte B#16#3F 0011 1111 1 Zahl 1 Byte B#16#06 0000 0110 2 Zahl 2 Byte B#16#5B 0101 1011 3 Zahl 3 Byte B#16#4F 0100 1111 4 Zahl 4 Byte B#16#66 0110 0110 5 Zahl 5 Byte B#16#6D 0110 1101 6 Zahl 6 Byte B#16#7D 0111 1101 7 Zahl 7 Byte B#16#07 0000 0111 8 Zahl 8 Byte B#16#7F 0111 1111 9 Zahl 9 Byte B#16#67 0110 0111 Das Programm hat dann folgende Form: AUF DB 10 Der Datenbaustein 10 wird adressiert L EB 0 Die BCD Zahl am Eingangsbyte 0 wird in den Akku geladen SLD 3 In Akku Linksverschiebung um 3 bit; Nachziehen von Nullen T MD 8 verschobenen Akkuinhalt in MD 8 transferieren L DBB [MD 8] Lade das Datenbyte aus DB 10 mit der Byteadresse des MD 8 (= eingegebene Zahl. Jetzt steht das Bitmuster für die 7 Segment Ansteuerung im Akku. T AB 2 Transfer des Bitmusters an die am AB 2 angeschlossenen Segmente 21

Die indirekte Adressierung bei der S7 erfolgt standardmäßig über den Pointer mit dem Format eines Merkerdoppelwortes, hier MD 8. Da im Datenbaustein 10 als Pointerformat eine Byteadresse vorgegeben ist, muß die Bitadresse auf Null gesetzt und das eingelesene Eingangsbyte der zu decodierenden Dualzahl auf die Byteadresse des Pointers also um SLD 3 verschoben werden. 22

Der Pointer im Doppelwortformat hat folgende Form: Bit 0 bis 2 sind die Bitadresse, Bit 3 bis 18 die Byteadresse, Bit 19 bis 31 werden nicht ausgewertet. Mit diesem Zeiger kann man indirekt auf die Operanden E, A, M, L, DBX (Adressen in Datenbausteinen) und DIX (Adressen in Instanzdatenbausteinen) zugreifen. Wenn man auf ein Byte, Wort oder Doppelwort zugreifen will, muß die Bitadresse des Pointers 0 sein (ansonsten wird ein Laufzeitfehler ausgelöst). Anmerkung: Sofern über die Systemdaten das MB 10 als Taktmerker deklariert und geladen sein sollte, überstreicht das im Programm verwendete MD 8 die Bytes 8, 9, 10 und 11. Dadurch kann der Taktmerker das MD 8 beeinflussen und zu Fehlern führen. Abhilfe: entweder die Systemdaten nicht laden oder z.b. das MD 12 verwenden. 23

Speichernde Funktionen Häufig ist bei Steuerungsaufgaben das Speichern (Festhalten) eines Zustandes nötig. Damit wird das VKE einer Operation nicht alleine von der Kombination der Eingangssignale, sondern zusätzlich noch von der Vorgeschichte der zu steuernden Anlage abhängig. Bei Schützsteuerungen werden Speicherfunktionen üblicherweise als Selbsthalteschaltung realisiert. Dabei sind zwei Varianten möglich, je nachdem, ob das Einschalten oder das Ausschalten vorrangig ist: Vorrangiges Ausschalten (Ausschaltdominanz) Vorrangiges Einschalten (Einschaltdominanz) A B Ein- bzw. Ausschaltdominanz besagt, welcher Schalter beim gemeinsamen Betätigen des Ein- und Ausschalters das Ausgangssignal bestimmt. Es ist zu beachten, dass die in Richtung AUS wirkenden Schalter auch beim Einsatz einer SPS als Öffner - Kontakte (Drahtbruchsicherheit!) ausgeführt werden müssen. 24

Beim Einsatz einer SPS werden Speicherschaltungen auf einfache Weise durch die R- S-Speicherfunktion (R-S-Flip-Flop) realisiert. A 4.4 E 1.7 E 1.6 S R Q U E 1.7 S A 4.4 U E 1.6 R A 4.4 Rücksetzdominanz A 4.6 E 1.6 E 1.7 R S Q U E 1.6 R A 4.6 U E 1.7 S A 4.6 Setzdominanz Bei Signalzustand 1 am Setzeingang wird das Speicherglied gesetzt, Signalzustand 1 am Rücksetzeingang setzt die Speicherfunktion zurück. Ein 0 - Signal am S- oder R- Eingang verändert den Ausgang des Speichergliedes nicht. Auch beim R - S - Speicherglied muss unterschieden werden zwischen Rücksetzdominanz Setzdominanz A B Der Unterschied zwischen Setz- bzw. Rücksetzdominanz macht sich nur dann im VKE bemerkbar, wenn beide Eingänge (S und R) gleichzeitig den Signalzustand "1" haben. Bedingt durch die zyklische Bearbeitung des SPS - Programms wird vom PAA immer das zuletzt berechnete VKE an die Ausgangsbaugruppen übertragen, d.h. die zuletzt programmierte Anweisung wird vorrangig (dominant) bearbeitet. 25

Beispiel für die Anwendung von Speicherfunktionen: Bandweiche Auf einem Band werden lange und kurze Werkstücke befördert, die durch eine pneumatisch betätigte Weiche selektiert werden sollen. Zur Längenerkennung laufen die Werkstücke auf dem Band an drei Sensoren (Lichtschranken oder Rollenkontakte) vorbei. Ein Mindestabstand zwischen den auf dem Band ankommenden Werkstücken sei gewährleistet. Bei langen Werkstücken werden kurzzeitig alle drei Sensoren, bei kurzen Werkstücken nur der mittlere Sensor S2 angesprochen. In Abhängigkeit von der ermittelten Werkstückgröße wird der Pneumatikzylinder (mit Federrückstellung) zur Vereinzelung angesteuert. Skizze der Bandweiche: S1 S2 S3 lange Teile Y kurze Teile Bei Ansteuerung des Ventils Y fährt der Zylinder in die Position lange Teile. Bei Nichtansteuerung fährt er wegen der Federrückstellung zurück in die Position kurze Teile. Die Sensoren S 1 bis S 3 sind Lichtschranken, die bei Betätigung 0 Signal führen. S1 S2 S3 0 0 0 & Y S S1 Im oder S2 "1" S3 0 & Flankenauswertung Gegensatz zu einem statischen Signalzustand "0" wird mit einer R Q = Y Flankenauswertung die Signaländerung, z. B. einer Einganges, erfasst und ausgewertet (Funktion des Wischkontaktes bei Relaisschaltungen). 26