LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how can I tell???

A couple of quick ones..
 
1. There are only 8 enable/disable controls in 'No event' case.
Once they are unbundled in the "%xtalk vs # of channel' case, there are 9 (from 0 to 8)...
how can I tell which one is which?
 
2. In the same case, the for loop with N=4 enables each one and calculates the values...
when N=8, it creates a row of data with 8 columns...
 
how can I enable 2 instruments at a time (not just one) before calculate the value???
I do have the case structure inside for loop (N=2) to enable 2 pulse gens at a time.....
 
 
 
 
0 Kudos
Message 1 of 8
(3,028 Views)

Hi jjlee,

1)     In the future, right-click on the array-to-cluster node and select the cluster size, it must be a fixed size and was set to nine (the default.)  LabVIEW can't set it dynamically.

However, I removed th array-to-cluster...

2)  I re-arranged your code to understand it better, Re: N=4 I think it does what you want.

There are still some problems like some unititialized shift registers that will retain old data if you run this more than once.

If you have more questions, please re-write the code to fit in 1600x1200 pixels.  Smiley Wink

Cheers!

Message Edited by tbd on 08-10-2006 02:08 AM

"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
Message 2 of 8
(2,990 Views)

Hi tbd,

1. I think the modified VI is still generating 8 for '# of diff channel' on the x-axis. I was hoping to get 4 channels instead for each pair enabled.....so that would be just 4 scope measurements.

2. I also noticed that the program works if all 'enables' on the front panel are OFF. Otherwise, the VI 'disabled' all output channels. I am not why this is case though. So, I hope to clear the all enables to 'OFF' states, before doing 1. I think this will ensure that the VI runs more stable without the front panel status.

3. per uninitialized shift registers, how should I treat them? delete? add control?

4. How to make it to fit in 1600x1200?

thanks!

0 Kudos
Message 3 of 8
(2,964 Views)


@jjlee wrote:

Hi tbd,

1. I think the modified VI is still generating 8 for '# of diff channel' on the x-axis. I was hoping to get 4 channels instead for each pair enabled.....so that would be just 4 scope measurements.

2. I also noticed that the program works if all 'enables' on the front panel are OFF. Otherwise, the VI 'disabled' all output channels. I am not why this is case though. So, I hope to clear the all enables to 'OFF' states, before doing 1. I think this will ensure that the VI runs more stable without the front panel status.

3. per uninitialized shift registers, how should I treat them? delete? add control?

4. How to make it to fit in 1600x1200?

thanks!


Hi jjlee,

1) Why do you set N = 8, if you only want the loop to iterate 4 times?

2) This is the same behaviour as your original VI - I haven't changed this.  The scope-measurement occurrs in the TRUE case; the NAND is True when both Enables = False.  So you get a scope measurement when both enables are false.  Maybe you want a scope measurement when Either Enable is true(?) If so, change the the NAND to an OR.  Maybe you want a scope measurement only when both Enables are true(?) if so, change the NAND to an AND.

3) Go to the Array palette and find Initialize array. Use it to build an empty array of the same type as the shift register, and wire it to the shift register (left side of loop)

4) Set your monitor to 1600 x 1200 pixels and try to make everthing visible without scrolling.

Cheers!


"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
Message 4 of 8
(2,936 Views)

1) Why do you set N = 8, if you only want the loop to iterate 4 times?

-à I changed the N=8 to 4 then reinitialized all to default (all to disable states) then ran the ‘%xtalk vs. # of channel’ case. It seems like the VI enables the instruments 2 at a time (at least in the front panel), but it only enabled the first 4 instruments. I guess there must a glitch or two that prevents the VI to work as expected.

2) This is the same behaviour as your original VI - I haven't changed this.  The scope-measurement occurrs in the TRUE case; the NAND is True when both Enables = False.  So you get a scope measurement when both enables are false.  Maybe you want a scope measurement when Either Enable is true(?) If so, change the the NAND to an OR.  Maybe you want a scope measurement only when both Enables are true(?) if so, change the NAND to an AND.

-à I used the NAND because I plan on setting all instruments to ‘disable’ states, before it starts enable (2 instruments at a time), measure the data and save the data. I think this would be necessary to clear to set all to disable and start to enable instruments. BTW, is there a simple way to disable all aggressor instruments before the ‘for loop’ to run?

3) Go to the Array palette and find Initialize array. Use it to build an empty array of the same type as the shift register, and wire it to the shift register (left side of loop)

à Is this how it is done? (plz see the attached)

4) Set your monitor to 1600 x 1200 pixels and try to make everthing visible without scrolling.

-à The best I could do was to set to 1280 x 1024 with the old 15” CRT.

5) I couldn't quite understand your rationale for using 'Quotient & Remainer' (??)

Thanks!

0 Kudos
Message 5 of 8
(2,909 Views)

Hi jjlee,

      You're right, the Quotent & Remainder doesn't make sense - at least not if N=4.

Based on this diagram and your questions, I recommend you look at the LabVIEW style guide - at least pages 6-18 through 6-22.

Get a simple example working (with one instrument) then add functionality incrementally.

Right now there are too many problems to address - especially with the logic scattered about over this enormous diagram.

Be nice to the people whos help you're seeking - condense the logic so that it fits in a smaller area. Smiley Wink

Cheers!

"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
Message 6 of 8
(2,881 Views)
Hi tbd,
 
Thanks for your suggestions.
although it is still messy, I tried to fit the '%xtalk vs # channel' case in one window screen....(sorry the video card does not support 1600x1200)
I am still vague on how to enable the 2 aggressors at a time after disabling all aggressors first...
 
I hope to get this to work since I am in a crunch to meet the deadline which is within a couple of days....
 
Thanks,
 
0 Kudos
Message 7 of 8
(2,844 Views)
jjlee,

Although it's late in the game and I'm just seeing this for the first time, I don't see how the for loop that is being run twice (for the two aggressors) is meant to work.  It is running the same code twice -- there is no array being indexed to have the for loop run element 0 the first time, and element 1 the second time.

I definitely woudl recommend simplifying this and testing only the part you need to test, and then incorporate it into the main application.

Thanks,
berto
0 Kudos
Message 8 of 8
(2,793 Views)