Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI or PXI?

Hello,

 

I'm still a bit new to the DAQ game and had a few questions on which to purchase to replace a very old Data Acq system from the 80s that used two 16 channel multiplexer modules and a TTL digital module.  

 

Basically I need to read 22 (single sample voltage) analog inputs at a range of -10V to 10V.  I need the accuracy of each channel reading to be better than 10 mV.  These analog inputs will only be sampled every time the digital input changes (14 TTL lines...may expand to 22 in the future).  The Digital input changes at a blazing speed of 3 Hz.  this means I need to read the 22 analog inputs in about .3-.4 seconds. Exact synchronization is not required, though the closer the better.  More importantly, I need the readings from each channel to be accurate and done within this time.

 

My question is, what would be the most cost efficient and reliable system to purchase?  I will need a system with either 32 or 40 analog differential and 16 (preferrably 24) digital.  

 

Based on perusing the specs for PCI cards, it seems like they could do the job for me, yet NI sales reps have said it is not an option and that I should go with PXI.  One thing that has confused me a bit is a lack of a spec specifying the switching time between channels for PCI cards as each channel uses the ADC.  How exactly is multi-channel analog input processed through PCI? Is PCI even an option here? Also final question: is -10V to 10V the maximum reading range for PCI analog input?

 

Thanks for any input.  

0 Kudos
Message 1 of 9
(4,496 Views)

Hi Jonvanjam,

 

Good afternoon and I hope your well today. 

 

So your requirements are:

32 or 40 AI Diff Channels - single sample acquisition - resolution <10mV- read all within a few seconds

16 or 24 Digital Channels

 

You are correct in suggestion that PCI or PXI could be used for this solution.

 

The reason your Sales Rep suggested PXI is because you have a fairly large channel count. You'll have a rugged chassis for deployment of your system and the ability to easily add funcitonality in the future. Are you planning to have a desktop PC when your application is being used? PXI also have the advantage of great timming options and real time for example. But in this case, it does seem like you don't require this.

 

I've been look at the PCI-6225:

40 Diff Channels

24 DIO channels

Accuracy:   3100uV

Sensitivity: 976uV

 

Range: +/- 10V. Yes that is the range of the most standard cards. If you wish to have high I would recommend one of the industrial AI modules. 

 

I should think this could easily acquire 40 diff channels of data within your quote time range. Have you given the NI Sales Rep all your details and have your discussed your final deployment and the PCI form factor?

 

Let me know, 

Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! 😉
0 Kudos
Message 2 of 9
(4,483 Views)

Hey Hillman,

 

The hardware is going to be used in conjunction with LabVIEW software installed on a PC with windows XP.  Also, just to clarify, I need to read single sample from every analog channel every 1/4 or 1/3 second, not every few seconds.  The digital lines as a whole just represent a single decimal number in the form 999.9 (accuracy of .1).  This number will increase at a constant rate of .1. Every time this number increases by .1(digital line change) I need to collect a reading (single sample multiple channels) from all of the analog channels.  In the future we may even want to add 1 digit to precision to the digital signal (999.99) which would requires us to read 10 times as fast.  I've had a couple of discussions with the rep but he has been slow to respond lately.

 

 

Message Edited by jonvanjam on 06-12-2009 11:52 AM
0 Kudos
Message 3 of 9
(4,480 Views)

Hi Jonvanjam,


Thanks for your reply and I hope your well today.

 

 It really does depend what sort of rates and synchronisation you require.

 

If you are talking about Hz (ms resolution) then software timed and a DAQ card should be ok.You can specific lines over multiple ports and just read a single sample and compare against the last value. 

 

The PXI solution would allow you to achieve all this application in hardware. You could use on the cards that supports digital change detection i.e. the digital state has changed, and send a trigger pulse down the trigger line in the PXI Chassis and trigger a single sample acquisition from the AI DAQ card. This would have ns resolution. 

 

