LabVIEWForum.de
Kontinuierliche Temperaturerfassung (Agilent 34970A) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Kontinuierliche Temperaturerfassung (Agilent 34970A) (/Thread-Kontinuierliche-Temperaturerfassung-Agilent-34970A)

Seiten: 1 2


RE: Kontinuierliche Temperaturerfassung (Agilent 34970A) - dbuckl - 03.02.2014 13:49

Hmm ja gut es war nicht nur das Formatieren ich habe halt ausprobiert wie ich am besten Werte für die X-Achse bekomme und auch etwas mit der relativen Zeit herumgespielt, aber um des dann zu formatieren hab ich schon auch bissl gebraucht Confused hab des mit Match Pattern und Scan from String gemacht, wusste nich das des so einfach geht
So ich habs jetzt so gemacht wie in dem Beispiel aus dem anderen Thema aber irgendwie erhalte ich noch immer keinen Graphen. Die Werde die mir an den Achsen angezeigt werden sind aber soweit eig richtig Undecided


RE: Kontinuierliche Temperaturerfassung (Agilent 34970A) - dbuckl - 04.02.2014 08:33

so habs hinbekommen danke für die Hilfe! Blush


RE: Kontinuierliche Temperaturerfassung (Agilent 34970A) - GerdW - 04.02.2014 08:51

Hallo domi,

so ein Forum lebt ja davon, das Lösungen präsentiert werden und nicht nur der Satz "Jetzt läuft's!"…


RE: Kontinuierliche Temperaturerfassung (Agilent 34970A) - sthamann - 05.02.2014 23:49

Hi Domi

nur kurz zur Ergänzung, falls später einmal jemand den Beitrag liest:
Zitat:*RST
CONF:TEMP TC,K,(@<Kanalnummer>)
ROUT:SCAN (@<Kanalnummer>)
FORM:READ:TIME ON
FORM:READ:TIME:TYPE (ABS|REL)
INIT
{
READ?
}
ABOR

vom Ansatz ist schon gut, nur ist der Abort Befehl eigentlich sinnlos, da nach dem Reset (*RST) der Scan Count auf "1" steht und die Scanliste nur einmal abgearbeitet wird.
Ein weiterer Stolperstein verbirgt sich hinter dem "Read?" Befehl. Du startest deine Messung mit INIT und startest danach nochmal die Messung und bekommst durch das Read? auch die Daten nach Abschluss der Messung (somit werden zwei Messungen gestartet). Das Problem entsteht dadurch, dass die aufgenommenen Daten der ersten Messung (gestartet durch den INIT Behl) später nicht mehr ausgegeben werden, da das Read? eine neue Messung startet und die alte Messung überschreibt (der Zeiger im Speicherregister wandert an eine neue Stelle). Eine Messung geht dir somit verloren und deine Messzeit vordoppelt sich somit.

Kurzfassung: Read? = Init + Fetch?

Mein Vorschlag daher:
*RST
CONF:TEMP TC,K,(@<Kanalnummer>)
ROUT:SCAN (@<Kanalnummer>)
FORM:READ:TIME ON
FORM:READ:TIME:TYPE (ABS|REL)
loop{
READ?
}(break)

oder für eine kontinuierliche Messung:

*RST
CONF:TEMP TC,K,(@<Kanalnummer>)
ROUT:SCAN (@<Kanalnummer>)
FORM:READ:TIME ON
FORM:READ:TIME:TYPE (ABS|REL)
Trig:coun inf // scan count auf continuous bzw infinity
init // start der nie endenden Messung
loop{
//kurze Wartezeit, da ein ständiges Polling nicht sehr sinnvoll ist
x=data:poin? // x ist vorbei nur ein variable und gibt die bereits aufgezeichneten Datenpunkte im Speicher zurück
R? x
}(ABOR) // die Messung wird erst am Gerät mit dem abort Befehl beendet (einmal danach noch die restlichen Daten auslesen) .

Ich hoffe das hilft dir ein wenig weiter (immerhin hast du somit deine Messzeit halbiert) Smile

Gruß SH


RE: Kontinuierliche Temperaturerfassung (Agilent 34970A) - dbuckl - 07.02.2014 09:05

Blink gut das ich nochmal reingeschaut hab, vielen Dank für die Hilfe sthamann, das werde ich sofort ändern Big Grin

Gruß Domi


RE: Kontinuierliche Temperaturerfassung (Agilent 34970A) - sthamann - 07.02.2014 17:54

Bei Fragen einfach nochmal anrufen Smile
Wir helfen da gern weiter.

PS: viele Beispiele findet man auch im Programmierhandbuch des 3497xA:
http://cp.literature.agilent.com/litweb/pdf/34972-90901.zip