15
SPS 1 TU Bergakademie Freiberg Institut für Automatisierungstechnik Praktikum Automatisierungstechnik Versuch: SPS Speicherprogrammierbare Steuerungen 1. Versuchsziel Kennenlernen des Aufbaues, der Arbeitsweise und der Einsatzgebiete von Speicherprogrammierbaren Steuerungen Einsatzvorbereitung (Konfigurierung, Parametrierung, Programmierung) anhand einer vorgegebenen Aufgabenstellung 2. Ergänzungsliteratur (1) Seitz, Matthias: Speicherprogrammierbare Steuerungen, Fachbuchverlag Leipzig (2) Wellenreuther, Günter: Automatisieren mit SPS Theorie und Praxis; Vieweg + Teubner Verlag (3) Neumann, u.a.: SPS-Standard: IEC 1131, Oldenbourg-Verlag (4) Jens von Aspern: SPS-Grundlagen, Hütig-Verlag (5) Berger, H.: Automatisieren mit STEP 7 in AWL, Publicis MCD Verlag (6) Wellenreuther, Zastrow: Steuerungstechnik mit SPS. Vieweg (7) Kaftan, Jürgen: SPS-Grundlagen mit SIMATIC S7, Vogel-Verlag 3. Grundlagen 3.1. Aufbau und Arbeitsweise einer SPS Speicherprogrammierbare Steuerungen (SPS) sind wichtige Bestandteile in der Automatisie- rungstechnik. Man findet sie z.B. in der Maschinenindustrie, Verfahrenstechnik und in der ver- netzten Antriebstechnik. Mit der Integration von Sensorik und Aktoren sowie der Feldbustech- nik (z.B. Profibus, Profinet, Ethercat, Powerlink) wird eine durchgängige Automatisierungslö- sung erreicht. Eine Speicherprogrammierbare Steuerung ist ein Mikrorechnersystem, das spezi- ell für Steuerungsaufgaben entwickelt wurde. Erst durch das Programm und die Beschaltung mit Ein- und Ausgabegeräten wird die SPS zu einer ganz spezifischen Steuerung.

TU Bergakademie Freiberg Praktikum Automatisierungstechnik ...tu-freiberg.de/sites/default/files/media/institut-fuer-automatisie... · 6 SPS wird auf einen Speicherbereich im Systemspeicher

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

SPS 1

TU Bergakademie Freiberg Institut für Automatisierungstechnik

Praktikum Automatisierungstechnik

Versuch: SPS Speicherprogrammierbare

Steuerungen

1. Versuchsziel

• Kennenlernen des Aufbaues, der Arbeitsweise und der Einsatzgebiete von

Speicherprogrammierbaren Steuerungen

• Einsatzvorbereitung (Konfigurierung, Parametrierung, Programmierung) anhand

einer vorgegebenen Aufgabenstellung

2. Ergänzungsliteratur

(1) Seitz, Matthias: Speicherprogrammierbare Steuerungen, Fachbuchverlag Leipzig

(2) Wellenreuther, Günter: Automatisieren mit SPS Theorie und Praxis; Vieweg + Teubner Verlag

(3) Neumann, u.a.: SPS-Standard: IEC 1131, Oldenbourg-Verlag

(4) Jens von Aspern: SPS-Grundlagen, Hütig-Verlag

(5) Berger, H.: Automatisieren mit STEP 7 in AWL, Publicis MCD Verlag

(6) Wellenreuther, Zastrow: Steuerungstechnik mit SPS. Vieweg

(7) Kaftan, Jürgen: SPS-Grundlagen mit SIMATIC S7, Vogel-Verlag

3. Grundlagen

3.1. Aufbau und Arbeitsweise einer SPS Speicherprogrammierbare Steuerungen (SPS) sind wichtige Bestandteile in der Automatisie-rungstechnik. Man findet sie z.B. in der Maschinenindustrie, Verfahrenstechnik und in der ver-netzten Antriebstechnik. Mit der Integration von Sensorik und Aktoren sowie der Feldbustech-nik (z.B. Profibus, Profinet, Ethercat, Powerlink) wird eine durchgängige Automatisierungslö-sung erreicht. Eine Speicherprogrammierbare Steuerung ist ein Mikrorechnersystem, das spezi-ell für Steuerungsaufgaben entwickelt wurde. Erst durch das Programm und die Beschaltung mit Ein- und Ausgabegeräten wird die SPS zu einer ganz spezifischen Steuerung.

SPS 2

Abbildung1: Hardwareaufbau einer SPS mit Stromversorgung (PS), µP, RAM, EEPROM, serieller (RS) bzw. Ethernet-

Schnittstelle (ETH) auf einer Zentralbaugruppe und binären Ein- (BE) und Ausgangskarten (BA) sowie analogen Ein-

(AE) und Ausgangskarten (AA) und Feldbusschnittstelle (FB) [1]

