Step 7 Umwandlung/Auswertung

Zombieanfuehrer

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

ich möchte gerne Wissen wie man am besten Analoge Werte (4-20mA) in Druck umwandelt (bar).

Ich habe bei 20mA die Dezimalzahl = 32767 bei 4mA =8.

Bei 0,5bar habe ich einen Wert von =2304.

Ich möchte jetzt den Druck in Bar auf einem OP über einen DBW oder byte ect. auslesen können nur leider habe ich keine ahnung wie man das macht.
 
Hallo,
ein AD-Wandler 4-20 mA liefert bei 4 mA die Wandlungszahl 0 und bei 20 mA die Zahl 32767. Das bedeutet, diese Angaben von dir sind nutzlos.
Dagegen müsstest du 2 Wandlungswerte angeben, einer davon wäre 0,5 bar = 2304Hex, ein zweiter wäre hilfreich.
Ergänze mal deine Angaben.
eNDe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du wirst wohl einen 0..8bar Umformer haben. Oder ich habe mich verrechnet. (Ergebnis war irgendwas zwischen 7 und 8) also hast du bei 0Bar den Wert 0=4mA und bei deinem Maxwert (ich sag mal 8Bar)=32767=20mA alles andere dazwischen ist wie oben beschrieben einfacher Dreisatz oder Skalierung. In deinem Fall mit den 2304 wäre das errechnet 562mBar.
 
Hallo,
ich glaube, hier stimmt etwas Grundsätzliches nicht.
1. Ein 4-20 mA - Wandler liefert bei 0 mA die Hexzahl 0.
Bei 20 mA aber nicht 32767 sondern 27648 dezimal bzw. 6C00 hex.
( Es kann natürlich sein, dass das nicht immer so ist, deshalb bitte genaue Nachprüfung durch Zombieanfuehrer)
2. Wer sagt denn, dass bei einem Messwert von 4 mA der Druck 0 bar ist? Das genau muss Zombianfuehrer bestätigen oder den "Nulldruck" angeben.
Nur dann kann ihm auch geholfen werden. Alles andere wäre "Glaskugel"
eNDe
 
Wieso denn auch Hex ? Er schreibt doch Dezimal 32767 und so kenne ich es auch. Bin aber zzt mehr bei anderen Steuerungen unterwegs. Beim Rest Stimme ich voll zu. Infos an die Sonne oder wir fischen im dunkeln ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

danke für die Antworten, sehr weitergeholfen aht mir das hier': http://www.sps-forum.de/faq/19311-s7-analogwerte-ich-hab-da-mal-ne-frage.html#post131251

Nun habe ich aber noch ein Problem und zwar finde ich den Skalierungsfaktor bei meiner Klemme nicht heraus.
Bei Beckhoff steht :
b) Herstellerskalierung aktiv (Werkseinstellung):Y_1 =B_h + A_h * Y_a (1.1)​
Y_aus = Y_1

doch leider werde ich daraus nicht schlau.

X_adc: Ausgabewerte des A/D-WandlersY_aus : Prozessdaten zur SPSB_a,A_a: Hersteller Gain und Offsetabgleich (R17, R18)B_h,A_h: Hersteller-Skalierung (R19, R20)​
B_w,A_w: Anwender-Skalierung (R33, R34)

Ergo:

Prozessdaten zur SPS = Hersteller Skalierung R19 + Hersteller Skalierung R20 * Prozessdaten zur SPS

Das hilft mir irgendwie gar nciht weiter.
 
So das habe ich gemacht:

L EW 92 Analogeingangswort
ITD
DTR
T DB133.DBD 2
L 1.070000e+001 Max. Druck 10.7 bar
L 0 Min. Druck 0bar
-R
L DB133.DBD 2
*R
L 2.047000e+003 Angenommene Skalierung der Klemme 3052
/R
L 0
+R
T DB133.DBD 10 Ausgabe des Wertes in Real


doch leider bekomme ich bei 10.7 bar bzw. 20mA eine Gleitpunktzahl von 171.2784 angezeigt.
Wo ist jetzt hier noch der Fehler?
 
Wenn Du von einer Siemens Analog Baugruppe den Wert bekommst, solltest Du den "FC 105 Scale" aus der "Standard Library / TI-S7 Converting Blocks" verwenden.
Dieser FC mach dir das Leben leichter, denn du brauchst nur das PEW, die ober und unter Grenzen und der Rest geht fast von alleine.

