LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQmx property node in event case can%27t be update

Solved!
Go to solution

I want to update property node of DAQmx in event case to update value dynamically, but only 1 of 2 property node can be update to "DAQmx Is Task Done.vi", all the case could be triged normally.

As the picture shows below: the duty cycle case can be triged and run but property value not updated to DAQmx vi. well Frequency one works normally.

ScreenHunter_2.jpg

ScreenHunter_3.jpg

ScreenHunter_1.jpg

0 Kudos
Message 1 of 8
(4,253 Views)

Well, I can't tell from your post nor from your VI (which does not match your post, by the way) what Device you are using, so I can't look up whether what you are trying to do is possible.  [That would be a real easy answer -- "You can't do that because the Device doesn't allow it", but I'm not at all sure that's correct.  I did try one device of mine, and that would have been the correct answer, however ...].

 

Bob Schor

0 Kudos
Message 2 of 8
(4,230 Views)

I change it from labview example"counter - continuous output", pupose to update output character if duty/frequency change during vi run.

frequency works, duty case actived but value not update to output.

I don't know what's the difference between frequency case and duty case.

thanks~

ScreenHunter_4.jpg

0 Kudos
Message 3 of 8
(4,206 Views)

Do not attach pictures, but do attach your VIs.  I cannot fully inspect pictures (to see other cases), cannot execute the code in pictures, cannot help you if I'm looking at pictures, not code.

 

Bob Schor

0 Kudos
Message 4 of 8
(4,198 Views)

sorry, the vi in 1st page not works?

attach again~

0 Kudos
Message 5 of 8
(4,188 Views)

my device is USB6351

0 Kudos
Message 6 of 8
(4,182 Views)
Solution
Accepted by topic author johnnnywang

 

The answer is probably stranger than you expect.  It turns out that the two pulse timing parameters Frequency and Duty Cycle are not equally privileged.  (I believe the same kind of asymmetry applies when defining a pulses with High Time and Low Time.)

 

Frequency gets the privilege in the sense that pulse timing is only changed when a frequency value is written.  In order to change only the Duty Cycle, you need to drop down a DAQmx Channel property node, expose the properties for both Duty Cycle and Frequency, and write to both of them.  You don't need to change the *value* you write to the Frequency property, but you *do* need to write to it.   Since property node writes proceed from top to bottom, it's important to have the Duty Cycle property above the Frequency property.

 

Here's a more complete article.

 

 

-Kevin P

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
Message 7 of 8
(4,163 Views)

thanks kevin!

I used the solution for temporarily 

0 Kudos
Message 8 of 8
(4,138 Views)