Instruction Manual

Programming Basics 7-1
7 Programming Basics
Overview
This chapter introduces the fundamentals of developing dispensing programs in FmNT. These skills
prepare you for more complex programming in the next two chapters. It is essential to be familiar with
the tools you will use to program, such as the Vision System software. This chapter explains the use of
Model Fiducial Finder and Corner Finder in the Vision System. You will be taught basic tips on how to
define and recognize good fiducials and how to set up for edge detection.
The following subsections provide guidance on how programs are built in FmNT and also what tools are
used to create them. Read this section before going on to programming. Part of this exercise requires use
of the Tutorial Board and FmNT. You will not be dispensing, but you will be using the board.
Estimated time to complete: 60 minutes
Theory and Use of Programs
Programs are written for specific dispensing applications on specific dispensing systems. Typically, a
program written on one dispensing system must be modified slightly before it can deliver the same
degree of accuracy on another system. Therefore, it is important to write the program on the same
machine that will run the program.
Programs are composed of command instructions like any other machine-control program. The
instruction lines may seem cryptic, but can be easily identified. Commands can contain location
instructions, telling the dispensing head where to move, when to start dispensing and in what shape,
instruct the system to check fluid flow rate or temperature, to purge, and where to look for and how to
find fiducials. Basically, any function you want performed during a dispensing run should appear as a
command at the point in your program when you want the function to execute.
For example, the first level of a multipass underfill program might look like this in FmNT:
The first line of the program is a Purge command. The dispensing head will move to the Purge Station
and purge the valve for two seconds. The
LOOP PASS and the NEXT LOOP commands form a multipass
loop, which means that commands 3 through 10 will execute in order as many times as defined by the
LOOP PASS command in line 2.
Commands 3 through 10 are calling a separate dispensing program, titled “Multipass”, and telling it to
execute at the (X,Y) coordinates at the end of each line. This is called a “nested pattern” and will be
explained in greater detail later in this chapter.