Bench Logger – User Manual

LANUSBZadig / driver setupSerialSimulatorProfilesCSV → MD Visor

Bench Logger is a Windows WPF application for text-based SCPI measurements from laboratory instruments. Connect over LAN, USBTMC with WinUSB, or a serial COM port; values are shown live and written to CSV. A simulator is available for trying the workflow without hardware.

Quick start
  1. Start the application and select LAN on the Instrument page.
  2. Enter the instrument IP address and port, usually 5555, or use Discover LAN.
  3. Select the matching instrument profile and click Connect.
  4. On Measurements, select quantities, set the interval, and choose a CSV path.
  5. Optionally set acquisition limits, then click Start preview.
  6. When the run ends, inspect the CSV file and run log in the selected folder.

Application sections

SectionPurpose
InstrumentLAN, USB, Serial and Simulator modes, connection settings, discovery, profile, instrument identity and explicit profile commands.
MeasurementsQuantity selection, interval, CSV file, sample and duration limits, and stop-on-INVALID.
LiveCurrent values, state, sample/error counts, chart, Pause/Resume and Stop.
SCPI ConsoleManual text query and raw response history for diagnostics.
RecipesSave and reload a profile, selected quantities, interval, CSV path and acquisition limits.
ProfilesLoaded profiles and import of a custom JSON profile.
SettingsTheme, auto reconnect, retry limits, file rotation and run log path.

LAN uses a raw SCPI TCP socket. LXI discovery helps find instruments; it does not add VXI-11 or HiSLIP transport support.

First LAN connection

  1. Make sure the computer and instrument are on the same network.
  2. Choose LAN under Instrument → Transport.
  3. Enter the IP address directly. The usual port is 5555; follow the instrument manual if it differs.
  4. If the address is unknown, click Discover LAN, select a result and click Connect.
  5. After connecting, Bench Logger sends *IDN? and matches the response to a profile.

If no profile matches, check the actual identity response in the console and adjust idn_contains in the profile.

USB connection

The USB transport talks to USBTMC instruments through WinUSB. A USB cable alone is not enough: Windows must bind the instrument's USBTMC interface to that driver. Devices that appear as a COM port use Serial instead.

  1. Connect and power on the instrument. If WinUSB is not installed for it, follow the Zadig steps below.
  2. In Instrument, choose USB and scan for USB instruments.
  3. Select the device and click Connect. Check the identity and selected profile.
  4. Select your readings under Measurements, choose a CSV path and start.

Set up WinUSB with Zadig

Zadig installs a generic USB driver for a selected device. The example below uses a Rigol multimeter listed as DM3000 SERIES. Your model name and USB IDs may differ.

1. Identify the instrument

Open Windows Device Manager after connecting the instrument. In this example it appears under Other devices with a warning icon. Check its name and, under Properties → Details → Hardware Ids, its vendor/product IDs.

Device Manager: DM3000 SERIES under Other devices with a yellow warning icon
Before installation: Windows has no working driver for this DM3000 SERIES device.

2. Select that device and WinUSB

Download Zadig from its official website and allow the administrator prompt for driver installation. Choose Options → List All Devices if the instrument is not listed. Select the instrument, verify the USB IDs, and select WinUSB on the right side of the arrow.

Zadig: DM3000 SERIES selected, USB ID 1AB1 09C4, current driver NONE and target driver WinUSB
This example uses VID 1AB1 / PID 09C4. These identify the illustrated device, not every supported instrument.

Click Install Driver (or Replace Driver when replacing an existing driver) and wait for completion. Apply this only to the intended instrument interface. Keep the serial driver for COM devices; do not select a USB hub, keyboard or mouse. Replacing a vendor driver may prevent the vendor's application from using that device until its driver is restored.

3. Verify and connect

Reconnect the USB cable if necessary and check Device Manager again. The example now appears under Universal Serial Bus devices without the warning icon. Return to Bench Logger, scan in USB mode, select the instrument and connect.

Device Manager: DM3000 SERIES under Universal Serial Bus devices without a warning icon
After installation: the instrument is listed as a USB device.

If you need the previous driver again, use Device Manager's driver selection or reinstall the manufacturer's driver. See the official Zadig guide for the tool's options.

Serial / virtual COM connection

  1. Find the instrument's COM port in Device Manager. Keep its serial or USB-to-serial driver installed.
  2. Choose Serial, enter the port (for example COM3) and set the instrument's baud rate.
  3. The current transport uses 8N1, no handshake and LF-terminated text. The instrument must accept and return text SCPI in this format.
  4. Click Connect, check the profile and select the measurements.

