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 (110 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 (102 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: 23.09.2024 Beiträge: 29 Bewertung: (5) |
Hallo LogoFan62, habe deine Schaltung ein wenig geändert und dadurch Blöcke eingspart. Gruß jmmj DateianhangImpulspausen2.zip (90 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." |
|
05.10.2009 21:23 | |
Beiträge: 147 Bewertung: (3) |
Hallo Betel,die Zeilen waren nicht als Kritik gedacht. Ich habe anfänglich Jimmj´s Version verwand …da sie den gleichen Aufbau wie meine hatte. Als der Fehler auftrat und ich ihn nicht lokalisieren konnte. Bin ich auf deine Version gegangen …in der hatte ich die Zeitbasis auf 1/10 s geändert und im Simulationsmodus getestet ….Alles OK Als ich dann diese auf die LOGO gespielt hatte tauchte der gleiche Fehler auf …sobald ich ein paar Impulse an den Logo-Eingang gesendet hab wurde die Ausgabe im Meldefenster nicht mehr aktualisiert. Wobei, im anhängenden Analogen Merker der richtige Wert steht. Also warum, stürzt die Ausgabe im Meldefenster ab. DateianhangPulsPause2.zip (102 Downloads) |
Zuletzt bearbeitet von: LogoFan62 am: 05.10.2009 21:28Dateianhang hinzu gefügt |
|
05.10.2009 21:44 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo LogoFan62, während du geantwortet hast, habe ich meine vorhergehende Antwort noch überarbeitet... Ich habe deine Angaben nicht als Kritik aufgefasst, sondern wollte nur noch mal auf dein Ziel "Blockreduktion" besonders hinweisen, da ich die Initialisierung der Messung über I1 ja "eigenmächtig" hinzugefügt habe! Fragen: Wie ermittelst du den Wert des Analogmerkers AM3? Das geht doch nur, wenn du anstelle des merkers einen Analogausgang verwendest und dann im LOGO-Menü nachsiehst!? Bist du sicher, dass der "Anzeigenstillstand nicht auf die Mittelung zurückzuführen ist? Ansonsten ist mir ein solcher Defekt der 0BA5 nicht bekannt! Ich habe derzeit aich keine LOGO 0BA5 frei zum Testen! Nun habe ich mir noch deine Schaltung "PulsPause2.lsc" angesehen, dazu folgendes: Mal abgesehen davon dass du beim Herauslösen aus deiner Schaltung den Impulseingang an B002 entfernt hast, kannst du die Blöcke B001, B003, B004,B005, B007 und B066 löschen, da du "I1" ohnehin dauerhaft auf HIGH helegt hast (Beachte dass dann noch Pin En von B110 invertiert (durch Doppelcklick auf den Pin) werden muss( = HIGH). Wenn du jedoch mal diese Funktion anwenden willst, jedoch keinen externen Eingang dafür, dann kannst du I2 z.B.auch durch eine Cursortaste C1 bis C4 oder einen Block "Softwareschalter" ersetzen. Dann ist mir aufgefallen, dass in der Datei "PulsPause2.lsc" alle Parameter der Blöcke Analogmultiplexer zurückgesetzt sind - vermutlich hast du meine Schaltung mit der Kopierfunktion in deine eigene Schaltung kopiert. Dabei ghen aber leider alle Verweise in den Blockparametern verlogen. Diese musst du dann sinngemäß (da ggf. durch kopierte eingefügte Blöcke neu nummeriert werden. Du musst also alle Blockparameter kontrollieren und die Verweise auf andere Blockaktualwerte korrekt restaurieren !!!!!! MfG Betel Weiterführende Infos und Schaltungsbeispiele zur LOGO!: ==> "Sammlung von Hinweisen und Schaltungen zur Anwendung und Programmierung der LOGO!" ==> "LOGO! 0BA6 - Erstes Feedback an die LOGO!-Entwickler" ==> "Excel Logo Logger" |
Zuletzt bearbeitet von: Betel am: 05.10.2009 22:15==> Meine TAG-Listen: "deut." |
|
06.10.2009 09:49 | |
Beiträge: 13 Bewertung: (2) |
Hi Betel, ich hab die Werte, parallel im Online-Test verglichen. Es passiert aus freien Stücken ...so nach 5 bis 6 maliger Impulsanlage friert das Meldetext Fenster ein. Aber im AM3 stehtder richtige Wert. Auch nach weiterem pulsen Bis bald Gerd |
Folgen Sie uns auf