Schrittkettenprogrammierung

Holle6

Level-1
Beiträge
56
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie ist es am besten ohne Graph eine Schrittkette zu programmieren?
Ich möchte einfach Schritte hinzufügen können ohne den ganzen Merkerbereich zu verschieben.
Gibt es hierfür beispiele oder Doku ?
Bis jetzt habe ich immer mit Setzen und Rücksetzen gearbeitet.
 
Hallo,

also ich programmiere meine Schrittketten mit dem
SPL Befehl. Dies hat den Vorteil das man schon beim Lade
Befehl sieht in welchem Schritt sich die Kette befindet.

Beispiel:

Code:
      L      #Schrittnr                // Nummer des Sprungziels
      SPL   m2                         // Sprungziel, wenn > letzter
      SPA   s0                          // Sprungziel, wenn = 0
      SPA   s1                          // Sprungziel, wenn = 1
      SPA   s2                          // Sprungziel, wenn = 2
      SPA   s3                          // Sprungziel, wenn = 3
      SPA   s4                          // Sprungziel, wenn = 4
      SPA   s5                          // Sprungziel, wenn = 5
m2:   L     0
         T    #Schrittnr
 
s0: ...... Schritt 0 warten auf Start
     wenn erfüllt
    [B]SPB[/B] next
    BEA
 
s1: ...... Schritt 1
     // Aktionen
 
     // Transitionen
    wenn erfüllt
    [B]SPB[/B] next
    BEA
 
s2: ...... Schritt 2
     // Aktionen
 
     // Transitionen
    wenn erfüllt
    [B]SPB[/B] next
    BEA 
 
... usw ...
 
BEA
next: L  #Schrittnr     // Schrittnummer um ein erhöhen
        +1
        T #Schrittnr

MfG
Daniel
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

die Frage war ja:

Wie ist es am besten ohne Graph eine Schrittkette zu programmieren?

Meiner Meinung nach ist das Programmieren mit Merkern bei komplexeren
Sachen zu unübersichtlich und Graph blät die ganze Sache extrem auf.

MfG
Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich finde die Lösung von Daniel sehr gut, bloß bei der Merkergeschichte kann man ruck zuck auch auf andere Systeme konvertieren, die Lösung ist halt Standard, Daniels Lösung ist da schon übersichtlicher, und Graph oder Higraph muß man erstmal haben :cry: , wenn man natürlich aus dem Vollen schöpfen kann.........
 
Der Nörgler schrieb:
Dann nehme HiGraph das blät die Sache nicht ganz so auf.

[Nørgelmodus ein]Dann macht mein Highgraph nicht das was andere Versionen machen. [Nørgelmodus aus]

Ich mache es auch immer mit der SPL. Das ist super. Wann muss ich auch schon eine Schrittkette auf ein anderes System åbertragen.

Und die SK habe ich immer in einem FB, so kann ich die auch mehrfach verwenden.

pt
 
Genau so.

Das mit der Schrittkette mit dem SPL Befehl hat noch einen großen
Vorteil, es kann mit einem Timer in jedem Schritt eine Weiterschaltverz.
programmiert werden.

MfG
Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich halte mir auch øfter Schritte frei, so kann man ohne grossen Aufwand Schritte einfågen.

Bevorzugen wuerde ich natuerlich auch Highgraph, aber da fehlt es leider oft an der Akyeptany.

pt
 
Wenn man zudem noch für jeden Schritt ein eigenes Netzwerk verwendet, wird das Ganze übersichtlicher und man erkennt später in den Verweisen der Referenzliste direkt in welchem Schritt sich der Eintrag befindet, oder wenn das Programm länger wird, reicht ein Blick nach unten rechts und man weiss in welchem Schritt man sich befindet.
 
Hallo Daniel

Wird das mit den SPL befehlen nicht ein bisschen unübersichtlich wenn man mehrere Verzweigungen hat?
Oder nimmt man hierfür mehrere verschiedene Schrittnummermerker ??



MFG Holle
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

