On 6 dec, 21:15, w...@mac.com wrote:
> On Dec 6, 2012, at 2:41 PM, Jean Dubois <jeandubois...@gmail.com> wrote:
>
>
>
>
>
>
>
>
>
> > On 6 dec, 15:50, w...@mac.com wrote:
> >> On Dec 6, 2012, at 8:50 AM, Jean Dubois <jeandubois...@gmail.com> wrote:
>
> >> [byte]
>
> >>> It seems there is some misunderstanding here. What I meant with  how
> >>> to "do the equivalent in Python" refered to  "reading characters
> >>> rather than lines".
> >>> I have written working code myself for another Keithleu which does use
> >>> RS232 for communication. The problem now is specifically for the new
> >>> Keithley which doesn't allow RS232 but only USB-communication over
> >>> usbtmc. So if the "buffer-problem" could be changed by reading
> >>> characters that would be great.
>
> >>> regards,
> >>> Jean
>
> >>> --
> >>>http://mail.python.org/mailman/listinfo/python-list
>
> >> Sorry about the misunderstanding (and subsequent waste of bandwidth).  
> >> However, if you will look at the serial reads and writes in that handler, 
> >> you will see that it does things like "serial.read(n)" where "n" is an 
> >> explicit number, the number of bytes to be read from the serial buffer.
>
> >> -Bill
> > I tried changing measurementcurr=usbkeith.readline() to
> > measurementcurr=usbkeith.read(10000)
> > but this leads to trouble with the usbtmc-thing:
>
> > Measured current 1:
> > Traceback (most recent call last):
> >  File "./keith2200rev2.py", line 26, in <module>
> >    measurementvolt=usbkeith.read(10000)
> > IOError: [Errno 110] Connection timed out
>
> > and hereafter I need to restart the Keithley...:-(
>
> > regards,
> > Jean
> > --
> >http://mail.python.org/mailman/listinfo/python-list
>
> Several comments:
>
> 1)  I can't be sure, but that would seem to be asking the Keithley to be 
> providing 10,000 readings.  I don't know about the GPIB bus (which this 
> USBTMC library seems to be trying >to emulate), but most serial devices 
> expect to provide one answer per read-write handshake.  That is, you send one 
> read command and get one answer back.  That answer may contain >several 
> bytes, but I'd be surprised it it contained 10,000.  The typical cycle is 
> something like send-an-initialize, read-status, send-mode-set-up, 
> read-status, send trigger >command, read-answer…  lather and repeat.   (Or 
> some logical equivalent of all that).  On the assumption that the USBTMC API 
> handles most of that, I'd try usbkeith.read(n) where >"n" is the number of 
> decimal digits you expect to get back plus sign.
10000 wasn't a good guess indeed
> -------------
>
> 2) I took a quick look at the Keithley and National Instruments web sites 
> (where the documentation is at best, VERY poorly indexed and hard to search 
> for).  USBTMC *appears* to be a software layer designed to allow newer 
> Tektronix and Keithley instruments to be driven using older software that 
> drove GPIB equipment.  To make matters worse, if I'm reading it right (I 
> didn't study in detail) it appears to ALSO be providing a GPIB-like API to 
> Windows versions of National Instruments LabView.
>
> 3)  If I understand what you are trying to do, you want to go straight from 
> python to the Keithley USB port, without detouring (USB-to-GPIB and GPIB back 
> to USB).
>
Yes indeed, that's exactly what I want

> 4)  I did find (but did not try to read in detail) the following link:  
> http://www.ni.com/white-paper/4478/en which documents direct USB control of 
> instruments.  The python serial >library provides quite transparent control 
> of reading and writing to the USB interface.  Maybe following this link will 
> get you going.
Thanks for the link, but as you can see there they want to push NI-
VISA forward as the solution, which under Linux means more complexity
and surely isn't as simple to install as they claim, so if possible
I'd avoid ni-visa.

I'll experiment further Monday with read() and keep you informed

regards,
Jean


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to