06.11.2013 Aufrufe

Simatic S7 von Siemens - Portal Automatisierungstechnik der tsm

Simatic S7 von Siemens - Portal Automatisierungstechnik der tsm

Simatic S7 von Siemens - Portal Automatisierungstechnik der tsm

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Dipl.Ing. Norbert Heinlein<br />

FH Frankfurt, Labor für <strong>Automatisierungstechnik</strong><br />

2.2 Programmbausteine: OB, FC, DB, FB, SFC, SFB<br />

Das Bausteinkonzept <strong>von</strong> STEP7 unterscheidet sich <strong>von</strong> den Festlegungen <strong>der</strong> Norm IEC 1131-3. Es ist für das<br />

Verständnis <strong>von</strong> STEP7 <strong>von</strong> zentraler Bedeutung!<br />

Eine Beson<strong>der</strong>heit sind die Systembausteine SFC und SFB. Sie sind bereits in <strong>der</strong> jeweiligen CPU vorhanden. Alle<br />

an<strong>der</strong>en erfor<strong>der</strong>lichen Bausteine werden vom Programmierer erstellt o<strong>der</strong> in das <strong>S7</strong>-Programm importiert.<br />

Hinsichtlich des Inhalts können Bausteine unterschieden werden in<br />

• Codebausteine<br />

Diese enthalten Programmanweisungen (Code). Alle OB, FC, FB, SFC, SFB sind Codebausteine.<br />

• Datenbausteine (DB’s)<br />

enthalten Speicherplatz für Daten. Der Programmierer legt die Größe und Datenstruktur <strong>von</strong> DB’s fest. Auf die<br />

Daten kann man durch Anweisungen in Codebausteinen zugreifen. DB’s werden für die Speicherung <strong>von</strong><br />

statischen Variablen (Messwerte, Rezepturen, Regelparameter etc.) verwendet.<br />

Codebausteine können hinsichtlich des Programmablaufs in zwei Gruppen unterschieden werden.<br />

• Organisationsbausteine (OB’s) werden bei bestimmten Ereignissen vom Betriebssystem gestartet.<br />

• Alle an<strong>der</strong>en Codebausteine werden durch Anweisungen im Anwen<strong>der</strong>programm gestartet.<br />

2.2.1 Organisationsbausteine (OB‘s)<br />

OB‘s bilden die Schnittstelle zwischen dem SPS-Betriebssystem und dem Anwen<strong>der</strong>programm. Sie können nicht<br />

durch Programmanweisungen gestartet werden! Stattdessen wird <strong>der</strong> Start <strong>von</strong> OB’s beim Eintreten <strong>von</strong> festgelegten<br />

Ereignissen durch das CPU-Betriebssystem veranlasst.<br />

OB’s werden durch Systemereignisse ausgelöst!<br />

Die nachfolgende Tabelle zeigt eine Auswahl <strong>der</strong> wichtigsten OB’s mit den betreffenden Ereignissen und <strong>der</strong><br />

zugehörigen Priorität. Ein OB höherer Priorität unterbricht die Bearbeitung des OB mit niedrigerer Priorität. Am Ende<br />

des höherprioren OB’s wird die Bearbeitung des unterbrochenen OB’s fortgesetzt.<br />

Priorität OB-Nr Name Systemereignis<br />

niedrigste OB1 Zyklus am Zyklusende und nach dem Anlauf (Ende <strong>von</strong> OB100)<br />

OB10 Uhrzeitalarm definierte Uhrzeit o<strong>der</strong> Datum<br />

OB35 Weckalarm "Zeit-Interrupt" periodisch jeweils nach einer definierten Zeit<br />

OB40 Prozessalarm "I/O-Interrupt" bei bestimmten Signalen <strong>der</strong> I/O-Peripherie<br />

OB80 Zykluszeitfehler OB1-Zyklus überschreitet eine definierte Zeit<br />

OB100 Anlauf beim Anlauf <strong>der</strong> SPS, d.h. bei Stop=>Run<br />

höchste OB122 Baugruppenfehler wenn beim Baugruppenzugriff ein Fehler erkannt wird<br />

Am häufigsten wird in Anwen<strong>der</strong>programmen <strong>der</strong> OB1 (Zyklus) eingesetzt. Viele STEP7-Programme verwenden den<br />

OB1 sogar als einzigen OB. Wegen <strong>der</strong> niedrigen Priorität kann er durch alle Systemereignisse unterbrochen<br />

werden. Die höchste Priorität hat <strong>der</strong> OB122, <strong>der</strong> bei <strong>der</strong> Erkennung <strong>von</strong> Baugruppenfehlern sofort bearbeitet wird.<br />

Die Anzahl <strong>der</strong> verfügbaren OB’s hängt ab <strong>von</strong> den Leistungsdaten <strong>der</strong> verwendeten CPU. Beispielsweise kennt die<br />

kleinste CPU (CPU312 IFM) nur OB1, OB40 und OB100.<br />

Wenn ein bestimmtes Systemereignis eintritt, <strong>der</strong> Anwen<strong>der</strong> aber den betreffenden OB nicht erstellt hat, dann<br />

passiert folgendes: das System verzweigt auf die OB-Adresse, dort steht aber nichts, also wird <strong>der</strong> unterbrochene<br />

OB sofort weiterbearbeitet.<br />

Eine beliebte Fehlerquelle besteht darin, dass irgendein Baustein eigentlich zyklisch bearbeitet werden soll, aber im<br />

OB1 <strong>der</strong> betreffende Bausteinaufruf fehlt. Dann passiert nichts und <strong>der</strong> Programmierer wun<strong>der</strong>t sich.<br />

<strong>S7</strong>kurs_2004.doc 27.10.05 Programmieren mit STEP 7 Seite 6

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!