RoadTest: RoadTest Keysight BenchVue
Author: michaelkellett
Creation date:
Evaluation Type: Independent Products
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: VB, C#, Python, LabView, MATLAB
What were the biggest problems encountered?: Licensing issues and unable to co-operate with some non Keysight equipment
Detailed Review:
I started the review with the intention of building a test system using the:
Keysight 34461A DMM,
Keysight 34972A Data Acqusiition/Switch,
Keysight DSOX3024 scope,
Rigol DP832A Power Supply,
Espec SH262 Environmental Chamber.
As will become clear things did not go quite to plan.
The basic BenchVue software which provides remote control and limited data logging features is a free download. Depending on how you get it from the Keysight web site it may or may not be bundled up with the Keysight IO Libraries Suite. The IO Libraries are required for it to work although you can install BenchVue without. I did this and had to ask on E14 why it didn't work as expected.
The download is huge and the install process, while fairly automatic, is very busy with vast numbers of bits and pieces being installed. Occasionally very obscure questions are asked (like to do with NI VISA libraries and the correct answers are far from obvious - I just guessed which bit me later.
Once the basics were up and running I attempted to install the licenses which failed,
It took a while to resolve this but after being given some data dumps from the computer Kesysight were able to resolve the problem and send some working codes. BenchVue has a built in feature to send problem report emails with the log data but this is only capable of functioning if the host computer has access to email. For security the test computer has no such access which made life a bit more difficult.
Off we go, and BenchVue can find the network instruments but not the USB connected scope. After a while I gave in and asked the nice man at Keysight who replied:
It is normal for you not to be able to create a manual USB interface since that is supposed to be automatic.
The first step is to make sure Connection Expert can see it. If it can’t, BV won’t see it either. We use the Instrument Discovery Service provided by Keysight IO Libs to locate the instruments.
If Device Manager sees the scope (the audible sound when you plug it in), CE should pick it up very soon after that. Do you also have NI IO Libs installed? If so, try uninstalling VISA Shared Components using Control Panel -> Programs and Features, then do a “Repair” (Uninstall, select repair) on Keysight IOLS.
It turned out the the PC did have NI IO Libraries installed - so I followed the instructions, which worked, and the scope became detectable.
So the first thing you can do with BV and three instruments is to show them all on the same PC screen:
Unless you have a 4k monitor this mode of operation isn't very useful (especially for the scope) and you'll need to work mainly on one thing at a time.
Keysight DSOX3024 scope
The biggest disappointment is that you can't control everything on the scope from BenchVue. This means that for several potential applications BV is just no use. For example - you might want the scope in a hazardous area and it would be nice to be able to have remote control - BV can't do this because it doesn't replicate the scope front panel exactly. A second downside of this failing is that you need to learn a whole new interface - so you go from being able to drive the instrument quite well to wasting time hunting for the features.
if you select the Trace Data tab you can load the data from the scope and export it to files or to a Keysight Waveform generator. You can't do much with it on screen, the scope has cursors which can be used for measuring but they can't be controlled by BV.
Keysight 34461A DMM
BenchVue can do some nicer things with the DMM - setting up Data Logging or Digitization (two different modes of operation) is quite easy in BV and much easier than doing similar things from the DMM front panel. The screenshot is looking at some mains pickup from the dangling meter leads. The sampling rate is 2.5kHz. My only gripe is that the options don't include triggering from the signal for this DMM - which suggests that some special DMM capability is required for this triggering mode.
I exported some data to a .CSV file which seemed to work fine. It might have been nice to have a few more file export options - I'm not sure why Excel and Word were greyed out.
34972A Data Acqusiition/Switch Unit
This instrument will be less familiar to many E14ers - it's effectively a 6.5 digit DMM with slots for three plug in modules which may be multiplexers or more general control devices. Mine has a 34901A 20 channel multiplexer and a 34907A Multi Function Module. Typically you use the multiplexer to elect different signals to measure and the Multi Function Module to control things. Check out the data sheets on the web for details.
The 34972A is almost never used stand alone like a DMM but is programmed to do useful things by a computer and interfaced via Ethernet or HP-IB.
It isn't that hard to control via SCPI commands:
Sub InitMPX()
Dim sz As String
sz = szTalkMPX("CONF:VOLT:DC 3.3, (@101,102,103,104,105,106)", 1)
sz = szTalkMPX("ROUT:SCAN (@101,102,103,104,105,106)", 1)
sz = szTalkMPX("INIT", 1)
sz = szTalkMPX("FETC?", 1)
frmMain.lblMPXReply.Caption = sz
End Sub
Sub doMPX()
Dim sz As String
Dim szV As String
Dim szSplit() As String
Dim i As Long
sz = szTalkMPX("INIT", 1)
sz = szTalkMPX("FETC?", 1)
szSplit() = Split(sz, ",")
If UBound(szSplit()) = 5 Then
For i = 0 To 5
G_fMPXVolts(i) = Val(szSplit(i))
szV = Format$(G_fMPXVolts(i), "0.00000")
frmMain.lblmpx(i).Caption = szV
G_szMPXVolts(i) = szV
Next i
End If
End Sub
Function szTalkMPX(szMessage As String, fTimeout As Single)
Dim fStartTime As Single
Dim fDeltaTime As Single
G_szMPXReply = ""
fStartTime = Timer
frmMain.wsMPX.SendData szMessage & vbLf
While (InStr(G_szMPXReply, vbLf) = False) And (fDeltaTime < fTimeout)
DoEvents
fDeltaTime = Timer - fStartTime
If fDeltaTime < -100 Then
fDeltaTime = fDeltaTime + 86400#
End If
Wend
If Len(G_szMPXReply) > 1 Then
If Right$(G_szMPXReply, 1) = vbLf Then
G_szMPXReply = Left$(G_szMPXReply, Len(G_szMPXReply) - 1)
End If
End If
szTalkMPX = G_szMPXReply
End Function
The code above was written a while ago and is in VB6 (and is not a complete application) - very similar code can be written in Python, MATLAB, C#, VB.NET and so on. The point of including it is not that I expect anyone to go through it in detail but to show just how easy it is to talk SCPi via TCP/IP over Ethernet. You don't need VISA drivers or SCPI libraries, just any programming language that can do simple string manipulation.
Once you have the data under control of your programming language of choice it's will then be easy to process it, store it or whatever.
BenchVue can control the 34972A without you needing to see quite how it does it although you will still need to understand how it works.
You can set up the channels for range and scanning easily, you can also set the logged units and a scaling factor and offset. This is very quick and I can see it being useful for setting up and for some actual experiments.
BV knows about the MultiFunction Module as well:
You can display data as it is acquired as strip charts or tables - you can set up several of these.:
Data can be exported and there is a reasonable amount of control over the format.
So that's quite nice - BV certainly makes the 34972A much easier to play with - now to see about doing some real work.
A Real Measuring Problem
Quite a bit of my work is designing the electronics and writing the low level software for low power optical gas sensors. Typically I want to test the behavior of the sensor over temperature, humidity and supply voltage ranges. The 34972A is good for the voltage measurements, the DSOX3024 should be able to measure interesting wave-forms. I don't have any Keysight power supplies but the Rigol DP832A accepts SCPI commands over Ethernet. The Environmental chamber is normally allowed to control itself and can be interrogated with a couple of SCPI commands to get temperature and humidity data.
The sensor itself sends out data over a logic level UART interface. The data can be accepted by a PC using a little USB interface which appears as a COM port.
Normally I would code the control for this setup in VB6 or Python, (possibly MATLAB but customers seem to resent paying for it if they need to run my code).
The challenge for BV is to see if we can drive the same setup using the TestFlow option.
Getting TestFlow running is easy enough but the on line help is pretty terrible. Searching on the web and Keysights forum doesn't help much either.
After not too long I've got the 34972A sequence being triggered by TestFlow every 10 seconds but I haven't managed to get the data to go anywhere yet ! By some magic the TestFlow SCPI block can find the Rigol Instruments on the network but it can't find the ESPEC Environmental Chamber. The chamber is on the network OK and can be pinged but I'm assuming that the Rigol instruments do some kind of VISA discovery stuff that helps BV to find them.
The SCPI TestFlow block could do with having a less clever option - I know the IP address and port for the ESPEC, but there is no way for me to enter that information into the block - plug and play is lovely when it works - but it shouldn't be counted on to work. So to talk to the ESPEC I need some kind of driver for it which I don't have.
We won't get too steamed up about that because a bigger problem has appeared. In order to log the data from the device under test I need to get data from a COM port on the PC into BV and the data blob that gets recorded by TestFlow. In his review XXXX pointed out that the external programme block in TestFlow can only send out data to the external code but can't read any back. In my searches of Keysight's forum I found confirmation of this. So this is kills off any possibility of TestFlow controlling the complete test - because it can't read back data from external code and it has no serial interface support of its own, I can't get data from the thing I'm testing.
So there we have it - TestFlow will only work with devices that have drivers it can recognize - this does include some other manufacturers' equipment but obviously is very unlikely to work with data from the device being tested.
If BV were to update its interfaces to other programs so that it supported bidirectional data transfer we would be OK.
Conclusions
The free version of the product could be useful for some applications and is obviously good value if it gives you any benefit at all.
With a bit more work, and perhaps a slight change in mindset, this could be a good product but for serious test purposes it is currently unusable. The lack of any bi-directional interface to external code is quite simply baffling - had there been such an interface I could have worked round all the problems.
The assumption that everything on the network will have VISA drivers and talk SCPI is another big problem - it's broadly true of electronic test equipment but much less so when you move into other areas.
The help files in the product are not very good - for example a little box is showing in the screenshot above that says App State File - mouse over and F1 just gets to the Help content page - searching the obvious places didn't find any explanation.
The 'Scope interface isn't comprehensive enough to be useful - it needs to cover all of the scope functions and ideally to present exactly the same user interface.
The blocky GUI interface in TestFlow is OK for simple things but would get very hard to use for a complex test set up - and as soon as any significant use of external code is required you might as well do the whole thing externally in a more conventional programming language with the benefit of source and revision control, debugging etc.
Finally the licensing issues are pretty awful - licensing should just work.
So I've scored this quite low (except for value for money !).
MK
Top Comments
It's a combination of things:
If BV were only a front panel for Keysight stuff the requirement for VISA drivers wouldn't matter - but the paid for options are aiming at a complete test environment and…
Nice honest review Mike.
I think you did a good job identifying the limitations of the software.
There are many specific applications that a general purpose software package like BenchView will not be fully…