31.03.2009 23:00 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung:
|
Hallo Diablo, leider haben deine bzw. eure Antworten auf die ursprüngliche Fragestellung von TigerImKäfig m. E. mehr Verwirrung gestifftet und wenig zu einer Lösung (die sogar schon mehrfach hier in Forenbeiträgen angegeben wurde) beigetragen. Dies liegt insbesondere daran, dass ihr (unterschiedliche) Vermutungen der Drehzahl bzw. Impulseingangsfrequenz postuliert habt (denn leider hat ja TigerImKäfig dazu bislang keine Angaben gemacht - und der Beitragstitel ist auch etwas unglücklich). In meiner vorhergehenden Antwort verweise ich deshalb auf eine Schaltung, die einen Ersatz des Blocks "Schwellwertschalter" darstellt und genau die Problemstellung von TigerImKäfig (und vielen anderen Anwendern) löst: Umrechnung der Anzahl von Messimpulsen je Messzeitraum in eine pyhsikalische Größe gewünschter Einheit (Ersatz_für_Schwellwertschalter.zip). Die Messzeit ist dabei, wie beim Block Schwellwertschalter auch, gleich der Anzeigedauer des jeweils vorhergehenden Messwertes (Messfrequenz = Aktualisierungsrate). Mit steigender Messdauer steigt einerseits die Integrationswirkung und andererseits die Auflösung der Auswertung. Die einzige Beschränkung bezüglich der Festlegung der Messzeit lautet: Messzeit (in s) * maximale (reale) Impulsfrequenz (in Hz) < 32767 Die Schaltung ermöglicht also (im Gegensatz zum Block "Schwellwertschalter") eine Messzeit = Anzeige-Aktualisierungsdauer von 1 s bei Anzeige eines Wertes in U/min (ggf. unter Beachtung meiner Anmerkungen unter "Analogwerte_hochrechnen" zur Anwendung von Nachkommastellen), wie von TigerImKäfig gewünscht! Die Schaltung kann unter Beachtung der o. g. Bedingung für sämtliche LOGO!-seitig erfassbare Impulseingangsfrequenzen angewendet werden! Ggf. ist auch noch (bei größeren erforderlichen bzw. gewünschten Werten für die Messdauer) die erweiterte Schaltungsvariante "hier: Demo_Drehzahlmessung.lsc:" hilfreich? Erläuterungen zu diesen Impulsauswerte-Schaltungen sind, wie im vorhergehenden und diesem Beitrag angegeben, im Forum in verschiedenen Beiträgen vorhanden! ----------------------- In verschiedenen Beiträgen (auf die ich hier mal nicht per Link verweise) habe ich Angaben zur LOGO!-Zyklusfrequenz fz (die lt. Handbuch per Schaltung ermittelt werden kann) gemacht... Ein typischer Bereich für fz realer Schaltungen ist so von 70 Hz bis 400 Hz. Wesentlich erscheinen mir in diesem Zusammenhang noch folgende Angaben im Handbuch zur 0BA6 auf S. 118 „Warnung: Geben Sie immer eine Zeit T = 0,02 s an. Für T <0,02 s ist die Zeit T nicht definiert.“ [Anmerkung: O. g. Angaben aus dem Handbuch galten auch für die 0BA5 – trotzdem ließen sich natürlich auch Zeitwerte T = 0,01 s korrekt verarbeiten, aber eben nur unter gewissen Randbedingungen, wenn fz sicher kleiner als 200 Hz (bzw. mit Geschick auch sicher kleiner 100 Hz waren; vgl. dazu ggf. den FOREN-Beitrag „Zeitmessanlage“ (Dateianhang: Timer-Reitsport5d.zip).] Die Erhöhung der maximal möglichen Eingangsfrequenz der schnellen Digitaleingänge bei der 0BA6 auf 5 kHz ist zunächst mal erfreulich. Doch mangels entsprechender (verbesserter oder neuer) von der LOGO!-Zyklusfrequenz unabhängiger Auswertefunktionen leider nur bedingt zu nutzen! So können insbesondere zwar zuvor ggf. erforderliche externe Elektronikschaltungen zur Frequenzteilung/Frequenzreduzierung entfallen und die Impulsgeber direkt angeschlossen und alle Impulse (in Zählern bzw dem digitalen Schwellwertschalter) erfasst werden. Doch die (ja im Handbuch beschriebenen) Beschränkungen bezüglich der Schwellwertprüfung werden mit steigender Signaleingangsfrequenz bedeutsamer, so dass letztendlich keine feine (= wertgenaue) Eingangsimpulsüberwachung bzw. –auswertung per Schaltung möglich ist...Seht euch dazu mal meinen letzten Beitrag zum Thema "Wie ist eine Auswertung der Signale A und B von Drehgebern möglich" an! Zitat HB, S. 160: "Warnung - Die Überprüfung, ob der Zähler den Grenzwert (Anm. ON oder OFF) erreicht hat, findet einmal pro Zyklus statt. Wenn also die Impulse an den schnellen Digitaleingängen (I3, I4,) I5 oder I6 eine höhere Frequenz haben als die Zykluszeit, so schaltet die Sonderfunktion erst, nachdem der angegebene Grenzwert überschritten ist. Beispiel: Es können 100 Impulse pro Zyklus gezählt werden; 900 Impulse sind bereits gezählt worden. On = 950; Off = 10000, Der Ausgang schaltet im nächsten Zyklus, wenn der Wert bereits 1000 ist. (Wäre der OffWert = 980, so würde der Ausgang überhaupt nicht schalten.)" Also (nur) solange die Impulseingangsfrequenz kleiner als die minimale (variable) LOGO!-Zyklusfrequenz ist, kann per Schaltung auf jeden einzelnen Eingangsimpuls reagiert werden (per Parameter eines Zählers ODER per Verweis zu Analogblöcken und entsprechenden "Berechnungen"). Sobalt bzw. wenn jedoch die Impulseingangsfrequenz größer als die LOGO!-Zyklusfrquenz ist, dann kann lediglich eine integrale Erfassung der Impulse erfolgen, die bei der Schaltungsgestaltung und deren Parametern unbedingt berücksichtigt werden muss. Auch der Block digitaler Schwellwertschalter stellt diesbezüglich keine Lösung dar, da weder der Ergebniswert weiter verarbeitet werden kann (leider kein Verweis auf diesen Aktualwert möglich) und weil die Messzeit G_T lt. Handbuch nur einen Wertebereich von 0,05 s bis 99,99 s hat! Mit der o. g. Bemerkung zur Anwendung kleiner Zeitwerteist ohnehin offen, welche Auswirkungen bzw. Effekte die Vorgabe von Zeitwerten per Verweis im Bereich von ms tatsächlich haben...Aber halt, das stimmt so nicht ganz, denn folgendes (passt ins obige Bild und) ist stets bezüglich der Arbeitsweise der LOGO! zu beachten: Die LOGO! (bzw. der interne Mikrocontroller) arbeitet (m. E. mit Vorrang) stets (also unabhängig von der Zyklusfrequenz mit der die Schaltungselemente aktualisiert werden) verschiedene Aufgaben ab, wie alle Hardware-Eingangssignale, die Datenabfrage der Zusatzmodule, die Displayausgabe, die RS232-Schnittstelle vorne, die Aktualisierung sämtlicher Zeitparameter laufender Blöcke und ggf. das TD. Die dann noch freie "Rechenleistung" wird zur Abarbeitung der Schaltung verwendet, wobei die Aktualisierung sämtlicher aktueller Blockwerte und Blockausgänge "jeweils auf einen Schlag" im Takt der (variablen) Zyklusfrequenz erfolgt. Daraus folgt unmittelbar, dass insbesondere die o. g. im Hintergrund bereitgestellten Daten (wie Digitaleingangslogiklevel, Analogeingängswerte, laufende Zeitparameter) stets erst eine Auswirkung nach der Aktualisierung der Blockwerte nach einem vollständig abgearbeiteten LOGO!-Schaltungs-Zyklus haben. Dagegen haben entsprechende Datenwertänderungen in der Zeitdauer bis zur nächsten Blockaktualisierung keine Auswirkungen - also ändert sich der Zählerstand oder läuft ein Zeitparameter (unmittelbar) nach einer durchgeführten Blockaktualisierung ab, hat dies erst eine Wirkung nach der nächsten Blockaktualisierung (also nach Anlauf einer Zyklusdauer)! Diese Arbeitsweise ist auch in der PC-Simulation umgesetzt und führt, wegen der dort meist sehr kleinen Zyklusfrequenz (deutlich kleiner als in der realen LOGO!), insbesindere bei sehr kleinen Zeitparametern zu fehlerhaftem Schaltungsverhalten.... Ich hoffe dies hilft dir/euch weiter, auch wenn diese Ausführungen nur bedingt mit der eigentlichen Fragestellung von TigerImKäfig zu tun haben? MfG Betel |
==> Meine TAG-Listen: "deut." |
|
01.04.2009 12:26 | |
Beiträge: 524 Bewertung:
|
Verstanden, trotz des langen, verwirrenden Textes Sehr jut Betel |
Folgen Sie uns auf