Einheiten-Umrechnung

UniPlot kann beim Datenimport (zur Zeit nur KiBox-Dateien und bei Berechnungen mit dem Formelinterpreter eine konfigurierbare Einheiten-Umrechnung durchführen.

Die Kanäle werden dann entsprechend einer Umwandlungs-Tabelle über eine lineare Skalierung in andere Einheiten umgerechnet.

Bei der Einheiten-Umrechnung werden nur Zeichenketten in Tabellen gesucht. Die Zeichenketten können aus beliebigen UNICODE-Zeichen bestehen. Groß-/Kleinbuchstaben werden unterschieden. Leerzeichen werden berücksichtigt.

Möchten Sie 1/s in 1/min umrechnen, müssen sich diese beiden Einheiten auch in der Tabelle befinden. Es reicht nicht aus, wenn sich nur s und min in der Tabelle befinden.

Die units-Tabelle

In der Excel-Datei <uniplot-directory>\Template\units.xls befinden sich drei Tabellen „Units“, „Alias“ und „Channel“.

Wenn Sie Einheiten ändern möchten, kopieren Sie die Datei in ein anderes Verzeichnis, z. B. in das UniPlot-Benutzerverzeichnis (siehe GetUserDirectory) da die Datei units.xls im UniPlot-Template-Verzeichnis bei Installation eines Updates überschrieben wird.

Der Dateiname kann im Dialog Extras=>Formel-Konfiguration angegeben werden.

../../_images/ToolsFormulaConfiguration-de.png

Alternativ können Sie den Dateinamen im UniPlot-Kommandofenster eingeben. Geben Sie dazu im UniPlot-Kommandofenster die beiden folgenden Zeilen ein, damit Ihre geänderte units-Datei von UniPlot verwendet wird.

s = GetUserDirectory() + "Template/units.xls"
WriteProfileString("Settings", "unit-converter-file", s);

Units Tabelle

Die erste Tabelle („Units“) hat sechs Spalten.

../../_images/units.png

Dabei ist Name = Factor * SI + Offset, z. B. 1 mbar = 100 * Pa + 0.

Die Spalte „Preferred“ enthält die Zahl 1 oder ist leer. Falls die Spalte eine 1 enthält, wird diese Einheit für die Ausgabe verwendet. Beispielsweise steht die 1 in der Tabelle oben bei den Druckeinheiten in der Zeile mit „Common Unit“ (gebräuchliche Einheit) gleich bar, dann werden alle Drücke in bar ausgegeben. Möchten Sie, das Drücke in Pa ausgegeben werden, entfernen Sie die 1 in Zeile bar und fügen Sie sie in Zeile mit „Common Unit“ gleich Pa ein.

Alias Tabelle

Die Tabelle kann für jeden Kanal aus der Spalte Common Units der Units-Tabelle einen oder mehrere Aliase enthalten. Z. B. sec` für ``s. Die Tabelle enthält drei Spalten:

../../_images/units-alias.png

Channel Tabelle

Die Tabelle definiert für jeden Kanalnamen eine bevorzugte Einheit. Sie enthält drei Spalten mit Kanalnamen, bevorzugter Einheit und Kommentar.

../../_images/units-channel.png

Die Kanalnamen in der Tabelle müssen entweder exakt mit einem Namen in der NC-Datei übereinstimmen oder dürfen Platzhalter (Messstellenbezeichner) enthalten. Ein Messstellenbezeichner besteht aus spitzen Winkeln, die einen oder zwei Kleinbuchstaben enthalten. Der Platzhalter <x> kann eine einstellige Zahl im Bereich 1 bis 9 ersetzen. Der Platzhalter <xx> kann eine zweistellige Zahl im Bereich 01 bis 99 ersetzen. Beispiel: Für die vier Kanäle pcy1, pcy2, pcy3, pcy4 kann der Name pcy<x> in die Channel-Tabelle eingetragen werden. Falls ein Name mehrere Platzhalter enthält, müssen die Platzhalter durch einen Buchstaben oder einen Unterstrich separiert sein, z. B. pcy3bank2: pcy<c>bank<b>. Die Platzhalter können in Formeln ebenfalls verwendet werden. Siehe Definition von Formeln

Mit Hilfe der folgenden Funktion können die Einheiten aller Kanäle in SI-Einheiten (bToSIUnit = TRUE) oder in die gebräuchlichen Einheiten (bToSIUnit = TRUE) konvertiert werden nc_convert_units.

UniScript-Schnittstelle

Die UniScript-Schnittstelle zur Einheitenumrechnung befindet sich in script\datasets\units.ic.

  Funktionen zur Einheitenumrechnung
units units liefert das aktive Einheiten-Umrechner-Objekt.
units_get_other_units units_get_other_units liefert zu einer beliebigen Einheit alle Einheiten mit der selben SI-Einheit.
units_get_preferred_unit units_get_preferred_unit liefert die bevorzugte Einheit.
units_get_scale units_get_scale liefert den Faktor und den Offset um eine Einheit in eine andere Einheit umzurechnen.
units_get_si_unit units_get_si_unit liefert die SI-Einheit zu einer gegebenen Einheit.

id-2069315