07-05-2006 06:19 PM
I am replacing a 10 year old Win95-based data acquisition system with all new hardware and software. The old system used LabWindows CVI 5 and an ISA AT-GPIB/TNT plug and play board, with ver. 1.6 of the NI-488.2 software. Everything worked fine. The new system is WinXP SP2, with the newest CVI 8, the newest NI-488.2 (ver2.46) and Measurement and Automation Explorer, and a brand new PCI-GPIB board. After installing all the new stuff, I ran some of my old programs to control instruments over the GPIB. Things sort of worked, but there seemed to be some timing issues, with the code thinking it was getting return values from the instruments before they were actually sending the values. None of the termination or any other settings for the board in MAX had any effect. I tried putting in an older PCI-GPIB board, of almost the same vintage as the ISA board. This made no difference to how the programs ran. I finally put in my original ISA board. (All three boards were using the same v2.46 of NI-488.2, and all were configured as GPIB0 in MAX.) With all the same default settings in MAX as for the PCI boards, all of my old programs worked with the ISA board. I wrote the code a while back so I may be a little foggy on it, but I don’t recall needing to put in anything identifying the board as ISA. Can anyone suggest why this is happening? I’d really like to be able to use a PCI version of the GPIB board, but I’d also like things to work. I haven’t written any new-from-scratch code yet with all the new hardware and software, only tried to run the old stuff.
Thanks in advance.
Stuart Van Deusen
07-06-2006 07:05 PM
Stuart--
I have seen this before. The PCI standard is much faster than the ISA standard. So with the new card, it will issue the write to your instrument much faster. Your instrument is still the same speed though. So it will return the data in the same time as usual, but becuase your write took a little less time, the read will happen a little quicker and could be missing data. Which will give you a timeout error or just wierd behavior. This speed difference is why the program still works fine with the ISA card, you must have a well-written finely tuned program there and the speed difference is an issue.
The fix is to increase the time between reads and writes, or the timeout value. Try that and let me know if you have any questions.
Regards
John H.
Applications Engineer
National Instruments
07-07-2006 12:54 PM
07-10-2006 02:06 PM
John H.
Applications Engineer
National Instruments
07-10-2006 04:49 PM
07-10-2006 04:55 PM