Author Topic: Using Keysight 2000 scope as datalogger  (Read 367 times)

0 Members and 1 Guest are viewing this topic.

Offline tchicago

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
Using Keysight 2000 scope as datalogger
« on: October 24, 2020, 05:31:37 am »
Hello, All,

From time to time, I need to log some slowly changing processes, like discharge curves of the battery, etc. Although the dynamic range of scope is not that good, using oscilloscope for this is still particularly good because it allows to set up the range for all inputs so that it will be measuring exactly what I need. I figured out that my Keysight 2014A oscilloscope has a USB device connector, i.e. can be connected to USB host on a PC. Ideally, I'd just want to initiate reads of the current ADC value from the specific channel of the scope, repeating the reads as necessary. That's all. I can write some scripts, C#, C++, Excel macros, whatever.

So I connected the scope to PC using USB, and then found some software DVD image from Keysight with all kinds of software on it. I tried installing some from there, like BenchVue, IVI, etc, and they are all super-complicated software packages built of dozens of components, most of which require additional license to operate.

I learned that there is some industry standard SCPI interface, that can probably give me what I need. However, I'm not sure which exact parts of those huge software packages I need to install, and how to use its API.

If anyone has already investigated this path, could you advise what's the minimum software setup for this? Maybe there is some guide and examples already. Just in case, my scope does not have a LAN port, only non-host USB on the back.

(I know that data logging into the USB Flash drive is another possibility, but for many reasons, I want to be in control of the process from the PC side)
 

Offline petemate

  • Regular Contributor
  • *
  • Posts: 100
Re: Using Keysight 2000 scope as datalogger
« Reply #1 on: October 25, 2020, 02:17:15 am »
I would say that minimum effort is python with PyVISA to control your device. You basically connect your scope using USB/gpib/rs232/lan/whatever and send commands in plain text using the PyVISA modules.

A scope doesn't return "one" ADC value from each channel. It reads hundreds or thoudsands of times for each trigger and stores those values. You should be able to send a command to download those to the computer running your script(using a command like ":waveform:data?") or save them on e.g. an usb stick in the scope(using a command like ":save:waveform"). You'll need to consult the programming manual(https://www.keysight.com/upload/cmc_upload/All/2000_series_prog_guide.pdf) to see all the features, but there are many. It will take some time to understand how the syntax work and how to work with it, but its not that hard.

Edit: Link to pyvisa with many examples and helpful tutorials: https://pyvisa.readthedocs.io/en/latest/
 

Offline Kibabalu

  • Contributor
  • Posts: 14
  • Country: de
Re: Using Keysight 2000 scope as datalogger
« Reply #2 on: October 25, 2020, 04:39:26 am »
have a look at

https://github.com/sgoadhouse/msox3000

It works also for my DSO-X 2000 series model.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf