Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 1 of 3 123 LastLast
Results 1 to 10 of 25

Thread: Schrittkettenprogrammierung (zum x-ten Mal ;) )

  1. #1
    Join Date
    12.11.2008
    Posts
    65
    Danke
    43
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ehe jetzt der entsprechende Vorschlag kommt: Ja, ich habe schon im Forum nach dem Thema gesucht und den halben Morgen damit verbracht daraus schlau zu werden und bin einfach daran gescheitert. Liegt vielleicht an mir, liegt aber auch vielleicht am Montag

    Deswegen möchte ich jetzt darum bitten eine Runde "Schrittkettenprogrammierung in AWL für Dummies" zu kriegen, leicht verdaulich und komplett mit allen (auch die selbstverständlichen) Infos, in welchen Baustein man es reinschreiben soll und und und...

    Ich benutze die Step7 V5.4 + SP1 und als Anhängsel liefere ich gleich den entsprechenden Ablaufplan mit. Im Idealfall kann ich dann anhand des Codes und des Planes dann schnell dir Zusammenhänge nachvollziehen, ich fürchte das ich das einzige was mir im Augenblick helfen kann.

    Zur Zeit siehts hier nämlich grad so aus:
    Attached Files Attached Files
    Reply With Quote Reply With Quote Schrittkettenprogrammierung (zum x-ten Mal ;) )  

  2. #2
    Join Date
    01.10.2007
    Location
    Waiblingen
    Posts
    3,557
    Danke
    767
    Erhielt 537 Danke für 420 Beiträge

    Default

    ist Dir beim Suchen auch dieser Beitrag begegnet?
    http://www.sps-forum.de/showthread.p...454#post167454

  3. #3
    Join Date
    20.06.2003
    Location
    Sauerland.NRW.Deutschland
    Posts
    5,451
    Danke
    99
    Erhielt 923 Danke für 628 Beiträge

    Default

    tja über die suche findet man etliches dazu.
    lad dir mal schrittkette.zip runter (entpacken mit dem s7-manager)
    https://lischis-home.dyndns.org/file...e/dirindex.php

    angucken, verstehen, übertragen auf eigene problem, code erstellen und wenns dann hapert nochmal fragen.
    hausaufgaben sind dazu da um zu lernen!
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download auf meiner HP
    zum Download im Internet (Backup nicht unbedingt aktuell)

  4. Folgender Benutzer sagt Danke zu volker für den nützlichen Beitrag:

    DerPraktikant (01.12.2008)

  5. #4
    Join Date
    12.11.2008
    Posts
    65
    Danke
    43
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hausaufgaben mochte ich noch nie Inzwischen habe ich was Eigenes zusammengekocht, wie schauts mit dessen Chancen auf Erfolg aus?

    OB1

    UC FB1


    FB1

    P101: R M 6.0
    R M 6.1
    R M 7.0
    UN E 6.0
    SPB P201

    P201: R M 6.0
    R M 6.1
    R M 6.2
    R M 6.3
    R M 6.4
    R M 6.5
    UN E 6.0
    U E 2.3
    UN E 6.1
    SPB P203
    UN E 6.0
    U E 2.4
    UN E 6.2
    SPB P205
    UN E 6.0
    U E 2.6
    SPB P206
    UN E 6.0
    U E 2.5
    SPB P207
    O E 6.0
    O E 2.0
    SPB P301
    UN E 6.0
    U E 2.2
    SPB P701
    UN E 6.0
    U E 2.1
    SPB P801

    P203: // weitere Anweisungen
    P205: // weitere Anweisungen
    P206: // weitere Anweisungen
    P207: // weitere Anweisungen
    P301: // weitere Anweisungen
    P701: // weitere Anweisungen
    P801: // weitere Anweisungen

    vermutlich auch nicht das einfachste und eleganteste, aber ich verstehs

  6. #5
    Join Date
    15.10.2007
    Location
    St.Pölten
    Posts
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Default

    probiere es doch mal mit einer Sprungleiste, wenn du das schon kennst.sonst suce mal danach.
    aber wie schon gesagt wurde von den anderen,es gibt viele verschiedene methoden eine schrittkette zu realisieren.

    wer lesen kann ist klar im vorteil

    PS: ein wenig strukur und übersicht(komentare) wäre auch nicht schlecht
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  7. #6
    Join Date
    30.03.2005
    Posts
    2,134
    Danke
    0
    Erhielt 679 Danke für 545 Beiträge

  8. #7
    Join Date
    12.11.2008
    Posts
    65
    Danke
    43
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich denke die Grundidee mit der Sprungleiste ist mir langsam klar.

    Wenn ich das alles dann richtig verstanden habe müsste ein ähnliches Gerüst wie das hier Erfolg haben:

    Code:
     
    L MD100 //lade Wert von MD100
    SPL LIST
     
    L +101 //lade Zahlenwert "101"
    ==D //vergleiche mit MD100
    SPB P101 //wenn VKE = 1 dann springe zu P101, sonst weiter
     
    L +201 //lade Zahlenwert "201"
    ==D //vergleiche mit MD100
    SPB P201 //wenn VKE = 1 dann springe zu P201, sonst weiter
     
    L +202 //lade Zahlenwert "202"
    ==D //vergleiche mit MD100
    SPB P202 //wenn VKE = 1 dann springe zu P202, sonst weiter
     
    P101: NOP 0 //Anweisungen, dann Transitionen
    L +201
    T MD100
    BEA
     
    P201: NOP 0 //Anweisungen, dann Transitionen
    L +202
    T MD100
    BEA
     
    P202: NOP 0 //Anweisungen, dann Transitionen
    SPA Ende
    BEA
     
    Ende: U E 2.3 //Knopf "Neuer Test" gedrückt 
    FP M 2.3 //Positive Flanke erwarten
    SPBN Aus
    L +101
    T MD100
     
    Aus: NOP 0
    Ich weiss dass das Ganze furchtbar schwerfällig wirken muss, aber so verstehe ich es nun mal am besten. Einfach Inkrementieren ist nicht so wünschenswert da ich die Positionsnummeren ("201" resp. "P201") unbedingt beihalten will.

    Also, was ist falsch an meinem Code?

    Ich sollte noch erwähnen dass das alles jetzt in einem einzigen Netzwerk steht und ich mir deswegen nicht 100% sicher bin ob das BEA Sinn macht oder nicht.

  9. #8
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Default

    Hallo Praktikant,

    was Du da in Deinem Code wird so nicht funktionieren!
    Du wirst schon nach Zeile 2 einen Fehler bekommen:
    Code:
    L MD100 //lade Wert von MD100
    SPL LIST
    Mit SPL LIST sagst Du hier, es folgt eine Sprungleiste. Es ist aber keine da!
    Eine Sprungleiste wäre z. BSP.:
    Code:
    L MD100 //lade Wert von MD100
    SPL LIST
    SPA M000
    SPA M001
    ...
    
    LIST: NOP 0 // Hier erfolgt die Fehlerauswertung
    
    M000: NOP 0 // Hier kommen die Anweisungen für MD100 = 0
    
    etc.
    Wenn Du die Schrittkette ohne SPL machen willst, dann solltest Du nach Deiner letzten
    Sprunganweisung (SPB P202). Entweder ein BEA setzen, oder Mit einem SPA auf "ENDE"
    oder auf eine Fehlerauswertung springen, sonst werden immer die Anweisungen
    hinter P101 ausgeführt.

    Das BEA ist soweit ok. Du kannst alternativ auch auf AUS springen, oder wenn der Knopf
    "Neuer Test" die Schrittkette immer neu starten soll, dann auf ENDE.

    Grüße
    Gebs

  10. #9
    Join Date
    01.10.2007
    Location
    Waiblingen
    Posts
    3,557
    Danke
    767
    Erhielt 537 Danke für 420 Beiträge

    Default

    geh mal auf den SPL-Befehl und drücke F1.

    da kommt u.a. ein Beispiel:
    Code:
    Beispiel
    AWL Erläuterung
    L MB0  //Lade die Nummer des Sprungziels in AKKU1-L-L.
    SPL LSTX //Sprungziel, wenn AKKU1-L-L > 3 ist.
    SPA SEG0 //Sprungziel, wenn AKKU1-L-L = 0 ist.
    SPA SEG1 //Sprungziel, wenn AKKU1-L-L = 1 ist.
    SPA COMM //Sprungziel, wenn AKKU1-L-L = 2 ist.
    SPA SEG3 //Sprungziel, wenn AKKU1-L-L = 3 ist.
    LSTX: SPA COMM 
    SEG0: *  //Zulässige Anweisung.
    *  
    SPA COMM 
    SEG1: *  //Zulässige Anweisung.
    *  
    SPA COMM 
    SEG3: *  //Zulässige Anweisung.
    *  
    SPA COMM 
    COMM: *  
    *

  11. Folgender Benutzer sagt Danke zu Perfektionist für den nützlichen Beitrag:

    DerPraktikant (05.12.2008)

  12. #10
    Join Date
    12.11.2008
    Posts
    65
    Danke
    43
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hm, das heisst das Gerüst sollte dann eher so aussehen? Prinzipiell sollte das jetzt so funktionieren dass das Programm beginnend bei P0 eine Position nach der anderen aufruft bis zum Ende.

    Code:
    L MD100  
    SPL P5   //Sprungziel wenn AKKU1 > 4
    SPA P0  //Sprungziel wenn AKKU1 = 0
    SPA P1  //Sprungziel wenn AKKU1 = 1
    SPA P2  //Sprungziel wenn AKKU1 = 2
    SPA P3  //Sprungziel wenn AKKU1 = 3
    SPA P4  //Sprungziel wenn AKKU1 = 4
     
    P5: SPA ENDE
     
    P0: //Anweisungen
    L +1 //neuen Wert laden
    T MD100 //und in MD100 setzen
    SPA ENDE
     
    P1: //Anweisungen
    L +2
    T MD100
    SPA ENDE
     
    P2: //Anweisungen
    L +3
    T MD100
    SPA ENDE
     
    P3: //Anweisungen
    L +4
    T MD100
    SPA ENDE
     
    P4: //Anweisungen
    L +5
    T MD100
    SPA ENDE
     
    ENDE: NOP 0
    Meinem Verständnis nach müsste es ja dann so gehen dass man am Ende eines jeweiligen Abschnitts mit Label dann nach den Transitionen (Schaltbedingungen) die entsprechende Anweisung hat welches Label als nächstes dran ist, und dieser Wert wird dann in MD100 gesetzt.

    Beim nächsten Zyklus dann schaut die Sprungleiste ja dann den Wert in MD100 in Ihrer entsprechenden nachfolgenden Liste nach, so dass der dann zum entsprechenden Label springt.

    Hat zwar leider den Nachteil dass ich doch noch mal alle Positionsnamen umändern muss, aber wenns geht, dann ist das das kleinste Problem

Similar Threads

  1. Sonstiges KTP 1200 Bildschirmfehler zum wiederholten mal
    By Splitty-19 in forum HMI
    Replies: 3
    Last Post: 05.04.2019, 16:52
  2. Mal ein paar Fragen zum Programmieren ;)
    By dyingmemories in forum Programmierstrategien
    Replies: 24
    Last Post: 29.04.2015, 21:33
  3. Replies: 11
    Last Post: 28.06.2012, 09:41
  4. Ausgang defekt - zum 2. mal
    By ssound1de in forum Simatic
    Replies: 4
    Last Post: 29.10.2010, 09:54
  5. Sicherlich zum 100. mal
    By Deep Blue in forum Simatic
    Replies: 8
    Last Post: 18.09.2007, 00:19

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •