Versuchsingenieure / Produktionsingenieure (m/w)
Prozessentwicklung, Versuchswesen in den Bereichen Messtechnik, Elektronik, Getriebetechnik
über Steinbach Partner Executive Consultants
Region Stuttgart und Unterfranken
Test Engineer (m/w)
Durchführung und Analyse von Versuchen an PKW-Innenraumkomponenten
Johnson Controls Automotive Experienc über Scheerer Werbung GmbH
Burscheid
DIAdem-Version: 11 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 2010
Beiträge: 3
Registriert seit: Jul 2010
Kennliniendiagramm per Script
Hallo zusammen,
ich bin ein Neuling in DIAdem und suche den Einstig in die Diagrammerstellung per Script. Ich möchte gerne einen Carpetplot erzeugen, was mir mit den Standartfunktionen von View und Report nicht so gelungen ist, wie ich es mir vorstelle. Das Problem ist, dass DIAdem alle Werte interpoliert, ich aber die Interpolation vermeiden will, um die werte in Farbbalken darstellen zu können. Ich habe es dann per Script versucht, kann aber im Reporter kein Kennlinien bzw. Konturdiagramm erzeugen. Mein Script dazu habe ich unten angefügt. Das Problem ist, dass der Befehl [D3CCurveCDType ="Simple"] nichts weiter bewirkt. Kann mir zu meinem Problem jemand weiter helfen?
Schöne Grüße an das Forum vom Neuling [/code]
Call PicDelete() 'Deletes all objects
Call GraphObjNew("3D-Axis","New_3DAxis1") 'Creates a new 3D axis system
Call GraphSheetRename("Blatt 1","Kontour-Diagramm") 'Benennt Blatt 1 um in neuen Namen
Call GraphObjNew("3D-Curve","New_Curve") 'Creates a new curve
Call GraphObjOpen("New_Curve") 'Opens the curve object
D3CCurveCDType ="Simple" 'Kennliniendiagramm erzeugen
D3CCHNX ="[2]/[1]" 'Defines the x-channel Gruppe 2 Kanal 1 : Tagesdatum
D3CCHNY ="[2]/[2]" 'Defines the y-channel Gruppe 2 Kanal 2 : Stunde
D3CCHNZ ="[1]/[4]" 'Defines the z-channel Gruppe 1 Kanal 4 : Zulufttemperatur
D3AxisBottom ="15" 'Abstand des Diagramms vom unteren Rand
D3AxisLeft ="10" 'Abstand des Diagramms vom linken Rand
D3AxisRight ="10" 'Abstand des Diagramms vom rechten Rand
D3AxisTop ="10" 'Abstand des Diagramms vom oberen Rand
D3AxisRotateX ="90" 'Bestimmt die Neigung des 3D-Achsensystems zur XY-Ebene in Grad so, dass X-Achse nach oben zeigt.
D3AxisRotateZ ="270" 'Bestimmt die Drehung des 3D-Achsensystems um die z-Achse in Grad so, dass Z-Achse senkrecht zum Betrachter steht.
D3AxisAutoScal(1)="Yes" 'skaliert in X-Achse (1) Hauptstriche automatisch
D3AxisMiniTick(1)="0" 'skaliert 0 Zwischenstriche pro Tag
D3AxisAutoScal(2)="no" 'skaliert in Y-Achse (2) Hauptstriche nicht automatisch, deshalb folgende Definitionen
D3AxisBegin(2) ="0" 'Beginn der Y-Achse bei 0 Uhr
D3AxisEnd(2) ="24" 'Ende der Y-Achse bei 24 Uhr
D3AxisTick(2) ="2" 'Beschriftung bei jeder 2. Stunde
D3AxisMiniTick(2)="1" 'skaliert 1 Zwischenstrich, je Stunde
D3AxisAutoScal(3)="Yes" 'skaliert in Z-Achse (3) Hauptstriche automatisch
'folgende Funktionen sind noch nicht funktionsfähig (?)
'D3CCurveLegDrawT ="yes" 'Bestimmt, ob DIAdem die Legende für die ausgewählte Kurve anzeigt
'D3LegPAll ="yes" 'Bestimmt, ob DIAdem alle Farben der Farbpalette in der Legende berücksichtigt
'D3CCurveCDType ="Differential" 'Parameter "Simple" bzw. "Differential" hat z.Z. keinen Einfluss
'D3CurveInterp="Yes" 'Parameter "Yes" oder "No" hat z.Z. keinen Einfluss auf die Darstellung
Call GraphObjClose("New_Curve") 'Closes the curve object
Call GraphObjClose("New_3DAxis1") 'Closes the axis object
DIAdem-Version: 11.1 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 2010
Beiträge: 1
Registriert seit: Jul 2010
RE: Kennliniendiagramm per Script
Hallo an alle,
bin ebenfalls Neuling und unterstütze Andreas Biesinger bei seiner Arbeit. Zur Erläuterung des Problems folgendes :
beabsichtigt ist eine DIAdem-Report-Darstellung in ähnlicher Weise wie bei LabVIEW möglich. Dort sind in einem Carpet-Plot auf der x-Achse die Tage und auf der y-Achse die Stunden aufgetragen. Die Farbbalken gehen jeweils parallel zur Y-Achse und die Farbe signalisiert die Größe der in Abhängigkeit von der Zeit darzustellenden Funktion, z.B. einer Temperatur. Dabei soll der Farbverlauf nicht kontinuierlich sein, sondern von Stunde zu Stunde springen, ebenso von Tag zu Tag. Ein Beispiel für eine solche Darstellung ist im beigefügten Bild zu sehen.
Ob der im Beitrag von Andreas Biesinger angedeutete Weg zum Ziel führt, ist nur eine Vermutung. Vielleicht gibt es ja einen direkteren Weg, der analog läuft wie im LabVIEW. Ich bitte um entsprechende Hinweise.
DIAdem-Version: 11 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 2010
Beiträge: 3
Registriert seit: Jul 2010
RE: Kennliniendiagramm per Script
Hallo Voyager,
vom Prinzip her ist es das, in Excel beispielsweise lässt sich sowas ja auch als Balkendiagramm realisieren. Im Falle von DIAdem allerdings kann ich bei 2D-Matrix ja keinen weiteren Kanal auswählen, ausser den x und y Kanal. Und wenn ich es über das Kontourdiagramm versuche, dann werden mir die Werte in x und y Richtung interpoliert was zu einer falschen Darstellung führt.
Wie hast du das gemeint mir der "angegebenen Farbpalette", kann ich die einem Kanal zuordnen? Ich möchte die Werte eines Kanals in einer Farbskala wiedergeben.
DIAdem-Version: 2010 (11.2), 2011 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 1995
Beiträge: 171
Registriert seit: Nov 2008
RE: Kennliniendiagramm per Script
Hallo Andreas,
in der Beispielgalerie gibt es ein "Farbiges Streudiagramm". Hier liegen die Daten als jeweils ein X- und Y-Kanal, die Z-Werte als Matrix vor.
Falls eure Temperaturwerte ebenfalls als Matrixwerte vorliegen, müsste diese Art der "Draufsicht auf ein gefärbtes Balkendiagramm" doch passen.
Sollten die Werte als Tripel vorliegen (nur 3 gleichlange Kanäle) müsste vorher auf eine Matrix umgerechnet werden (Konvertierung oder Klassierung).
DIAdem-Version: 11 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 2010
Beiträge: 3
Registriert seit: Jul 2010
RE: Kennliniendiagramm per Script
Hallo Voyager,
ich habe mir nun parallel noch Hilfe direkt bei NI geholt. Es ist genau so wie du gesagt hast. Zunächst muss hierfür eine Matrix aus den beiden Zeitkankälen (Tage und Stunden), sowie dem gewünschten Wertekanal erzeugt werden. Mit diesen Kanälen erzeugt man ein 2D-Matrix Diagramm (im Report Modul), wobei die Breite für die x und y Werte jeweils auf Null gesetzt werden müssen. Dann ist das Carpetdiagramm in den Grundzügen bereits erstellt. Etwas Kosmetik ist natürlich dann immer noch möglich. Das Diagramm mit einem Beispieldatensatz habe ich beigefügt.
Vielen Dank nochmals für deine Hilfe,
Andreas Biesinger