Einfügen von Datensätzen in eine Vorlage

Das im Folgenden beschriebene Programm vereinfacht das Einfügen von Datensätzen in ein UniPlot-Dokument (Diagramm-Vorlage).

Funktionsweise: Von einem vorhandenen UniPlot-Dokument wird über den Befehl Datensatztabelle exportieren eine Excel-Tabelle erzeugt.

Beispiel:

../../_images/dx-excel.png

Der Anwender kann diese Tabelle editieren und sie einer Kopie des ursprünglichen Dokuments zuweisen.

Es können so schnell neue Dokumente mit anderen Datendateien, zusätzlichen Datendateien oder anderen Kanälen erzeugt werden.

Softwarevoraussetzung

Sie benötigen Microsoft-Excel 97 oder neuer. Excel wird zum Bearbeiten der Datensatztabelle benötigt.

Beschreibung der Befehle

Datensatztabelle exportieren

Vorgehensweise:

Es wird eine Datensatztabelle erzeugt. Die Tabelle wird in eine Excel-Datei geschrieben. Die Datei erhält den gleichen Namen wie das geöffnete UniPlot-Dokument jedoch mit der Dateinamen-Erweiterung .xls. Beispiel:

UniPlot-Dokument: c:\Programme\UniPlot\Template\dx.ipw

Excel-Datensatz-Tabelle: c:\Programme\UniPlot\Template\dx.xls

Anschließend wird Excel gestartet und die Tabelle geöffnet. Siehe Beschreibung der Datensatztabelle.

Datensatztabelle öffnen

Dieser Befehl versucht die zum aktiven UniPlot-Dokument gehörende Excel-Datentabelle zu öffnen.

Beispiel:

Ist das UniPlot-Dokument: c:\Programme\UniPlot\Template\dx.ipw aktiv, versucht die Funktion die Datei c:\Programme\UniPlot\Template\dx.xls in Excel zu öffnen.

Datensatztabelle zuweisen

Nachdem Sie eine Datensatztabelle erzeugt haben, können Sie die Tabelle auf ein aktives UniPlot-Dokument anwenden. Gehen Sie wie folgt vor:

  • Öffnen Sie das UniPlot-Dokument bei dem Sie Daten austauchen/zufügen möchten.

  • Stellen Sie sicher, dass eine Datensatztabelle existiert. Wählen Sie dazu den Befehl Datensatztabelle öffnen.

  • Wählen Sie den Befehl Datensatztabelle zuweisen aus der Benutzer-Schalterleiste.

    Falls das Dokument noch nicht gespeichert wurde, werden Sie gefragt, ob Sie das Dokument speichern möchten. Drücken Sie Ja.

  • Es wird nun eine Warnung ausgegeben:

../../_images/DX-Warning.png
  • Falls Sie Ja angeben, können Sie im folgenden Dialog einen neuen Dateinamen eingeben unter dem das Dokument gespeichert werden soll.
  • Falls Sie Nein angeben, werden die Daten im aktiven Dokument ausgetauscht.

Es werden jetzt folgende Aktionen durchgeführt:

  • Im UniPlot-Dokument werden alle Datensätze gelöscht.
  • Die Datendateien werden geladen und die Datensätze werden in den angegebenen Diagrammen erzeugt. Die Funktionen werden ausgeführt.

Beschreibung der Datensatztabelle

Die Datensatztabelle hat folgenden Aufbau:

Spalten 1 bis 4:

#PageName DiagramName DatafilePath DatafileName
Seite 1 Diagramm 1 D:/uniplotd/samples/ Test1.xls{2}
Seite 1 Diagramm 1 D:/uniplotd/samples/ Test5.xls{2}

Spalten 5 bis 9:

DatasetName x-Channel y-Channel z-Channel Functions
Data1 EngSpd SAEPwr   xy_akimaspline()
Data2 EngSpd SAEPwr   xy_akimaspline()

Die erste Spalte ist eine Kommentarzeile, da sie mit dem #-Zeichen beginnt. Sie wird vom Programm ignoriert.

Jede Zeile in der Tabelle definiert einen Datensatz.

Beschreibung der Spalten:

PageName (Seitenname)

Ist der Name der Seite in die der Datensatz eingefügt werden soll.

DiagramName (Diagramm-Name)

Ist der Name des Diagramms in die der Datensatz eingefügt werden soll.

DatafilePath (Pfad der Datendatei)

Ist der komplette Pfad der Datendatei. Es sind auch UNC-Pfadnamen (mit Rechnernamen) möglich. Z. B. \\p1300\d\testdata\ao2230.

DatafileName (Name der Datendatei)