Zadig is for the USBTMC/WinUSB path above, not for converting a serial port into a USBTMC instrument.

Try without an instrument

Choose Simulator, select a profile and connect. Use Measurements and Live to explore selection, timing, plotting and CSV logging. Simulator output is synthetic and does not establish that the same profile works on real hardware.

Selecting measurements and writing CSV

  1. On Measurements, check the quantities to record.
  2. Set the interval in milliseconds. A query cycle may take longer than the requested interval.
  3. Enter a path in CSV output file or click Browse….
  4. If the path is empty, a timestamped file is created in Documents\BenchLogger.
  5. Click Start preview. Every completed cycle is flushed to CSV immediately.

The CSV contains profile and instrument metadata, UTC timestamp, elapsed time, sample number, GOOD/INVALID status and profile columns.

Process the CSV in MD Visor

CSV recording happens during acquisition: choose a path under Measurements before starting. Every completed measurement cycle is written and flushed to disk, so no separate export step is needed after the run. Click Stop to finish and close the recording before processing it.

The file uses UTF-8, commas between fields and a decimal point for numbers. Lines beginning with # contain profile and instrument metadata. The table starts with timestamp_utc,elapsed_s,sample,status, followed by the selected measurements' profile-defined column names. Units come from the instrument profile; they are not stored as a separate CSV row.

timestamp_utc,elapsed_s,sample,status,voltage_dc
2026-09-17T10:00:00.0000000Z,0,1,GOOD,5.012
2026-09-17T10:00:01.0000000Z,1,2,GOOD,5.014
2026-09-17T10:00:02.0000000Z,2,3,INVALID,

This abbreviated example shows the data table. The status column describes the whole measurement cycle (one CSV row):

GOOD confirms successful reading and parsing. It does not certify measurement accuracy, calibration or compliance with your expected range. An instrument's numeric overload or error code can still be parsed as a number; interpret such codes according to its programming manual.

When processing the file in MD Visor or another tool, inspect status and treat empty values as missing data. Enable Stop on INVALID if acquisition should stop after writing the first invalid cycle.

  1. Open MD Visor and choose Create Report from CSV.
  2. Select the CSV recording. MD Visor skips metadata comment lines beginning with #; use the comma delimiter if you need to choose it explicitly.
  3. For a time plot, choose elapsed_s as X and a measurement column such as voltage_dc as Y. Set axis labels and units to match the profile and inspect missing or invalid readings.
  4. Add charts, data tables and your description of the instrument, test conditions and conclusions to the report.
  5. Save the document and export to PDF, DOCX or HTML for sharing. Keep the original CSV alongside the report for later reprocessing.

The handoff uses the saved CSV file: open it in MD Visor yourself after the measurement. If file rotation or reconnect created several files, include the relevant recording segments. The same CSV can also be processed in a spreadsheet or an analysis script.

Acquisition limits

A limit is evaluated after the final cycle has been written to CSV.

Pause, Resume and Stop

Auto reconnect for LAN and serial runs

  1. Enable Auto reconnect in Settings.
  2. Set the delay and, if desired, the maximum consecutive attempts. 0 means unlimited.
  3. Choose a run log path with Browse….

After a failure, the current CSV is closed, the error is logged, the connection is restored, and acquisition continues in a new file named with -reconnect-YYYYMMDD-HHmmss. The run log records start, failures, reconnects, Pause/Resume, Stop and completion timestamps.

SCPI Console

Use the console for safe query commands such as *IDN? or a profile measurement query. It is disabled during acquisition so it cannot disturb query order. Responses and recent commands remain in the history.

Instrument profiles

See the step-by-step profile guide for the JSON structure, complete examples, parsers, setup commands and controls.

A profile defines instrument matching, SCPI queries, response parsers, units and CSV columns. ESP32 legacy v1 profiles are supported; v2 adds number/csv parsers and setup commands.

Imported profiles are saved to the user catalog and loaded again on the next start. The source JSON file is never modified.

Profile Editor v2

Open the Profile Editor v2 to import v1/v2 JSON, load predefined Rigol and ET/LCR profiles, edit query/parser/setup fields, and export v2 or legacy ESP32 JSON.

Before a legacy export, the editor warns about ESP32 limits and any CSV parser or setup command that cannot be preserved.

Recipes

  1. Open Recipes and enter a recipe name.
  2. Set the profile, quantities, interval, CSV path and limits.
  3. Click Save recipe.
  4. Select it later and click Load recipe.

Run log and file rotation

The run log is a tab-separated file with UTC time, event and details. The default rotation limits are 50 MB for CSV and 10 MB for the run log; both can be changed in Settings. Archived files receive a timestamp suffix.

Troubleshooting