Frage zu S7 und OB35

merlin

Level-1
Beiträge
184
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Also im Normalfall funktioniert das ja so, dass das Prozessabbild der Eingänge gelsene wird, dann der OB1 durchgearbeitet wird und dann das Prozessabbild der Ausgänge geschrieben wird. Nehmen wir mal an es dauer 10ms bis der OB1 durchgelaufen ist.

Wenn ich jetzt einen OB35 mit 3ms Intervall erstelle. Der kommt dann ca. 3 mal in einem OB1 Durchlauf.

Meine Fragen:
Arbeitet der OB35 mit dem Prozessabbild des OB1 oder liest der vorher erneut ein?

Schreibt der OB35 am Ende das Prozessabbild der Ausgänge?

Wann wird der OB35 aufgerufen. Immer nach 3ms oder ist das irgendiwe geregelt, dass der OB1 zB noch das Netzwerk fertig arbeitet oder so in der Art?

Der OB35 unterbricht den OB1 oder? Oder läuft der OB35 dann parallel zum OB1?

Danke für eure Hilfe
Tom
 
Hallo.
Meines Wissens arbeitet der OB35 mit dem zyklischen Prozessabbild. OB35 erzeugt einen Interrupt (Unterbrechung) des OB1, läuft also nicht parallel. Das zyklische Programm des OB1 wird unterbrochen und der Codeinhalt des OB35 abgearbeitet, dann wird zu der Stelle des zyklischen Programmes zurückgesprungen.
Zusatz: Wenn die Abarbeitung des im OB35 enthaltenen Codes länger dauert, als sein definierter Aufrufzyklus wird ein Fehler-OB aufgerufen (OB82 glaub ich). Also nicht so viel unnützes Kram in den OB35 reinprogrammieren oder die Aufrufzeit entsprechend anpassen.

Gruß
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Vorweg:
Eigentlich hat Approx alles gesagt!
Arbeitet der OB35 mit dem Prozessabbild des OB1
Ja
oder liest der vorher erneut ein?
Nein, außer Du machst es manuell: L PEW
Schreibt der OB35 am Ende das Prozessabbild der Ausgänge?
Nein, außer Du machst es manuell: T PAW
Wann wird der OB35 aufgerufen. Immer nach 3ms ?
Ja
oder ist das irgendiwe geregelt, dass der OB1 zB noch das Netzwerk fertig arbeitet oder so in der Art?
Nein, unterbricht sofort
Der OB35 unterbricht den OB1 oder?
Ja
Oder läuft der OB35 dann parallel zum OB1?
Nein
***********
 
mein senf

n.b. das gilt wohl für alle ob's. sie werden nach priorität (siehe hwconfig) durchgelaufen, wobei ob1 natürlich die niedrigste hat.. daraus folgt, sogar ein interrupt ob kann durch einen interrupt unterbrochen werden.

die maximale zykluszeit auf welches sich das ob80 bezieht ist einstellbar (hwconfig)
 
n.b. das gilt wohl für alle ob's. sie werden nach priorität (siehe hwconfig) durchgelaufen, wobei ob1 natürlich die niedrigste hat.. daraus folgt, sogar ein interrupt ob kann durch einen interrupt unterbrochen werden.

die maximale zykluszeit auf welches sich das ob80 bezieht ist einstellbar (hwconfig)

nicht ganz richtig

Organisationsbaustein für die Programmbearbeitung im Hintergrund (OB 90)Organisationsbaustein für die Programmbearbeitung im Hintergrund (OB 90)

Falls Sie mit STEP 7 eine Mindestzykluszeit vorgegeben haben und diese größer als die tatsächliche Zykluszeit ist, steht der CPU am Ende des zyklischen Programms Bearbeitungszeit zur Verfügung. Diese wird für die Bearbeitung des Hintergrund-OBs genutzt. Falls der OB 90 auf Ihrer CPU nicht vorhanden ist, wartet die CPU, bis die vorgegebene Mindestzykluszeit abgelaufen ist. Sie können über den OB 90 also zeitunkritische Prozesse ablaufen lassen und damit Wartezeiten vermeiden.
Priorität des Hintergrund-OB
Der Hintergrund-OB hat die Prioritätsklasse 29, was der Priorität 0.29 entspricht. Er ist also der OB mit der niedrigsten Priorität. Die Prioritätsklasse kann durch Parametrierung nicht geändert werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
na gut, mahl ehrlich, jemals ob90 verwendet? oder überhaupt mal ne cpu in den händen gehalten welche diensen unterstützt. von der 3xx serie gibts da nur die FAMOSE 318 welche seit jahren nicht mehr gebaut wird...
 
