I have a requirement to make device, and I need your guidance as I am a total noob and have no idea where to start...
Basically we have an old test rig (and I mean really old) used to automate the testing of certain devices. Some of the instruments in the rig are old and frail and need replacing. Here lies the problem... The units are unserviceable and unreplaceable, so we need to swap them out for modern equivalents. Here lies problem number two... We cannot edit the code of the control software to add in the commands for the new hardware.
So, basically what I want is a little black box which will sit between the controller and the new instrument and translate the old GPIB commands to modern SCPI commands...
So my black box will need to act as both an instrument and a controller in order to pose as the old instrument but then control the new instrument, but also work in reverse to send the reading back to the controller.
This will require the box to interface with GPIB, and the new kit can be USB or RS232 or even Ethernet. Arduinos can talk with serial devices, so I think the problem lies with GPIB
Any ideas? Any related projects you can point me towards?
Is your GPIB the same as the IEEE488 interface?
Years ago I did some programming on an Apple II and a Zenith Z100 (that may tell you how long ago) interfacing with Hewlett Packard 7580 pen plotters which had a HPIB (IEEE488) interface. I used an HPIB interface card in the computers and coding in Basic. When the PC's came out I switched to programming the plotters with a serial interface using the 'C' language. I would suggest using a PC and an IEEE488 interface card, if they still make such a thing. My experience with the Arduino is limited, but my opinion would be that a PC would be much easier to program and that the Arduino could not handle the coding necessary to control the interface, convert to serial, and communicate with the new device.
Yes it is the standard IEEE488 interface. I figured that a PC would handle the code better, so I was contemplating a Raspberry Pi or something similar.
Also, using an Arduino as a GPIB-USB interface would be ideal as USB is relatively easy to work with and that way I wouldn't have to rely on proprietary drivers, as you do with Agilent and NI adapters. My initial idea was to use the NI adapter on an RPi but there are documented problems with installing the VISA libraries and drivers on some linux platforms, so I am trying to work from scratch rather than trying to bodge together different vendor software.
The reason I wanted to use an Arduino is because it is going to be an embedded device. I will not have access to it once it is shut away in the rig, so I wanted to avoid using a computer because I wont be able to navigate a GUI and run the software manually (I know I could have the program run on startup or whatever but I'm trying to keep it as simple as possible). I want an embedded system which is 'always live' to act as an intermediate zone to emulate my old device.
Basically, just to add some more information, what I am trying to to is make an Agilent 34401A DMM emulate a Solartron 7060
I think your best bet is an old PC laptop with 2 GPIB->USB interfaces. You could use labview to make one interface look like an instrument, and send the translated commands down to the HP. This might allow for more expansion in the future.
At some point you are going to have to bite the bullet and develop a new tester. I had to do that to replace a windows 3.1 machine a few years ago. I rewrote the code from scratch.
That's it, you uttered the words I was hoping for!!! I don't have much experience with labview, I didn't realise you could make one interface appear as a device, that was the main thing that has been melting my brain. Because I need it to appear as a device with a set address. I figured using a computer would mean assigning it as a controller, therefore not allowing it to have an address... But if that is not the case then I will totally rethink things
Thank you
P.s. you underestimate how much it would cost to totally re-design this rig. The DMM is a small (albeit important) device in a large weird and wonderful device. And the customer is MoD and they never redesign things, only apply patch over patch... They want to keep the rig running, but because it is testing old kit they wont throw too much money at it. Yet they will cry if it breaks. So a redesign is out of the question, but scraping the rig is also out of the question. The words 'Pain' and 'Arse' come to mind...
I'm not sure aboutthat particular meter, but there are VXI 11 Ethernet 'scopes & multimeters, etc., that are somewhat GPIB/SCPI compatible and if you are very-lucky your existing software may work with the new drivers. I believe the same standard exists for USB and maybe RS-232, but compatible instruments seem to be rare.
ICS Electronics makes a [u]box[/u] that "translates" from GPIB to LAN. But of course, the commands would have to be 100% compatible... If the old software is looking for some as simple as the instrument ID, the new meter might fail.
Basically we have an old test rig (and I mean really old) used to automate the testing of certain devices. Some of the instruments in the rig are old and frail and need replacing. Here lies the problem...
I feel your pain! One of my Win98 machines was giving me trouble last week... It's fixed now and it's backed-up, but I don't know where some of the original software is so I don't know how I'd ever get it installed on another machine.
A couple of our products are tested with Quick Basic programs on a Windows 3.1 machine! But, we do have the source code so it could be ported to something more modern. That old-reliable Win3.1 machine is probably the most reliable computer we have!
DVDdoug:
If the old software is looking for some as simple as the instrument ID, the new meter might fail.
This is the other issue... The software does indeed scan the kit to make sure model numbers tie up. So the black box would need to have this info stored somewhere and return it when an identify query is sent, rather than returning the info of the replacement meter... Thankfully it doesn't scan for serial numbers, only model numbers so it does allow units to be replaced with like-for-like units... But still I need my Agilent to think its a 7060
I just checked, and NI max will let you set a GPIB-USB-HS adapter to not be the system controller, and set the address. So you could get an old laptop, install NI-488 software and use labview* to translate between the instruments. Then get a second GPIB-USB-HS adapter to control the 34401A (Does yours say Keysight yet?)
If you talk to the NI folks, this might even be a general solution, if you could get the adapter to respond to multiple addresses, you could use the one system to translate for multiple replacement instruments. The brute force method would use a separate GPIB-USB for each instrument you want to spoof on the old bus.
*(Or even the free microsoft C# Visual studio compiler - which is what I generally use.)
That sounds like more of a plan. I had a meeting with an NI man yesterday so hopefully we will be buying labview pro soon (and TestStand). This project may have just go a tad easier
And no, we don't have any keysight branded kit yet... In fact most of our 34401As are actually HP badge!
Yeah the TestStand software will be for something else, we have a lot of in-house systems, this project is for a customer. Our calibration systems currently use Fluke's Met/Cal, and we are growing a stronger and stronger distaste for it... So Labview and TestStand (if we buy it) will be for that purpose.
The way things are going at the mo I can't see it being long before we buy some Keysight kit, but so far I am yet to see any. I still think the test and measurement side of the business should have kept the HP brand name as that's where it all started, but that's another topic!