Volumenberechnung für einen Tank mit Klöpperboden, mit Hilfe einer Interpolations-Tabelle

Die Berechnung dieses Volumens ist, selbst für aktuelle SPSen, sehr rechentintesiv.
Auf diesen Geräten ist die Genauigkeit, durch Rundungsfehler, ebenfalls schwer in den Griff zu bekommen.

Meine erprobte Lösung hierfür ist, das Volumen mit Hilfe der Interpolation zu berechnen.

Dies geschieht mit Hilfe einer Excel Datei, mit folgenden Möglichkeiten:
  • Eingabe von bis zu 16 verschiedenen Tanks
  • automatische Optimierung der Anzahl der Stützpunkte
  • Ausgabe als optimierter / nicht optimierter Datenbaustein
Dateneingabe in der Tabelle
Tank Eingabe

Ausgabe als Datenbaustein
DATA_BLOCK "DB_Interpolation_Table"
TITLE = 'DBinterp'
VERSION : 0.1
READ_ONLY
STRUCT
	Tank_1 : "dt_XY_Table"; //test 1
END_STRUCT;
BEGIN
	Tank_1.Length := 6;
	Tank_1.X[0] := 0.00000;
	Tank_1.X[1] := 120.00000;
	Tank_1.X[2] := 240.00000;
	Tank_1.X[3] := 360.00000;
	Tank_1.X[4] := 480.00000;
	Tank_1.X[5] := 11880.00000; //End of cylinder
	Tank_1.Y[0] := 0.00000;
	Tank_1.Y[1] := 9.95011;
	Tank_1.Y[2] := 22.16462;
	Tank_1.Y[3] := 34.37914;
	Tank_1.Y[4] := 46.59365;
	Tank_1.Y[5] := 1206.97231; //End of cylinder

END_DATA_BLOCK
DATA_BLOCK "DB_Interpolation_Table"
TITLE = 'DBinterp'
VERSION : 0.1
READ_ONLY
STRUCT
	Tank_1 : STRUCT //test 1
		Length : INT := 6;
		X : ARRAY [0..6] OF REAL := 0.00000, 120.00000, 240.00000, 360.00000, 480.00000, 11880.00000;
		Y : ARRAY [0..6] OF REAL := 0.00000, 9.95011, 22.16462, 34.37914, 46.59365, 1206.97231;
	END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK

Mit Hilfe eines Bausteins zur Interpolation können Sie daraus das aktuelle Tankvolumen berechnen.

Weiterführende Informationen

Downloads