12-06-2014 05:30 AM
I am trying to measure the power from an array of twelve lasers. I only have one power detector to take these measurements, therefore i must turn off all of the lasers but one and iterate through the array turning off all other lasers but the one being tested. I also need to somehow display the power of each laser on some kind of level indicator. I am mating a lens array to the laser array and need to be able to optimize the alignment so i need to maintain the power level from the previous channel measurements. Any help that can point me in the right direction would be appritiated.
12-06-2014 10:23 AM - edited 12-06-2014 10:32 AM
@jeb3078 wrote:
I am trying to measure the power from an array of twelve lasers. I only have one power detector to take these measurements, therefore i must turn off all of the lasers but one and iterate through the array turning off all other lasers but the one being tested. I also need to somehow display the power of each laser on some kind of level indicator. I am mating a lens array to the laser array and need to be able to optimize the alignment so i need to maintain the power level from the previous channel measurements. Any help that can point me in the right direction would be appritiated.
Use a while loop with an Event structure (there is a template too in LV).I guess one measurement is quick, isnt it? If the measurement takes longer, you could use a bit more advanced template, so your GUI will stay responsive...
Each measurement is done when you choose which laser to measure, and you incrementally build up an array. I mean, you replace elements of this 12 sized array.
I would do it like this (download this png snippet, it also contains the VI if you drop it into LV):
12-06-2014 12:02 PM
Yes, it is reasonably quick, I am getting measurement spikes which don't reflect the actually reading on thee measurement device so I may need to increase my delay. I am currently taking a single measurement every 100ms; i am using a serial device and its responsive will likely be the limiting factor. Anyway one thing at a time. I am pretty new to LV so sorry if this is obvious, but, are you using the channnel number for your events? Would i duplicate this code for all twelve channels? What is button 1 doing?
Thanks for you response!,
LV Newbie 😉
12-06-2014 09:50 PM - edited 12-06-2014 09:54 PM
Pictures added for clarity. I have been able to interate through the channel and display the power for that channel. But, once it increments to the next channel the previous channal goes back to zero.I need it to keep that last value.
12-06-2014 09:51 PM - edited 12-06-2014 09:59 PM
Sense I am trying to optimize the coupling between the laser and a lens array, using tanks in an array to display each channel and updates the tank for each channel as the power for the channel is measured. It looks something similar to the graph below.
12-07-2014 05:51 AM - edited 12-07-2014 05:59 AM
hello, it would be easier to help, if you show us your VI, and explain what is your goal with it.
edit1:
Yes, it is reasonably quick, I am getting measurement spikes which don't reflect the actually reading on thee measurement device so I may need to increase my delay. I am currently taking a single measurement every 100ms; i am using a serial device and its responsive will likely be the limiting factor. Anyway one thing at a time. I am pretty new to LV so sorry if this is obvious, but, are you using the channnel number for your events? Would i duplicate this code for all twelve channels? What is button 1 doing?
Thanks for you response!,
LV Newbie
Did you download my VI and checked it? If so, you will see how it works.
12-07-2014 12:30 PM
I tried to mimic it, not sure what to DL(it is just .png) i tried to find the example in LV help and I tried to re-create based on the picture provided. Below is my original code. Sense I do not have access to the DUT (device with the lasers), I modified so that i could simulating the data with random number generator.
12-07-2014 12:35 PM
it is a special png file, called snippet. it also contains the vi. download it and drop it into LV.
12-07-2014 12:50 PM
Below is what i have for the for this .vi. Ultimately, the operator will be able to select n channels or combination of channels and the code will interate through the lasers selected one at a time and diplay the result. I need the display to maintain the last measurement for each laser tested until the program is stopped or manually cleared by the operator.
12-07-2014 12:53 PM
Use shift register as I already told you. see my example VI.