<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/</id><updated>2020-02-28T15:17:39.147000Z</updated><subtitle>Recent posts to Wie kann man eine Zeitintervall in Codesys programmieren?</subtitle><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#9705" rel="alternate"/><published>2020-02-28T15:17:39.147000Z</published><updated>2020-02-28T15:17:39.147000Z</updated><author><name>hugo</name><uri>https://forge.codesys.com/u/hugo/</uri></author><id>https://forge.codesys.com236b58d92fa0c80e18610c82656e037c213c72a6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hier noch ein beispiel wie es geht&lt;/p&gt;
&lt;p&gt;tx := time();&lt;/p&gt;
&lt;p&gt;if not init then&lt;/p&gt;
&lt;p&gt;last := tx;&lt;/p&gt;
&lt;p&gt;init := true;&lt;/p&gt;
&lt;p&gt;elsif tx - last &amp;gt;= intervall then&lt;/p&gt;
&lt;p&gt;out := out + step;&lt;/p&gt;
&lt;p&gt;last := last + intervall;&lt;/p&gt;
&lt;p&gt;end_if;&lt;/p&gt;
&lt;p&gt;codebeispiele wie diese findest du zahlreich in der open source library von oscat&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#4d1c" rel="alternate"/><published>2020-02-28T15:17:31.412000Z</published><updated>2020-02-28T15:17:31.412000Z</updated><author><name>guynougouapi</name><uri>https://forge.codesys.com/u/guynougouapi/</uri></author><id>https://forge.codesys.com7116fbcb9e8abb08fa630215d34955278eed0135</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallöchen,&lt;/p&gt;
&lt;p&gt;ich bin gestern abend auf meine Lösung nach einer langen Suche gekommen.  Das programmcode steht unten. Sie können selbst probieren es funktioniert wunderbar. Ich habe sogar spasshalber eine Visualisierung dazu gemacht wo ich 6 Parameter (Stufenhoehe, Stufenanzahl, anfangswerte, die Zeiten der beide Timer etc...) eingeben kann.&lt;/p&gt;
&lt;p&gt;Ich danke Ihnen nochmals für Ihre Vorschläge zwei Timer zu benutzen&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;tp_2&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;bool_1&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;



                                            &lt;span class="nv"&gt;rtrig&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;NOT&lt;/span&gt; &lt;span class="nv"&gt;bool_2&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                            &lt;span class="nv"&gt;tp_1&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;rtrig&lt;/span&gt;.&lt;span class="nv"&gt;Q&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;t&lt;/span&gt;&lt;span class="sc"&gt;#500&lt;/span&gt;&lt;span class="nv"&gt;ms&lt;/span&gt;&lt;span class="ss"&gt;)&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;tp_1&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

                                                       &lt;span class="nv"&gt;bool_2&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;;&lt;/span&gt;

                                                       &lt;span class="nv"&gt;F&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;F&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                       &lt;span class="nv"&gt;Anzahlstufe&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;Anzahlstufe&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                  &lt;span class="nv"&gt;END_IF&lt;/span&gt;

                                 &lt;span class="nv"&gt;END_IF&lt;/span&gt;



                            &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;tp_1&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;bool_1&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;



                                           &lt;span class="nv"&gt;ftrig&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;bool_2&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                            &lt;span class="nv"&gt;tp_2&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;ftrig&lt;/span&gt;.&lt;span class="nv"&gt;Q&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;t&lt;/span&gt;&lt;span class="sc"&gt;#100&lt;/span&gt;&lt;span class="nv"&gt;ms&lt;/span&gt;&lt;span class="ss"&gt;)&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;tp_2&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

                                                       &lt;span class="nv"&gt;bool_2&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;F&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                  &lt;span class="k"&gt;ELSE&lt;/span&gt;

                                                     &lt;span class="nv"&gt;F&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;F&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nv"&gt;zaehler&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                     &lt;span class="nv"&gt;zaehler&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;zaehler&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                     &lt;span class="nv"&gt;Anzahlstufe&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;Anzahlstufe&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                &lt;span class="nv"&gt;END_IF&lt;/span&gt;



                                 &lt;span class="nv"&gt;END_IF&lt;/span&gt;



                            &lt;span class="k"&gt;IF&lt;/span&gt;  &lt;span class="nv"&gt;Anzahlstufe&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

                                   &lt;span class="nv"&gt;bool_1&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;F&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                               &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#170c" rel="alternate"/><published>2020-02-28T15:17:28.590000Z</published><updated>2020-02-28T15:17:28.590000Z</updated><author><name>Speicherzelle</name><uri>https://forge.codesys.com/u/speicherzelle/</uri></author><id>https://forge.codesys.comc0425dc5147b6e2cff7fa24055cd7d3be732a126</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;guynougouapi hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Hallo,&lt;br/&gt;
