NC-Explorer

Überblick

Das Addin dient dazu, Daten von unterschiedlichen Systemen über ein Dialogfeld in UniPlot auswählen zu können.

Die Daten werden in das NC-Dateiformat von UniPlot konvertiert und in einem Verzeichnis gespeichert. Für jede Datei wird ein Eintrag in eine Datenbank vorgenommen. Für den Zugriff auf die Daten enthält das Addin einen Datenbrower, mit dem auf die Datenbank zugegriffen wird. die im Browser ausgewählten Messungen werden auf den lokalen Rechner kopiert und stehen damit der folgenden Datenauswertung mit UniPlot zur Verfügung.

Das Addin kann alle Daten verarbeiten, für die ein entsprechender Import-Filter zur Verfügung steht.

../../_images/nce-explorer.png

Installation

Markieren Sie im Add-In-Manager (Extras=>Add-In Manager) das Addin NC-Explorer und starten Sie UniPlot neu.

Erzeugen Sie num im Verzeichnis uniplot\addin\rs_explorer eine Datei mit dem Namen rs_explorer.ini. Im Verzeichnis rs_explorer finden Sie eine Beispieldatei rs_explorer_example.ini, die Sie als Vorlage verwenden können.

Beispiel:

;
; rs_explorer.ini
;
[NC-Explorer]
DB-Type = sqlite3
DB-Connect-String = d:\nc_daten2\uniplot_db.udb
DB-Ini-File = d:\nc_daten2\nce-database.ini

Ändern Sie die Pfade. Sie können auch UNC-Pfade verwenden, z. B. \\p3200server\data\uniplot_daten. Der Pfad DB-Connect-String muss auf die Datenbank verweisen. Der Pfad DB-Ini-File auf die Ini-Datei der Datenbank.

Wenn eine Datenbank bereits existiert, sollten Sie damit nun Zugriff auf die Daten haben.

Einrichten der Datenbank

1. Erzeugen Sie ein Verzeichnis, in dem die Datenbank angelegt werden soll. Das Verzeichnis sollte von allen Rechnern, die auf die Datenbank zugreifen sollen, mit Leserechten erreichbar sein.

2. In dem neuen Verzeichnis erzeugen Sie eine Ini-Datei mit dem Namen nce-database.ini. Ein Beispiel finden Sie im Verzeichnis uniplot\addin\rs_explorer.

Hier ein Beispiel:

;
; nce-database.ini
;
; Spaltennamen in der Datenbank:
[NC-Attribs-DB]
nAttrib=4
Attribute1=MOT_TYP
Attribute2=MOT_NR
Attribute3=Sachbearbeiter
Attribute4=Bediener
; Spaltennamen im UniPlot-Explorer
[NC-Attribs-Exlorer]
Attribute1=Motortyp
Attribute2=Motor-Nr.
Attribute3=Sachbearbeiter
Attribute4=Bediener
; Attributnamen in den d2t-Dateien
[d2t]
Attribute1=MOT_TYP
Attribute2=MOT_NR
Attribute3=Sachbearbeiter
Attribute4=Bediener

Im Schlüssel NC-Attribs-DB geben Sie die Anzahl der Attribute ein, die in der Datenbank gespeichert werden sollten (nAttrib=4). Dann folgen die Namen der Attribute. Hier sollten nur Buchstaben, Zahlen und Unterstriche verwendet werden. Für jeden Namen wird in der Datenbanktabelle eine Spalte erzeugt.

Im Schlüssel NC-Attribs-Browser stehen wieder die gleichen Anzahl an Attributen. Hier können die Namen für den Browser angegeben werden.

Dann folgen die Definitionen für die Datenquellen. Im Beispiel oben ist nur eine Datenquelle definiert worden, d2t. Hier kann ein kurzer, beliebiger Name stehen. Der Name wird im Browser in der Spalte Typ angezeigt. Die Werte der Attribute müssen mit den entsprechenden globalen Attributen der NC-Dateien übereinstimmen.

