<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Timer</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/3bd6124474/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/3bd6124474/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/3bd6124474/</id><updated>2020-02-28T07:45:26.976000Z</updated><subtitle>Recent posts to Timer</subtitle><entry><title>Timer</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/3bd6124474/?limit=25#18cd" rel="alternate"/><published>2020-02-28T07:45:26.976000Z</published><updated>2020-02-28T07:45:26.976000Z</updated><author><name>Wolfgang Doll</name><uri>https://forge.codesys.com/u/wolfgang-doll/</uri></author><id>https://forge.codesys.comadd2702410c6d6ae023c37794a35e88ae20383b5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi lieven !&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;lieven hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Ich habe einen FB erstellt, der folgendes machen soll:&lt;br/&gt;
Wenn an einem Eingang eine pos. Flanke auftritt, dann starte einen Timer von x Sekunden, unabhängig was in der Zwischenzeit an diesem Eingang passiert.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Die Beschreibung passt exakt auf the TP aus der standard.lib&lt;/p&gt;
&lt;p&gt;Du brauchst weder einen Flankenmerker noch sonstige Dinge drum herum. Der Timer liefert bei der ersten positiven Flanke einen&lt;/p&gt;
&lt;p&gt;Impuls für eine exakt vorgebare Zeit, egal was am Eingang passiert&lt;/p&gt;
&lt;p&gt;Viele Grüße&lt;/p&gt;
&lt;p&gt;Wolfgang&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Timer</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/3bd6124474/?limit=25#b31c" rel="alternate"/><published>2020-02-28T07:45:20.435000Z</published><updated>2020-02-28T07:45:20.435000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com7d795275b3a75294cdef206bf2e982190088cb87</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; lieven&lt;/p&gt;
&lt;p&gt;Hab die Antwort selbst gefunden. Weis nicht warum ich die Sache so kompliziert gemacht habe, hier ne Lösung die Funktioniert: &lt;/p&gt;
&lt;p&gt;Code: &lt;/p&gt;
&lt;p&gt;FUNCTION_BLOCK Flanke_Impuls &lt;/p&gt;
&lt;p&gt;(&lt;em&gt; Eingang &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;VAR_INPUT &lt;/p&gt;
&lt;p&gt;Eingangs_Impuls: BOOL; &lt;/p&gt;
&lt;p&gt;END_VAR &lt;/p&gt;
&lt;p&gt;(&lt;em&gt; Ausgang &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;VAR_OUTPUT &lt;/p&gt;
&lt;p&gt;Ausgangs_Impuls: BOOL; &lt;/p&gt;
&lt;p&gt;END_VAR &lt;/p&gt;
&lt;p&gt;(&lt;em&gt; Lokal &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;VAR &lt;/p&gt;
&lt;p&gt;Timer: TP;                        (&lt;em&gt; Timer vom Typ TP, Impuls &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;Flanken_Merker: BOOL:= FALSE; &lt;/p&gt;
&lt;p&gt;Zeitdauer: TIME;                  (&lt;em&gt; Zeitdauer einstellbar &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;Zeit: TIME;                        (&lt;em&gt; dient der Kontrolle &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;END_VAR &lt;/p&gt;
&lt;p&gt;(&lt;em&gt; Flanken-Erkennung  &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;IF Eingangs_Impuls=TRUE THEN &lt;/p&gt;
&lt;p&gt;Flanken_Merker:= TRUE; &lt;/p&gt;
&lt;p&gt;END_IF; &lt;/p&gt;
&lt;p&gt;(&lt;em&gt; Aufruf der Timerfunktion TP aus der Standard LIB &lt;/em&gt;) &lt;/p&gt;
&lt;p&gt;Timer(IN:= Flanken_Merker, PT:= Zeitdauer); &lt;/p&gt;
&lt;p&gt;Ausgangs_Impuls:=Timer.Q; &lt;/p&gt;
&lt;p&gt;Zeit:= Timer.ET; &lt;/p&gt;
&lt;p&gt;IF Timer.ET &amp;gt;= Timer.PT THEN &lt;/p&gt;
&lt;p&gt;Flanken_Merker:= FALSE; &lt;/p&gt;
&lt;p&gt;END_IF; &lt;/p&gt;
&lt;p&gt;Danke fürs lesen   &lt;/p&gt;
&lt;p&gt;gruß &lt;/p&gt;
&lt;p&gt;lieven&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Timer</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/3bd6124474/?limit=25#db25" rel="alternate"/><published>2020-02-28T07:45:18.082000Z</published><updated>2020-02-28T07:45:18.082000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com1af186e83fbba741290d69680c7b61b682b1809f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; lieven&lt;/p&gt;
&lt;p&gt;Hi, an alle&lt;/p&gt;
&lt;p&gt;ich bin an einer weiteren Aufgabe dran, und suche Hilfe.&lt;/p&gt;
&lt;p&gt;Ich habe einen FB erstellt, der folgendes machen soll:&lt;/p&gt;
&lt;p&gt;Wenn an einem Eingang eine pos. Flanke auftritt, dann starte einen Timer von x Sekunden, unabhängig was in der Zwischenzeit an diesem Eingang passiert.&lt;/p&gt;
&lt;p&gt;Der Code ist noch nicht optimiert!&lt;/p&gt;
&lt;p&gt;FRAGE: Der Timer läuft nur ein einziges mal ab, warum?&lt;/p&gt;
&lt;p&gt;Ich habe es mit einer eigenen Version, mit einem Flag das gestzt wird, wenn der Eingang 0 ist probiert, doch dort läuft die Funktion auch nur einmal durch?&lt;/p&gt;
&lt;p&gt;FRAGE: Mach ich vielleicht etwas mit dem Simulator falsch?&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;FUNCTION_BLOCK&lt;/span&gt; &lt;span class="nv"&gt;Flanke_Impuls_Zeit&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
   &lt;span class="nv"&gt;blImpuls_Start&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR_OUTPUT&lt;/span&gt;
   &lt;span class="nv"&gt;blZeitimpuls_Gesetzt&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt;
   &lt;span class="nv"&gt;blFlag_Merker_Impuls_Start&lt;/span&gt;:&lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;blFlanken_Impuls&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;blTemp_Zeitimpuls_Gesetzt&lt;/span&gt;: &lt;span class="nv"&gt;BOOL&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt; &lt;span class="nv"&gt;PERSISTENT&lt;/span&gt;
   &lt;span class="nv"&gt;blFlanke_Positiv&lt;/span&gt;: &lt;span class="nv"&gt;R_TRIG&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;timeZeit_Impuls&lt;/span&gt;: &lt;span class="nv"&gt;TP&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;timeZeitdauer_Impuls&lt;/span&gt;: &lt;span class="nv"&gt;TIME&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;T&lt;/span&gt;&lt;span class="sc"&gt;#5&lt;/span&gt;&lt;span class="nv"&gt;s&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;timeAnzeige&lt;/span&gt;: &lt;span class="nv"&gt;TIME&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;blFlanke_Positiv&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CLK&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;blImpuls_Start&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;                                    (* Aufruf von R_TRIG *)&lt;/span&gt;
&lt;span class="nv"&gt;blFlag_Merker_Impuls_Start&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;blFlanke_Positiv&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;blFlag_Merker_Impuls_Start&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;TRUE&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;blFlanken_Impuls&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;                                          (* Kopieren *)&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;blFlanken_Impuls&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;TRUE&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;                                       &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Abfragen&lt;/span&gt; &lt;span class="nv"&gt;ob&lt;/span&gt; &lt;span class="nv"&gt;Positive&lt;/span&gt; &lt;span class="nv"&gt;Flanke&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
   &lt;span class="nv"&gt;timeZeit_Impuls&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;IN&lt;/span&gt;  :&lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="nv"&gt;blFlanken_Impuls&lt;/span&gt;, &lt;span class="nv"&gt;PT&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;timeZeitdauer_Impuls&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;      (* Timer TP aufrufen *)&lt;/span&gt;
   &lt;span class="nv"&gt;blTemp_Zeitimpuls_Gesetzt&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;timeZeit_Impuls&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;timeAnzeige&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;timeZeit_Impuls&lt;/span&gt;.&lt;span class="nv"&gt;ET&lt;/span&gt;&lt;span class="c1"&gt;;                                    (* ablaufende Zeit abfragen *)&lt;/span&gt;
   &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;timeAnzeige&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="nv"&gt;timeZeit_Impuls&lt;/span&gt;.&lt;span class="nv"&gt;PT&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;                           &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Wenn&lt;/span&gt; &lt;span class="nv"&gt;abgelaufene&lt;/span&gt; &lt;span class="nv"&gt;Zeit&lt;/span&gt; &lt;span class="nv"&gt;der&lt;/span&gt; &lt;span class="nv"&gt;gesetzten&lt;/span&gt; &lt;span class="nv"&gt;entspricht&lt;/span&gt;, &lt;span class="nv"&gt;blFlanken_Impuls&lt;/span&gt; &lt;span class="nv"&gt;zur&lt;/span&gt;ü&lt;span class="nv"&gt;cksetzen&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
      &lt;span class="nv"&gt;blFlanken_Impuls&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;FALSE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;END_IF&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Freu mich, wenn mir jemand weiterhelfen kann. DANKE&lt;/p&gt;
&lt;p&gt;lieven&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>