das mit den Verzweigungen bei SPL würde mich auch interessieren. Wie programmiere ich Alternativ bzw. Simultan Verzweigungen.
Wenn ich soetwas brauche mache ich es mit Graph, aber leider werden die Bausteine so gross (incl. FC7x und DB), das ich manchmal Probleme mit dem Speicher bekomme und eine grössere CPU kann ich dem Kunden meist nicht verkaufen.

mfg
marlob
 
Hallo,

genau das ist das grosse Problem mit Graph, die riesen Bausteine.

Verzweigungen sind mit dieser Methode natürlich auch möglich genau so
wie Simultan Verzweigungen.

Ich schreibe diese dann in einen seperaten Schrittketten (FB) dieser wird
dann durch die übergeordnete Ablaufkette gestartet.

Denn groben Aufbau dieses FB's habe ich bereits oben in der 1. Antwort auf
die Frage dargestellt.

MfG
Daniel
 
das mit den Verzweigungen bei SPL würde mich auch interessieren. Wie programmiere ich Alternativ bzw. Simultan Verzweigungen.
Wenn ich soetwas brauche mache ich es mit Graph, aber leider werden die Bausteine so gross (incl. FC7x und DB), das ich manchmal Probleme mit dem Speicher bekomme und eine grössere CPU kann ich dem Kunden meist nicht verkaufen.

Dass ist tatsächlich ein Problem, aber manchmal muss man im sauren Apfel beißen. Mein aktuelles Projekt hat 21 funktional identische Modulen die synchronisiert laufen müssen. Dies habe ich in 6 GRAPH FBs realisiert, wovon der grösste 224 Aktionen/Transition Paare hat und fast 21 kB gross ist. Glücklicherweise war ein 317er vom Anfang an vorgeshen, aber ich möchte nicht darüber denken wie das sonst ausgesehen hätte, geschweige denn wie man Fehler hätte suchen sollen. In Graph ist auf Anhieb zu erkennen wo irgendwas hängt, trotz 21 parallele Ketten.

Es ist wie immer, manchmal macht man sich das Leben einfacher wenn man das richtige Werkzeug nutzt! Meist geht's auch schneller, was de Preisunterschied für den größeren CPU schnell aufhebt!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
bei der ganzen Diskussion über Programmierstrategien sind das doch die entscheidenden Kriterien:

Wenig Speicher, langsame CPU, einfacher Ablauf, keine Dokumentationsvorschriften = Programmierung Eigenbau z.B. mit Sprungleiste (SPL) oder Merker Setzen / Rücksetzen.

Genug Speicher, schnelle CPU, verzweigter Ablauf, Laufzeitüberwachung, Visualisierung, Diagnose, Dokumentationsvorschriften (Schrittkettenplan) = Programmierung mit S7-Graph.

Es macht doch einen großen Unterschied, ob ich meine Programmierung verkaufen muss oder für den eigenen Betrieb schreibe.
Wenn ich mir bei der Inbetriebnahme oder Werkstatttest ein Hilfsprogramm schreibe, so ist mir der Stil wurscht, es muss nur schnell fertig sein.
Wenn ich das Programm verkaufe, so erwarten die Kunden eine Dokumentation und Schulung, damit sie selber Änderungen vornehmen können (Das steht so in den Einkaufsbedingungen). Bei der Schulung gibts einen Gutschein für einen Siemenskurs und als Dokumentation reicht der kommentierte Programmausdruck.
Für mich rechnet es sich nicht, für weniger Programmcode, langsamere CPU und längere Programmierzeiten auf S7-Graph zu verzichten. Das soll nicht bedeuten, dass Andere, die anders rechnen müssen, etwas falsch machen. Es sollte eine Anregung für Anfänger sein.
Gruß Wilfried
 
Hallo,

habe bis jetzt immer Schrittketten über Graph realisiert.
Bei einer alten Anlage sind Schrittketten über SPL in AWL realisiert und ich müsste dort Erweiterungen einpfelegen.

Wie programmiert ihr ein "S1S / S1N / S1R / N" in AWL?
 
Den Zustandsmerker auf eine Flanke abfragen sollte das "S1" lösen. Den Zustandsmerker auf den Zustand abzufragen bringt dir das N
 
Zurück
Oben