Funktionsblock Skalierung

joern_85

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

ich bin recht neu und arbeite mich quasi gerade erst ein in die SPS Automatisierung habe mir einen Funktionsblock zur Ansteuerung einer Pumpe geschrieben. Vielleicht könnte ja einer mal drüber schauen und mir Verbesserungsvorschläge und/oder Tipps geben.

Hardware:

Die Pumpe ist an einer 4-Kanal-Analog Ausgangsklemme 0-10V ,12Bit angeschlossen.

Variablen:
FUNCTION_BLOCK PUMPE

VAR_INPUT
Leistung_Pumpe :REAL;
END_VAR

VAR_OUTPUT
Signal :INT;
END_VAR

VAR

PL_max :REAL:=100;
PL_min :REAL:=0;
scale_max :REAL:=32767;
scale_min :REAL:=0;

gain :REAL;
Signal_2 :REAL;

END_VAR

Code:
gain:=(scale_max-scale_min)/(PL_max-PL_min);

Signal_2:= gain*Leistung_Pumpe;

Signal:=REAL_TO_INT (Signal_2);

Gruß jörn
 
Der Baustein macht ja erstmal das was er soll. Verbessern könnte man ihn noch dahingehend, indem man ihn etwas universeller gestaltet. D.h. Parameter wie PL_max und PL_min als Input, die Möglichkeit eines Offsets und auch symetrische Spannungsbereiche (+-10V z.B.) zu ermöglichen ....
 
Vielen Dank für die Antwort.

Das macht natürlich Sinn.

kann ich den Offset einfach so mit einbauen?

CODE:
gain:=(scale_max-scale_min)/(PL_max-PL_min) + Offset;

Signal_2:= gain*Leistung_Pumpe;

Signal:=REAL_TO_INT (Signal_2);
 
Zurück
Oben