Schrittkette

Gast #3670790
Lesenswert?

Hallo Forum, ich möchte eine Schrittkette in Step 7 programmiern. Nun 
ist es doch so, dass man dazu für jeden Schritt ein SR-Glied nimmt. 
Gesetzt wird eine Schritt vom vorangegangenen und rückgesetzt vom 
nachfolgendem Schritt. nur werden dann nicht die Aktionen der Schritte 
zurückgesetzt?
Ich frage, weil ich in meinem ersten Schritt die Reglerfreigabe für 
meinen Umrichter (über dig. Eingänge, von LTI) setzen will. Wird die 
aber im nächsten Schritt zurückgesetzt, ist das weitere Programm 
hinfällig. Die Frage ist jetzt ob es eine Möglichkeit gibt einzelne 
Aktionen konstant aufrechtzuhalten?

Um Tipps dankbar!
Paul
Gast #3670833
Lesenswert?

...S7-GRAPH ist bei Siemens nicht mehr stand der Dinge...

Warum baust Du das Programm nicht mit "Freigaben" für die jeweiligen 
Antriebe auf und den Prozess als solches packst Du in die Schrittkette? 
Mit den SR-Gliedern bist Du doch stark flexibel!
Gast #3670853
Lesenswert?

Ich hab mir das Bsp. nicht angeschaut

Wenn Du das so machst
u e0.0
s M1.0 // schrittmerker
s a0.0 // der bleibt stehen bis r a0.0

u m1.0
u e0.1
s m1.1 // naechster schritt
r m1.0
= a0.1 // der verschwindet im naechsten schritt

ist doch alles klar?
Gast #3670867
Lesenswert?

heinz schrieb:
> Ich hab mir das Bsp. nicht angeschaut
>
> Wenn Du das so machst
> u e0.0
> s M1.0 // schrittmerker
> s a0.0 // der bleibt stehen bis r a0.0
>
> u m1.0
> u e0.1
> s m1.1 // naechster schritt
> r m1.0
> = a0.1 // der verschwindet im naechsten schritt
>
> ist doch alles klar?

AWL ist ungewohnt ;). ich dachte mir das so wnn jetzt a0.0 durch das 
aktivieren des nächsten Schrittes rückgesetzt wird (wie oben 
beschrieben), dann ist das doch nicht geeignet für mein Bsp.?
Gast #3670874
Lesenswert?

Ok du hast da etwas falsch verstanden. Die Schrittkette wird mit 
SR-Gliedern aufgebaut. Alles andere was in mehreren Schritten aktiv sein 
soll bekommt extra eigene SR-Glieder.

Außerdem muss beim nächsten Schritt die Transition und der vorherige 
Schritt abgeschlossen sein. Sonst können zwei Schritte aktiv sein.
Gast #3670884
Lesenswert?

Beispiel Schrittkette:

U SM_1 //Abfrage ob Schrittmerker 1 = 1
UN SM_5 //Abfrage ob Schrittmerker 5 = 0
U S1 //Abfrage Transition
UN S2 //Abfrage Transition
S SM_2 //Schrittmerker 2 setzen

U SM_3 //nächster Schritt?
R SM_2 //rücksetzte Schritt



U SM_2 //Abfrage ob Schrittmerker 2 = 1
UN SM_1 //Abfrage ob Schrittmerker 1 = 0
U S3 // Abfrage Transition
S SM_3 //Schrittmerker 3 setzen

U SM_4 //nächster Schritt?
R SM_3 //rücksetze schritt

...
Beispiel Ausgänge:

U SM_1
S A1

U SM_4
R A1

U SM3
= A2
Gast #3670885
Lesenswert?

Hilfe schrieb:
> Ok du hast da etwas falsch verstanden. Die Schrittkette wird mit
> SR-Gliedern aufgebaut. Alles andere was in mehreren Schritten aktiv sein
> soll bekommt extra eigene SR-Glieder.
>
> Außerdem muss beim nächsten Schritt die Transition und der vorherige
> Schritt abgeschlossen sein. Sonst können zwei Schritte aktiv sein.

Ja ich denke das wars. Also setze ich einen Ausgang einfach wiederrum 
mit einem SR-Glied an einem Schritt und setzte ihn an einem anderen 
Schritt wieder zurück.
Gast #3670906
Lesenswert?

