Normierung analog Wert minus bereich

PrinzD

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo !

Habe mich heute erst angemeldet , bin aber schon länger stiller Leser dieses GUTEN Forums .

Jetzt zu meiner Frage

Es geht wie aus dem Titel ersichtlich um eine Normierung eines Analog Wertes . Komme da irgendwie nicht auf eine Lösung

PEW 128 gib mir 4-20mA bei einer Temperatur von -20 - +40 Grad

Steuerung ist eine S7 314 IFM , wobei die Analogeingänge nur mit 0-20mA angeschlossen werden können

Habe mir schon einige Postings hier im Forum durchgelesen und auch schon fast die Lösung gefunden aber leider nur fast .

L PEW 128
ITD
DTR
L 5.530000e+003
-R
L 2.218400e+003
/R
L 4.000000e+001
*R
T MD 84

Von 0 - 40 Grad klappt alles :lol:
nur wie bekomme ich die 0 - -20 Grad normiert ????? :(



Gruss PrinzD
 
Hallo,

lineare Skalierung: y = a*x + b
a: Steigung
b: Offset
y: skalierter Wert
b: Rohwert (von AD)

Ermittlung der Parameter:
a = (y_max - y_min) / (x_max - x_min)
b = y_min - x_min

Einsetzen:
a = (40 - (-20)) / (27648- 0) = 60/27648 = 0,0021701388...... :eek:
b = -20 - 0 = -20

Wegen der 27648 mußt Du mal in der Doku der AE-Baugruppe nachgucken, aber ich denke das ist der Wert für alle Siemens-AE.

Schönes Wochenende, Peter
 
Hallo Peter,

erlaube mir eine kleine Korrektur.

Nicht berücksichtigt ist, dass PrinzD ein Eingangssignal von 4..20mA hat, jedoch den Eingangsbereich nur auf 0..20mA einstellen kann. Dann entsprechen 4mA einem Peripherie-Eingangswert von ca. 5530. Man muss dann mit der "Zweipunkt-Geradengleichung" normieren. Ich hoffe, ich liege nicht falsch.

Y = ((Ymax - Ymin) * (X - Xmin) / (Xmax - Xmin)) + Ymin

Ymax = +40.0
Ymin = -20.0
Xmin = 5529,6 (entspricht 4mA bzw -20°C)
Xmax = 27648 (entspricht 20mA bzw +40°C)

Wegen der Division sollte man mit real-Werten rechnen!

Gruss, Onkel
 
Hallo

Danke für Eure schnellen Antworten läuft jetzt alles SUPER !!!
:D
Habe den fc 105 genommen


Aber ein Problem gelöst , kommt schon wieder ein neues zu Tage

Möchte diesen Wert jetzt mit Protool in einem Ausgabefeld ( Dezimal ) anzeigen lassen

In Step7 nehme ich den Ausgabewert ( Realzahl ) von Fc105 mal 100
und schneide die Kommastellen mit dem Befehl Trunc ab .
1 Grad sind den 100 Grad Celsius
In Protool 2 Kommastellen gewählt und schon sind es wieder 1.00 G.Celsius .
Funktioniert soweit wieder alles wie ich mir das vorstelle .

Nur wenn der Wert in den minus Bereich fällt bekomme ich in Protool
einen Überlauf #####
Wenn ich in Step7 das MD beobachte wird der Wert aber richtig angezeigt .

Wo liegt das Problem , kann Protool nur positive Werte anzeigen ?

Muss noch dazu sagen das ich in Sache Sps kein Profi bin und mir mein kleines Wissen zuhause mit Büchern und ein paar Simulationen angeeignet habe .
 
Hi

Habe ich schon probiert , is nich !
Sowie es ins minus geht kommt eine sehr grosse Zahl 423423534534 oder so

Weitere Ideen ?
 
und als REAL-Variable in ProTool vereinbart?
Im Ausgabefeld mit 2 Dezimalen+Kommastelle+Vorzeichen+3Stellen vor dem Komma=7Stellen?
Nimm eventuell eine Stelle mehr!
Sonst weiß ich auch nicht weiter.
Gruß
raika
 
Anonymous schrieb:
Der Wert wird über MD 74 nach Protool übertragen also DWord

Gruss PrinzD


Der Wert wird nach der Umwandlung mit RND oder TRUNC als DINT abgelegt. In Protool mus die Variable ebenfals vom Typ DINT sein, nicht DWORD. Dann klappt das auch mit dem Vorzeichen. Bei deinen Wertebereich (-2000..+4000) kannst du auch INT (16bit) verwenden.

Wie hast du die FC105 parametriert?
 
Zurück
Oben