SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

Ramp and Soak application - cannot figure out how to get once per second event timing

Solved!
Go to solution

I'm trying to create a heater control in LabView SignalExpress 2009 (shown curiously in the Help About as v3.5.0).

 

 

It is a simple ramp and soak control algorithm.

 

Every fifteen minutes, I want to increment the heater setpoint value.

I've tried using a Sweep Function controlling the offset (V) of a Create Analog Signal step.  This generates a step function but the sweep runs as-fast-as-possible.  I need the swept value to change only once every 15 seconds.

 

The hardware I am using is the USB-6009.  It does not have any counter or clock functions.

 

Am I out of luck?  Is SignalExpress simply unsuitable for real-time-based operations?

 

I know how to put together what I need in LabView (I have 8.6 available) but there are all kinds of warnings about trying to import clock-relelated VIs into SignalExpress.

 

Any help would be greatly appreciated. 

0 Kudos
Message 1 of 12
(8,602 Views)

Hello,

 

I have tried messing around with the steps you have mentioned, and one thing I noticed that you can use is under the Create Analog Signal step, under execution control you can set the amount of time to delay after you complete the step.  If you are using a DC value signal and just sweeping based off the offset, you can set your Sample rate and Block Size as specified, and then adjust the Execution Control to wait before operating the next sweep step.

 

Let me know if this helps, or if I misunderstood your application.  Thank you!

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 2 of 12
(8,586 Views)

Using the post-execution delay after the Create Analog signal is a good idea.  However, it does cause other problems.

 

I've previously used a DAQmx Generate Analog Output (DGAO) step inside the sweep, using its update period to time the sweep.  

It was a "dummy" step used only for timing, because I found I could not output my staircase signal through that same DQAO step.

 

Attached are some screen prints of the configuration windows for a working staircase generator.

I can't figure out how to make this signal into an Analog Output.  If I add a DGAO step inside the sweep, it messes up the timing for the staircase waveform (step time becomes a function of the update period of the DGAO step).

 

If I add a DGAO step outside the sweep, the signal doesn't get generated until all the sweeps is done (on a Run Once).

 

This is a "Catch-22" situation and I would appreciate help overcoming this problem. 

0 Kudos
Message 3 of 12
(8,561 Views)

The biggest problem with interpreting results is that the Chart display for my staircase function shows the horizontal scale as seconds.  I don't know what it is but it is NOT seconds.  I thought it might be sweep iterations but that's not always true.  It does appear to be some multiple of sweep iterations.  I have to use a stopwatch to get the timing on my Run Once operation.  

 

You have to admit it's a little ridiculous to have to use a stopwatch to monitor what are supposed to be sophisticated graphing functions.  Does anyone know what that horizontal scale actually represents? 

0 Kudos
Message 4 of 12
(8,559 Views)
Attached Chart display of staircase waveform.  It actually took 483 seconds to reach the 3.2 Volt maximum, although the horizontal display shows approximately 34.5 seconds.
0 Kudos
Message 5 of 12
(8,558 Views)

The time scale looks to be a bug, as it does not take into account the execution delay on the system at all.  It is calculating the time based on the sample rate and the block size specified by the Create Analog Signal.  So, every 100m on the X scale seems to represent the execution time plus 1.5s post execution delay.  Since there are 320 steps, 320 * 1.5s is roughly the time you see measured as the actual time.  I will see if this is an actual bug or not, and if it is truly a bug I will post the Corrective Action Request number here for your tracking.

 

As long as you set the DGAO step to N samples and check the Use Waveform Timing check box, you should not see any timing issues with that step, and you can continue to control the timing using the post execution delay from the Create Analog Signal step.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 6 of 12
(8,526 Views)

Thanks for the bug check.  It's highly misleading, to say the least.

 

Unfortunately, the USB-6009 that I am using cannot be used in N sample mode nor in Continuous mode.  Believe me, that's the first thing I tried.  The only way I am allowed to use the DGAO is in "1 sample (On Demand)".  Otherwise, on Run, a DAQ Assistant Error shows Property:  SampTimingType, You Have Requested:  Sample Clock, You Can Select:  On Demand.    The USB-6008(and 6009) do not have the on-board sample clock for multiple sampling.

 

It's a real poser.   

0 Kudos
Message 7 of 12
(8,520 Views)
I see, yes you are correct that the 6009 does not have a timing engine.  So what happens if you change the Update Period (s) on the DGAO Step under the Configuration Tab?  Can you configure that to change the timing on your signal generation?  I was able to change the speed in which the signal was produced, yet once again the X-axis timing is to be disregarded because it is inaccurate to the actual time of the generation.
Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 8 of 12
(8,503 Views)
At this point, I can control the timing of the staircase using either the Delay before Execution parameter of the Create Analog Signal or the timing of a GDAO or a combination.  The biggest problem now is that I cannot DO anything with my staircase.  I would like to have it generate an output on one of USB-6009 analog outputs but I cannot figure out what the next Step should be. If I put a GDAO inside the sweep, it affects the timing without outputting anything.  If I put it outside the sweep, it completes the sweep first and I get one data point at the end.
0 Kudos
Message 9 of 12
(8,491 Views)
Solution
Accepted by topic author mistercat
I tried using software timing with my Data Acquisition card in the same manner your 6009 is going to generate the waveform.  I was able to get it to work, while controlling the points being drawn by using the timing in the DGAO step.  I am including my SignalExpress project and a screenshot of my output in SE versus my output in Test Panels for my device.  Let me know if you still are having problems with the 6009, and we may have to troubleshoot and make sure the device is working properly.  Thanks!
Kyle A.
National Instruments
Senior Applications Engineer
Download All
Message 10 of 12
(8,469 Views)