Sonstiges LOGO BA06 Drucksensor skalieren

Othias

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forumsgemeinde,

zu folgendem Problem finde ich keine zufriedenstellende Lösung.

In einem Tank möchte ich den Füllstand über einen Drucksensor (4..20mA bei 0..1bar) messen.
Dabei ist mein Tank bei 4mA leer (0%) und bei 5mA voll (100%). Die Anzeige des Prozentwertes erfolgt auf dem LOGO-Display.
Die Skalierung 4mA = 0% und 5mA = 100% (4,5mA = 50%) wollte ich über einen bzw. zwei Analogverstärker lösen.
Ich weiß, dass es zu diesem Thema viele Forenbeiträge gibt. Leider konnten die dort enthaltenen Informationen bzw. Berechnungsbeispiele mich nicht wirklich weiter bringen.
Deswegen bin ich über jede Hilfe bzw. Anregung sehr dankbar.

Was gebe ich im Analogverstärker für Werte (Messbereich, Offset, Gain) ein und wie komme ich auf diese Werte? Oder gibt es einen anderen Lösungsansatz?

Grüße aus Peitz
 
Schau mal ob dir dies zusagt. Die kleinen Ungenauigkeiten kommen dadurch zustande, dass die Logo keine Gleitpunktarithmetik beherrscht.
 

Anhänge

  • Test_0BA6.zip
    10,9 KB · Aufrufe: 125
Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast einen Fühler mit einem deutlich schlechten Messbereich.

Alleine durch die relativ grobe Auflösung wirst du da zu keinem brauchbaren Ergebnis kommen, dafür kann aber die LOGO nichts.
 
@GUNSAMS:
vielen Dank für deine Mühen! Dass sieht sehr sehr gut aus (obwohl ich hoffte das Problem einfacher lösen zu können).
Jetzt habe ich einen Ansatz.

@winnman:
Mit diesem Kommentar hatte ich gerechnet :grin:. Anfangs war ich auch der Meinung und sehr skeptisch in solch einem kleinen Messbereich zu arbeiten.
Glücklicherweise stehen die Werte recht stabil und sind reproduzierbar. Die Genauigkeit reicht für meine Anwendung.

Nochmals vielen Dank!
 
Schau mal ob dir dies zusagt. Die kleinen Ungenauigkeiten kommen dadurch zustande, dass die Logo keine Gleitpunktarithmetik beherrscht.
Ist das ein Bug in der Simulation in meiner Logosoft (V6.1.12), oder warum zeigt das Programm bei AI1=0 --> 4.00mA, AI1=500 --> 12.00mA und AI1=1000 --> 20.00mA ? Wie müsste der Drucksensor 4..20mA dafür an die LOGO angeschlossen werden? Ich denke, die LOGO kann doch nur 0..10V?

Weiters stört mich, daß die mathematische Spreizung der real 800 ADU-Schritte des Sensorsignals 4..20mA auf rechnerisch 1000 Schritte eine Auflösung und Genauigkeit suggeriert, die gar nicht vorhanden ist.


Wenn man die 4..20mA an eine Bürde (Lastwiderstand) von üblicherweise 500 Ohm anschließt und parallel dazu den AI, dann sollte man erhalten:
* Sensor liefert 4..20mA --> über 500 Ohm --> 2..10V am AI
* Nutzbereich: 4..5mA --> 2..2,5V --> 200..250 Analogwert --> 0..100% Füllstand
* Auflösung: 200..250 Analogwert --> 50 Digit --> 2% pro Digit (Schritt)

Ich vermute mal, daß der Sensorausgang im Nutzbereich auch eine Bürde vom 1 kOhm (oder gar 2 kOhm?) verkraftet, was die Auflösung erhöhen würde:
* Sensor liefert 4..20mA --> über 1000 Ohm --> 4..(20)V am AI
* Nutzbereich: 4..5mA --> 4..5V --> 400..500 Analogwert --> 0..100% Füllstand
* Auflösung: 400..500 Analogwert --> 100 Digit --> 1% pro Digit (Schritt)

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist das ein Bug in der Simulation in meiner Logosoft (V6.1.12), oder warum zeigt das Programm bei AI1=0 --> 4.00mA, AI1=500 --> 12.00mA und AI1=1000 --> 20.00mA ? Wie müsste der Drucksensor 4..20mA dafür an die LOGO angeschlossen werden? Ich denke, die LOGO kann doch nur 0..10V?

