LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

MFLI Zurich Instruments Lock-in Amplifier demodulator control

Hi everyone! 

 

I am using a MFLI Lock-in amplifier to demodulate three times a specific signal previously modulated three times at different frequencies. 

Zurich Instruments provide some blocks in order to manage all the device configurations and its control using labview. They also provides some examples in order to get familiar with the blocks, some of them are: 302_Module-DAQ_introduction_Continuous.vi, the ziExample-PollDemo.vi, ziExample-PollData.vi.

In the examples 302_Module-DAQ_introduction_Continuous.vi and the ziExample-PollDemo.vi the data of each demodulator is storaged and plotted after specific time (all the data of demod1, then all the data of demod2 and all the data of demod3 ). However, what we need is to take each point of data of the each demodulator at the same time ( data point 1 from dem1, data point 1 from dem2, data point 1 from dem3, data point 2 from dem1 data point 2 from dem2...) and plot each point of each demodulator when it is generated, not all of the data points at the end of an specific time.  In the ziExample-PollData.vi I am able to add more demodulator nodes but I am not able to separate the data taken from them. So please, could you help me to manage independently the data taken from the demodulators in the ziExample-PollData.vi? or help me to take the data from the 302_Module-DAQ_introduction_Continuous.vi or the ziExample-PollDemo.vi point by point, instead of all the points at the end and manage them?

 

Thank you in advance 🙂

 

I leave attached some pictures of the blocks diagrams.

Robertop31_0-1676551108837.pngRobertop31_1-1676551137461.png

Robertop31_2-1676551166303.png

Robertop31_3-1676551211403.png

 

 

 

0 Kudos
Message 1 of 7
(1,960 Views)

You might be better off asking the question of Zurich Instruments directly.

 

Interesting to see them mentioned here, we were next-door neighbours to them for many years here in Zurich.

Message 2 of 7
(1,950 Views)

I have already asked them but nothing clear yet, so I'm still trying to find the solution. I think actually that the problem that I have is easy to solve if the blocks are familiar to you, so maybe someone who knows may see my doubt. Thank for your reply anyway 🙂  🙂 

0 Kudos
Message 3 of 7
(1,921 Views)

maybe you need to use a kind of SINGLE acquisition rather than CONTINUOUS. Or a kind of FETCH function. 

Or you can average the array of 1 packet of data in the period leading to 1 point with its standard deviation.

 

 

0 Kudos
Message 4 of 7
(1,806 Views)

https://www.optoscience.com/maker/zi/support/pdf/LabOneProgrammingManual-22.08.pdf

 

3.2.1. The getSample command: For one-shot measurement demodulator data

The simplest function to obtain demodulator data is the getSample command. It returns a single sample from one demodulator channel, i.e., it returns the sample fields (not only the demodulator outputs X and Y) described in Demodulator Sample Data Structure at one timestamp. The getSample function returns the last sample for the specified demodulator that the Data Server has received from the instrument.

Please note, the getSample function only works with the demodulator data type. It does not work with other data types such as impedance or auxiliary input samples. For non-demodulator sample types the recommended way to get data is via the subscribe and poll commands.

The getSample command raises a ZIAPITimeoutException if no demodulator data is received from the device within 5 seconds. This is the case if the requested demodulator is not enabled. As getSample only returns data from a single demodulator, wildcard path specification (e.g., /devn/demods/*/sample) is not supported.

If multiple samples (even from one demodulator channel) are required, it is recommended to use either subscribe and poll (for high performance API applications) or Data Acquisition Module. Using getSample in anything other than low-speed loops data is not recommended.

0 Kudos
Message 5 of 7
(1,801 Views)

Hello! I'am also using the LabView to  control MFLI. And I don't know how to get three demod data in same time. So have you solved your problem?

0 Kudos
Message 6 of 7
(1,360 Views)

The polled data from the demods and DAQ modules contains the timestamp or tick count. These counts are device-global. You subscribe to the data sources, poll them, then select the data belonging to a specific device tick.

 

Take a look at ziExample-PollDemod:

 

LLindenbauer_0-1701181299032.png

 

The circled area is where you can link up to your synchronization system.

0 Kudos
Message 7 of 7
(1,354 Views)