M
Merker0.0
Guest
-> Hier kostenlos registrieren
Moin Jungs, ich habe ein Problem!
Und zwar möchte ich einen Timer T1 zweimal benutzen.Einen FB, den ich mit einem Eingangsparameter(E1) deklariert habe rufe ích im OB1 zweimal auf, und zwar mit unterschiedlichen Eingängen an den Parametern. Im FB benutze ich den Timer T1. Am Anfang des FB lade ich den Zeitwert für den Timer und am Ende des FB schreibe ich diese zurück. Die Zeitwerte werden in DB's gespeichert(natürlich in unterschiedlichen Wörtern für beide Timer). Der Zeitwert in DB41(aktuelle Zeiten) wird von einem selbstprogrammierten Timer runtergezählt.
Das ganze funktioniert aber nur, wenn nur einer der Timer läuft. Läuft der Erste und der zweite wird angeschaltet gehen beide Timer auf 0 und es ist "Ende im Gelände".
Hoffentlich kann mir jemand helfen(bin total verzweifelt)!?:-D
FB1(wird 2mal aufgerufen, aber versch.DBW's)
Und zwar möchte ich einen Timer T1 zweimal benutzen.Einen FB, den ich mit einem Eingangsparameter(E1) deklariert habe rufe ích im OB1 zweimal auf, und zwar mit unterschiedlichen Eingängen an den Parametern. Im FB benutze ich den Timer T1. Am Anfang des FB lade ich den Zeitwert für den Timer und am Ende des FB schreibe ich diese zurück. Die Zeitwerte werden in DB's gespeichert(natürlich in unterschiedlichen Wörtern für beide Timer). Der Zeitwert in DB41(aktuelle Zeiten) wird von einem selbstprogrammierten Timer runtergezählt.
Das ganze funktioniert aber nur, wenn nur einer der Timer läuft. Läuft der Erste und der zweite wird angeschaltet gehen beide Timer auf 0 und es ist "Ende im Gelände".
Hoffentlich kann mir jemand helfen(bin total verzweifelt)!?:-D
FB1(wird 2mal aufgerufen, aber versch.DBW's)
Code:
UN E 1.0 // Simuliert Erstanlauf
SPB ende
AUF DB 40 // Laden des Startwertes des Timers
L 50
T DBW 0
BE
ende: NOP 0
U #E1
FP #pos_Fla // Flankenabfrage Eingangsparameter
U #pos_Fla
SPBN sta1
AUF DB 40 // Laden des Startwertes des Timers
L DBW 0
ITB // Umwandeln Integer zu BCD
SPA tim1
sta1: U #E1
AUF DB 41 // Laden des aktuellen Zeitwertes
L DBW 0
ITB
tim1: OW W#16#1000 // Zeitbasis 100ms addieren
SE T 1
AUF DB 41
LC T 1 // Zurückschreiben der aktuellen Zeitwerte
BTI
T DBW 0