Nein, weil der Sensortyp 4-20mA ausgewählt ist. Die Basismodule der Logo können nur 0-10V, aber es gibt ein Erweiterungsmodul (AM2), welches sowohl 0-10V als auch 0/4-20mA verarbeiten kann.
Der Themenstarter hat nichts weiteres dazu geschrieben, also gehe ich erst einmal von einem Erweiterungsmodul aus.
Die Parameter des Analogverstärkers ergeben sich bei Auswahl des Sensors 4-20mA erst einmal für 0-1000 im Ausgang so:
Min: -250
Max: 1000
Gain: 1,25
Offset: -250

Bedeutet letztendlich:

Code:
[FONT=courier new]  0mA =     0 Einheiten hinter dem A/D-Wandler = -250 Einheiten hinter dem Verstärker
  4mA =   20[FONT=Courier New]0 Einheiten hinter dem A/D-Wandler =       0 Einheiten hinter dem Verstärker[/FONT]
  8mA =   400 Einheiten[FONT=Courier New] hinter dem A/D-Wandler =   250 Einheiten hinter dem Verstärker[/FONT]
 12mA =   600 Einheiten[FONT=Courier New] hinter dem A/D-Wandler =   500 Einheiten hinter dem Verstärker[/FONT]
 16mA =   800 Einheiten[FONT=Courier New] hinter dem A/D-Wandler =   750 Einheiten hinter dem Verstärker[/FONT]
 20mA = 1000 Einheiten[FONT=Courier New] hinter dem A/D-Wandler = 1000 Einheiten hinter dem Verstärker
[/FONT][/FONT]
Somit stehen für die Auflösung für das 4-20mA-Signal nur noch 800 Einheiten hinter dem A/D-Wandler zur Verfügung.
 
Zuletzt bearbeitet:
Ich dachte es aus der Startanfrage kann erlesen werden, dass ich ein Erweiterungsmodul AM2 nutze.

Da GUNSAMS ein guter Lehrer zu sein scheint nochmal folgende Fragen:

B001 verschiebt die 4mA auf Messbereich = 0 (Offset = -250) und erweitert den Messbereich auf maximal = 1000 (Gain 1,25). Richtig? Wie bist du auf die Werte gekommen?
B002 verschiebt lediglich die Dezimalstelle. Richtig?
B003 gibt B004 den Befehl Werte die größer als 100% (5mA = 62,5 * Verstärkung B002) sind mit 100% anzuzeigen. Richtig?
B004 gibt nur Werte zwischen 0% und 100% (5mA = 625) weiter. Richtig?
In B005 und B006 werden mathemathische Berechnungen gemacht. Wie bist du auf die Formeln gekommen?
 
Ich dachte es aus der Startanfrage kann erlesen werden, dass ich ein Erweiterungsmodul AM2 nutze.

Scheinbar bin ich ja nicht der Einzige, welcher das aus der Startfrage nicht herauslesen kann. Dort steht nur, dass du einen 4-20mA Geber benutzen willst. Von AM2 kann ich dort nichts lesen, auch nichts von einem Erweiterungsmodul.

B001 verschiebt die 4mA auf Messbereich = 0 (Offset = -250) und erweitert den Messbereich auf maximal = 1000 (Gain 1,25). Richtig? Wie bist du auf die Werte gekommen?

Hatte ich zwar schon als Antwort auf den Beitrag von PN/DP geschrieben, aber gerne noch einmal und ausführlicher:
Der A/D-Wandler eines Analogeingangs der Logo wandelt grundsätzlich in 1000 Einheiten um, egal ob 0-10V, 0-20mA oder 4-20mA. Ein 4mA-Signal wirkt grundsätzlich wie ein 0-20mA gewandelt. Bleiben wir mal beim Strom, bei der Spannung ist es das Gleiche.

Code:
[FONT=courier new]
 0mA =    0 Einheiten hinter dem A/D-Wandler = -250 Einheiten hinter dem Verstärker
 4mA =  200 Einheiten hinter dem A/D-Wandler =    0 Einheiten hinter dem Verstärker
 8mA =  400 Einheiten hinter dem A/D-Wandler =  250 Einheiten hinter dem Verstärker
 12mA =  600 Einheiten hinter dem A/D-Wandler =  500 Einheiten hinter dem Verstärker
 16mA =  800 Einheiten hinter dem A/D-Wandler =  750 Einheiten hinter dem Verstärker
 20mA = 1000 Einheiten[/FONT][FONT=Courier New][FONT=courier new] hinter dem A/D-Wandler = 1000 Einheiten hinter dem Verstärker[/FONT]
[/FONT]