Starten Sie UniPlot und öffnen die Datei nce_create_database.ic Drücken Sie jeweils F4 und öffnen dann das Kommandofenster von UniPlot. Geben Sie das folgende Kommando ein, um die Datenbank zu erzeugen:

* _NCE_CreateDB()

Damit sollte die Datenbank mit dem Namen uniplot_db.udb erzeugt worden sein.

Falls Attribute in der Datei nce-database.ini ändern möchten, müssen Sie die Datenbank neu erzeugen. Dazu müssen Sie die Datei uniplot_db.udb löschen und das Verzeichnis data entfernen. Danach _NCE_CreateDB() neu aufrufen um die Datenbank zu erstellen.

Einrichten der Beobachtungsfunktion:

Öffnen Sie die Datei uniplot\addin\rs_explorer\NCE_Watch_Example.ic

Ändern Sie die drei Einträge Type, ssDirToWatch und svFilter und speichern die Änderungen.

// oDB.Type = Kurzer Text, der die Datenquelle beschreibt
// oDB.ssIniFile = Vollständert Pfad der Init-Datei mit den Attributnamen
// oDB.ssDirToWatch = Verzeichnis, aus die Datendateien geladen werden sollen.
// oDB.svFilter = Vektor mit Dateinamen-Erweiterung, z. B. ["*.*"] oder ["*.utx", "*.xls"]
def NCE_GetSourceInfo(oDB)
{
    oDB.nSources = 2;
    oSource = [.];
    oSource.Type = "NC";
    oSource.ssDirToWatch = "D:\nc-data\nc.data-nc";
    oSource.svFilter = "*.nc";
    oDB.oSource[1] = oSource;
    oSource = [.];
    oSource.Type = "d2t";
    oSource.ssDirToWatch = "d:\nc-data\nc-data-d2t\";
    oSource.svFilter = "*.utx";
    oDB.oSource[2] = oSource;
/*
    // Beipiel für ein Verzeichnis mit einer Exclude-Liste
    oSource = [.];
    oSource.Type = "DC4";
    oSource.ssDirToWatch = "d:\nc-data\nc-data-dc4\";
    oSource.bExcludeFilter = TRUE;
    oSource.svFilter = ["*.ini", "*.pdf", "*.txt", "*.qm", "*.htm", "*.exe"];
    oDB.oSource[3] = oSource;
*/
    return oDB;
}
_NCE_Add_Scan_Menu()
_NCE_StartWatching()

Für erste Tests ist es sinnvoll ein Verzeichnis mit ein paar Testdateien zu erzeugen. Mit dem Explorer können dann weitere Dateien in das Verzeichnis kopiert werden. Wenn die Tests erfolgreich waren, können Sie die Datenbank und das Verzeichnis d:\nc-data\data wieder löschen.

Kopieren Sie die Datei NCE_Watch_Example.ic in das autoload-Verzeichnis von UniPlot.

Sorgen Sie dafür, dass UniPlot beim Starten des Rechners ebenfalls gestartet wird.

Die Funktion _NCE_StartWatching() beobachtet das Verzeichnis ssDirToWatch. Wenn eine neue Datei mit der definierten Dateinamenserweiterung im Verzeichnis gespeichert wird, konvertiert die Funktion die Datei in das NC-Format und trägt die Datei in die Datenbank ein.

Um Dateien in die Datenbank einzufügen, die bereits vor dem Start der Funktion im Verzeichnis vorhanden waren, wählen Sie Extras=>Execute Full Scan.

Im Datenverzeichnis wird eine Logdatei erzeugt. Die Logdatei enthält Informationen über die eingefügten Dateien und Fehlermeldungen.

UniScript

In UniScript-Dateien kann der Browser über die Funktion NCE_Explorer() aufgerufen werden. Die Funktion liefert einen Vektor mit den ausgewählten NC-Dateien bzw. die Zeichenkette „DLG_CANCEL“, falls in der Dialog-Box „Abbrechen“ gedrückt wurde.

Probleme

Falls Probleme auftreten, melden Sie sich bitte.

id-2080630