My current main project has run into a major stumbling block with the arrival of the target hardware. A critical part of this application requires serial communication between the PXI controller running Win XP SP2 and an IAI RCP2 Series controller.
The serial communication side of this project was started before the arrival of our PXI hardware. The code was working well on a PC with Windows 2000 and LV 7.1 However when the same code was executed on the PXI hardware, there was no response from the IAI controller.
The problem was all the more unusual because the software supplied by IAI *is* able to connect on the PXI hardware. Although it does appear to take much longer to establish the connection.
Hyperterminal also appears to have problems on the PXI hardware. A text file that has an expected response gets none. But testing on both Win 2000 and XP SP2 machines verifies that there should be a response. I double checked the COM driver on the XP machine, and it's the same one the PXI is using.
The firewall has been disabled. As have automatic updates. No anti-virus software has been installed.
What really has me baffled is how IAI's software can connect, but apparently nothing else can. Every setting I can think to check is identical between this system and one that works. I even tried turning down the FIFO buffers on the COM port to see if that would help.
I've sent NI Spy files to NI Tech Support. But the potential severity of this problem means I need to keep working on it until I find a solution. I'm hoping there's just something I'm overlooking. But I've run out of ideas.
Any ideas or thoughts on this one are greatly appreciated.
So the first thing that comes to my mind is a simple loopback test. You have probably already done that, based on your post above, but if not, I would highly recommend that we focus on simple steps and then move on from there.
If you have never done a loopback, the following tutorial should walk you through everything you need to be able to set it up:
The loopback test was one of the first things I tried. Not too surprisingly, it worked (or appeared to) just fine.
Through sheer desperation I managed to find a "solution". I posted what my findings were on the LAVA forums, and I'll quote that here:
The NI tech I've been working with also suggested using PortMon as a tool to help find the culprit. While I can't say for sure it's done that, it has done something rather interesting.
If I reset my IAI controller and send my first serial command with PortMon running in Local Capture mode, the command goes through. Not only that; but once the first command is accepted and returns a reply, all other communication works as expected with or without PortMon running.
I can even reset the controller. Quit LabView. Pretty much anything except reboot. If I reboot, I must start PortMon and reset the controller before sending the first command.
Once communication is established, Hyperterminal works fine as well.
Another recent (and very happy) discovery is that a USB to Serial converter is working just fine without having to jump through any hoops. As long as this solution continues to work, it's how we'll be going. But it still leaves me wondering why the included COM port was acting so weird. Obviously there's something going on here that may have effected other developers in the past.
Because this serial communication is only a small part in a much bigger program with the delivery date looming, I'm going to push ahead and really hope that the USB to Serial converter will continue to work for me.
This is one of those situations where neither company (NI and IAI) supports each others product. So I'm going to have to take what I can get and cross my fingers on this one.