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

Ergebnis 1 bis 5 von 5

Thema: Sprungmarken in STEP7

  1. #1
    Registriert seit
    18.03.2009
    Ort
    Alzenau
    Beiträge
    20
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen,

    habe da ein rage zu einem Programmabschnitt, denn wenn ich die Funktionen mit der STEP7 Baugruppensimulation testen möchte, geht diese auf STOp & SF.


    Hier der Programmauschnitt, denn ich mir mit Sprüngen überlegt habe:

    NW1:

    UN E14.0
    UN E14.1
    UN E14.2
    UN E14.3
    = "HM_KPA"

    NW2:

    //Keine Position angewählt
    KPA: U "HM_KPA"
    SPBN POS1

    //Position 1 anwaehlen
    POS1: U "HM_POS1"
    UN "HM_KPA"
    L "DB_Folienauszug".FAZ_Position_1
    T "DB_Folienauszug".Positionsaufruf
    SPBN POS2

    //Position 2 anwaehlen
    POS2: U "HM_POS2"
    U "HM_KPA"
    L "DB_Folienauszug".FAZ_Position_2
    T "DB_Folienauszug".Positionsaufruf
    SPBN POS3

    //Position 3 anwaehlen
    POS3: U "HM_POS3"
    U "HM_KPA"
    L "DB_Folienauszug".FAZ_Position_3
    T "DB_Folienauszug".Positionsaufruf
    SPBN POS4

    //Position 4 anwaehlen
    POS4: U "HM_POS4"
    U "HM_KPA"
    L "DB_Folienauszug".FAZ_Position_4
    T "DB_Folienauszug".Positionsaufruf
    SPBN KPA

    Da ich noch nicht wirklich mit Sprüngen gearbeitet habe und dies mit erster Versuch ist, denke ich mal das ich hier einen groben Schnitzer gemacht habe!?

    MfG

    Timo
    Zitieren Zitieren Sprungmarken in STEP7  

  2. #2
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.337
    Danke
    448
    Erhielt 688 Danke für 513 Beiträge

    Standard

    Zitat Zitat von the bimo Beitrag anzeigen
    //Keine Position angewählt
    KPA: U "HM_KPA"
    SPBN POS1

    //Position 1 anwaehlen
    POS1: U "HM_POS1"
    UN "HM_KPA"
    //----------------------------------------------------> Lade/Transfer-Befehle werden unabhängig von Binärverknüpfungen immer ausgeführt, eigentlich solltest du diese überspringen...
    L "DB_Folienauszug".FAZ_Position_1
    T "DB_Folienauszug".Positionsaufruf
    //----------------------------------------------------> So werden sie immer ausgeführt.
    SPBN POS2

    //Position 2 anwaehlen
    POS2: U "HM_POS2"-----------------------------> Hier springst du direkt auf die Sprungmarke, kein Code dazwischen, also nix zu überspringen da....

    //......

    //Position 4 anwaehlen
    POS4: U "HM_POS4"
    U "HM_KPA"
    L "DB_Folienauszug".FAZ_Position_4
    T "DB_Folienauszug".Positionsaufruf
    SPBN KPA------------------------------------------> Hier geht die CPU wahrscheinlich auf Stopp, Rücksprung ergibt eine Endlosschleife.
    Das müsste eher so aussehen...
    Code:
    NW1:
    
    
    UN E14.0
    UN E14.1
    UN E14.2
    UN E14.3
    = "HM_KPA"
    
    
    NW2:
    
    
    //Keine Position angewählt
    KPA: U "HM_KPA"
    SPBN POS1-------------------------------> Auch hier ist kein Code der übersprungen werden kann... also sinnlos.
    
    
    //Position 1 anwaehlen
    POS1: U "HM_POS1"
    UN "HM_KPA"
    SPBN POS2------------------------------->Überspringe Lade/Transfer
    L "DB_Folienauszug".FAZ_Position_1
    T "DB_Folienauszug".Positionsaufruf
    
    
    //Position 2 anwaehlen
    POS2: U "HM_POS2"
    U "HM_KPA"
    SPBN POS3
    L "DB_Folienauszug".FAZ_Position_2
    T "DB_Folienauszug".Positionsaufruf
    
    
    //Position 3 anwaehlen
    POS3: U "HM_POS3"
    U "HM_KPA"
    SPBN POS4
    L "DB_Folienauszug".FAZ_Position_3
    T "DB_Folienauszug".Positionsaufruf
    
    
    //Position 4 anwaehlen
    POS4: U "HM_POS4"
    U "HM_KPA"
    SPBN MEnd
    L "DB_Folienauszug".FAZ_Position_4
    T "DB_Folienauszug".Positionsaufruf
    
    MEnd: Nop 0
    Code proudly sponsored by [CODE][/CODE]
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  3. #3
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.335
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard

    Mir erschliesst sich das ganze ehrlich gesagt nicht

    Code:
    //Position 1 anwaehlen
    POS1: U     "HM_POS1"
          UN    "HM_KPA"
          L     "DB_Folienauszug".FAZ_Position_1
          T     "DB_Folienauszug".Positionsaufruf
          SPBN  POS2
    
    //Position 2 anwaehlen
    POS2: U     "HM_POS2"
          U     "HM_KPA"
          L     "DB_Folienauszug".FAZ_Position_2
          T     "DB_Folienauszug".Positionsaufruf
          SPBN  POS3
    Also SPBN ist Sprung bei VKE=0 ... (SPB bei VKE = 1)
    Wenn der Code genau so steht sind die Sprünge eh Sinnfrei, da das Sprungziel eh die nächste Anweisung ist!
    D.h. egal ob Sprung oder nicht, es wird die nächste Zeile bearbeitet (da je eh Sprungziel) ...
    Siemens hat bzgl. Sprünge ja immer im Step 7 Beispiele hinterlegt, welche man ja mit F1 aufrufen kann !


    Für mich stellt sich eher die Frage, ob der Code nicht so aussehen sollte?
    Code:
    //Position 1 anwaehlen
    POS1: U     "HM_POS1"
          UN    "HM_KPA"
          SPBN  POS2
    L     "DB_Folienauszug".FAZ_Position_1
          T     "DB_Folienauszug".Positionsaufruf
    
    //Position 2 anwaehlen
    POS2: U     "HM_POS2"
          U     "HM_KPA"
           SPBN  POS3
    L "DB_Folienauszug".FAZ_Position_2
          T     "DB_Folienauszug".Positionsaufruf
          
    
    oder
    
    
    
    
    
    //Position 1 anwaehlen
    POS1: U     "HM_POS1"
          UN    "HM_KPA"
          SPBN  POS2       --> Wenn VKE = 0 dann Sprung 
    L     "DB_Folienauszug".FAZ_Position_1
    spa posA
    
    //Position 2 anwaehlen
    POS2: U     "HM_POS2"
          U     "HM_KPA"
          SPBN  POS3
    L     "DB_Folienauszug".FAZ_Position_2
    spa posA
    
    ... weiterer Code 
    
    posA: T     "DB_Folienauszug".Positionsaufruf

    RONIN war schneller

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  4. #4
    Avatar von the bimo
    the bimo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.03.2009
    Ort
    Alzenau
    Beiträge
    20
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke gilt euch beiden!

    Ich werde mich gleich mal dran setzten und es testen! Aber jetzt woch ich meinen groben Schnitzer entdeckt habe, erschließt sich mir auch der Folgefehler was die CPU angeht.

    Ich werde dann berichten.

  5. #5
    Avatar von the bimo
    the bimo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.03.2009
    Ort
    Alzenau
    Beiträge
    20
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hatte in der Zwischenzeit (von mienem Post bis zu eurer Antwort) noch einen anderen Weg gefunden, welcher aber aufwändiger einzugeben war und das ganze nur unüberischtlicher gestaltete.
    Mit euer Hilfe, hat sich das ganze um ein vielfaches vereinfacht!

    Nochmals 1000 Dank und noch einen angenehmen Tag.

Ähnliche Themen

  1. Sprungmarken in AWL ?
    Von noeppkes im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 15.09.2016, 23:32
  2. Sprungmarken in Step7 Datenbank, Zuordnung?
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 27.11.2010, 16:56
  3. Sprungmarken erstellen
    Von changi im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 12.04.2010, 07:59
  4. Sprungebefehle / Sprungmarken
    Von reneehrle im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 26.09.2008, 15:49
  5. Sprungmarken
    Von Flo im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.08.2006, 10:36

Lesezeichen

Berechtigungen

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