.. highlightlang:: us .. index:: Norm-Namen .. index:: Santorin-Server .. index:: ASAM-ODS .. index:: Puma .. index:: UTX .. index:: y^norm-names .. _norm-namen: .. _norm-names: 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: .. list-table:: :header-rows: 1 * - 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-norm: Installation ------------ Markieren Sie im Add-In-Manager (:ref:`tools-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 :file:`uniplot\\addin\\rs_norm`. Die Datei hat den Namen :file:`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: .. image:: S:/uniplot-obj/images/norm-names-excel-header.* .. image:: S:/uniplot-obj/images/norm-names-excel-channel.* 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. .. image:: S:/uniplot-obj/images/norm-namen-de.* **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 :file:`.unt` angegeben ist, erstellt die Funktion eine neue Datei im Verzeichnis der Excel-Datei mit Endung :file:`.unt`. Wenn die Option **Norm-Namen-Datei mit folgenden Excel Datei automatisch synchronisieren** markiert ist, wird die :file:`.unt`-Datei automatisch aktualisiert, wenn sich die Excel-Datei geändert hat. .. _uniscript-norm: 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 :ref:`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; } .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2018.10 - Excel 2007 Dateien (XLSX) können verwendet werden. .. _problems-norm: Probleme -------- Falls Probleme auftreten, zögern Sie bitte nicht und melden Sie sich bei uns. :sub:`id-256545`