Code:
 CALL  "SCALE"
       IN     :=PEWxxx                   //Eingangswort
       HI_LIM :=1.000000e+001           //Obergrenze hier den max Druck des Gebers 
       LO_LIM :=0.000000e+000           //Untergrenze hier den min Druck des Gebers
       BIPOLAR:=low                     //bi- oder unipolar - hier unipolar 
       RET_VAL:=MWx                     //Fehlerinformation 
       OUT    :=MDxx                    //Skalierter Messwert in REAL

...Gruß,
Sven
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Du von einer Siemens Analog Baugruppe den Wert bekommst, solltest Du den "FC 105 Scale" aus der "Standard Library / TI-S7 Converting Blocks" verwenden.
Dieser FC mach dir das Leben leichter, denn du brauchst nur das PEW, die ober und unter Grenzen und der Rest geht fast von alleine.

...Gruß,
Sven

Das Problem ist das ich eine Beckhoff Klemme 3052 verwende.
 
Der Skalierungsfaktor von irgendwas kann dir doch absolut egal sein.

Zurück zu deinem Eingangspost:
Du hast
4mA = 0 = n Bar
20mA = 32767 = n Bar

Damit hast du alles was du brauchst ... der Rest ist nur mathematisches Grundwissen der 5ten Klasse, 3-Satz oder auch Geradengleichung y=mx + b genannt.

Mfg
Manuel
 
So einfach ist das nicht.

Ich denke ich habe die Sitiuation nciht ausführlich genug beschrieben, darum noch einmal ganz von Anfang.

Es geht um eine Differenzdruck abfrage.

Gegebenheiten:

Ein Sensor ist vor einem Filter und einer ist nach einem Filter.

Der Sensor vor dem Filter hat einen Maximalen Druck von 20Bar.
Der Sensor nach dem Filter hat einen Maximalen Druck von 10Bar.

Der Gesammt Druck ist immer unterschiedlich.

Beide Sensoren sind über eine Beckhoff Klemme 3052 über einen 3000 Koppler an einer 400er Siemens Steuerung angeschlossen.

Die Karte hat 12bit daraus ergibt sich eine Auflösung von 0,0040mA/bit.

Um den Differenzdruck durchgehend richtig abfragen zu können muss ich ersteinmal eine vernüpftige Umwandlung haben.
Da hilft mir der Dreisatz auch nciht weiter.
 
Es ist und bleibt 3-Satz.
Du hast 2 Stück Druckaufnehmer, welche beide irgendeinen Druck bei 4 bzw. 20mA liefern, dazwischen ist üblicherweise Linear.

Der Rest (Differenzdruck) ist dann eine Weiterverarbeitung des skalierten Signals.

Die 12Bit-Auflösung sind auch zunächst mal unerheblich, da laut Datenblatt 4mA = 0 im Prozessabbild und 20mA = 32767 im Prozessabbild, sprich das ist für die Genauigkeit des Gesamtsystems wichtig, aber für die Skalierung absolut unerheblich.

Mfg
Manuel
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich versuche mal, Zombianfuehrer zu helfen:
1. Der Sensor vor dem Filter liefert bei Druck 0 den Eingangswert I1 = 0 (Annahme 1)
2. Der Sensor vor dem Filter liefert bei Druck 20 bar den Eingangswert I1 = 32767 (Annahme 2)
3. Der Sensor hinter dem Filter liefert bei Druck 0 den Eingangswert I2 = 0 (Annahme 3)
4. Der Sensor hinter dem Filter liefert bei Druck 10 bar den Eingangswert I2 = 32767 (Annahme 4)
Ausgehend von diesen Annahmen gilt nun:
P1 = 20 bar * I1 / 32767
P2 = 10 bar * I2 / 32767
Weil Differenzdruck benötigt wird DeltaP = P1 - P2 (Annahme 5) gilt:
DeltaP = P1 - P2
DeltaP = 20 bar * I1 / 32767 - 10 bar * I2 / 32767
und zusammengefasst:
DeltaP = (20 bar * I1 - 10 bar * I2) / 32767
( Gilt aber nur, wenn alle Annahmen stimmen !)
eNDe
 
Zurück
Oben