Das Kernstück ist die Zentralbaugruppe oder CPU (Central Processing Unit) mit einem Mikro-prozessor (µP) zum Ausführen der Steuerungsprogramme. Die aktuell im µP abgearbeiteten Programme stehen online im Arbeitsspeicher (Random Access Memory, RAM) zur Verfügung. Außerdem werden im RAM die von den Programmen benötigten Variablenwerte gespeichert. Der Speicherinhalt des RAMs geht aber bei Spannungsausfallverloren. Anstatt einer Festplatte besitzt die SPS ein EEPROM (Electrically Erasable Programmable Read Only Memory), in dem alle Anwender- und Betriebssystemprogramme wie in einem Archiv offline gespeichert werden können. Der EEPROM ist häufig als steckbare Memory-Card reali-siert. Bei Ausführung eines Programms wird es vom EEPROM in den RAM kopiert, wo die CPU schnellen Zugriff auf das Programm hat. Der Speicherinhalt des EEPROMs bleibt bei Spannungsausfall erhalten. Eine weitere Besonderheit einer SPS sind die Ein-/Ausgangskarten (SM-Baugruppen) zum Ein-lesen von Sensorinformationen und zum Ausgeben von Befehlen an die Aktoren. Dabei wird ein Sensor oder Aktor mit zwei Leitungen zum Aufbau eines Gleichstromkreises an eine binäre bzw. analoge Ein-/Ausgangskarte angeschlossen. Für die Ankopplung busfähiger Sensoren und Aktoren verfügt die SPS über Feldbusschnittstellenkarten. Der interne Daten- und Adressbus verbindet die Module der SPS und ermöglicht den Datenaus-tausch zwischen ihnen. Das Programmiergerät (PG) wird über eine serielle oder eine Ethernet-Schnittstelle an die SPS angekoppelt. Ethernet ermöglicht auch die Ankopplung an andere SPSen oder an ein Visualisierungssystem zum Bedienen und Beobachten des Prozesses. [1]

SPS 3

Die CPU

Abbildung2: Systemfunktionen eines Automatisierungsgerätes (SPS) [2]

Im Ladespeicher steht das gesamte Anwenderprogramm in Form von übersetzten Bausteinen und Konfigurationsdaten der Hardware (CPU, E/A-Baugruppen etc.). Je nach SPS-System kön-nen auch Deklarations- und Symboltabellen (Definition symbolischer Variablen) sowie Kom-mentare dort abgespeichert sein. Durch Auslesen des Ladespeichers in ein neues Projekt könnte man dann die vollständige Information zurück erhalten.

Im Arbeitsspeicher stehen nur die ablaufrelevanten Teile des Anwenderprogramms, das sind im Wesentlichen der Programmcode und die Anwenderdaten. Diese ablaufrelevanten Teile werden vom Betriebssystem der CPU aus dem Ladespeicher in den Arbeitsspeicher kopiert. Der Ar-beitsspeicher ist als schneller RAM-Speicher ausgeführt.

Der Systemspeicher enthält die Operanden, die im aktuellen Steuerungsprogramm anzusprechen sind, dazu zählen die Eingänge (E) und Ausgänge (A) der Digitalbaugruppen, die in einem so genannten Prozessabbild der Eingänge und Ausgänge zusammengefasst sind, sowie die Merker, Zeiten und Zähler. Ein Operand ist ein Teil einer Anweisung und sagt aus, womit (mit wem) der Prozessor etwas tun soll.

Steuerwerk Nach Anlegen der Netzspannung gibt das Steuerwerk einen Richtimpuls ab, der die nichtrema-nenten Zähler, Zeiten und Merker sowie den Akkumulator und das Prozessabbild der Eingänge und Ausgänge auf null setzt. Zur Programmbearbeitung "liest" das Steuerwerk eine Programm-zeile nach der anderen und führt die dort stehenden Anweisungen aus.

Merker Merker sind Speicherplätze für Zwischenergebnisse, die über Code-Bausteingrenzen hinaus Gültigkeit haben. Auf Merker kann schreibend und lesend zugegriffen werden (Bit, Byte, Wort und Doppelwort). Ein Teil der Merker sind als remanente Merker einstellbar, d.h. sie behalten ihren Signalzustand bei SpannungsausfaIl.

Prozessabbild Das Prozessabbild ist ein Speicherbereich für die SignaIzustände der binären Eingänge und Ausgänge. Auf diesen Speicherbereich greift das Steuerwerk bei der Prograrnmbearbeitung zu. Akkumulatoren (Akku) Akkumulatoren sind Zwischenspeicher, die bei Lade- und Transferoperationen eng mit der Arithmetik-Logik-Einheit ALU zusammenarbeiten.

Zeiten und Zähler Zeiten und Zähler sind ebenfalls Speicherbereiche, in denen das Steuerwerk Zahlenwerte für Zeit- und Zählfunktionen ablegt.

SPS 4

Adressregister Adressregister sind Speicherplätze zur Aufnahme einer Basisadresse bei der registerindirekten Adressierung.

