Technical Issues - FilmStar News 2016
February 11 Cary UMA Support
Some advantages, perhaps best appreciated by current UMA users:
Scan sequences are
developed via the dialogs shown below. It's easy to specify a
multi-sample sequence using the same baseline (0%, 100%) settings.
In the case of the PIKE and other multiple-sample holders,
specifying Num samples > 1 automatically generates numbered
worksheets. A FilmStar BASIC macro drives the autosampler utilizing
sheet numbers to ensure proper placement.
Clicking OK generates the confirmation screen shown below.
The final scan sequence can now be inspected. There is an option to scan a 0% baseline or just assume it's zero as shown here. While the scan sequence can be saved in Excel format, it is also saved automatically. Should the UMA Sequence Builder not meet requirements, users can create sequences in Excel.
The Collector is finally ready to scan and fill blank cells. Users are prompted to mount each sample. In Auto Sample mode automation, however, a BASIC macro automatically selects the next sample.
Scan completed! Green numbers indicate raw machine data. Clicking Setup..Normalize adjusts for baseline measurements, adding new columns in black. Optionally auto-delete raw data before saving.
Finally, averaging P and S as well as positive and negative sample angles gives the following:
The Collector is integrated with the FSPlot Module. Open FSPlot and select one or more columns and hit <F4> to create plots such as the one shown below.
The Spectra Collector can also be
opened in DESIGN, providing seamless integration between multi-angle
measurements and analysis. Agilent Technologies kindly provided a
Cary 7000 for FTG development. While we no longer have access
to the instrument, MEASURE Test Mode enables us to demonstrate
features via our Glance facility.
Integration with the UMA Solids Autosampler (manufactured by PIKE) and similar devices is provided through new BASIC function ScanPart$() which transfers worksheet labels (sample names). When Num samples is greater than one, each sheet is automatically labeled with "01" to "99" appended to Description. In the code below we've assumed that position #0 is empty. This simplifies operation since the autosampler can be left in place during 100% baseline (reference) scans.
Sub Main ' Same BASIC syntax as Cary ADL Select Case ScanPart$() Case "0%" ' Required only if scanning blocked beam Case "100%" ' Empty part position #0 MoveTo 0 Case Else ' Extract sample part number MoveTo Val(Right$(ScanPart$(), 2) End Select End Sub Sub MoveTo(ByVal PartID%) ' Coordinates provided by PIKE (see below) End Sub
In the unlikely
event of a computer crash during an extended data collection,
Auto Backup enables Crash Recovery whereby scanning resumes at
the failure point. Contact us for an online demonstration.
May 24 PIKE Autosampler Support
The following MEASURE BASIC code was tested with a PIKE Technologies autosampler mounted in a PE Lambda 1050. Interestingly, the instrument was 3500 miles from Princeton and accessed via FlexiHub. After installing PIKE USB drivers on our computer (OPTIPLEX390) and connecting to the remote USB port the autosampler acted as if attached locally.
PIKE autosamplers are available for FilmStar-supported PerkinElmer Lambda and Agilent Cary. In this case autosampler position is specified by radius (mm) and angle theta (deg). Other PIKE autosamplers are treated similarly via EXE files (in this case MoveToPoint.exe and Position.exe), easily tested in a Command window. Simple handshaking via position.txt ensures that the autosampler has arrived at the correct position.
Option Explicit Const Path$ = "C:\PIKE Technologies\AutoPro6\" Const Devc$ = "UMA_AUTOSAMPLER" Sub Main MoveTo 3 ' Test case ' Scan ' Save data in Excel or wherever End Sub Sub MoveTo(ByVal PartID%) Select Case PartID ' Coordinates supplied by PIKE Case 1 MoveIt 0, 0 Case 2 MoveIt 40, 90 Case 3 MoveIt 40, 180 ' ... ETC ... End Select End Sub Sub MoveIt(ByVal Radius!, ByVal Theta!) Dim c$, s$, k&, iTry% c$ = " " & CStr(Radius) & ", " & CStr(Theta) k = Shell(Path$ & "CommandLine\MOVETOPOINT " & Devc$ & c$)' Move Do Wait .5 ' Delay k = Shell(Path$ & "CommandLine\POSITION " & Devc$) ' Interrogate Open Path$ & "PositionOutput\position.txt" For Input As #1 Line Input #1, s$ ' Coordinates Close #1 iTry = iTry + 1 If iTry > 20 Then ' Allowing 10 seconds for operation MsgBox "Uh oh...problem", vbCritical, "PIKE Accessory" End End If Loop Until InStr(Replace(c$, " ",""), s$) > 0 Debug.Print "Got there!" ' Bravo End Sub
Need help implementing automation
procedures? Contact FTG Software for assistance. The code shown
above will also work in Excel. European users should set "." as
decimal point and "," as separator.
June 6 Design Value List in Spectra Database
Using the FileMaker Pro FilmStar
Database? You need to include design information (typically FILM
Archive file names) when saving spectra. How else can you compare spectra corresponding to
the same designs? Typing descriptions is error-prone, so a drop-down
list is required. While the list can be typed (also error-prone) in
the Spectra database, it's much better to utilize values
already in your Design database. This is implemented with a
Design value list in Spectra.
August 1 Metal n,k with Reflectance Data?
A user contacted us hoping that n,k
for a semiconductor film on a metal substrate could be determined
solely from reflectance measurements. The first task is to compute
n,k for the uncoated substrate, typically accomplished with ellipsometry. Can
reliable results be obtained with reflectance measurements?
How good is the blue (very bad) n,k Solution shown above? As can be seen below, quite good indeed!
Repeating for Ag over the same
wavelength range was somewhat encouraging and left for you to try. In that case k values
were somewhat impervious to
noise, while n values scattered.
The need for accurate data at high angles of incidence in
problematic. A goniometer-based instrument like
Cary UMA or PerkinElmer ARTA probably
offers the best chance for success.
The problem is illustrated below where multiple solutions can hardly be distinguished.
As shown below, hope is provided by P pol reflectance. Varying n,k to match spectra near 75° results in desirable mismatch at smaller angles. While ellipsometers are designed for accuracy at high incident angles, spectrophotometers are generally not. (It seems unlikely that Agilent or PE would guarantee accuracy at 75°.) Another complication: in real materials n,k at high angles will differ from n,k at 0°.
October 19 Spectra Collector DESIGN Upgrade (Modified 09 May 2017)
November 2 Interactor Custom Plot
A user requested the ability to show averages in an Interactor plot. This is easily accomplished with BASIC macro GetAverage.bas listed below. Copy and save in c:\Winfilm\Basic32. The next step is to specify the macro in the Interactor Automation section.
' GetAverage.bas for FilmStar DESIGN ' Copyright 2016 FTG Software Associates Option Base 1 Option Explicit Sub Main Dim i%, k%, xDat!(), yDat!(), nDat%, yAve!, ySum!, s$ If AxesYtype = "R" Then k = 1 Else k = 2 xDat() = Spectrum_X: yDat() = Spectrum_Y nDat = UBound(yDat, 1) For i = 1 To nDat ySum = ySum + yDat(i, k) Next i yAve = ySum / nDat ' compute average 'Display "Average = " & Format$(100* yAve, "0.00") & "%", _ ' "Interactor", 5000, 3500, "Verdana", 11, False s$ = CStr(xDat(1)) & vbTab & CStr(yAve) & vbCrLf & _ CStr(xDat(nDat)) & vbTab & CStr(yAve) & vbCrLf Clipboard s$: DataPaste End Sub
Uncomment the line
Display "Average = "...
to display numerical values. Plot doesn't work? One possibility is
that Spectra...Format Options is set to paste 0-100% values instead
of 0 to 1.0. Just change the setting or set yAve = 100 * ySum / nDat
in the compute average
November 30 Scan Command in FilmStar Database
A user wants QA technicians to click 'Scan' in the FileMaker FilmStar Database rather than in MEASURE. FileMaker accepts ActiveX commands from MEASURE but cannot send them. So how can we implement a Scan command in FileMaker?
In the above we mentioned a 'pretty good' solution. This can be
increased to 'excellent' by eliminating the possibility of manually
adjusting or closing the MEASURE window. That might be necessary,
for example, if creative QA technicians decide to play games or
watch videos while scanning. This feature can be added in a future
December 8 Organizing Projects in DESIGN
In order to separate coating projects (typically for different customers), DESIGN's Title Bar adds path information. New menu command File.. FILM Archive Path quickly sets Designs, Parameters and Spectra default directories. The n,k Tables path is never modified.
Default displays default FILM Archive path. Click Default to review and reset paths. Change displays the FILM Archive path for the last file opened but is disabled when the current path is also the default path. Click Change to assign default paths to a newly opened FILM Archive path. Click Browse to set a new directory as default path. As there is no New Folder browser option, use Windows Explorer to create directories. Procedures become clearer after a few minutes testing the options.
Users who don't need multiple design directories can check Remove 'Archive Path' in File.. Configuration.. Directories. This deletes the FILM Archive Path menu and restores the original DESIGN Title Bar. Note that Files opened by the Design Recorder are designated by "???" to indicate unknown origin and status of the recorded design. Take care not to overwrite a better design and remember that the Design Recorder is meant for temporary storage and is not intended to replace File.. Save As!!!
Need further options? Advanced users can customize directory operations as in ..Winfilm\Basic32 examples: SetPath.bas (files in single directory), SetPathMulti.bas (different subdirectories), DefPath.bas (default directories). If missing, click here to download a collection of .bas files. Customize the Title Bar with new BASIC Sub SetTitleBar. SetTitleBar without string restores the default Title Bar.
SetTitleBar "Edgerstoune Optics: FILM Archive " & FileName(8) & ".faw"
Please contact FTG Software for suggestions and assistance with other possibilities, such as transferring path settings from the (FileMaker Pro) FilmStar Database.