From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9403 terminal state after starting DO task

Solved!
Go to solution

Hi all,

We have some problems with a relais board, connected to the NI 9403. Probably we need some pull-ups for proper definition of the outputs during initialization of the 9403 (a logic high switches off the relais).

After powering the 9403, no relais are activated, which is good. So the input terminal default has no consequence.

However, directly after starting the DO task defining the 9403 as outputs (without writing actual data yet), all relais are activated. This behavior is independent of the 'InvertLines' property and thus independent of the default logic level. 

My question: what happens with the terminal type (and input impedance) during power-on and directly after starting the DO task? Does it change to a tri-state situation? And does it leave the tri-state after writing the first data word?

Can we resolve this by adding 4k7 pullup's to the terminals?

Thanks for helping!

Martin

0 Kudos
Message 1 of 4
(4,064 Views)
Solution
Accepted by topic author MVW

Hello Martin,

 

The best way to resolve this issue is to use a pull-up resistor. Then you can start the device with DO task and the lines will appear low. The lines have a nominal input impedance of 50kOhm. And no the 9403 does not work in a tri-state.

Hopefully the resistor will solve your issue! I will close this topic for now but if you find problems or have more questions, please keep posting to this thread.

 

Best regards,

Jarmo Levo

Applications engineer

National Instruments

0 Kudos
Message 2 of 4
(4,034 Views)

I think with the Digital output task you usually first write data to the buffer, it will determine start values. If you use not buffered generation, you do not need to start task - use Write (all low) with AutoStart on, it should not send them to high. In all these cases line state is determined. 

Pull up resistor is usefull to determine state when you are not working with board if it does not have programmable power on states. 

0 Kudos
Message 3 of 4
(3,999 Views)

Thank you both for your input. We have solved the mystery.

The 9403 is an input device when powered up. It has the intelligence to read the input state before an output task is defined and started. Once started, the outputs gets the same level as it was as input. This is the most safe way of defining an output and minimizes the chance for a shortcut when something is wrong in the peripheral elecs. Unfurtunately, I did not find this in the 9403 docs.....

The relais board (Advantech) has for 8 channels a pullup the other 16 channels don't. The channels with pullup were correctly driven by the 9403. The solution indeed was to add 16 more pullups for the other channels. Do not ask why Advantech chose to use pullups only for 8 channels.... 

Greets, Martin

0 Kudos
Message 4 of 4
(3,987 Views)