INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Agilent 34970a und Kurvennamen bei Diagramm



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

11.02.2007, 15:02 (Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2007 15:08 von Schnake.)
Beitrag #1

Schnake Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jan 2007

6.00
2006
kA

30171
Deutschland
Agilent 34970a und Kurvennamen bei Diagramm
Hallo,

erstmal Kompliment an dieses Forum hier, es hat mir schon das ein und andere mal gut geholfen.
Ich bin ein blutiger Anfänger in Sachen LV Programmierung und mein erstes Projekt ist das Einlesen und Darstellen von Spannungswerten des Datenloggers Agilent 34970a via serieller Schnittstelle.
Bevor ich es vergesse, leider haben wir nur LV 6.1 im Institut.

1) Ich kann zwar auf das Gerät zugreifen leider lese ich aber nicht die Werte aus die eingestellt sind. Hat jmd. Erfahrtung mit diesem Gerät oder kennt das Problem? (anbei das SubEinlese-VI)

2) Ich will alle 20 Kanäle in einem Diagramm darstellen und zwar als Funktion der Zeit und des Datums. Es klappt auch ganz gut allerdings stürzt LV ab sobald ich den Scrollbar als sichtbar einstelle und dann das Progr. starte. Die Fehlermeldung ist : Plotsup2.cpp Zeile 306.
Wenn ich den Scrollbar erst während des Laufen des Progr. sichtbar mache klappt es.

3) Nun soll das Programm so gestrickt sein, dass man für die einzelnen Kanäle Namen eingeben kann und diese dann auch im Diagramm als Legende anstatt Kurve 1, Kurve 2, .... stehen.
Wie kann das am besten realisieren? (anbei das Diagramm2-Vi)
Mit dem Eigenschaftsknoten kann ich irgendwie nur den Namen der ersten Kurve ändern.

Schon mal vielen Dank im Vorraus, ich weiß ist nicht grad wenig aber ich bin auch für Tipps die nicht alle Fragen betreffen dankbar.


Angehängte Datei(en)
Sonstige .vi  Diagramm2.vi (Größe: 25,95 KB / Downloads: 238)

Sonstige .vi  SubEinlese.vi (Größe: 47,55 KB / Downloads: 226)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.02.2007, 17:10
Beitrag #2

Schnake Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jan 2007

6.00
2006
kA

30171
Deutschland
Agilent 34970a und Kurvennamen bei Diagramm
zu 3) hab ich gerade herausgefunden wie es funktioniert.

Eigenschaftsknoten mit ActPlot

anbei das neue VI.


Angehängte Datei(en)
Sonstige .vi  Diagramm2_1.vi (Größe: 42,83 KB / Downloads: 190)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.02.2007, 19:12
Beitrag #3

lynx Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Dec 2006

7.1
2005
kA

90478
Deutschland
Agilent 34970a und Kurvennamen bei Diagramm
Hallo Schnake,

Zum Einlesen der Daten:
Mir ist vor allem aufgefallen, dass Du beim Wandeln des Strings in ein Array zwar Floating Point angibst, dann aber trotzdem wieder in ein Array aus Strings hineinschiebst.
Du solltest als Standardwert ein 1D-Double-Array vorgeben und als Formatierungssyntax %.;%f eingeben. Das Gerät wird wie üblich als Dezimaltrenner einen Punkt setzen; dies berücksichtigst Du mit dem%. Befehl. Dieser schaltet auf das entsprechende Zeichen um.
   

Generell solltest Du vermeiden, das Gerät ständig zu öffnen, es zu initialisieren und wieder zu schließen. Hauptsächlich benötigt besonders das Reset unnötig Zeit, zum Anderen sind evtl. eingebaute Relais auch nicht so begeistert.
Mein Vorschlag: Öffne das Gerät vor der Schleife, (genauso wie auch die anderen Einstellungen am Plot vor der Schleife geschehen sollten), führe die geöffnete Resource in der While-Schleife weiter und schließe die Schnittstelle am Ende, wenn die While-Schleife terminiert.
   

Zum Graphen: Ich würde das Einstellen der Plot-Legende außerhalb der FOR-Schleife erledigen (am Besten mit einer extra FOR-Schleife, die einmal ausgeführt wird, ebenfalls in der Initialisierung).

Ich kann Dir leider keine VIs geben, da meine Version nur bis 7.0 runter speichern kann Grrr, deshalb nur ein Screenshot.

gruß
lynx
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2007, 18:43
Beitrag #4

Schnake Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Jan 2007

6.00
2006
kA

30171
Deutschland
Agilent 34970a und Kurvennamen bei Diagramm
Hallo lynx,

vielen Dank für die schnelle Hilfe. Die Initialisierung der Hardware sowie den Eigenschaftsknoten des Diagramms hab ich vor die Schleife gesetzt. Da das Programm unter Umständen auch mal 1 Woche am Stück laufen soll ist es eine gute Idee auf die Hardware zu achten sowie nur die benötigen Kommunikationsfunktionen mit in die Schleife zu ziehen.
zu meiner Frage 1) habe ich herausgefunden, dass die eingelesen Werte noch skaliert werden müssen (d.h. mit einem Faktor multipliziert).
In meiner Anwendung ist das für Ch.1-10 Faktor 3.2 und für Ch.11-20 Faktor 6.5.
Keine Ahnung warum aber es läuft.
Es gibt auch ein VI in hp34970a.dll welches den Scan konfigurieren und daher auch mit einem gain versehen kann.
Habe ich auch versucht aber es gab nur Fehlermeldungen.

Es läuft jetzt grad ein erster 12 Std. Testrun.

Nochmal Thanx

Schnake

' schrieb:Hallo Schnake,

Zum Einlesen der Daten:
Mir ist vor allem aufgefallen, dass Du beim Wandeln des Strings in ein Array zwar Floating Point angibst, dann aber trotzdem wieder in ein Array aus Strings hineinschiebst.
Du solltest als Standardwert ein 1D-Double-Array vorgeben und als Formatierungssyntax %.;%f eingeben. Das Gerät wird wie üblich als Dezimaltrenner einen Punkt setzen; dies berücksichtigst Du mit dem%. Befehl. Dieser schaltet auf das entsprechende Zeichen um.
[attachment=31542:Einlesen.jpg]

Generell solltest Du vermeiden, das Gerät ständig zu öffnen, es zu initialisieren und wieder zu schließen. Hauptsächlich benötigt besonders das Reset unnötig Zeit, zum Anderen sind evtl. eingebaute Relais auch nicht so begeistert.
Mein Vorschlag: Öffne das Gerät vor der Schleife, (genauso wie auch die anderen Einstellungen am Plot vor der Schleife geschehen sollten), führe die geöffnete Resource in der While-Schleife weiter und schließe die Schnittstelle am Ende, wenn die While-Schleife terminiert.
[attachment=31543:Einlesen_Block.jpg]

Zum Graphen: Ich würde das Einstellen der Plot-Legende außerhalb der FOR-Schleife erledigen (am Besten mit einer extra FOR-Schleife, die einmal ausgeführt wird, ebenfalls in der Initialisierung).

Ich kann Dir leider keine VIs geben, da meine Version nur bis 7.0 runter speichern kann Grrr, deshalb nur ein Screenshot.

gruß
lynx
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: