07-07-2006 04:59 PM
07-11-2006 01:00 AM
Good morning ~milq,
Thanks for contacting National Instruments with your issue, we'll try our best to resolve it for you as quickly and efficiently as possible.
Instead of programming your PCI-4351 directly with Traditional DAQ, you can try using the NI-435x driver, which should make things a lot easier: http://digital.ni.com/softlib.nsf/websearch/777E0BDEEFDC45D8862571080054063F
Once that's installed, you can take a look at some example programs by navigating to the Instrument Driver Palette in the Function Panel, and then select the NI-435x driver. You should also be able to find examples of coding with the NI-435x driver in the Example Finder by selecting Help > Find Examples and then navigating in the browse tree to Hardware Input and Output -> Modular Instruments -> NI -435x.
The NI-435x VIs use Traditional-DAQ VIs but make the programming more intuitive and specific to 435x applications.
Best of luck with your project.
Sincerely,
Minh Tran
Applications Engineering
National Instruments
07-11-2006 12:05 PM
07-17-2006 06:13 PM
07-18-2006 05:45 PM
Good afternoon ~milq,
Thanks for the detailed follow-up message, it makes it a lot easier troubleshooting customer's issues when they give us a lot of information.
Although you haven't shown all of your code, please make sure you set your sample rate to correspond to the timestamps that you're manually applying to the data in order to get proper waveforms. This is done using the NI 435X Set Reading Rate:
Regarding your array manipulation, the data is stored in the rows of the array, with each column representing a single channel.
So the approach I would take would be to first transpose the 2D array out of the NI 435X Read.vi and then proceed with indexing the array, as follows:
That should get that portion of your code up and running.
Finally regarding your synchronization issues, between your Read Loop and your Display Loop, there is both a more accurate and less CPU intensive way to ensure that this does not occur. We have a great data stucture called Queues. These are essentially buffered variables, whereby you can write data to the queue and it will be stored in a FIFO fashion to be read off by some other portion of code.
To get a feel for this, go to Help > Find Examples and select the Search Tab and type in "Queues". Open up the Queue Basics.vi example and you should be set!
Best of luck with your project.
Sincerely,
Minh Tran
Applications Engineering
National Instruments
07-18-2006 05:47 PM
I have no idea why the above pictures are not working, but the images are available here
ftp://ftp.ni.com/outgoing/4350SampleRate.JPG
ftp://ftp.ni.com/outgoing/4350Chan.JPG
07-19-2006 12:30 PM
06-07-2011 07:18 PM - edited 06-07-2011 07:22 PM
I know this post was long time ago.. but this helps me a lot since I am reading 14 thermocouples from PCI 4351.
I found that the data read from the NI435x READ vi is in "scaled data" form, when I put an indicator to read the output data one channel by one channel, the indicator shows the data one overwritten by next one. I'm struggling to save all the data. Here I saw you connect a certain array next to NI435x READ, Could you explain what is the array type connected from NI435x READ vi? I can't find it in the function palette. Where did you get it?
Thanks.