Ist der Name der Datendatei ohne Pfadangabe. Falls die Datendatei eine Excel-Tabelle ist, kann hinter dem Dateinamen der Tabellenname in eckige Klammern geschrieben werden. Bei Excel- und Text-Dateien können anschließend Importoptionen in geschweifte Klammern geschrieben werden. Beispiel: test.xls [Tabelle 1] 2 (siehe auch Daten=>Datenaustausch (Seite) und XYSetDataSource).

DatasetName (Datensatz-Name)

Ist der Name des Datensatzes der erzeugt werden soll.

x-Channel

Ist der Name des x-Kanals.

y-Channel

Ist der Name des y-Kanals.

z-Channel

Ist der Name des z-Kanals. Wenn diese Spalte nicht leer ist, wird ein x/y/z-Datensatz erzeugt.

Functions (Funktionen)

In diese Spalte können Funktionen eingetragen werden, die nach Erzeugung des Datensatzes aufgerufen werden. Falls Sie mehrere Funktionen aufrufen möchten, können Sie die Funktionsaufrufe in weitere Spalten der Exceltabelle schreiben (Spalte 10, 11,…).

Liste der Funktionen

styleorder

styleorder("default")

Mit dieser Funktion können Sie die Datensatzstile der Seite setzen.

Stilfolgen werden über den Befehl Extras=>Datensatz-Stilfolge Konfiguration festgelegt. Wenn auf der Dokumentseite z. B. 4 Kanäle (Leistung, Moment,…) aus 5 verschiedenen Datendateien dargestellt werden, können Sie festlegen, dass die Datendateien über die Farbe der Kurven unterschieden werden sollen und die Kanäle über die Markerart.

Der Funktionsaufruf sollte immer als letzter Funktionsaufruf der Seite verwendet werden.

#PageName Function
Seite 1  
Seite 1  
Seite 1 styleorder(„default“)
Seite 2  
Seite 2  
Seite 2 styleorder(„default“)

style

style(ssStyleName)
style(ssStyleFile, ssStyleName)

Beispiel: style(„3D-be“)

Diese Funktion wird hauptsächlich für 3D-Datensätze verwendet. Für x/y-Datensätze ist die Funktion styleorder() praktischer, da man mit ihr alle Datensatz-Stile einer Seite mit einem Aufruf setzen kann.

xy_legendtext

xy_legendtext(ssText)

Setzt den Text für eine Legende.

xy_akimaspline

xy_akimaspline()
xy_akimaspline(nPoints)
xy_akimaspline(nPoints, bIncludeOrgPoints)

Beispiel: xy_akimaspline(100)

xy_fitspline

xy_fitspline()
xy_fitsplinespline(nPoints)
xy_fitspline(nPoints, SmoothFactor)

Beispiel: xy_fitspline(100)

Eigene Funktionen für die Datensatztabelle

Mit diesem Abschnitt brauchen Sie sich nur beschäftigen, wenn Sie eine Funktion, wie die Funktion styleorder schreiben möchten. Die vorhandenen Funktionen sind in der Datei dx-fkts.ic definiert. Ihre Funktionen sollten Sie in eine andere Datei schreiben z. B. MyDataExchangeFunctions.ic und im UniPlot\AutoLoad-Verzeichnis speichern.

Beispiel:

// styleorder(ssStyleOrderName)
def DXFUNC_styleorder(hInfo, nArgs, svArgs)
{
    hPage = MapLookup(hInfo, "hPage");
    auto_AssignStyleOrder(hPage, svArgs[1]);
}

Die Funktionen beginnen mit der Buchstabenfolge DXFUNC_ gefolgt vom Namen wie er in der Datensatztabelle erscheinen soll. Beispiel: Möchten Sie eine Funktion XY_MAX() in der Datentabelle verwenden, muss die UniScript-Funktion DXFUNC_xy_max(...) heissen.

Die Funktion hat 3 Parameter hInfo, nArgs und svArgs.

hInfo ist die Zugriffsnummer einer Map mit Informationen zu der Zeile an der das Datenaustausch-Programm gerade arbeitet. Dies sind die Zugriffsnummer des Dokuments hDoc, der Seite hPage, des Diagramms hLayer und die Zugriffsnummer des erzeugten Datensatzes hData.

hDoc = MapLookup(hInfo, "hDoc");
hPage = MapLookup(hInfo, "hPage");
hLayer = MapLookup(hInfo, "hLayer");
hData = MapLookup(hInfo, "hData");

nArgs gibt die Anzahl an Argumenten an, mit der die Funktion in der Datensatztabelle aufgerufen wurde. Steht in der Datensatztabelle z. B. der Aufruf styleorder("default2") erhält nArgs den Wert 1.

svArgs enthält die Argumente des Aufrufs als Stringvektor: Beim Aufruf styleorder("default2") ist svArgs = ["default2"].

id-962442