Rückwandbus und Schnittstellen: Wer mit wem gekoppelt ist. Anwenderspeicher, Systemspeicher und Steuerwerk bilden zusammen den Prozessteil der Zent-ralbaugruppe CPU. Der Prozessteil übernimmt die klassischen Bearbeitungsaufgaben einer SPS wie die Bearbeitung des Anwenderprogramms, den Zugriff auf die Peripheriebaugruppen und die Überwachung/Verwaltung des gesamten Programmablaufsystems. Ein zusätzlich vorhande-ner Kommunikationsteil ist zuständig für den Betrieb der Programmierschnittstelle MPI und für den Datenverkehr mit intelligenten, kommunikationsfähigen Peripheriebaugruppen innerhalb eines Automatisierungsgerätes (SPS). Peripheriebus (P-Bus) ist Bestandteil des Rückwandbusses und übernimmt den Datenverkehr zwischen CPU und den Signalmodulen (Nutzdatenübertragung weniger Bytes). Der P-Bus ist ein Mono-Master-Bus, nur die CPU kann einen Datenverkehr initiieren. Kommunikationsbus (K-Bus) ist Bestandteil des Rückwandbusses und übernimmt den Daten-verkehr zu den kommunikationsfähigen Baugruppen FM (Funktionsmodule für schnelles Zäh-len, Regeln, Positionieren) und CP (Kommunikationsmodule für den Anschluss von Feldbussys-temen). Er ist optimiert für den Austausch größerer Datenmengen. [2]

Abbildung 3 Systemarchitektur einer S7-SPS. MPI = Multi-Point Interface, CPU = Zentralbaugruppe, SM = Signalmo-dul, FM = Funktionsmodul, CP = Kommunikationsmodul, K-Bus = Kommunikations Bus, P-Bus = Peripherie-Bus [2] Ein- und Ausgabebaugruppen Die Ein- und Ausgabebaugruppen (Prozessperipherie) verbinden die SPS mit den Sensoren und Aktoren des zu steuernden Prozesses. Für Ein- und Ausgangssignale gelten Standards, um eine einheitliche Hardware-Schnittstelle für Sensoren und Aktoren (Motoren, elekt-ropneumatische bzw. -hydraulische Ventile etc.) zu garantieren. Physikalische Signale, die diesen Standards entsprechen, werden als Einheitssignale bezeichnet. Für binäre Ein- und Ausgänge einer SPS gelten folgende Vereinbarungen: Low-Pegel ("0") = 0 V High-Pegel ("1") = +24 V

Für analoge Ein- und Ausgänge gilt: Zur Übertragung einer Prozessgröße an die SPS können Strom- oder Spanungssignale verwen-det werden.

Stromsignale nach DIN IEC 60381-1: • 0 mA … 20 mA

4 mA … 20 mA (lebender Nullpunkt, englisch: live-zero)

Spannungssignale nach DIN IEC 60381-2: • 0 V … 10 V

2 V … 10 V (lebender Nullpunkt, englisch: live-zero). Diese analogen Signale werden in den Analogbaugruppen in digitale Signale (Analog–Digital-Umsetzung) umgewandelt.

SPS 5

In fast allen industriellen Anwendungen werden die live-zero-Signale verwendet. Wenn dem Messbereichsanfang ein von 0 verschiedenes elektrisches Signal zugeordnet wird, kann eine Drahtbruchüberwachung realisiert werden. Man bezeichnet das von Null abweichende Anfangssignal für 0 Prozent Messwert von 4 mA bzw. 2 V auch als „Lebender Nullpunkt“. Ein Signal von 0 mA bzw. 0 V ist somit immer ein sicherer Hinweis auf eine Störung. Die Grundfunktionalität für die Abarbeitung des SPS-Programms besteht aus vier Teilen:

1. SPS-Anlauf

2. Prozessabbild der Eingänge erstellen

3. SPS-Programm Abarbeitung

4. Prozessabbild der Ausgänge ausgeben

SPS-Anlauf Im SPS-Programm sind möglichst viele (in Idealfall alle) Anlagensituationen zu berücksich-tigen. Eine Standardsituation ist dabei das Anlaufen der SPS. Bei Neustart der SPS ist ein unkontrolliertes Einschalten der Anlagenfunktionen zu vermeiden, um die Anlage in einem möglichst sicheren Zustand zu halten. Entsprechend dürfen keine Bewegungen ausgeführt werden, die zu Anlagen-/Personenschäden führen könnten, z.B. durch Motoren, Zylinder, bei denen ein Anlagenstill-stand für Wartungs- und Reparaturmaßnahmen genutzt wurde. Eine andere Maßnahme wäre bestehende Funktionen anzusteuern, um Materialien sicher zu fixieren oder zu schützen (z.B. Elektromagnete oder Kühlsysteme). Nachfolgeschäden können auf diese Art verhindert werden. Durch die OB’s 100..102 wird im ersten SPS-Zyklus entsprechend dieser Vorgaben das System initialisiert. Nachdem der OB bearbeitet wurde, wird wieder der normale Ablauf ausgeführt. Nach dem ersten Neustart werden alle Ausgänge, Zeitglieder, Zähler und Merker auf Null ge-setzt. Prozessabbild der Eingänge erstellen Wird im Anwenderprogramm über die Operanden "E..." oder "A..." auf die Eingänge und Ausgän-ge zugegriffen, dann erfolgt kein direkter Zugriff auf die Ein-/Ausgabebaugruppen. In diesem Fall

SPS 6

