<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Zeit eines geschaltenes Ausganges messen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f6dea315b4/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f6dea315b4/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/f6dea315b4/</id><updated>2020-02-28T06:02:27.384000Z</updated><subtitle>Recent posts to Zeit eines geschaltenes Ausganges messen</subtitle><entry><title>Zeit eines geschaltenes Ausganges messen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f6dea315b4/?limit=25#67aa" rel="alternate"/><published>2020-02-28T06:02:27.384000Z</published><updated>2020-02-28T06:02:27.384000Z</updated><author><name>chucky</name><uri>https://forge.codesys.com/u/chucky/</uri></author><id>https://forge.codesys.comaade313177f4c6f54a638db9269b5f8f01a76f6b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Rolf&lt;/p&gt;
&lt;p&gt;Vielen Dank für deinen Typ. Das mit dem baustein hat sehr gut geklappt. &lt;/p&gt;
&lt;p&gt;Bei dem Code hat sich ein kleiner Fehler eingeschliechen. Die zweite Flanke ist ebenfalls eine positive. Nachdem ich diese durch eine negative ersetzt haben, funktionierte es einwandfrei.&lt;/p&gt;
&lt;p&gt;Nochmals vielen Dank&lt;/p&gt;
&lt;p&gt;Gruss&lt;/p&gt;
&lt;p&gt;Christian&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Zeit eines geschaltenes Ausganges messen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f6dea315b4/?limit=25#86df" rel="alternate"/><published>2020-02-28T06:02:21.243000Z</published><updated>2020-02-28T06:02:21.243000Z</updated><author><name>Rolf-Geisler</name><uri>https://forge.codesys.com/u/rolf-geisler/</uri></author><id>https://forge.codesys.combba591d26107046955b442ea694fd8d7595929c1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Christian,&lt;/p&gt;
&lt;p&gt;mit FUP kann ich leider nicht dienen, schreibe nur in ST. Aber wenn Du das das nachfolgende Codebeispiel als ST-Baustein speicherst und dann von CoDeSys nach FUP konvertieren läßt, kommst Du auch dahin.&lt;/p&gt;
&lt;p&gt;Nun zu Deiner Frage: Der Aufruf von TIME() liefert die aktuelle CPU-Zeit zurück. Beim Einschalten des Ausgangs (z.B. mit einem R_TRIG erfasst) liest Du also die CPU-Zeit und speicherst sie als Zeitpunkt des Einschaltens. Das Ausschalten erfasst Du mit einem F_TRIG, liest wieder die CPU-Zeit und bildest die Differenz zum Einschaltzeitpunkt - fertig.&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;Schaltzeit&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
  &lt;span class="nv"&gt;ixAusgang&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;qtEinschaltzeit&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;VAR&lt;/span&gt;
  &lt;span class="nv"&gt;lhAusgang&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;hlAusgang&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;ZeitpunktEinschalten&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="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Signalflanken&lt;/span&gt; &lt;span class="nv"&gt;erfassen&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
  &lt;span class="nv"&gt;lhAusgang&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;ixAusgang&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;hlAusgang&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;ixAusgang&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;CPU&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;Zeit&lt;/span&gt; &lt;span class="nv"&gt;abfragen&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;lhAusgang&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt;  &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Einschaltflanke&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;THEN&lt;/span&gt; &lt;span class="nv"&gt;ZeitpunktEinschalten&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TIME&lt;/span&gt;&lt;span class="ss"&gt;()&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="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;hlAusgang&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt;  &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;Ausschaltflanke&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;THEN&lt;/span&gt; &lt;span class="nv"&gt;qtEinschaltzeit&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TIME&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;ZeitpunktEinschalten&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;Gruss Rolf&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Zeit eines geschaltenes Ausganges messen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f6dea315b4/?limit=25#ba98" rel="alternate"/><published>2020-02-28T06:02:19.119000Z</published><updated>2020-02-28T06:02:19.119000Z</updated><author><name>chucky</name><uri>https://forge.codesys.com/u/chucky/</uri></author><id>https://forge.codesys.comd9e1b75635a655ba626a6e2639a16d3304e3f817</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo zusammen&lt;/p&gt;
&lt;p&gt;Ich möchte die Zeit eines Ausganges messen welcher eingeschaltet ist. Das heiss: Die Zeit von der Einschaltung bis zur Ausschaltung. &lt;/p&gt;
&lt;p&gt;Kann mir jemand ein Beispiel zeigen das im FUB ist?&lt;/p&gt;
&lt;p&gt;Ich muss die Differenz von einer Vorgabezeit zu der eingeschalteten Zeit ausrechnen.&lt;/p&gt;
&lt;p&gt;Vielen Dank für eure Hilfe&lt;/p&gt;
&lt;p&gt;Gruss Christian&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>