LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Programming the NI 9375

I need some help with the DAQmx calls needed to operate the NI 9375 Digital Input/Output module.  I have used DIN, DOUT, AIN, AOUT and AIO CompactDAQ modules, so I know how to initialize lots of them, establish interrupts, get data, write data, etc.

 

The NI 9375 is a bit of a mystery.  There is no documentation on the NI website which directly addresses programming for a DIO C-series module.  MAX does not provide any Port Number information.

 

Does one deal with the 16-bit DIN/16-bit DOUT as a single 32-but UINT?

Does one establish one DIN task to read the 32-bit UINT?

Does one deal with the 32-bit UINT as lower 16 bits Read Only, and the upper 16 bits Read/Write?

 

Thanks...

0 Kudos
Message 1 of 15
(7,997 Views)

Hello!

 

Here is a pin out diagram from the NI 9375 on page 7:

 

http://www.ni.com/pdf/manuals/374644b.pdf

 

I was able to find out more about the DIO pins and their functionality by creating NI-DAQmx Task in Measurement & Automation Explorer (MAX). The digital input and digital output are 2 separate U16 ports (Digital Input is Port 0 and Digital Output is Port 1). These ports are broken down in to 16 lines (lines 0:15) represented by the U16 value that you can read/write to the port. 

 

Thanks!

Stephanie S.
Application Engineer
National Instruments
0 Kudos
Message 2 of 15
(7,964 Views)

Do you have a small example program for this?

 

I've been writing to the module using the DAQ assistant but it requires a while loop to keep the DO in the "on" state. I would like to be able to write a string to the module to set it to "on" and later in the program write a string to turn it "off". Is that possible with the 9375?

 

Thank you!

 

0 Kudos
Message 3 of 15
(6,386 Views)

Turns out in that 2-year old project, I used the Digital input channels, which programs exactly the way any C-series digital input module is programmed.  I did not use the digital output channels.  I would like to know how to do the combination with teh 9375.  Apparently you cannot create two tasks, a DIN and  DOUT task, on a single module.

 

So, NI folks.  Do you just craete a DIN task, and then write a UINT to it to change the states of the DOUT channels?

0 Kudos
Message 4 of 15
(6,370 Views)

Several years ago I used the Compact RIO and was able to just drag and drop variable from the Project Explorer. For this new project I'm using the Compact DAQ back plane and can't seem to find them. I can't see the cDAQ or the modules at all in the explorer. Perhaps I'm missing something? I've gone through the help documents and example software and they all just say use the DAQ assitant. Is there a driver set I'm didn't install?

0 Kudos
Message 5 of 15
(6,367 Views)

I do all my work using the NI 9181/9184/9188 Ethernet chassis.  Thus, how you use MAX to start up one of these is peculiar.  If you are using one of the other types of chassis, USB say, I would think it is easier to use MAX.

 

If you are using an Ethernet chassis, right out of the box, you have to know the chassis subnet, change your computer to it, to set the IP address to your known subnet.  There may be other instructions to use discovery, etc, in MAX, but I have NEVER had success doing anything but changing the computer subnet to match the chassis, to change the chassis IP address.

 

You asked this question on the LabWindows forum, so do I assume you are programming in some version of CVI?  If so, you need to install NI DaqMX on your development computer.  If you are not familar with creating tasks and assigning channels, I can post some code.

 

 

0 Kudos
Message 6 of 15
(6,364 Views)

I'm using the USB-9178 backplane with the 9375 module.

 

I have the NI DAQmx but the two options seem to be use the DAQmx Assistant or do everything from scratch. I had no luck finding code examples for just doing a timed DO pulse. When I used the cRIO I was able to just drag and drop the variable onto my VI and set up timing in a stacked sequence. It was very easy and only a few clicks/strokes. I expected the cDAQ to operate on a similar principle. So unfortunately talking to its modules is completely new to me.

 

I'm using Labview 2015 on a Windows machine. I posted in this thread because it seemed like you and the App Engineer were knowledable on the subject.

0 Kudos
Message 7 of 15
(6,359 Views)

You are not providing enough information.  Sounds like you are working in LabView.  If that is so, then go post this on the LabView forum.

0 Kudos
Message 8 of 15
(6,357 Views)

Sorry for that last message.  I had not read through your complete post.

 

You should post this on the LabView forum for a couple reasons.  First, we will only help you here with C programming examples which won't help you in LW.  Second, there is a very good chance that somebody over there has direct experience doing a DO pulse, if not on this module, on one of the other DO modules using cDAQ.

 

Good luck...

0 Kudos
Message 9 of 15
(6,356 Views)

Thank you for the reply.

 

I'll try posting over there again, didn't get taction last time. When I replied to your post it was through a search and I didn't realize I had left the LabView forums.

0 Kudos
Message 10 of 15
(6,353 Views)