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

Ergebnis 1 bis 5 von 5

Thema: Blinktakt in Sprungleiste

  1. #1
    Registriert seit
    11.12.2014
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich bin noch ein blutiger Anfänger im S7 programmieren.
    Deshalb wollte ich euch um eure Meinung fragen.

    Ich möchte durch Drücken der Taste T einen automatisierten Ablauf starten.
    Wenn alle Bedingungen erfüllt sind sollte der Taster T leuchten.
    Das habe ich mit einer Sprungleiste realisiert.

    Wenn jedoch der Taster angewählt wurde, aber die Bedinungen noch nicht erfüllt sind, soll der Taster blinken.


    Meine Frage:
    Soll ich das in ein extra NW schreiben auserhalb der SPL, oder kann ich das in die SPL miteinbauen?

    mfg
    Zitieren Zitieren Blinktakt in Sprungleiste  

  2. #2
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    Warum so kompliziert? Wie sieht deine SPL aus?
    Würde es nicht ausreichen, deine Bedingung mit UND zu Verknüpfen, und das Ergbnis mit einen Taktmerker zu verodern und damit die Tastenleuchte anzusteuern?

  3. #3
    Cakuza ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.12.2014
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zusammengefasst sieht sie so aus:

    Kann ich den Blinktakt so schreiben?


    Code:
     L     #Schrittmerker
    
          SPL   ERR
          SPA   S0 
          SPA   S1
          SPA   S2
          SPA   S3  //wartet auf Tastendruck von T1-15
          SPA   S4  //speichert gedrückte Taste in einem Byte (Dezimal 1...15)
          SPA   S5  //hier wollte ich den Blinktakt einfügen
          SPA   S6  //Kontrolle ob Bedingungen erfüllt sind, falls erfüllt springe zu S9
          SPA   S7  //Bedingung 1
          SPA   S8  //Bedingung 2
          SPA   S9  //Programm start
          SPA   S10 //LED leuchten, wenn programm gestartet
    
    ERR:  SPA   S0
    Code:
    S5:   SET   
    
          L     #T_Tasten_Speicher
          L     1
          ==I   
          SPB   S8a
    
    S5a:  SET   
          U     "m_takt_1,0s"
          =     #LED_Taste_1
    
     L     0
     T     #Schrittmerker
    BEA
    Geändert von Cakuza (11.12.2014 um 14:58 Uhr)

  4. #4
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    Auch wenn ich den Sinn hinter der Sprungleiste nicht ganz verstehe (grundsätzlich so und die "Schritte" z.B. S5a und S8a), probier ich dir zu helfen.
    Wenn ich dich richtig verstehe, soll die Taste immer blinken, wenn die Bedingungen nicht erfüllt sind, oder? Warum nicht einfach vor die Sprungleiste das packen?
    Und wenn das Programm läuft, dann halt im Schritt S10 die LED "setzen".

    Code:
          U     "m_takt_1,0s"
          =     #LED_Taste_1
    
     L     #Schrittmerker
          SPL   ERR
          SPA   S0 
          SPA   S1
          SPA   S2
          SPA   S3  //wartet auf Tastendruck von T1-15
          SPA   S4  //speichert gedrückte Taste in einem Byte (Dezimal 1...15)
          SPA   S6  //Kontrolle ob Bedingungen erfüllt sind, falls erfüllt springe zu S9
          SPA   S7  //Bedingung 1
          SPA   S8  //Bedingung 2
          SPA   S9  //Programm start
          SPA   S10 //LED leuchten, wenn Bedingungen erfüllt sind
    
    ERR:  SPA   S0
    //
    .
    .
    //
    
    S10:  L 0   
          U   "Eins_Merker"
          =     #LED_Taste_1
    Und kurzer Vorschlag, um deinen Wünschen gerecht zu werden:
    Code:
    U "Bed_1"
    U "Bed_2"
    O "m_takt_1,0s"
    = #LED_Taste_1

  5. #5
    Cakuza ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.12.2014
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für den Vorschlag, hat mir geholfen
    Programm funktioniert.
    Habe am Ende der Sprungleiste einen Zyklischen Bereich eingefügt, wo die LED immer aktualisiert wird.

    Code:
          L     #T_Tasten_Speicher   //Überprüfen welchen Wert #T_Tasten_Speicher hat
          L     1
          ==I   
          SPB   S52a
    
          R     #LED_Taste_1      //wenn im #T_Tasten_Speicher nicht 1 steht, wird der Sprungbefehl S52a nicht erfüllt, und die LED's werden zurückgesetzt
          SPA  S52z
    
    S52a: O     "m_takt_1,0s"
          O     #LEDmerker[1]
          =     #LED_Taste_1
    
    S52z: NOP 0
    #LEDmerker[1] bekommt in der Sprungleiste den Wert 0 oder 1 zugteilt
    0 -> Blinken, wenn Bedingung nicht erfüllt
    1 -> Leuchten, wenn Bedingung erfüllt

    lg
    Geändert von Cakuza (17.12.2014 um 11:11 Uhr)

Ähnliche Themen

  1. Probleme in Sprungleiste
    Von c.wehn im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.08.2011, 12:54
  2. Blinktakt Ablaufsprache
    Von Martin24D im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 19.06.2011, 00:57
  3. Sprungleiste
    Von Grilli im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 20.05.2010, 20:27
  4. Sprungleiste
    Von mzva im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 07.12.2006, 23:26
  5. Skriptaufruf über Blinktakt
    Von Hugo-Soft im Forum HMI
    Antworten: 2
    Letzter Beitrag: 02.09.2005, 15:31

Lesezeichen

Berechtigungen

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