Also, if you wanted to use hardware timing for the digital lines (for higher rates) then the PCI 6225 I recommend would not be suitable. This is because only one port, 8 lines, are hardware timed. You would need to look at something like a PCI 6254 which has 32 clocked DIO lines.. however this card has less Analog Lines. 

 

I am not sure what the limit of software timed Digital port reading would be, but I wouldn't really on anything in the kHz as windows has a ms resolution. 

 

Please let me know if I can help any futher, and also if my advice has been of any help. 

 

 

It seems that you would need to be able to read ALL the digital lines at the same time. However, most cards only have correlated digital channels (hardware timed samples)

Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! 😉
Message 4 of 9
(4,447 Views)

Hillman,

 

Thanks for the response.  Your advice has been helpful. It's starting to look more and more like PCI will not be a very suitable option. 

 

First, would there even be enough pins available on a single PCI card to wire 16 digital lines AND 30 differential analog lines (this isn't including the grounds either)  From the beginning I assumed I would need two separate PCI cards, one for digital readings, and one for analog readings. As for the digital line readings, yes I do need them to be read as a single unit.  All of these lines together just represent a single number.  The first 4 represent (.1, .2, .5, .8).  The next four represent (1, 2, 4, 8).  The next four represent (10, 20, 40, 80).  Finally the last two represent 100 and 200 (400 and 800 are excluded since we only need to go up to 360).  These lines are just TTL, I only care if their value is true or false.  If it's true I add their representative number.  If not, I add 0.  Like I said, the current read in rate for the digital is only 3 Hz.  In the future we may want to expand to 30Hz (add .01, .02, .04, .08 lines)  but this isn't a priority.  

 

Regarding latency, one of the big issues with this application is the ripple on the linear transducers where I'm reading analog.  These transducers are reading a range of -12 V to 12 V at a ripple of 3%!  This ripple needs to be integrated down to about 10-20 mV.  I don't know what the calculation is to determine this, but I think this in itself would take one powerline cycle (16.67 ms).  If you multiply this over the 20-some read ins, most of the time is lost during this integration process.

 

You mention that most cards only have correlated digital channels.  What does this imply about being able to use the PCI option (or PXI) for my application?  What is the main issue here.  The original DAQ uses an HP 3497A Option 50   16 Channel Isolated Digital Input/Interrupt Assembly with optically isolated input channels. 

 

Thanks for the help. 

0 Kudos
Message 5 of 9
(4,438 Views)

Hi Jonvanjam,


Good Morning and I hope your well today. Thanks for your kind words and kudos! 

 

These PCI DAQ cards I am referring to (M Series) are 68 pin devices. 

pinout.JPG

 

As you can see from the image above, these cards have several ports. Port 0 of this M Series cards only DIO port available for correlated DIO.

This means use of an external clock for ports 1 and 2 is not possible with the M Series. Only port 0 can utilize a hardware clock. Simply, for the other ports you have to use software timing - Static DIO. 

 

In other words,

"

Correlated DIO enables digital and analog functions to be synchronized with hardware-timed precision. Basically, a clock is associated with the digital functionality.

Static DIO is basic digital IO that employs no handshaking or hardware-controlled timing. There is no clock associated with the functionality.

"

 

You can read ALL static DIO ports (including Port0) within one DAQ task, hence all 24 lines will be returned in one number. But, if you wish to perform correlated DIO, then this is restricted to the ports that support the function. However, if you wished hardware timing, for high rates for DIO then you could consider the PCI 6289 M Series boar: this includes 32 DIO clocked lines (32 correlated DIO) and 16 DI AI). In this situation, you may have to consider another card for AI. 

 

