PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Basic of working with multi PXI devices?

Hi,

 

I've tried to search, but havent found anything that satisfied me. Maybe anyone knows, what is the basic programming structure (in Labview) of working with multi pxi/pxie devices?

 

For example, I have some pxie devices:

DAQmx: generate analog signals and counter

Timing Module: generate clock and sync

HSDIO: generate & acquire digital signals

NiSCOPE: acquire analog signals

 

I found so many examples how to use them one by one, but I found its quite difficult to make them working together as a system. Event structure? state machine? producer consumer? which one is it the best I can use? I want to simply able to generate/acquire analog/digital signals independent from each other. Any help would be great.

 

Regards,

Yan.

0 Kudos
Message 1 of 10
(5,850 Views)

What architecture you use really depends on what you are trying to do.  Regardless, each DAQmx task reference and each instrument device reference will need to be stored somewhere.  I like to use Action Engines.  Once you figure out how to keep track of the references, you just follow the examples you have already found for that device.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 10
(5,849 Views)

Hello Yan,

 

i agree with crossrulz, we need som more information about, what will done with the system,

need the cards to be snchronized, finite or continous acquisition and so on.

 

You can use the examples and make one engine of them the engines can be controlled with

a queue and deliver the data back over a queue for a continiuous aquisition, for finite samples

i prefer a FGV with the functionality inside.

 

 

best regards
Alexander
0 Kudos
Message 3 of 10
(5,827 Views)

Hi,

 

thank you very much for your suggestion. The basic idea of my application is to test ADC.

Thus, I would need to supply digital clock, which is continuous. And I need to generate analog signal, which is finite. And I need to acquire the converted signal, can be continuous or finite. I've tried to search for action engine, but no example in forum.

 

regards,

Yan.

0 Kudos
Message 4 of 10
(5,823 Views)

Here's the nugget on Action Engines.  There isn't an actual VI posted, but the pictures are more than adequate to figure it out.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 5 of 10
(5,817 Views)

hi,

 

the nugget is great, I think its a great example for multi devices programming. But still, can I synchronize all my devices with using Action Engine? Somehow I feel my task is very complicated to build them all together (generate digital signal (dynamic and static), generate analog signal, acquire analog and digital signal, synchronize them all).

 

Can someone perhaps show me an example how using Action Engine for a simple analog&digital signal generation and acquisition in one VI (with DAQmx board and HSDIO board)? Can we just take the examples from Labview and "convert" them into Action Engine and put them together in one VI? Or is it not that simple? 

 

regards,

Yan.

0 Kudos
Message 6 of 10
(5,790 Views)

Hello Yan,

 

the action engine or FGV is often used for a finite aquisition.

 

Synchroniced acquisition is often continous and its also very important to know the exact hardware.

Normally you have a master device this generates clock and shares this on the pxi bus and the other devices

use this clock for timing. On this we need more informations about the harware and used software version.

best regards
Alexander
0 Kudos
Message 7 of 10
(5,780 Views)

Hi Alex,

 

I'm using pxie 6674T time module as clock master, pxie 6544 as DIO, pxi 6733 as analog out and pxi 5105 as analog in.

 

I've seen some examples for each module and I think I've understand how do they work and how to use rtsi bus to share clock reference. The thing is, how do I put them all together so I can simply generate clock, generate analog/digital signal, acquire digital/analog signal. And would be great if it all happens in one VI.

At the moment I use event structure for each device separately, but it seems not good.

 

regards,

Yan.

0 Kudos
Message 8 of 10
(5,770 Views)

Hi all,

 

can anyone tell me, what is the name of a system, which looks similar with Producer Consumer (I'm not quite sure, but I think the system use event notifier??).

It has different event structures in producer loop and the main processes happens in consumer loop.  

0 Kudos
Message 9 of 10
(5,700 Views)

Hello Yan,

 

i think you mean the master slave framework, which uses notifier instead of queues.

 

You have to know that notifier do not store the message, so if the master generates faster

the messages then the slave respond to, the message are lost. This is the reason, why often

are queues in use to prevent a lost of messages.

best regards
Alexander
0 Kudos
Message 10 of 10
(5,697 Views)