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.
Neueste Kommentare