28.05.2013 13:16 | |
Beiträge: 8 Bewertung: (0) |
Hallo zusammen, Ich bin neu hier im Forum und habe folgendes Problem mit einer Logo! Steuerung. Ich habe bisher nur digitale Signale mit der Logo verarbeiten müssen. Nun kommt allerdings ein Sensor mit Analogausgang zum Einsatz. Meine Hardware ist folgende: Siemens Logo! 0BA6 mit Analogmodul AM2. Ich habe einen Strömungswächter ( 4-20mA – 3-300cm/s ) am Analogeingang A1 angeschlossen. Mit diesem Strömungswächter möchte ich den Durchfluss einer Rohrleitung DN50 über einen Zeitraum mehrerer Tage messen und addieren. Beim Erreichen von einer bestimmten Gesamtmenge (1m³) wird der Zähler rückgesetzt, sollte der Wert (1m³) nicht erreicht werden, wird ein digitaler Ausgang angesteuert. Ich habe eine Tabelle mit Umrechnungen mA – cm/s – m³/s – m³/min angefertigt. Wie kann ich diese Werte nun mit der Logo verknüpfen, um eine Durchflussmenge zu messen und zählen? ( m³/s oder m³/min). Für einige Lösungsansätze / Tipps wäre ich wirklich dankbar. Einen schönen Tag allerseits. DateianhangUmrechnungstabelle Sensor.pdf (142 Downloads) |
28.05.2013 20:05 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Hallo! Die Logo ist nun wirklich nicht der große Rechenkünstler, was das Vorhaben schon mal erschwert! Eine Mittelwertbildung über eine Zeit X und Abtastrate Y wäre erst mit der 0BA7 möglich. Dafür dann aber super einfach! Mittelwertbildung über einen Tag lang und bis zu 99999 Abtastungen macht eine Abtastung unter einer Sekunde möglich. Der Mittelwert dann mit der Zeit multipliziert ergibt dann den Tageswert. Weiter wäre ein Datalog in der Logo machbar. Mit der 0BA6 wäre vielleicht ein Datalog in einem ext. Programm (Logomonitor o. Excel) denk und machbar! In Excel lassen sich die Daten dann viel komfortabler weiterverarbeiten! Die Wahl des Gebers halte ich nicht für glücklich! Ist die Durchflußgeschwindigkeit geringer als 3 cm/s, wird das vom Geber nicht mehr erfasst, würde aber nach deiner Tabelle nach ca. 4,53 h zu einem Volumen von 1m³ führen! Weiterhin läßt sich das Verhältnis 3 - 300 schwer in der Logo scalieren! Siehe Beispiel! Diese ungenauigkeit läßt sich ggf. bei der Späteren Berechnung in ext. Programmen ausgleichen. Also nur Werterfassung 4-20mA und Berechnung dann in Excel!? Vielleicht hat Betel noch einen seiner genialen Ideen dazu!? DateianhangDurchflussmenge.zip (126 Downloads) |
Zuletzt bearbeitet von: motmonti am: 28.05.2013 20:13 |
|
Für diesen Beitrag bedanken sich1 Benutzer |
29.05.2013 07:12 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Hallo! Ich hab dir jetzt mal einen Ansatz programmiert um es auch mal für mich zu testen! Der Anaologeingang liefert 4-20mA und der Verstärker macht daraus 0-1000. In B002 wird eine Minute lang alle 1s der Wert erfasst und gemittelt. Nach dieser Minute liefert der Block den Mittelwert einer Minute. Da der Eingangswert 3- 300 m/s, also einen Bereich von 297 m/s entspricht, wird in B003 der Bereich durch 1000 geteilt, mit dem Mittelwert multipliziert und dann der Anfangswert addiert. In B004 erfolgt dann die Berechnung des Minutenwertes. Der Meldetext zeigt dann den Durchschnitt der letzten Minute an. Jetzt muß noch daraus der m³-Wert berechnet werden. Also mal dem Rohrquerschnitt. Ich bleibe dran, hoffe aber auf Beistand von Betel um meine Ansätze zu stärken oder ggf. auch zu verwerfen! DateianhangDurchflußmengenzähler.zip (147 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
29.05.2013 08:07 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Das Ganze jetzt noch mit der Aufrechnung der einzelnen Minutenwerte! Was noch fehlt ist die Umrechnung auf m³! Das ist aber nur noch eine einfache Multiplikation mit dem Rohrquerschnitt und ggf. eine Anpassung der Dezimalstellen! DateianhangDurchflußmengenzähler2.zip (140 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
29.05.2013 12:03 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Ich habe jetzt mal versucht den Rohrquerschnitt mit einzurechnen und im Meldetext darzustellen. Bei vollem Durchfluß wird der 1m³ bereits nach rund 3 min erreicht und bei minimalem Durchfluß nach rund 300 min. Um genau bei 1m³ einen Schaltvorgang auszulösen, mußdie Messung mit kleinerem Zyklus efolgen um genauer zu schalten. Am Grundprinzip ändert sich dann aber nichts, wenn ich alles richtig gemacht habe! Denkbare Messung wäre10 Sekunden und zehn Messungen und das dann mal 6. Für eine genauer Komplettmenge, kann ja eine zweite Messung parallel laufen! DateianhangDurchflußmengenzähler2.zip (109 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
29.05.2013 13:39 | |
Beiträge: 8 Bewertung: (0) |
Hallo motmonti, vielen Dank für die Antworten und Dateianhänge. Ich werde es heute Abend direkt einmal testen. Grüße mark2309 |
29.05.2013 18:39 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Hallo nochmals! Ich habe mir das Progi jetzt nach Feierabend nochmal vorgenommen. Im Ergebnis habe ich jetzt eine zweite Mittelwertbildung eingefügt, welche nach jeder Sekunde einen Mittelwert liefert und aufsummiert. Ich habe beide Messungen mit Meldetext versehen und einen im Display und einen im TD anzeigen lassen. So sind die Werte bei der Simu gut vergleichbar. Ich hoffe ich habe bei der Berechnung der Stufen keinen Fehler gemacht. Zumindest stimmte am Ende das Volumen bei festem Durchfluß über eine Zeit. Schon in der Simu wird aber der Nachteil des Sensors spürbar. Steht der AI auf 0, wird dennoch ein Durchfluß angezeigt und aufadiert und es ist nicht zu erkennen ob es real ist! Viel Spaß beim testen der Schaltung! AI muß an den realen Eingang noch angepaßt werden und die Ausgänge der Analogbausteine und Meldetexte müssen mit Merkern, Offene Klemme oder durch Programmteile abgeschlossen werden! DateianhangDurchflußmengenzähler3.zip (138 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
29.05.2013 18:59 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Es hat mir keine Ruhe gelassen und so habe ich versucht das mit der 0BA6 zu lösen! Über die Analogwertüberwachung wird der Eingang auf Änderung überwacht. Solange keine Änderung erfolgt, wird der Zähler im Sekundentakt hochgezählt. Erfolgt jetzt eine Änderung des Analogwertes, wird der aktuelle Analogwert mit dem Zählerwert multipliziert und in B004 aufsummiert. So bekommt man ebenfalls die Durchflusswerte berechnet. Viel kleinere Taktzeiten machen hier keinen Sinn, da die Logo 300 ms zur Analogwertverarbeitung benötigt, also eine Wertänderung erst nach 0,3 s sichtbar wird. Ich denke die 0BA7 ist für dieseAufgabe die bessere Wahl! DateianhangDurchfluß 0BA6.zip (126 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
30.05.2013 15:22 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Hallo! Es bestand ja die Forderung das der Zähler nach Erreichung von 1m³ resetet wird. Ich habe jetzt zum Test mal einen Resettaster eingefügt. Da bei einigen Arithmetikbausteinen der letzte Wert gespeichert werden muß wnn En = 0 wird, ist ein reseten nicht so ohne weiteres möglich. Dazu habe ich den Mux B025 eingefügt. Dieser übergibt einmal 0 und einmal den Wert des B018 an seinen Ausgang. In B018 und B019 wird dieser Ausgangswert bei Reset abgezogen. Somit werden die Arithmetikbausteine auf 0 gesetzt. Den Reset kann man jetzt bei erreichen des gewünschten Wertes mit einem Schwellwertschalter o. anderen Bausteinen auslösen! Zum einfacheren Test habe ich das nur in die Sekundenmessung eingefügt! DateianhangDurchflußmengenzähler4.zip (122 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
30.05.2013 17:39 | |
Beiträge: 8 Bewertung: (0) |
Hallo motmonti, klasse Erklärung, danke, nun habe ich es verstanden. Das neue Programm werde ich heute Abend testen, danke Dir. Gruß mark2309 |
30.05.2013 21:55 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo Mark, Vielen Dank für deine Antwort. Meine folgenden Angaben basieren auf den Angaben zum Sensor. (Wegen der (begrenzten) Rechenmöglichkeiten der LOGO! sind ggf. geringere Rundungsfehler und Auflösungen bei Anpassung an reale kleinere erforderliche Messbereiche zu realisieren - ist also vorerst nicht möglich). M. E. hast du bei der Umrechnung der Fließgeschwindigkeit in einen Volumenstrom (pdf-Datei in deiner Anfrage) einen falschen Innendurchmesser für das DN 50 Rohr angesetzt - korrekt ist d = 53,0 mm Zur Lösung: Die Bestimmung des geförderten Volumens auf Basis eines gemessenen Volumenstroms (bzw. hier der Fördergeschwindigkeit bei bekanntem Förderquerschnitt) ist durch zeitliche Integration möglich. Wie man das mit der LOGO! (geschickt) macht, habe ich (an Beispielen) bereits im Forum veröffentlicht (vgl. Beitrag "Hinweise_zur_Speicherung_von_(Analog-)Werten") in der Schaltungssammlung (Link unten). auch wenn du dies so nicht benennst ist letztendlich auch dein Lösungsansatz eine zeitliche Integration (durch Mittelung), jedoch mit folgenden LOGO!-Schwächen: Auch deine überarbeiteten Versionen für die 0BA7 haben teilweise die genannten Nachteile. So können z. B. (mit einigermassen Auflösung) nur max. 32 Qubikmeter aufsummiert werden. Auch sind einige Annahmen bzw. Basiswerte unpräzise. DN 50 hat einen Innendurchmesser von 53 mm (nicht 50 mm), es sei denn, Mark´s Sensor hat noch einen davon abweichenden spezifischen Messdurchmesser? Auch die Abtastgeschwindigkeit ist von dir mit 300 ms falch angenommen - korrekt ist, wegen AM2-Modul, 50 ms! e) Deine Schaltung für eine LOGO!-0BA6 arbeitet ebenfalls mit willkührlich gewählter Abtastrate; dies hat negativen Einfluss auf die Korrektheit des Ergebnisses. Der Ergebnis-Analogblock begrenzt außerdem die Laufzeit / Messzeit erheblich. Rohrleitung mit DN 50: Innendurchmesser = 53 mm --> Querschnittsfläche = 2206,183 mm² = 22,062 cm² Analogsignal 4 - 20 mA für 3 cm/s bis 300 cm/s Strömungsgeschwindigkeit: Diese Werte werden nun im Takt der Analogwertbereitstellung der LOGO! aktialisiert (also alle 50 ms), so dass die Anzeige ggf. flimmert (bei häufigen Geschwindigkeitsänderungen oder Digitalisierungsfehlern). Umsetzung der Integration des Sensorsignals in der Datei "DEMO_Sensorauswertung_physikalischeGrösse_pro_Zeit_V3_x1 (0BA6).lsc" e) Ein Zurücksetzen der Zähler bei x m**3 gefördertem Volumen ist einfach möglich. Dazu werden die Parameter des Zählers B025 "x_1_m3" entsprechend definiert (ON = OFF = x) und anstelle X2 wird ein Merker Mi eingesetzt. Dessen Ausgang wird einfach auf den Block B021 "Clear" zurückgeführt - fertig. Alternativ kann auch der Liter-Zähler für ein Reset verwendet werden... MfG
DateianhangAnalogwerte skalieren und hochzählen.zip (125 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Für diesen Beitrag bedanken sich1 Benutzer |
31.05.2013 09:05 | |
Beiträge: 8 Bewertung: (0) |
Hallo motmonti, die Erfassung, bzw. der Umschaltpunkt / Rücksetzpunkt des Zählers bei 1m³ muss nicht genau bei Erreichendieses Wertes stattfinden. Eine Abweichung von einigen Litern (+ - 3% Toleranz) wäre kein Problem. Ich habe im Anhang den Sensor beigefügt, welcher leider, wenn auch absolut nicht optimal für diesen Einsatzzweck, schon vorhanden ist. mfG Mark DateianhangSI5004DE.pdf (83 Downloads) |
31.05.2013 21:05 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo motmonti, mit V4 meinst du sicher die Schaltung "DEMO_periodische_Mittelwertbildung_V4_x1 (0BA6).lsc". Also auf PC und Notebook laufen die Schaltungen auch in der Simu korrekt: Anzeige bei A3 = 1000 --> 300,05 cm/s. Motmonti, deine Variante für die LOGO!-0BA6 (diese setzt Mark ja ein) ist nicht schlecht, doch wegen der Begrenzungen der LOGO! nicht optimal. Bei der Summierung von dV/dt sollte dt möglichst klein sei für eine gute Approximation der Integration des Analogsignals - also sollte die Schaltung die diesbezüglichen Randbedingungen einhalten: Basismodul dt = 300 ms und AM2-Modul 50 ms. Nun sollten, um Rundungsfehler zu minimieren, die Werte dV möglichst präzise aufaddiert werden. Das erfordert bei der LOGO die Verschiebung der Kommastelle um mit ganzen Zahlen rechnen zu können, doch andererseits dürfen diese Werte maximal den Wert 32767 annehmen. Dies ist das Ziel meiner Variante... Mark, motmonti, wenn auch sehr kleine Volumenströme bzw. Fließgeschwindigkeiten kleiner, sagen wir mal, 10 cm/s bis 0 cm/s sicher erfasst werden müssen, dann ist der Sensor definitiv ungeeignet (insbes. nach Durchsicht des Datenblattes) und dass obwohl dieser bereits zwei Dekaden erfasst. Wenn dies so ist, kann keine Auswertevariante dies korrigieren oder angemessen verarbeiten! Mark du musst also prüfen welche kleinste Fließgeschwindigkeit xmin (bzw. welcher kleinste Volumenstrom) noch aufaddiert werden soll. Bereits in meiner vorhergehenden Antwort habe ich dazu den Hinweis c) gegeben. Du solltest durch Prüfen der Anlagenbedingungen den Wert xmin abschätzen können. Ggf. ist auch ein Signal zugänglich (oder mittels Hilfsrelais abgreifbar), das den Betriebsstatus der Pumpe(n) signalisiert. Wenn du dann noch immer den gegebenen Sensor anwenden willst, dann sollte folgende Vorgehensweise helfen: MfG |
==> Meine TAG-Listen: "deut." |
|
Für diesen Beitrag bedanken sich2 Benutzer |
Folgen Sie uns auf