dezentrale Peripherie

Das mit dem Programmablauf und Interrupt (Unterbrechung) schein ja nun geklärt zu sein.
Allerdings gibt es noch zu beachten, dass das Einlesen und Ausgeben der Peripherie (Ein- und Ausgänge) nicht zyklisch erfolgt. In der Dokumentation der einzelnen Baugruppen kann man nachlesen wie schnell das erfolgt. Z.B. eine ganz normale Analogeingangskarte wird nur alle 100-120ms aktualisiert. Dazu kommt dann noch die Profibuslaufzeit (wenn vorhanden) und dieser kann auch noch 30ms haben.

Dirk
 
Das mit dem Programmablauf und Interrupt (Unterbrechung) schein ja nun geklärt zu sein.
Allerdings gibt es noch zu beachten, dass das Einlesen und Ausgeben der Peripherie (Ein- und Ausgänge) nicht zyklisch erfolgt. In der Dokumentation der einzelnen Baugruppen kann man nachlesen wie schnell das erfolgt. Z.B. eine ganz normale Analogeingangskarte wird nur alle 100-120ms aktualisiert. Dazu kommt dann noch die Profibuslaufzeit (wenn vorhanden) und dieser kann auch noch 30ms haben.
Analoge ein und ausgägne werden auch nicht in das prozessabbild aufgenommen. das auslesen dieser erfolgt direkt auf der periferie PAW PEW.. das was in der dokumentation steht ist die samplezeit des a/d wandlers.. wieder was anderes..

Digitale ein und ausgänge können auch direkt gelesen und geschrieben werden, immer PEW und PAW, ausgänge werden aber anscheinend am zyklusende mit dem prozessabbild überschrieben. Zusatzlich gibt es noch das teilprozessabbild, welches in der Hardwareconfig für die ob's einstellbar ist.
glaub aber nicht dass das hier genauer ausgeführt werden muss..
lassmer mal zuerst feierabend werden :sm24:

 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
die Sache mit den Teilprozeßabbildern wird vorwiegend beim PCS7 verwendet, da dort die CFC-Pläne in den Weckalarm-OB´s liegen, um zu gewährleisten, daß diese Pläne immer im gleichen Zeitraster aufgerufen werden. Diesen OB´s ordnet man dann die entsprechenden Teilprozeßabbilder zu, wodurch gewährleistet ist, daß der jeweilige OB immer ein "frisches Prozeßabbild" hat. Die entsprechenden Ein- und Ausgangskarten werden vorher dem jeweiligen Teilprozeßabbild zugewiesen.

Gruß Frank
 
Zuletzt bearbeitet:
Analoge ein und ausgägne werden auch nicht in das prozessabbild aufgenommen. das auslesen dieser erfolgt direkt auf der periferie PAW PEW..​


Das wär mir neu, es kommt drauf an wie groß das Prozessabbild ist bzw. auf welche Adressen die Analogen I/O´s projektiert wurden. Somit können die Analogen Adressen im Prozessabbild liegen und über EW bzw. AW bearbeitet werden.
 
[/LEFT]
Das wär mir neu, es kommt drauf an wie groß das Prozessabbild ist bzw. auf welche Adressen die Analogen I/O´s projektiert wurden. Somit können die Analogen Adressen im Prozessabbild liegen und über EW bzw. AW bearbeitet werden.
Standardmäßig schlägt die HWConfig adressen ausserhalb des Prozessabbildes vor, welche dann je nach Steckplatz noch weites verschoben werden. Klar ist es möglich die adressen umzukonfigurieren.. es ist ja auch möglich einem prozessor den kühler abzumontieren und ihn als kaffekocher zu benutzen. wie sinnvoll das ist, liegt dann im auge des betrachters..
 
Zurück
Oben