Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

9403 Configuration: Not Required?

So call me stupid, but...
 
I just realized that in a FPGA application I am developing, I have never gone and configured the 9403 DIO channels so that I specify which are inputs and which are outputs. (they are all configured as inputs by default)
 
Thing is, the application works fine.
 
So my questions are:
 
do I not have to configure the channels?
are there potential consequences of NOT configuring the outputs as outputs?
why does it work?
If it works, why have a configuration capability in the project?
 
Thanks!
0 Kudos
Message 1 of 7
(6,844 Views)

Hi 10Things,

The channels should be configured for output, as explained in the KnowledgeBase article Why Won't My cRIO 940x DIO Module Produce the Correct Output Value?  You said your application was running fine.  However, were the channels of the cRIO-9403 tested to verify correct output? 

Jennifer R.
National Instruments
Applications Engineer
0 Kudos
Message 2 of 7
(6,653 Views)

I never scoped the outputs or anything, and all I am doing is controlling realys on those channels for the most part.

But I have not had a single problem that I can tell.

0 Kudos
Message 3 of 7
(6,588 Views)

Hi 10Things,

There is a small difference in behavior in how the NI 9401 and NI 9403 behave as you have already noted.  Without going into reasons for the small difference the following information is straight from the LabVIEW help on the modules:

Configuring the Line Direction for the NI 9403
Each digital channel on the NI 9403 is initially configured as a digital input. You can configure the initial line direction for each channel on the NI 9403 at edit time using the C Series Module Properties dialog box. You can programmatically change the line direction for each channel at run time using the FPGA I/O Method Node. The execution of an I/O Method Node that is configured with a Set Output Enable method overwrites the values you configured in the C Series Module Properties dialog box. In addition, the execution of an FPGA I/O Node configured for output automatically configures the line for output and overwrites the values you configured in the C Series Module Properties dialog box or using the Set Output Enable method.

Configuring the Initial Line Direction for the NI 9401
Each digital port on the NI 9401 is initially configured as a digital input. You can configure the initial line direction for each port on the NI 9401 at edit time using the C Series Module Properties dialog box. You can programmatically change the line direction for each port at run time using the FPGA I/O Property Node. The execution of an I/O Method Node that is configured with a Set Line Direction method overwrites the value you configured in the C Series Module Properties dialog box.

Where the part in blue is the behavior difference your seeing.  Is having the IO node automatically configure the channel as output when written more or less desirable to you?

Bassett Hound

Message 4 of 7
(6,577 Views)
I totally think that it should be automatic, based on the FPGA programming. It was the discovery of the configuration screen that confused me. Certainly, if the programming overwrites the configuration then the configuration screen should probably be removed (what is the point if the configuration will be changed by the program?)
0 Kudos
Message 5 of 7
(6,574 Views)
Well, the configuration screen is still usefull for a user that whats to set the initial conditions and for someone who doesn't want to programatically change any of the settings.  But yes, in most cases if your writing the output, the configuration page didn't really do much for you.  I would agree with you that it should be automatic ( which is one of the reasons for the change).

Bassett Hound
0 Kudos
Message 6 of 7
(6,570 Views)

What kind of relays are you driving with the weak outputs from the 9403 card?

I have to integrate a 9403 into an automation project, and I am worried about the 64mA maximum output current for the whole module.  Most relays I have been looking at require 8-20mA to switch the coils.

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 7 of 7
(5,760 Views)