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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Timerproblem in SCL

  1. #1
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Ihr,

    muss mich (leider) grad etwas in SCL einarbeiten. Im Speziellen geht es um eine Ein- u. Ausschaltverzögerung.

    Die Einschaltverzögerung klappt jedoch nicht; der Ausgang wird sofort angesteuert. Die Ausschaltverzögerung funktioniert!

    Code:
    FUNCTION_BLOCK FB10
     
    VAR_INPUT
      Taste: BOOL;
    END_VAR
     
    VAR_IN_OUT
      Ausgang: BOOL;
    END_VAR
     
    VAR
      currTime_T10: S5TIME;
      biVal_T10: WORD;
      actFlag_T10: BOOL;
     
      currTime_T11: S5TIME;
      biVal_T11: WORD;
      actFlag_T11: BOOL;
    END_VAR
     
    BEGIN
     
      currTime_T10:= S_ODT (T_NO:= T10, S:=Taste, TV:= T#1s, R:= FALSE, BI:= biVal_T10, Q:= Ausgang);
     
      currTime_T11:= S_OFFDT (T_NO:= T11, S:=Taste, TV:= T#4s, R:= FALSE, BI:= biVal_T11, Q:= Ausgang);
     
    END_FUNCTION_BLOCK
     
     
    DATA_BLOCK DB10  FB10
     
    BEGIN
     
    END_DATA_BLOCK
     
     
    ORGANIZATION_BLOCK OB1
     
    VAR_TEMP
     
      info : ARRAY[0..19] OF BYTE;
     
    END_VAR
     
      FB10.DB10(Taste:= E1.1, Ausgang:= A1.0);
     
    END_ORGANIZATION_BLOCK
    Frage:

    Was habe ich falsch gemacht?

    Lieben Dank...
    L.G. schnecke
    Zitieren Zitieren Timerproblem in SCL  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Ähh ... auf welche der beiden Zeilen soll (der eine) Ausgang den gehorchen ?
    Das ist in SCL nicht anders, wie in AWL ...

    Gruß
    Larry

  3. #3
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo LL,

    hm - war der Meinung dass für eine Ein- u. eine Ausschaltverzögerung je so eine Zeile notwendig wäre...

    Wie sonst könnte ich denn in einer Zeile beide Zeitfunktionen vereinen oder geht das gar nicht mit nur einer Zeile?
    L.G. schnecke

  4. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    die einschaltverzögerung soll ja nur greifen wenn die taste gedrückt wird UND der ausgang NICHT ein ist
    die ausschaltverzögerung soll ja nur greifen wenn die taste gedrückt wird UND der ausgang ein ist

    ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    oder die Timer einfach hintereinder schalten:

    Taste ---- T10.S - T10.Q ---- TempBool ---- T11.S - T11.Q ---- Ausgang

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    .. noch ein a und ein n hinterher schmeiß ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #7
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    oder die Timer einfach hintereinder schalten:

    Taste ---- T10.S - T10.Q ---- TempBool ---- T11.S - T11.Q ---- Ausgang

    Harald
    wie das dann umgesetzt wird ist mir doch scheiß egal
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #8
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, danke vierlagig...

    wenn ich deine Anmerkung umsetze, muss ich dann mit der Anweisung "IF" arbeiten?

    Also

    IF Taste:= true AND Ausgang:= false THEN;
    actFlag_T10:= true;
    ELSE IF
    actFlag_T10:= true THEN;
    Ausgang:= true;
    END IF

    entsprechend dann für die Ausschaltverzögerung?

    @Harald:

    Was bedeutet bitte T10.S - T10.Q ?
    L.G. schnecke

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Taste ---- T10.S - T10.Q ---- TempBool ---- T11.S - T11.Q ---- Ausgang

    sollte das bedeuten:
    Code:
      currTime_T10:= S_ODT (T_NO:= T10, S:=Taste, TV:= T#1s, R:= FALSE, BI:= biVal_T10, Q:= tempFlag);
      currTime_T11:= S_OFFDT (T_NO:= T11, S:=tempFlag, TV:= T#4s, R:= FALSE, BI:= biVal_T11, Q:= Ausgang);
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Aja ok, vielen Dank Harald!

    Ich nehme an, dazu muss dieses "tempFlag" unter VAR noch als "BOOL" deklariert werden, oder?
    Startet dann die ASV unverzüglich über dieses "tempFlag"?


    Würde das Ganze auch auf die von mir dargestellte Art mittels der IF-Anweisung funktionieren?
    Geändert von schnecke (13.09.2010 um 16:44 Uhr)
    L.G. schnecke

Ähnliche Themen

  1. Timerproblem
    Von Tobias2k9 im Forum Programmierstrategien
    Antworten: 5
    Letzter Beitrag: 14.01.2009, 13:29
  2. Parallel laufende Programme - Timerproblem?
    Von ogstyle im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 27.06.2007, 13:45
  3. Timerproblem!
    Von Merker0.0 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 04.08.2006, 22:48
  4. Timerproblem im FB
    Von samson im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.09.2005, 13:20

Lesezeichen

Berechtigungen

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