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

Ergebnis 1 bis 9 von 9

Thema: SPL_Schrittkette: Schritte in mehreren Schrittketten verwenden

  1. #1
    Registriert seit
    07.02.2008
    Ort
    Tonga
    Beiträge
    72
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Idee


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Spezis,
    ich habe folgendes Anliegen,
    wie ihr am Code erkennen könnt nutze ich für verschiedene SPL-Schrittketten die gleiche INT- Variable "STEPNUMBER". Das kann ich so machen weil bisher eh nie mehrere Schrittketten gleichzeitig abgearbeitet wurden. Das muss ich nun leider ändern. Ich möchte mir aber den Vorteil behalten Schritte in mehreren Schrittkette aufzurufen.

    Wie kann ich das am smartesten bewerkstelligen?

    Code:
    NETWORK
    TITLE =Dosierbetrieb Master und Slave im Verbund 
    //Schrittkettenfreigabe Initialisierung und Schrittkoordination
          UN    #col.MasterErr; 
          U     #steps.Mix_Ausl; 
          U(    ; 
          O     #Pos_Fla.Metering_Compound; 
          O     #SPL_act6; 
          )     ; 
          SPBN  dct6; 
    
          L     #STEPNUMBER; 
          SPL   END6; 
          SPA   act6; 
          SPA   M001; //MASTER Umdrehungszahl Pumpe zurücksetzen
          SPA   M012; //SLAVE Umdrehungszahl Pumpe zurücksetzen
          SPA   M002; //MASTER Reglerfreigabe rücksetzen
          SPA   M013; //SLAVE Reglerfreigabe rücksetzen
          SPA   M003; //MASTER Pumpenfaktor vorgeben 
          SPA   M004; //MASTER Pumpenfaktor übernehmen 
          SPA   M005; //MASTER Pumpenfaktor übernehmen zurücksetzen
          SPA   M034; //VERBUND Pumpenfaktor vorgeben SLAVE über MASTER
          SPA   M028; //VERBUND Pumpenfaktor für SLAVE übernehmen vom MASTER aus
          SPA   M029; //VERBUND Pumpenfaktor für SLAVE rücksetzen vom MASTER aus
          SPA   M022; //MASTER Mischungsverhältnis Zähler (Lack) übergeben
          SPA   M023; //MASTER Mischungsverhältnis Nenner (Härter) übergeben
          SPA   M006; //MASTER Reglerfreigabe setzen 
          SPA   M030; //SLAVE Reglerfreigabe setzen
          SPA   M027; //MASTER Freigabe Volumenstrom übertragen
          SPA   M009; //MASTER Dosiervolumen vorgeben
          SPA   M031; //VERBUND Gemisch Dosierbetrieb starten
          SPA   M011; //MASTER oder MASTER-/SLAVE-Verbund Dosierbetrieb abgeschlossen
          SPA   M026; //VERBUND Gemisch Dosierbetrieb stoppen
    
    END6: U     "VKE_1"; 
          R     #SPL_act6; 
          L     0; 
          T     #STEPNUMBER; 
    dct6: NOP   0; 
    
    NETWORK
    TITLE =Drehzahlbetrieb Master
    //Schrittkettenfreigabe Initialisierung und Schrittkoordination
          UN    #col.MasterErr; 
          U(    ; 
          O     #Pos_Fla.Drive_Master; 
          O     #SPL_act1; 
          )     ; 
    
          SPBN  dct1; 
    
          L     #STEPNUMBER; 
          SPL   END1; 
          SPA   act1; //Kette 1 aktiv
          SPA   M001; //MASTER Umdrehungszahl Pumpe zurücksetzen
          SPA   M002; //MASTER Reglerfreigabe rücksetzen
          SPA   M003; //MASTER Pumpenfaktor vorgeben 
          SPA   M004; //MASTER Pumpenfaktor übernehmen 
          SPA   M005; //MASTER Pumpenfaktor übernehmen zurücksetzen
          SPA   M006; //MASTER Reglerfreigabe setzen 
          SPA   M007; //MASTER Start Drehzahlbetrieb 
          SPA   M027; //MASTER Freigabe Volumenstrom übertragen 
          SPA   M008; //MASTER Stop Drehzahlbetrieb
    END1: U     "VKE_1"; 
          R     #SPL_act1; 
          L     0; 
          T     #STEPNUMBER; 
    dct1: NOP   0; 
    
    TITLE =Überspringe Schritte um STEPNUMER nicht zu erhöhen
    //Letztes Netzwerk vor Schritte
          SPA   ENDE; 
    
    NETWORK
    TITLE =Schrittkette aktiv
    
    
    M000: S     #SPL_act; 
    
          SPBN  e000; 
          L     #STEPNUMBER; // Schrittnummer um
          +     1; // 1 erhöhe0
          T     #STEPNUMBER; // (Schrittweiterschaltung)
    e000: SPA   ENDE; 
    
    NETWORK
    TITLE =MASTER Umdrehungszahl Pumpe zurücksetzen
    
    M001: S     #M_PB_in.M_PB_in_Ctrl_Word.M_ResetCnt; 
          L     #M_PB_out.M_PB_out_Act_Volume; 
          L     0; 
          ==D   ; 
    
          R     #M_PB_in.M_PB_in_Ctrl_Word.M_ResetCnt; 
          SPBN  e001; 
          L     #STEPNUMBER; // Schrittnummer um
          +     1; // 1 erhöhen
          T     #STEPNUMBER; // (Schrittweiterschaltung)
    e001: SPA   ENDE; 
    
    NETWORK
    TITLE =SLAVE Umdrehungszahl Pumpe zurücksetzen 
    
    M012: S     #S_PB_in.S_PB_in_Ctrl_Word.S_ResetCnt; 
          L     #S_PB_out.S_PB_out_Act_Volume; 
          L     0; 
          ==D   ; 
          R     #S_PB_in.S_PB_in_Ctrl_Word.S_ResetCnt; 
          UN    #S_PB_in.S_PB_in_Ctrl_Word.S_ResetCnt; 
          SPBN  e012; 
          L     #STEPNUMBER; // Schrittnummer um
          +     1; // 1 erhöhen
          T     #STEPNUMBER; // (Schrittweiterschaltung)
    e012: SPA   ENDE; 
    
    NETWORK
    TITLE =Letzter Schritt aller Ketten
    
    M999: L     #STEPNUMBER; 
          L     1; 
          +I    ; 
          T     #STEPNUMBER; 
          UN    OV; 
          SAVE  ; 
          CLR   ; 
          U     BIE; 
          SPB   ENDE; 
    
    

    Zitieren Zitieren SPL_Schrittkette: Schritte in mehreren Schrittketten verwenden  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hallo,

    Ich weiß jetzt zwar nicht genau, was du möchtest.....

    aber warum nicht einfach eine (oder mehrere) Int-Schrittnummer Variablen hinzufügen. Die kannst ja dann unabhängig von den anderen hochzählen usw...

  3. #3
    Registriert seit
    07.02.2008
    Ort
    Tonga
    Beiträge
    72
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    Hallo,

    Ich weiß jetzt zwar nicht genau, was du möchtest.....

    aber warum nicht einfach eine (oder mehrere) Int-Schrittnummer Variablen hinzufügen. Die kannst ja dann unabhängig von den anderen hochzählen usw...
    Ich zähle in den angesprungenen Schritten die STEPNUMBER hoch. Wenn STEPNUMBER_1, STEPNUMBER_2 einführe welche soll ich dann hochzählen? Wie gesagt ich nutze die angesprungenen Schritte in verschiedenen Schrittketten die in Zukunft simultan ablaufen sollen.

  4. #4
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Das kann ich so machen weil bisher eh nie mehrere Schrittketten gleichzeitig abgearbeitet wurden. Das muss ich nun leider ändern
    soll heißen -- mehrere Schrittketten parallel?

    Das bedeutet doch auch, daß die einzelnen Schrittzähler unabhängig von den anderen sein müssen.

    Schritt 1 / Kette 1
    Schritt 2 / Kette 1
    Schritt 3 / Kette 1
    Schritt 4 / Kette 1 ----->Schritt 1 / Kette 2
    Schritt 5 / Kette 1_______Schritt 2 / Kette 2----->Schritt 1 / Kette 3
    _______________________Schritt 3 / Kette 2----->Schritt 2 / Kette 3


    z.B. bei Schritt 4 in Kette 1 wird die Schritt 1 Kette 2 angestoßen. "neue" Schrittvariable hochzählen usw...

  5. Folgender Benutzer sagt Danke zu Verpolt für den nützlichen Beitrag:

    cosmomaster (14.04.2011)

  6. #5
    Registriert seit
    07.02.2008
    Ort
    Tonga
    Beiträge
    72
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Pfeil

    Zitat Zitat von Verpolt Beitrag anzeigen
    Schritt 1 / Kette 1
    Schritt 2 / Kette 1
    Schritt 3 / Kette 1
    Schritt 4 / Kette 1 ----->Schritt 1 / Kette 2
    Schritt 5 / Kette 1_______Schritt 2 / Kette 2----->Schritt 1 / Kette 3
    _______________________Schritt 3 / Kette 2----->Schritt 2 / Kette 3
    Schöne Grafik, danke!

    Das Problem ist doch das was du hier z.B. Schritt 1 nennst soll bei mir in allen Ketten ein und die selbe Sprungmarke sein (siehe im Code z.B. M001), nach dieser Sprungmarke muss ich wenn aufgrund der Kette 1 angesprungen #STEPNUMBER_1, wenn aufgrund der Kette 2 angesprungen #STEPNUMBER_2, ......., inkrementieren.

    Kann ich dazu das inkrementieren von den eigentlichen Schritten entkoppeln?

  7. #6
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.336
    Danke
    27
    Erhielt 130 Danke für 117 Beiträge

    Standard

    gelöscht ....
    Geändert von Boxy (14.04.2011 um 08:18 Uhr)

  8. Folgender Benutzer sagt Danke zu Boxy für den nützlichen Beitrag:

    cosmomaster (14.04.2011)

  9. #7
    Registriert seit
    07.02.2008
    Ort
    Tonga
    Beiträge
    72
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    soll heißen -- mehrere Schrittketten parallel?
    Hm, der Ausdruck parallel gefällt mir nicht, simultan eben wie ich schon schrieb.
    Heißt für mich unabhängig von einander und gleichzeitig möglich.

  10. #8
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Moin,

    nach dieser Sprungmarke muss ich wenn aufgrund der Kette 1 angesprungen #STEPNUMBER_1, wenn aufgrund der Kette 2 angesprungen #STEPNUMBER_2, ......., inkrementieren.

    Kann ich dazu das inkrementieren von den eigentlichen Schritten entkoppeln?
    Indem du vom Aufrufenden eine Info mit gibst.

    Code:
    M020: U "IchKommeVonKette1"
    SPN Inc2
    
    L "StepnummerKette1"
    +1
    T "StepnummerKette1"
    
    Inc2: U "IchKommeVonKette2"
    SPN Ende
    
    L "StepnummerKette2"
    +1
    T "StepnummerKette2"
    
    SPA Ende

  11. #9
    Registriert seit
    07.02.2008
    Ort
    Tonga
    Beiträge
    72
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Verpolt Beitrag anzeigen
    Moin,



    Indem du vom Aufrufenden eine Info mit gibst.

    Code:
    M020: U "IchKommeVonKette1"
    SPN Inc2
    
    L "StepnummerKette1"
    +1
    T "StepnummerKette1"
    
    Inc2: U "IchKommeVonKette2"
    SPN Ende
    
    L "StepnummerKette2"
    +1
    T "StepnummerKette2"
    
    SPA Ende
    Bei 2 Ketten ginge das noch stimmt. Ich denke ich zentralisiere das inkrementieren aber und mache es nicht in jedem Schritt. Gibt zwar ein mords gespringe aber was solls.

Ähnliche Themen

  1. 1. Schritte
    Von cyrix im Forum Programmierstrategien
    Antworten: 19
    Letzter Beitrag: 13.08.2010, 13:54
  2. Erste Schritte S7-300
    Von Andy082 im Forum Programmierstrategien
    Antworten: 18
    Letzter Beitrag: 11.02.2009, 23:55
  3. 1% schritte für FU-SEW
    Von ottopaul im Forum SEW-EURODRIVE
    Antworten: 4
    Letzter Beitrag: 04.09.2007, 22:13
  4. Erste Schritte mit SCL
    Von Andy Latte im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 01.06.2007, 12:51
  5. Schrittketten
    Von burn-out-heizer im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 23.09.2006, 12:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •