User Guide and Documentation for Tylan Furnaces by techmaster

VIEWS: 0 PAGES: 14

									        NCSU
N
    N    Nanofabrication
        F Facility
                           User Guide and Documentation for Tylan Furnaces

Introduction
Due to the failure of the “Tymer 16”, it has been determined that a new controlling
system would have to be developed. The following document is an overview of how to
use the software created for the Tylan Furnaces as well as an in depth look at how the
interface between the software and furnaces were created. The software was
programmed in LabVIEW 8.0 and can only run with version 8.0 and higher due to special
features relating to the timer. The interface consists of the following, a controller card,
cable, connector block, and relay circuitry. The controller used was the NI-6023e which
features eight (8) digital inputs and/or outputs and sixteen (16) analog inputs. It is a PCI
card made to be installed in a computer permanently. Due to the nature of the project,
only the digital I/O was used. The MFS 460 controller and furnace controller was not
changed. Now, where there was a “Tymer 16”, there is now an individually created
LabVIEW program and a separate hardware interface. The program and the interface are
interchangeable, meaning if any part of the interface fails, that part of the interface (or the
whole interface) can be replaced without modifying the software. Some modifications
outside of the software may be necessary. These modifications will be discussed later.

Using the software
Using the software is very simple. Just like the "Tymer 16" controller, the software is
always running even when the furnace is in its idle state. This is because the software
also serves as a visual representation of what the state of the furnace is in (i.e. is the N2
on in IDLE, is the furnace being used, etc.). The following are pictures of the software in
various states.

This is what the program should look
like for the majority of the time. In
this mode the program can tell the user
which digital outputs are currently
activated. This is important because if
someone were to accidentally hit a
key, a random unwanted gas wouldn’t
come on and ruin an entire run, but
also because it gives the user the most
important information. It should be
noted that at all times the following
information is visible to the user: the
current state the software is in (“Boat
In,” “Wet Oxidation,” “Idle,” etc.), the
time remaining in the current step of
the program (or zeros if the software is
in Idle), and the name of the furnace
for the particular software.
This is what the program should look
like if the user wanted to program the
functionality of a step within a
program. In this mode, the user will
not be able to see the times or the
maintenance buttons even if the “Edit
Times” and “Maintenance” buttons are
pressed. The “Program” button has
priority. You will notice when you
open the program for editing that a
lot of buttons are already true
(indicated by green arrow). This is
the default program. Most users will
use the existing program and simply
change the times. Note: D1/D4, D2,
and D3 now have different steps and
default programs. Note: Once the
default program is changed, the
software does not reset it. Make sure
to always check the program to ensure
it is correct.




This is what the program should look
like in maintenance mode. The
maintenance mode is used primarily
for manually boating in and out of the
furnace. It is also used if the program
crashes and the state of the furnaces
need to be changed. It should be noted
(and will be mentioned again later)
that if the software does crash then the
controller output will not change until
the computer is restarted or the
software is restarted. Even after both,
the user will then need to employ the
maintenance mode to bring the boat
out and set-up for a new run. Note: If
the computer crashes then all digital outputs are turned off.



This is what the program will look like
when the user wants to edit the times
of the steps in the program. The times
shown are the default times when the
application starts. If times are
changed, not all the times will reset to
their default values. Only the active
step time will reset to zero when either
the run completes or the run is aborted.
The run cannot be started if the active
step time is still zero. A zero time for
any other step will still allow the
program to start. This is a feature of
the program to insure that data is
entered into this block. It is best to
click the “Edit Times” button again so
as to make the times disappear. Times
are in minutes and any value can be
entered. i.e. 120 minutes (equivalent
to 2 hrs) or 0.1 minutes (equivalent to
6 seconds).



This illustrates how both “Edit Times”
and “Maintenance” can be displayed
on the same screen at once.
Quick Guide
   1) Log into EUTS system
   2) Determine which furnace you will be using and match it to the right software
      panel. Pay attention, since all the software panels looks alike. Furnace tube name
      is in the upper left corner of the software panel.
   3) Fill the boat with the wafers for the run. After the boat has been filled use the
      “Maintenance” button to bring the boat out. Click on the “Boat Out” switch.
      This will bring the boat out for you to load your wafers. After the boat is
      completely out, the “Boat Out” switch should be disabled as well as the
      "Maintenance" button depressed. This will ensure that no other switches are
      pressed accidentally. Do not press "Boat Out" until you are ready to load the
      wafers into the furnace.
   4) Select “Program” button. The default program will pop up unless another user
      has used the software before you and changed the default program. Confirm
      events are correct and change if necessary. Select “Program” again to ensure
      program stays as programmed.
   5) Select “Edit Times” and enter the times (in minutes) for each step. Note: the
      software will not allow you to run until there is a value >0 for any step that has a
      0 default. After the times have been updated, select “Edit Times” button to enter
      in the changes. Also the cursor must be placed outside each time box that was
      changed; otherwise the time won’t be saved.
   6) Verify that the Program and Times are correct. It is always good practice to
      double check that everything is correct before proceeding. This ensures valuable
      resources (including your time) are not wasted.
   7) Select run. Boat in should be the first thing displayed in lower left hand corner.

   Things to note about the software during the run state
   1) The “Maintenance” button can be pressed but the switches are inoperative.
   2) The “Edit Times” button can be pressed and the times can be changed at any time
      during the run. This includes the time for the current step. So if the user wants to
      change the time of the step he/she is currently in, the time can be change and the
      time remaining will update accordingly.
   3) The “Program” button can be pressed and the program can also be changed at any
      time during the run. This also includes changing the program during the step the
      user is currently in.
   4) If the “Abort” button is pressed, the “zero default time” is reset to zero (0) and the
      software goes to the “Idle” state which only flows N2.
   5) If the “Next Step” button is pressed, it should not be pressed for a long period of
      time. It is possible to skip through multiple steps due to limitations in the
      software. The maximum time allowed for the “Next Step” button to be pressed is
      approximately 150 milliseconds. The “Next Step” button allows the user to skip a
      step if necessary.
How the software was programmed
The following is a look into the dynamics of the software. This might give the user a
better idea of how the software works and its capabilities both present and future.

The software is comprised of two (2) major components. The first being a while loop
that always executes every 150 milliseconds. This while loop has four functions.
     Sums all the times into a total time.
     Reads the status of the DO and turns on/off an LED based on the results.
     Compiles the “program” into a 2D array.
     Contains the property nodes for all LEDs, programming buttons, maintenance
        mode switches, and times boxes.




Property nodes allow the program to “hide” buttons, LEDs, and anything else that is on
the front panel.
The second component is a state machine. A state machine, for those who do not know,
is a way to control what actions are to be taken at what time based Boolean control logic.

The following is a pictorial representation of the Tylan state machine.

                                                              Tylan D Bank State Machine
                                            Times Up or Next Step                Times Up or Next Step
                                                   True                                 True
                                                                                                                                 Times up:
                         No action
                                                                                                                                   False


                                                                               Boat In
                                                             Abort:
                                     Idle                    True                                                    Stabilize
                                                                                           Times up:
                                                                                             False
                                                                                                           Abort:
 Times Up or Next Step                                                                                     True      Times up:
                                       Times up:
        True                                                                             Abort:                        False          Times Up or Next Step
                                         False
                                                                                         True                                                True
                                                   Abort:
                                                   True
                               Boat Out                                                                              Ramp Up
                                                                                                  Abort:
                                                                                                  True

                                       Times up:            Abort:                                                   Times up:
                                                            True                                                       False          Times Up or Next Step
 Times Up or Next Step                   False                                 Abort:                                                        True
        True
                                                                               True                      Abort:
                                                                                                         True
                                                                                                                       Pre-
                             Ramp Down
                                                                     Abort:                                          Oxidation
                                                                     True


 Times Up or Next Step                 Times up:
        True                             False                                                                                        Times Up or Next Step
                                                                                                                                             True
                                                                                                       Times up:
                                                            Times up:
                                                                                                         False
                                                              False            Post-                                   Wet
                                Anneal
                                                                              Oxidation                              Oxidation




                                                 Times Up or Next Step                       Times Up or Next Step
                                                        True                                        True



For example, if you are currently in the Boat In state, the user can only go to three other
states from there: Idle (if the abort button is pressed), Stabilize (if the timer sends a times
up signal or the next step button is pressed), and back to stabilize if nothing satisfies the
Boolean logic to go to either of the other two states.
Below you will find a picture of the actual “code” to the software. This picture is of the
Boat In state and you can see how the control logic was programmed.




In this state, the outputs are set based on the array created from the program. Also the
state is checking to see if the “Next Step” or “Abort” buttons have been depressed. If the
“Next Step” button has been depressed, then the state machine moves to the next state. In
this case the next state is “Stabilize.” This state is also checking to see if the time is up
yet. If the time has not yet reached zero (0) then the state machine stays in the current
state. These Boolean controls are checked every 150ms and if no “True” statements are
issued, the state executes again and again checks for a “True” statement.
Also for good measure this is what the Idle state looks like.




Basically in this state, N2 is set to true so that N2 is always flowing when the tool is just
sitting there. It also allows the user to use the maintenance mode switches. This is the
only state that maintenance mode switches can be used. It also has control logic that does
not allow the user to start the run with a zero (0) time for the wet oxidation step.

Other things
As I stated above, the software can be used with any of the cards in any of the slots. In
the Idle state, the “D1” can be changed to D2, D3, or D4 to control the other cards. In
case of a card failure, another card must be installed and set-up in the measurement and
automation software.
Hardware and Backend Software
The LabVIEW software created is only one part of interfacing the Tylan Furnaces to
LabVIEW. This section will guide the user on how to set-up the hardware and backend
software required to make the Tylan Furnaces interface with LabVIEW.