wird auf einen Speicherbereich im Systemspeicher der CPU zugegriffen. Dieser Bereich wird als Prozessabbild der Eingänge (PAE) und Prozessabbild der Ausgänge (PAA) bezeichnet. Die Inhalte des Prozessabbilds (PAE und PAA) spiegeln nicht die aktuellen Werte der Ein-/Ausgänge wieder, sondern die Werte zum Zeitpunkt der Aktualisierung des Prozessabbilds. Falls für einzelne Prozes-se aktuellere Werte benötigt werden, besteht auch die Möglichkeit der direkten Peripherieadressie-rung. Ebenso können den Ein- und Ausgängen von Peripheriebaugruppen auch E/A-Adressen außerhalb des Prozessabbilds zugeordnet werden. Auf diese E/A-Adressen muss über die "Peripherieadressie-rung" zugegriffen werden.

Die "Peripherieadressierung" Das Prozessabbild umfasst oft nicht den gesamten Peripherieadressbereich der CPU. Liegen E/A-Adressbereiche einer Baugruppe außerhalb des Prozessabbildes, muss auf diese Bereiche mittels "Peripherieadressierung" zugegriffen werden. Der Zugriff auf die Peripherieadressen erfolgt dabei unverzüglich nach dem Ansprechen der Adresse im Anwenderprogramm. Mit der "Peripherieadressierung" ist damit immer gewährleistet, dass der aktuelle Wert sofort eingelesen wird bzw. sofort eine Ausgabe umgesetzt wird. Dies ist besonders bei Analogwerten und Pro-zessalarmen wichtig. Über "Peripherieadressierung" kann auch auf Baugruppen zugegriffen werden, deren E-/A-Adressbereiche einem Prozessabbild zugeordnet sind. "Peripherieadressierung" bedeutet also, dass auf die Baugruppen direkt zugegriffen wird. Setzen Sie hierzu vor den Bereich der anzusprechenden Adresse ein "P":

• PEB --> Peripherie-Eingangs-Byte • PAB --> Peripherie-Ausgangs-Byte • PEW --> Peripherie-Eingangs-Wort • PAW --> Peripherie-Ausgangs-Wort • PED --> Peripherie-Eingangs-Doppelwort • PAD --> Peripherie-Ausgangs-Doppelwort

Die "Peripherieadressierung" kann angewendet werden, wenn

• die Adressbereiche von Baugruppen keinem Adressabbild zugeordnet sind, • im Steuerungsprogramm aktuellere Eingangswerte - als im Prozessabbild vorhanden -

benötigt werden oder • Ausgangswerte möglichst schnell in die Ausgänge (mindestens ein Byte) geschrieben

werden sollen.

SPS 7

SPS-Programm Ablauf

In der CPU einer SPS laufen zwei verschiedene Programme ab:

• das Betriebssystem • das (die) Anwenderprogramm(e)

Das Betriebssystem ist bereits in der CPU enthalten und bestimmt das Verhalten der CPU, in-dem es alle Funktionen und Abläufe der CPU organisiert. Das Betriebssystem ruft neben vielen anderen Aktivitäten das Anwenderprogramm zyklisch auf. Das Anwenderprogramm wird vom Anwender aufgabenspezifisch erstellt und in den Speicher der CPU geladen. Die CPU übernimmt die Verarbeitung aller Eingangssignale und gespeicherten Daten und steu-ert den Informationsfluss zu den Ein- und Ausgabebaugruppen entsprechend dem abzuarbeiten-den SPS-Anwenderprogramm unter Echtzeitbedingungen. Prinzipiell werden bei SPS-Anwendungen drei Arten von Daten unterschieden: • Eingabedaten (E) sind mit zugehörigen Eingängen einer Eingabebaugruppe verbunden. Auf

Eingabedaten sollten vom Programm aus keine Werte zugewiesen werden (read only). • Ausgabedaten (A) geben ihren Wert an den Ausgang der zugehörigen Ausgabebaugruppe

aus. Ausgabedaten können im Programm beliebig oft geschrieben und gelesen werden. • Merkern (M) werden logische Signalzustände zugewiesen, die in festen Speicheradressen

im Automatisierungssystem hinterlegt werden und dienen als schnelle Zwischenspeicher. Merker haben in einem Anwenderprogramm bausteinübergreifend Gültigkeit. Sie können wie Ausgabedaten beliebig oft gelesen und geschrieben werden.

Prozessabbild der Ausgänge ausgeben Die aktuellen DO-Werte, die sich im Speicherbereich Prozessabbild der Ausgänge (PAA) befinden, werden an die SPS-Baugruppen übertragen, damit die Ausgänge angesteuert wer-den. Das PAA wird z.B. mit der Angabe A1.0, AB0, AW24 oder AD4 im SPS-Programm ange-steuert. Nach dem diese Funktion ausgeführt wurde, werden wieder die DI-Signale eingelesen und der SPS-Zyklus beginnt von vorn.

