I'm trying to connect with 34410 through usb using latest IVICom driver_ivicom_ivic_Agilent34410_1_0_22_0.msi, but it return wrong value "9,9E37" on all functions, though it changes function voltage, resistance e.t.c, however it return right value when IO Monitor is runned. With driver_ivicom_ivic_Agilent34410_1_0_19_0.msi all work fine.
I've attached the simplest example using the 34410A IVI-COM driver (read a DC voltage). Its built with Visual Studio 2010, and the latest 34410A IVI-COM driver. I've also attached the .cpp file separately, if you don't have VS2010.
Try it out with your driver and see if it works correctly. If IO Monitor is changing the behavior, I'd say it might be a timing issue. You might want to set your Timeout to a higher value.
I couldn't compile your code, so I couldn't see where your problem was. It would be helpful if you shared a simple console example, send me all of the project files to build it and tell me what version of Visual Studio I need to build it it in.
I've tryed your example, it works. But i would like to get interchangibility so i use IID_IIviDmm end it dont work with 126.96.36.199 version. I use C++Builder so it better i'll try create a simple console application in VisualStudio and check it if don't work i'll send you.
I agree, it seems that problem in timeout, but which? It dont react on timeout in IIviDmmMeasurement::Read( long MaxTimeMilliseconds,
I tryed up to 10000 ms timeout for IIviDmmMeasurement::Read and the instrument even dont try to measure, return value is "9,91E37, but it changes functions.
If i execute programm step by step the instrument make the measuring but the returning result in programm is "9,91E37" though on display of 34410 appear righr result. It seems that IIviDmmMeasurement::Read dont wait DMM.
I updated my example to use the IIviDMM interface, and it seems to work ok. One thing I noticed was that in your code you were only setting the Measurement function, you weren't setting things like resolution, or range. So, you could be seeing a problem with the range?
I've attached my latest example. I use the Configure method to set the measurement parameters.
Thank you for an operative reply.Yes it works with manual ranges, But I supposed that functions in autorange by default, and I need autorange. How to set AutoRange?
The measurement range. Positive values represent the absolute value of the maximum measurement expected. The driver coerces this value to the appropriate range for the instrument. Negative values represent the Auto Range mode.
If the value of the Range parameter is Auto Range On, then the Resolution parameter is ignored.
I try to set the range to negative value,