Langzeit-Messprotokoll mit dem DMM4040

Ich reaktiviere ein Tektronix Digital-Multimeter DMM4040. Über seine Netzwerkschnittstelle lassen sich Messungen über längere Zeit protokollieren. Das Programmer-Manual dazu gibt’s hier.

Mit netcat lassen sich SCPI-Befehle an das Digital-Multimeter senden. Diese habe ich dazu vorab in der Datei measure.scpi hinterlegt. Im Beispiel wird die Messung konfiguriert und anschließend mit READ? gestartet.

*CLS
*RST
SYST:REMOTE
DISP:TEXT:CLEAR
FUNC1 "CURR:DC"
FUNC2 "None"
CURR:RANG:AUTO OFF
CURR:RANG 1E-4
CURR:NPLC 1.0
SAMPLE:COUNT 1
TRIGGER:COUNT INF
TRIGGER:DELAY MIN
READ?

Die folgende Kommandozeile sendet die Konfiguration an das Gerät, startet die Messung und versieht jeden empfangenen Messwert mit einem Zeitstempel.

( nc 192.168.1.15 3490 < measure.scpi ) | stdbuf -i0 -o0 -e0 tr ',' '\n' | ts %.s | tee measure.log

Dazu werden mit tr die Ausgaben nachbearbeitet: Jedes Komma wird durch einen Zeilenumbruch ersetzt. Das Kommando ts setzt vor jede Zeile einen Zeitstempel – wegen des Parameters %.s als Unix-Epoch-Time. Der kleine Helfer stdbuf deaktiviert den Zeilenbuffer, so dass Ausgaben unmittelbar auf der Konsole erfolgen. Und tee schreibt die Daten in die Datei measure.log und gibt sie parallel dazu aus.