Rapid Scanning
AFM for Education
May 2008 Image of the Month...
Home
About Us
Products
Our Customers
News & Events
Applications
Gallery
Technology
Image Contest
Developer's Corner
Contact
Careers
Newsletter
AFM University Nanoparticles
AFM University Nanoparticles
Probe Store
Probe Store
home inquire newsletter search site map
 
Printable version

LabView™ 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, Java™, Dos, LabView™), 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-R™, Nano-I™) 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 LabView™ 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 LabView™

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.
 
 
 
© Copyright 2002 -2007 Pacific Nanotechnology, Inc. All Rights Reserved.
No part of this site can be copied without prior agreement with Pacific Nanotechnology.