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

Ergebnis 1 bis 4 von 4

Thema: Sprungverteiler mit zeitverzögertem bedingtem Sprung

  1. #1
    Registriert seit
    28.05.2013
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich stehe zur Zeit bei einem Programm etwas auf dem Schlauch.
    In diesem Programm wird eine Sprungliste abgearbeitet, an einem Punkt des Programms wird einer Abfrage von einem Sensor getätigt. Ist das VKE 1 wird zu einer Marke gesprungen. Hier wird dann die Anlage in Grundstellung gebracht.
    Ich habe nun die Aufgabe den Ablauf so umzustricken das zu der Marke gesprungen wird, dann ein Greifer (A2.2) geöffnet wird und anschließend erst die Grundstellung angefahren wird. Leider hat der Greifer keine Endlagenerkennung.

    Der Programmteil sieht in etwa so aus(verkürzt):
    xx: x
    x
    x
    UN E1.3 \\Teileerkennung
    SPB 0015
    x
    x
    x
    0015: NOP0
    CALL FC90 \\Reset


    Wie mache ich das jetzt am einfachsten? Der Greifer gibt eine digitale Rückmeldung (E2.1) wenn er in Position ist, würde es ausreichen bei Marke 0015 folgendes einzufügen?

    0015: NOP 0
    SET
    S A2.2 \\Greifer öffnen
    U E2.1 \\Greifer in Position
    FP M55.5 \\Flankenmerker
    U M55.5
    CC FC90 \\Reset

    Ich frage da ich am Montag erst wieder an die Anlage kann und dann eine Lösung brauche. Mich verwirrt diese Sprungleiste etwas, die Frage die sich mir stellt wie arbeitet die SPS so ein Programm ab, bleibt die Position im Programm (hier bei Marke 0015) im nächsten Zyklus gespeichert bis irgendwann einmal der Merke M55.5 für einen Zyklus eine 1 führt??
    Zitieren Zitieren Sprungverteiler mit zeitverzögertem bedingtem Sprung  

  2. #2
    Registriert seit
    15.03.2013
    Beiträge
    187
    Danke
    6
    Erhielt 35 Danke für 30 Beiträge

    Standard

    Ich denke, die Sprungleiste implementiert einen Zustandsautomaten, den du einfach um einen Zustand erweitern musst. Allerdings hast du zu wenig Code gepostet, um den Aufbau zu erkennen.

    Das Programm wird in jedem Zyklus von vorne begonnen. Du brauchst also vor der Abfrage von E2.1 eine weitere Sprungmarke 0016?, die du in den nächsten Zyklen anspringst, bis irgendwann mal E2.1 kommt. Dazu brauchst du einen weiteren Zustand, damit du in den nächsten Zyklen in der Sprungleiste erkennst, dass du die neue Sprungmarke anspringst. Danach sollte alles so weiterlaufen wie bisher.

  3. #3
    BBK18 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.05.2013
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Es handelt sich hier eigentlich um eine Schrittkette. Nach jedem erledigtem Punkt der Spungleiste wird der Spungzähler (oder wie er auch heißt) um 1 erhöht.
    Ich hänge mal den ganzen Code des Bausteins an.

    Der für mich interessante Teil ist ab Marke M008 zu sehen wo die Abfrage mit UN E1.3 stattfindet. Denn das ist die Teileerkennung im Greifer wo, wenn kein Teil anwesend das Öffnen und danach der Reset realisiert werden soll und der Sprung zu Marke M015 stattfindet.


    O E 2.0
    O(
    U E 2.1
    U E 1.7
    FP M 41.5
    )
    = #TEMP0
    L MW 110
    SPL M001
    SPA M002
    SPA M004
    SPA M005
    SPA M006
    SPA M007
    SPA M008
    SPA M009
    SPA M010
    SPA M011
    SPA M012
    SPA M013
    SPA M014
    M001: NOP 0
    BEA
    M002: NOP 0
    U M 40.4
    U E 1.5
    U E 0.4
    U E 0.6
    UN E 1.2
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R M 41.1
    R A 0.7
    S A 0.6
    S M 41.6
    SPA M003
    M004: NOP 0
    U E 0.5
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R A 1.2
    S A 1.3
    S M 41.6
    SPA M003
    M005: NOP 0
    U E 1.0
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R A 1.0
    S A 1.1
    S M 41.6
    SPA M003
    M006: NOP 0
    U E 0.7
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    S M 40.7
    S M 41.6
    SPA M003
    M007: NOP 0
    U M 40.7
    NOT
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R A 1.1
    S A 1.0
    S M 41.6
    SPA M003
    M008: NOP 0
    U E 0.6
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    UN E 1.3
    SPB M015
    SET
    S M 40.5
    S M 41.6
    SPA M003
    M009: NOP 0
    U M 40.5
    NOT
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R A 1.3
    S A 1.2
    S M 41.6
    SPA M003
    M010: NOP 0
    U E 1.1
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R A 0.6
    S A 0.7
    S M 41.6
    SPA M003
    M011: NOP 0
    U E 0.4
    U E 1.6
    U M 42.2
    = #TEMP2
    CALL SFB 4 , DB40
    IN:=#TEMP2
    PT:=T#500MS
    Q :=#TEMP1
    ET:=
    U #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R A 1.4
    S A 1.5
    S M 41.6
    CALL SFB 4 , DB40
    IN:=FALSE
    PT:=
    Q :=
    ET:=
    SPA M003
    M012: NOP 0
    U E 1.4
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    S M 40.3
    S M 41.6
    R M 42.2
    SPA M003
    M013: NOP 0
    U M 40.3
    NOT
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R A 1.5
    S A 1.4
    S M 41.6
    SPA M003
    M014: NOP 0
    U E 1.5
    = #TEMP1
    S M 41.6
    U #TEMP1
    U #TEMP0
    NOT
    BEB
    SET
    R M 41.4
    R M 41.6
    L 0
    T MW 110
    BEA
    M003: NOP 0
    CALL FC 1
    IO0:=MW110
    SET
    R M 41.6
    BEA
    M015: NOP 0
    CALL FC 90

  4. #4
    Registriert seit
    15.03.2013
    Beiträge
    187
    Danke
    6
    Erhielt 35 Danke für 30 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich denke du brauchst etwas in dieser Art:
    1. Den neuen Zustand M015, in dem du wartest, bis der Greifer die digitale Rückmeldung (E2.1) gibt, wenn er in Position ist,
    L MW 110
    SPL M001
    SPA M002
    ...
    SPA M014
    SPA M015
    M001: NOP 0

    2. Im Zustand M008 eine Erweiterung für Greifer öffnen:
    M008: NOP 0
    ...
    BEB
    UN E 1.3
    =A2.2 \\ Greifer öffnen
    SPB M015 \\ <- Diese Stelle musst du so abändern, dass nicht mehr auf M015 gesprungen wird, sondern in MW 110 der Zustand M015 eingestellt wird
    SET
    S M 40.5
    S M 41.6
    SPA M003

    Aus dem Code ist mir nicht ganz klar, wie man den Zustand M015 korrekt einstellt. Normalerweise wird der Zustand scheinbar immer über die Sequenz S... S... SPA M003 -> FC1 weitergeschaltet. Ich hoffe, du hast hier mehr Infos, wie das laufen muss. Außerdem fällt mir auf, dass in der Sprungleiste M003 fehlt, was man in den Werten in MW110 berücksichtigen muss!

    3. eine Erweiterung für den neuen Zustand M015:
    M015: NOP 0
    U E2.1 \\Greifer in Position
    FP M55.5 \\Flankenmerker
    U M55.5
    CC FC90 \\Reset

    Ich hoffe, das hilft dir weiter, um auf die richtige Lösung zu kommen.

Ähnliche Themen

  1. Sprungverteiler
    Von NHAHDLOG im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 14.10.2008, 16:50
  2. vergleich mit sprung?
    Von Ibaxx im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.09.2007, 09:50
  3. Sprungverteiler (Sprungliste)
    Von Arni80 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.06.2007, 15:11
  4. Schrittkette mit Sprung (Abzweig)
    Von neon im Forum Programmierstrategien
    Antworten: 22
    Letzter Beitrag: 01.06.2007, 11:34
  5. Antworten: 3
    Letzter Beitrag: 07.11.2004, 19:29

Lesezeichen

Berechtigungen

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