I am using an USB6009 along with LABVIEW 7.0 and NI-DAQmx Base software to control the temperature of a hot chamber. I use a Pt100 temperature sensor and the analog inputs of the USB-6009 to measure the temperature and round this off to the nearest integer. I compare this with the dial setting on the front-panel and set a digital output channel to high if the measured temperature less than the dial setting, otherwise the digital output is set to zero. This digital output turnson a 12V relay through an optocoupler (MCT-2E) which in turn drives a 230V relay. The 3-phase 'NO' contacts of this relay turns on the heating elements (5KW!). The entire vi block is within a while loop.
This works fine for some time, but around the set point, when there is a lot of relay-chatter, the system crashes with an error message. Sometimes it is an I/O error (on the USB link, I presume), sometimes it is a VISA error on the NI-DAQmx Base 'Clear Task' block.
Any suggestions on how to get around this problem? I am running the VI from the front panel and not building an executable just yet.
The round-off to nearest integer of the temperature reading adds hysterisis and reduces the chatter. This reduces the frequency of the error but the program crashes nevertheless, though less frequently.
All wires from the Pt100 sensor are shielded with the shield grounded. The relay outputs are opto-isolated, and I am sinking eactly 8.4mA (rated at 8.5mA) from the digital output line.
I am also using the USB cable that came along with my USB-DAQ-6009 (is this shielded?).
Thanks.
Susmit