Einführung SPS-Programmierung - Beuth Hochschule für Technik

Transcription

Einführung SPS-Programmierung - Beuth Hochschule für Technik
Beuth Hochschule für Technik Berlin
Fachbereich VI - Informatik und Medien
Labor für Automatisierungstechnik, B054
WiSe 2010/2011
CAM – Computer Aided Manufacturing – Labor –
Studiengang Technische Informatik
H. Linnemann
Kurzeinführung in die SPS-Programmierung nach ISO DIN EN 61131
1. Zyklische Arbeitsweise einer SPS
Ein wichtiges Merkmal der SPS ist ihre zyklische Arbeitsweise. Das Programm selbst arbeitet
auf den intern im RAM abgelegten Abbildern der Ein- und Ausgänge. Daher kann ein SPSProgramm auch wie ein Schaltnetz betrachtet werden. Es ist wichtig, dass die zyklische
Arbeitsweise programmtechnisch nicht „unterlaufen“ wird, beispielsweise durch
Rückwärtssprünge oder Schleifen.
Systemstart
•Initialisierung
Systemverwaltung
•Selbstdiagnose
•Kommunikationsanforderungen
Verzögerungszeit:
Signalanstiegszeiten
Eingangsfilter
Lesen der Eingänge
Ein
Zyklus
Abarbeiten des Programms
Prozess
Anweisung 1
Anweisung 2
…
Anweisung n
M
Schreiben der Ausgänge
Verzögerungszeit:
Anstiegs- u. Abfallzeiten der Verstärker
2. SPS - Programmiersprachen
Ältere Sprachen nach DIN
19239 bzw. VDI 2880
ISO DIN EN 61131-3
AWL – Anweisungsliste
IL
– Instruction List
LD eingang_1
AND eingang_2
ST ausgang_0
ST
ST
– Strukturierter Text
– Structured Text
C := A AND NOT B
KOP
LD
– Kontaktplan
– Ladder Diagram
FBS
– FunktionsbausteinSprache
– Function Block
Diagram
FBD
AS
SFC
– Ablaufsprache
– Sequential
Function Chart
Einführung SPS-Programmierung.doc
AWL – Anweisungsliste
eing_1 eing_2 ausg_0
KOP – Kontaktplan
eing_1
eing_2
Schritt 1
&
ausg_0
Behälter füllen
Behälter voll?
Schritt 2
Flüssigkeit rühren
Nur für Lehrzwecke
FUP – Funktionsplan
Funktionsplan nach
DIN 40719, Teil 6
Seite 1 von 4
3. Grundlagen der SPS-Programmierung nach ISO / DIN EN 61131
3.1 Auswahl wichtiger SPS-Befehle:
Operatoren
LD
LDN
AND
ANDN
AND(
ANDN(
OR
ORN
OR(
ORN(
XOR
XORN
XOR(
XORN(
ST
STN
S
R
)
JMP
JMPC
JMPCN
Auswirkung auf aktuelles
Ergebnis (AE) im Akku
Erzeugen
Weiter verarbeiten
Undefiniert setzen
Weiter verarbeiten
Undefiniert setzen
Weiter verarbeiten
Undefiniert setzen
Unverändert
Unverändert
Unverändert
Unverändert
Unverändert oder undefiniert
Unverändert
Unverändert
Erklärung
Lädt Operand in AE (Aktuelles Ergebnis, 1 Bit Akku)
Lädt Operand negiert in AE
UND-Verknüpfung des Operanden mit AE
UND-Verknüpfung des negierten Operanden mit AE
Operanden mit AE verknüpfen (Klammer auf)
Operanden mit AE verknüpfen (Klammer auf)
ODER-Verknüpfung des Operanden mit AE
ODER-Verknüpfung des negierten Operanden mit AE
Operanden mit AE verknüpfen (Klammer auf)
Operanden mit AE verknüpfen (Klammer auf)
Exklusiv-ODER-Verknüpfung des Operanden mit AE
Exklusiv-ODER-Verknüpfung des negierten O.m. AE
Operanden mit AE verknüpfen (Klammer auf)
Negierten Operanden mit AE verknüpfen (Kl. auf)
Speichert AE in den Operanden
Speichert AE negiert in den Operanden
Setzt Operand auf TRUE, wenn AE = 1
Setzt Operand auf FALSE, wenn AE = 1
Schließen der Klammerebene
Unbedingter Sprung zu einer Marke
Sprung zur Marke, wenn VE = 1
Sprung zur Marke, wenn VE = 0
Den kompletten Befehlssatz mit detaillierten Beschreibungen können Sie mittels der Hilfe des
Programmierwerkzeugs Sucosoft einsehen. Ebenso die Befehle für Wortverarbeitung (Integer,
Real, ADD, SUB, Vergleiche usw.).
Hier Programmierung Schrittkette einfügen
Einführung SPS-Programmierung.doc
Nur für Lehrzwecke
Seite 2 von 4
3.2 Funktionsbaustein Zeitgeber (Timer) – TON: Einschaltverzögerung
Das Einschalten am Eingang „IN“ schaltet den Ausgang „Q“ ein, verzögert um die vorgegebene
Zeitdauer.
Die steigende Flanke von „IN“ startet den Zeitgeber „TON“ für die Dauer der über „PT“
vorgegebenen Zeit. Während der laufenden Zeit hat „Q“ den Zustand „0“. Nach Ablauf der Zeit
wechselt „Q“ auf „1“ und hält, bis „IN“ auf „0“ wechselt.
„ET“ zeigt den aktuellen Zeitwert an. Ist die Zeit abgelaufen, behält „ET“ den Wert, solange „IN“
den Zustand „1“ führt. Wenn „IN“ auf „0“ schaltet, wechselt der Wert von „ET“ auf „0“.
Wechselt „IN“ während der laufenden Zeit auf „0“, wird der Vorgang abgebrochen und „ET“
nimmt wieder den Wert „0“ an.
Prototyp:
Beispiel:
Um 777 ms verzögert einschalten
TON
BOOL
IN
TIME
PT
Q
ET
BOOL
TIME
Operanden:
IN Startbedingung
PT Zeitwertvorgabe
Q Binärer Zustand des
Zeitgebers
ET Aktueller Zeitwert
PROGRAM zeit777ein
VAR
Timer2 : TON;
Start AT %I0.0.0.0.0 : BOOL;
Zeitdauer : TIME := T#777ms;
Ausgang AT %Q0.0.0.0.0 : BOOL;
Istzeit : TIME;
END_VAR
CAL Timer2(IN := Start,
PT := Zeitdauer)
LD Timer2.Q
ST Ausgang
LD Timer2.ET
ST Istzeit
Beschreibung:
IN
Q
T (PT)
END_PROGRAM
T (PT)
4. Programmerstellung für SPS
Programm erstellen
KOP
FBS
AS
ST
AWL
Editor
KOP, FBS, AS
zu
AWL-Compiler
Diskette
oder
Festplatte
Compiler
(erzeugt Maschinencode)
SPS
Ggf. Binden (Linken) einzelner
Module zu einem Gesamtprogramm
Übertragen
in die SPS
Einführung SPS-Programmierung.doc
DatenübertragungsProgramm
Nur für Lehrzwecke
Seite 3 von 4
5. Einführung in SPS-Programmierumgebung „Sucosoft, Fa. Klöckner Möller“
1. Sucosoft-Navigator-Ikone anklicken: Navigator-Fenster öffnet sich
2. Neues Projekt anlegen mit Menü: Projekt Neu
Im Dialogfenster erscheint beispielsweise C:\Labor
Neuer Ordner anklicken und OK anklicken
Projektname eingeben: z.B. Versuch1 OK anklicken
SPS-Typ anwählen (ist auf der SPS angegeben)
3. Anwenderprogramm erstellen: Navigator-Fenster, Menü
Werkzeuge POE-Editor (POE = Programm-Organisations-Einheit)
POE-Typ anwählen: Hier Schaltfläche „P“ (Programm)
Zwei Fenster öffnen sich: Deklarationsteil und Anweisungsteil
4. Deklarationsfenster ausfüllen: Syntax-Modus anwählen
Unterer Registerreiter: Lokal anklicken Jetzt die Tabelle füllen, z.B.:
Name
Typ
Adresse
Kommentar
EingangA BOOL %I0.0.0.0.0 SPS-Eingang A
EingangB BOOL %I0.0.0.0.1 SPS-Eingang B
AusgangA BOOL %Q0.0.0.0.0 SPS-Ausgang A
5. Anweisungsfenster ausfüllen: In Menüleiste bzw. Toolbox KOP (Kontaktplan) anwählen.
Folgendes Programm eingeben:
Schalten Sie anschließend in die
EingangA
AusgangA
Darstellungen Anweisungsliste (AWL) und
()
Funktionsbausteinsprache (FBS) um.
EingangB
Welche Darstellung sagt Ihnen mehr zu?
6. Programm Speichern: Diskettensymbol anklicken
POE-Name wird gefordert: Hier: Versuch1
7. Syntaxprüfung anwählen (Schaltfläche)
ggf. Fehlermeldungen beachten und die Fehler korrigieren
8. Anwenderprogramm erzeugen In Navigator-Fenster gehen
Menü: Werkzeug Generierung Generierliste neu
Wenn obriges Menü leer ist: Werkzeug Topologie Datei neu:
Erforderliche Gerätebezeichung von SPS ablesen, eintragen, dann „lokal erweitern“ und
zusätzliche Komponenten ablesen, eintragen
9. Programmcode generieren
Generierung alles generieren bzw. Projekt komplett neu generieren
10. Test und Inbetriebnahme: In Navigator-Fenster:
„Verbindung Programmiergerät  SPS aufbauen“ anklicken, dabei SPS-Typ
sicherstellen und Voreinstellungen übernehmen
Ankoppeln anklicken: Angekoppelt erscheint
11. Transfer anklicken und Datei Versuch1.PCD wählen
Übertragen SPS anklicken Fenster schließen
12. Programm in SPS starten: Werkzeug Test und Inbetriebnahme wählen
Programm Status … anklicken. Dialogfeld erscheint
An der SPS: CPU in Stellung RUN
Am PC: „Kaltstart“ erscheint; Kaltstart anklicken
13. Programm an der SPS mit Schalter und Meldeleuchte testen
14. Testfenster: POE-Editor online anwählen (grünes Symbol ganz links)
Fenster Programm erscheint
Resource: Das ist die SPS
Instanz: Da steht der Programm-Name
Programmname Versuch1 ganz links im rechten Fenster anklicken
Schaltfläche „Anzeigen-Ändern wählen
ganz rechts drei Schaltflächen: Zustandsanzeige wählen
Programm testen und Bildschirm beobachten in KOP und AWL
(Wenn die Anzeige „flackert“: Schaltfläche rechts neben den Fenstersymbolen klicken)
Einführung SPS-Programmierung.doc
Nur für Lehrzwecke
Seite 4 von 4

Documents pareils