I will start with the backend software.

First off it is important to mention that only LabVIEW 8.0 and higher should be used.
This will guarantee that all Sub VIs work as they should, specifically the timer VI. As I
stated before, we are using the NI 6023e PCI interface card. This card comes with
software called Measurement and Automation Explorer. This software is the key to
interfacing LabVIEW with the card and the card with the Tylan Furnaces; however,
simply installing this software is not enough. The software that comes with the 6023e is
old and outdated and will not function without first updating it to the latest edition.
Currently at this point in the project, the most recent version is version 3.1. Key features
of the update that allow LabVIEW to control the card is “Traditional NI DAQ Legacy
Support.” After upgrading the Measurement and Automation Explorer software, you can
now set-up the 6023e card within it.




On the left side, under “Devices and Interfaces”, is where all of your 6023e interface
cards should be listed. Above “Devices and Interfaces”, you will the “Data
Neighborhood”. This is where you must set-up the card to be interfaced with LabVIEW.
To do this, right click on the Data Neighborhood and then click “Create New…” This
will bring you to a new screen where you must configure the virtual DAQ channel that
LabVIEW will use to interface with the card.
At this point, click finish and this will take you to yet another screen.




Since we are using only the eight (8) digital inputs/outputs, you will choose the “Digital
I/O” option and then click next.
At this point, the user must give the name of the virtual channel to be set-up. This is also
the name that will appear in LabVIEW so it should be named accordingly (i.e. D1, D2,
D3, D4, C1, C2, C3, and C4). Click Next.




Now the Channel Wizard will ask which type of Digital I/O the interface card is to be
used. The type for the 6023e is going to be “Write to Port.” Click Next.
Now the user must choose which 6023e card to use for the Virtual Channel being created.
Choose the card and then click next.




The last screen let’s the user configure if any of the ports are to be inverted. For the
Tylan Furnaces, none of the ports are inverted so just click finish.
This process will need to be repeated for each 6023e card that is installed on the
computer. Since the D bank has four (4) furnaces, four (4) cards need to be installed,
thus each card needs to have a virtual channel set-up in the Measurement and Automation
Explorer.

Along with the cards, a 68 pin e series cable and the CB-68LP connector block is needed.
The cable connects the card with the connector block and the connector block is where all
the inputs and outputs are connected. The card, cable, and connector block, work as a
whole system to allow LabVIEW (and the user using LabVIEW) to control the Tylan
Furnaces. Below is a copy of what the pin outs are on the 6023e. Since this is a
completely digital system (so far anyways), only nine (9) of the pins will be used. One
(1) pin is used for each of the eight (8) digital I/O and one (1) pin goes to ground.




                                                                 CB-68LP connector block
So far, I have discussed the programming of the LabVIEW software, the installation of
the 6023e card and the set-up of the virtual channel through the Measurement and
Automation Explorer (which is the how LabVIEW communicates with the 6023e card)
and all the necessary accessories needed to make the system work.

The last necessary piece of information is how to create the rest of the hardware interface.
The following is a schematic of the circuit that was designed to connect the outputs of the
connector block to the circuitry that already existed for the Tylan furnaces. The “Tymer
16” programming controller has a 14 pin CPC (circular plastic circle) (Part#: 206044-1)
connector for the gases and boat in/out functionality and a separate three (3) pin Molex
connector for the temperature functionality.

  Input from the
                            Output to tool
                           Numbers refer to
                                                                              Looking at the schematic for the
 connector block           pin out for cable                                  “Tymer 16”, it was determined that
       N2                             2 N2                                    relay circuitry was needed. Each of
                                                                   1 Ground
                                                                              the eight (8) digital outputs requires a
                                                                              separate relay. All the gases have a
     O2 Low                        3 O2 Low                                   common ground and the boat in/out
                                                                              relays have a common ground. Pin
                                                                              outs are included. The left side of the
     O2 High                       4 O2 High
                                                                              circuit is the output of the connector
                                                                              block that is connected to the 6023e
                                                                              via a cable that was supplied with the
                                      5 H2
                                                                              6023e. The right side of the circuit
       H2
                                                                              shows the out of the relays along with
                                                                              the pin number associated with the
                                                                              individual digital output. Note: The
                                    6 HCL
      HCL
                                                                              “Tymer 16” includes a pin #7 that
                                                                              was determined to be unnecessary and
                                                                              thus not included. If you look at the
                                 Temperature
     Temp
                                                                              bottom of the circuit, you can see a
                                             Separate connector
                                             for the temperature              representation of what the relay
                                                                              consists of.
     Boat In                       8 Boat In


                                                                   9 Ground



    Boat Out                      10 Boat Out




                   Relay

								
To top