EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: c4757p on July 16, 2013, 05:48:34 pm
-
I have a number of test instruments with digital interfaces for control and data acquisition now, and the most I've ever done with them is popping open a terminal to them, grabbing a number, saying "oh, that's cool" and closing it... Normally I'm a bit of a data freak, so I'd love to finally get everything connected properly and start writing test scripts. Not the most useful thing for an average hobbyist, but still, I'd love the ability to test things under a wide range of conditions and have the data right in front of me. So....
Can anybody recommend some OSS or inexpensive software package for playing with the data? It would be wonderful if this software also handled the acquisition itself, but if not, I'm quite capable of dumping a CSV from a Python script. I do own MATLAB, but that might be a bit overkill...
And a couple side-questions: 1) Does anybody have any experience with HP-IL (not HP-IB, IL)? I'm planning to put together a little USB-HPIL bridge and was wondering if anybody knew of any "traps for young players". 2) How difficult would it be to make a USB-GPIB bridge for just one device? Not a feature-complete commercial product, just a one-off that is designed for one single GPIB device.
-
There is no good, not even a reasonable, one does it all, open source software for instrument control. There are fragments here and there, typically limited to one particular instrument, a class of instruments or a particular communication protocol.
I did do a lot of instrument control using Linux. When it was USB it often started with the need to reverse-engineer some dubious USB protocol before USBTMC carrying SCPI became more widespread. When it came to GPIB, well, the Linux GPIB lib is kind of in limbo but can be used. LXI instruments can often be made to work by starting with the vxi-11 lib and if the instrument spoke SCPI and not requiring an own IVI driver.
My strategy was always to make sure I can handle a particular instrument with a simple command line tool, and then using the scripting language de jour to piece it all together. Simple calculations can be done directly using a reasonable scripting language. For more complex stuff I pumped the data through GNU octave.
When it comes to commercial software the gold standard for this is LabView. Not that LabView in in any way a great product. It is just what everyone is using and "Nobody ever got fired for buying LabView". There are the Windows of instrument control.
Regarding HP-IL: http://www.jeffcalc.hp41.eu/hpil/ (http://www.jeffcalc.hp41.eu/hpil/)
-
There is no good, not even a reasonable, one does it all, open source software for instrument control. There are fragments here and there, typically limited to one particular instrument, a class of instruments or a particular communication protocol.
Damn. That's what I was afraid of... I'll probably look at one of the math/stats packages for Python, or just doing it with MATLAB or Octave.
I'm not buying LabView. :P
Luckily, most of my stuff is older low-speed serial, no USB, so I don't have to dick around writing USB code. Though I do have to dig into the HP-IL and GPIB.
-
USB-GPIB bridge
A lot of the first GPIB use was just TTL logic connected to the GPIB connector. When the TMS9914A IC came out, it was just cheaper, easer & faster with DMA to use it.
I remember seeing some app notes for TTL based GPIB back then would be surprised to find them now.
this might help http://www.hit.bme.hu/~papay/edu/GPIB/tutor.htm (http://www.hit.bme.hu/~papay/edu/GPIB/tutor.htm)
The TMS9914A data sheet or appnote also would be great for how to, I remember it had very good detail for GPIB.
For data collection
The HP Series 80 was used for cheap easy collection http://www.hpmuseum.org/hp85.htm (http://www.hpmuseum.org/hp85.htm)
most data collection system were based on the following
9845
9835 http://www.hpmuseum.net/exhibit.php?class=1&cat=11 (http://www.hpmuseum.net/exhibit.php?class=1&cat=11)
9825B
http://www.hpmuseum.org/hp9825.htm (http://www.hpmuseum.org/hp9825.htm)
http://www.hpmuseum.net/display_item.php?hw=171 (http://www.hpmuseum.net/display_item.php?hw=171)
All of the above used a HP built processor IC set.
I worked with a project that did real-time data collection & analyst with the 9825B pushed to max. A special uncommon internal option allowed 128K bytes of ram.
The program was very hard to change at last due to ram space limits.
These were replaced by the HP 200 Series based on a 68000 32 bit
Soon after HP introduced its 200 Series with the 9826 in 1981, I was using one with with 1.5M bytes of ram. A lot of ram back in those days before the IBM AT
Back then, when a new model was due, The HP salesman even started bringing the tools needed to Tear it Apart. These were Pre-sales models Shipped in special due to the volume the company was using.
The HP languages made it very easy to use. For HPL & Basic the hardware interrupts were funneled to a end of line optional software interrupt process.
For HP Pascal (modcal) which HP used to create the HPL , Basic compiler & pascal it's self, a hardware interrupt was just the 68K interrupt just doing a pascal procedure or function.
Was very hard to write better ASM software. What you C'ers call a structure could be bit sized and bit aligned. A processor instruction set could be defined in a structure and used that way fast and easy. No need to use AND of bits, the compiler was smart enough to do this fast for you.
One of the Best smartest compilers I have seen.
With this great foundation, building automation was a lot easer and faster.
C
-
I'm not buying LabView. :P
However, if you are prepared to dabble with Linux and rolling your own software, National Instruments do provide a free driver that supports several IEEE488 PC cards.
http://www.ni.com/white-paper/11787/en (http://www.ni.com/white-paper/11787/en)
Edit, including this, which NI describe as "self made"
http://lpvo.fe.uni-lj.si/en/raziskave/elektronika/podatkovni-in-merilni-vmesniki/ (http://lpvo.fe.uni-lj.si/en/raziskave/elektronika/podatkovni-in-merilni-vmesniki/)
-
All the companies we work with use NI Labview and teststand for their Ate setups.
-
most data collection system were based on the following
9845
9835 http://www.hpmuseum.net/exhibit.php?class=1&cat=11 (http://www.hpmuseum.net/exhibit.php?class=1&cat=11)
9825B
The last GPIB programming I did was using an HP-86. I suspect my knowledge is a little out of date. I'm tempted to buy a GPIB card to put in my PC and then find a version of BASIC to drive it.
-
All the companies we work with use NI Labview and teststand for their Ate setups.
Yes, that seems to have been the defacto standard for a long time.
I've used Labview, Labwindows CVI (which I really liked), and Visual Basic.
In the really olden day, various flavors of DOS BASIC
-
I have been working on a USB-HPIL interface myself. I have the hardware completely sorted, now I just have to find the time to study the software side of the protocol.
The HP-IL side of the interface is transformer coupled, and the whole thing is ESD protected. I have a FTDI chip acting as a USB-UART interface, so coding should be really simple (simple serial port communication). The unit (excluding the cables) measures 60 (L) x 35 (W) x 16 (H) mm, so it's a pretty small package. It has a micro USB connector.
Here is a pic of the finished unit:
(https://www.eevblog.com/forum/projects/getting-started-with-test-automation/?action=dlattach;attach=55133;image)
Here is a pic of the PCB I had professionally made:
(https://www.eevblog.com/forum/projects/getting-started-with-test-automation/?action=dlattach;attach=55135;image)
I have yet to write a complete description of the project and explain everything, but I'll get to it sometime.
If you want, I can send you a bare PCB and give you all the information you need to make your own. ;)
-
Damn, forgot to click 'notify' and just realized this has gone on a bit longer!
-
I have yet to write a complete description of the project and explain everything, but I'll get to it sometime.
If you want, I can send you a bare PCB and give you all the information you need to make your own. ;)
Very nice! :-+ You don't have to go to the trouble of putting it together and mailing it - but Gerbers and a schematic would be awesome!
-
I had 10 made and 9 of them will probably never be used - I'd be more than happy to see them put to good use. Drop me a private message with your postal address and I'll send some your way.
I have pasted the schematic below, I'll send you the gerbers, HEX files and other information privately (wouldn't want to see Chinese ripoffs on the internet before I even manage to finish my project).