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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Schiebebefehl "Schiebe Links"

  1. #1
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    habe eine Frage zum Schiebebefehl.
    Habe hier eine Schrittkette, diese würde ich gern mit einem Schiebe Links Befehl intern überwachen. Das heißt das bei jedem Schritt z.B. das DB1.DBW0 immer um ein Bit nach link verschoben wird so das man im DB einsehen kann in welchem Schritt man sich befindet und welcher Schritt gerade gesetzt ist. Sicher kann ich hier auch das MB abfagen aber ich wollte es mit einem Schiebebefehl testen. Die Abfrage des MB`s bringt das gleiche Ergebnis mit L MB T DB aber wäre für mich mal was anderes.
    Komme aber nicht da hin wo ich hin möchte.

    Code:
    //+++++Start Schrittkette mit Schritt 0+++++
          UN    "Schritt0"
          U     E      0.0
          S     "Schritt0"
    //+++++Schritt 1+++++
          U     "Schritt0"
          UN    "Schritt1"
          UN    "Schritt2"
          UN    E      0.0
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.1
    //Schrittweiterschaltbedingung "Ende"
          S     "Schritt1"
          R     "Schritt0"
    //+++++Schritt 2+++++
          U     "Schritt1"
          UN    "Schritt2"
          UN    "Schritt3"
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.2
    //Schrittweiterschaltbedingung "Ende"
          S     "Schritt2"
          R     "Schritt1"
    //+++++Schritt 3+++++
          U     "Schritt2"
          UN    "Schritt3"
          UN    "Schritt4"
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.3
    //Schrittweiterschaltbedingung "Ende"
          S     "Schritt3"
          R     "Schritt2"
    //+++++Schritt 4+++++
          U     "Schritt3"
          UN    "Schritt4"
          UN    "Schritt5"
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.4
    //Schrittweiterschaltbedingung "Ende"
          S     "Schritt4"
          R     "Schritt3"
    //+++++Schritt 5+++++
          U     "Schritt4"
          UN    "Schritt5"
          UN    "Schritt6"
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.5
    //Schrittweiterschaltbedingung "Ende"
          S     "Schritt5"
          R     "Schritt4"
    //+++++Schritt 6+++++
          U     "Schritt5"
          UN    "Schritt6"
          UN    "Schritt7"
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.6
    //Schrittweiterschaltbedingung "Ende"
          S     "Schritt6"
          R     "Schritt5"
    //+++++Schritt 7+++++
          U     "Schritt6"
          UN    "Schritt7"
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.7
    //Schrittweiterschaltbedingung "Ende"
          S     "Schritt7"
          R     "Schritt6"
    Zitieren Zitieren Schiebebefehl "Schiebe Links"  

  2. #2
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Da sollte es reichen in jeden Schritt eine Flanke einzubauen und mit dieser dann das Bit nach links zu schieben.
    Das Grauen lauert in der Zwischenablage !!

  3. #3
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Das könnte so aussehen ...

    Code:
    //Hier Deine Schrittkette
    //und dann ...
     
            L "Hilfsmerkerbyte"
            L "Schrittmerkerbyte"
            <>I
            = "Flankenmerker"
            T "Hilfsmerkerbyte"
     
            U "Flankenmerker"
            SPBN M1
            L DB1.DBW0
            SLW 1
            T DB1.DBW0
    M1:   ....
    Allerdings musst Du mit dem ersten Schritt das DB1.DBX0.0 mit "1" vorbelegen (in diesem Fall ohne schieben), sonst gibt es ja in den nächsten Schritten nix zu schieben (ausser nullen).

    Gruß

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

    torstenh (27.02.2009)

  5. #4
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Übrigens könnten in Deiner "seriellen" Schrittkette mehrere Schrittmerker gleichzeitig aktiv werden.
    Wenn z.B. Schritt 1 gesetzt ist könnte Schritt 0 wieder gesetzt werden, wenn E 0.0 nochmal kommt.

    Warum nicht so lösen ...

    Code:
    //Schritt 0
    L "Schrittmerkerbyte"
    L 0
    ==I
    U E 0.0
    S "Schritt 0"
     
    //Schritt 1
    U "Schritt 0"
    U E 0.1
    S "Schritt 1"
    R "Schritt 0"
     
    //Schritt 2
    U "Schritt 1"
    U E 0.2
    S "Schritt 2"
    R "Schritt 1"
     
    ...
     
    //Am Ende
    U "Schritt 7"
    U E 0.7
    R "Schritt 7"

  6. #5
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    in Die Kette Implementiert könnte es so aussehen:

    Code:
          U     "Schritt4"
          UN    "Schritt5"
          UN    "Schritt6"
    //Schrittweiterschaltbedingung  "Start"
          U     E      0.5
          SPBN SCH6
    //Schrittweiterschaltbedingung "Ende"
    
          L     DB1.DBW0
          SLW1
          T     DB1.DBW0
    
          SET
          S     "Schritt5"
          R     "Schritt4"
    SCH6: NOP 0
    Das Grauen lauert in der Zwischenablage !!

  7. Folgender Benutzer sagt Danke zu dtsclipper für den nützlichen Beitrag:

    torstenh (27.02.2009)

  8. #6
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Code:
    UN    "Schritt0"
          U     E      0.0
    UN Schritt1            // ich glaube der hatte noch gefehlt
          S     "Schritt0"
    Die Schrittkette sollte nicht erst am Ende resetet werden. Es ist ein Transportsystem. Wenn ich hier erst warte bis ein Produkt am letzten Förderer angekommen ist, dauert es zu lange. Als Kollisionssicherheit werden die Schritte immer mit dem 2. Schritt verriegelt. Heißt erst wenn Schritt1 nicht mehr aktiv ist (das Produkt im Schritt2) dann kann Schritt0 neu starten.

    Danke!
    Geändert von torstenh (27.02.2009 um 12:50 Uhr)

  9. #7
    Registriert seit
    10.12.2008
    Beiträge
    13
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Dieser verhau mit den Merkern ist doch ziemlich unübersichtlich. Warum nimmst du nicht die dafür vorgesehene Funktion?

    u m_neuanlauf //Reset bei Hochlauf
    spb RES

    L Schritt //Zustandbyte
    spl RES
    spa S00 //Schritt 0
    spa S01 //Schritt 1
    (usw)
    RES: L 0 //Reset
    T Schritt
    spa END

    S00: un e0.0 //warte auf Start
    spb END
    s A0.0 //jetzt gehts los
    spa NEXT //naechster Schritt

    S01: u E0.0 //mach irgend was
    spb END
    spa NEXT

    (usw)

    Sxx: spa RES //fertig, wieder von vorne

    NEXT: L Schritt
    inc 1
    T Schritt
    END: nop 0

    Wenn du dir 'Schritt' anschaust dann siehst du genau in welchem Schritt die Schrittkette gerade ist.

    Schritt muss ein statisches Byte sein, Merkerbyte oder DB.
    Wenn du Schritt
    Zitieren Zitieren Schrittkette  

  10. Folgender Benutzer sagt Danke zu awl442 für den nützlichen Beitrag:

    torstenh (27.02.2009)

  11. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard

    Hallo Thorsten,
    was du hier also machst / hast ist eine Art Strecken-Steuerung.
    Von wievielen einzelnen Förder-Abschnitten ist hier die Rede ?
    Ich würde für JEDES Fördersegment eine Schrittkette machen (und nicht für den ganzen Strang eine) und damit deren Belegung bzw. deren Freiwerden nachvollziehen zu können. Entsprechend des Zustandes dieser Schrittketten kannst du dann auch jeweils den nächsten Einfördervorgang freiben. M.E. benötigst du dann auch keine weitere nebenher erfolgende Kontrolle des Förderns.

    Gruß
    LL

  12. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    torstenh (27.02.2009)

  13. #9
    Registriert seit
    10.01.2008
    Ort
    Mildensee
    Beiträge
    47
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo zusammen,

    es ist nun meine zweite Frage und es freut mich echt das man hier so Klasse geholfen wird!!!!!!
    ....das musst ich mal loswerden!!!!

    Ich denke ich bin noch ein blutiger Anfänger was SPS Programmierung bedeutet.
    Es gibt bestimmt sehr viele Wege um dort hin zu kommen. Benötige noch ein wenig Programmiererfahrung aber mit der Hilfe durch das Forum wird das schon klappen.

    @awl442 ich habe noch nicht mit dieser Funktion gearbeitet, aber sie schaut interessant aus.

    @Larry Laffer
    Es handelt sich um 6 Förderstrecken. Die Idee für jeden Förderer eine Kette zu machen finde ich gut. Ist ein Denkanstoß für neue Projekte.

    Manchmal hilft eben ein Funke um einen Waldrand auszulösen. Die Überwachung der Schritte werde ich mal weiterverfolgen ich denke da kommen noch viele Einfälle was ich damit so alles machen kann.

    Gruß
    Torsten
    Geändert von torstenh (27.02.2009 um 19:54 Uhr)

  14. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von torstenh Beitrag anzeigen
    Es handelt sich um 6 Förderer. Die Idee für jeden Förderer eine Kette zu machen finde ich gut. Ist ein Denkanstoß für neue Projekte.
    dann hänge ich da noch etwas dran :
    Wenn ich in der Vergangenheit so etwas hatte, dann habe ich die Schritte(n) immer als Fördervorgang erstellt. Also "Transfer von 1 -> 2" etc. Ich habe dann auch immer in einem Strang zwischen benachbarenden Förderern einen frei gelassen bei laufenden Fördervorgängen - F5 zieht F4 und F3 zieht F2 etc.

    Viel Erfolg mit deinem "Waldbrand"
    Gruß
    LL

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 16.03.2012, 18:20
  2. "Index Pulse", "Home Switch" und "Position Limit Switch"
    Von senmeis im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 07.03.2011, 11:21
  3. Antworten: 8
    Letzter Beitrag: 16.05.2008, 11:26
  4. Antworten: 2
    Letzter Beitrag: 14.12.2007, 15:09
  5. Antworten: 4
    Letzter Beitrag: 29.11.2006, 08:59

Lesezeichen

Berechtigungen

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