"; _cf_contextpath=""; _cf_ajaxscriptsrc="/cfthorscripts/ajax"; _cf_jsonprefix='//'; _cf_websocket_port=8578; _cf_flash_policy_port=1244; _cf_clientid='B81314914EB3DE7F92BCDD7F232E9D59';/* ]]> */
Thorlabs' APT™ Suite of controllers includes a range of compact drivers, high-power benchtop controllers, and 19" rack-based units that, together, control our range of precision stages and actuators and support motion control from tens of centimeters to the nanometer range. The line of products includes stepper motor and DC motor controllers, closed-loop and open-loop piezo controllers, strain gauge readers, and solenoid drivers, together with a sophisticated feedback controller (NanoTrak®) that fully optimizes coupled optical powers in a wide range of alignment scenarios. All of our controllers are supported by unified PC-based user and programming APIs (the APT™ software suite) that enable high-level custom applications to be constructed effectively and quickly. Thanks to the USB connectivity implemented on all of our controller units, it is extremely easy to link multiple units together to realize a multi-axis motion control solution for many positioning and alignment needs.
LabVIEW can be used to communicate with any APT-based controller via ActiveX technology. In the program, the user can build an interface, known as a front panel, using a set of tools and objects and then add code using graphical representations of functions to control the front panel objects. The LabVIEW tutorial provides some information on using ActiveX to create control GUIs for APT-driven devices within LabVIEW. It includes an overview with basic information about using APT-based controllers in LabVIEW and explains the setup procedure that needs to be completed before using a LabVIEW GUI to operate an APT-based device. The page also has links to download LabVIEW virtual instrument (VI) examples provided by Thorlabs to help you get started with creating programs for your controllers in LabVIEW.
A comprehensive guide to using LabVIEW with APT can be downloaded here.
In a general sense, ActiveX Controls are reusable software components that supply both a graphical user interface and a programmable interface. Many of these controls are available for Windows applications development, providing a large range of reusable functionality including manipulating image files, connecting to the internet, or simply providing user interface components such as buttons and list boxes. With the APT system, ActiveX Controls are deployed to allow direct control over (and also reflect the status of) the range of electronic controller units.
Based on ActiveX interfacing technology, an ActiveX Control is a language independent software component. In this way, ActiveX Controls can be incorporated into a wide range of software development environments for use by client application software developers. Development environments supported include Visual Basic, LabVIEW, Visual C, C Builder, VB.NET, and C#.NET. For examples, see the Interfaces tab.
Within an application, each occurrence of an ActiveX Control is called an instance. At design time (i.e., when authoring a software application), developers will drag and drop many instances of Controls onto one or more application windows, positioning and re-sizing as required to achieve a particular layout. Control settings known as properties (described below) are also altered at design time as required. At 'run time' (i.e., when running the software application), the Controls are then available for direct user interaction (if they have a user interface; some do not), often with little extra programming required by the software developer.
The ActiveX Control GUI Interface for the APT Stepper Controller
The programmable interfaces of an ActiveX control are comprised of three different entities: Methods, Properties, and Events (described below).
In the case of the APT system, ActiveX Controls provide a very convenient package of software functionality, whereby a single Control can supply all of the user interface and associated programmable functions relating to a particular hardware unit.
Consider the ActiveX Control supplied for the APT stepper controller unit shown to the right. This control provides a complete user graphical instrument panel to allow the motor unit to be manually operated, as well as a complete set of software functions to allow all parameters to be set and motor operations to be automated by a client application. The instrument panel reflects the current operating state of the controller unit to which it is associated, displaying parameters such as motor position.
Updates to the panel take place automatically when a client application is making software calls into the same control. For example, if a client application instructs the associated stepper motor control to move a motor, the progress of that move is reflected automatically by changing position readouts on the graphical interface without the need for further programming intervention.
The APT system has few properties relating to hardware specific settings. Rather, most relate to generic property values found on all controls such as Left, Top, Width, and Height.
However, the HWSerialNum property is found on many APT Controls and is the primary setting that relates a specific ActiveX Control instance with a particular physical hardware unit. Further details on using this property can be found in the reference section of the APT Server help file.
An ActiveX Control will fire an event when it wants to inform the client application that some action, state change, or other system event has occurred. In the case of a simple button control, an event might be fired when the user clicks on the button. An event handler (implemented in the client application) will typically contain code that has been written to handle the fired event. For example, in the case of a button Control, the 'Click' event handler may display some form of message to the user.
The various Controls within the APT Server system are designed to fire events when certain important hardware events have occurred (e.g., when a motor has finished moving, a MoveComplete event will be fired). The associated event handler will then handle this change of state (e.g., measure a power level and then initiate a move to the next required position).
The APT™ (Advanced Positioning Technology) family covers a wide range of motion controllers ranging from small, low-powered, single-channel drivers (such as the T-Cubes) to high-power, multi-channel, modular 19" rack nanopositioning systems (the APT Rack System).
All controllers in the APT family share a common software platform, the 'APT System Software', which is available on our APT software download page. A support package, containing a wealth of information on using and programming these Thorlabs products is also available.
By providing this common software platform, Thorlabs has ensured that users can easily mix and match any of the APT controllers in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from the low-powered, single-axis to the high-powered, multi-axis systems and control all from a single, PC-based unified software interface.
The APT System Software allows two methods of usage: graphical user interface (GUI) utilities for direct interaction and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.
A range of video tutorials are available to help explain our APT system software. These tutorials provide an overview of the software and the APT Config utility. Additionally, a tutorial video is available to explain how to select simulator mode within the software, which allows the user to experiment with the software without a controller connected. Please select the APT Tutorials tab above to view these videos, which are also available on the software cd included with the controllers.
APT GUI Screen
These videos illustrate some of the basics of using the APT System Software from both a non-programming and a programming point of view. There are videos that illustrate usage of the supplied APT utilities that allow immediate control of the APT controllers out of the box. There are also a number of videos that explain the basics of programming custom software applications using Visual Basic, LabView and Visual C++. Watch the videos now to see what we mean.
To further assist programmers, a guide to programming the APT software in LabView is also available.