Das Addin rs_norm ist eine Erweiterung für UniPlot um Kanalnamen und globale Attributnamen in NC-Dateien in Norm-Namen umzuwandeln. Damit können die Namen von unterschiedlichen Prüfstandssystemen auf einheitliche Namen konvertiert werden. Das vereinfacht die Auswertung der Daten erheblich.
Die folgenden Import-Filter verwenden das Norm-Namen Addin:
| Typ | Standard Schema Name |
|---|---|
| UTX | Wert des Attributs “scheme”, z. B. scheme=PST1 |
| ASAM ODS 3 | “PumaOpen” |
Anstatt des Attributs scheme kann ein globales Attribut festgelegt werden, das den entsprechenden Schema-Namen enthält. Beispiel: Pruefstand = TC12. Das bedeutet, dass die Original-Datei ein Attribut mit dem Namen Pruefstand enthält, das den Wert TC12 besitzt. In der Norm-Namen-Tabelle sollte nun eine Spalte mit den Text TC12 existieren. Die Kanalnamen der entsprechenden Spalte werden dann in die Normnamen umgesetzt. Kanalnamen, die in der Norm-Namen-Tabelle nicht vorhanden sind, werden nicht verändert. Falls das Schema in der Norm-Namen-Tabelle nicht vorhanden ist, werden die Original-Kanalnamen nicht verändert.
Mit den folgenden Aufrufen können die Attributnamen festgelegt werden:
UTX-Dateien:
WriteProfileString("NormName", "utx_scheme_name", "Pruefstand");
ASAM-ODS-3 Daten:
WriteProfileString("NormName", "aods3_scheme_name", "Pruefstand");
Für ASAM-ODS-3 Daten kann der Schema-Wert auch alternativ in der Windows Registry gespeichert werden:
WriteProfileString("AODS_BROWSER_3", "NormNameScheme", "PumaOpen")
Markieren Sie im Add-In-Manager (Extras=>Add-In Manager) das Addin Norm-Namen. Danach finden Sie im Extras-Menü einen neuen Eintrag “Norm-Namen Konfiguration”.
Für die Erstellung der Normnamen-Datei benötigen Sie Excel. Eine Beispieldatei finden Sie im Verzeichnis uniplot\addin\rs_norm. Die Datei hat den Namen norm_example.xls.
Die Excel-Datei besteht aus 2 Blättern mit den Namen Headernames und Channelnames.
In der Zelle A1 muss der Text XLS-NormHeaderNames:v1 bzw. XLS-NormChannelNames:v1 stehen.
Beispiel:
Die Normnamen müssen den Konventionen für NC-Dateien entsprechen: Der Name muss mit einem Buchstaben oder einem Unterstrich beginnen, gefolgt von 0 oder mehr Buchstaben oder Zahlen sowie dem Unterstrich(_). Groß- und Kleinbuchstaben werden unterschieden. Sonderzeichen im Namen werden durch Unterstriche ersetzt. Umlaute werden wie folgt umgesetzt: Ä->A, ä->a, Ö->O, ö->o, Ü->U, ü->u, ß->s.
Die Header- und Kanalnamen für die Schema müssen in der Schreibweise mit den Namen übereinstimmen, wie sie in der Quelle definiert sind. Groß- und Kleinschreibung muss beachtet werden.
Die Excel-Datei wird über den Konfigurationsdialog ausgewählt und in eine neue Datei mit der Endung .unt konvertiert. Beim Import von Daten greift UniPlot dann auf die .unt-Datei zu.
Im Konfigurationsdialog kann die Normnamen-Umsetzung eingeschaltet werden.
Die Excel-Datei mit den Norm-Namen wird über den Schalter Import... geladen. Falls keine Norm-Namen-Datei mit der Endung .unt angegeben ist, erstellt die Funktion eine neue Datei im Verzeichnis der Excel-Datei mit Endung .unt.
Wenn die Option Norm-Namen-Datei mit folgenden Excel Datei automatisch synchronisieren markiert ist, wird die .unt-Datei automatisch aktualisiert, wenn sich die Excel-Datei geändert hat.
Beispiel, wie die Normnamen auf eine existierende NC Datei angewendet werden können:
def NC_ApplyNormNames1(ssNCFile)
{
ssScheme = "PumaOpen"; // must be scheme in the norm name file.
ncid = nc_open(ssNCFile, NC_WRITE);
if (ncid == -1) {
return FALSE;
}
nc_redef(ncid);
NC_ApplyNormNames(ncid, ssScheme)
nc_endef(ncid);
nc_close(ncid);
return TRUE
}
Im folgenden Beispiel wird die Callback-Funktion OnImportUpdateNCFile verwendet, um die Normnamen auf eine NC-Datei anzuwenden. OnImportUpdateNCFile wird beim Öffnen einer NC-Datei aufgerufen, z. B. mit auto_ImportData.
def OnImportUpdateNCFile(ssNetCDFName)
{
global _hNN;
if (NN_IsActive() == FALSE) {
return TRUE;
}
if (_hNN == 0) {
return TRUE;
}
svData = MapLookup(_hNN, "$AvailableScheme");
ssInit = CreateListBoxText(svData);
ssScheme = DialogBox("|C10 ", ssInit, ..
"Wählen Sie ein Normnamen-Schema aus");
if (ssScheme == "DLG_CANCEL") {
return TRUE;
}
ncid = nc_open(ssNetCDFName, NC_WRITE);
if (ncid == -1) {
MessageBoxError("Cannot open NC file: %s", ssNetCDFName);
return TRUE
}
nc_redef(ncid);
NC_ApplyNormNames(ncid, ssScheme);
nc_endef(ncid);
nc_close(ncid);
return TRUE;
}
Falls Probleme auftreten, melden Sie sich bitte.
id-256545