From the rates you have mentioned I would consider PCI to be a suitable solution for you. I am not sure how long it would take between in software from calculating the the DI had changed to sampling the AI would take - but I wouldn't have thought that long. What sort of time frame do you need? Have you used LabVIEW/MAX before? You could also simulate the device and code an application to see how long it would take. 

 

 Well to overcome the ripple you could just hardware sample the AI channels, average (etc) in software and keep the value if the DI has changed.. or the current value, as the second the DI will change you need the last cycle? or the next cycle? I guess this is up to you. 

 

I hope this post finds you well, and please let me know if you have further questions. I would still recommend speaking with your local sales branch, maybe setup a visit/request a visist or a meeting via the phone.

 

 

 

Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! 😉
0 Kudos
Message 6 of 9
(4,428 Views)

Hey Hillman,

 

I forgot to to mention this, but i'm updating an old DAQ system coded in LabVIEW 5.0.  The current hardware setup uses a 16 bit i/o digital/interrupt line with interrupts available only on lines 0-7.  

 

The way it's presently coded is as follows:  

 

Only changes in the least significant bit digital line (.1) need to be monitored since a change in the state of this line indicates an increase of exactly .1.  The way this is done is by considering that our least significant digit must be odd or even.  If odd, .1 must be true (since the bits .2 .4 and .8 have even digits).  If even, .1 must be false for the same reason.  Every measurement iteration this interrupt line alternates between waiting on a rising edge interrupt and waiting on a falling edge interrupt.  Once the interrupt is triggered (by rising or falling edge), the DI ports are all read to return a single octal number.  After this measurement is made, the software instructs the DAQ to collect single sample data from all of the differential analog lines.  

 

The reason I've been asking about the pin ins/outs of these cards is that I'm not clear on how I'm going to wire the three shielded analog inputs from the original system (essentially the guard lines for the analog channels).  These analog inputs must be set to different grounds.  

 

I actually have acquired quite a bit of programming experience in LabVIEW over the last few months and am familiar with the MAX utility.  I don't think modifying the current software will be a difficult task.  My real concern was that the new hardware would have the necessary specs (and cabling inputs to adapt to the old system) as I will need to  present justification to a review board regarding specs/cost/functionality/expandability/etc...  I do not have a very long time frame to try to get this done (I'll be returning to school soon).

 

Thanks for any input.  

0 Kudos
Message 7 of 9
(4,413 Views)

One more thing,

 

After looking through the pin diagrams of the 6225, you are definitely right in saying that this would have the required # of analog input and digital input channels.  But,  I noticed that they are mixed across the two connectors on the card.  I simply won't be able to have that since this would create a terrible wiring mess with the current system (which has the digital and analog cables grouped separately).  This is why I need this to be a two card solution.  As long as the two cards can get me a digital reading (comes in every 400ms) followed by 22 analog readings (within the 400 ms window), then all will be well (assuming noise/shielding isn't a concern)

0 Kudos
Message 8 of 9
(4,409 Views)

Hi jonvanjam,

 

Thanks for your posts and I hope your well today.

 

The two card PCI solution would be fine - if the wiring is user and will fit into your current setup better. That is perfectly acceptable. 

 

As you seem very clear on how the software will work, and this is acheive so this isn't a concern I would agree.

 

I am not sure what you mean about your current wiring and connecting these to new hardware... maybe you could expand? A great resource about wiring is the following Developer Zone Article from the ni.com website. Please take a read of this.

 

Field Wiring and Noise Considerations for Analog Signals

 

I hope your still discussing this with your Local Sales contact. But, to me, you seem more inclined with the PXI solution. In terms of specs, functionality, expandability - the PXI system would be better than a PC. You will reach a limit with PCI cards in a computer. Your PXI chassis could be used for a completely different purpose in the future, and it would cope. PXI does help to maintain investments, which is important for any panel. The ability to have hardware triggering and portablilty with the fully integrated chassis.

 

Hope this helps,

 

Message Edited by Hillman on 06-17-2009 01:21 PM
Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! 😉
0 Kudos
Message 9 of 9
(4,400 Views)