Hinter dem A/D-Wandler bleiben also für den Bereich 4-20mA nur noch 800 Einheiten. Durch den Analogverstärker B001 mit gewähltem Sensortyp 4-20mA ergibt sich also bei einer Verstärkung 1,25 dann wieder 1000 Einheiten (800 * 1,25 = 1000).

B002 verschiebt lediglich die Dezimalstelle. Richtig?

Da die Logo keine Gleitpunktpunktarithmetik beherrscht, kann man in der arithmetischen Anweisung B004 nicht durch 62,5 teilen. Da man den gleichen Effekt erreicht, multipliziert man den Wert von B001 mit 10 (entspricht 10fache Verstärkung) und teilt dann in B004 durch 625.

B003 gibt B004 den Befehl Werte die größer als 100% (5mA = 62,5 * Verstärkung B002) sind mit 100% anzuzeigen. Richtig?

Richtig

B004 gibt nur Werte zwischen 0% und 100% (5mA = 625) weiter. Richtig?

Teilweise richtig.
1250 Einheiten nach der Verstärkung = 20mA. 20mA - 4mA = 16mA. 16mA = 1250 Einheiten-250 Einheiten = 1000 Einheiten. Ergo:
16 mA =1000 Einheiten.
1mA = 1000 Einheiten / 16mA.
1mA = 62,5 Einheiten.
5mA = 312,5 Einheiten.
Da die in B004 die ersten 4mA aber erst gar nicht auftauchen (Offset -250 in B001) gibt also B004 nur alles zwischen 4mA und 5mA weiter. Das wäre also 0 bis 62,5 Einheiten, dank der Verstärkung in B002 maximal 625.

In B005 und B006 werden mathemathische Berechnungen gemacht. Wie bist du auf die Formeln gekommen?

Wie schon geschrieben, 1 mA = 62,5 Einheiten hinter dem 1. Verstärker und dem 2. Verstärker = 625 Einheiten. Damit die Anzeige aber einen Wert von 0,0 -100,0 % anzeigen kann, muss der Wert mit 1,6 multipliziert werden. Geht aber nicht, da kein 1,6 eingegeben werden kann. Also wieder Trick mit Faktor 10:
625 * 16/10 = 1000.
 
Das Beste ist bei einer Anfrage immer, die verwendete Hardware (z.B. 0BA6, 12/24V oder genaue Typenbezeichnung) inklusive eventueller Erweiterungsmodule sowie die verwendete Softwareversion mit anzugeben. Das erspart auch Rückfragen.
 
Ist das ein Bug in der Simulation in meiner Logosoft (V6.1.12), oder warum zeigt das Programm bei AI1=0 --> 4.00mA, AI1=500 --> 12.00mA und AI1=1000 --> 20.00mA ?
Das was ich zuerst als Bug gehalten habe ist wohl ein (typisch Siemens) "Feature". Die LOGO-Simulation läßt für AI1 die Simulation eines Analogeingangswertes kleiner als der im Analogverstärker B001 angegebene Minimalwert des Messbereichs (in engineering units) - also der Bereich 0..3,99mA - nicht zu! Dadurch fällt in der Simulation gar nicht auf, daß bei real 0..3,99mA in der Anzeige 100,0% angezeigt werden.

Kann man das eigentlich irgendwo einstellen, daß man in der Simulation direkt den ADU-Wert des Analogeingangs steuern kann (*) anstatt den vermeintlichen Messwert? Das finde ich ja sooo bescheuert ... man muß an AI1 62 einstellen, damit das 5mA bzw. einem realen AI1-ADU-Wert von 250 entspricht, der auf 625 skaliert wird und dann als 100% im Display angezeigt wird.

(*) Workaround: nur für die Simulation an den AI1 einen weiteren Analogverstärker anschließen mit Meßbereich 0..1000, Gain 1,0 und Offset 0 (entspricht "Sensor 0...10V"), dann darf man den gesamten Bereich des Analogeingangs-ADU von 0..1000 (entspricht 0..10V bzw. 0..20mA) simulieren.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Workaround: nur für die Simulation an den AI1 einen weiteren Analogverstärker anschließen mit Meßbereich 0..1000, Gain 1,0 und Offset 0 (entspricht "Sensor 0...10V"), dann darf man den gesamten Bereich des Analogeingangs-ADU von 0..1000 (entspricht 0..10V bzw. 0..20mA) simulieren.

Das funktioniert auch mit einem weiteren, parallelen Analogverstärker mit Sensortyp 4-20mA, wenn der anders parametriert wird.
Z.B:

1. Verstärker: Gain = 1,25, Offset -250
2. Verstärker: Gain = 2,50, Offset -500
 
Zurück
Oben