29.04.2014Seite 1 Programmierung nach IEC 61131. 29.04.2014Seite 2 Inhalt Ziele und Inhalte der IEC 61131 Programmiertools Modelle der IEC 61131 Variablen.
Post on 06-Apr-2015
125 Views
Preview:
Transcript
04/11/23 Seite 1
Programmierung nach IEC 61131
Programmierung nach IEC 61131
04/11/23 Seite 2
InhaltInhalt
Ziele und Inhalte der IEC 61131 Programmiertools Modelle der IEC 61131 Variablen und Datentypen Programmorganisation
04/11/23 Seite 3
Lernziele IEC 61131 Lernziele IEC 61131
Sie kennen die wesentlichen Ziele und Inhalte und
können sie mit eigenen Worten erläutern Sie die Architektur eines Systemes nach IEC 61131 Sie kennen die 3 Programmorganisationseinheiten
und die Datenorganisation (Uebungsbeispiele) Sie können ein einfaches Beispiel in zwei grafischen
Programmiersprachen einer SPS programmieren
04/11/23 Seite 4
Die Erstellung und Wartung von Programmen von
Anlagensteuerungen sind:
Die Erstellung und Wartung von Programmen von
Anlagensteuerungen sind:
wesentliche Kostenfaktorenschwierige Unsicherheitsfaktoren
04/11/23 Seite 5
Aspekte:Aspekte:
15-30% der Planungskosten zur Programmierung
hohe Folgekosten bei Problemen Anlageschäden verzögerte Inbetriebnahme
04/11/23 Seite 6
Worin unterscheidet sich Steuerungssoftware von 'Bürosoftware'?
Worin unterscheidet sich Steuerungssoftware von 'Bürosoftware'?
Echtzeit oft zeitkritisch kompliziertes Prozessinterface Restart- und Resume-fähig viele zeitlich andauernde Aufgaben kaum Fehlertoleranz hohe Verfügbarkeit viele, aber einfache Funktionen
04/11/23 Seite 7
Variablennamen: Variablennamen:
was ist wahr?was ist wahr?
Name Wert Zahl logisch Bedeutung'Türe_zu' wahr 1 wahr die Türe ist zu
falsch 0 falsch die Türe is nicht zu(beachte: die ist Türeoffen)
04/11/23 Seite 8
Bei Alarmen leider oft:Bei Alarmen leider oft:
Name Wert Zahl logisch Bedeutung
'Not_Aus' falsch 0 wahr Anlage ist/wirdabgestellt
wahr 1 falsch kein Not-Aus, d.h. z.B.Normalbetrieb
04/11/23 Seite 9
WahrheitstabelleWahrheitstabelle
Darstellung von
y:= A und (B oder C)
in Tabellenform:
04/11/23 Seite 10
Beispiel einer Wahrheitstabelle:Beispiel einer Wahrheitstabelle:
Funktion: Werte vonA
Werte vonB
Werte vonC
Ausgang y
y:=A&(B/C) 1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 1 1 0
0 1 0 0
0 0 1 0
0 0 0 0
04/11/23 Seite 11
ZeitdiagrammeZeitdiagramme
Steuerproblem:
richtige Aktion zur richtigen Zeit auslösen
04/11/23 Seite 12
Beispiel: EinschaltverzögerungBeispiel: Einschaltverzögerung
TON
IN Q
PT ET
Steuersignal (Bool)
Verzögerungszeit (Zeit)
verzögertes Schaltsignal ( Bool)
verstrichene Verzögerunszeit ( Zeit)
04/11/23 Seite 13
Zeitdiagramm:Zeitdiagramm:
PT
ET
Q
IN
04/11/23 Seite 14
Entwicklung der Programmierung von SPS
Entwicklung der Programmierung von SPS
Proprietäre Sprachen und Softwarestrukturen verschiedener Hersteller
Starke Verbreitung einzelner Sprachen durch die Dominanz der Hersteller (Siemens)
Erste internationale Normierungsbestrebungen (Grafcet, DIN 19239 und 2880)
04/11/23 Seite 15
Was ist die IEC 1131?Was ist die IEC 1131?
weltweit einheitliche Norm für die Automation speziell für SPS-Systeme
anerkanntes Werk, da gemeinsam erarbeitet(PLCopen)
Wegweiser für zukünftige Entwicklungen Definition systemunabhängiger Sprachen ein Muss für jemanden der Automation
04/11/23 Seite 16
Entwicklung der IEC 61131Entwicklung der IEC 61131
Gründung der PLCopen 1992 als treibende Kraft der Normierung
Ziele: Anwendung eines internationalen Standards IEC 61131 konforme SPS anbieten und einsetzen Definition von Konformitätskriterien Zusammenfassung der bisherigen Erfahrungen
und Entwicklungen in der IEC 61131
04/11/23 Seite 17
Vorteile für HerstellerVorteile für Hersteller
Gemeinsame Entwicklung von Software (Editoren, Programmiersystem)
Wiederverwendbarkeit bestehender Software durch einheitliche Programmierung
Normgerecht - bedeutet - marktgerecht Integration von Modulen verschiedener
Hersteller
04/11/23 Seite 18
Vorteile AnwenderVorteile Anwender
Einheitliche Programmierung und Planung verschiedener Systeme
Minimierte Ausbildungs- und Einarbeitungs-kosten
Einsatz normgerechter Komponenten bedeutet ein erhöhtes und kalkulierbares Mass an Sicherheit der Anlagen
04/11/23 Seite 19
LogischeEinheit
Wofür IEC 61131Wofür IEC 61131
Für verteilte Automatisierungssysteme
Steuerung
Anwendung
Betriebssystem
Kommuni-kation
Steuerung
Anwendung
Betriebssystem
Kommuni-kation
Prozessgeräte Prozessgeräte
04/11/23 Seite 21
Was enthält die IEC 61131?Was enthält die IEC 61131?Teil 1: Generelle Uebersicht und Definitionen
damit Anwender und Hersteller die gleiche Sprache sprechen.
Teil 2: Hardware (I/O-Signale, Sicherheitsmerkmale, Umgebung)elektrischen, mechanischen und funktionalen Merkmale
Teil 3: Programmiersprachen:Softwaremodell, Syntax und Semantik derProgrammiersprachen und deren Darstellung
Teil 4: Anwender Informationen:Richtlinien für den Anwender, Hilfe bei derLösungserabeitung
Teil 5: Kommunikationsdienste:Kommunikation innerhalb und zwischen den einzelnenKommunikationspartnern einer Applikation
04/11/23 Seite 22
Schwerpunkt Programmierung:Schwerpunkt Programmierung:
Bildung von Programmstrukturen Einführung abgeleiteter Strukturen, d.h.
eigene Datentypen und Steuerbibliotheken SPS-Programmierung grafisch oder wie in
einer Hochsprache Programmierung von SPS-Systemen! (wo
gibt es dies sonst noch ?)
04/11/23 Seite 23
Modelle der IEC 61131:Modelle der IEC 61131:
Softwaremodell - Struktur der Software Kommunikationsmodell - Informationsfluss
zwischen verschiedenen Steuerungen Programmiermodell - Datendarstellung und
Programmiersprachen Hardwaremodell
04/11/23 Seite 24
ProjektverwaltungProjektverwaltung
Projektname
SPS-Parameter (Typ, Speicher)
Globale Variablen
Programme
Funktionsbaustein
Funktion
Task
04/11/23 Seite 25
ProgrammiermodellProgrammiermodell
Variablen und Datentypen Programmorganisationseinheiten
Programme Funktionsbausteine Funktionen
Programmiersprachen
04/11/23 Seite 26
Programmorganisationseinheiten (POE)
Programmorganisationseinheiten (POE)
Funktion Funktionsbaustein Programm
englische Bezeichnung:
POU (Program Organisation Units)
04/11/23 Seite 27
Elemente einer POEElemente einer POE
Deklarationsteil Variablen Formalparameter und Rückgabewerte Externe und interne Variablen
Anweisungsteil Funktion in einer Programmiersprache realisiert
04/11/23 Seite 28
VariablenVariablen
symbolische Namen physikalischer Standort (I/O, Merker) Müssen dort deklariert werden, wo sie
benutzt werden. Variablenart Bezeichner Datentyp Initialisierung
04/11/23 Seite 29
VariablenartVariablenart
var Lokale Variable
var_input Eingangsvariabel einer POE
var_output Ausgangsvariabel einer POE
var_external Externe Varialbe einer POE
var_global Global geltende Variable ineiner Konfiguration
04/11/23 Seite 30
DatentypenDatentypen
elementare bool, int, float, time
strukturierte enum - Aufzähltypen array - Felder structure - Datenstrukturen
04/11/23 Seite 31
Geltungsbereich der Variablen
Geltungsbereich der Variablen
lokal: nur in der Programmeinheit global: in ganzer Ressource oder Konfiguration
(lokal als extern definieren) gültig in den POE in denen sie deklariert sind
und in allen untergeordneten Einheiten (Eine Variable in einem Programm gilt auch in den Funktionsbausteinen die das Programm aufruft)
04/11/23 Seite 32
InitialisierungInitialisierung
Initialisierung übernimmt Wert vor letzten Stop übernimmt anwenderspezifischen Wert übernimmt voreingestellten Wert des Datentyps
Warmstart gepufferte Variablen (RETAIN)
übernehmen letzten Wert andere die definierten
Anfangswerte
Kaltstart alle übernehmen
Anfangswerte
04/11/23 Seite 33
ProgrammiersprachenProgrammiersprachen
graphische Programmiersprachen KOP (Kontaktplan) FBS (Funktionsbausteinsprache) AS (Ablaufsprache )
Textsprachen AWL (Anweisungsliste) ST (Strukturierter Text)
04/11/23 Seite 34
graphische Sprachen vs. Textsprachengraphische Sprachen vs. Textsprachen
einfach, teilweise auch für Laien verständlich
Kommunikation über Programm einfacher
effizienter bei Inbetrieb-nahme und Wartung
keine Nachdoku-mentation nötig
zwingt zu Program-mierdisziplin
effizienter in der Programmierung
kleinere Dokumente in MB
einfacher im Umgang mit komplexen Datenstrukturen
04/11/23 Seite 35
1. Sprache: FBS1. Sprache: FBS
Programmierung mit Funktionen in der Funktions-Bausteinen-Sprache:
Variablen: Signallinien Funktionen: Rechteck mit Funktionsname
und Signalverbindungsstellen Alle Datenverarbeitungselemente werden
als Funktionsblöcke dargestellt
04/11/23 Seite 36
Darstellung in FBSDarstellung in FBS
Programmierung = Netz von FB verbunden mit Signalen
Programmierung = Netz von FB verbunden mit Signalen
>=1OR
R1
S
Q1
&AND Q1
Variablen(Eingang)
Variablen(Ausgang)
Linien
Funktionsblöcke(Funktionen und Funktionsbausteine)
04/11/23 Seite 37
SiloSilo
04/11/23 Seite 38
2. Sprache: KOP2. Sprache: KOP
Programmierung mit Kontaktplandarstellung und Funktionsbausteinen, Sprache:
Variablen: Bezeichnung von Oeffner, Schliesser, Spulen
Funktionen: durch 'Stromverdrahtung' und Funktionsbausteinen
04/11/23 Seite 39
Beispiel KOP - SiloBeispiel KOP - Silo
Kontakte
Spulen
Funktionsblöcke
04/11/23 Seite 40
Elemente:Elemente:
Schalter Bedeutung
Schliesser Der Zustand der linken Verbindung wird aufdie rechte Verbindung kopiert, wenn derZustand der zugehörigen Variablen 'WAHR'ist. Andernfalls ist der Zustand der rechtenVerbindung 'AUS'.
Var-Name
04/11/23 Seite 41
Var-Name
Schalter Bedeutung
Oeffner Der Zustand der linken Verbindung wird aufdie rechte Verbindung kopiert, wenn derZustand der zugehörigen Variablen 'FALSCH'ist. Andernfalls ist der Zustand der rechtenVerbindung 'AUS'.
Elemente:Elemente:
04/11/23 Seite 42
Schalter Bedeutung
Spule Der Zustand der linken Verbindung wird aufdie zugehörige boolesche Variable und dierechte Verbindung kopiert.
Elemente:Elemente:
Var-Name
04/11/23 Seite 43
Schalter Bedeutung
negativeSpule
Der Zustand der linken Vebindung wird auf dierechte Verbindung kopiert. Die Invertierungdes Zustands der linken Verbindung wird aufdie zugehörige boolesche Variable kopiert.
Elemente:Elemente:
Var-Name
04/11/23 Seite 44
Schalter Bedeutung
Setzender Spule
Der Zustand der linken Vebindung wird auf dierechte Verbindung kopiert, wenn er wahr ist.Die boolesche Variable wird wahr gesetzt.
Elemente:Elemente:
Var-Name
S
04/11/23 Seite 45
Schalter Bedeutung
Rück-setzen derSpule
Der Zustand der linken Vebindung wirdnegierend auf die rechte Verbindung kopiert,wenn er wahr ist. Die zugehörige boolescheVariable wird false gesetzt.
Elemente:Elemente:
Var-Name
R
04/11/23 Seite 46
FunktionFunktion
eine oder mehrere Eingangsvariablen werden zu genau einem Ausgangswert berechnet.
Speichern intern keine Daten Liefert bei gleichen Eingangswerten immer das
gleicher Ergebnis
04/11/23 Seite 47
StandardfunktionenStandardfunktionen
vordefinierte Funktionen SPS wird zu einer vollwertigen Rechnereinheit SPS kann auch Texte bearbeiten SPS kann Datentypen konvertieren die meisten aus Informatik bekannt
04/11/23 Seite 48
FunktionsbausteinFunktionsbaustein
aus einer oder mehreren Eingangsvariablen werden mehrere Ausgangsvariablen berechnet
Strukturierungshilfsmittel innerhalb eines Programmes
Kann mehrfach genutzt werden Kann intern Daten speichern und muss
instanziert werden
04/11/23 Seite 49
FB definierenFB definieren
Deklaration
Anweisungen
Ergebnis muss gespeichert werden
04/11/23 Seite 50
FB RS-Flip-FlopFB RS-Flip-Flop
UND-Bausteine können das Resultat direkt aus den Eingängen berechnen
bei RS-Bausteinen hängt es aber noch zusätzlich vom Wert von Q1 ab:
>=1OR
R1
S
Q1
&AND Q1
04/11/23 Seite 51
Konsequenz:Konsequenz:
Baustein muss Variable zwischen zwei Ausführungen abspeichern
Namen gefordert gelöst durch Instanzennamen = gleich Pointer
auf Objekt
04/11/23 Seite 52
Instanz:Instanz:
Die Instanz ist ein individuelles Exemplar einer Datenstruktur, verknüpft mit einem Funktionsbaustein-Typ oder Programm-Typ, das von einem Aufruf der zugehörigen Operation bis zum nächsten erhalten bleibt.
04/11/23 Seite 53
InstanzierungInstanzierung
Deklaration
Anwendung
04/11/23 Seite 54
Zeitgeber: EinschaltverzögerungZeitgeber: EinschaltverzögerungTON
IN Q
PT
BoolBool
Time ET Time
PT
ET
Q
IN
04/11/23 Seite 55
Zeitgeber: AusschaltverzögerungZeitgeber: AusschaltverzögerungTOF
IN Q
PT
BoolBool
Time ET Time
PT
ET
Q
IN
04/11/23 Seite 56
ProgrammProgramm
logische Anordnung von Funktionen und Funktionsbausteinen mit ihren Verknüpfungen
Ausführung eines Programmes kommt durch die Zuordnung in einer Task zum Ausdruck
Kann Funktionen und Funktionsbausteine aufrufen
04/11/23 Seite 57
Ausführung der Programme:
TasksAusführung der Programme:
TasksEin Task fasst innerhalb einer Ressource ein oder mehrere Programme mit gleichem Ausführungs- und Zeitverhalten zusammen. (Wann sollen sie bearbeitet werden)
Wann, bei welchem Ereignis
Wie oft
Wie dringend
04/11/23 Seite 59
Kommunikationsmodell(wird nur gestreift)
Kommunikationsmodell(wird nur gestreift)
Durch Uebergabe der Variablen bei Funktionsaufruf
Kommunikation über globale Variablen Kommunikation über SEND und RECEIVE-
Funktionen Kommunikation über Zugriffspfade
04/11/23 Seite 60
Uebung: SelbsthaltungUebung: Selbsthaltung
• POE einrichten - Programm• Variablen deklarieren• mit Kontaktplan programmieren
04/11/23 Seite 61
Aufgabe:Aufgabe:
wie werden die folgenden Funktionen programmiert (sie sind gegenüber der FBS-Darstellung verschwunden)?
UND ODER
top related