Hi
wer stellt hier welche Fragen? Sollen wir wohl deine Hausi machen
Die IEC61131 kennt keine OB. Das ist eine Siemens-Erfindung, die vermutlich älter ist als die Norm (oder ich).
Siemens definiert einen Sack voll OB und lässt das Betriebssystem der PLC diese nach vom Siemens-Himmel gefallenen Regeln aufrufen.
In der Hardwarekonfiguration hat der Anwender die Möglichkeit diese Regeln zu beeinflussen. Je nachdem wieviele k€ du für die CPU spendiert hast, hast du mehr oder weniger Möglichkeiten.
Die zyklischen OB (bei der 300/400 die 30er) werden in einem durch den Anwender definierten Zeitraster aufgerufen.
Die Interrupt OB (bei der 300/400 die 40er) werden durch vom Anwender definierte Hardwareereignisse, die wiederum bestimmte Interruptfähige Module voraussetzen, aufgerufen.
Dann gibt es noch Weckalarme (20er) die Aufgrund der Uhrzeit, des Datums, ... was waren noch mal die 10er? Bei den T-CPU gibt es für die Antriebe noch 60er.
Und dann gibt es noch
den OB1. Der läuft wenn sonst nix läuft.
Bei der Norm gibt es keine OB. Du deklarierst Tasks und definierst welchen Baustein welche Task ausführt.
Bei den Tasks kannst du nun festlegen in welchem Zeitraster, zu welchem Zeitpunkt zu welchem Ereignis dieser Task begonnen wird.
Soweit ich mich erinnern kann, hat die Norm kein Ereignis für das was dem OB1 entspricht. Verschiedene Hersteller bieten jedoch einen Hintergrundtask an, der keine weitere Parametrierung hat, damit bist du faktisch wieder beim OB1.
Siemens regelt klar welches Modul/Peripherie wann gelesen/geschrieben wird. Bei neueren PLCs gibt es für alle Module auch ein Prozessabbild.
Die Norm verlagert das auf die Tasks. Die eine Task kann schlecht auf Eingänge der anderen Task zugreifen. Prozessabbild ist nicht.
Bei Siemens hängt die Parametrierung am OB, die Schnittstelle zum Ablaufsystem passt. Die Zahl deiner OB ist bei 300/400 sehr begrenzt. Du brauchst einen Baustein mehr -- den OB.
Bei der Norm hängt die Parametrierung an der Task, die Schnittstelle zum Ablaufsystem ist nicht geregelt. Die Zahl der Tasks ist theoretisch unbegrenzt. Du brauchst einen Baustein weniger -- den OB.
Siemens macht mehr Vorgaben, die gängeln einen mehr
Dafür kann man weniger Fehler machen.
Damit hast du in der Praxis mit der Norm genausoviel Ärger wie bei Siemens. Denn je nach Ereignis muss du ja die entsprechenden Vorgaben machen und deine Funktion eine bestimmte Schnittstelle erfüllen.
Bei real existierenden Systemen ist die Zahl der Tasks trotzdem begrenzt. Irgendwann macht jeder Prozessor schlapp. Ich habe eigentlich keinen praktischen Unterschied zwischen den beiden Welten gefunden.
Das war das an was ich mich ohne doppelten Boden oder Handbuch erinnere.