Zyklische Programmbearbeitung Nach dem aktualisieren des PAE wird das SPS-Programm ausgeführt. Dabei werden berechnete Ausga-bewerte in das Prozessabbild der Ausgänge (PAA) geschrieben. Bei der Programmbearbeitung durch die Zentraleinheit werden über einen Adresszähler die Adressen der einzelnen Speicherzellen des Arbeitsspeichers, in dem das ablauffähige Steuerprogramm steht, angewählt. Eine Steueranweisung wird in das Steuerwerk übertragen und dort bearbeitet. Danach wird der Adresszähler um + 1 erhöht; damit ist die nächste Adresse des Arbeitsspeichers angewählt und zur nachfolgenden Bearbeitung vorbereitet. Nach dem Ende des Programms beginnt die Programmbearbeitung wieder von vorne. Man spricht von einer zyklischen Programmbearbeitung. Jeder Zyklus beginnt mit dem Einlesen der aktuellen Signalzustände der Eingänge E in das Prozessabbild der SPS und endet mit der Ausgabe der Signale an die Ausgänge A aus dem Prozessabbild. Die für einen Programmdurchlauf benötigte Zeit wird Zykluszeit genannt. Die Zykluszeit einer SPS muss so klein sein, dass Signaländerungen an den Eingängen sicher erfasst und Ausgangssignale so rechtzeitig ausgegeben werden, wie es der zu steuernde Prozess erfordert, dies wird die Echtzeitbedingung der Steuerungstechnik genannt. Für das Ausführen des SPS-Programms sind zeitliche Grenzen gesetzt, um Systemfehler oder zu lange Programmlaufzeiten/Endlosschleifen, die zu möglichen Schäden führen könnten, abzuwenden. Sollte die max. Laufzeit(Zykluszeit) überschritten werden, geht die CPU in den STOP-Zustand. Eine wichtige Systemeigenschaft ist die Reaktionszeit, d.h. die Zeit, die die SPS braucht, um auf eine Änderung eines Eingangs mit einer Änderung des zugeordneten Ausgangs zu reagie-

SPS 8

ren, die zwischen ein bis zwei SPS-Zyklen betragen kann. Letztere Situation ergibt sich dann, wenn sich das Signal am Eingang nach dem Einlesen des PAE ändert. In diesem Fall muss erst das Programm durchlaufen werden, bis erneut die DI-Signale eingelesen werden. Dann erst wird das Signal berücksichtigt. Und erst beim Ausgeben der Ausgänge wird die entsprechende Aktion angesteuert. Um die DI-Signale sicher zu erfassen, muss das Signal mind. zwei SPS-Zyklen präsent sein. Es gibt jedoch Möglichkeiten, die Reaktionen auf wichtige Signale zu erhö-hen.

3.2. Bausteintypen

Organisationsbausteine (OB): Die OB‘s stellen die Schnittstelle zwischen Betriebssystem und Steuerprogramm dar Das Be-triebssystem ruft die OB‘s bei bestimmten Ereignissen auf. Das Hauptprogramm steht stan-dardmäßig im OB1. Es gibt OB’s mit festgelegter Zuordnung von Ereignissen (Standard- OB’s mit fester Nummer) und Anwender- OB’s mit frei wählbarer Zuordnung von Ereignissen und frei wählbarer Nummer ab 200 Aufruf Organisationsbausteine können nicht von anderen Bausteinen aufgerufen werden, son-dern nur durch das Betriebssystem bei Eintreten bestimmter Situationen, die sofort eine Unter-brechung des sonst endlos ausgeführten OB 1 veranlassen. Der OB 1 organisiert durch den Auf-ruf anderer Code-Bausteine (FBs, FCs) das zyklische Programm. Priorität: Organisationsbausteine werden entsprechend der ihnen zugeordneten Priorität im Auf-ruf-Fall bearbeitet (1 = niedrigste und 29 = höchste Priorität). Der OBI hat die niedrigste Priori-tät 1. Jeder andere OB kann daher das Hauptprogramm kurzzeitig unterbrechen und sein eigenes Programm bearbeiten.[2]

Abbildung 4 Organisationsbausteine und ihre Prioritäten (1 = niedrigste, 29 = höchste Priorität) [2]

Funktionen (FC): Der Einsatz von FC‘s ist ausreichend, wenn das Funktionsergebnis ausschließlich aus den Ein-gangssignalen ermittelt werden kann und somit keine interne Speicherfunktion erforderlich ist. STEP 7-FC‘s können mehrere Eingangs- und Ausgangsvariablen besitzen. In anderen Steuerun-gen ist es möglich, dass Funktionen unter dem Funktionsnamen nur ein Funktionsergebnis lie-fern (z.B. y = sin(x)). Funktionen speichern keine Informationen; sie haben keine zugeordneten Datenbausteine.

Funktionsbausteine (FB): FBs sind parametrierbare Programmbausteine, denen beim Aufruf ein eigener Speicherbereich

SPS 9

(Instanz-DB) zugewiesen wird. FBs sind notwendig, wenn ein speicherndes Verhalten einer bausteininternen Variablen nötig ist. Datenbausteine (DB) Die Datenbausteine enthalten die Daten des Programms. Auf Globaldatenbausteine können alle POE’s zugreifen. Sie sind keinem Codebaustein zugeordnet. Ein Instanzdatenbaustein ist einen Funktionsbaustein fest zugeordnet

Abbildung 5 System der Bausteinaufrufe [2]

3.3. Boolsche Algebra (auch Schaltalgebra genannt)