Ja genau du hast es verstanden. Durch die Überprüfung ob der vorherige 
Schritt aktiv ist und ob der Schritt vor dem vorherigen Schritt nicht 
aktiv ist sorgt dafür das ein Schritt nicht übersprungen werden kann.
Gast #3671038
Lesenswert?

Paul Dierkes schrieb:

> Also setze ich einen Ausgang einfach wiederrum mit einem
> SR-Glied an einem Schritt und setzte ihn an einem anderen
> Schritt wieder zurück.

Das kann man so machen - das ist dann ein speichernder Ausgang.

Es gibt aber auch nichtspeichernde Ausgänge; die bekommen einfach
ein ODER mit vielen Eingängen; für jeden Schritt, in dem der
Ausgang aktiv sein soll, wir der zugehörige Schrittmerker mit
dem ODER vorm Ausgang verbunden.

Hat beides seine Berechtigung.
(Firma: EleLa - www.elela.de) #3671122
Lesenswert?

Schrittketten sind am einfachsten in SCL zu schreiben. Der Schrittmerker 
ist eine einfache Integer Zahl und nicht viele Einzelmerker.

CASE iStep OF
0: // Schritt 0
  IF Bedingung THEN
    iStep := 1;
  END_IF;
1: // Schritt 1
....
END_CASE;

Einfach, übersichtlich und es ist garantiert immer nur ein Schritt 
aktiv.
Auch überspringen von Schritte und Verzweigungen sind kein Problem.
Gast #3671139
Lesenswert?

Schön, das ganze AWL-Zeug. Ja, ich weiß, mein Prof hat gesagt (vor 25 
Jahren): Ingenieure programmieren in AWL, andere in FUP, und was KOP 
ist, kann man gar nicht sagen.
Praxis habe ich so erlebt: Da stehst Du nachts um 3 an der Anlage und 
nix geht. PG steht auf einer Kiste, 4m entfernt. Und dann sollst Du in 
Status online noch sehen, ob der Ini, den Du jetzt betätigst, in der 
Steuerung an geht.
Habe dann das binäre Zeug nur noch in KOP gemacht, das verstehe ich auch 
noch nachts um 3. (bei UNEOMUAUEUEUNA=A wird es schon schwerer)
Schrittkette: Wird im Neustart-OB initialisiert, läuft dann pro Schritt 
1 Merker. Da es sein kann, daß ein Schritt unmittelbar durchläuft (wenn 
die Bedingung schon zu Beginn erfüllt ist) ist das R und S der Ausgänge 
nicht unbedingt zu empfehlen. Habe meist alle Schritte, die einem 
Ausgang akivieren, verODERt. Ist auch anschaulich im Status online. 
Aufpassen nur, wenn man später einen Schritt einfügt (einen Merker 
nehmen, der noch frei ist. Reihenfolge innerhalb des Byte spielt keine 
Rolle)
Die damit gewonnennen Ausgangssignale sind aber auch Merker! In einem 
zuletzt aufgerufenen Sicherheits-PB werden die Merker in Ausgänge 
übertragen. Aber gegengeprüft, ob das überhaupt sein darf (z.b X-Achse 
nur dann vor, wenn Y-Achse in Grundstellung weil es sonst kracht)
Ausgängen nur an einer Stelle etwas zuweisen! (R S ist eine Ausnahme, 
aber gut, wenn es im gleichen NW passiert). Bei Merkern am besten auch 
so.
Nummer eines Schrittes kann man auch als Zahl in einem byte ablegen (256 
Schritte pro byte möglich), muß dann aber mit byte-Vergleichn arbeiten. 
Ist auf einem Controller besser, und in der SPS auch möglich; 
Geschmackssache.
#3671157
Lesenswert?

abc.def schrieb:
> Da es sein kann, daß ein Schritt unmittelbar durchläuft (wenn
> die Bedingung schon zu Beginn erfüllt ist) ist das R und S der Ausgänge
> nicht unbedingt zu empfehlen.

Dieser Fall wurde doch schon erläutert.

>> Die Überprüfung ob der vorherige
Schritt aktiv ist und ob der Schritt vor dem vorherigen Schritt nicht
aktiv ist sorgt dafür das ein Schritt nicht übersprungen werden kann.

Sonst geht man das Problem an der falschen Stelle an. Bei einer 
Schrittkette dürfen Schritte nicht übersprungen werden. Das mit den S-R 
Glied macht man bei Ausgängen die mehrere Schritte an sein soll.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren