TIA TON - Flanke

TiZe

Level-1
Beiträge
12
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Leute,
vorab möchte ich mich schonmal für eure Hilfe bedanken und gleich mal anmerken, dass ich Anfänger auf dem Gebiet bin ;)

Es geht um folgende Situation:

Ich habe mir über eine Einschaltverzögerung eine periodisch wiederkehrende Flanke gebastelt, welche immer zum Anfang einer Periode kommt. Siehe Bild. Verwendung wird die Flanke in Kombination mit einer Ausschaltverzögerung, um einen asynchronen Takt zu generieren.

asynchroner_Takt.jpg

Nun ist mir aufgefallen, das dies nur so halb funktioniert und ich hätte gerne verstanden wieso das so ist.
Und zwar ist mein Problem, dass die Flanke in den nachfolgenden Netzwerken nicht "erkannt" wird, aber von den darüberliegenden. Ich erkläre mir das so, dass das Signal erst am Ende des FB in dem IDB geladen wird? Ist das eine Besonderheit bei Timern? Bei einer normalen Flankenerkennung bei der die Flanke als static im FB angelegt ist geht das ja auch.

Außerdem frage ich mich, ob es eine elegantere Möglichkeit für die Lösung dieser Aufgabe gibt.
Ich bin da für Anregungen offen!

Grüße!
 
Das ist eine Siemens Spezialität (oder besser: Schnappsidee) bei den Timern (und evtl. noch anderen Funktionen die nicht dokumentiert sind) von Siemens.
Die Timer verhalten sich nicht so wie man es von anderen FBs erwarten würde. Dazu gibt es mehrere Threads in diesem Forum, da sind auch alte Hasen drauf reingefallen.

Ohne lange Erklärung: Bei Siemens Timern und einer S7-1200/1500 nicht die .Q Variable der Instanz verwenden, sondern eine zusätzliche Variable im STAT-Bereich anlegen, mit dem Q-Ausgang verschalten und diese dann abfragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hört sich nach einem wunderbaren Feature an! ;)

Habe ich grade mal ausprobiert, aber das funktioniert leider werde für die nachfolgenden Netzwerke noch für die darüberliegenden! :sad:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie groß ist denn die Zeit für "IN_x_Dauerbestrahlung" und wie groß "stat_Time_Intervall"?
Wenn erster Wert 2s und zweiter Wert 5s, dann hast du 2s ein und 3s aus.

Solange der Counter nicht abgelaufen ist sollte das dann eigentlich funktionieren (OUT blinkt). Ob das mit den Zeiten so sinnvoll ist mal außen vor.
 
Als Zeiten Habe ich für die Periodendauer TON = 15s und für die TOF 5s. -> 5s ein und 10s aus.

Genau das ist auch meine Einschätzung, aber gehen tut es trotzdem nicht. Die TOF wartet eigentlich nur auf die Flanke, aber die scheint wohl nicht anzukommen.



asynchroner_Takt.jpg
 
Hey Leute,
vorab möchte ich mich schonmal für eure Hilfe bedanken und gleich mal anmerken, dass ich Anfänger auf dem Gebiet bin ;)

Es geht um folgende Situation:

Ich habe mir über eine Einschaltverzögerung eine periodisch wiederkehrende Flanke gebastelt, welche immer zum Anfang einer Periode kommt. Siehe Bild. Verwendung wird die Flanke in Kombination mit einer Ausschaltverzögerung, um einen asynchronen Takt zu generieren.

Anhang anzeigen 51934

Nun ist mir aufgefallen, das dies nur so halb funktioniert und ich hätte gerne verstanden wieso das so ist.
Und zwar ist mein Problem, dass die Flanke in den nachfolgenden Netzwerken nicht "erkannt" wird, aber von den darüberliegenden. Ich erkläre mir das so, dass das Signal erst am Ende des FB in dem IDB geladen wird? Ist das eine Besonderheit bei Timern? Bei einer normalen Flankenerkennung bei der die Flanke als static im FB angelegt ist geht das ja auch.

Außerdem frage ich mich, ob es eine elegantere Möglichkeit für die Lösung dieser Aufgabe gibt.
Ich bin da für Anregungen offen!

Grüße!

In 90% aller Fälle kommt man mit TON zum Ziel, in diesem Fall würde ich zwei TP nehmen und deren Q Ausgänge negiert am jeweils anderen Eingang starten.
NOT T_Impuls am Eingang von T_Pause und NOT T_Pause als Eingang von T_Impuls.
 
In 90% aller Fälle kommt man mit TON zum Ziel, in diesem Fall würde ich zwei TP nehmen und deren Q Ausgänge negiert am jeweils anderen Eingang starten.
NOT T_Impuls am Eingang von T_Pause und NOT T_Pause als Eingang von T_Impuls.

Ich habe deinen Vorschlag grade mal ausprobiert und diese Variante kommt mir in der Tat einfacher und übersichtlicher vor.

Danke für den Tipp!
 
Das ist eine Siemens Spezialität (oder besser: Schnappsidee) bei den Timern (und evtl. noch anderen Funktionen die nicht dokumentiert sind) von Siemens.
Die Timer verhalten sich nicht so wie man es von anderen FBs erwarten würde. Dazu gibt es mehrere Threads in diesem Forum, da sind auch alte Hasen drauf reingefallen.

Ohne lange Erklärung: Bei Siemens Timern und einer S7-1200/1500 nicht die .Q Variable der Instanz verwenden, sondern eine zusätzliche Variable im STAT-Bereich anlegen, mit dem Q-Ausgang verschalten und diese dann abfragen.


Hey Thomas,

hättest du eine Quelle für die lange Erklärung?
Würde mich interessieren.

LG Stogi
 
Hey Thomas,

hättest du eine Quelle für die lange Erklärung?
Würde mich interessieren.

Das war schon öfters ein Thema. In diesem Thread gibt es am Ende eine Erklärung:

Seltsames Verhalten der TON-Timer bei der S7-1200

Siemens schreibt nur, dass der Timer auch aktualisiert wird wenn auf Q oder ET zugegriffen wird und nicht nur wenn er aufgerufen wird. Das hat aber erhebliche Konsequenzen, weil sich das nun mal völlig anders verhält als alle anderen Funktionsbausteine.
 
Zurück
Oben