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



## Anonymous (21 Januar 2005)

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


----------



## Maxl (21 Januar 2005)

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)


----------



## Anonymous (21 Januar 2005)

*Formel*

Danke für die schnelle Antwort.

Gibt es eigentlich eine gemeisame Formel ...... da ich sie gesucht habe ??


mfg

Patrick


----------



## bapfy (21 Januar 2005)

würde sagen mit dem FC 105 SCALE und dem FC 106 UNSCALE


----------



## Anonymous (21 Januar 2005)

*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


----------



## BadTaste (21 Januar 2005)

Hallo,
schau mal unter Siemens Step 7 --> Hilfe FC105 und FC 106 dort steht die Formel drin. Du mußt dann nur noch die Grenzwerte einsetzen.


----------



## lorenz2512 (21 Januar 2005)

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


----------



## uz71 (21 Januar 2005)

*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


----------



## Anonymous (27 Januar 2005)

*Analogwertumrechnung*

Hallo ,

danke für eure Hilfe und endtschuldigt mich für meine Verspätung ....

grüsse
Patrick


----------



## old_willi (19 Juni 2005)

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;


----------



## siegener19 (10 Mai 2013)

Maxl schrieb:


> 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.


----------



## Ottmar (10 Mai 2013)

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


----------



## borromeus (10 Mai 2013)

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.


----------



## borromeus (10 Mai 2013)

Ottmar schrieb:


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



Also das stimmt so nicht, der Untersteuerungsbereich geht bis 1,185mA- zumindest in meinem Handbuch.


----------



## Ottmar (10 Mai 2013)

Hi!

Ja, ich hab nochmal nachgesehen, da hab ich mich vertan.
Hier jedenfalls die Tabelle die ich meine (Seite 272, Tabelle 5-9):
http://support.automation.siemens.c...lib.csFetch&nodeid=8860390&forcedownload=true


Gruß,

Ottmar


----------



## siegener19 (10 Mai 2013)

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?


----------



## borromeus (10 Mai 2013)

> Hi!
> 
> Ja, ich hab nochmal nachgesehen, da hab ich mich vertan.
> Hier jedenfalls die Tabelle die ich meine (Seite 272, Tabelle 5-9):
> http://support.automation.siemens.co...edownload=true



und dort auf Seite 272


----------



## borromeus (10 Mai 2013)

siegener19 schrieb:


> 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%!


----------



## siegener19 (10 Mai 2013)

Ja, das ist ein Durchfluss. Und zwar wird dieser mit einem MID gemessen. Eingangssignal 4...20mA.


----------



## borromeus (10 Mai 2013)

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.


----------



## siegener19 (10 Mai 2013)

Ja, richtig. Das Wasser im Rohr wird mit dem MID gemessen und je nach Durchfluss wird die Durchflussmenge mit einem Drosselschieber geregelt.


----------



## borromeus (10 Mai 2013)

Ist nun alles klar?


----------



## siegener19 (10 Mai 2013)

Nicht ganz. Das MID misst das Wasser und gibt ein Signal von 4...20mA aus. Je nach Durchflussmenge soll dann der Drosselschieber geregelt werden. Stromplan der Anlage habe ich vor mir, aber ich weiß nicht, wie dieser Drosselschieber geregelt wird.


----------



## borromeus (10 Mai 2013)

Mit einem Regler.
Ist das ein Motorschieber?


----------



## siegener19 (10 Mai 2013)

Ja schon klar mit dem Regler  
Ja Motorschieber, d.h. Motor schiebt eine Platte auf und ab.


----------



## ducati (10 Mai 2013)

Was hast Du denn für eine SPS und Programmiersystem?

evtl. schau Dir mal den CONT_S (FB42) an.

Gruß.


----------



## siegener19 (10 Mai 2013)

Ich denke mein Problem ist einfach das Lesen des Schaltplans. An der Uni lernt man leider so etwas nicht.


----------



## Ottmar (10 Mai 2013)

Hi!

Lade einfach mal einen Ausschnitt davon hoch.


Gruß,

Ottmar


----------



## siegener19 (10 Mai 2013)

So hier eine Seite. Was kann man hier lesen?


----------



## vollmi (10 Mai 2013)

Das ist ein normales Stetiges Ventil/Schieber. Mit Stellungsrückführung. Eigentlich eine Standardaufstellung.

Da du die zu regelnde Grösse ebenfalls hast wirst du mit dem PID Regler (FB41 CONT_C) die Aufgabe lösen können.

mfG René


----------



## siegener19 (10 Mai 2013)

Was bedeuten F03, F04, T02 und M01. Was sind das für Bauteile?


----------



## Ottmar (10 Mai 2013)

Hi!



siegener19 schrieb:


> Was bedeuten F03, F04, T02 und M01. Was sind das für Bauteile?



Die Module "F03" bzw. "F04" sind Überspannungsschutzmodule: (https://www.phoenixcontact.com/onli...2856032&library=dede&pcck=P-08-07-04-05&tab=1)
Das Modul "T02" ist ein Trenngerät: (http://www.adamczewski.com/download/de/tv30gl.pdf)
"M01" ist der motorbetriebene Stellungsregler, bzw. eigentlich dessen interner Stellungsgeber.


Gruß,

Ottmar


----------



## siegener19 (10 Mai 2013)

Danke, wirklich sehr freundlich.

Gruß


----------



## 00alex (11 Mai 2013)

Die "*Formel*" ist recht einfach :

es ist die "Geradengleichung"


----------



## Ottmar (11 Mai 2013)

Hi!

Also eine "Geradengleichung" wäre ja eine proportionale Wirkung. Das ist vielleicht in der Theorie möglich, für eine Durchflussregelstrecke braucht man aber in der Praxis mindestens einen Pi-Regler, wenn man keinen Ärger haben will.

Bei der S7-1200 würde ich mit dem Regler aus der Bibliothek aber aufpassen. Hier gibt es nämlich einen ziemlich ärgerlichen Bug beim Start des reglers. Dieser reagiert dann nämlich nicht und die Stellgröße bleibt dadurch null. Es gibt hierfür einen workaround.

Wenn möglich würde ich jedoch einen anderen Regelbaustein einsetzten. Leider habe ich da auch noch nichts brauchbares gefunden.
Vielleicht kannst du mir Rückmeldung geben wie du es im Endeffekt gelöst hast?!


Gruß,

Ottmar


----------



## 00alex (11 Mai 2013)

@Ottmar

HIER

...habe mich auf dem Threadnamen bezogen nicht auf einem Regler  (der aber auch _"linearisiert"_ ist wenn digital).


----------

