Umrechnung von Einheiten
Physikalische Einheiten
Obwohl im smartCORE in der Regel alle Kanäle mit physikalischen Größen, gemessen oder berechnet, eine physikalische Einheit in der Konfiguration zugewiesen bekommen haben, werden diese bei der Berechnung und weiteren Verarbeitung nicht berücksichtigt.
Es liegt in der Verantwortung des Autors, die Umrechnung und Normierung der physikalischen Größen selbst durch entsprechende Korrekturen vorzunehmen.
Häufig verwendete Umrechnungen werden durch folgende Funktionen bereitgestellt:
Funktion | Beschreibung |
---|---|
rad2deg(alpha) | Umwandlung des Winkels alpha vom Bogenmaß ins Gradmaß |
deg2rad(alpha) | Umwandlung des Winkels alpha vom Gradmaß ins Bogenmaß |
kph2mph(speed) | Umwandlung der Geschwindigkeit speed von km/h nach mph |
mph2kph(speed) | Umwandlung der Geschwindigkeit speed von mph nach km/h |
C2K(temperature) | Umwandlung einer Temperatur von °Celsius in Kelvin |
K2C(temperature) | Umwandlung einer Temperatur von Kelvin in °Celsius |
C2F(temperature) | Umwandlung einer Temperatur von °Celsius in °Fahrenheit |
F2C(temperature) | Umwandlung einer Temperatur von °Fahrenheit in °Celsius |
F2K(temperature) | Umwandlung einer Temperatur von °Fahrenheit in Kelvin |
K2F(temperature) | Umwandlung einer Temperatur von Kelvin in °Fahrenheit |
Falls die benötigte Umrechungsfunktion hier nicht verfügbar ist, hat sich die kommentierte Definition von Skalierungsfaktoren am Anfang des Formeltextes bewährt.
// Konstanten zur Einheitenumrechnung
uConv_Ws2kWh = 1e-3 / 3600; // Ws -> kWh
...
Beispiel 1 zeigt die Anwendung in der Energieberechnung.
Die folgenden Beispiele zeigen den Bedarf:
Beispiel: Leistung und Energie
Die elektrische Leistung ergibt sich aus dem Produkt aus Strom und Spannung:
und die Energie aus dem Integral über der Leistung:
dabei werden die SI-Basiseinheiten A (Ampere), V (Volt), W (Watt) und J (Joule) vorausgesetzt. Liegen die Messdaten nicht in den SI-Basiseinheiten vor oder sollen die Ergebnisse nicht in diesen ausgegeben werden, sind Korrekturfaktoren einzubauen.
Wird der Strom in mA gemessen und soll die Leistung in kW ausgegeben werden, so ist in Form einer Größengleichung folgender Maßen zu korrigieren:
im kommentierten Formeltext:
P_el = U_el * I_el / 1000 / 1000; // I in mA, P_el in kW
Für die Ausgabe der Energie in kWh ist mit der Beziehung folgende Größengleichung zu bilden:
und im kommentierten Formeltext:
W_el = integrate(P_el * 1000) / 1000 / 3600; // P_el in kW, W_el in kWh
Es ist darauf zu achten, dass Funktionsbausteine, die mit einem persistenten Speicher versehen werden können, diesen in SI-Basiseinheiten befüllen. Damit sind im Nachgang leichter Korrekturen in den Ausgangs- und Zieleinheiten umzusetzen. In diesem Beispiel muss der Integrand die SI-Einheit W besitzen. Deshalb sollte der Faktor 1000 hier nicht aus dem Integral gezogen und gekürzt werden.
W_el = integrate(P_el * 1000, {storage:'energy_Ws'}) / 1000 / 3600;
In diesem Beispiel wurde die Eingangs vorgeschlagene Definition von Konstanten zur Umrechnung nicht realisiert. Man erkennt, wie die Lesbarkeit der Formeln schlechter wird. Für was und warum steht da jetzt * 1000
oder / 1000
?
Beispiel: Thermodynamik
In Formeln der Thermodynamik werden Temperaturen in der SI-Basiseinheit Kelvin (K) verwendet. Zum Beispiel in der thermischen Zustandsgleichung
Dabei sind folgende SI-Basiseinheiten zu verwenden:
-
p in (Pascal)
-
V in
-
m in
-
R in
-
T in (Kelvin)
Neben den Skalierungsfaktoren für das Volumen, die Masse oder den Druck, ist im Formeltext bei der Temperaturumrechnung von °Celsius nach Kelvin der Offset von zu berücksichtigen. Noch "schlimmer" wird die Umrechnung von °Fahrenheit in Kelvin.
Als Größengleichung ergibt sich dann zum Beispiel
Auch wenn sich hier die Skalierungsfaktoren gut zusammen fassen lassen, ist aufgrund der Komplexität eine guten Dokumentation der verwendeten und erwarteten Einheiten unabdingbar!