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 | 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 |
Verzögerungsalarm | OB20 | Verzögerungsalarme. Nach einer Verzögerungszeit wird der OB (20 - 23) aufgerufen und das Programm wird abgearbeitet. | 3 |
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 |
Prozessalarm | OB40 | 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 |
DPV1-Alarm | OB55 | DPV1-Alarme. In Verbindung mit DPV1-Slaves werden Status-, Update- oder herstellerspezifische Alarme ausgelöst. | 2 |
Multicomputingalarm | OB60 | Synchroner Betrieb mehrerer CPU's | 25 |
Taktsynchronalarm | OB61 | Kurze und gleichlange Prozessreaktionszeiten am Profibus-DP projektieren | 25 |
Redundanzfehler | OB70 | Fehlerbearbeitung | 25 |
Asynchrone Fehler | OB80 | Zeitfehler, startet wenn OB1 eine definierte Zykluszeit überschreitet | 25 bzw. 28 |
Hingergrundzyklus | OB90 | Für die Programmbearbeitung im Hintergrund | 29 |
Anlauf | OB100 | Nach Neustart (Warmstart) der CPU | 27 |
Synchrone Fehler | OB121 | Wenn ein Baugruppenfehler auftritt | 29 |