Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Ethernet communication with LeCroy wavesurfer 452

Hi Simon,

The lockups *might* be attributable to the command string issued in Default Instrument Setup.vi.  I saw this last month, and have a newer version that eliminates code for setting up a GPIB service request (this code was carried over from an older driver). See if this helps... The Wait for Acquisition Complete rapidly queries a register, and having the service request set up seems to cause some interference and a possible lockup. This newer version of Default Instrument Setup.vi. is part of the next rev of the driver.

Your Fetch Waveform_modified VI is similar to a example that I plan to create called "Transfer data" that simply reads back the data and does not perform any setup or trigger operations. Note that if you do not change any scope settings, the call to Get Descriptor can be pulled outside of the loop, since the vertical offset and vertical gain won't change... Also notice that Horizontal Offset is returned by Get Descriptor!

Best Regards,
Alan

--------------------

Alan Blankman, Software Engineer
Teledyne LeCroy
800-425-2000
http://www.teledynelecroy.com
alan.blankman@teledyne.com
0 Kudos
Message 11 of 14
(2,077 Views)
More problems:
 
I dont know the cause of the lockup's but they are very persistant. The only way to get communication running again is to shut down the scope - sometimes it is enough to restart the DSO program.
After the lockup there is no contact to the scope.
When looking at the event log on the scope, no new events show up when i try to run the vi (starting with the lcwave initialize.vi).
 
On the computer I get the following error:
<ERR> LCWAVE Initialize
The ID Query failed.  This may mean that you selected the wrong instrument or your instrument did not respond.  You may also be using a model that is not officially supported by this driver.  If you are sure that you have selected the correct instrument and it is responding, try disabling the ID Query.
(which comes from the ID Query in the vi)
 
I can see on my network switch that the scope is still online and I can ping it from my computer.
 
 
Concering the horizontal offset, i dont see that in the Get Descriptor outputs - its only vertical.
 
A few questions:
Is it nessecary to run the "configure waveform setup" when only the standard arguments are used?
Is it nessecary to run the command format?
When I remove them I dont see any changes to the acqured waveform.
 
Thank you for your help
 
Simon
 

Message Edited by svif on 11-22-2006 10:08 AM

0 Kudos
Message 12 of 14
(2,071 Views)
Hi Simon,
 
Reboot everything, and make sure you are using the new version of Default Instrument Setup.vi.  If lockups persist, I suggest slowing down the INR? polling that is taking place in Wait for Acquisition Complete by adding a "Wait" node to the loop that writes the INR? query and reads the result. This oughtta help.
 
Attached is the newer version of Get Descriptor that includes the Horizontal Offset. I forgot that it wasn't in your version (I've updated mine already, so that when I opened your VI it used my new version of Get Descriptor....
 
You need not repeatedly call Configure Waveform Setup or Command Format.  Actually, the next version of Fetch Waveform will include Command Format, but simply set the format to False so that it always uses WORD mode.  This is critical to do, especially if you are planning on using the "Averaging" pre-processing feature. The code that sets the Command Format based on whether the trace is a "C" or "F" is a carryover from older scopes.
 
Best Regards,
Alan
--------------------

Alan Blankman, Software Engineer
Teledyne LeCroy
800-425-2000
http://www.teledynelecroy.com
alan.blankman@teledyne.com
0 Kudos
Message 13 of 14
(2,063 Views)

Thaks for your reply

The communication seems to work better with the new string in defalut setup.

The new Get Descriptor needs an additional subvi called "lcwave decode trigtime".

 

There is one problem with my current program (attached). In the program I fetch waveforms as fast as the loop can run, check if the "n" fetched waveform is the same as the "n-1", if not it is added to a total waveform. After the loop I divide by the total number of waveforms to get an average waveform.

This is not running quite as fast as I would have thought. When setting the scope on 1mys/division and 1ns/point = 10000points and a trigger at 200 Hz, it takes 5 seconds to run through 200 waveforms (eg 40Hz acquire rate). The odd thing is that the "bad waveform" number (the counts where two acquired waveforms are identical) is 160, indicating that a total of 160 times the same waveform has been acquired twice. This seems odd since the total number of loops in 5 seconds is 360 which is much lower than the number of measurements on the scope, which should be 1000.

Can I reduce the number of points with a write? For instance stay at 1mys/division but set 5ns/point or something like that?

That would speed up the vi loop and also reduce the communication load - and it would be points enough for my propose.

Sorry for all the questions, it seems like I could really use a detailed manual.

Simon

 

0 Kudos
Message 14 of 14
(2,050 Views)