Search
Code Directory
 ASP
 ASP.NET
 C/C++
 CFML
 CGI/PERL
 Delphi
 Development
 Flash
 HTML
 Java
 JavaScript
 Pascal
 PHP
 Python
 SQL
 Tools
 Visual Basic & VB.NET
 XML
New Code
GetOrgChart 2.5.3
AnyGantt JS Gantt Charts 8.6.0
AnyChart JS Charts and Dashboards 8.6.0
Multi Vendor Ecommerce Script & Apps 4.0
Magento 2 Inventory Management Extension 1.0
Yipit Clone Script - Daily Deals Software 1.0.2
Devart Excel Add-in for Oracle 1.7
Devart Excel Add-in for Freshdesk 1.7
Devart Excel Add-in for G Suite 1.7
C# QR Code Generator 4.0.2.2
Salesforce WordPress Customer Portal 3.2.0
Single Leg MLM 1.2.1
OzGIS 14.6
Quick Maps For Dynamics CRM 3.1
Job Board Software 4.2
Top Code
VisualNEO Web 2018.12.15
Paste phpSoftPro 1.4.1
Deals and Discounts Website Script 1.0.2
ADO.NET Provider for ExactTarget 1.0
Solid File System OS edition 5.1
Classified Ad Lister 1.0
Aglowsoft SQL Query Tools 8.2
Invoice Manager by PHPJabbers 3.0
ICPennyBid Penny Auction Script 4.0
PHP Review Script 1.0
ATN Resume Finder 2.0
ATN Site Builder 3.0
Availability Booking Calendar PHP 1.0
PHP GZ Blog Script 1.1
ATN Jobs Software 4.0
Report About ActiveX control of APT Thorlabs positioning stages 1.0
- required fields

Please enter text on the image
  



This code shows how to control the APT Thorlabs positioning system using the third party ActiveX controls. This code also shows how to use ActiveX controls and MATLAB.

It appears that MATLAB modifies the signature of the ActiveX method so that variables originally passed by reference are included in the output of the function. For example:

o the Visual Basic Call to the method GetNumHWUnits is:
MG17System1.GetNumHWUnits USB_NANOTRAK, lngNumNanoTraks

o the equivalent MATLAB call is:
[temp1, temp2] = h_Ctrl.GetNumHWUnits(8, 0);

So, you simply pass a dummy value of 0 into the input argument, and read the output from temp1 and temp2. lngNumNanoTraks gets set to 2 when it is
passed by reference. As expected, temp2 is set to 2 once the line has been evaluated by MATLAB.

At our lab, we have two 6-axis positioning stages. Each axis has a motor control for rough positioning, and piezo control for fine tuning. We also have two NanoTrak modules that let us position four of the axes automatically. The modules are: NanoTrak, Piezo, and Motor controls. In my setup, a fiber is placed on one of the stages and aligned to an optical modulator. Another fiber is placed on the other stage, and is used to measure the output light. The streaming video from out microscope is shown at the bottom right of the screen capture.

Back