Beschreibung logischer Verknüpfungen zweiwertiger bzw. binärer Größen. Bei einer Verknüpfungssteuerung bestimmen sich die Ausgangssignale ausschließlich aus den momentanen Werten der Eingangssignale. Eine Verknüpfungssteuerung hat demzu-folge keine speichernden Eigenschaften

Boolsche Grundfunktionen:

Grundgesetze:

SPS 10

3.4. Funktionstabellen Die vollständige Funktionstabelle enthält alle Kombinationen der Eingangsvariablen und die dazuge-hörenden Ausgangsvariablen. Da jede Eingangsvariable die Werte 1 und 0 annehmen kann, verfügt

eine Schaltung mit n-Eingangsvariablen entsprechend der möglichen Dualzahlen über 2n Kombinatio-nen.

4. Programmierung der Siemens-SPS SIMATIC S7-1500

4.1. Das TIA-Portal Das Engineering Framework TIA Portal ist die Basis für durchgängige Automatisierungslösun-gen. Es optimiert sämtliche Betriebs-, Maschinen- und Prozessabläufe und bietet ein einheitli-ches und durchgängiges Bedienkonzept. Es integriert Controller, Distributed I/O, HMI, Drives, Motion Control und Motormanagement nahtlos in eine einzige Engineering-Umgebung. Mit der gemeinsamen Datenhaltung, dem smarten Bibliothekskonzept lösen übergreifende Soft- und Hardwarefunktionen effizient alle Automatisierungsaufgaben. STEP 7 (TIA-Portal) ist die Engineering-Software zur Projektierung der SIMATI Steuerungs-familien S7-1200, S7-1500, S7-300/400 und WinAC. STEP 7 (TIA-Portal) ist in zwei Editionen erhältlich, abhängig von den projektierbaren Steuerungsfamilien:

• STEP 7 Basic zur Projektierung der S7-1200 • STEP 7 Professional zur Projektierung von S7-1200, S7-1500, S7-300/400 und WinAC

Die Projektierung geschieht in zwei Ansichten:

• Portalansicht aufgabenorientierte Sicht auf die Projektaufgaben erlaubt Zugriff auf alle Komponenten des Projektes

• Projektansicht Sicht auf die Bestandteile des Projektes und auf die dazugehörigen Arbeitsbereiche zeigt alle Komponenten des Projektes hierarchische Gliederung des Projektes einfacher Zugriff auf Geräte und Bausteine alle Editoren, Parameter und Daten befinden sich in dieser Ansicht

4.2. Programmiersprachen Simatic Step 7 V13 im TIA Portal unterstützt die in der IEC61131-3 genormten Programmiersprachen KOP (Kontaktplan), FUP/ FBS (Funktionsplan), SCL/ST (Structured Control Language/Structured Text), AWL (Anweisungsliste) und Graph/SFC (Sequential Function Chart). Kontaktplan (KOP)

Mit Kontaktplan wird die Steuerungsaufgabe angelehnt an den Stromlaufplan programmiert. Die Ver-

SPS 11

knüpfung der binären Signalzustände wird durch die serielle oder parallele Anordnung von Kontakten und Spulen dargestellt. UND-Verknüpfung

ODER-Verknüpfung

• Kontakte stellen einen Schalter dar, durch den Strom fließen kann. Strom fließt nur dann durch einen Schließerkontakt, wenn der Kontakt geschlossen ist (logischer Wert 1). Strom fließt durch einen Öffnerkontakt oder einen negierten Kontakt (NOT), wenn der Kontakt geöffnet ist (logi-scher Wert 0).

• Spulen stellen ein Relais bzw. einen Ausgang dar, der durch Signalfluss aktiviert wird.

Zwar können auch in KOP weitere Bausteine wie z.B. Zeitglieder oder Zähler verwendet werden. Für viele Bausteine sind jedoch keine Schaltsymbole verfügbar, die den Stromlaufplänen entsprechen. Daher werden solche Bausteine in FUP dargestellt, weshalb bei der Programmierung in KOP häufig ein Ge-misch aus FUP und KOP entsteht.

• Boxen stellen eine Funktion dar (z.B. eine Zeit, einen Zähler oder eine arithmetische Operation), die ausgeführt wird, wenn der Signalfluss die Box erreicht.

Funktionsplan (FUP)

Die Programmiersprache FUP ist angelehnt an elektronische Schaltkreissysteme. Sie beruht auf der zweiwertigen Logik der Booleschen Algebra, in der Variablen die Werte ”wahr” (1) oder ”falsch” (0) annehmen können. FUP -Anweisungen bestehen aus Elementen und Boxen, die graphisch zu Netzwer-ken verbunden werden. Die Eingänge befinden sich auf der linken, die Ausgänge auf der rechten Seite der Box.

In FUP werden Bausteine mit Symbolen benutzt, die aus der booleschen Algebra bekannt sind und in Blockdarstellung abgebildet. So wird auch bei komplexen Funktionen der logische Aufbau eines SPS-Programms übersichtlich dargestellt.

Binäre Verknüpfungen werden durch Verschaltung von UND- und ODER-Funktionen realisiert und mit Speicherboxen abgeschlossen Komplexe Boxen übernehmen die Verknüpfung digitaler Variablen, bei-spielsweise bei den arithmetischen Funktionen

