Pacific Nanotechnology Inc.
LabViewT for Control of PNI AFM products
Introduction
Pacific Nanotechnology has developed a LabView™ interface for
customizing the Pacific Nanotechnology, Inc. AFM products. Although PNI
offers SPMCockpit™ software for acquiring and analyzing AFM images,
sometimes it is desirable to customize the software for specific applications. A scientist or engineer might desire an application for a special type of lithography, or a test that includes another piece of instrumentation such as a laser.
The Nano-R™ and Nano-I™ AFM products can now be operated with
the standard SPMCockpit™ software or with a GUI (graphic user interface) created with the LabView™ software.
LabView™ (Laboratory Virtual Instrument Engineering Workbench) is a graphical programming language that has been widely adopted as the standard for data acquisition and instrument control software. It is not platform specific and is supported on Windows, MacOS, Linux, Solaris™, and HP-UX.
Because of LabView's™ simple but powerful graphical interface, users can now expand and customize their instrument to fit their needs while still keeping the current functionality of the software. This allows the users to creatively explore the limits of their instruments without being hindered by software. They can also customize its abilities to collect and display images in any style they want.
To take advantage of the full power of LabView™ on the Pacific Nanotechnology AFM systems, you should have experience with programming and SPM system architecture.
Overview of Application Architecture
3 levels of abstraction separate the user and the controller: the UI (User Interface), the API (Application Programming Interface), and the Controller. Each level has its own importance not only to allow the user to effectively control the microscope, but also to allow easy modifications of the controller software in the future without changing the User Interface the user currently enjoys.
User
The user is the application scientist who will be operating the microscope. The scientist doesn't need to know how the software works. He or she only needs to know what the microscope does when they use it.
User Interface
The UI is the software that communicates between the User and the API. It can be written in any programming language (Visual BasicR, JavaT, Dos, LabViewT), and converts the actions from the user into API function calls.
API
The API is the communication interface between the software and the controller. Its job is to make it easy to create a software interface in any language by taking care of all of the abstraction and convolution created by the controller software. Any programming language can call our API without having to fully understand the controller. This results in less confusion and fewer bugs.
The API also allows for changing the controller software at the base level with out ever changing the UI. If we need to change the controller software, it is only necessary to change how the API interacts with the controller. The change is transparent to the UI which continues to function with the new changes.
Controller
The controller is the last level of abstraction between the microscope and the user. The controller collects information supplied by the API with each call. It sends corresponding electrical signals to the microscope that tell it what motors to run and how to collect data from the microscope to pass back to the API.
Microscope
The microscope (Nano-RT, Nano-IT) responds to signals from the controller that drives the appropriate motors required to scan a sample. Data acquired from the sample is returned to the controller where it is processed.
Example of LabViewT for controlling light intensity
light.vi
This VI is an Example implementation of the light command. It will turn the
light on and off and change the intensity of the light source.
Connector Panel
Front Panel
| |
|
 |
PNISVRLib.IPNISVR |
 |
error in (no error)
The error in cluster can accept error information wired from VIs
previously called. Use this information to decide if any functionality
should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more
information about the error displayed.
|
 |
status
The status boolean is either TRUE (X) for an error, or FALSE
(checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives
more information about the error displayed.
|
 |
code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more
information about the error displayed.
|
 |
source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more
information about the error displayed.
|
 |
Light Switch
This controls the status of the light.
|
 |
Light Intensity
This controls the intensity of the light.
|
 |
error out
The error in cluster can accept error information wired from VIs
previously called. Use this information to decide if any functionality
should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more
information about the error displayed.
|
 |
status
The status boolean is either TRUE (X) for an error, or FALSE
(checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more
information about the error displayed.
|
 |
code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more
information about the error displayed.
|
 |
source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more
information about the error displayed.
|
 |
Light Indicator
This Indicates weather the light is on or off.
|
Block Diagram
List of SubVIs
History
"light.vi History"
Current Revision: 33
Example of commands available to LabViewT
All of the functions on the Pacific Nanotechnology AFM microscopes may be controlled
with LabView™. Some of the features that may be controlled include:
| AFM Scanner: |
Rate Size Data Points Starting Point Ending Point |
| PID Control |
PID parameters Set point |
| Stage Functions: |
X-Y Rate X-Y Position |
| Optical Microscope: |
Zoom Focus Light Intensity |
| Data Gathering: |
Z position X,Y,Z position sensor Extra A/D channels |
Summary
Using LabView™ software we are able to control all of the functions in the
AFM microscope including the optical microscope, AFM Scanner, and X-Y sample
positioner. Such capabilities facilitate the development of unique methods with
the PNI AFM systems.
Acknowledgement
The original idea for using LabView™ with the PNI microscope came from Associate
Professor Jeremy Levy and Graduate Student Henry Zhu of the University of Pittsburgh.
Also, they provided us with information required to complete this project.