NAOJ GW Elog Logbook 3.2
Displaying report 1-1 of 1.
MarcEisenmann - 19:27, Thursday 03 April 2025 (3980)

fully automated vi preparation
The goal is to push one button and get all the maps done at once.
This implies moving both the sample in and out the laser beam to take maps and rotate HWP between every 2 maps.
A test sub vi to control HWP is available. Note that it is required to install and use the Kinesis 32bit for 64bit windows to bit compatible with our Labview and previous vi.
The library is saved in the Labview scripts folder of PCI.
I am now simplifying several vi by adding clustering. all new or modified vi are with cyan background colors.
There was some issue with powermeter but Shalika keen eye found it to be due to misnumbering of the cluster in the close vi.
Also, the VI won't work if you don't open the Projecr first. This is because we are using several instance of .Net
The issue of the map with sample has been resolved. In general, when Vis which take instrument handle, like camera, power meter are inside a loop, should use shift register. The handles should be connected using shift register, otherwise we don't pass the handles to the next call of the VI.
Everything works fine now. We can take entire maps with different polarization, without need to touch anything in between measurements. Will just optimize speed here and there.
Today while starting measurements, all of a sudden the plotting function stopped working and we were not able to plot anything. At one point I wanted to set all values on front panel as defaullt so I used the option from labview in edit, and I ran the VI. By mistake I set the value of rotator to 560. The VI crashed. Since then the plotting stopped.
The issue was that when we use set all to default, labview also sets non user controlled stuff to default, like loop configurations. The plotting loop had some time contsant and labview overwrote it. I tried to make the function again with period 100. Now, the loop works fine. This was the only issue for now, but maybe we will have similar issues in future, coz idk what other values might have changed (for other vi).
I have saved pdf of front end backend as MapBirefringenceVI (in labview scripts), so that we can use for reference in case something weird happens.
We were having several moments of labview crashes. I saw that we had some patch available from NI, so labview has been updated today.
Other design updates
1. For polarizer rotator it's critical for polarizer to be able to access its NET properly. (I don't know why) If there are too many nested VIs the net have a hard time having the proper memory referencing. I added the polarizer subvi directly on the main vi. They work fine now. Also, there were several copies of the cage rotator DLL which was causing issues with proper referencing. This can be changed later if it's too annoying. But, I feel it's better to have polarizer controller accessible on main VI, as we might require to tune the initial (first) polarization manually.
2. The sequence is polarizer rotates, map without sample, map with sample.
3. Set initial position of map, and polarizer. Such as start making map with initial polarizatiion as 's'.
the only issue that remains is when the first map (without sample) is made everything is fine. When VI moves to make map with sample, all value goes to nan. Then for 2nd map, everything for map without sample is fine. So, there is a repeatable issue, when making map without sample and with sample.