Not as often but the same error has shown up again. So for two days running, the serial communication stops with no error pop-up. I figured that to be a different issue. Then this morning, the same error (see very first post) popped up again. This after I; converted code for all serial devices into an Action Engine format, updated the serial board driver with the latest from the oem website, and rearranged com port connections a gazillion times to find the happy combination.
So I don't want to sit and watch it all day waiting for the error to show and it really does no good as it occurs with no warning and other than the error, no post mortem clues.
Time to look at alternate tools. There is a tool called NI IO Trace. Would that provide any information for me?
It was mentioned to try using NI Spy/Trace but I do not see a tool with that title in my menu anywhere.
The one thing previously mentioned that I have not tried yet was to increase the buffer size for the port so I will proceed with that and see what happens. Since it is much less frequent now, it is going to take longer to determine if a particular change provides relief.
Any other thoughts ? Any thought on what monitoring tools to try and use ?
I ran NI I/O Trace and was fortunate enough (it's all perspective) to have an error pop up within a couple minutes. So Here is what I got. Not sure what to do with it.
I only included a few lines before the first error showed up. Strange that the VISA Clear ran without error right after the first Write error. So, you can see how short the string is. Question is, why will it go along fine and out of the blue, not write the string. I did go back and set the I/O buffer to 4096 during the init case of the AE for this. Once it starts throwing the error, every write after that errors and all my other serial communication, even on other ports is lost.
I am at my wits end with this. I am totaly out of ideas short of buying another serial card to try. I have had serial com issues on almost every machine that I have had to go to Windows 7 on. There has to be a root cause somewhere in all this.
Any thoughts, ideas, musings, distracting comedy, new job, is much appreciated.
|VISA Clear ("COM2")||Process ID: 0x00001580 Thread ID: 0x0000128C||Start Time: 12:36:48.803 Call Duration 00:00:00.255||Status: 0 (VI_SUCCESS)|
|VISA Write ("COM2", "AC100.DE100.VE1.DI600...")||Process ID: 0x00001580 Thread ID: 0x0000128C||Start Time: 12:36:49.058 Call Duration 00:00:00.016||Status: 0 (VI_SUCCESS)|
|VISA Clear ("COM2")||Process ID: 0x00001580 Thread ID: 0x00001404||Start Time: 12:36:49.908 Call Duration 00:00:00.255||Status: 0 (VI_SUCCESS)|
|VISA Write ("COM2", "AC100.DE100.VE1.DI200...")||Process ID: 0x00001580 Thread ID: 0x00001404||Start Time: 12:36:50.163 Call Duration 00:00:00.014||Status: 0 (VI_SUCCESS)|
|VISA Clear ("COM2")||Process ID: 0x00001580 Thread ID: 0x0000128C||Start Time: 12:36:50.988 Call Duration 00:00:00.255||Status: 0 (VI_SUCCESS)|
|> VISA Write ("COM2", "AC100.DE100.VE1.DI200...")||Process ID: 0x00001580 Thread ID: 0x0000128C||Start Time: 12:36:51.243 Call Duration 00:00:05.009||Status: 0xBFFF0015 (VI_ERROR_TMO)|
|VISA Clear ("COM2")||Process ID: 0x00001580 Thread ID: 0x0000128C||Start Time: 12:41:54.930 Call Duration 00:00:00.255||Status: 0 (VI_SUCCESS)|
|> VISA Write ("COM2", "AC100.DE100.VE1.DI600...")||Process ID: 0x00001580 Thread ID: 0x0000128C||Start Time: 12:41:55.185 Call Duration 00:00:05.009||
Status: 0xBFFF0015 (VI_ERROR_TMO)
So my action plan this morning is to swap out the serial card for a like card thinking perhaps there could be an issue with that particular card.
Plan B, I ordered a couple Siig cards this morning so that I will be able to try an alternate brand card.
Plan C will be to by a much more expensive stepper motor controller that will connect by something other than serial.
Please, if anyone can interpret what the errors in my previous post are telling me, it would be greatly appreciated. I know is says that the write failed but did it fail to get to the serial card? did it fail to get from the card to the controller ? This is outside my normal area of expertise.
It means it failed getting to the serial card. If it had gotten to the serial card and failed going outside the PC, the serial card would have no way of knowing that to report it as an error.
I think replacing the serial card is the best first step.
I am amazed that XP did not have a problem with the serial card or was the serial card also a variable that was changed when migrating to the WIN7?
For what it's worth - sorry I'm late to the discussion.
I've used StarTech multiport serial interfaces (PEX8S950LP, the eight-port PCI Express card) on several of our factory floor positions. Typical application has several ports running at 38.4Kbaud, query/response transactions as fast as the device can respond (with VISA termchar in use), plus another port running at 115.2K, device spewing pretty much continuously. The application runs indefinitely for days/weeks without issue. This is under Win7 x32, and the StarTech drivers are whatever they were about two years ago. So, I have confidence in this hardware vendor (choosing an internal card over a USB multiport was a design decision I took based on my perception that USB wasn't quite as bulletproof).
And I only open the ports once at application start.
The XP machines had different cards. Had to switch since the new machines had only a single PCI slot and my DAQ took that so had to switch to PCIe for the serial expansion.
Just got through swapping cards (alternate StarTech) and am getting ready to test.
Will advise as results develop.
So finally had to switch to the alternate brand (Siig) and after that, no errors. Ran most of last week and today after the switch and nary an error popped up.
Very frustrating problem for a $40 pc of hardware. And since I already have two other machines running the same device with the StarTech card, it makes it that much more frustrating as it was far from my first suspect being it was running well on those machines.
Just wanted to close this out.