From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

IviScope_Disable

Hi All,

 

I am controlling a Lecroy WaveRunner 6051A with IVI Driver. First I initialize and configure the scope, then i call a IviScope_Disable() function, which will  places the instrument in a quiescent state where it has minimal or no impact on the system to which it is connected. and then i found my configurationi is covered by the scope default setting. This is strange because help of IviScope_Disable() doesn't mention that.

 

Can anyone help to explain that?

Thanks.

 

Jiang

 

 

0 Kudos
Message 1 of 13
(3,639 Views)

Hey Jiang,

I checked on our Instrument Driver Network (www.ni.com/idnet) and it doesn't look like NI has an IVI specific driver for that instrument. It looks like we do have a LabVIEW driver but not an IVI one. Here is the driver page for that instrument model:

 

LeCroy WaveRunner 6051A

http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=2773

 

Since we don't have one hosted on our network I'm guessing that your driver was developed by a 3rd party. Could you send me the link of where you found this driver so I can check it out?

 

Since it sounds like there might be a bit of confusion as to how this IVIScope_Disable() function is operating, let me quickly explain how the IVI Class drivers work. When you install the IVI Compliance Package you will get a set of IVI Class drivers (such as IVIScope, IVIDMM, IVIFgen, etc) which you can call into from LabVIEW, CVI, and other development environments. Since there's no way that a single download like IVI Compliance Package can include the individual command sets for all the IVI supported instruments out there, you must still download the IVI Specific driver that was custom made for your instrument. In order to talk with your instrument, you then have the choice to either use the IVI specific driver directly, or to use the IVI Class driver (IVIScope in your case) which really just redirects the function calls to the IVI specific driver. The IVI Class drivers are most often used because a developer wants to have the interchangability of IVI where if this specific scope or other instrument goes out of production, they can just buy another IVI supported scope and make few code changes.

 

Since NI didn't develop your IVI specific driver, you will need to take a look at the source code for the specific driver to truly understand why the Disable() function is operating as you expected. The IVIScope Class function "IviScope_Disable()" that comes along with NI's IVI Compliance Package is really just redirecting your command.

 

I hope this helps

 

Lars Lindstrom

NI R&D

0 Kudos
Message 2 of 13
(3,629 Views)

Hey Lars,

 

I can't find the link for Lecroy IVI driver right now, but the version i installed is  ''LeCroyScope.3.2.2.0-x86''. and since IVI Class Driver only redirects the command to IVI specific driver, i check help document of ''LeCroyScope.3.2.2.0-x86'' and the explaination for Disable is

 "Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. This state is not necessarily a known state." I think that's why my configuration is gone after calling IviScope_Disable().

 

But what kind of effect will the scope have on the connected computer if i don't call the Disable function?

And is there any chance that another version of IVI specific driver can place the scope status to a known state as before the call of Disable function

 

Thanks.

Jiang

0 Kudos
Message 3 of 13
(3,624 Views)

Hello Jiang,

 

I never use the Disable function and I don't see that the scope is doing anything to my controlling PC.

 

I use an ENET connection to my scope.

 

Are you experiencing issues on your controlling PC that caused you to use the Disable function?

 

I don't know what the Windows OS may be doing over the LAN but I do not see anything that is affecting my PC coming from the scope.

 

The IVI driver you are using came from Pacific MindWorks but there is a link to it on the LeCroy website:  http://www.lecroy.com/support/softwaredownload/labview.aspx?capid=106&mid=533&smid=

 

I would not use the Disable function unless you see that the scope is having an effect on the PC.

 

If the connection to the scope is not required the entire time the software is running, you could also simply disconnect from it when it is not needed and connect to it again when it is.

 

I hope this helps.

 

Leonard Brown

LeCroy Applications Engineer

0 Kudos
Message 4 of 13
(3,613 Views)

 

 

Hi Leonard,

 

I have these issues while using the IVIScope_Disable() function with LecroyScope.

 

1. Settings saved are gone while using IVIScope_Disable() function. Why should the original settings should go?

But if i need to bring back to enable function, what should i use so that the same settings are retained.

Is there any IVI_Enable() function.

 

2. After calling initialization, i have used IVIScope_Disable() to make the machine idle so that to keep machine idle for some time.

