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

Ergebnis 1 bis 8 von 8

Thema: Zeitfunktion SV - verlängerter Impuls in SCL

  1. #1
    Registriert seit
    01.10.2010
    Ort
    NRW
    Beiträge
    11
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!
    Als Anfänger in Sachen SCL verzweifel ich gerade.
    Baugruppe: S7-300
    In SCL möchte ich über einen Impuls einen Merker M4.1 für 5 Sekunden setzen. Dafür habe ich die S_PEXT -Funktion ausgewählt.

    Wenn ich das Programm (Ohne Felermeldung compiliert) an einem Beispiel Teste, wird der M4.1 gesetzt und bleibt dauerhaft 1.

    Den Merker M4.2 setzte ich kurzzeitig manuell über die Variablentabelle.

    Code:
    FUNCTION SYSTEM_TEST : VOID
    
    VAR_TEMP
     
        START_PULS:S5TIME;
    
    END_VAR
    IF M[4,2] THEN
    
    M[4,0]:=TRUE;
    START_PULS:= S_PEXT  (T_NO:= T10, S:= M[4,0], TV:= t#5s, Q:= M[4,1]);
    M[4,0]:=FALSE;   
    
    END_IF;
    END_FUNCTION
    Habe ich da grundsätzlich etwas nicht verstanden?
    Wäre für eure Hilfe dankbar!

    Gruß
    Zitieren Zitieren Zeitfunktion SV - verlängerter Impuls in SCL  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Zitat Zitat von s_alpen Beitrag anzeigen
    Hallo zusammen!
    Als Anfänger in Sachen SCL verzweifel ich gerade.
    Baugruppe: S7-300
    In SCL möchte ich über einen Impuls einen Merker M4.1 für 5 Sekunden setzen. Dafür habe ich die S_PEXT -Funktion ausgewählt.

    Wenn ich das Programm (Ohne Felermeldung compiliert) an einem Beispiel Teste, wird der M4.1 gesetzt und bleibt dauerhaft 1.

    Den Merker M4.2 setzte ich kurzzeitig manuell über die Variablentabelle.

    Code:
    FUNCTION SYSTEM_TEST : VOID
    
    VAR_TEMP
     
        START_PULS:S5TIME;
    
    END_VAR
    
    .....Flankenauswertung auf  M[4,0] 
    
    START_PULS:= S_PEXT  (T_NO:= T10, S:= M[4,0], TV:= t#5s, Q:= M[4,1]);
    
    END_FUNCTION
    Habe ich da grundsätzlich etwas nicht verstanden?
    Wäre für eure Hilfe dankbar!

    Gruß

    Ich denke du solltest den Timer nicht in IF-END_IF schreiben, sondern außerhalb der Anweisung.

  3. #3
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Ich kenn mich in SCL nicht aus, dürfte aber dasselbe Problem sein wie auch in AWL wenns nicht geht.... der Timer bekommt die Flanken nicht mit, er wird nie mit "0" bearbeitet.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.797
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    @Borromeus:
    Stimmt genau ... aus einem IF ... End_IF wird in der Umsetzung ein Sprungbefehl der den Timer überspringt.

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

    borromeus (25.11.2010)

  6. #5
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    @Borromeus:
    Stimmt genau ... aus einem IF ... End_IF wird in der Umsetzung ein Sprungbefehl der den Timer überspringt.
    Letztlich werden alle möglichen Fehler von allen Menschen die beginnen was zu programmieren wiederholt.
    Ich zB habe KEINEN- wie auch immer gearteten- Fehler jemals ausgelassen. Ich kenne sie alle!!

  7. #6
    s_alpen ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.10.2010
    Ort
    NRW
    Beiträge
    11
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, Danke schonmal.
    Aber leider macht die Steuerung noch nicht was sie soll.

    Den Code verstehe ich so, dass wenn über M4.0 eine positve Flanke kommt, der Ausgang Q für die bestimmte Zeit auf "1" gesetzt. Habe es wie folgt, probiert und nun ist der M4.1 "1", sobald ich die Funktion SYTEM_Test aufrufe...ohne, das sicht M4.0 betätigt habe???HILFE!

    Code:
    FUNCTION SYSTEM_TEST : VOID
    
    VAR_TEMP
        START_PULS:S5TIME;    
    END_VAR
    
    
    START_PULS:= S_PEXT  (T_NO:= T10, S:= M[4,0], TV:= t#5s, Q:= M[4,1]);
       
    END_IF
    END_FUNCTION

  8. #7
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hast du die Merker vom vorherigen Test gelöscht?

    Also alles mal auf Null setzen (M4.1 , M4.0 ) und nochmals testen

  9. Folgender Benutzer sagt Danke zu Verpolt für den nützlichen Beitrag:

    s_alpen (26.11.2010)

  10. #8
    s_alpen ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.10.2010
    Ort
    NRW
    Beiträge
    11
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo...

    Gestern bin ich zu keiner Lösung gekommen...
    Doch heut mit frischem Kopf

    Hatte nicht darauf geachtet, dass der Timer durch einen Baustein dauerhaft aufgerufen wurde

    Danke für eure Hilfe

    Gruß

Ähnliche Themen

  1. Verlängerter Impuls und Einschaltverzögerung
    Von Chry007 im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 11.01.2011, 00:33
  2. Zeitfunktion
    Von Rose2 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 31.12.2010, 14:36
  3. Bei S7-200 "Zeit als verlängerter Impuls"
    Von dape im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.07.2009, 15:10
  4. Verlängerter Impuls als IEC1131-Timer???
    Von HarryH im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.07.2008, 20:48
  5. Allen Bradley Verlängerter Impuls
    Von plc_tippser im Forum Sonstige Steuerungen
    Antworten: 6
    Letzter Beitrag: 11.05.2006, 10:03

Lesezeichen

Berechtigungen

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