07-28-2009 03:50 AM
If you search for a Labwindows/CVI driver for the Agilent DSO5032 in IDnet , you will find the ag6000 series driver.
When using that driver i found that it seems to have some basic design problems when used with the DSO5032.
For example you can setup measurement thresholds different for every channel. But the driver seems to use only one instrument wide IVIAttribute for each of these settings. The ag6000_ConfigureRefLevels() function doesn't take a channel as parameter. So you first have to use ag6000_ConfigureMeasSource () to set the channel. And if you want to set the thresholds indentically for both channels you have to do something like that to avoid that the setup for the second channel is being suppressed by the IVI Engine :
status = ag6000_ConfigureMeasSource (Instr_Handle_Scope, "CHAN1",
"CHAN1");
status = ag6000_ConfigureRefLevels (Instr_Handle_Scope, 10.0, 50.0,
90.0);
status = ag6000_ConfigureMeasSource (Instr_Handle_Scope, "CHAN2",
"CHAN2");
status = ag6000_ConfigureRefLevels (Instr_Handle_Scope, 15.0, 50.0,
85.0);
status = ag6000_ConfigureRefLevels (Instr_Handle_Scope, 10.0, 50.0,
90.0);
Another problem seems to be that the driver holds only one global attribute for trigger level. So if you try to set trigger level for both Channel1 and Channel2 to the same value with ag6000_ConfigureTrigger () the setup for the second call will be suppressed. I.e.
status = ag6000_ConfigureEdgeTriggerSource (Instr_Handle_Scope,
"CHAN1", -3.2,
AG6000_VAL_POSITIVE);
status = ag6000_ConfigureEdgeTriggerSource (Instr_Handle_Scope,
"CHAN2", -3.2,
AG6000_VAL_NEGATIVE);
will setup Channel 1 as expected but will omit to set the trigger level for Channel 2 ( Slope will be setup, because it changes)
Are these problems known at NI ?
07-29-2009 01:28 AM
Hi Markus,
Thanks for letting us know this.
The first problem you mentioned actually is not an issue. Refer to the 5000 series scope manual, the thresholds are not channel based. And this is consistent with the IVI scope specification that the IviScope_ConfigureRefLevels function has no channel parameter.
It seems that the second problem you mentioned is a defect in the driver. It would be fixed in the next version of the driver.
Regards,
Brandon
07-29-2009 03:49 AM
The first problem is an issue for the user. The DSO5032 scope supports different reference levels per channel if operated manually.
If you just use a simple ag6000_ConfigureRefLevels(), it just changes one channel ( default: Channel 1) to the new reference levels. If you have to change also another channel, you need to find some workaround . That seems to be using ag6000_ConfigureMeasSource() before ag6000_ConfigureRefLevels () . Of course that isn't supported by the IVI Scope model and triggers the described problems with IVIs state caching.
So it seems that the scope isn't really 100% IVI compliant at that point and the documentation doesn't really describe that point well.
And another point that is missing in the driver : You cannot configure the math channel just to add two signals. You can configure it to subtract them or run another function (i.e a FFT) on these added signals. But no simple addition. Is this a limitattion of eitehr IVI or other supported scope. Or was that Option just forgotten ?
07-30-2009 04:12 AM
Hi Markus,
Yes, it seems that 5000 series supports different ref levels per channel. However, from the instrument manual, it failed to described this point well.
We're currently looking into this issue and hopefully it will be fixed in the next version of the driver. Also, the "missing ADD operation" issue will be addressed.
Thank you for your detailed feedback on our driver.
Regards,
Brandon
08-04-2009 02:50 AM
Hi Markus,
The driver has been revised to fix the problems you mentioned.
Would you mind letting us know your email address? We'd like to send the revised driver to you so that you could verify whether the problems still persist.
Any questions, just let us know.
Regards,
Brandon
08-04-2009 05:43 AM
08-05-2009 08:30 PM
Hi Markus,
The revised driver has been sent to you. Please let us know if you have any questions.
Thanks,
Brandon