Organisationsbausteine OB in S7
In der Norm EN 61131-3 sind Tasks vorgesehen. Diese werden in Step7 in Form von Organisationsbausteinen bereitgestellt und sind die Schnittstelle zwischen dem Betriebssystem und dem Anwenderprogramm. Sie werden ausschließlich vom bei bestimmten Ereignissen vom Betriebssystem gestartet. Sie können zwar nicht vom Anwenderprogramm gestartet werden, man kann jedoch unter bestimmten Bedingungen vom Anwenderprogramm aus das Betriebssystem antriggern, ein Organisationsbaustein aufzurufen und abzuarbeiten.
Im OB1 befindet sich das Anwenderprogramm bzw. wird hier der Aufruf weiterer Funktionen oder Funktionsbausteine veranlasst. Solange keine besonderen Ereignisse oder Störungen auftreten, wird der Organisationsbaustein OB1 zyklisch abgearbeitet. Damit der OB1 bei Störungen die Abarbeitung unterbricht, sind Organisationsbausteine nach Prioritäten kategorisiert.
Die OB's mit höherer Priorität stoppen die OB's mit der niedrigeren Priorität und arbeiten ihr eigenes Programm ab. Sobald ein OB mit der höheren Priorität das Programm abgearbeitet hat, wird mit der Abarbeitung des OB mit der niedrigeren Priorität fortgesetzt. OB1 hat, bis auf den OB90, die niedrigste Priorität mit 1 und demzufolge kann fast (außer OB90) jeder andere OB die Abarbeitung im OB1 stoppen. Die höchste Priorität bei den OB's hat OB122 mit der Priorität 29, wobei die verfügbaren OB's von der CPU abhängig sind. Einige CPU's haben beispielsweise als höchste OB nur OB100. Die Prioritäten sind voreingestellt und bei einigen OB's können sie innerhalb bestimmter Grenzen geändert, bei manchen nicht geändert werden. Die OB's können entweder aus der Bibliothek genommen oder selbst erstellt werden.
Nachfolgend eine Auflistung über alle OB's mit Beschreibung und der Priorität:
Bausteinart | Baustein | Beschreibung und Ereignis |
Priorität |
---|---|---|---|
Anwenderprogramm | OB1 | Bearbeitung des Anwenderprogramms nach Wiederanlauf (Ende von OB100) und am Zyklusende. | 1 |
Uhrzeitalarm | OB10 OB11 OB12 OB13 OB14 OB15 OB16 OB17 |
Uhrzeit und Datum. Zu einem bestimmten Zeitpunkt kann angetriggert werden, dass ein Uhrzeit OB (10 - 17) aufgerufen wird, der dann ein Programm abarbeitet. Wird auch Uhrzeitalarm OB genannt. | 2 2 2 2 2 2 2 2 |
Verzögerungsalarm | OB20 OB21 OB22 OB23 |
Verzögerungsalarme. Nach einer Verzögerungszeit wird der OB (20 - 23) aufgerufen und das Programm wird abgearbeitet. | 3 4 5 6 |
Weckalarm | OB30 |
Weckalarme, starten periodisch nach einer definierten Zeit. Ähnlich wie Taktsignale, jedoch wesentlich genauer. Außerdem wird die Bearbeitung des OB1 dabei unterbrochen, da sie eine höhere Priorität haben. | 7 8 9 10 11 12 13 14 15 |
Prozessalarm | OB40 OB41 OB42 OB43 OB44 OB45 OB46 OB47 |
Prozessalarme. Reagieren an alarmfähigen Eingangs-, Ausgangs- oder Funktionsbaugruppen auf parametrierte Ereignisse, z.B. positive Flanke, Grenzwertüberschreitung. Werden z.B. eingesetzt, wenn die Reaktionszeit im Programm zu lang ist. | 16 17 18 19 20 21 22 23 |
DPV1-Alarm | OB55 OB56 OB57 |
DPV1-Alarme. In Verbindung mit DPV1-Slaves werden Status-, Update- oder herstellerspezifische Alarme ausgelöst. | 2 2 2 |
Multicomputingalarm | OB60 | Synchroner Betrieb mehrerer CPU's | 25 |
Taktsynchronalarm | OB61 OB62 OB63 OB64 |
Kurze und gleichlange Prozessreaktionszeiten am Profibus-DP projektieren | 25 25 25 25 |
Redundanzfehler | OB70 OB72 |
Fehlerbearbeitung | 25 28 |
Asynchrone Fehler | OB80 OB81 OB82 OB83 OB84 OB85 OB86 OB87 |
Zeitfehler, startet wenn OB1 eine definierte Zykluszeit überschreitet Stromversorgungsfehler Diagnosealarm Ziehen/Steckenalarm Hardwarefehler Programmablauffehler Baugruppenträgerausfall Kommunikationsfehler |
25 bzw. 28 |
Hintergrundzyklus | OB90 | Für die Programmbearbeitung im Hintergrund | 0.29 |
Anlauf | OB100 OB101 OB102 |
Nach Neustart (Warmstart) der CPU Nach Wiederanlauf der CPU Nach Kaltstart der CPU |
27 27 27 |
Synchrone Fehler | OB121 OB122 |
Wenn ein Baugruppenfehler auftritt Wenn ein Baugruppenfehler auftritt |
29 29 |