ich hab ein sinnvolleres Code gechrieben s.u&lt;br/&gt;
PROGRAM Text&lt;br/&gt;
VAR&lt;br/&gt;
  bool_1:BOOL;&lt;br/&gt;
    bool_2:BOOL;&lt;br/&gt;
    rtrig:R_TRIG;&lt;br/&gt;
    ftrig:F_TRIG;&lt;br/&gt;
    tp_1:TP;&lt;br/&gt;
    tp_2:TP;&lt;br/&gt;
    F:REAL:=10;&lt;br/&gt;
END_VAR&lt;br/&gt;
        IF NOT bool_1 THEN&lt;br/&gt;
                                                rtrig(CLK:= NOT bool_2);&lt;br/&gt;
                                                tp_1(IN:= rtrig.Q, PT:= t#6000ms);&lt;br/&gt;
                                                      IF tp_1.Q THEN&lt;br/&gt;
                                                           bool_2:=TRUE;&lt;br/&gt;
                                                           F:=F;&lt;br/&gt;
                                                      END_IF&lt;br/&gt;
                                     END_IF&lt;br/&gt;
                                IF NOT tp_1.Q THEN&lt;br/&gt;
                                               bool_1:=TRUE;&lt;br/&gt;
                                               ftrig(CLK:= NOT bool_2); &lt;br/&gt;
                                                tp_2(IN:= ftrig.Q, PT:= t#6000ms); &lt;br/&gt;
                                                      IF tp_2.Q THEN&lt;br/&gt;
                                                           bool_2:=FALSE;&lt;br/&gt;
                                                           F:=0;&lt;br/&gt;
                                                      ELSE&lt;br/&gt;
                                                         F:=20;&lt;br/&gt;
                                                         bool_1:=FALSE;&lt;br/&gt;
                                                    END_IF&lt;br/&gt;
                                     END_IF&lt;br/&gt;
Die Frage ist folgendes:&lt;br/&gt;
Ich habe Breakpoint gesetzt und vermute dass da der Fehler kommt. Theoretisch würde es funktionieren. Sie können selbst probieren.&lt;br/&gt;
LG &lt;br/&gt;
Guy&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hallo mein Freund,&lt;/p&gt;
&lt;p&gt;habe mal eine Function geschrieben wo alle variable von dir vorgegeben werden können.&lt;/p&gt;
&lt;p&gt;Prob es aus und viel spaß dabei&lt;/p&gt;
&lt;p&gt;Im Beispielproggi siehste ja wie Du das machen sollst oda kannst&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum-de.codesys.com//download/file.php?id=350" rel="nofollow"&gt;testberechnung.zip &lt;span&gt;&lt;span&gt;[9.38 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#9826" rel="alternate"/><published>2020-02-28T15:17:20.933000Z</published><updated>2020-02-28T15:17:20.933000Z</updated><author><name>guynougouapi</name><uri>https://forge.codesys.com/u/guynougouapi/</uri></author><id>https://forge.codesys.come7d3529ecd48a8379f98319ba487973a8fcf3997</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;ich hab ein sinnvolleres Code gechrieben s.u&lt;/p&gt;
&lt;p&gt;PROGRAM Text&lt;/p&gt;
&lt;p&gt;VAR&lt;/p&gt;
&lt;p&gt;bool_1:BOOL;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;bool_2&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;rtrig&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;R_TRIG&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;ftrig&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;F_TRIG&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;tp_1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;TP&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;tp_2&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;TP&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;F&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;REAL&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;bool_1&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;



                                            &lt;span class="nv"&gt;rtrig&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;NOT&lt;/span&gt; &lt;span class="nv"&gt;bool_2&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                            &lt;span class="nv"&gt;tp_1&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;rtrig&lt;/span&gt;.&lt;span class="nv"&gt;Q&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;t&lt;/span&gt;&lt;span class="sc"&gt;#6000&lt;/span&gt;&lt;span class="nv"&gt;ms&lt;/span&gt;&lt;span class="ss"&gt;)&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;tp_1&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

                                                       &lt;span class="nv"&gt;bool_2&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;;&lt;/span&gt;

                                                       &lt;span class="nv"&gt;F&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;F&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                  &lt;span class="nv"&gt;END_IF&lt;/span&gt;

                                 &lt;span class="nv"&gt;END_IF&lt;/span&gt;





                            &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;NOT&lt;/span&gt; &lt;span class="nv"&gt;tp_1&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;



                                           &lt;span class="nv"&gt;bool_1&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;;&lt;/span&gt;

                                           &lt;span class="nv"&gt;ftrig&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;NOT&lt;/span&gt; &lt;span class="nv"&gt;bool_2&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                            &lt;span class="nv"&gt;tp_2&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;ftrig&lt;/span&gt;.&lt;span class="nv"&gt;Q&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;t&lt;/span&gt;&lt;span class="sc"&gt;#6000&lt;/span&gt;&lt;span class="nv"&gt;ms&lt;/span&gt;&lt;span class="ss"&gt;)&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;tp_2&lt;/span&gt;.&lt;span class="nv"&gt;Q&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

                                                       &lt;span class="nv"&gt;bool_2&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;F&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                  &lt;span class="k"&gt;ELSE&lt;/span&gt;

                                                     &lt;span class="nv"&gt;F&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

                                                     &lt;span class="nv"&gt;bool_1&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="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Die Frage ist folgendes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warum am Zeil mit dem Befehl    ftrig(CLK:= NOT bool_2);  wird keine negative Flanke erkannt obwohl bool_2 der Wert TRUE an diesem Programmzeil hat. ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ich habe Breakpoint gesetzt und vermute dass da der Fehler kommt. Theoretisch würde es funktionieren. Sie können selbst probieren.&lt;/p&gt;
&lt;p&gt;LG &lt;/p&gt;
&lt;p&gt;Guy&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#7441" rel="alternate"/><published>2020-02-28T15:17:18.089000Z</published><updated>2020-02-28T15:17:18.089000Z</updated><author><name>guynougouapi</name><uri>https://forge.codesys.com/u/guynougouapi/</uri></author><id>https://forge.codesys.comfb4157876151e43381829861c6fa4589ee244890</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;ich bin relativ neu in Codesys. Aber ich hab mal in der Vorlesung Steuerungstechnik ein bisschen von SPS mitbekommen.&lt;/p&gt;
&lt;p&gt;Ist mein Programmcode total daneben?&lt;/p&gt;
&lt;p&gt;LG Guy&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#9139" rel="alternate"/><published>2020-02-28T15:17:10.400000Z</published><updated>2020-02-28T15:17:10.400000Z</updated><author><name>Speicherzelle</name><uri>https://forge.codesys.com/u/speicherzelle/</uri></author><id>https://forge.codesys.com0bb1ec024355bad6ea1b07886c7c2bebc5978998</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;guynougouapi hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Hallo,&lt;br/&gt;
hier ist mein Programmcode:&lt;br/&gt;
PROGRAM PLC_PRG&lt;br/&gt;
VAR&lt;br/&gt;
    t1: TON;&lt;br/&gt;
    t2:TON;&lt;br/&gt;
    wert: INT := 0;&lt;br/&gt;
    wert1:INT:=0;&lt;br/&gt;
    temp_:INT:=0;&lt;br/&gt;
    VAR_TEMP1:INT:=0;&lt;br/&gt;
    BOOLl: BOOL;&lt;br/&gt;
END_VAR&lt;br/&gt;
VAR_OUTPUT&lt;br/&gt;
END_VAR&lt;br/&gt;
LDN     t1.Q&lt;br/&gt;
    ST      t1.IN&lt;br/&gt;
    CAL     t1(pt:=t#10ms)&lt;br/&gt;
    LD      t1.Q&lt;br/&gt;
    JMPCN   M001&lt;br/&gt;
    LDN     t2.Q&lt;br/&gt;
    ST      t2.IN&lt;br/&gt;
    CAL     t2(pt:=t#200ms)&lt;br/&gt;
    LD      t2.Q&lt;br/&gt;
    JMPCN   M002&lt;br/&gt;
M001:LD     0&lt;br/&gt;
    ST      wert&lt;br/&gt;
    JMP     en&lt;br/&gt;
M002:LD     10&lt;br/&gt;
    ADD     wert&lt;br/&gt;
    ST      wert&lt;br/&gt;
    JMP     en&lt;br/&gt;
en:&lt;br/&gt;
Das Programm läuft in Taskmodus mit einem Zykluszeit die von 100ms. Der Wert wurde von mir willkürlich gegeben.&lt;br/&gt;
Auf dem Trace bekommen nichts sinnvolles. &lt;br/&gt;
Wie kann und wo kann ich mein Programm korrigieren?&lt;br/&gt;
LG Guy&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hallöchen,&lt;/p&gt;
&lt;p&gt;wollte eigentlich nur mal wisen was für ein Background-Wissen Du hast.&lt;/p&gt;
&lt;p&gt;Anfänger&lt;/p&gt;
&lt;p&gt;sage doch mal Bescheid dann wissen wir wie intensiv das Frage Antwortspiel wird.&lt;/p&gt;
&lt;p&gt;nigs für Ungut&lt;/p&gt;
&lt;p&gt;MFG&lt;/p&gt;
&lt;p&gt;Speicherzelle&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#f720" rel="alternate"/><published>2020-02-28T15:17:07.623000Z</published><updated>2020-02-28T15:17:07.623000Z</updated><author><name>guynougouapi</name><uri>https://forge.codesys.com/u/guynougouapi/</uri></author><id>https://forge.codesys.com07967b79de504435c95ff3adad2fed81f06abccc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;hier ist mein Programmcode:&lt;/p&gt;
&lt;p&gt;PROGRAM PLC_PRG&lt;/p&gt;
&lt;p&gt;VAR&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;TON&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;TON&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;wert&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;INT&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;wert1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;INT&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;temp_&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;INT&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;VAR_TEMP1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;INT&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;BOOLl&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;p&gt;VAR_OUTPUT&lt;/p&gt;
&lt;p&gt;END_VAR&lt;/p&gt;
&lt;p&gt;LDN     t1.Q&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;ST&lt;/span&gt;      &lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;

&lt;span class="n"&gt;CAL&lt;/span&gt;     &lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;LD&lt;/span&gt;      &lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Q&lt;/span&gt;

&lt;span class="n"&gt;JMPCN&lt;/span&gt;   &lt;span class="n"&gt;M001&lt;/span&gt;



&lt;span class="n"&gt;LDN&lt;/span&gt;     &lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Q&lt;/span&gt;

&lt;span class="n"&gt;ST&lt;/span&gt;      &lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;

&lt;span class="n"&gt;CAL&lt;/span&gt;     &lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;LD&lt;/span&gt;      &lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Q&lt;/span&gt;

&lt;span class="n"&gt;JMPCN&lt;/span&gt;   &lt;span class="n"&gt;M002&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;M001:LD     0&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;ST&lt;/span&gt;      &lt;span class="n"&gt;wert&lt;/span&gt;

&lt;span class="n"&gt;JMP&lt;/span&gt;     &lt;span class="n"&gt;en&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;M002:LD     10&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;ADD&lt;/span&gt;     &lt;span class="n"&gt;wert&lt;/span&gt;

&lt;span class="n"&gt;ST&lt;/span&gt;      &lt;span class="n"&gt;wert&lt;/span&gt;

&lt;span class="n"&gt;JMP&lt;/span&gt;     &lt;span class="n"&gt;en&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;en:&lt;/p&gt;
&lt;p&gt;Das Programm läuft in Taskmodus mit einem Zykluszeit die von 100ms. Der Wert wurde von mir willkürlich gegeben.&lt;/p&gt;
&lt;p&gt;Auf dem Trace bekommen nichts sinnvolles. &lt;/p&gt;
&lt;p&gt;Wie kann und wo kann ich mein Programm korrigieren?&lt;/p&gt;
&lt;p&gt;LG Guy&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#f95a" rel="alternate"/><published>2020-02-28T15:16:59.977000Z</published><updated>2020-02-28T15:16:59.977000Z</updated><author><name>Ralph Holz</name><uri>https://forge.codesys.com/u/ralph-holz/</uri></author><id>https://forge.codesys.com7e9e8ad1ba1312db9ede8c146a223f4099b308b1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Was erwartest Du jetzt eigentlich von uns? Wir werden dir nicht dein Problem lösen sondern nur den Ansatz liefern. Du brauchst einen Osziilator mit unterscheidlichen Impuls/Pausenverhältnis also am einfachsten 2 Timer. Das ist genau das was Speicherzelle dir geliefert hat die verwendung von einem Timer jetzt also mal das Gehirn einschalten und versuch mal das auf zwei Timer umzusetzen&lt;/p&gt;
&lt;p&gt;Also konkret:&lt;/p&gt;
&lt;p&gt;Timer 1 läuft (10ms) --&amp;gt; Ausgabe von Wert 0&lt;/p&gt;
&lt;p&gt;Wenn Timer 1 abgelaufen ist &lt;/p&gt;
&lt;p&gt;Timer 2 läuft (200ms) --&amp;gt; Ausgabe von Wert 0 + 10 oder vielleicht doch gleich 10&lt;/p&gt;
&lt;p&gt;Wenn Timer 2 abgalaufen ist geht es wieder von vorne los&lt;/p&gt;
&lt;p&gt;Also Forum funktioniert so:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Gehirn einschalten&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Selbst probieren (also z.B. rausfinden wie die Timer funktionieren und rausfinden wie man beding etwas ausführt)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wenn du nicht mehr weiter kommst das Forum fragen und dabei am besten noch deine Code den du schon geschrieben hast posten&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#7731" rel="alternate"/><published>2020-02-28T15:16:57.259000Z</published><updated>2020-02-28T15:16:57.259000Z</updated><author><name>guynougouapi</name><uri>https://forge.codesys.com/u/guynougouapi/</uri></author><id>https://forge.codesys.com08687d9a027c73bc0616f4e11cde8e31dea2efa4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Ralp,&lt;/p&gt;
&lt;p&gt;es funktioniert soweit wie ich mir vorher vorgestellt habe. Aber jetzt kommt noch was dazu. Die funktion muss den Anfangswert z.B 0 während einer sehr kurze Zeit (z.B 10ms) behalten, dann wird der Anfangswert (0) z.B um 10 erhöht. Sie muss diesen neuen berechneten wert jetzt während der Zeit  z.B 200ms behalten. Nach Ablauf dieser 200ms soll  sie wieder auf 0 wieder während z.B 10ms (wie ich oben erklärt habe, wenn der funktionswert den wert 0 hat) zurückgesetzt werden.&lt;/p&gt;
&lt;p&gt;So würde eine funktion enstehen die ganz kurz (10ms) den Wert 0 hat, dann während 200ms hat sie einen neuen Wert z.B 10 der ungleich null ist.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wie kann man eine Zeitintervall in Codesys programmieren?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/8fd9c9d00d/?limit=25#809f" rel="alternate"/><published>2020-02-28T15:16:54.528000Z</published><updated>2020-02-28T15:16:54.528000Z</updated><author><name>Speicherzelle</name><uri>https://forge.codesys.com/u/speicherzelle/</uri></author><id>https://forge.codesys.com430aec75002188bc6ab30579b31f4a4ec6a276e8</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ralph Holz hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Geht kürzer:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;PROGRAM&lt;/span&gt; &lt;span class="nt"&gt;PLC_PRG&lt;/span&gt;
&lt;span class="nt"&gt;VAR&lt;/span&gt;
&lt;span class="nt"&gt;t1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;TON&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;wert&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;INT&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;50&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;END_VAR&lt;/span&gt;
&lt;span class="nt"&gt;LDN&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="nt"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Q&lt;/span&gt;
&lt;span class="nt"&gt;ST&lt;/span&gt; &lt;span class="nt"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;IN&lt;/span&gt;
&lt;span class="nt"&gt;CAL&lt;/span&gt; &lt;span class="nt"&gt;t1&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;PT&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;T&lt;/span&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;200ms&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="nt"&gt;ld&lt;/span&gt; &lt;span class="nt"&gt;t1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Q&lt;/span&gt;
&lt;span class="nt"&gt;JMPCN&lt;/span&gt; &lt;span class="nt"&gt;en_temp3&lt;/span&gt;
&lt;span class="nt"&gt;LD&lt;/span&gt; &lt;span class="nt"&gt;wert&lt;/span&gt;
&lt;span class="nt"&gt;ADD&lt;/span&gt; &lt;span class="nt"&gt;10&lt;/span&gt;
&lt;span class="nt"&gt;ST&lt;/span&gt; &lt;span class="nt"&gt;wert&lt;/span&gt;
&lt;span class="nt"&gt;en_temp3&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Gruß &lt;br/&gt;
Ralph&lt;/p&gt;
&lt;p&gt;voll kurz &lt;/p&gt;
&lt;p&gt;alles geht ürgendwie kürzer oder anders nä&lt;/p&gt;
&lt;p&gt;MFG&lt;/p&gt;
&lt;p&gt;Speicherzelle&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>