# Timer in SCL erzeugen



## Bensen83 (11 August 2010)

Hallo, ich möchte einen Timer in SCL Laufen lassen. aber wie geht das? Welche Parameter muss ich S_ODT übergeben, gibt es dort nicht wie beim  einfügen von Bausteinaufrufen dann ne Vorlage, wo man nur noch die Parameter angibt?


----------



## Larry Laffer (11 August 2010)

Nö ... gibt es nicht ...
Aber es gibt in der Hilfe unter "Timer - Aufruf von Zeitfunktionen" schon was dazu, dass dir weiterhelfen sollte ...

Gruß
Larry


----------



## Bensen83 (11 August 2010)

*Ok*

und wo denkaliere ich jetzt z.B. das uten erwähnte "Verzögerung"?
wenn ich es als Timer in den Variablen declariere, dann bekomme ich einen Fehler:


```
VERZÖGERUNG:= S_ODT (T_NO := T10,
S := TRUE,
TV := T#1s,
R := FALSE,
BI := biVal,
Q := actFlag
);
```


----------



## Larry Laffer (11 August 2010)

Hallo,
trag doch mal bei "S" nicht TRUE sondern deine binäre Trigger-Variable ein ...
Außerdem ... ich kann ich SCL bei Variablen-Namen keine Umlaute verwenden (Verzögerung) - vielleicht hat dein SCL ja das gleiche Problem ... 

Gruß
Larry


----------



## Larry Laffer (11 August 2010)

Achja ... Nachtrag :
Unter der Hilfe bei "Timer - Parameterversorgung bei Zeitfunktionen" sind auch noch nette Beispiele - auch zu deinem S_ODT ...

Gruß
Larry


----------



## Der Bithirte (11 August 2010)

Mahlzeit,
hab das die letzte Zeit immer über die IEC Timer TON, TOF und TP gelöst und zwar:


```
VAR_INPUT
     ZEIT : TIME;
     Start : BOOL;
END_VAR
 
VAR
  T_INTERVALL : TON;
  T_PULS :TP;
END_VAR    
 
BEGIN
 
 
       T_INTERVALL (IN := Start , PT := ZEIT);        
       T_PULS (IN := Start , PT := T#1s); 
 
       IF T_INTERVALL.Q THEN 
          .
       END_IF;
```
 
So kann ich relativ einfach meinen Zustand des Timers weiter verarbeiten...
schau doch einfach mal die IEC-Timer an...

Grüße


----------



## EMZ (31 Mai 2017)

Hallo ich greife nochmal eine Problematik mit TIMER in SCL auf. 
Kann mir vllt einer helfen?
Ich weiß nicht warum dieser Timer hier nicht läuft, zumindest kann ich im FB Baustein kein starten des Timers beobachten. 


```
Input                        
    Res    Bool    
    T3    Timer    
     reset    Bool        
    
Output                        
    out    Bool        
    Zeit    Word    
    
Static                        
    Einschaltverzgerung    S5Time        S5T#0ms    



#Einschaltverzgerung:= S_ODT(T_NO:=#T3,
 S:=#Res,
 TV:=s5t#2s,
 R:= #reset,
 Q=>#out,
 BI=>#Zeit );
```


----------



## PN/DP (31 Mai 2017)

Rufst Du Deinen FB so auf, daß am Eingang reset = FALSE ist und an Res ein BOOL ist der den Timer steuert (zum Test z.B. ein freier Merker)?
Wird der an T3 angegebene Timer vielleicht auch noch woanders verwendet?

Gibt es irgendwelche Fehlermeldungen oder rote LEDs?

Harald


----------



## EMZ (31 Mai 2017)

Ja, also ich starte den Timer mit einem Res (Bool) und reset ist in dem moment false. 
allerdings kann ich im Code nicht mehr als das beobachten. 

Siehe BILD


----------



## Micha_RW (1 Juni 2017)

Hallo,

wird der T12 eventuell doppelt verwendet?

Mfg, Micha


----------



## EMZ (1 Juni 2017)

Nein, T12 hat keine Doppeltzuweisung im Projekt.

Woran könnt das denn liegen??

Bei PLC ´konnte ich beobachten, dass die Zeit des Binärausganges in unregelmäßigen Abständen zuckt. von 0h0m1s900ms  auf 0h0m0s000m ??


----------



## PN/DP (1 Juni 2017)

- schalte mal den E2.0 auf FALSE und dann wieder auf TRUE: S_ODT braucht eine 0-1-Flanke zum starten
- ändert sich der Wert im MW100? Beobachte den MW100 in einer Variablenbeobachtungstabelle (also beobachte nicht das Programm)
- rufst Du Deinen FB3 mehrmals auf? Beobachtest Du die richtige Instanz? Beobachte mal den A2.2 mit einer Variablenbeobachtungstabelle, bzw. leuchtet der A2.2?
- wird A2.2 mehrmals im Programm verwendet? evtl. Überlappungen?

Harald


----------



## EMZ (1 Juni 2017)

Hi, 

habe jetzt alle ein und ausgänge auf die Bytes EB/AB 10 geschrieben, damit sicher eine doppeltzuweisung ausgeschlossen ist. 
Kann es sein das bei der Deklaration etwas falsch ist,  habe nochmals um Doppelzuweisungen auszuschließen auch die Formalparameter geändert. 
Einschaltverzögerung hab ich bei TEMP deklariert und die S eingang und Q ausgang mit neu deklarierten boolschen Variablen parametriert. 




```
Input
    T8            Timer    2.0    0    False    False    
    Eingang     Bool     10.1         false    True    False    
    reset         Bool     10.2         false    True    False 
   
 Output                        
    Lampe        Bool    16.2          false    True    False    
    Zeit            Word    20.0    16#0    True    False    
                           
    
Temp                        
    Einschaltverzgerung    S5Time    0.0
```


----------

