This home project shows how an old but still powerful VXI mainframe and its integrated measurement devices can be accessed with todays tools and technology.
I have described the wonderful HP75000 here: http://spurtikus.de/basteln/devs/hp75000/index.html
Overall architecture approach
The HP75000 and technologies around it are a complex scenario. After having created several island-like solutions for different GPIB-controlled devices, I tried a new and integrated approach based on the following ideas:
- The „Delegate“ which accesses the VXI mainframe is implemented as a platform independent Java application. My name for the delegate is „VXI Server“.
- Communication between browser (front end) and VXI Server with standard Web technologies, namely REST, HTTP and WebSocket protocol. So the VXI Server can be seen as a Webserver offering access to VXI devices via a REST and a WebSocket interface.
- Implementation of the VXI Server for a USB-based GPIB-Controller. This allows the software to run on any platform which has a USB-Connector. E.g. Notebooks and the Raspberry mini computer.
- By using Standard Web technologies for the server, access to VXI devices is LAN/WLAN based. So every client capable of running a browser can access all VXI devices. This includes also tablets and even smart phones.
The picture below show the overall system architecture.
The picture below shows the software architecture overview. On top there is a standard web browser, running e.g. on a tablet. The tablet is connected via WLAN to a bigger LAN structure where also the VXI Server process runs. The VXI Server looks like a standard web server and serves REST and WebSocket requests. It accesses a GPIB controller using USB.
Some pictures from the ongoing work
HP E1326 Multimeter; Voltage measurement on 2 channels
The two channels are displayed in a graph (graph2d from vis.js) and as seven-segment digits. The channels are coming from two E1345 relay mux cards and can also be selected.
HP E1340 Arbitrary Function generator control interface.
This small movie shows how to interact with the Multimeter user interface.
As an example, the following two lines make a voltage measurement and return it to the client (the browser).
var result = voltmeter.measureSingle(); se.Print.printMessage("Value: " + result);
Executing a script means that everything can be done, even without any client (after the script has arrived at the VXI Server). So this is a very powerful feature and can replace somehow the „IBASIC“ execution in the HP E1300.
2 wire nur mit scanning mode
CONF:RES 20000 (@100)
An HI/LO von Eingang 100 den R anschliessen.
Gewählten Range anzeigen mit:
Voltage range change
CONF:VOLT:DC 58.1,(@100) oder CONF:VOLT:DC 50,(@100)
CONF:VOLT:DC:RANGE 100 (@100) <== ob man das braucht?
CONF? zeigt nun den Range an
MEAS:VOLT:DC? man kann „:DC“ weglassen weil DC ist der Default
Es geht auch: MEAS:VOLT:DC? 100,MAX,(@100)
HP E1345 Connector
This is a standardized DIN41612 3×32 pin connector where the pins 33..64 are not used (i.e. only outer pin rows are used).
For the 15 channels, three terminals H, L, G (for High, Low, Ground) are present.
Usually, a terminal block plugs into this connector. These terminal blocks are very rare. So their prices are today often higher than those of the cards itself.
HP E1345 Connector
HP E1330 Connector
These are 2 Standard PC/104 connectors with 2×30 pins.
HP E1330 Connector view
HP E1330 Connector, Pins
GPIB Controller UI
Prologix GPIB-to-USB Controller
set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set handshake none
set flow-control /direct-serial rts/cts
set terminal echo local
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
Prologix GPIB-USB Controller version 6.107
++addr 9 99 <– See note regarding addr command
Note to addr command: for secondary, enter (secondary address + 96). E.g. for address 3, enter 96+3 = 99.
Spurtikus.de GPIB Controller
GPIB Controller (Rev.0.8) (c) spurtikus.de 2008-2015
.a – set prim./second. address of remote device.
.e – dump error queue.
.f – find partners.
.h – print help.
.i – dump info about controller state.
.r – toggle SRQ enablement.
.s secondary – set secondary address of remote device.
.x – toggle Xon/Xoff flow control.
.+ primary secondary – add partner device address to list of known devices.
.- primary secondary – remove partner device address from list of known devices.