SPS 12

Anweisungsliste (AWL)

Anweisungsliste AWL nach der Norm IEC DIN EN 61131-3 ist eine maschinennahe textbasierende Pro-grammiersprache. In der Programmiersprache Anweisungsliste AWL werden einzelne Anweisungen in der Reihenfolge geschrieben wie die CPU diese dann abarbeiten soll. Mit AWL können speicherplatz- und laufzeitoptimale Programme erstellt werden können. AWL wird zeilenweise abgearbeite. Aufbau einer Zeile: Sprungmarke (optional): Operator/Funktion Operand(en) Die Anweisungsliste arbeitet mit einem universellen Akkumulator beliebiger Datenbreite (An-zahl der Bits). Ein Akkumulator ist ein Register innerhalb eines Prozessors, in dem Ergebnisse der Recheneinheit gespeichert werden, so dass eine Speicherung im Hauptspeicher nicht nötig wird. Einige Operatoren lassen sich durch sogenannte Modifizierer erweitern

• N: Negierung des Operanden.

• (: Neue Schachtelungsebene durch Klammerung.

• C: Bedingte Ausführung des Operators; Ausführung falls AE=true(AE: aktuelles Er-

gebnis) UND-Verknüpfung

Oder-Verknüpfung

Strukturierter Text (SCL)

Ein sehr komfortables Werkzeuge im TIA Portal ist der jetzt voll integrierte, textbasierte SCL-Editor für die Hochsprachenprogrammierung. SCL ist optimiert für die Programmierung von Spei-cherprogrammierbaren Steuerungen und enthält sowohl Sprachelemente aus der Programmiersprache PASCAL als auch typische SPS-Elemente, z.B. Ein-/Ausgänge, Zeiten und Zähler.Der Strukturierte Text besteht aus einer Reihe von Anweisungen, die wie in Hochsprachen bedingt ("IF..THEN..ELSE") oder in Schleifen (WHILE..DO) ausgeführt werden können. UND-Verknüpfung

Oder-Verknüpfung GRAPH (Ablaufsteuerung)

Ablaufsprachen beruhen auf dem Modell der Petri-Netze.Bei ihnen dominiert nicht – wie bei Ver-knüpfungssteuerungen – die statische Zuordnung der Eingangssignale zu den Ausgängen, sondern deren zeitliche Folge. Die nacheinander ausgeführten Steuerungsvorgänge sind in Ablaufschritte, kurz Schritte, unterteilt. Ein Schritt enthält ein oder mehrere Aktionen. Nur die Aktionen eines aktiven (bearbeite-

SPS 13

ten)Schrittes werden ausgeführt. Die Weiterschaltung auf den nächsten Schritt erfolgt mit Transitionen (Weiterschaltbedingung). Diese Weiterschaltung kann prozessabhängig oder zeitabhängig erfolgen. Eine Ablaufsteuerung beginnt an einem Initialisierungsschritt. Danach folgen in einer linearen Ablaufkette abwechselnd Transitionen und Schritte. Zusätzlich zum linearen Verlauf, beidem auf einen Schritt ein einziger Schritt folgt, gibt es Verzweigungen.

• Alternativverzweigung (ODER-Verzweigung): es wird immer nur eine der folgenden Teilketten bearbeitet

• Simultanverzweigung (UND-Verzweigung): alle folgenden Teilketten werden parallel bearbeitet

4.3. Daten bei S7-CPU Auf alle Daten kann sowohl bitweise als auch byte- bzw. wordweise (zu je 8, 16 oder 32 Bit) zugegrif-fen werden (Datentyp). Zur Kennzeichnung von Datenart und -typ werden Kennbuchstaben wie folgt verwendet: Kennbuchstabe (Datenart) E = Eingabedaten A = Ausgabedaten M = Merker Kennbuchstabe (Datentyp) (keine)= einzelnes Bit B = Byte (8 Bit) W = Word (16 Bit) D = Doubleword (32 Bit) Diesen Kennbuchstaben folgt eine Adresse (absolut oder symbolisch), unter der eine Information gele-sen werden kann. Alle Adressen sind auf ganze Byte bezogen. Deshalb müssen Adressen von Words immer geradzahlig und Adressen von Doublewords immer ganzzahlige Vielfache von 4 sein. Um einzelne Bits zu adressieren, wird der Byteadresse (durch Punkt getrennt) die Nummer des betref-fenden Bits (0 … 7) innerhalb des Bytes hinzugefügt. Beispiele: EB3 Eingabedaten-Byte Adresse 3 AW2 Ausgabedaten-Word Adresse 2 M1.3 Bit 3 von Mer-ker-Byte 1

Beispiel einer Folge von Befehlszeilen: U E0.1; //Eingang , Byte 0, Bit 1, nach VKE laden

UN M0.0; //mit Komplement von Merker 0.0 UND-verknüpfen = A2.0; //Ergebnis auf Ausgang 2.0 zuweisen In der CPU der SPS enthält ein Bit-Akkumulator, genannt VKE (Verknüpfungs- ergebnis), das Ergebnis der letzten logischen Bit-Operation. Die Ergebnisse der Byte-, Word- und Doubleword-Operationen wer-den in einem Wort-Akkumulator AKKU1 (sowie dessen Hintergrund-Akkumulator AKKU2) gespeichert.

Das VKE ist zu Beginn jedes Programm-Bausteins, nach jeder "="- und "("-Anweisung mit "1" vorbe-

SPS 14

legt. Das VKE kann mit Hilfe einer "="-Anweisung Bit-Operanden zugewiesen werden. Der Inhalt von AKKU1 kann mit Hilfe von Lade-Operationen gesetzt und durch Transfer-Operationen Operan-den zugewiesen werden.

4.4. Operationsumfang einer S7-CPU

Die Operationen einer S7-CPU lassen sich in folgende Gruppen einteilen: Bausteinoperationen Verknüpfungsoperationen (binär, wordweise) Arithmetische Operationen (Festpunkt, Gleitpunkt) Vergleichsoperationen Logische Operationen Lade- und Transferoperationen Logarithmus und trigonometrische Operationen Schiebe- und Rotieroperationen Umwandlungsoperationen Zeit- und Zähloperationen Sprungoperationen Die einzelnen Operationen sind in Operationslisten zu den speziellen CPU zusammengestellt. Binäre Verknüpfungen Alle Verknüpfungsoperationen bilden ein Verknüpfungsergebnis (VKE). Die erste Verknüpfungsope-ration (Erstabfrage) einer Verknüpfungskette bildet das VKE aus dem abgefragten Signalzustand, ohne das alte Verknüpfungsergebnis zu berücksichtigen. Die folgenden Verknüpfungsoperationen bilden das VKE aus dem abgefragten Signalzustand und dem VKE. Die bei einer Erstabfrage stehende Ver-knüpfungsvorschrift ist beliebig, sollte wegen der besseren Lesbarkeit der Programme jedoch logisch mo-tiviert sein. Mit einer Verknüpfungsoperation wird der Signalzustand (Status) eines Operanden abgefragt, z.B.: U E 4.0 und in diesem Fall nach UND verknüpft mit dem VKE. Eine Erstabfrage steht am Anfang einer Verknüpfungskette oder auch nach bedingten Operationen. Eine wichtige bedingte Operation ist die Zuweisung (z.B.: = Binäroperand), durch diese Operation wird das VKE dem bei der Operation stehenden Operanden direkt zugewiesen, ohne das VKE zu beeinflus-sen. Der Binäroperand, z.B.: A 4.7 wird auf „1“ gesetzt, wenn VKE „1“ ist und auf „0“ zurückgesetzt, wenn VKE „0“ ist.

Zeitfunktionen Zeitfunktionen werden zur Realisierung zeitlicher Abläufe benötigt. Auf sie wird im Folgenden eingegangen, stellvertretend für viele weitere Funktionen, die im Automatisierungssystem zur Verfügung gestellt werden und die Programmierung effizienter, leichter und sicherer machen. Zeitfunktionen stehen mit folgendem Verhalten zur Verfügung: Impulsbildung SI verlängerter Impuls SV Einschaltverzögerung SE speichernde Einschaltverzögerung SS Ausschaltverzögerung SA Eine Zeitfunktion startet, wenn das Verknüpfungsergebnis vor der Startoperation wechselt, im Allge-meinen von „0“ nach „1“, lediglich bei einer Ausschaltverzögerung muss das VKE von „1“ auf „0“ zum Start wechseln. Beim Starten einer Zeitfunktion ist das Zeitverhalten (s.o.) und die Zeitdauer (Zeitkonstante) anzu-geben. Eine Zeitfunktion kann auch rückgesetzt oder freigegeben (nachtriggern) werden. Mit der La-defunktion wird der aktuelle Zeitwert in den Akkumulator 1 übertragen. Die Zeitfunktion übernimmt beim Starten den im Akkumulator 1 stehenden Wert als Zeitdauer. Im Programm sollte aus Gründen der Verständlichkeit die Zeitdauer direkt vor der Startoperation stehen. Die Abfrage einer Zeitfunktion (Zeit läuft) geschieht mit den binären Verknüpfungen. Die Zeitfunktionen stellen einen speziellen Speicherbereich in der CPU dar.

SPS 15

5. Aufgabenstellung

5.1. Arbeit mit dem TIA-Portal

Legen Sie im TIA-Portal ein Projekt an, konfigurieren Sie in diesem die am Praktikumsplatz aufgebaute SPS und parametrieren Sie die einzelnen Baugruppen. Dazu liegt am Arbeitsplatz eine Anleitung aus.

5.2. Grundfunktionen in FUP Legen Sie in dem erstellten Projekt einen Codebaustein vom Typ Funktion (FC) an. Veranlassen Sie im OB1, dass dieser Baustein in die zyklische Programmabarbeitung einbezogen wird, indem Sie im Netzwerk1 des OB1 den Befehl

Call FC1 eintragen. Programmieren Sie im FC u.a. die Grundfunktionen

• Zuweisung • UND-Verknüpfung • ODER-Verknüpfung • NOT • SET • Einschaltverzögerung (SE)

Und machen sich mit deren Arbeitsweise vertraut.