Step 7 OB35 statt OB1 verwenden

Frank2728

Level-1
Beiträge
27
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich muss für ein Praktikum eine Motorregelung programmieren, soweit ich es verstanden habe soll der OB35 benutzt werden, weil er gleichmäßig läuft. Heißt das nun, dass der OB1 dann gar nicht benutzt oder sogar gelöscht wird?

Ich hab beim Rumsuchen im Internet was davon gelesen, dass der OB35 wohl irgendwie aus dem OB1 heraus aufgerufen werden soll in bestimmten Abständen (?), ich finde aber nichts darüber, wie das genau aussehen soll.

Danke für alle Tips
Frank
 
OB1 und OB35 sind zwei "parallele" Einsprungpunkte in das Anwenderprogramm.
Der OB35 wird alle einstellbare Zeit (z.B. 100ms) aufgerufen, dazu unterbricht er den meistens gerade laufenden OB1 und setzt den OB1 nach Ende der OB35-Ausführung an der unterbrochenen Stelle fort. Das Prozessabbild der Eingänge und Ausgänge wird für den OB35 nicht aktualisiert, will man da mit aktuellen Eingangswerten arbeiten und Ausgänge schalten dann muß man direkt auf die Peripherieadressen zugreifen.
Der OB1 wird aufgerufen, wenn "sonst nichts weiter" zu tun ist. Im OB1-Zyklus werden die Eingänge von den Eingabebaugruppen in das Prozessabbild der Eingänge gelesen und die Ausgänge aus dem Prozessabbild der Ausgänge in die Ausgabebaugruppen geschrieben.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
Der allgemeine Programmcode wird wie gewohnt im OB1 aufgerufen (in FB's und FC's strukturiert).

Nur der eigentliche Reglerbaustein (üblicherweise der "PID_Compact") wird in einem OB35 mit einem zyklischen Zeitintervall abgearbeitet, da es für eine Reglergleichung unerlässlich ist das der Aufruf der Funktion in zeitlich immer gleichen Abständen erfolgt. Wie schnell dies erfolgt (100ms, 250ms, 500ms, 1s) ist dabei vom Prozess abhängig. Es gilt so oft wie nötig und nicht so oft wie möglich.

Den Aufrufinterval der zyklischen Bausteine OB35 (usw.) kannst du in TIA Step 7 Professional selber einstellen (statisch) und muss, wenn ich mich richtig erinnere, dem Reglerbaustein sogar irgendwo mitgeteilt werden.

Die Versorgung des Reglerbausteins mit seinen Informationen (Regelparametern) kann durchaus im OB1 (zum Beispiel aus einem FB) erfolgen.

EDIT: Lies in Ruhe das Hilfesystem von Step 7 zu dem gewünschten Funktionsbaustein durch. Es ist einiges an Text, jedoch meiner Meinung nach lesenswert und sogar mit einem Beispielprogram ausgestattet:
2018-12-04 12_35_15-Informationssystem.jpg
 
Zuletzt bearbeitet:
OB1 und OB35 sind zwei "parallele" Einsprungpunkte in das Anwenderprogramm.
Der OB35 wird alle einstellbare Zeit (z.B. 100ms) aufgerufen, dazu unterbricht er den meistens gerade laufenden OB1 und setzt den OB1 nach Ende der OB35-Ausführung an der unterbrochenen Stelle fort. Das Prozessabbild der Eingänge und Ausgänge wird für den OB35 nicht aktualisiert, will man da mit aktuellen Eingangswerten arbeiten und Ausgänge schalten dann muß man direkt auf die Peripherieadressen zugreifen.
Der OB1 wird aufgerufen, wenn "sonst nichts weiter" zu tun ist. Im OB1-Zyklus werden die Eingänge von den Eingabebaugruppen in das Prozessabbild der Eingänge gelesen und die Ausgänge aus dem Prozessabbild der Ausgänge in die Ausgabebaugruppen geschrieben.

Harald

Ich will dich als alten Forenhaudegen da nicht zu nahe treten aber das ist nicht ganz korrekt. Man könnte auch Teilprozessabbilder verwenden.
Du kannst für deine OBs Teilprozessabbilder definieren die dir ein Zugriff zur Laufzeit ermöglichen (Sie werden dann aber auch nicht mehr über OB1 geschrieben/gelesen!!).

Das ist aber denke ich schon "höheres" Anwender Know How.
 
Zurück
Oben