Step 7 Analogwert einlesen

caxzy

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

Ich habe mal eine Frage zur Analogwertverarbeitung.
Ziel ist es den Digitalen Wert zu Skalieren auf Real-Wert
Bekannte Formel:

OUT=[FLOAT(IN)-K1/(K2-K1)]*(HI_lim-Lo_lim)+Lo_Lim

Z.b. will ich eine Temperatur einlesen von 20-50°C
Hi-Lim: 50°C
Lo-Lim 20°C

0 entspricht dann 20°C
27648 entspricht 50°C

Folglich K1=0 und K2 = 27648

NUR: Was ist jetzt der Unterschied ob ich ein 12 BIT oder 16 bit Eingangskarte habe=?
Ist meine Auflösung nicht immer dieselbe: (50°C-20°C)/27648 = 0,0011°C ?

Kann mich jemand Aufklären?

Vielen dank :)
 
Bei einer 12-Bit-Karte bleiben die 4 niederwertigsten Bits immer 0 (oder 1?), deshalb ist Dein Wert gröber aufgelöst. Du arbeitest bei einer 12-Bit-Karte mit 16-er-Sprüngen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast ja entweder Spannung oder Stromstärke die du Analog einliest.
Hier ein Beispiel für die Auflösung der Baugruppe mit 8 bit
mit 8 Bit können 2[SUP]8[/SUP] (256) Bereiche abgebildet werden

bei 0..10V bedeutet das 10V : 256 = 0,039 V/Bit

daraus folgt: Es werden Spannungsunterschiede > 39mV erkannt
 
Ich verstehe nur nicht wo in der Formel für den Scale Baustein meine Bitzahl vorkommt.

Wenn ich 0-27648, Rest ist ja bei Siemens über- bzw. unterschreiten hätte ich ja bei 0-10V: 10/27648 = 36mV.

Bei der Formel wird ja kein Wert auf die Auflösung gelegt ob jetzt 8 bit oder 14 bit ..

Bei meinem Temperaturbeispiel wären 20°C der INT Wert 0,
20,0011°C wären ja INT Wert 1..

Es ist doch völlig egal ob ich 8bit oder 14 bit habe laut dieser Formel..

Hoffe es kann das jemand für "dumme" erklären ^^

Vielen dank Leute
 
Ich verstehe nur nicht wo in der Formel für den Scale Baustein meine Bitzahl vorkommt.
Wenn ich 0-27648, Rest ist ja bei Siemens über- bzw. unterschreiten hätte ich ja bei 0-10V: 10/27648 = 36mV.
Du hast schon recht damit das ein Teil von 27648 - 0,36mV entspricht, ob der Wert sich aber in Einer-Schritten ändert oder nicht hängt von der Auflösung der Karte ab.

Bsp. für Schritte:
8-Bit Karte: 0 - 128 - 256 - 384 ... 27520 - 27648
12-Bit Karte: 0 - 8 -16 -24 ... 27640 - 27648

Wie du an dem Beispiel siehst laufen zwar beide Werte bis 27648 und beide Male entsprechen die 27648 auch den 10V, jedoch werden diese in unterschiedliche Schrittweiten aufgeteilt ja nachdem wie viel die Analogkarte bereitstellt.

Beispiel 1: 27648 / 128 = 216 Teilungen ^= 46mV
Beispiel 2: 27648 / 8 = 3456 Teilungen ^= 2,89mV

Wie du siehst ist der Max-Wert (10V) immer 27648. Deshalb brauchst du die Kartenauflösung nicht bei der Umwandlung berücksichtigen.

Du wirst auch bemerkt haben das eine 8Bit Karte nur 216 nutzbare Teilungen hat und nicht 256.
Die restlichen 40 stellen den Bereich 10V - 11,851V dar.

Wie kommt das zu Stande und was bedeuten die Auflösungswerte dann eigentlich?
Sieh dir dazu die Tabelle 5-2 auf Seite 268 in folgendem Anhang an.
Anhang anzeigen Grundlagen der Anlalogbaugruppen.pdf

(Den Teil hatte M-Ott schon erläutert)
Bei dem 16Bit Analogwert (15 ohne Vorzeichen) werden die höherwertigen Bits mit dem Ergebnis der Karte belegt. Je nach Auflösung der Karte werden mehr oder weniger niederwertige Bits belegt. Die restlichen Bits werden einfach mit 0 belegt und schon hat man dieses System.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay alles klar :) Vielen dank für die Ausführliche erläuterung !

Also ist meine Auflösung bei einer 12 bit Karte nicht 10V/2^12 bei einer SPS sondern 10V/3456 Teile = 2,89mV
Was Folglich eine Verschlechterung der Auflösung zur Folge hat, was man aber in Kauf nimmt ?
 
Also ist meine Auflösung bei einer 12 bit Karte nicht 10V/2^12 bei einer SPS sondern 10V/3456 Teile = 2,89mV
Jein. Du hast zwar mit 10/3456 recht, die Analogkarte löst aber schon mit allen 12Bit auf - allerdings nicht bis 10V sondern bis 11.851V.
Der Übersteuerungsbereich will schließlich auch gemessen werden.

Es sind daher 11.851/2^12 = 2,89mV ... ... ... Überraschung! So ein Zufall aber auch.... :ROFLMAO:

Was Folglich eine Verschlechterung der Auflösung zur Folge hat, was man aber in Kauf nimmt ?
Nun ja, da man den Übersteuerungsbereich auch erfassen muss (Sensorfehler), muss man logischerweise einen Teil seines Messbereichs opfern.

Die angegebene Auflösung der Karte (4096 Teile bei 12Bit) wird aber tatsächlich erreicht, jedoch gilt diese für Messbereich + Übersteuerungsbereich.

Oder anders erklärt:
Der Dezimalwert des PEW hört ja nicht bei 27648 auf sonder geht ja noch weiter. Die 27648 sind eben nur die 10V.
 
Zuletzt bearbeitet:
Zurück
Oben