# Trigger auf true jede Sekunde



## mj112 (17 April 2020)

Hallo,

ich würde gerne jede Sekunde ein "true" erzeugen (muss aber zuvor auf false - also eine Art Rechtecksignal) und dies als "Sende-Befehl" für einen MQTT verwenden.
Wie kann ich das realisieren? Finde keinen entsprechenden Baustein.

Danke und Grüße
Marc


----------



## ClMak (17 April 2020)

Hallo,

sollte so funktionieren:




VG
ClMak


----------



## mj112 (17 April 2020)

Hi!
Danke. Wie kann ich diesen "Loop" realisieren?
Grüße
Marc


----------



## Matze001 (17 April 2020)

So wie es abgebildet ist?!

Sonst der Baustein BLINK aus der UTIL.lib

Grüße

Marcel


----------



## mj112 (17 April 2020)

Er hat dieses Loop Symbol gelb markiert. Bedeutet das, dass er hier am Eingang irgendwas aktiviert hat?


----------



## holgermaik (17 April 2020)

Der Eingang ist negiert.


----------



## Tobsucht (18 April 2020)

Hallo,

ich würde den Aufruf leicht abwandeln:



Bei Bausteinen mit einem Trigger als IN_OUT Variable setzt der Baustein das Trigger Bit selbst wieder zurück.
Dies ist bei vielen Wago Bausteinen der Fall.
Macht man nur eine Zuweisung, ist das Triggerbit nur einen Taskzyklus lang gesetzt und man "nimmt" dem Baustein das TRUE wieder weg.
Einige Bausteine verhalten sich dann nicht wie erwartet.

Daher wird das Bit nach Ablauf der Zeit PT gesetzt.
Hat der MQTT Baustein die Anfrage abgearbeitet setzt dieser das Triggerbit wieder zurück und die Zeit beginnt erneut zu laufen.

Die Negierung am Eingang sorgt dafür, dass der Timer zurückgesetzt wird.
Zusätzlich könnte der Ausgang des Timerbausteins am mit einem UND (AND) abgefragt werden. Dies hilft, wenn der MQTT Baustein nur einen Task Zyklus für seine Anfrage benötigen würde.

Falls ein Baustein ein Enable Eingang und Done Ausgang hat, sollte Enable gesetzt werden bis Done oder Error kommt.

Grüße


----------



## Wutbürger (19 April 2020)

Kleine Anpassung: Wenn die Zykluszeit 10ms ist, dann am Timer (1s – Zykluszeit) einstellen… 

  t#990ms


----------

