TIA Problem mit der Zeitfunktion

kuti

Level-1
Beiträge
354
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe einen S_Impuls als IN-Variable mit dem Namen "Zeitglied" und den Datentyp "Timer" deklariert. Die Zeitdauer ist als S5Time als INOUT deklariert, weil diese Zeit immer individuell ist, d.h. je nach Regeldifferernz immer unterschiedlich ist.
Mein Problem ist jetzt, dass die Zeit nicht runterläuft bzw. der Ausgang immer auf 1 bleibt. Hoffe ihr könnt mir weiterhelfen.:confused:

Gruß
 
Die Zeitdauer (=Vorgabe) reicht auch als IN, wenn die Zeit nicht innerhalb des Bausteins geändert wird. Das ist aber sicher nicht die Ursache.
Wie sieht denn die Freigabe des Timers aus? Und wann ändert sich die Zeitvorgabe? Während der Timer läuft?

Am Besten postest Du mal den Codeauszug, dann muss man nicht so Rätselraten.
Sent from my Nokia Lumia 920 using Board Express
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier sind zwei PDF's. In einer wird die Zeit berechnet, je nach Regeldifferenz und in der anderen steht dann der S_Impuls. Wenn ich jetzt denn diesen FB im OB1 aufrufe ist da als Schnittstelle der Name des Zeitgliedes. Muss ich dort eine Variable anbinden?

Gruß
 

Anhänge

  • zeit1.pdf
    48,3 KB · Aufrufe: 27
  • zeit.pdf
    26,4 KB · Aufrufe: 19
Dein #Zeitglied1 ist eine Timernummer die du außen an deinem Baustein parametrieren musst (wenn es denn ein Parameter ist) und darfst diese Timer-Nummer an anderer Stelle im Programm nicht mehr verwenden.

Aber ich würde mich von den S5-Timern trennen und stattdessen einen IEC-Timer verwenden. Dann brauchst du dafür keinen extra Parameter, musst dir keine Sorgen um Timer-Nummern machen und kannst direkt deine Variable vom Typ TIME als Zeitvorgabe verwenden. Das macht vieles leichter.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für deine Antwort. Ich habe inzwischen so einen IEC-Timer genommen und zwar einen TP. Dieser TP läuft sollte doch eigentlich für die Zeitdauer PT gesetzt sein, egal was am Eingang S passiert? Meiner tut es nicht, es läuft und läuft....das ist einfach unglaublich. Warum stoppt er nicht? :confused:
 
Hallo hucki,

:):) du hast recht, aber ich weiß jetzt woran es gelegen hat. Das hatte jetzt auch nicht mit einer wechselnden Flanke oder ähnliches zu tun. Es lag einfach daran, dass zu Beginn immer eine Zeit in das TP-Zeitglied geladen wurde und hatte der Regler die Zeit, die er wirklich braucht berechnet, konnte er diese berechntet Zeit nicht in den TP laden, da diese schon mit der anderen Zeit am laufen war. Schwer zu erklären,, aber na ja, es funktioniert jetzt. Aber wenn du so freundlich wärst, ich habe ein neues Thema eröffnet "Programmierstil" wenn du da rüberswitchen würdest :)
 
Bin dabei, mein TIA braucht noch.
;)


PS: Wenn Du ein hier angefragtes Problem selber lösen konntest, bitte sei trotzdem immer so nett, die Lösung noch zu posten (so wie jetzt über mir).
Es verirren sich auch immer mal andere User mit ähnlichen Problemen hierher und mit Deiner Lösung ist vlt. auch ihnen geholfen.
:)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist eigentlich nicht nötig, ich habe in meinem OB1 beim FB im EN-Eingang einen Starttaste eingefügt. Erst wenn ich alle Parameter eingegeben habe, wie z.B Sollwert,Totband etc, drücke ich auf diesen Taster zum Starten des Reglers, der dann die Zeit aus der Regeldifferenz berechnet. Habe ich diesen Starttaster nicht und gebe diese Parameter ein, während der Regler arbeitet, wird eine falsche Zeit in das Zeitglied eingeben.
 
Hier noch mal der Aufruf. Wie gesagt, es lag einfach an dem EN-Eingang des Reglers :eek:
 

Anhänge

  • Reg.pdf
    31,7 KB · Aufrufe: 11
Zurück
Oben