From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

9264 dynamically set frequency and amplitude

Hi,

 

I am using a NI-9264 in a cDAQ-9189 chassis. I am trying to run the non-regeneration voltage output example. When I run this example, the output  of the AO card does not update.

 

To clarify, If I start the vi with a sinewave of 10Hz and 1Vpp, it outputs the expected sinewave at 10Hz, 1Vpp etc. While the program is running, if I modify the parameters to a sinewave of 15Hz and 2Vpp, the output does not change. It remains at the 10Hz, 1Vpp.

 

Is this a hardware limitation where the output cannot be modified at runtime?

 

Thanks!

0 Kudos
Message 1 of 6
(2,421 Views)

Maybe, this article helps you but is written in Japanese.... Couldn't find English version : (

Please translate with Google...

DAQアナログ出力の出力周波数の計算方法

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 2 of 6
(2,390 Views)

Hi,

 

Thanks for the info, however it doesnt really help solve the issue. My issue is regarding dynamically updating the output. Using the example, it runs at the correct frequency initially, but updating the parameters during run does not update the output.

0 Kudos
Message 3 of 6
(2,379 Views)

After modifying the frequency and amplitude, have you pressed Enter on the keyboard or clicked somewhere else on the front panel so that the change you made to the array control gets registered by LabVIEW? There shouldn't be any hardware limitation for you to do this. After modifying the parameters, does the graph also not update with the new frequency and amplitude?

0 Kudos
Message 4 of 6
(2,335 Views)

Hi there,

 

There definitely isn't a hardware limitation that is causing your unexpected behavior. There are a variety of programming factors that could be causing what you see. I would open up the block diagram on the example and check a few things:

 

1: You should see the "RegenMode" attribute being set to "Do Not Allow Regeneration" through a DAQmx property node somewhere in the example.

2: There should be a loop that is continuously generating fresh data that is being sent to the device using a DAQmx write vi.

3: The controls/variables that set the amplitude, frequency, phase, etc, that you wish to change dynamically must be INSIDE the loop, so that they are read every loop iteration and used when a new block of data is generated. Otherwise they will just be passed into the loop on its first execution and never checked again.

 

Hope this helps!

-Larry

  

-------------------

Larry Morgan
Senior Hardware Engineer
National Instruments
0 Kudos
Message 5 of 6
(2,328 Views)

Hi,

 

The issue here was relating to the Ethernet Chassis. It was a buffer issue. It was resolved by using the following:

 

https://forums.ni.com/t5/Example-Program-Drafts/How-to-Decrease-the-Update-Delay-with-Analog-Output-...

 

 

 

 

0 Kudos
Message 6 of 6
(2,325 Views)