Then, while trying to make Trigger mode changed to Normal, I am not getting this update on the LecroyScope nor the initial delay(Current delay @0.0 uSec against initial 49uSec) and trigger level(Current trigger level @0.0  mV against initial 1.4V) settings too.

 

I used the following IVIScopeDriver dll for communicating IVIScope c- class with the Lecroy scope. (IVI Driver 3.2.9.0 x86)

http://teledynelecroy.com/support/softwaredownload/labview.aspx?capid=106&mid=533&smid=

 

Thanks for the help in advance,

 

Best Regards,

Kiran

0 Kudos
Message 5 of 13
(3,440 Views)

Hello Kiran,

 

 

When you use the disable method, it is sending:  *RST;*OPC? to the scope.  The *RST command resets the scope settings.  If the scope is not interfering with other equipment, there is no need to "disable" it.

 

You can save a setup file and after the disable, just recall the file to get back to the settings you had before the *RST.

 

There is a remote log on the scope so you can see what commands are sent to it.

 

Go to the "Utilities" menu and select "Utilities Setup..." select the "Remote" tab on the tabs that come up at the bottom of the display.  Over on the right select the "Log Mode" to be "Full Dialog" then select "Show Remote Control Log" and clear the log and run your software.

 

The scope will show you the commands it recieves and what it sent out.

 

When you call the "disable" method, it receives  *RST;*OPC? and sends back a "1".

 

*RST resets the settings that were previously there.  (This effectively disables the scope if it was sending traffic that interfered with the controller or other equipement on the bus).

 

I hope this helps!

 

Regards,

Leonard Brown
Applications Engineer
Teledyne LeCroy
1-800-553-2769

 

0 Kudos
Message 6 of 13
(3,433 Views)

Hi Leonard,

 

Thanks for the information and help.

I am kind of trying out different IVIScope functions which inturn commands Lecroy scope for doing couple of functions.

 

Hope that IVIScope can do the most replacement of command line arguments which old Lecroys do.

It will be more useful, if i can get a reference document saying the command line and it;s corresponding replacement of an IVIScope Function 🙂

 

Best Regards,

Kiran

 

0 Kudos
Message 7 of 13
(3,424 Views)

Hello Kiran,

 

 

Sorry, there is not a document like this.  There is the IVI spec. document and the documentation for our IVI driver.

 

If I am reading this correctly, you are just looking for the IVI function that would replace some of the commands you use.

 

The IVI driver has functions to read and write strings that can be used to send/receive any command.

 

The rest are basically functions that take care of sending/receiving multiple commands.  Like the Disable function that sends:  *RST;*OPC? so you do not have to send them.

 

The Remote control manual will have the commands for the scope and if there is not an IVI function to address something, you can use the write string function and the appropriate command.

 

The IVI driver documentation will be part of the IVI driver installation.  Here is a link to an FAQ on the TeledyenLeCroy web site that has links to the remote control manual.

 

Remote_Control_FAQ

 

And of course, I am available for any questions or challenges you have!

 

Regards,

Leonard Brown
Applications Engineer
Teledyne LeCroy
1-800-553-2769

 

0 Kudos
Message 8 of 13
(3,413 Views)

 

 

Hi Leonard,

 

I don't get this. "The IVI driver has functions to read and write strings that can be used to send/receive any command."

 

Is there any IVIScope function which can do this or  to write the string function for sending commands to scope.

 

It will be very useful if i get a template to send the commands to scope using write string function.

 

Thanks,

Kiran

0 Kudos
Message 9 of 13
(3,395 Views)

 

 

Hi Leonard,

 

I see the following IVI functions which have the read/write facility.

 

ViStatus IviDll _VI_FUNC Ivi_viWrite (ViSession vi, ViByte buffer[], ViInt64 count, ViInt64 *returnCount);
ViStatus IviDll _VI_FUNC Ivi_viRead (ViSession vi, ViInt64 bufferSize, ViByte buffer[], ViInt64 *returnCount);

 

if these are the read/write IVI functions, then can you give one example for reading and writing the command strings to scope in Ansi C language.

 

Thanks,

Kiran

 

0 Kudos
Message 10 of 13
(3,394 Views)