Schrittkette mit nur 2 Schritten programmieren

Corradoli

Level-2
Beiträge
16
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

eine mir zunächst einfach erscheinende Aufgabe ist beim Programmieren dann doch zu einem Problem geworden. Ich habe euch den Ausschnitt eines GRAFCET angehängt, die weitere fehlende Parallelverzweigungen sollte bei meinem Problem keine Rolle spielen. Es geht mir um die Programmierung des ersten Zweiges. Dieser besteht ja lediglich aus den Schritten 0 und 1.
Und hier versagen die Regeln, wie ich es gelernt habe eine Schrittkette zu programmieren:
1. Ein Schritt kann nur gesetzt werden, wenn der vorherige Schritt und die Transition erfüllt sind.
2. Ein Schritt wird vom nachfolgenden Schritt rückgesetzt.

Soweit so gut, wenn ich das aber mit SR-Flip-Flops umsetzte, kann Schritt 2 nie gesetzt werden, da er durch die Rücksetzdominanz des Flip-Flop von Schritt 1 direkt zurückgesetzt wird, siehe TIA-Simulation.

Ist es sinnvoll dieses Problem mit Setzdominanten Flip-Flops zu lösen, mit denen wäre ich persönlich ja vorsichtig, oder gibt es da elegantere Lösungen?

Danke für eure Hilfe und viele Grüße!
 

Anhänge

  • Schrittkette.jpg
    Schrittkette.jpg
    29,6 KB · Aufrufe: 114
  • TIA_Simulation.jpg
    TIA_Simulation.jpg
    49,4 KB · Aufrufe: 115
2. Ein Schritt wird vom nachfolgenden Schritt rückgesetzt.
Bei deiner Schrittkette, mit nur 2 Schritten wird dein Schritt 2 ja eigentlich vom vorhergehenden Schritt (Schritt 1) zurückgesetzt. Ob eine Schrittkette wie du sie hier zeigst wirklich Sinn lasse ich mal dahingestellt sein.
Du wirst wohl von deiner Regel 2 abweichen müssen und dir für´s rücksetzen von Schritt 2 was anderes programmieren müssen.
 
Lösungen gibt es da sicher einige. Wenn Du nicht von dem Muster abweichen willst, kannst Du auch einfach einen 3. dummy Schritt einbauen.
Abgesehen davon, dass der Teil der SK einfach nur P1 := S1; darstellt und gar keiner Schrittkette bedarf.

Was mich dazu bringt, dass der Parallelzweig gar nicht so unwichtig ist. Denn der Schritt2 (Schritt 1 im GRAFCET, mein innerer Monk ist getriggert) wird ja erst verlassen, wenn die nachfolgende Transition erfüllt ist und der Parallelzweig auch da am Ende angekommen ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht aber doch? Mit welchem Schritt würde denn S1 zurück gesetzt werden, wenn nachfolgende Schritte vorhanden wären? Manchmal muss man in so einen Fall auch ganz einfach einen Zwischenschritt einfügen.
Das wäre natürlich eine Lösung, kommt ja auch der Lösung von codemonkey gleich, einfach einen Dummy-Schritt einfügen. Dank euch, werde das mal versuchen und mich wieder melden.

Eure andere Anmerkung, das der Parallelzweig vielleicht doch wichtig wäre. Ich hänge gerne den kompletten GRAFCET an, dachte nur, die Parallelverzweigung kann ja nur verlassen werden, wenn in jedem Teilzweig der letzte Schritt aktiv ist und die gemeinsame Transition, hier also S1NICHT erfüllt sind. Und da stoße ich durch mein bisheriges Schema auf mein beschriebenes Problem...
 
Hallo Corradoli,

nur so als Anmerkung, bei endlichen Automaten sollte immer nur ein Schritt aktiv sein. Bei der Lösung mit SR Gliedern kann es passieren das für einen Zyklus beide Schritte aktiv sind.

Gruß

2023-05-10 06_36_12-Siemens.png
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier ergeben sich 2 Schritte, die immer wieder durchlaufen werden.Oder verstehe ich das falsch?

UN M Verriegelung //verhindert das er in Schritt 1 geht
S M Schritt 1 //Schritt 1
S M Verriegelung

U M Schritt1
U Transition 1
R Schritt 1
S Schritt 2 // Schritt 2

U M Schritt 2
U Transition 2
R Schritt 2
R M Verriegelung // jetzt kann er wieder in Schritt 1
 
Genau, es handelt sich also um einen Grafcet, der aus (nur) 2 Schritten besteht.
Beispiel siehe Bild:
 

Anhänge

  • Zeitbegrenzung_zwei_Möglichkeiten.png
    Zeitbegrenzung_zwei_Möglichkeiten.png
    21,1 KB · Aufrufe: 15
Zurück
Oben