Umrechnung eines 4-20mA und 0-10V Signals

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

wollte mal fragen ob es bei der Umrechnung dieser Analogwerte gemeinsamkeiten gibt oder ob man sie getrennt von einander bearbeiten muss.
Kurz gesagt ob jeder einen anderen Baustein für die Umrechnung braucht und wie man diese Umrechnung machen könnte.

z.B. habe 4-20mA und einen Druckgeber von 0-100bar, wie sieht meine Formel für die Scalierung aus???

Grüsse
Patrick
 
bei Analogeingängen ist es egal, ob es ein Spannungs- oder Stromeingang ist.

Ein 0 - 10V Analogeingang liefert die Werte 0 (bei 0V) bis 27648 (bei 10V)
ein 4 - 20mA Analogeingang liefert die Werte 0 (bei 4mA) bis 27648 (bei 20mA)
 
Formel

Danke ..... nochmals für die schnelle Hilfe


Die Formel selbst gibt es nirgends, da ich dies für eine Wagoklemme brauche die den Bereich 0..32767 hat.

mfg
Patrick
 
hallo,
wenn geber und messmodul 4-20ma sind, dann diese formel:
l pew256
itd
dtr
l 32767
/r
l 100.0
*r
t md0
dann ist skaliert von 0-100
ich hoffe ich habe mich nicht vertippt. ich glaube die fc`s sind auf 27648 geeicht.
mfg
dietmar
 
analogwerte

iFUNCTION "Scale über u. unterlauf" : VOID
TITLE =Analogsignal Scalieren
AUTHOR : uz
VERSION : 0.1


VAR_INPUT
Messsignal : WORD ;
Obergrenze : REAL ;
Untergrenze : REAL ;
END_VAR
VAR_OUTPUT
Messwert : REAL ;
END_VAR
VAR_TEMP
Nennwert : REAL ;
Steigung : REAL ;
END_VAR
BEGIN
NETWORK
TITLE =Nennwert

L 2.764800e+004;
T #Nennwert;
NETWORK
TITLE =Steigung berechnen

L #Obergrenze;
L #Untergrenze;
-R ;
L #Nennwert;
/R ;
T #Steigung;
NETWORK
TITLE =Messwert berechnen

L #Messsignal;
ITD ;
DTR ;
L #Steigung;
*R ;
L #Untergrenze;
-R ;
T #Messwert;
END_FUNCTION
 
Hallo,

hier eine Skalierung in SCL mit Begrenzung und Meldung bei Messbereichsüber- und Unterschreitung.


Gruß Wilfried

------------------------------------------
FUNCTION FC301 : VOID

TITLE = 'FC301_Skalierung'


//Bausteinparameter

VAR_INPUT //Eingangsparameter
AI :WORD; // Adresse Analoger Eingang (PEW X)
HI_LIM :REAL; // Maximum Messbereich
LO_LIM :REAL; // Minimum Messbereich
BIPOLAR :BOOL; // 1 = Bipolar, 0 = Unipolar

END_VAR

VAR_OUTPUT //Ausgangsparameter
MESSW :REAL; // Messwert im Real- Format
UEBERL :BOOL; // 1 = Messwert- Überschreitung um > 5%
UNTERL :BOOL; // 1 = Messwert- Unterschreitung um > 5%

END_VAR

VAR_TEMP //temporäre Variablen
K1 :REAL;
K2 :REAL;
AI_int :INT;
AI_real :REAL;

END_VAR

//Anweisungsteil

BEGIN

UEBERL := FALSE;
UNTERL := FALSE;

IF Bipolar THEN
K1 := -27648.0 ;
K2 := 27648.0;
ELSE
K1 := 0.0;
K2 := 27648.0;
END_IF;

AI_int := (WORD_TO_INT (AI));
AI_real := (int_to_real (AI_int));

MESSW := (((AI_real - K1 ) / ( K2 - K1 )) * (HI_LIM - LO_LIM)) + LO_LIM;

IF MESSW > (HI_LIM*1.05) THEN
MESSW := HI_LIM;
UEBERL := TRUE;
END_IF;

IF AI_real < -1380 THEN
MESSW := LO_LIM;
UNTERL := TRUE;
END_IF;

IF AI_int = 32767 THEN
MESSW := LO_LIM;
UNTERL := TRUE;
END_IF;

END_FUNCTION;
 
bei Analogeingängen ist es egal, ob es ein Spannungs- oder Stromeingang ist.

Ein 0 - 10V Analogeingang liefert die Werte 0 (bei 0V) bis 27648 (bei 10V)
ein 4 - 20mA Analogeingang liefert die Werte 0 (bei 4mA) bis 27648 (bei 20mA)

Was ist eigentlich wenn ich einen Analogeingang unter 4 mA habe ? Da erhalte ich doch eine negative digitalisierte Zahl. Technisch gesehen ist es ein Drahtbruch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi!

Ja, man nennt das dann bis ca. 3,8mA "Untersteuerungsbereich" und noch weiter darunter dann "Unterlauf".

Bei den jeweiligen Analogeingabebaugruppen sind die Bereiche in mA und mit den Dezimalwerten sehr gut beschrieben.


Gruß,

Ottmar
 
Schau mal unter Namur- Grenzen:
da ist ein gültiges Signal zwischen 3,6mA und 21mA definiert.

Zu Fuss kannst Du Deine Grenzen selber machen wie Du willst.
Ab und zu muss man das: bei alten Durchflussmessern, die eine große Nullpunktverschiebung haben setzen wir den Drahtbruch auf 1,5mA.

Und ja, Du bekommst eine negative Zahl.
 
Hi!

Ja, man nennt das dann bis ca. 3,8mA "Untersteuerungsbereich" und noch weiter darunter dann "Unterlauf".

Bei den jeweiligen Analogeingabebaugruppen sind die Bereiche in mA und mit den Dezimalwerten sehr gut beschrieben.


Gruß,

Ottmar

Also das stimmt so nicht, der Untersteuerungsbereich geht bis 1,185mA- zumindest in meinem Handbuch.
 
Danke für eure schnellen Antworten.

Was bedeutet diese negative Zahl konkret? In meinem Projekt habe ich einen Analogeingang von 4...20mA, die auf 0...100 Liter normiert werden sollen. Wenn der Analogeingang von diesen Grenzen abweicht, ist das doch eine Störung/Fehler? Wie kann ich das programmieren?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für eure schnellen Antworten.

Was bedeutet diese negative Zahl konkret? In meinem Projekt habe ich einen Analogeingang von 4...20mA, die auf 0...100 Liter normiert werden sollen. Wenn der Analogeingang von diesen Grenzen abweicht, ist das doch eine Störung/Fehler? Wie kann ich das programmieren?

0-100l/h?
Ist das ein Durchfluss?

Naja, da macht man eben eine Max-Auswahl aus dem Messwert und 0,0.
Achtung, es kann auch sein, dass real eine Menge in die verkehrte Richtung fliesst.

Wenn das ausgeschlossen ist gib einen Fehler bei -2,5% aus bzw bei +6,25%!
 
Den wirst Du wahrscheinlich ohnehin mit der Pumpe verknüpfen müssen, weil wenn in dem IDM keine Flüssigkeit ist zeigt der meist irgendwas an.
 
Zurück
Oben