LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Delay IO

Hello,

 

I'm trying to control 2 solenoid valve with USB-6343.

What I need to do is close 1 valve and 1ms after send the command to open another valve.

Right now, it takes between 10 to 15ms before the first command is executed.

Need to reduce that time to 1ms.

Is it possible?

 

Thank you

0 Kudos
Message 1 of 12
(3,305 Views)

Not likely with static digital lines.  I see that the USB-6343 has hardware timed digital lines.  You could use those.  Build up a digital waveform that has the two channels with the second going high 1 ms after the other and write the waveform.


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 12
(3,300 Views)

Hi!

 

never used the hardware times digital lines.

Do you have an example on how to do this please?

 

Thanks

0 Kudos
Message 3 of 12
(3,275 Views)

Go to Help >> Find Examples in LabVIEW and search.  The one I found that looked promising is the Digital - Finite Output but there are many more.

0 Kudos
Message 4 of 12
(3,273 Views)

Did check it.

 

Not sure it does what I need.

 

I just need to toggle the output (channel 1 from ON to OFF) and then 1ms later toggle the other output (channel 0 from OFF to ON)

0 Kudos
Message 5 of 12
(3,242 Views)

@Goncalo wrote:

Did check it.

 

Not sure it does what I need.

 

I just need to toggle the output (channel 1 from ON to OFF) and then 1ms later toggle the other output (channel 0 from OFF to ON)


No it doesn't do what you need, what it is, is an example on how to generate a finite output that is hardware timed and will reliably set outputs without needing to talk to the OS...which is one of the things you described needing.

0 Kudos
Message 6 of 12
(3,239 Views)

I still don't understand how can I manage to keep 1 ms between 2 writes.

I just need to toggle 1 output then 1ms later toggle the other one

0 Kudos
Message 7 of 12
(3,196 Views)

Hi Goncalo,

 

using a sample rate of 1kS/s will give you a dely of 1ms between two samples.

All you need then are two boolean waveforms, where the 2nd one is delayed by just one sample…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 8 of 12
(3,193 Views)

This is my problem!

 

Never used the waveform and the hardware timing so I don't know how it works!

I have 2 solenoids.

Need to activate solenoid #2, wait 1ms and then deactivate solenoid #1.

waveform #1 is for solenoid #1 and waveform #2 is for solenoid #2

 

Current status for solenoid #1 is activate (1) and solenoid #2 id deactivate (0)

Now, there is a change of status so need to do my procedure

So, waveform #1 will have 000 and waveform #2 should have 001

 

I'm I correct?

0 Kudos
Message 9 of 12
(3,188 Views)

Hi Goncalo,

 

Never used the waveform and the hardware timing so I don't know how it works!

That's why we already suggested to examine the example VIs coming LabVIEW/DAQmx!

Did you?

Instead of repeating "never used so far" you should say "now it's time to use it for the first time"! 😉

 

I have 2 solenoids. …

You already told us all this. No need to repeat!

Use hardware timing for DO channels, setup some boolean waveforms as needed…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 10 of 12
(3,184 Views)