Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Are there known problems with using the PCI-8430/8 with windows 7?

Hello,

 

I have several PCI-8430/8 cards (8 serial port cards) that were originally purchased to be used in Windows XP computers for the purpose of calibrating proprietary serial devices (using 9600 baud.). When my company transitioned to Windows 7 PCs (Dell Optiplex), I discovered that the PCI cards now collect data from our devices at a noticeably slower rate than previously experienced, with our calibration process taking nearly twice as long as it used to. It almost seems as if the ports can no longer be accessed asychronously. I have tried using several different versions of the Ni-Serial driver to resolve the problem, all to no avail. Has anyone heard of this problem, or know of a potential solution to speed up the serial communications with this data card?

0 Kudos
Message 1 of 11
(5,989 Views)

Hi,

 

I haven't heard of this issue before but if I could get a little more information from you perhaps we can shed some light on it.

   -have you modified your code at all since you moved from Windows XP?

   -What driver version were you using when it was working on XP? Which driver versions have you tried on Windows 7?

   -Could you give me the model #s of both the XP machine that was working and the machine you're using now? Specifically I'm wondering about the specs of your PCI slots.

   -Have you tried using a different machine running Windows 7 to see if the slow sampling occurs there as well?

 

 

0 Kudos
Message 2 of 11
(5,957 Views)

Nicholas,

 

Thank you for taking your time to repond to my question. To answer yours,

 

1) No, I have not modififed the program used to communicate with our devices.

 

2) On the 4 computers used for calibration, I was using two verions of the Ni-Serial driver, 1.8 and 3.4 (we initially purchased 2 cards in 2003 and then another 2 in 2009.) I have tried Ni-Serial 3.5.1, 3.8, 3.9, and 4.0 on the Windows 7 machines.

 

3) The XP machines are Dell Optiplex 330 and the Windows 7 machines are Dell Optiplex 7010. Please note that on the new Optiplex 7010 machines, we also needed to add a multifunction PCIe card (Cyber 2S1P PCIe) in order to have LPT1 and a couple of extra com ports available for other hardware needed to perform calibration. I have updated the driver for that card already.

 

4) The problem we are seeing is happening on two separate Windows 7 computers, albeit configured identically. We opted to keep two XP machines in service until we could rectify this problem with the Windows 7 machines.

 

If it is of any help, the PCI slot that I use for the NI card had a firewire card installed in it previously (factory configuration.)

 

Again, thank you for your time.

 

 

 

0 Kudos
Message 3 of 11
(5,952 Views)

Thanks for the info. One thing I forgot to ask - have you considered synchronous communication? There's a Knowledge Base article that discusses the benefits of both; generally, data can be transferred more quickly this way. Have you already tried this?

 

Choosing between Synchronous and Asynchronous VISA Functions

http://digital.ni.com/public.nsf/websearch/ECCAC3C8B9A2A31186256F0B005EEEF7

 

 

0 Kudos
Message 4 of 11
(5,929 Views)

Do you have a spare XP machine that still works at full speed, on which you could update drivers? There currently isn't any overlap between the versions tried on XP and the versions tried on Win7. The latest version of NI-Serial will still work on XP, so I would suggest upgrading a machine to that.

 

If you have NI-VISA installed on the system, I would suggest that you first upgrade NI-Serial to the latest version, without allowing NI-VISA to upgrade (You will have to disable the upgrade in the NI-Serial installer). If the performance still seems correct, you can then upgrade NI-VISA separately. This way if driver upgrades are responsible for the slowdown you will be able to tell which of those contributed to it.

0 Kudos
Message 5 of 11
(5,919 Views)

Correct me if I am worng here, but aren't VISA drivers used in LabView? I actually use a legacy VB6 program to calibrate our devices, which uses an activex control to handle the communication. Other programs using the activex control work just fine on other Windows 7/8 machines.

0 Kudos
Message 6 of 11
(5,908 Views)

You are correct that VISA is used in LabVIEW, but it can also be used from other programming environments.

 

I actually thought about what may be causing the performance difference. The ports on this board have 128 byte receive buffers for each port. By default they will wait until 64 bytes arrives before sending a batch of data to the computer. If you have less than 64 bytes received by the port, it will wait for a period of 4 bytes before deciding to go ahead and send the data to the computer.

 

The trigger point at which they decide to send data to the host is configurable, either through the advanced properties of the port in Device Manager, or through Measurement & Automation Explorer (NI-MAX). Configuring the receive buffer trigger point to a lower number can help decrease latency from your hardware, at the expense of increasing CPU usage. The best latency (and also the highest CPU usage) will be achieved by setting this value to 1, since it will always send the data back to the computer as soon as it arrives, and never incur the 4-byte-time delay before transmitting data back to your application.

 

I would suggest you look at the receive buffer settings on your XP machines which run quickly. If they are not set to 64, they have been customized for your application, and you will want to ensure you configure them the same way on your Windows 7 machines.

0 Kudos
Message 7 of 11
(5,905 Views)

Thanks, I'll be sure to check this again. I thought I had already done this, but a double check never hurts. And per your previous post regarding driver versions, I was in error. We actually used NiSerial 3.8 on two of the computers, not 3.4 as previously stated.

0 Kudos
Message 8 of 11
(5,903 Views)

I'm back again. I just took one of our "good" XP machines and upgraded it to Windows 7. After running all of the updates, installing NI-Serial 4.0 and our custom calibration software, I still am getting only approimately half of the speed experienced when using Windows XP. Does anyone know if there was a change in how Windows 7 (or Vista) handles serial data with respect to how it is done in Win XP? Is there a way to change the latency on the NI PCI card?

0 Kudos
Message 9 of 11
(5,609 Views)

As far as how Windows handles serial data I don't think it's changed from XP to 7 or Vista. There is also not a way change the latency on the NI PCI card. 

 

Is there any way you could find out where  the drop in speed occurs? Is it during a certain command (read/write)?

 

Thanks!

 

 

Daniel Parrott
Software Product Marketing - Data Management & LabVIEW
National Instruments
0 Kudos
Message 10 of 11
(5,581 Views)