02.10.2009 17:44 | |
Beiträge: 147 Bewertung: (3) |
Um in meinem Projekt die Durchschnittlichen Pausen zwischen den Impulsen zu erhalten, habe ich anhängenden Ablauf umgesetzt. Seht ihr vielleicht Möglichkeiten zum abnehmen … laufen solls auf einer OBA5 Ich sag schon mal Danke CU Gerd DateianhangImpulspausen.zip (103 Downloads) |
02.10.2009 20:24 | |
Beiträge: 147 Bewertung: (3) |
Hi, Du, das ist nur ein Teil der ganzen Steuerung Daher hoffe ich, dass das Teil noch abgespeckt werden kann Cu Gerd |
02.10.2009 21:25 | |
Beiträge: 3181 Bewertung: (320) |
Hmm, und der Rest? Evtl. da optimieren? |
03.10.2009 13:21 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo LogoFan62, deine Schaltung beinhaltet doch zunächst mal des Grundkonzept, so dass du auch meine Schaltung für kriwi durchschauen solltest: Eigener Zeitgeber, dessen Impulse mit einem Zähler detektiert werden. Weil nun aber nicht nur die Zeitdauer zwischen zwei einzelnen Eingangsimpulsen sondern jeweils die Pausendauer zweier Impulse einer Impulsfolge zu messen (und auszuwerten) sind, muss zumindest jeweils der unmittelbar zurückliegende Messwert auggehend von einer aktuellen laufenden Messung (zur Anzeige und/oder Weiternutzung) gespeichert werden. Deine Aufgabenstellung erfordert nun lediglich anstelle eines Speichers 4 Speicher. Die Schaltung, die deine Aufgabenstellung (Einsparen von Blöcken) erfüllt, ist eine Kombination aus den vorhandenen Schaltungen "Demo_Zeitmessung_Pulspause_V1 (0BA5).lsc" (Beitrag: Zeit zwischen zwei Impulsen anzeigen) und
Mit I1 = "ON" = 1 wird die Messung gestartet/aktiviert; über I5 werden die Eingangsimpulse an die Schaltung übergeben (sofern die Pausenzeiten größer als 0,5 s sind, kann jeder Digitaleingang der LOGO! dazu verwendet werden - sonst nur sog. schnelle Eingänge {I3, I4,} I5 und I6). Mittels des um I1 aufgebauten Schaltungsteils wird die Messschaltung (Speicher) mit jedem START-Vorgang initialisiert/gelöscht. Beim Beenden des Messens bleibt jedoch (bis zum nächsten START) der letzte gültige Mittelwert am Block B075 "Pzeit_s" erhalten! Aufmerksamen Anwendern wird auffallen, dass derzeit der Parameter GAIN in B075 "Pzeit_s" den Wert 1,00 hat, obwohl dieser wegen der Mittelwertbildung aus 4 Werten den Wert 0,25 haben müsste. Damit könnte dieser Block bei der vorliegenden Parameterdefinition ganz entfallen! Dazu folgende Überlegungen: a) Definieren wir zunächst mal standardgemäß GAIN(B075) = 0,25 und OFFSET(B075) = 0. Da in deiner Anfrage LogoFan62 die Zeitmessung mit 1,0 s vorgegeben war, gehen wir mal davon aus, dass die zu messende Pausenzeit typischerweise mehrere Sekunden beträgt. Um diese Pausenzeiten nun genügend genau zu messen, wählen wir mal eine Auflösung von 0,1 s. Damit müssen dann die Parameter von B110 "TimeBase" wie folgt definiert werden: TH = TL = "zeitl. Auflösung der Einzelmessungen" / 2 = 0,05 s. Daraus ergibt sich nun wegen der erforderlichen Addition von 4 Messwerten zur Mittelwertbildung eine maximal mögliche Messdauer von 819 s, denn der maximal mögliche Wert Ax der Analogblöcke der LOGO! beträgt exakt 32767 und ist stets ganzzahlig. 32767 / 4 = 8191 = maximale zulässige Impulszahl je Messung --> 8191 Impulse * 0,1 s = 819 s. Mittels der Definition von einer Nachkommastelle für die Anzeige im Block B075 "Pzeit_s" kann dessen aktueller ganzzahliger Wert AX = xxxn dann also interpretiert werden als xxx,n s gemittelte Pausendauer. ...Daraus ergibt sich nun wegen der erforderlichen Addition von 4 Messwerten zur Mittelwertbildung eine maximal mögliche Messdauer von 3276 s, denn der maximal mögliche Wert Ax der Analogblöcke der LOGO! beträgt exakt 32767 und ist stets ganzzahlig. 32767 / 4 = 8191 = maximale zulässige Impulszahl je Messung --> 8191 Impulse * 0,4 s = 3276 s. Mittels der Definition von einer Nachkommastelle für die Anzeige im Block B075 "Pzeit_s" (bzw. B073 bei Wegfall von B075) kann dessen aktueller ganzzahliger Wert AX = xxxxn nun interpretiert werden als xxxx,n s gemittelte Pausendauer. Zahlenbeispiel zur Auflösung des Mittelwertes von 0,1 s: ...Daraus ergibt sich nun wegen der erforderlichen Addition von 4 Messwerten zur Mittelwertbildung eine maximal mögliche Messdauer von 327,64 s, denn der maximal mögliche Wert Ax der Analogblöcke der LOGO! beträgt exakt 32767 und ist stets ganzzahlig. 32767 / 4 = 8191 = maximale zulässige Impulszahl je Messung --> 8191 Impulse * 0,04 s = 327,64 s. Mittels der Definition von zwei Nachkommastellen für die Anzeige im Block B075 "Pzeit_s" (bzw. B073 bei Wegfall von B075) kann dessen aktueller ganzzahliger Wert AX = xxxxnn nun interpretiert werden als xxxx,nn s gemittelte Pausendauer. Zahlenbeispiel zur Auflösung des Mittelwertes von 0,01 s: DateianhangDemo_Zeitmessung_Pulspause_mit_Mittelwertbildung_V1 (0BA5).zip (92 Downloads) |
Zuletzt bearbeitet von: Betel am: 03.10.2009 15:44kleine Korrekturen angebracht... ==> Meine TAG-Listen: "deut." |
|
03.10.2009 14:31 | |
Beigetreten: 07.04.2008 Letzter Bes: 29.03.2024 Beiträge: 29 Bewertung: (5) |
Hallo LogoFan62, habe deine Schaltung ein wenig geändert und dadurch Blöcke eingspart. Gruß jmmj DateianhangImpulspausen2.zip (80 Downloads) |
05.10.2009 21:09 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo LogoFan62, ja, beide Versionen laufen, so wie ja deine auch... Wenn du allerdings bei meiner Schaltung mal die 6 Blöcke, die für (die in den anderen Schaltungen nicht enthaltene) korrekte Start/Stopp-Funktion (Löschen der Mittelwertspeicher) der Messwerterfassung löschst (oder gedanklich abziehst), kommt die Schaltung gerade mal auf 26 Blöcke UND die Parametrierung/Anpassung an eine Aufgabenstellung betrifft nur 2 (!) Blöcke (und die Textmeldung, die in den anderen Schaltungen ÜBRIGENS auch noch fehlt --> nur 25 Blöcke zur Problemlösung)!!!! Und leider hast du das Zeitfenster der Impulse in deiner Anfrage/Aufgabenstellung nicht genannt...Du könntest z. B. Parameter-Version a) anwenden mit TH = TL = 0,25 s und so bei einer Auflösung der Einzelwerte von0,5 s und des Mittelwertes von besser als0,25 s bei einer erfassbaren Maximalzeit zwischen den Impulsen von 5 * 819 s = 4095 s = 68:15 mm:ss !!! Wegen des begrenzten Wertebereiches der Analogblöcke ist nun aber leider keine Nachkommastelle mehr darzustellen. Weil auch eine Möglichkeit der Darstellungvon Nachkommastellen (in der Anzeige) beim BlockVor-/Rückwärtszählerleider, leider fehlt, mach es m. E. keinen Sinn die Impulse in (5) Zählern (über jeweils 4 Pausenzeiten) aufzuaddieren und darzustellen/anzuzeigen. Eine "Division" dieser aufaddierten Zählerwerte könnte man, wie in meinem vorhergehenden Beitrag beschrieben, per 4-facher Dauer von TimeBase oder per getriggerter Teilschaltung realisieren... Du musst alsoParameter-Version a) anwenden mit TH = TL = 0,5 s und so bei einer Auflösung der Einzelwerte von1 s und des Mittelwertes von besser als1 s bei einer erfassbaren Maximalzeit zwischen den Impulsen von10 * 819 s =8190 s = 136:30 mmm:ss = 02:16:30 hh:mm:ss!!! Deine Beschreibung des fehlerhaften LOGO!-Verhaltens solltest du mal präzisieren - Randbedingungen und Verhalten im Detail....so dass wir dies nachvollziehen und ggf. auch testen können. MfG Betel |
Zuletzt bearbeitet von: Betel am: 05.10.2009 22:28rechnen ... Zuletzt bearbeitet von: Betel am: 05.10.2009 21:31==> Meine TAG-Listen: "deut." |
|
Folgen Sie uns auf