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

Ergebnis 1 bis 10 von 10

Thema: Frage

  1. #1
    fabrice Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen

    Ich habe hier eine Anweisung im OB1 geschrieben, mein Problem ist aber,
    dass das Programm immer in den FC1 springt.

    R M5.0
    U M5.0
    CALL "Test 1"


    Liege ich hier richtig? Er dürfte erst in Test 1 springen wenn der Merker
    logisch 1 wäre und da ich den Merker vorher "Reset" müsste das VKE 0 sein??



    grüsse Fabrice
    Zitieren Zitieren Frage  

  2. #2
    Anonymous Gast

    Standard

    Hi!

    Der CALL-Befehl ist nicht VKE-abhängig, wird also immer ausgeführt. Du kannst stattdessen den Befehl CC (Conditional Call) verwenden.

    Gruß
    berty

  3. #3
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    Hallo

    Call ist ein unbedingter Aufruf. D.h. der Aufruf ist vom Verknüpfungsergebnis unabhängig.

    Probier mal:

    u Mx.x
    CC FC1

    Gruß

    Andreas

    Edit: Da war wohl einer schneller

  4. #4
    fabrice Gast

    Standard

    Danke für die Antworten und gleich nochmal eine Frage

    U E 0.0
    U E 0.1
    U E 0.2
    U E 0.3
    U E 0.4
    SPBN F1

    F1: UN E 0.0
    L B#16#2
    T "Eingang".InputA0
    UN E 0.1
    L B#16#2
    T "Eingang".InputA1
    UN E 0.2
    L B#16#2
    T "Eingang".InputA2
    UN E 0.3
    L B#16#2
    T "Eingang".InputA3
    UN E 0.4
    L B#16#2
    T "Eingang".InputA4

    Mein Problem hier ist: auch wenn die Eingänge 1 sind
    geht das Programm in den F1: und setzt alle Felder

    Meiner Meinung nach dürfte das Programm doch nur
    bei Logisch 0 in den F1?

  5. #5
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Die Sprunganweisung ist in diesem Fall überflüssig. Wenn nicht alle Eingänge 1 sind, springt er nach F1, sonst macht er mit der nächsten Anweisung weiter.
    Was steht denn bei dir in der nächsten Zeile??
    Davon ab ist der Rest auch Quatsch, da der Lade und Transferbefehl auch nicht verknüpfungsabhängig ist. D.h. Dein
    U X.X
    ist sinnlos...

    Torsten

  6. #6
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard

    Zitat Zitat von fabrice
    Danke für die Antworten und gleich nochmal eine Frage

    U E 0.0
    U E 0.1
    U E 0.2
    U E 0.3
    U E 0.4
    SPBN F1

    F1: UN E 0.0
    L B#16#2
    T "Eingang".InputA0
    UN E 0.1
    L B#16#2
    T "Eingang".InputA1
    UN E 0.2
    L B#16#2
    T "Eingang".InputA2
    UN E 0.3
    L B#16#2
    T "Eingang".InputA3
    UN E 0.4
    L B#16#2
    T "Eingang".InputA4

    Mein Problem hier ist: auch wenn die Eingänge 1 sind
    geht das Programm in den F1: und setzt alle Felder

    Meiner Meinung nach dürfte das Programm doch nur
    bei Logisch 0 in den F1?
    Hallo,
    in diesem Fall müsste es dann heissen:
    SPB F1
    Die Sprungmarke F1 muß am Ende der Anweisungen stehen z.B.
    F1: NOP 0
    In Deinem Fall wird bei VKE=0 nach F1 gesprungen, bei VKE=1 arbeitet das Programm aber auch an dieser Stelle weiter. Ein Sprung nimmt man, um z.B. ein Programmteil zu überspringen.
    Gruß Andre

  7. #7
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von fabrice

    U E 0.0
    U E 0.1
    U E 0.2
    U E 0.3
    U E 0.4
    SPBN F1
    SPA ENDE

    F1: UN E 0.0
    L B#16#2
    T "Eingang".InputA0
    UN E 0.1
    L B#16#2
    T "Eingang".InputA1
    UN E 0.2
    L B#16#2
    T "Eingang".InputA2
    UN E 0.3
    L B#16#2
    T "Eingang".InputA3
    UN E 0.4
    L B#16#2
    T "Eingang".InputA4

    ENDE: NOP 0
    Hallo!

    Hier noch mal mein Vorschlag....

    Viele Grüße, Tobias

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Der Code innerhalb des umsprungenen Bereiches ist aber Unsinn:

    Code:
    U E 0.0 
    U E 0.1 
    U E 0.2 
    U E 0.3 
    U E 0.4 
    SPBN F1 
    SPA ENDE
    
    F1: NOP 0
    U E 0.0 
    SPB F2
    
    L B#16#2 
    T "Eingang".InputA0 
    
    F2: NOP 0
    U E 0.1
    SPB F3
     
    L B#16#2 
    T "Eingang".InputA1 
    
    F3: NOP 0
    U E 0.2 
    SPB F4
    
    L B#16#2 
    T "Eingang".InputA2 
    
    F4: NOP 0
    U E 0.3 
    SPB F5
    
    L B#16#2 
    T "Eingang".InputA3 
    
    F5: NOP 0
    U E 0.4 
    SPB ENDE
    
    L B#16#2 
    T "Eingang".InputA4 
    
    ENDE: NOP 0
    Natürlich kannst du in diesem Fall das Umspringen aller Anweisungen bei
    Code:
    U E 0.1 
    U E 0.2 
    U E 0.3 
    U E 0.4 
    SPBN F1 
    SPA ENDE
    auch gleich komplett weglassen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  9. #9
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo!

    Meinst Du mich?
    Wenn E0.0=0, dann wird der Sprungbefehl ausgeführt... das VKE=0, das ist ja der Auslöser für den negativen Sprungbefehl...

    U e0.0
    SPBN BLA....>---
    SPA ENDE.........|
    ........................|
    BLA: ...........<---

    ENDE: NOP 0

    Wenn E0.0=1, dann wird der Sprungbefehl nicht ausgeführt.... VKE=1...

    U E0.0
    SPBN BLA
    SPA ENDE....>----
    .........................|
    BLA: .................|
    .........................|
    ENDE: NOP 0..<--

    ...naja, absoluter Sprung...

    Viele Grüße, Tobias

  10. #10
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    ...jetzt sehe ich das erst...

    natürlich ist der Code in dem Umsprungenen Bereich nicht wirklich sinnvoll... hab ich eben übersehen...

    Viele Grüße, Tobias

Ähnliche Themen

  1. Frage
    Von waldy im Forum Stammtisch
    Antworten: 15
    Letzter Beitrag: 29.10.2010, 20:17
  2. frage mpi
    Von mortus im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.05.2009, 20:26
  3. Antworten: 15
    Letzter Beitrag: 09.04.2009, 20:57
  4. s7 frage
    Von maresic.s im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 20.08.2005, 13:59
  5. Antworten: 4
    Letzter Beitrag: 18.05.2005, 18:49

Lesezeichen

Berechtigungen

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