Step 7 Ausgänge für den 1. Zyklus blockieren

Student1992

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

Ihr habt mir schon oft geholfen, doch nun bin ich registriert und stelle meine erste Frage.

Ich habe ein eine kleine Funktion die Ausgänge steuert das funktioniert auch alles prima.
Aber nun möchte ich alle Ausgänge für den allerersten Zyklus (also nur für Neustarts) blockieren - also keine Freigabe für die Ausgänge erteilen.

Ich habs mit OB1_SCAN_1 und sogar OB1_PREV_CYCLE versucht aber ich bekomme es nicht hin:confused:.
Mir wäre es ganz lieb wenn dies in AWL (oder auch kop,fup) zu lösen ist.

Gruß, Basti :sm14:
 
Du brauchst doch nur im Anlauf-OB ein Bit setzen, auf welches du dann bei deinen Ausgängen auf UN abfragst.
Nach den Ausgängen dann dieses Anlauf-Bit resetten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ausgänge sind im ersten Zyklus eh "0" und werden erst am Beginn des 2'ten Zyklus ins PAA mit "1" dann geschrieben ...

Entweder Merker für Neustart erzeugen (zB im OB100 "setzen" und Ende OB 1 "rücksetzen") oder über OB1_SCAN_1 sich einen Merker setzen oder Alternativ einen Merker am Ende vom OB1 setzen ...
 
Danke für die schnellen Antworten. Ich habe es nun dank deiner Hilfe gelöst Eraser. Manchmal sollte man wohl einfach ne pause machen :rolleyes:
 
Das stimmt nicht.
Wenn ich im Anlauf (OB100) bereits ABs setze, so werden diese (bei "neueren" CPUs ab 10/98 [steht so in der Simatic Hilfe]) jeweils vor dem Ausführen des OB1 an die PAAs übertragen. D.h. es ist möglich bereits im ersten OB1 gesetzte Ausgänge zu haben.

Aus der Simatic Hilfe:

Organisationsbaustein für zyklische Programmbearbeitung (OB 1)

Die zyklische Programmbearbeitung ist die "normale" Programmbearbeitung bei speicherprogrammierbaren Steuerungen. Das Betriebssystem ruft zyklisch den OB 1 auf und startet damit die zyklische Bearbeitung des Anwenderprogramms.
Ablauf der zyklischen Programmbearbeitung
Nachfolgende Tabelle zeigt die Phasen der zyklischen Programmbearbeitung:
Schritt

[TD="width: 245, bgcolor: #d9d9d9"] Ablauf bei CPUs bis 10/98[/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Ablauf bei CPUs ab 10/98[/TD]

[TD="width: 52, bgcolor: #d9d9d9"] 1 [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Das Betriebssystem startet die Zyklusüberwachungszeit.[/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Das Betriebssystem startet die Zyklusüberwachungszeit.[/TD]

[TD="width: 52, bgcolor: #d9d9d9"] 2 [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Die CPU liest den Zustand der Eingänge an den Eingabebaugruppen aus und aktualisiert das Prozessabbild der Eingänge. [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Die CPU schreibt die Werte aus dem Prozessabbild der Ausgänge in die Ausgabebaugruppen. [/TD]

[TD="width: 52, bgcolor: #d9d9d9"] 3 [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Die CPU bearbeitet das Anwenderprogramm und führt die im Programm angegebenen Operationen aus.[/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Die CPU liest den Zustand der Eingänge an den Eingabebaugruppen aus und aktualisiert das Prozessabbild der Eingänge. [/TD]

[TD="width: 52, bgcolor: #d9d9d9"] 4 [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Die CPU schreibt die Werte aus dem Prozessabbild der Ausgänge in die Ausgabebaugruppen. [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Die CPU bearbeitet das Anwenderprogramm und führt die im Programm angegebenen Operationen aus.[/TD]

[TD="width: 52, bgcolor: #d9d9d9"] 5 [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Am Ende eines Zyklus führt das Betriebssystem anstehende Aufgaben aus, z. B. Laden und Löschen von Bausteinen, Empfangen und Senden von Globaldaten.[/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Am Ende eines Zyklus führt das Betriebssystem anstehende Aufgaben aus, z. B. Laden und Löschen von Bausteinen, Empfangen und Senden von Globaldaten.[/TD]

[TD="width: 52, bgcolor: #d9d9d9"] 6 [/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Anschließend kehrt die CPU zum Zyklusanfang zurück und startet erneut die Zykluszeitüberwachung.[/TD]
[TD="width: 245, bgcolor: #d9d9d9"] Anschließend kehrt die CPU zum Zyklusanfang zurück und startet erneut die Zykluszeitüberwachung.[/TD]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das stimmt nicht.
Wenn ich im Anlauf (OB100) bereits ABs setze, so werden diese (bei "neueren" CPUs ab 10/98 [steht so in der Simatic Hilfe]) jeweils vor dem Ausführen des OB1 an die PAAs übertragen. D.h. es ist möglich bereits im ersten OB1 gesetzte Ausgänge zu haben.

Hier gibt es aber eigentlich 2 Dinge anzumerken:

1.
Aktoren welche man im Ablaufprogramm ansteuert, steuert man eigentlich auch nicht im OB100 an, da man ja (bei 300'er) keine Unterscheidung zwischen Neustart oder Wiederanlauf hat ...

2.
Hier ist die Frage ob nach dem OB100 sofort der Zyklus beendet ist (danach Aktualisierung PAE / PAA erfolgt) oder ob danach der OB1 zuerst (quasi 2'ter Zyklus) ausgeführt ausgeführt wird!
Habe auf die schnelle versucht hier etwas genaueres in der Doku zu finden, wie der Zyklus bei Anlauf genau sich verhält, habe aber nix gefunden was in Bezug zum OB100 ist.

Falls Du etwas Du hast, wäre es schön wenn Du es hier posten würdest ....
Daher trotzdem, wird bei mir/uns nichts an Ausgänge im OB100 beschrieben, dies wird alles im normalen Zyklus (ggf. über Anlaufmerker) gemacht!
 
Zurück
Oben