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:
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.
Einrichtung¶
Schalten Sie mit dem Befehl Extras=>Benutzerschalterleiste einrichten die drei Befehle
ein.
Beschreibung der Befehle¶
Datensatztabelle exportieren¶
Vorgehensweise:
- Öffnen Sie ein vorhandenes UniPlot-Dokument.
- Wählen Sie den Befehl Datensatztabelle exportieren aus der Benutzer-Schalterleiste.
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:
- 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_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