LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

100 microseconds pulse using PCI6533

For the challenge, the comparable as my last post with 1 for loop.  Not as simple as I would have thought!

Message Edited by Ravens Fan on 10-26-2007 06:02 PM

Frank,  I noticed something!

The sample clock is finite samples.  The samples per channel is unwired, but the default is 1000.  Try either continuous samples. or wiring in the 16000 to that samples per channel terminal and see what happens.  I'm thinking the clock only ran for 1000 samples, which is just long enough for the first channel's cycle.  The task ended right before the 2nd channel would have started because the clock ran out of samples.

Message Edited by Ravens Fan on 10-26-2007 06:06 PM

Message 31 of 37
(1,077 Views)

Thanks Ravens Fan. . . I will advise results on Monday.  Thanks again,

Frank

 

0 Kudos
Message 32 of 37
(1,062 Views)

Ravens Fan,

I had a system crush this morning and labview is not working.  I will have a new PC tomorrow and I will continue then with this test. . . Frank.

 

0 Kudos
Message 33 of 37
(1,031 Views)

Ravens Fan,

I played with both above proposed solutions but could not get the right results.  It looks like the maximum number of columns is 320 and 40 as the multiplier.  If I use any number greater than these numbers then I do not get any signals on the last line P1-7.  Please see attached picture for more details.

However I found a solution that is working by using a software delay (~100ms) and a precise pulse of 100us.  Please see attached picture for more details (vi also included).

I am not sure if there is an issue with LV or this card or maybe I could not find the right combination of options to make your proposed solutions to work.

At the same time I am really disapointed with NI's application engineers, by not helping in this situation.  I think there area many people out there that could utilize this type of information.

Anyway, thanks very much for you help and time on this matter,

Frank

 

0 Kudos
Message 34 of 37
(1,011 Views)

Are you getting any error message?

16 channels x true for every 40th pulse is  640 pulses.  You have only initialized a 320 element array which means you will only see the first 8 channels.  I don't know why you are now doing a 40 increment rather than the 1000 we were talking about before.  You change one thing, but change something else with it.  And your second picture now as a case statement and is only a 16 x 16 array.

If a software delay of 100 ms works for you, that's great.  Perhaps 32,000 samples x 32 channels is too much for this card,  ( or 16,000 x 16 channels). that it doesn't have a buffer big enough to hold all the data.  If that is the case, then you should have gotten an error message.

Perhaps if the channel to channel delay isn't so critical, you create a 1000 bit 1-D array with only the first bit true.  Create a task for channel 0 and write that in and run it.  When it ends, you know 100 ms as passed.  Create a new task for channel 1 and write the same array it.  Iterate through the channels.  Then you know the pulse on each channel will be 1000 ms apart plus whatever software time it takes to end and create each new task.

 

Message 35 of 37
(999 Views)

Ravens Fan,

I did not get any errors, I just think is not possible to create a delay of 25ms or more using this approach. I have tried many variations and at this point I am running out of time to complete this project.  I have attached a simplified approach, that creates a precise 100us pulse  with a software delay of 100ms.

Thanks again for you help on this matter.  Your input and ideas allowed me to understand and develop this and all previous code.  I really appreciate your time and effort to this issue. Smiley Wink

Frank

 

Download All
0 Kudos
Message 36 of 37
(981 Views)
I'm glad to hear you got it working to your satisfaction and I was able to help.  It helped me learn some new things as well.  Good luck on the application!
 
-Bill
0 Kudos
Message 37 of 37
(975 Views)