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

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
- Siemens: Messwerte mit Polygonzug interpolieren und Funktionswerte ausgeben
- Siemens: Toolsammlung von Funktionen zu Bit- Zahlen- und mathematischen Operationen
- OSCAT: Lineare Interpolation (LINEAR_INT)
- Gewölbter Boden
Downloads
Daten Interpolation Kloepperboden V2.0 | |||
Download | |||
24.01.2021 74.35 KB | 331 |