Unterschiedliche OB-Aufrufe

Andre K

Level-2
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe vor kurzem ein Programm (TIA) gesehen, wo das Programm nicht komplett im OB 1 aufgerufen wurde.

Ich rede jetzt nicht von Fehler-OB´s oder Zeit-OB´s
Im Programm war der OB1 und die OB´s 125-130 vorhanden.

Alle OB´s waren hatten als Ereignisklasse "Program cycle" gewählt. als Zyklisch.

Jetzt zu meiner Frage: Welche Vorteil bringt das?
Wird die Zykluszeit länger wenn ich alles in den OB 1 packe?
Werden die unterschiedlichen OB´s parallel oder nacheinander abgearbeitet?
Wann wird dann die Peripherie aktualisiert?

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.
 
Wird die Zykluszeit länger wenn ich alles in den OB 1 packe?
Nein nur unübersichtlicher (bei sehr kleinen Programmen geht das noch)
Werden die unterschiedlichen OB´s parallel oder nacheinander abgearbeitet?
Parallel geht mal garnicht's ;)
Die OB's haben Prioritäten, so das der eine einen anderen unterbrechen kann.

Wann wird dann die Peripherie aktualisiert?
Üblicher weise Eingänge vor dem OB1-Aufruf und Ausgänge nach dem OB1-Aufruf
Dies muss aber nicht so sein. Die SPS verwendet hier Teilprozessabbilder die entsprechend ihrer Einstellung bei eingestellten OB.

Hoffe es hilft
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mehrere freilaufend zyklische OB (wie OB1) braucht man eigentlich nicht wirklich. Jahrzehntelang sind wir mit nur einem OB1 hingekommen. Alle Ideen was man mit mehreren Teil-OB1 machen könnte, konnte man auch anders lösen. Es soll aber zunehmend Programmierer geben, denen mehr als 20 Anweisungen in einem OB1 als unübersichtlich vorkommen und den üblichen OB1 in mehrere OB aufteilen... ;) Oder die in ihren Projekten immer wieder die gleichen Standard-Bausteine aufrufen müssen und es zu viel Arbeit ist, die Aufrufe der Standard-Bausteine in jedem Projekt immer wieder neu per Hand in den OB1 einzufügen, da macht sich ein zerstückelter OB1 ganz gut, wo die Baustein-Aufrufe schon alle in einem "Teil"-OB1 drin stehen und man muß nur diesen "Teil"-OB (und die aufgerufenen Bausteine) in sein neues Projekt kopieren.

Den OB1 in mehrere OB aufteilen macht es auch möglich, einige der OB "KnowHow"-geschützt zu machen und einen "Haupt"-OB1 offen zu lassen. Für die, die KnowHow-Schutz wollen, aber trotzdem immer mal wieder (z.B. temporär) Kleinigkeiten in den OB1 schreiben wollen.

Ganz genau genommen wird ein SPS-Programm ein ganz kleines bisschen langsamer, wenn man mehrere Teil-OB1 verwendet anstatt alles in nur einen OB1 zu packen.

Harald
 
Zurück
Oben