<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/</id><updated>2020-02-28T06:53:11.152000Z</updated><subtitle>Recent posts to Frage zum Baustein FREQ_MEASURE</subtitle><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#30d0" rel="alternate"/><published>2020-02-28T06:53:11.152000Z</published><updated>2020-02-28T06:53:11.152000Z</updated><author><name>robedonn</name><uri>https://forge.codesys.com/u/robedonn/</uri></author><id>https://forge.codesys.comf72b1b51385a873553f658c51e1a82d1c8c549f7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Deiner "Abhandlung" kann ich NICHT folgen  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Macht nichts, ich erkläre es nocheinmal.&lt;/p&gt;
&lt;p&gt;Erstes Beispiel:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
1. Als TIMELOW nehme ich 2s und als TIMEHIGH 1s. PERIODS setze ich auf 7. Dann ist es so, daß FREQ_MEASURE.V immer wieder neu bis 7 zählt, und VALID nur dann HIGH ist, wenn V=7. Außerdem wird der Frequenzwert am Ausgang nur dann aktualisiert, wenn VALID=TRUE.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In diesem Beispiel war es ja so, daß V immer wieder zurückgesetzt wurde, und neu hochzählte. Hab ich ja auch geschrieben.&lt;br/&gt;
Das Eingangssignal hat eine Periodendauer von 2s+1s=3s. Dies ergibt eine Frequenz von 0.666Hz. Die liegt auch am Ausgang OUT an.&lt;br/&gt;
Die Fehlerbedingung lautet: &lt;br/&gt;
Gemessene Periodendauer DIFF &amp;gt; 3000&lt;em&gt;Frequenz OUT&lt;br/&gt;
Soweit klar?&lt;br/&gt;
Und jetzt rechne ich nach:&lt;br/&gt;
Periodendauer DIFF=3000ms;&lt;br/&gt;
3000&lt;/em&gt;Frequenz OUT=2000;&lt;br/&gt;
Somit ist die Fehlerbedingung erfüllt. Der entsprechende Programmteil wird durchlaufen, und V wird deshalb immer wieder zurückgesetzt. Soweit, so gut.&lt;/p&gt;
&lt;p&gt;Jetzt das zweite Beispiel:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
2. Als TIMELOW nehme ich jetzt 1s und als TIMEHIGH 500ms. PERIODS setze ich wieder auf 7. In diesem Falle bleibt V=7, und VALID bleibt immer TRUE. Der Freuquenzwert wird mit jeder steigenden Flanke aktualisiert.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wenn Du hier nachrechnest, kommst Du auf:&lt;br/&gt;
Periodendauer DIFF=1500ms;&lt;br/&gt;
3000*Frequenz OUT=2000;&lt;br/&gt;
Die Fehlerbedingung ist damit nicht erfüllt. Also bleibt immer V=7 und VALID bleibt durchgehend TRUE.&lt;br/&gt;
Die Frequenz wird deshalb auch bei jeder Flanke neu berechnet, so wie es sein soll.&lt;/p&gt;
&lt;p&gt;Hoffe, ich konnte das so rüberbringen. Ich habe jetzt jedenfalls verstanden, warum sich der Baustein in beiden Fällen unterschiedlich verhalten hat.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Ich würde sagen --&amp;gt; 3-fache Abweichung der momentan errechneten Frequenz ( Zeiteinheiten in ms)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hier liegt der Hund begraben. Die Frequenz OUT ist eine Angabe in Hertz. Und die Periodendauer ist eine Angabe in sek bzw. ms.&lt;/p&gt;
&lt;p&gt;Es wird die dreifache Frequenz mit der Periodendauer verglichen. Und warum man das macht, verstehe ich nicht.&lt;/p&gt;
&lt;p&gt;Sinnvoller wäre es aus meiner Sicht, meinetwegen die durchschnittliche Periodendauer der letzten 3 Messungen mit der aktuellen Periodendauer zu vergleichen. Und wenn diese signifikant darüberliegt, kann man sagen, es ist ein Fehler.&lt;/p&gt;
&lt;p&gt;Aber eine Frequenz mit einer Periodendauer zu vergleichen, macht in meinen Augen keinen Sinn.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Robert&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#c223" rel="alternate"/><published>2020-02-28T06:53:08.962000Z</published><updated>2020-02-28T06:53:08.962000Z</updated><author><name>gravieren</name><uri>https://forge.codesys.com/u/gravieren/</uri></author><id>https://forge.codesys.comb81f848d8c2683059b31bfade8eb043f9148f892</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
So, jetzt ist mir klar, warum der Baustein das so macht!&lt;br/&gt;
Die Funktion ist soweit geklärt. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Deiner "Abhandlung" kann ich NICHT folgen   &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Warum man aber anhand der 3000-fachen Frequenz entscheidet, ob das Eingangssignal fehlerhaft ist, oder nicht, bleibt mir schleierhaft. &lt;br/&gt;
Ich würde sagen --&amp;gt; 3-fache Abweichung der momentan errechneten Frequenz  ( Zeiteinheiten in ms)&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#3151" rel="alternate"/><published>2020-02-28T06:53:02.836000Z</published><updated>2020-02-28T06:53:02.836000Z</updated><author><name>robedonn</name><uri>https://forge.codesys.com/u/robedonn/</uri></author><id>https://forge.codesys.com2cead8c44bb3b354349154e67446f64cd8e39803</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;gravieren hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Korrekt.&lt;br/&gt;
Jedoch wird bei "7" NUR die Variable "B" auf 0 gesetzt. &lt;br/&gt;
Die Variable "V" bleibt auf "7"  bis "Fehler" ODER "RESET" !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Genau!&lt;/p&gt;
&lt;p&gt;Das habe ich verstanden.&lt;/p&gt;
&lt;p&gt;Nur, warum man die Entscheidungsbedingung für "Fehler" ausgerechnet SO (3000-fache Frequenz)  festgelegt hat, erschließt sich mir nicht.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Robert&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#8fde" rel="alternate"/><published>2020-02-28T06:53:00.590000Z</published><updated>2020-02-28T06:53:00.590000Z</updated><author><name>robedonn</name><uri>https://forge.codesys.com/u/robedonn/</uri></author><id>https://forge.codesys.com04b31b12ec7a3e59661036655f0ddc141df426f6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;erinnerst Du Dich noch an meine zwei Beispiele?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
1. Als TIMELOW nehme ich 2s und als TIMEHIGH 1s. PERIODS setze ich auf 7. Dann ist es so, daß FREQ_MEASURE.V immer wieder neu bis 7 zählt, und VALID nur dann HIGH ist, wenn V=7. Außerdem wird der Frequenzwert am Ausgang nur dann aktualisiert, wenn VALID=TRUE. &lt;br/&gt;
2. Als TIMELOW nehme ich jetzt 1s und als TIMEHIGH 500ms. PERIODS setze ich wieder auf 7. In diesem Falle bleibt V=7, und VALID bleibt immer TRUE. Der Freuquenzwert wird mit jeder steigenden Flanke aktualisiert.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Beispiel 1: Periodendauer=3s, Frequenz=0,333Hz !&lt;/p&gt;
&lt;p&gt;Frequenz*3000 = 1000 --&amp;gt;&lt;/p&gt;
&lt;p&gt;Periodendauer 3000ms  &amp;gt;  1000ms    ---&amp;gt;  daher wird Signal als fehlerhaft erkannt.&lt;/p&gt;
&lt;p&gt;Beispiel 2: Periodendauer=1,5s, Frequenz=0,666Hz !&lt;/p&gt;
&lt;p&gt;Frequenz*3000 = 2000 --&amp;gt;&lt;/p&gt;
&lt;p&gt;Periodendauer 1500ms  &amp;lt;  2000ms   ---&amp;gt; daher wird Signal als OK erkannt.&lt;/p&gt;
&lt;p&gt;So, jetzt ist mir klar, warum der Baustein das so macht! &lt;/p&gt;
&lt;p&gt;Die Funktion ist soweit geklärt.&lt;/p&gt;
&lt;p&gt;Warum man aber anhand der 3000-fachen Frequenz entscheidet, ob das Eingangssignal fehlerhaft ist, oder nicht, bleibt mir schleierhaft.&lt;/p&gt;
&lt;p&gt;Gruß, Robert&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#d92f" rel="alternate"/><published>2020-02-28T06:52:54.381000Z</published><updated>2020-02-28T06:52:54.381000Z</updated><author><name>gravieren</name><uri>https://forge.codesys.com/u/gravieren/</uri></author><id>https://forge.codesys.come1a0bf38bfa27643f1da368d68dceb5b9a43d1a1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Beispiel B=2 und PERIODS=7 &lt;br/&gt;
B= (2+1) MOD 7 --&amp;gt; &lt;br/&gt;
B= 3 MOD 7 --&amp;gt; &lt;br/&gt;
B= Rest von 3/7 --&amp;gt; 3/7=0 Rest 3 &lt;br/&gt;
So dürfte es funktionieren!? Bei 7 folgt Rücksetzen auf null. &lt;br/&gt;
Jetzt bin ich schon ein kleines Stück weiter.&lt;br/&gt;
Korrekt.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jedoch wird bei "7" NUR die Variable "B" auf 0 gesetzt.   &lt;/p&gt;
&lt;p&gt;Die Variable "V" bleibt auf "7"  bis "Fehler" ODER "RESET" !&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#d87d" rel="alternate"/><published>2020-02-28T06:52:52.168000Z</published><updated>2020-02-28T06:52:52.168000Z</updated><author><name>robedonn</name><uri>https://forge.codesys.com/u/robedonn/</uri></author><id>https://forge.codesys.com915cade2c7bd7407c0b8c0e1b066ef15e1f25da2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;gravieren hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Hi&lt;br/&gt;
Soll ich dir mal meine Einstellung dazu sagen: &lt;br/&gt;
Der Aufwand, um festzustellen und zu Protokolieren wie und DASS die Funktion so funktioniert wie diese gewünscht ist, ist wesentlich höher als die Funktion selber zu schreiben/anzupassen.&lt;br/&gt;
Passe dir doch die Funktion an, so wie dein Bedarf ist.&lt;br/&gt;
Ernenne diese zum "Standard" für euere Firma.&lt;br/&gt;
Gebe der Funktion einen neuen Namen z.b.  R_FREQ_MEASURE &lt;br/&gt;
( R von Robert     )&lt;br/&gt;
Zudem könnte mann sich diese so anpassen, dass diese OHNE RESET mit Mittelwertbildung arbeitet. Z.b. mit einer FIFO, du "alte" Werte rauswirft oder so, somit brauchtst du NICHT immer warten, bis die Anzahl der Durchläufe erreicht ist/wird.&lt;br/&gt;
Denk doch mal nach, wie diese Funktion in der Praxis zu Fehlern führen kann.  Eine genaue Beschreibung und Funktionsweise ist UNUMLÄSSIG notwendig.  Auch ein Example hierzu ist sinnvoll.&lt;br/&gt;
Ich hoffe dir geholfen zu haben   &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Das war jetzt ein dickes Ding. &lt;/p&gt;
&lt;p&gt;Selbstständig kann und darf ich nicht darüber entscheiden, wie und ob die Funktion geändert werden darf. Darüber entscheiden andere.&lt;/p&gt;
&lt;p&gt;Außerdem ist unser IndraLogic ja nach diesem IEC61131-3 genormt, und da kann man nicht einfach was abändern, oder?&lt;/p&gt;
&lt;p&gt;Zur Info:&lt;/p&gt;
&lt;p&gt;Unsere Firma verkauft Steuerungssysteme, und IndraLogic ist ein Teil unseres Angebots, und in unsere Software integriert. Wir verkaufen CoDeSys sozusagen selber nur weiter. Und wir müssen nur dafür sorgen, daß alles einwandfrei funktioniert, denn unsere Kunden arbeiten ja mit unseren Produkten.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Robert&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#f536" rel="alternate"/><published>2020-02-28T06:52:45.971000Z</published><updated>2020-02-28T06:52:45.971000Z</updated><author><name>robedonn</name><uri>https://forge.codesys.com/u/robedonn/</uri></author><id>https://forge.codesys.com31d21a1b5d0b39e59767ab7b713d0d4b0615f78b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Mit "MOD" wird der REST einer Ganzzahl-Division errechnet&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ja, so steht es in der Hilfe. Ich glaube, ich weiß jetzt, wie es funktioniert:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;MOD&lt;/span&gt; &lt;span class="n"&gt;PERIODS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Beispiel B=2 und PERIODS=7&lt;/p&gt;
&lt;p&gt;B= (2+1) MOD 7    --&amp;gt; &lt;br/&gt;
B= 3 MOD 7          --&amp;gt;&lt;br/&gt;
B= Rest von 3/7    --&amp;gt;  3/7=0  Rest 3&lt;/p&gt;
&lt;p&gt;So dürfte es funktionieren!? Bei 7 folgt Rücksetzen auf null.&lt;br/&gt;
Jetzt bin ich schon ein kleines Stück weiter. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Wie hoch sind die Frequenzen ? &lt;br/&gt;
Bei Zykluszeit-überschreitungen / Zykluszeitgrenzen werden die wechselnden Eingänge nicht/falsch gelesen und somit ausgewertet. &lt;br/&gt;
Ich würde mal sagen: &lt;br/&gt;
Zykluszeit 10ms --&amp;gt; Low-High-Wechsel --&amp;gt; 50 Hz sind schon die "Grenze"&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Momentan ist die Zykluszeit auf 4ms gestellt. Bei der Periodendauer bewege ich mich (siehe Beispiele in meinem 4.Post) im Bereich von über 1,5s. Von daher dürfte es in dem Bereich nicht kritisch werden.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Ich denke, du testet den Baustein mit 1 Programm. &lt;br/&gt;
Zuerst mit der kleinen Frequenz. &lt;br/&gt;
Nachfolgen mit der grossen Frequenz. &lt;br/&gt;
Vor dem Testen des 2. Bausteins musst du den Baustein reseten ! &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bis jetzt habe ich noch kein selbstständiges Testprogramm geschrieben, sondern nur per Hand versch. Eingangssignale angelegt, die der "BLINK"-Generator erzeugt. Und dann habe ich eben die Reaktion von FREQ_MEASURE beobachtet. Dabei sind dann meine ganzen Fragen aufgetaucht.&lt;/p&gt;
&lt;p&gt;Aber mit Deiner Hilfe bin ich nun schon ein ganzes Stück weiter gekommen.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Robert&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#5ce9" rel="alternate"/><published>2020-02-28T06:52:43.397000Z</published><updated>2020-02-28T06:52:43.397000Z</updated><author><name>gravieren</name><uri>https://forge.codesys.com/u/gravieren/</uri></author><id>https://forge.codesys.comfb51ed08a3dcacb9fd9207c95c9f2fbcac2946e4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Das nützt mir leider nichts, denn meine Aufgabe ist es ja gerade, den FREQ_MEASURE auf Herz und Nieren zu testen. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Soll ich dir mal meine Einstellung dazu sagen: &lt;/p&gt;
&lt;p&gt;Der Aufwand, um festzustellen und zu Protokolieren wie und DASS die Funktion so funktioniert wie diese gewünscht ist, ist wesentlich höher als die Funktion selber zu schreiben/anzupassen.&lt;/p&gt;
&lt;p&gt;Passe dir doch die Funktion an, so wie dein Bedarf ist.&lt;/p&gt;
&lt;p&gt;Ernenne diese zum "Standard" für euere Firma.&lt;/p&gt;
&lt;p&gt;Gebe der Funktion einen neuen Namen z.b.  R_FREQ_MEASURE &lt;/p&gt;
&lt;p&gt;( R von Robert     )&lt;/p&gt;
&lt;p&gt;Zudem könnte mann sich diese so anpassen, dass diese OHNE RESET mit Mittelwertbildung arbeitet. Z.b. mit einer FIFO, du "alte" Werte rauswirft oder so, somit brauchtst du NICHT immer warten, bis die Anzahl der Durchläufe erreicht ist/wird.&lt;/p&gt;
&lt;p&gt;Denk doch mal nach, wie diese Funktion in der Praxis zu Fehlern führen kann.  Eine genaue Beschreibung und Funktionsweise ist UNUMLÄSSIG notwendig.  Auch ein Example hierzu ist sinnvoll.&lt;/p&gt;
&lt;p&gt;Ich hoffe dir geholfen zu haben   &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#3171" rel="alternate"/><published>2020-02-28T06:52:41.190000Z</published><updated>2020-02-28T06:52:41.190000Z</updated><author><name>gravieren</name><uri>https://forge.codesys.com/u/gravieren/</uri></author><id>https://forge.codesys.com45bb93044bfff492a8f0de2a669f34ae0197fba5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Ja, B wird mit dieser Funktion offensichtilich immer wieder neu hochgezählt, aber wie die "MOD"-Funktion mit reinspielt, habe ich nicht verstanden. &lt;br/&gt;
Mit "MOD" wird der REST einer Ganzzahl-Division errechnet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Hier wird V auf null gesetzt. &lt;br/&gt;
Bei hohen Frequenzen wird der Codeabschnitt - warum auch immer - nicht durchlaufen. &lt;br/&gt;
Wie hoch sind die Frequenzen  ?&lt;br/&gt;
Bei Zykluszeit-überschreitungen / Zykluszeitgrenzen  werden die wechselnden Eingänge nicht/falsch gelesen und somit ausgewertet.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ich würde mal sagen: &lt;br/&gt;
Zykluszeit 10ms  --&amp;gt;  Low-High-Wechsel  --&amp;gt; 50 Hz sind schon die "Grenze"       &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Ich verstehe nicht ganz, denn genau das Verhalten, das Du da beschreibst, macht der Baustein ja abhängig von der Eingangsfrequenz.Er macht es mal so, mal so, und genau das irritiert mich ja. (siehe meine obigen Beispiele) &lt;br/&gt;
Ich denke, du testet den Baustein mit 1 Programm.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Zuerst mit der kleinen Frequenz.&lt;/p&gt;
&lt;p&gt;Nachfolgen mit der grossen Frequenz.&lt;/p&gt;
&lt;p&gt;Vor dem Testen des 2. Bausteins musst du den Baustein reseten !&lt;/p&gt;
&lt;p&gt;Falls nicht --&amp;gt; bleibt V=7   und   VALID=TRUE&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Frage zum Baustein FREQ_MEASURE</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/df83fe509e/?limit=25#cf4b" rel="alternate"/><published>2020-02-28T06:52:35.053000Z</published><updated>2020-02-28T06:52:35.053000Z</updated><author><name>robedonn</name><uri>https://forge.codesys.com/u/robedonn/</uri></author><id>https://forge.codesys.com56ce4793123c0da527cc3a5dd2e5e1560850c606</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Karl,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Bleibt nur die Frage: &lt;br/&gt;
Wenn Permenent gleichbleibende Eingangssignale kommen bleibt "V" bei dir auf z.b. 7. &lt;br/&gt;
Irgendwie muss bei "VALID" = TRUE ein "RESET" Signal gegeben werden.&lt;br/&gt;
Dann fängt "V" auch bei 1 an, bei 7 hast du dann erst das "VALID" = TRUE &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ich verstehe nicht ganz, denn genau das Verhalten, das Du da beschreibst, macht der Baustein ja abhängig von der Eingangsfrequenz.Er macht es mal so, mal so, und genau das irritiert mich ja. (siehe meine obigen Beispiele)&lt;br/&gt;
Es scheint so zu sein, daß die Eingangssignale manchmal als fehlerhaft erkannt werden, so daß dieser Codeteil durchlaufen wird:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="nv"&gt;INIT&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;VALID&lt;/span&gt; &lt;span class="nv"&gt;AND&lt;/span&gt; &lt;span class="nv"&gt;TIME_TO_DWORD&lt;/span&gt;&lt;span class="ss"&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;OLDT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nv"&gt;OUT&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
   &lt;span class="nv"&gt;VALID&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;V&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;B&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;p&gt;Hier wird V auf null gesetzt.&lt;br/&gt;
Bei hohen Frequenzen wird der Codeabschnitt - warum auch immer - nicht durchlaufen.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Sorgt dafür, dass "B" eine Zahl zwischen 0 und "PERIODS-1"  hat. &lt;br/&gt;
(Indexierung) &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ja, B wird mit dieser Funktion offensichtilich immer wieder neu hochgezählt, aber wie die "MOD"-Funktion mit reinspielt, habe ich nicht verstanden.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Ich würde eine Funktion nehmen, die Permenent die Frequenz misst. &lt;br/&gt;
Z.b.  w &lt;a class="" href="http://www.oscat.de" rel="nofollow"&gt;www.oscat.de&lt;/a&gt; w  Funktion "M_T", die hat jedoch KEINE "Mittelwertbildung".&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Das nützt mir leider nichts, denn meine Aufgabe ist es ja gerade, den FREQ_MEASURE auf Herz und Nieren zu testen.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Robert&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>