Technical Issues - FilmStar News 2016

Other editions: 2006, 2007, 2008, 2009, 2010, 2011, 2012
2013, 2014, 2015
, 2017, 2018, 2019, 2020, 2021, 2022, 2023



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.

In the Spectra database, enable layout mode, right click [Coating Type], clicking Select Field to activate the Inspector. In the Inspector Control Style frame (below left), click the Edit button and specify drop-down values from Design_12.fmp (original example provided in FilmStar Database).

 
Layout mode
Value List Control Style


Specifying Design Value List in the Spectra database


The Design database need not be open when using its value list(s). Editing value lists is simple, but not the best solution since value lists are somewhat inflexible and inconvenient. It's better to have the list in a database table, especially important when there are many designs.

Referring to the Design database, Use values from field  (rather than manually editing value lists) is the recommended method. Create a new table, e.g. Coating Types with at least one field, e.g. Description List as in DesA.fmp12. The table ultimately appears in the SpcA.fmp12 drop-down as shown at the right. The procedure may be confusing at first, so you might want to contact us for an online explanation via ZOOM. (Be sure to save DesA and SpcA in the same directory.)

The same methods apply to other lists: employees, PO numbers, customers, etc. Those values might be in another FileMaker Pro database (supported by FTG) or in a corporate enterprise database (via ODBC supported by your IT department).



Coating Types in DesA.fmp12
 


Coating Type drop-down
in SpcA.fmp12
 


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?

We briefly examined this issue using Gedankenspektrum methods (click here and here). Starting with known n,k we compute spectra and convert to optimization targets (DESIGN) for reverse-engineering by damped least squares. If successful we get back our original n,k.

A minor variation of IndexSolve.bas was utilized (setting Public Const IndexRow = 2 to vary substrate index and deleting or commenting-out SpecTargets False, "T"... since only %R is used). IndexSolve.bas does a wavelength-by-wavelength fitting at multiple angles. [Tutorial: Gedankenspektra for 30 nm Ag can be found here (..\Basic32, ..\Designs, ..\Spectra). Use FILM Archive Ag Solve.faw to solve for n,k and Ag Setup.faw to generate spectra sets.] Users who need help with IndexSolve.bas should contact FTG Software for an online run-through via ZOOM.

In the work shown below we generated Gedankenspektra at 6° and 60° P/S pol. The method seemed very promising until noise (AddNoise.bas) was added to simulate measurement inaccuracies. This is shown in the INDEX graph below where a noise level of SD = 0.05% resulted in a Solution deviating from the original n,k curve. In the case of zero noise, the Solution overlaps actual n,k values.

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 Interactor helps us determine wavelength, angle and polarization settings which might be useful for n,k determination. Use Setup.. Adjust Indices <Ctrl A> to vary index coefficients.

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)

The Collector adds a Calculate button enabling DESIGN users to compare measured and calculated spectra over a wide angle range. The button is enabled only when calculating %R or %T.

The DESIGN Spectra Collector does not require measured data. This makes it useful for comparing designs. It is compatible with the Collector in all MEASURE versions.

The same functionality is possible with BASIC, but the Collector is simpler. A major benefit is that Collections are saved as Excel XLS files via File...Save Collection.

As discussed before, <F4> plots spectra in FSPlot as well as on the main screen or Interactor. Shift and Ctrl keys add multiple plot options in FSPlot.

Blue columns indicate calculated data (green columns: measured data; black columns: normalized spectra).

Users lacking FilmStar MEASURE support can import Excel files following the Collector format in which measured (raw) data is given in dark green (0, 128, 0).


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.


Specifying automation
macro in the Interactor


0-60° deg x 15° P pol

' 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 line.
 


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?

FileMaker does, however, include a DDE Execute command. The required FileMaker Script Workspace setup is displayed here. Service Name is the EXE name; Topic is "Main".

DDE macro command BasRun triggers the same BASIC code typically run from a MEASURE button. This works well, but there is no easy way to disable FileMaker data entry while BASIC code is still running.

QA technicians cannot be permitted to modify the database while BASIC is running. Our 'pretty good' solution is to maximize MEASURE (thus hiding FileMaker) with BASIC MainWindow 2, later restoring with MainWindow 0 as shown below.

 


MEASURE maximized with BASIC
MainWindow 2 while scanning


Normal windows restored
with BASIC
MainWindow 0

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 release.

Why initiate scans in FileMaker? You might want to export scan settings from FileMaker to FilmStar BASIC before scanning. Examples: method file name (*.scw), range settings, graph title, etc. Data transfer can be accomplished with Export Records, saving to a text file that can be opened in BASIC. A FileMaker plug-in such as File Manipulator offers further functionality.
 


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.


New style Title Bar and commands to quickly change directories


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"
SetTitleBar ' Blank restores default Title Bar

Please contact FTG Software for suggestions and assistance with other possibilities, such as transferring path settings from the (FileMaker Pro) FilmStar Database.

Back to Technical Issues

Copyright © 2023 FTG Software Associates
Last updated on October 11, 2023