I use several 6221 DAQ's (PCI and USB) in my systems and there is one that has become suspect. It is used to control a semi-automated assembly fixture that also required operator interaction. It uses an SCC-68 to interface to the equipment.
I use a DIO to control an air control valve that opens and closes a clamping arm. The operator is required to press two palm buttons, wired in series, to activate the DIO and therfore the clamp.
Over the past 6 months or so, the clamp has begun to close on it's own. Being a safety issue, this has high visibility. However, performing a corrective action cannot immediately be verified as it is so intermittent. It can take 2-6 weeks before it shows up again. I have adjusted the speed of the clamp to a crawl when closing via a flow control valve so the operator has plenty of time to move their hand should the clamp begin to close while they are loading the fixture.
Corrective actions in order performed: 1) replaced control valve, 2) replaced palm buttons, 3) replaced all wiring between palm buttons and the SCC-68 interface w/ shielded wire and grounded the shield leads, and 4) replaced DAQ today.
All corrective action were completed after the clamp closed on its own after the previous corrective action.
Prior to C/A 3, I personally reviewed the system almost immediately after the clamp had closed on it's own. It was left in an as-is state. What I discovered was that the code itself had progressed to a point as if the palm buttons had been pressed and waiting for the next operator action, in other words, the DIO had gone true without the operator pressing the palm buttons. The code is basically sitting iin a for loop waiting for the operator to engage the palm buttons or select exit from the UI. There are only four actions that will cause the program to exit the loop, pressing both palm buttons, selecting exit on the UI (returns to mani screen), selecting calibrate on the UI (opens a small window allowing an air pressure to be calibrated) and service mode (navigates to a screen that allows manual control) but only one will progress the application to run to the next point of assembly as it did and that is pressing the palm buttons.
This led first to the theory that perhaps there was enough interference from an adjacent wire to energize the DIO (hence C/A 3) and after this that perhaps the DIO circuit itself could have become 'weak' and could self activate on rare occasions, thus C/A 4.
My question is, is there any method to test the actual DAQ to try and determine if the DIO channel has an issue? I will not be able to use this card in any system that generates a condition that could become a safety issue should the card malfunction in any way.
Any assistance on this is greatly appreciated.