Norm-Namen

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")

Installation

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“.

Norm-Namen Tabelle

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:

../../_images/norm-names-excel-header.png ../../_images/norm-names-excel-channel.png

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.

Konfiguration

Im Konfigurationsdialog kann die Normnamen-Umsetzung eingeschaltet werden.

../../_images/norm-namen-de.png

Schema-Namen beim CSV-Export exportieren: Der CSV-Export enthält eine zusätzliche (zweite) Zeile mit den Schema-Namen. Die Einstellung kann auch über UniScript aktiviert werden:

WriteProfileString("NormName", "ExportSchemeName", "1");

Beispiel-CSV-Export:

Channel1-NormName, Channel2-NormName, Channel3-NormName
Channel1-SchemaName, Channel2-SchemaName, Channel3-SchemaName
Channel1-Unit, Channel2-Unit, Channel3-Unit
1, 0, 1.1
2, 0, 1.2

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.

UniScript

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, zum Beispiel beim Aufruf von auto_ImportData.

def OnImportUpdateNCFile(ssNCName)
{
    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(ssNCName, NC_WRITE);
    if (ncid == -1) {
        MessageBoxError("Cannot open NC file: %s", ssNCName);
        return TRUE
    }
    nc_redef(ncid);
    NC_ApplyNormNames(ncid, ssScheme);
    nc_endef(ncid);
    nc_close(ncid);
    return TRUE;
}

History

Version Beschreibung
R2018.10 Excel 2007 Dateien (XLSX) können verwendet werden.

Probleme

Falls Probleme auftreten, zögern Sie bitte nicht und melden Sie sich bei uns.

id-256545