-> Hier kostenlos registrieren
Hallo
Ich habe ein Problem mit der Skalierung eines Analogwertes. Habe schon im Forum gesucht, aber nichts richtiges gefunden, was mein Problem beheben kann.
Folgendes will ich machen:
Ein Ultraschallsensor soll den Füllstand eines Tank's überwachen und liefert mir 4-20mA. Dieser Analogwert wird über dezentrale Peripherie eingelesen und per Profibus als Word in einen DB an die CPU geschickt. Wenn ich den DB beobachte sehe ich, das bei 4mA ein Wert von 6500 angezeigt wird und bei 20mA ein Wert von 32767. 4mA bedeuten einen vollen Tank und soll 5000L entsprechen. 20mA bedeuten, der Tank ist leer, also 0L. Wie kann ich das skalieren? Im FC105 hab ich das schonmal versucht:
CALL FC 105
IN :=DB2.DBW0 //Eingangswort
HI_LIM :=0.000000e+000 //Skalierungsobergrenze
LO_LIM :=5.000000e+003 //Skalierungsuntergrenze
BIPOLAR:=M100.0 //unipolar
RET_VAL:=DB2.DBW20 //Fehlerinformation
OUT :=DB2.DBD16 //Skalierter Messwert in REAL
Im DB2.DBD16 bekomme ich bei 4mA einen Wert von ca. 3807.000 und bereits bei 16,8mA bekomme ich einen Wert von 0 angezeigt.
Was läuft denn da falsch?
MfG
bastler
Ich habe ein Problem mit der Skalierung eines Analogwertes. Habe schon im Forum gesucht, aber nichts richtiges gefunden, was mein Problem beheben kann.
Folgendes will ich machen:
Ein Ultraschallsensor soll den Füllstand eines Tank's überwachen und liefert mir 4-20mA. Dieser Analogwert wird über dezentrale Peripherie eingelesen und per Profibus als Word in einen DB an die CPU geschickt. Wenn ich den DB beobachte sehe ich, das bei 4mA ein Wert von 6500 angezeigt wird und bei 20mA ein Wert von 32767. 4mA bedeuten einen vollen Tank und soll 5000L entsprechen. 20mA bedeuten, der Tank ist leer, also 0L. Wie kann ich das skalieren? Im FC105 hab ich das schonmal versucht:
CALL FC 105
IN :=DB2.DBW0 //Eingangswort
HI_LIM :=0.000000e+000 //Skalierungsobergrenze
LO_LIM :=5.000000e+003 //Skalierungsuntergrenze
BIPOLAR:=M100.0 //unipolar
RET_VAL:=DB2.DBW20 //Fehlerinformation
OUT :=DB2.DBD16 //Skalierter Messwert in REAL
Im DB2.DBD16 bekomme ich bei 4mA einen Wert von ca. 3807.000 und bereits bei 16,8mA bekomme ich einen Wert von 0 angezeigt.
Was läuft denn da falsch?
MfG
bastler