Kinesis® Software
![Kinesis® Software](https://www.thorlabs.de/Images/GuideImages/10285_KinesisSoftwareTutorial_2.jpg)
Kinesis GUI Screen
Kinesis® Software Supports Our New Line of Kinesis Products and the Legacy APT™ Environment
![](../../images/loading-red.gif)
Please Wait
Thorlabs' Kinesis® software features new .NET controls which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW™, or any .NET compatible languages to create custom applications. The software supports our new line of Kinesis devices as well as our APT™ products. All Kinesis controllers are supported by unified graphical user interface (GUI) and programming APIs that enable the creation of custom applications. The included USB connectivity provides easy 'Plug-and-Play' PC-controlled operation, making it easy to link multiple units together to realize a multi-axis motion control solution.
In the case of the Kinesis system, .NET 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. 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 Kinesis system, .NET Controls are deployed to allow direct control over (and also reflect the status of) the range of electronic controller units, such as our KDC101 DC motor controller. The control interface for the KDC101 controller is shown in the image above. 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.
Examples that go over how to communicate with Thorlabs' Kinesis software using LabVIEW and C# can be found below.
Thorlabs' Kinesis® software can be used to control devices in the Kinesis or APT™ family, which covers a wide range of motion controllers ranging from small, low-powered, single-channel drivers (such as the K-Cubes and T-Cubes) to high-power, multi-channel, modular 19" rack nanopositioning systems (the APT Rack System).
The Kinesis Software features new .NET controls which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW™ or any .NET compatible languages to create custom applications. Low level DLL libraries are included for applications not expected to use the .NET framework. A Central Sequence Manager supports integration and synchronization of all Thorlabs motion control hardware.
By providing these common software platforms, Thorlabs has ensured that users can easily mix and match any of the APT and Kinesis 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 software packages allow two methods of usage: graphical user interface (GUI) utilities for direct interaction with 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.
Software
Kinesis Version 1.14.49
The Kinesis Software Package, which includes a GUI for control of Thorlabs' Kinesis and APT™ system controllers.
Also Available:
- Communications Protocol
![APTConfig](https://www.thorlabs.de/images/TabImages/Kinesis_KDC101_GUI_A2-400.jpg)
Kinesis GUI Screen
Posted Comments: | |
user
 (posted 2024-08-12 15:13:02.7) Hello, I am using a (brand new) KDC101 with MTS50-Z8 and the Kinesis GUI. In the GUI, both Forward Limit and Reverse Limit lights are on and the logs show this error message:
2024-08-12 15:10:08.373 Error 27268373 Motor Error Detected: Value = Position Error(0)
Any help would be appreciated. spolineni
 (posted 2024-08-16 07:08:00.0) Thank you for contacting us. I will personally reach out to you to provide further assistance in resolving this issue. Lewis Williamson
 (posted 2024-06-25 10:07:59.45) Do you have any code to control the KIM101 controller through matlab? cstroud
 (posted 2024-06-28 09:34:16.0) Thanks for reaching out. We have a MatLab example for the KIM101 on our Github here: https://github.com/Thorlabs/Motion_Control_Examples/blob/main/Matlab/KCubes/KIM101/KIM101.m. I will contact you directly to help set this up. Ahmad Mahmood
 (posted 2024-05-30 15:42:35.003) Hello,
I am using a T-cube DC Motor controller, with Z825 linear motor for stage translation. I am trying to use Micromanager to control it. I've installed the correct .dll file into the micromanager directory, and installed the kinesis software on my computer (does that need to be installed in the same micromanager directory as well?), however the hardware config says ThorlabsKinesis is unavailable. Any help would be appreciated. do'neill
 (posted 2024-06-04 07:43:59.0) Thank you for your comment and I am sorry to hear this. I will reach out to you directly to help troubleshoot this with you. Jaeyoon Ko
 (posted 2024-05-16 21:43:21.657) Hello, I'm using DDS220 stage with BBD301 Controller. I synced the stage trigger with my signal analyzer and I am trying to implement all the control in MATLAB GUI. Currently I am using 'Sequence' from Kinesis. My questions is, can I directly run Sequence file from MATLAB using .NET?
I saw the MATLAB examples from GitHub for connection and some moving command, but not the sequence. cstroud
 (posted 2024-06-04 06:32:13.0) Thanks for reaching out. Unfortunately it isn't possible to import the sequence from Kinesis to be used directly with the .Net DLL's. I will contact you directly to discuss other options. Kyusung Han
 (posted 2024-05-14 16:18:57.693) Hello, I'm using MATLAB code with "BSC 203 & LNR502E" and it works pretty well for some functionalities (Functionality : Connect, move, jog, get position etc). However, there is a trouble with reading encoder position.
Here, sending my MATLAB code of reading encoder position and position:
Pos = (double(channel.GetPositionCounter))
Pos_Encoder = (double(channel.GetEncoderCounter))
current_position = Pos / 409600
current_encoder_position = Pos_Encoder/409600
(I divided by 409600 because Step Motor BSC 203 has 409600 Microsteps per Rev)
"Pos" value and the function "GetPositionCounter" works perfectly, but the function "GetEncoderCounter" doesn't work well.
For example of this: at the "Pos" value is 2*409600, the "Pos_Encoder" value is -20001.
I guess encoder value is about (-10000) times bigger than the real encoder value, not 409600. How can I solve this problem?? cstroud
 (posted 2024-06-04 06:31:00.0) Thanks for reaching out. The encoder within the LNR502E has 10000 counts per 1mm travel and is typically set with a negative QEP sensor. As this is a stepper motor, the encoder doesn't calculate position via the number of microsteps but instead reads the absolute position of the stage using the feedback from a sub-micron linear scale. More information can be found in page 21-22 of the manual. I will contact you directly to discuss this further. Chad Brubaker
 (posted 2024-05-07 09:46:56.783) Has the Kinesis software been qualified for Windows 11 yet? The operating system has been out for 3.5 years now, and I will actually have to purchase a deprecated PC to get one with Windows 10. Most new PCs have Windows 11 pre-installed (even from business PC sites). do'neill
 (posted 2024-05-10 06:27:33.0) Thank you for your comment. Kinesis does work with windows 11. I have contacted the related teams to have this updated on the website. I will reach out to you directly about this. Kansuda Kosolinsee
 (posted 2024-04-11 12:42:56.14) Hi. I purchased the NRT150M with a stepper motor controller last year and used the Thorlabs Kinesis to control it. It's been used perfectly since then. However, I haven't used it for awhile, around 3-4 months as I had to work on something else. Today, I tried to connect it but it seems can not connect properly with an error message "device is not responding". I tried to reconnect the USB port but it still doesn't work. I'd appreciate it if you could help to support this issue, thanks. spolineni
 (posted 2024-04-17 07:13:25.0) Thank you for reaching out to us regarding the issue with the NRT linear translation stage. The error message you’re encountering could be a result of one of several factors. Please be assured that I will personally reach out to you and assist in diagnosing these issues. Tobias Raab
 (posted 2024-04-10 08:40:49.24) Hello, I created code with Labview version 2023 64bit and the .dlls 64-bit version of Kinesis for 64-bit Windows 1.14.44.22134. This code works without any problems. The same code with the Labview 2023 32bit version and the Kinesis 32bit .dlls for 64bit Windows causes problems. The code works but after a while, Labview itself crashes.
After a few attempts I got the following error message: "The last time you ran LabVIEW, internal warning 0x5B909539 occurred in DotNetMgr.cpp."
I use these two .dll in my code: Thorlabs.MotionControl.Controls.dll
Thorlabs.MotionControl.IntegratedStepperMotorsCLI.dll
I would really appreciate your support here. Thank you in Advance. cstroud
 (posted 2024-04-15 11:41:05.0) Thanks for getting in touch. Depending on how you've converted the program from 64-bit to 32-bit, there's a chance that there could be a conflict with the bit versions. It doesn't always work when copying over DLL's into an existing VI as some of the DLL's could still be referencing the wrong bit versions. I would recommend rebuilding the VI with the 32-bit for 64-bit DLL's. I will contact you directly to discuss this further. user
 (posted 2024-03-28 15:21:36.02) I downloaded the 64 bits Kinesis software for 64 bits windows. I tried to connect to a M30XY stage in MATLAB. I got the error "Message: Object reference not set to an instance of an object. Source: Thorlabs.MotionControl.PrivateInternal" when running this method "BenchtopDCServo.CreateBenchtopDCServo(xy_serial);" where xy_serial is the serial number of the stage. do'neill
 (posted 2024-04-05 06:09:01.0) Thank you for reaching out and I am sorry to hear this. I will reach out to you discuss your application and code and help troubleshoot this with you. Yadong Wang
 (posted 2024-03-22 16:21:33.083) Hi, I am using APT and related Labview. But the apt user one cannot recognize the devices which are k10cr1/m and mff102. And APT Software cannot even be opened, or can be open without any devices connected. Meanwhile, Kinesis software works with K10CR1/M. I guess there are some competition between APT and Kinesis.
So I disconnect the device to Kinesis, try it again. Still, APT can not be opened properly.
Could you please help?? Thanks a lot!! cstroud
 (posted 2024-04-04 11:15:44.0) Thanks for reaching out. I'm sorry that you are having issues with APT. I will reach out to you directly to help troubleshoot these problems. Bruce McKenney
 (posted 2024-03-20 11:42:40.58) We are using Z825B/KDC101 actuators with VS2017/C#.
The program has been running for some years, but on moving to a new Win10 (build) machine DeviceManagerCLI.BuildDeviceList is failing with an SEHException. I haven't found a Kinesis error code in the .Net exception data.
Perhaps significant is that this PC has never had any actuators plugged into it, while our previous build PC has (once).
I populated the ProgramData folders from our lab machine. Our code deals with the actuators being unplugged, but we imagined BuildDeviceList() would always succeed somehow or other.
I see this question has already been asked twice, but no answers/troubleshooting hints have been posted. Is there someplace else I should look? Which exception(s) can BuildDeviceList throw? cstroud
 (posted 2024-03-21 12:30:43.0) Thanks for reaching out. The SEH Exception occurs if you haven't plugged a Thorlabs USB device into the PC before, although this can also happen after a Windows update. The action of plugging the device in completes the Windows driver install and makes the required FTDI file available for use. I would recommend plugging a Thorlabs USB device into the PC. You can remove it again once the drivers are installed by Windows. Sébastien Mailfert
 (posted 2024-02-29 12:34:23.47) Dear support,
I'm controlling two MTS25/M-78 motors with two KDC101 controllers with Matlab.
Is there a way to move these two motors SIMULTANEOUSLY ?
Thanks for your feedback. do'neill
 (posted 2024-03-08 05:23:12.0) Thank you for reaching out, simultaneous movement is possible using the DLLs in MATLAB, this is done by setting the timeout within the move command to 0. Synchronised movement is more difficult and would require a multithreaded approach to get the stages to start their move at exactly the same time and they would not communicate with each other during the move. The only controller capable of synchronised movement is the BBD300 series. I will reach out to you directly to discuss your application and needs. Adam Knorr
 (posted 2024-02-27 09:54:37.723) Hi Thorlabs
I'm having a KDC101 that gives me an Error 3.
I have tried to look though your manuals but i have yet to find a comprehensive error code list. cstroud
 (posted 2024-02-28 07:46:05.0) Thanks for reaching out, I'm sorry that you're having issues with Kinesis. Error code 3 refers to the FT_DeviceNotOpened error within the FTDI communications module. I will contact you directly to help troubleshoot this. user
 (posted 2024-02-19 18:04:44.863) Hello. I've been using it well, but today it's not working. The error message is "device is not responding." Since the software seems to recognize it, it may not be a USB issue. Also, based on the feedback, it seems like a common issue experienced by others. I'd appreciate it if you could let me know how to resolve it. cstroud
 (posted 2024-02-27 11:47:56.0) Thanks for reaching out. I'm sorry that you're having issues with Kinesis. I'll contact you directly to help troubleshoot your unit. Darren Neo
 (posted 2024-01-30 21:49:49.9) Hi there, I've been using the Kcube DC motor controller to control the rotation of my half-waveplate. Without the software, after a few days of not using it (but still plugged in and powered), the unit froze. Connecting it with the software Kinesis, I encounter the same problem after a few days of not using it. The error message was that the device is not responding. The device can be recognized by the software but not responding at all. spolineni
 (posted 2024-02-08 06:45:40.0) Thank you for reaching out to us. We’re sorry to know that you’re experiencing issues with your K-cube DC motor controller. There could be a couple of reasons why the cube might not be responding. One possible solution could be updating the firmware on the K-cube, which may resolve the issue. However, I’ll get in touch with you to assist you further. H. Agrawaal
 (posted 2024-01-23 21:52:57.85) Hello, I have previously used matlab and python to control KDC101 (to set, get position etc). Currently I am trying to use the almost similar commands and script for M30XY stage, but it doesn't seem to work. I was wondering if you could provide me with some additional information regarding correct drivers and commands. cstroud
 (posted 2024-02-09 05:31:13.0) Thanks for reaching out. We now have a MatLab M30XY example on our Github, https://github.com/Thorlabs/Motion_Control_Examples/blob/main/Matlab/Intergrated/M30XY/M30XY.m. I will also contact you directly to help troubleshoot your script. Marco Novarese
 (posted 2024-01-16 16:13:48.14) How to connect matlab with nanomax 311 piezocontroller via the MMR601 rack with a nanotrack controller MNA 601? I am currently using the Kinesis software to manually test it. do'neill
 (posted 2024-01-24 04:22:44.0) Thank you for your feedback. I will reach out to you directly with an example using the rack system to get you started. Ian Cornwell
 (posted 2024-01-10 13:31:36.24) I am attempting to automate the KDC101 Brushed DC Servo Motor Controller using the kdc101_pythonnet.py example you provided on your Github. The only issue is every time I try to run it, I am given a message stating:
Object reference not set to an instance of an object.
at Thorlabs.MotionControl.PrivateInternal.Settings.DeviceConfigurationBase.VerifyDeviceSettingsName(Boolean replace)
at Thorlabs.MotionControl.PrivateInternal.Settings.DeviceConfigurationBase.ReadConfiguration(DeviceConfigurationNode node, GeneralSettings generalSettings)
at Thorlabs.MotionControl.PrivateInternal.Settings.MotorConfiguration.ReadConfiguration(DeviceConfigurationNode node, GeneralSettings generalSettings)
at Thorlabs.MotionControl.PrivateInternal.Settings.DeviceConfigurationBase.LoadConfiguration(String serialNo, GeneralSettings generalSettings)
at Thorlabs.MotionControl.KCube.DCServoCLI.KCubeDCServo.InitializeDevice(String serialNo)
at Thorlabs.MotionControl.KCube.DCServoCLI.KCubeDCServo.CreateKCubeDCServo(String serialNo) cstroud
 (posted 2024-01-15 07:33:57.0) Thank you for reaching out. I will contact you directly to discuss this Python example. Yeon Lee
 (posted 2023-12-19 16:31:29.99) Hello, I'm trying to use K10CR1/M rotation stage with Kinesis software. However, it is showing error "device not responding". Following numbers (55106954) seems to be the S/N of the device.
Loading & reading device configuration was successful and the device manager in computer recognizes the device as APT USB device. Could you help to solve this matter? spolineni
 (posted 2024-01-02 04:24:48.0) Thank you for your inquiry. I’m sorry to hear that you’re experiencing issues with your stage. We will reach out to you directly to help you troubleshoot the problem. Michalis Stavrou
 (posted 2023-12-01 10:31:13.773) Hello
I am working using a KDC101 controller to move a steeper motor for an experimental setup that I prepare.
To automate my expiriments I am writing a script in Python.
However, I cannot find a solution how to control this model of controller with the python.
Could you please provide me the code? do'neill
 (posted 2023-12-11 05:13:41.0) Response from Daniel at Thorlabs. We have examples for controlling the KDC101 with python on our examples GitHub. They can be found here - https://github.com/Thorlabs/Motion_Control_Examples/tree/main/Python/KCube/KDC101
I will reach out to you directly to discuss your application. Florian Prawits
 (posted 2023-11-21 16:04:26.307) Hello,
I would like to control the MPC320 from C++ on Linux. Skimming through the Github repository, it seems to me that I can use the provided examples only an Windows as the compiled libraries seem to be provided for Windows only. What options would I have to operate the polarization controller from C++ under Linux? Is there a precompiled lib I simply missed? Are there some examples for achieving this?
Kind regards do'neill
 (posted 2023-11-22 06:39:36.0) Response form Daniel at Thorlabs. Currently the only way that you can control the motion control devices is using serial commands as Kinesis does not support other operating systems. However we are working on making the software more system agnostic in the near future. I will reach out to you directly to discuss your application. user
 (posted 2023-10-03 12:28:05.87) Hello,
I am trying to use these API functions:
CC_CanMoveWithoutHomingFirst and ISC_CanMoveWithoutHomingFirst.
I would like to achieve the following:
In my use case, the hardware might stay turned on and connected to the computer, but software will be restarted several times. Currently I'm homing the motors every time at software launch to ensure they are in the right position. But homing is a slow process and apparently there is no need to execute it every time the software is launched.
I tried to use the functions above and check if homing is required. They always return true even though in Kinesis, status of both motors is "Not Homed".
Could you please assist me with this issue? do'neill
 (posted 2023-10-10 07:09:12.0) Response from Daniel at Thorlabs. Both command you reference just just determine if the stage can be move without homing, regardless of the homing status. Using the native DLLs you can access if it has been homed from the _GetStatusBits() command, on the 0x00000400 bit it will be a 1 if it has homed and 0 if not. I will reach out to you directly to discuss this with you. user
 (posted 2023-09-14 19:00:56.46) Please add the ability to send/receive external triggers using the Kinesis Simulator. do'neill
 (posted 2023-09-15 10:38:48.0) Response from Daniel at Thorlabs. Thank you for your feedback. I have passed this along to our software teams. user
 (posted 2023-08-03 11:51:35.403) Hi,
In the simulator it is possible to set a startup simulation.
Is it possible to startup the simulator from the command line and to pass it a simulation file as an argument?
This would allow to dynamically start the simulator with the appropriate simulated devices.
Workaround is to manually copy the appropriate *.Simulations file to:
"C:\ProgramData\Thorlabs\MotionControl\ThorlabsDefaultSimulations.xml"
Regards,
Baptiste fguzman
 (posted 2023-08-22 09:30:55.0) Thanks for your enquiry. There is not a way to start the simulator with command line arguments. It is possible to start the simulator from the command line, but this will start with the settings from the ThorlabsDefaultSimulations.xml file. If you want to change the settings prior to launching the exe from you code, we would recommend modifying the XML. user
 (posted 2023-07-27 13:30:06.223) Hello,
I would like to connect KIM101 to raspberry pi 3 via USB running on linux 10 and control with Python. The raspberry pi terminal detects the controller when checking with lsusb terminal command but the function thorlabs.list_kinesis_devices() run in python returns [ ], indicating it may be a driver issue or something not recognising/connecting properly.
What software/drivers do I need to have downloaded on the raspberry pi in order for it to work correctly and be controlled by Python and where can I find these? fguzman
 (posted 2023-07-31 10:31:35.0) Thanks for your enquiry. Unfortunately, we cannot offer official support for either Linux or Python. Of course, we still like to try to help you as much as possible within the scope of our possibilities. On Windows, Python can also be used to control the controllers via Kinesis (if you haven't used either program before, we recommend Kinesis over APT as it's more up-to-date and more stable). For some codes that might help you a bit follow the link https://github.com/Thorlabs/Motion_Control_Examples/tree/main/Python/KCubes If you need some additional information please contact techsupport.uk@thorlabs.com to get a pdf "Kinesis Python Guide".
Since Kinesis and APT do not run on Linux operating systems, in your case it is probably better to control the controller directly via serial commands, since this works in both Windows and Linux. You can download a list of serial commands from our website (in the Communications Protocol tab): https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control Ferenc Borondics
 (posted 2023-07-20 14:15:18.823) Hi,
I see there was a KIM101/PIAK10 question above...
I am trying to get the same but with Python. I am using the example code from the help file but I get a connection error although I can read out the serial number of the controller.
Could you please send me some example Python code?
Thanks,
Ferenc do'neill
 (posted 2023-07-25 04:39:53.0) Response from Daniel at Thorlabs. An example for the KIM101 using python can be found in our examples repository on GitHub. A link to which can be found on the Kinesis download page - https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control&viewtab=0
I will reach out to you directly to provide a link to the specific example. Martti Nirkko
 (posted 2023-07-10 08:07:13.123) Good morning,
The pylablib code base currently has multiple open pull requests related to ThorLabs (https://github.com/AlexShkarin/pyLabLib/pulls).
Is there a someone who could review these? In particular, I have submitted a PR #46 for an issue encountered last week regarding our HDR50 stage used with a BSC201 motor controller. It would be nice to discuss this further.
Best regards,
MN do'neill
 (posted 2023-07-19 11:08:38.0) Response from Daniel at Thorlabs. Thorlabs is not involved with the development of pyLabLib and therefore you would have to try and reach out to the developers to discuss the specifics of this library. I will reach out to you directly to discuss this further with you. sanghyun yoon
 (posted 2023-06-29 15:25:39.86) Hi, recently, we change the visual studio 2022 version. and we try to convert .net 7. but the motion driver is build with .net framework 4.5.2 so we can't load cli dll. so Can I receive recently version or, Code? If you provide the relevant code, we will convert and build it.
thanks. Mustafa Yucwl
 (posted 2023-05-30 17:22:17.923) Hello,
Do you have any matlab code to control the M30XY stage please ?
Best user
 (posted 2023-05-10 13:13:45.64) Hello, I am using a M30XY/M stage recently bought.
When performing the homing (in reverse), it reaches values larger than the reverse limit, the status led turns red and Kinesis sotware gives this error message:
Error 101337054-1 Motor Error Detected: Value = DC Extended Motor Status Error (status bits = 0xf4000324 )(0)
What could be the problem? How can it be fixed?
Kind Regards
Caterina Pantouvakis do'neill
 (posted 2023-05-11 09:27:45.0) Response from Daniel at Thorlabs. There are a few different issues that can cause this error. I will reach out to you directly to help troubleshoot this. user
 (posted 2023-04-21 20:48:48.54) Hello,
I am trying to control six K10CR1 rotation stages with Python, but I cannot manage. Would you be able to provide some assistance or example code? I have sucessfully controlled the rotation stage used in this example: https://www.youtube.com/watch?v=VbcCDI6Z6go but I don't manage to transfer the code to the K10CR1.
Thank you in advance for your assistance. JReeder
 (posted 2023-04-24 06:08:18.0) Thank you for your enquiry. The example you have linked provides an example for our KDC101 with a PRM stage. The K10CR1 requires different DLLs compared to the KDC to be controlled in this manner. Therefore, you will have to change the DLLs and use different commands in order to control the K10. Please see our GitHub page where you can find some example codes to control the K10CR1: https://github.com/Thorlabs/Motion_Control_Examples/tree/main/Python/Integrated%20Stages/LTS. user
 (posted 2023-04-20 17:47:32.607) I use QTCreator to develop C++ GUI programs. And I have to control your MTS50-Z8 product. However, since the provided library is a C#-based DLL, it is difficult to develop in QTCreator. Can I get a DLL file built in C++? JReeder
 (posted 2023-05-10 06:36:42.0) Thanks for your enquiry. We do provide the relevant files in order to control our devices through a C++ program. The header files and libraries are located in the folder C:\Program Files\Thorlabs\Kinesis after downloading the Kinesis software. I have reached out to you to discuss this further. Thomas Kelley
 (posted 2023-04-17 15:38:08.123) There seems to be some sort of resource leak with the software on my particular laptop and I'm unsure as to why. When I run the kinesis software, I'll see it sit at 44% CPU usage even when I'm not using the software. But when I have it installed on another laptop (which is 7 years older than my 2 year old laptop), the software happily sits below 1% CPU usage. I've tried reinstalling and different versions without luck. I'd be curious if this is a known issue or not. My biggest concern is that forces my laptop to sit above 75C consistently which is too hot for my liking. JReeder
 (posted 2023-04-20 05:03:21.0) Thank you for your enquiry. The Kinesis software is not a memory intensive program to run. We have not tested a minimum spec for the RAM required, however it is unlikely to be an issue. I have reached out to you directly to discuss this further. Karl Newman
 (posted 2023-03-07 16:17:36.537) I solved this problem. For anyone else having trouble working with multi channel devices (rack devices), the issue was the "serialNo" parameter in the channel's LoadMotorConfiguration function is not just the serial number, but includes a hyphen and the channel number. The easiest way is to just use the channel.DeviceID property for that parameter. JReeder
 (posted 2023-03-08 09:48:24.0) Thank you for posting your previous feedbacks, I am glad to hear you have managed to solve all of the issues you ran into. If you have any further trouble with this please feel free to contact your local tech support team who will be happy to assist further. Karl Newman
 (posted 2023-03-07 14:10:29.4) Hmm... Something must have installed the files after I posted my message; possibly opening the help file triggered them to install. Anyway, the real problem I'm having is with an M30XY stage. I'm trying to access it as a rack device; it can connect and read device-level information, but calling GetMotorConfiguration or LoadMotorConfiguration (what's the difference?) on any of the channels causes an exception (Object reference not set to an instance of an object) from some internal library. Attempting to check IsSettingsKnown has another exception (Device settings not initialized), but I did WaitForSettingsInitialized(5000) and IsSettingsInitialized() returns true for the channel. Tried updating the firmware but it's already at the latest. Karl Newman
 (posted 2023-03-07 13:54:09.46) Installing the latest Kinesis 1.14.36 over an older 1.14.35 install, seems to have missed some DLLs. Specifically Thorlabs.MotionControl.DeviceManager, Thorlabs.MotionControl.DeviceManagerCLI, and Thorlabs.MotionControl.DeviceManagerUI. They are still referenced in the help file so I presume this is an oversight. Leonard Vollmann
 (posted 2023-03-07 16:09:58.283) Hello,
I have just installed the Kinesis software on a new Computer (Windows 11). When I connect my MPC320 Polarization controllers via USB, they don't show up in the GUI.
What could be the cause of this issue? I have used the same controllers with Kinesis on a different PC where it worked fine.
Thanks so much for your help.
Best
Leonard fguzman
 (posted 2023-03-08 07:19:00.0) Thank you for your enquiry. Our 32 and 64 bits Kinesis software is suitable for Windows® 7, Windows 8, Windows 10 or Windows 2008 Server. We will contact you directly to discuss your application. user
 (posted 2023-02-21 16:11:24.23) Hello,
I am trying to control the PIAK10 piezo inertia actuators with the KIM101 K-cube controller. Could you provide any example codes for connecting to a PC for control by MATLAB? I have had some trouble connecting the actuators.
Thank you for your help! do'neill
 (posted 2023-02-22 06:58:48.0) Response from Daniel at Thorlabs: Thank you for your enquiry. We will reach out to you directly to provide you an example script for you. Jupyo Hong
 (posted 2023-02-07 20:47:31.54) Hello,
I am trying to write python code to launch this software for KLD101, and when looking at the software manual I found out that I had to initialize various settings.
What is the difference of IsSettingsInitialized method and GetLaserDiodeConfiguration, LaserDiodeDeviceSettings method? do'neill
 (posted 2023-02-08 05:47:45.0) Response from Daniel at Thorlabs: Thank you for your enquiry, Details on these commands can be found in the .NET help file in the install folder however the GetLaserDiodeConfiguration method pulls the settings from the device or settings files. After this is done the LaserDiodeDeviceSettings command allows these settings to be accessed and edited. Finally the IsSettingsInitialized function returns a boolean on if the settings have been uploaded to the device. Michael Backfish
 (posted 2023-02-06 10:51:26.35) We have 3 LTS300 motion at Crocker Nuclear lab at UC Davis. I currently have the "Thorlabs APT User" GUI based application working, but would like to have a method of controlling these with Python. Do you have a simple sample code for this? do'neill
 (posted 2023-02-08 05:39:04.0) Response from Daniel at Thorlabs: Thank you for your enquiry. I will reach out to you to discuss your application and provide you an example script. P. Taschner
 (posted 2023-01-30 15:36:28.137) Hello, I would like to include the KLS635 into my python script. Do you have a python example which can help me with the first steps (initializing, enabling, safe shutdown)? Thank you for helping me out! do'neill
 (posted 2023-02-01 07:23:40.0) Response from Daniel at Thorlabs: Thank you for your enquiry. I will reach out to you to provide you an example script for this. Luis Herrera
 (posted 2023-01-04 12:56:57.377) Hello,
I have the following issue, I want to rotate an element every 5 seconds using the kinesis software, the problem is that I can specify the wait time (in this case 5 seconds), but the system takes some time to rotate. So after 1 hour of testing the system lags a few seconds, I have tried to calculate the time it takes to rotate and discount it so that in total the wait time plus the rotation time equals 5 seconds. With this I have managed to improve the time lag, however even after a long period of testing the system is still out of phase. Is there a method that guarantees better results, for example by specifying that the waiting time (5 seconds) already contains the rotation time or what could be a better approach.
Thank you for helping me out. DJayasuriya
 (posted 2023-01-12 04:28:27.0) Thank you for your inquiry. The delay that you are seeing could be due to response time of the electronics. We have got in touch with you directly to discuss your application further. user
 (posted 2022-12-22 09:36:35.477) Installation of Kinesis software version 1.14.36 fails on Windows 11 with the following error message:
InstallShield Wizard
1152: Error extracting Setup.INI to temporary location
Any help is highly appreciated! do'neill
 (posted 2022-12-22 10:52:03.0) Response from Daniel at Thorlabs: Thank you for your inquiry. Kinesis is not yet certified to work in Windows 11 but I see no obvious reason why this would not be compatible. I will reach out to you directly to help troubleshoot this issue. do'neill
 (posted 2022-12-22 10:52:03.0) Response from Daniel at Thorlabs: Thank you for your inquiry. Kinesis is not yet certified to work in Windows 11 but I see no obvious reason why this would not be compatible. I will reach out to you directly to help troubleshoot this issue. Claudio Belotti
 (posted 2022-12-21 16:42:45.423) Hi,
as in some of the comments below I am trying to control the KIM101 controller from linux using low level serial commands in Python. I see from comments that Thorlabs has example code for this and as such wanted to ask if I could be sent it?
Thanks
Claudio do'neill
 (posted 2022-12-22 09:24:44.0) Response from Daniel at Thorlabs: Thank you for your inquiry. We will get in touch with you directly to discuss your application and help. Matt Tedone
 (posted 2022-11-18 11:18:18.933) Hi,
How do I change the kinesis software from mm to degrees? Many thanks,
Matt Tedone JReeder
 (posted 2022-11-23 09:10:35.0) Thanks for your enquiry. The Kinesis software will automatically convert between millimeters and degrees when different stages are used. For example, when using our MTS50/M stage the software will display in millimeters, however when using our K10CR1 the software will display the position in degrees. Tyrion Wu
 (posted 2022-11-18 15:44:26.72) Hi, I recently bought some KPA101 to monitor the position of the laser,
I would like to know if there is a python example that I can refer to, so that I can import it into my external program to complete my experiment. JReeder
 (posted 2022-11-18 10:10:13.0) Thank you for your enquiry. I have reached out to you directly to supply an example Python script for the KPA101. user
 (posted 2022-11-02 09:06:41.717) Hi there,
I am using two motors; one stepper motor and one kcube motor. I am using the C API.
The problem I am having is that the motors do not work if the motor type is not set, and the type needs to be set using Kinetics beforehand.
Is there any way to set the type using a function call? I don't find the correct function in the documentation.
Thank in advance! DJayasuriya
 (posted 2022-11-07 09:20:02.0) Thank you for your inquiry. We have got in touch with you directly to resolve your issue. Josh Abrams
 (posted 2022-10-07 13:48:28.843) Using Kinesis with a C# Windows Forms app:
The DeviceManagerCLI.BuildDeviceList() function is erroring out with an SEHException. I saw this come up in a previous question, but the solution wasn't provided here.
It works on some machines, but not on others (same OS, same .dll versions). Sometimes restarting the computer after using the Kinesis app with an actual instrument allows it to start functioning correctly.
Is there maybe some implicit step that needs to be done with Kinesis to allow BuildDeviceList() to work? DJayasuriya
 (posted 2022-10-10 08:22:50.0) Thank you for your inquiry. We have got in touch with you directly to resolve your issue. Alex McDonald
 (posted 2022-10-01 11:30:41.627) I have found a rather annoying bug with the Kinesis software. In settings -->
I/O I can change the I/O polarities from trigger low to trigger high. However despite saving these changes when ever I reopen kinesis they default back to trigger low. Every other setting I am able to save and keep that setting when reopening kinesis except for this one. I have even installed the latest version of kinesis and I still have the problem. cwright
 (posted 2022-10-07 05:19:19.0) Response from Charles at Thorlabs: Thank you for contacting us. Unfortunately I have been unable to replicate this using a couple of different controllers and will reach out to you for more details. Justin Gruenberg
 (posted 2022-09-02 10:27:04.13) Are there any plans to support .Net 5.0+? cwright
 (posted 2022-09-05 06:54:15.0) Response from Charles at Thorlabs: Thank you for contacting us. Unfortunately there are no plans at this time to add support for .Net 5.0. ZHANG Yixuan
 (posted 2022-06-08 13:43:47.023) Hello, I am recently using Kinesis to control my shutters and I can control them. But there are warning in my log:
Warning : EEprom serial number mismatch: The device serial number and the USB port serial number are different
USB Serial No. = 85823776
EEprom serial No. = 33488897
How do we fix these warning please?
Thank you very much.
Yixuan ZHANG DJayasuriya
 (posted 2022-06-09 04:15:20.0) Thank you for your inquiry. So the FTDI chip stores the serial numbers.
so Kinesis will obtain it directly on start-up (not via our serial commands). Kinesis also tries to obtain it via HW_REQ_INFO (from the controller's flash memory). You will get the error if the numbers don't match
The latest Kinesis versions get rid of this warning by programming the correct serial number into the flash, it will either return a warning or info message saying the problem has been fixed or not. The older devices will see the message that the error has not been fixed.
hope this helps, if you are still having trouble feel free to get in touch with our techsupport team user
 (posted 2022-06-06 15:56:56.57) Hello, I'm currently using a BSC201 and I am controlling it using the Kinesis GUI. The problem is that clicking the "Home" button in the GUI causes the device position to increase in value instead of decrease to 0; the reverse limit is also reached according to the GUI. I'm unsure of how to fix the issue, so any help would be appreciated. cwright
 (posted 2022-06-08 05:07:38.0) Response from Charles at Thorlabs: Thank you for your query. A member of technical support will reach out to you to identify the device you are using and aid in troubleshooting. It sounds like a potentially damaged limit switch or the device in use is stuck near the limit switch. This can also occur if the wrong actuator is selected, such as the DRV208 instead of the DRV001. KT OQ
 (posted 2022-05-13 14:42:03.477) Good day, I am using a KLS635 and I want to control the laser source with a python script to adjust the output power. Can you provide me with some example code? Best regards! DJayasuriya
 (posted 2022-05-16 08:51:31.0) Thank you for your inquiry. we have got in touch with you directly to help with your request. M Gro
 (posted 2022-04-19 19:28:12.577) Dear Thorlabs-developers,
I try to control a TCube TEC device via the C-DLL interface. If have an issue with the documentation of the values of the TC_LoopParameters struct. There is stated, that a percentage value 0-100 is mapped to the full single range 0-32767. However, from my experiments with a real and simulated device, I had the impression, that the percentage range 0-100 is directly mapped to 0-100 in the single variables differentialGain, integralGain, proportionalGain. Could you maybe verify this or tell me if I am doing anythong else wrong? Thanks in advance. ksosnowski
 (posted 2022-05-13 01:39:07.0) Thanks for reaching out to us Mark. In the firmware for the device, all PID settings over 100 are rounded down to 100, so it's reported as a percentage. It appears this firmware change was not reflected in our documentation, and we appreciate you bringing this to our attention so we can update it. user
 (posted 2022-04-15 21:12:54.333) I am using Kinesis (64 bit) with Labview 2020 for a TDC001 (Firmware 1.10) and a Z825B actuator (of note, the problem exists with 2 setups). I followed the basic Labview Tutorial creating the .NET containers, etc., and some basic controls. However, when I read out the position using GetPositionCounter and then divide by the required 34304 step scale, the position value on the output is different than the .NET Panel. In particular, after a Home command, I move to 1mm, and the output from GetPositionCounter reads 1.00732 mm. This scales at 2mm and larger position values. Has something changed in the 34304 calibration value?
Of note, when I use the SetMoveAbsolutePosition method to 1mm, the .NET Panel interface says 1mm, and the GetPositionCounter reads the same 1.00732 mm.
Any direction to correct this would be welcome. cwright
 (posted 2022-04-19 04:46:56.0) Response from Charles at Thorlabs: Thank you for your query. This is caused by using the old value for the encoder counts. The gearbox in the motor was found to have a value slightly different ratio to the specified 67:1 and thus led to this small inaccuracy. Evidently there are still sections of the site showing this old value and we will try to correct this. Please use the value of 34,555 and ensure you are using the latest firmware on the TDC001. M Gro
 (posted 2022-04-15 11:27:22.133) I would also be interested if there are known or officially supported Python packages to control devices via Kinesis. As far as I have seen, similar questions have only be anwered by a private message. Thank you very much. cwright
 (posted 2022-04-19 06:55:53.0) Response from Charles at Thorlabs: Thank you for your query. To date there are no official Python packages from Thorlabs but it is still possible to use the C API DLL files we give out with Kinesis in CPython, using ctypes to call the DLL functions. user
 (posted 2022-04-13 10:42:01.54) I would like to control my HDR50 rotation stage using a python script. Is there a method to do this? user
 (posted 2022-03-31 13:21:51.58) I see a digital output pulse HIGH in the kinesis GUI but was wondering how to directly put this in my script. DJayasuriya
 (posted 2022-04-01 06:17:31.0) Thank you for your inquiry. We will get in touch with you directly. user
 (posted 2022-03-28 12:09:13.577) Hello, I'm hoping to use python to control a K10CR1 and M30XY through the Kinesis software. Do you have any example scripts or suggestions? Thank you. DJayasuriya
 (posted 2022-03-29 06:11:19.0) Thank you for your inquiry. We will get in touch with you directly. user
 (posted 2022-03-26 10:59:28.037) I connect KBD101 success,but software can't move,drive and jog. DJ M
 (posted 2022-03-17 22:28:08.197) Hey I've seen others below requesting a python example for controlling Kinesis. I'm hoping to control a K10CR1/M using python is there any chance I could also get the example script? DJayasuriya
 (posted 2022-03-21 07:15:50.0) Thank you for your feedback, we have got in touch with you directly. user
 (posted 2022-03-14 07:12:58.82) Good day,
I am using a KLS635 and I want to control the laser source with a python script to adjust the output power. Can you provide me with some example code?
Best regards! DJayasuriya
 (posted 2022-03-15 07:30:39.0) Thank you for your inquiry. We will get in touch with you directly to help. Ultan Daly
 (posted 2022-02-14 08:27:13.053) Hello,
I am using a setup with a KPA101 position aligner connected to a PDQ80A. This is in a closed-feedback loop with two KPZ101 piezo controllers, each connected to a Polaris P20 to control a kinematic mirror mount. The setup is similar to the one shown on the Polaris kinematic mirror mount 'application' tab.
Unfortunately, the beam incident upon the PDQ80A is relatively weak. This seems to be limiting my ability to pick suitable PID values for the loop control. Is there a convenient way to increase the feedback gain past 10 within the Kinesis software?
Thank you! cwright
 (posted 2022-02-14 10:42:16.0) Response from Charles at Thorlabs: Thank you for your query. It is not possible to increase the feedback gain beyond 10. Depending on the light source it may be possible to optimise the choice of detector or otics to improve your signal. Reducing the background noise can also help. Technical support will reach out to you about this. user
 (posted 2022-02-01 04:54:01.34) Good day! I have recently purchased an XY stage and would like to know if you have sample projects that use WinForms in C# to control the stage. I saw in the comments below that this is available. It would be great to see these files for references and on how to implement this. Thank you very much! DJayasuriya
 (posted 2022-02-01 08:38:07.0) Thank you for your inquiry. We have got in touch with you directly to help with your sample project. DJayasuriya
 (posted 2022-02-01 08:38:07.0) Thank you for your inquiry. We have got in touch with you directly to help with your sample project. user
 (posted 2022-01-20 09:07:56.077) Is there anywhere I can go to find out how to use Kinesis on Visual Basic? cwright
 (posted 2022-01-21 05:07:11.0) Response from Charles at Thorlabs: Thank you for your query. We have a range of Video Insights which can be found here: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=14062. One of these is titled "Visual Studio® Project Setup and C# Programming - Kinesis® BBD300 Series Controller". I believe you will find this helpful. He tao
 (posted 2021-12-23 17:23:49.457) Hello, I am using Labview2012 to call .NET file to control KPZ101 and the program works fine in Vi file, but when I package the Vi file into an executable application file, the program does not work properly and the labview shows that the dll file is not found, even if I manually select the correct dll file. cwright
 (posted 2021-12-23 05:16:50.0) Response from Charles at Thorlabs: Thank you for your query. You can also contact your local technical support team directly for a faster response: https://www.thorlabs.com/supportcontact.cfm
The usual cause for a dll no being found is that it has not been placed in the correct exe working directory. We will reach out to you to discuss your executable. Li Luo
 (posted 2021-12-19 18:30:25.803) Cannot Install Kinesis:
The wizard was interrupted before Thorlabs Kinesis could be completely installed.
Your system has not been modified. To complete installation at another time, please run setup again cwright
 (posted 2021-12-23 11:19:25.0) Resposne from Charles at Thorlabs: Thank you for your query. This is most likely an issue with your access rights on the PC. I would suggest checking you are a local administrator to the PC and reinstalling. We will reach out to you. user
 (posted 2021-12-16 19:53:47.98) I want to automate some of my stages using Matlab and Kinesis, but I am having problems with the DeviceManagerCLI.dll file. No matter what I do, I always get this error when calling on the BuildDeviceList function:
Message: External component has thrown an exception.
Source: Thorlabs.MotionControl.DeviceManagerCLI
HelpLink:
I have tried various things such as: closing Kinesis/restarting computer before running code, copying dll files to matlab directory that contains the code, ensuring that both matlab and kinesis are 64 bit software, and running the code in various matlab versions from 2015-2021a.
I am using a Thorlabs example code and have tested it using the latest kinesis version 1.14.30. Obviously this code has worked in the past, but do you know if it's compatible with the current version of Kinesis? According to online Matlab forums, it looks like this error started occurring around/before version 1.14.16. Is it possible to get an older version of Kinesis like 1.14.10? Or do you know of any solutions to fix this error?
Here is the code up until the error occurs:
clear all; close all; clc
devCLI = NET.addAssembly('C:\Program Files\Thorlabs\Kinesis\Thorlabs.MotionControl.DeviceManagerCLI.dll');
NET.addAssembly('C:\Program Files\Thorlabs\Kinesis\Thorlabs.MotionControl.GenericMotorCLI.dll');
NET.addAssembly('C:\Program Files\Thorlabs\Kinesis\Thorlabs.MotionControl.KCube.DCServoCLI.dll');
import Thorlabs.MotionControl.DeviceManagerCLI.*
import Thorlabs.MotionControl.GenericMotorCLI.*
import Thorlabs.MotionControl.KCube.DCServoCLI.*
%Build Device List loads the connected devices to available memory
SimulationManager.Instance.InitializeSimulations(); %uncomment if you are
%running a simulated device
DeviceManagerCLI.BuildDeviceList(); cwright
 (posted 2021-12-17 08:27:44.0) Response from Charles at Thorlabs: Thank you for your query. Unfortunately as Matlab is not officially supported by us we cannot guarantee that all DLL's will work in Matlab - in fact we are aware that some releases of our DLLs do not appear to work at all with some releases of Matlab but it is not predictable which are compatible or not. I would suggest avoiding Matlab if possible or using our serial commands in Matlab, which would always work.
I will reach out to you to see what example you are using and see if we can supply an old version of Kinesis. Alvin C
 (posted 2021-12-14 13:48:53.657) Hello, I am using Kinesis in c# to control the KC Brushless motor. I am trying to write into my code parameters to trigger I/O but there is nothing in the HELP APi document. There is I/O settings for the other KCube devices except the one I'm using cwright
 (posted 2021-12-16 05:43:00.0) Response from Charles at Thorlabs: Thank you for your query. I am sorry to hear you are having trouble with the API. I will reach out to you about this and look into the possibility of clarifying the API documentation. Ruo-Jing Ho
 (posted 2021-12-06 21:06:59.97) Hello,
I am using Kinesis in C# to control the rotation motor K10CR1. I downloaded the latest version of the software and added all the dependencies for references. I followed the example code and instructions. However, I keep running into issue with loading the configuration of the device, i.e. the "LoadMotorConfiguration" cannot go through. Could you please help me with it?
Thank you, YLohia
 (posted 2021-12-23 12:19:08.0) Thank you for your feedback. This would depends on how you're running it. If it is in debug mode, the dll's need to go in bin/Debug. If the dll's are in the main project folder (i.e. the folder with the .sln file in it) then it won't work. Could you please tell us the error code/location of the break? We have reached out to you directly to troubleshoot further. Gavriil Romanenko
 (posted 2021-12-01 04:40:43.737) Hello,
I have a problem. I installed the program on the official website Kinesis Version 1.14.30. Together with this program, the Firmware Update Utility was installed. In it, I accidentally clicked on the Flash Firmware button. after that, the Motor stopped turning on and working independently. What should I do to solve my problem?
Thank you. DJayasuriya
 (posted 2021-12-03 06:39:51.0) Thank you for your feedback. If you interrupted the connection, turned off the device, or closed the application during the flash process, it may have corrupted the firmware. The firmware update utility relies on the old firmware to update to the new firmware. you can follow the instructions in the help file, and see if the firmware installation works. We have also got in touch with you directly. alex caviness
 (posted 2021-11-30 17:00:15.993) Hi! I am trying to control an LTS150 and an HDR50 (connected to a BSC203) using Python and I was wondering if you would be able to provide any example code for using Python to control these devices?
Thanks! YLohia
 (posted 2021-12-23 12:00:06.0) Hello, thank you for contacting Thorlabs. We have reached out to you directly to discuss this further. kangwoo ahn
 (posted 2021-11-16 03:13:39.927) When I load a .NET file in LabVIEW, it does not load with the following error.
"An error occurred trying to load the assembly."
The program environment is LabVIEW 2012 64-bit and Windows 10 64-bit.
I installed Kinesis for 64-bit.
Kinesis software is well working, but I couldn't use with LabVIEW.
What can I do? DJayasuriya
 (posted 2021-11-16 09:09:20.0) Thank you for your inquiery. You would have to have the related Dll's in your Labview project folder to load them. We will get in touch with you directly to troubleshoot this. Jong-Min Kim
 (posted 2021-11-03 08:52:23.25) Hi, I would like to connect the KPA101 to a PC using MATLAB codes. Could you explain how to set up the MATLAB program and give me some example codes? I can't find any explanations or sample MATLAB codes on websites. I really looking forward to your responses. Thank you. YLohia
 (posted 2021-12-23 11:22:44.0) Thank you for contacting Thorlabs. We have reached out to you directly. Mathieu Jeannin
 (posted 2021-10-07 12:53:29.5) Hi,
I am using python to control a KIM001 device linked to a PD1B/M stage. I load the kinesis dlls though the standard ctypes library.
While most of the functions work out of the box, I get partially incorrect results with the following functions:
'TLI_GetDeviceInfo' returns the correct serial n° and description but a typeID=74 (not listed in the doc) and motorType=256 (not listed). Identically, KIM_GetHardwareInfoBlock returns some correct values and some that do not exist (info_type=16).
Finally, and more importantly, KIM_WaitForMessage always returns a messageType=12 which does not exist in the documentation, thus preventing me from operating the stage in an asynchronous manner with my program.
Otherwise the device functions properly, either using Kinesis or the python wrapper around the dlls...
Could you help me to fix the issue ?
Thank you YLohia
 (posted 2021-12-23 10:38:36.0) Hello, thank you for contacting Thorlabs. We are sorry to hear that you're having issues with this device. We have reached out to you directly to troubleshoot further. carlos Reyes
 (posted 2021-07-12 09:14:36.087) Hi,
I have a KCH301 base. I installed the Kinesis software and I am able to control the motors. However, when trying to use .NET and .dll files in Labview I am not able to load the interface. I keep getting the following message:
"An error occured trying to load the assembly" I'm using the most updated version of Labview. Can you help me solve this issue? cwright
 (posted 2021-07-13 10:41:07.0) Response from Charles at Thorlabs: Thank you for your query. There are a few reasons as to why an error can occur trying to load an assembly. Most commonly is that the incorrect bit version is being used. Please ensure that if you are using 32 bit LabVIEW for 64 bit Windows then you are using 32 bit Kinesis for 64 bit Windows.
Another common reason for this error is that the .NET assemblies have not been copied over to the same directory as where the LabVIEW project is saved. In order for LabVIEW to find the .NET assemblies, they have to be placed in the root folder of the LabVIEW project in which you're attempting to use them. Therefore, if you try to write your virtual instrument outside of any saved projects and/or if the required DLLs are not placed in the correct location, LabVIEW will throw that error. This happens even if you specifically show it where the assemblies are located. Archana Bulathsinghala
 (posted 2021-07-07 00:00:47.963) Hi! I'm trying to control a PT1/M-Z8 Motorized Translation Stage with a TDC001 via MATLAB to jog the Stage at a specified step size.
So far, I've tried using the driver here https://au.mathworks.com/matlabcentral/fileexchange/66497-driver-for-thorlabs-motorized-stages but it gets stuck at the command: "connect(m1,a{1})", with the output: "Error using motor/connect (line 89) Stage not recognised". The previous command "m1=motor" gives the output "m1 =
motor with properties:
isconnected: 0
serialnumber: []
controllername: []
controllerdescription: []
stagename: []
position: []
acceleration: []
maxvelocity: []
minvelocity: []".
Any help would be greatly appreciated! cwright
 (posted 2021-07-07 06:19:44.0) Response from Charles at Thorlabs: Thank you for your query. As Matlab is not officially supported by us we cannot guarantee that all DLL's will work in Matlab and it is not predictable which Dll's are compatible with which release of Matlab. We also are not able to support the 3rd party matlab library. Since the library was not created by ThorLabs, we are not able to guarantee functionality.
I will reach out to you to provide an example which does not use this wrapper but with Matlab I would suggest it is always most reliable to use serial commands. It would also be worth ensuring the Kinesis software and Matlab are not open at the same time as this causes connection errors. Please close any software that is accessing the cube and try again. Lisa Beckmann
 (posted 2021-07-06 15:13:59.163) I am having an issue with "device not responding"
Error 83823543 Device not responding
I don't think the issue should be PSU (device works fine with manual controls, just not with kinesis software). I am using the latest version of kinesis. However, the hardware is quite old (TDC001). Thank you cwright
 (posted 2021-07-09 03:40:19.0) Response from Charles at Thorlabs: Thank you for your query. Device not responding is most commonly caused by a connection issue. Trying another USB cable and a different port, even on another PC, would be first troubleshooting steps. Also, please try to connect the USB cable first, followed by the power supply. You can you see the device in the device manager. It should appear as an APT USB Device. We will reach out to you to help with troubleshooting. user
 (posted 2021-06-24 13:20:30.137) Hello,
I am currently running into an issue similar to one Hyeongseok Yun had on 2019-08-13.
I have 2 Thorlabs motors connected to my PC through USB ports: a KDC101 motor controller and an APT dc servo controller (polarization control).
When I open the Kinesis software, I receive the following error message regarding the KDC motor:
"2021-06-24 13:15:07.917 Error Device Scan KCube DC Motor Controller (S/N ********): Unable to resolve issue ("Internal serial number is incorrect")"
Any help in fixing this would be greatly appreciated.
Cheers. jcater
 (posted 2021-06-28 06:25:44.0) Response from Jack at Thorlabs: Thank you for your query. The devices serial number is saved on the FTDI chip used by the KDC101 and also in the cubes flash memory. It appears that the serial number saved to the cubes flash memory does not match that saved to the FTDI chip. Kinesis should be able to fix this issue if you load the devices once, then unload them, then load them again. I will get in touch with you directly to resolve the issue if it persists. Jinsu Lee
 (posted 2021-06-18 20:49:42.83) I keep failing to recall Kinesis dll file.
Labview 2017 64bits
Window 64bits
I download Kinesis 64bits software 64 bits window
I'm trying to browse Thorlabs.MotionControl.Benchtop.StepperMotor.CLI.dll
It said, "An error occurred trying to load assembly."
When I assess Thorlabs.MotionControl.Control.dll
I can assess, but I can recall after functions such as BenchtopStepperControl.
It said FileNotFoundException.
I keep trying - erasing the Kinesis program and install it and try again, but it has the same result.
I don't know what I did wrong.
In addition, I'm planning to make xy translation stage by using step motor. Is it right that I have to use Thorlabs.MotionControl.Benchtop.StepperMotor.CLI.dll ?
I'll be wait your respond.
Thanks cwright
 (posted 2021-06-21 09:16:28.0) Response from Charles at Thorlabs: Thank you for your query. There are a few reasons as to why this error can occur, most commonly is that the incorrect bit version is being used. Another common reason for this error is that the .NET assemblies have not been copied over to the same directory as where the LabVIEW project is saved.
In order for LabVIEW to find the .NET assemblies, they have to be placed in the root folder of the LabVIEW project in which you're attempting to use them. Therefore, if you try to write your virtual instrument outside of any saved projects and/or if the required DLLs are not placed in the correct location, LabVIEW will throw that error. This happens even if you specifically show it where the assemblies are located. Joseph Natal
 (posted 2021-06-09 14:25:18.483) Two questions:
1. What is the quickest way to use the Kinesis software to drive a KPZ101 at a linear combination of 3 independent frequencies with arbitrary phase?
2. Would I be able to perform this process at a 1kHz sampling rate? I see in the example code it looks like only simple move commands are used. Ideally I could upload a precompiled motion routine to the K-Cube that doesn't require serial communication, as I am using the same computer for a real-time control system. jcater
 (posted 2021-06-11 05:43:50.0) Response from Jack at Thorlabs: Thank you for your inquiry. The KPZ101 has an external input which accepts 0-10V and will amplify the 10V to 75V, 100V or 150V depending on the output voltage setting. With the external input you can drive the KPZ101 at a defined frequency.
Using the Kinesis API you can feed a look up table of up to 8000 samples to the KPZ101, this LUT can contain your motion routine in the form of index and voltage points. You can set the KPZ101 to use this LUT based off a trigger input or by calling the StartLUTwave() command. The theoretical maximum sampling rate using the LUT with the Kinesis API is 1kHz. Hoyoung Lee
 (posted 2021-05-28 14:40:26.06) Hi, Can you check my log message from Kinesis.
2021-05-28 14:37:20.626 Info $109999 Application Details
Application = Thorlabs.MotionControl.Kinesis
Platform = 64 bit
Version = 1.14.26.18107
Path = C:\Program Files\Thorlabs\Kinesis
2021-05-28 14:37:20.631 Info $109999 Operating System
Operating System = Win32NT
Service Pack =
Platform = 64 bit
Version = Microsoft Windows NT 6.2.9200.0
2021-05-28 14:37:20.575 Diagnostic $219999 Config Verification - Pass
2021-05-28 14:37:20.774 Diagnostic $250001 SetupDiEnumDeviceInterfaces: \\?\hid#vid_093a&pid_2510#6&3dcfcfc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} - HID-compliant mouse
2021-05-28 14:37:20.785 Diagnostic $250002 HidDevice() Attributes: HID-compliant mouse: USB Optical Mouse
2021-05-28 14:37:20.794 Diagnostic $250002 HidDevice() Capabilities: HID-compliant mouse: 2, 1, (3, 3)
2021-05-28 14:37:21.267 Diagnostic $100013 Opening Device Collection
2021-05-28 14:37:21.272 Diagnostic $100014 Create Device: 45173314
2021-05-28 14:37:21.281 Info $301112 Loading Device Configurations Device = General
2021-05-28 14:37:21.285 Info $301110 Reading Device Configurations Device = General
2021-05-28 14:37:21.287 Info $301112 Loading Device Configurations Device = 45173314
2021-05-28 14:37:21.287 Info $301110 Reading Device Configurations Device = 45173314
2021-05-28 14:37:21.288 Info $301120 Loaded General Settings
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2021-05-28 14:37:21.301 Info $301131 Loading Device Settings ListSuccess
2021-05-28 14:37:21.301 Info $301131 Loading Custom Settings ListSuccess
2021-05-28 14:37:21.303 Info $301100 Loaded Device Settings
SettingsName = HS LTS300 300mm Stage
DeviceAlias =
DeviceData =
CollateLogging = False
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2021-05-28 14:37:21.303 Info $301112 Storing Device Configurations Device = 45173314
2021-05-28 14:37:21.303 Info $301100 Loaded Device Settings
SettingsName = Default
DeviceAlias =
DeviceData =
CollateLogging = False
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2021-05-28 14:37:21.303 Info $301112 Loading Device Configurations Device = 45173174
2021-05-28 14:37:21.303 Info $301110 Reading Device Configurations Device = 45173174
2021-05-28 14:37:21.304 Info $301100 Loaded Device Settings
SettingsName = HS LTS300 300mm Stage
DeviceAlias =
DeviceData =
CollateLogging = False
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2021-05-28 14:37:21.333 Info $1131 Loading Device Settings List Value = Success
2021-05-28 14:37:21.341 Info $1130 Loading Custom Settings List Value = Failed to find SettingsCollection/Device node
2021-05-28 14:37:21.341 Info $1111 Loading Device Configurations Device = General
2021-05-28 14:37:21.341 Info $1110 Reading Device Configurations Device = General
2021-05-28 14:37:21.342 Info $1120 Loaded General Settings
LoadSettingsOption = 2
OutputDebugMask = 7
OutputLogMask = 31
2021-05-28 14:37:21.342 Info $1111 Loading Device Configurations Device = 45173314
2021-05-28 14:37:21.342 Info $1110 Reading Device Configurations Device = 45173314
2021-05-28 14:37:21.342 Info $1100 Loaded Device Settings
CollateLogging = 0
DeviceAlias =
LoadSettingsOption = 2
MustUseDeviceUnits = 0
OutputDebugMask = 7
OutputLogMask = 31
SettingsName = HS LTS300 300mm Stage
2021-05-28 14:37:21.342 Info $1112 Storing Device Configurations Device = 45173314
2021-05-28 14:37:21.475 Diagnostic 45173314 LoadDevice Success
Device = 45173314
Handle = 000002054D125C90
2021-05-28 14:37:21.527 Diagnostic $100003 Application Started
2021-05-28 14:37:25.335 Error 45173314 Device not responding
2021-05-28 14:37:25.707 Diagnostic $100015 Opened Device Collection cwright
 (posted 2021-05-28 09:23:19.0) Response from Charles at Thorlabs: Hello Hoyoung. This appears to be the same error as last posted which implies you have not seen the response from my colleague. As you selected that you preferred not to be contacted my colleague only posted the response to the site. Since we believe you may not have seen the previous response we will email you to ensure this reaches you. Software support is most readily provided by directly contacting your local technical support team (https://www.thorlabs.com/supportcontact.cfm) with your log files attached to an email. These can be collated in Kinesis from File> Pack Logs. Hoyoung Lee
 (posted 2021-05-26 18:53:22.813) Hi,
My problem is raised during ISC_LoadSettings().
---- Debug Info ----
05/26/21 18:45:15.211 1131 Info Loading Device Settings List (Success)
05/26/21 18:45:15.211 1130 Info Loading Custom Settings List (Failed to find SettingsCollection/Device node)
05/26/21 18:45:15.211 1111 Info Loading Device Configurations
Device = General
05/26/21 18:45:15.211 1110 Info Reading Device Configurations
Device = General
05/26/21 18:45:15.212 1120 Info Loaded General Settings
OutputDebugMask = 7
OutputLogMask = 31
LoadSettingsOption = 2
05/26/21 18:45:15.212 1111 Info Loading Device Configurations
Device = 45173314
05/26/21 18:45:15.212 1110 Info Reading Device Configurations
Device = 45173314
05/26/21 18:45:15.212 1100 Info Loaded Device Settings
CollateLogging = 0
SettingsName = HS LTS300 300mm Stage
OutputDebugMask = 7
OutputLogMask = 31
DeviceAlias =
LoadSettingsOption = 2
MustUseDeviceUnits = 0
05/26/21 18:45:15.212 1112 Info Storing Device Configurations
Device = 45173314
Can you check what is the problem ?
Thank you. jcater
 (posted 2021-05-26 09:38:56.0) Response from Jack at Thorlabs: Thank you for your feedback. This error is occurring either because there is no file called 'ThorlabsCustomSettings.xml' in C:\ProgramData\Thorlabs\MotionControl or the serial number of your device is not configured in 'ThorlabsDeviceConfiguration.xml'.
ISC_LoadSettings tells the C API to load the settings stored in the ThorlabsDefaultSettings.xml or ThorlabsCustomeSettings.xml and apply them to the stage. To do this it needs to know the stage referenced by serial number and look up the correct settings for that stage as defined in the ThorlabsDeviceConfiguration.xml file. If there is no reference in the ThorlabsDeviceConfiguration.xml file for the stage, ISC_LoadSettings will return false.
The best way to resolve this issue is to open Kinesis with your device connected, this will create a configuration in ThorlabsDeviceConfiguration.xml so ISC_LoadSettings will load the correct settings. Rijan Maharjan
 (posted 2021-05-26 17:54:12.7) Hi, like many users here - I too am trying to control a device using Python (DDSM50 in my case, connected via KDB101 cube. Would you be able to send me the example scripts in python as well? Thank you. jcater
 (posted 2021-05-26 05:42:38.0) Response from Jack at Thorlabs: Thank you for your inquiry. Whilst we do not directly support Python I will reach out to you with some examples to help you control the KDB101 in Python. l yf
 (posted 2021-05-18 00:15:29.12) Hi ,I use C API to control BBD 203, I connect Kinesise Simulator, If I set the Simulator serial no to 7300001,the BMC_LoadSettings function return true, but when I set the serial no to other values, the BMC_LoadSetting always return false.Can you tell me how to solve it ?
BTW, Can I get more C++ sample?
Thanks cwright
 (posted 2021-05-18 10:15:41.0) Response from Charles at Thorlabs: Hello and thank you for your query. This is most likely a case of changing the serial number in your application but forgetting to also change it in the Kiensis simulator application or vice versa. We will contact you to help troubleshoot. user
 (posted 2021-04-26 15:38:09.413) I'm trying to use the Kinesis .NET API to control 3 Thorlabs stepper motors with a BSC103. The problems is that if my software calls the BenchtopStepperMotor.Connect() function and then doesn't disconnect properly, I can't connect again (with either my software or the Kinesis GUI) until turning the BSC103 off and then on. Is there an API function I could use to reset the BSC103? I'm working remotely so having to reset physically is a hassle. Thanks! DJayasuriya
 (posted 2021-05-11 03:36:39.0) Thank you for your inquiry. We will get in touch with you directly to resolve your issue. Santi Sempere
 (posted 2021-04-20 10:38:58.147) Hello, I am trying to connect 13 automated rotation mounts (11 K10CR and 2 PRM1Z8 with the TDC001 controller) to a computer via 2 USB Hubs. However, when I try to start the Kinesis software it crashes into a BSOD with error code pfn_list_corrupt. I have tried with several different computer and all of them crash. I am using Windows 10 and Kinesis 32-bit for 64-bit computer (17718). Have you ever seen this behaviour before? Many thanks in advance. cwright
 (posted 2021-04-21 09:45:01.0) Response from Charles at Thorlabs: Hello and thank you for contacting us. This is not an issue we are aware of so we will contact you directly to get more information and help troubleshoot this. user
 (posted 2021-04-08 04:05:25.537) Hello, I am currently working with the PRM1/MZ8 rotation stage. I woud need to control this stage with a Python software, which is already controlling other setups of my experiment. Is there a way to do this? If so, could you provide some examples? Many thanks in advance. user
 (posted 2021-04-06 04:45:09.813) Hello, is there a documentation where I can look up the function inputs for matlab? I want to use the MoveJog function for the DDSM100/M, but do not know the inputs.
Thank you very much DJayasuriya
 (posted 2021-04-12 05:42:01.0) Thank you for your inquiry. We have got in touch with you directly to resolve your issue. user
 (posted 2021-03-30 10:06:51.47) Hi
I am attempting to control a KSC k-cube with the .NET assembly in matlab.
So far I have been able load the assemblies with "NET.addAssembly", however whenever I try to connect to the k-cube with "KCubeSolenoid.CreateKCubeSolenoid(SerialNo)" matlab crashes and does not give an error message. Would somebody be able to help me out with this? Thank you. DJayasuriya
 (posted 2021-04-08 06:26:29.0) Thank you for your inquiry. We have got in touch with you directly to resolve your issue. user
 (posted 2021-03-23 11:24:58.777) Hello,
I have a DDSM100/M stage and want to control it via Matlab. Other users have postet that they control kinesis via matlab, but I have no idea how to do it and I couldn´t find an instruction. Can you please tell me how to do it? DJayasuriya
 (posted 2021-03-24 10:51:43.0) Thank you for your inquiry. We will get in touch with you directly to resolve your issue. DJayasuriya
 (posted 2021-03-24 10:51:43.0) Thank you for your inquiry. We will get in touch with you directly to resolve your issue. user
 (posted 2021-03-05 07:26:21.143) Hi there, I'm looking to integrate the controllers using Python. I wonder if you have a Python DLL wrapper that you could provide? A Python script example would also be helpful. Many thanks in advance. cwright
 (posted 2021-03-11 08:52:18.0) Response from Charles at Thorlabs: Thanks you for your query. While we do not have a wrapper, it is possible to use the C API and ctypes or to use the .NET API with IronPython. We will reach out to you directly to discuss your needs and offer an example using Python. han xu
 (posted 2021-03-03 19:02:30.58) HI, we have been using a C++ application to control TDC001. The dll file and header file that you have sent us is an old 32 bit version. So we were no able to use it in our new computer (64 bit system). Can you please send us the 64 bit version dll file and header files which we can build into our c++ application? DJayasuriya
 (posted 2021-03-10 09:58:36.0) Thank you for your inquiry. Yes of course. We will get in touch with you directly to resolve your issue. DJayasuriya
 (posted 2021-03-10 09:58:36.0) Thank you for your inquiry. Yes of course. We will get in touch with you directly to resolve your issue. Vincent Chambouleyron
 (posted 2021-03-02 09:57:00.513) Hi, I am using Kinesis through MATLAB to control KDC101. It is working perfectly fine. One question: I would like to buy a second KDC101 unit. But is it possible to control two of them at the same time ? Cheers,
Vincent DJayasuriya
 (posted 2021-03-03 05:52:03.0) Hello Vincent, Thank you for your feedback. Yes you will be able to control two KDC101 units at the same time. If you have further questions regarding your application please reach out to our techsupport team. we would be happy to help. Eylül Nihan Kamun
 (posted 2021-02-26 16:08:18.087) To whom this may concern,
We are graduate students in Laser Research laboratory in Koc university.
We are using BSC203 stepper motor drivers to control LNR50M stages with DRV250. We are aiming to move the stages in 3D with the stepper motors. Kinesis version that we are using now is 1.14.25 (64-bit) and we are able to control stages via Kinesis interface.
We are trying to control stages with Matlab (version R2020b, 64bit), too. We have all the .dll files from the Kinesis software’s webpage. We also customized the dll files according to our setup. We are able to call the stepper motor drivers via code and see the LEDs on. But we cannot connect stages to the driver. This the error that we face while running it:
"Error using interface4 (line 31)
Message: Device is not connected
Source: Thorlabs.MotionControl.DeviceManagerCLI
HelpLink:"
We are kindly asking you to help us with this problem.
Regards,
Eylül Nihan Kamun cwright
 (posted 2021-03-03 09:45:04.0) Response from Charles at Thorlabs: Hello and thank you for your query. As we were also contacted by email we have already responded with troubleshooting advice. The issue in this case appears to potentially be selecting the wrong controller. Generally first steps for troubleshooting Matlab would be to restart your computer and the controller. Then, only opening Matlab and attempting to run the program. If there are two or more programs trying to access the DLLs or the device you will have issues with running the program. user
 (posted 2021-02-24 11:02:57.177) Hi, I have a KIM101 and I would like to control it and poll the position through MATLAB using the Kinesis .NET interface but first I don't know how to connect correctly with Matlab. After the connection I would like too to know how use the Kinesis GUI through MATLAB like the user who recently asked (posted 2021-01-15 09:42:58.54). Many thanks! DJayasuriya
 (posted 2021-02-25 08:33:15.0) Thank you for your inquiry. I will get in touch with you directly with this information. Hoyoung Lee
 (posted 2021-02-25 00:04:18.83) Hi, I am using LTS300, and developing the application using Visual C++/MFC. However, when I do ISC_LoadConfig() after success of ISC_Open(), the error is occurred with message like "Unhandled exception at 0x00007FFE5754D759 (KernelBase.dll) in HyperImager.exe: 0xC000041D: An unhandled exception was encountered during a user callback." I can not resolved this, which may be come from inside of your SDK. How can I resolve the issue? DJayasuriya
 (posted 2021-02-25 08:21:55.0) Thank you for your inquiry. Would you be able to try 'ISC_LoadSettings()' rather than 'ISC_LoadConfig()' please. There is no command 'ISC_LoadConfig()'. If you have any other questions please do not hesitate to get in touch with our tech support team. user
 (posted 2021-01-15 09:42:58.54) Hi, I have a couple of KDC101's with 50 mm Compact Motorized Translation Stages which I am controlling through MATLAB using the Kinesis .NET interface. I have successfully connected the stages, and can control them and poll the position/status etc. I was wondering if it is possible to open the Kinesis GUI through MATLAB, as it would be extremely useful for monitoring the stages while using the rest of the script. I have tried importing Thorlabs.MotionControl.KCube.DCServoUI and calling KCubeDCServoUI.CreateLargeView but get the following error: Message: Invalid URI: Invalid port specified. Is it possible to open the GUI through MATLAB, and if so do you have any ideas why I am getting this error? Thanks! DJayasuriya
 (posted 2021-01-18 08:50:43.0) Thank you for your inquiry. I will get in touch with you directly to resolve this issue. Viktor Kurysh
 (posted 2021-01-07 20:04:35.403) Hello,
I see Error 40176804 Device not responding Error Code = 33 message.
How can I fix it.
Thanks.
Viktor
Log is below.
2021-01-07 16:57:14.035 Diagnostic $100003 Application Started
2021-01-07 16:57:27.893 Info $100032 Device 40176804 Inserted
2021-01-07 16:57:32.921 Diagnostic $100013 Opening Device Collection
2021-01-07 16:57:32.927 Diagnostic $100014 Create Device: 40176804
2021-01-07 16:57:32.949 Info $301100 Loaded Device Settings
SettingsName = HDR50
DeviceAlias =
DeviceData =
CollateLogging = False
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2021-01-07 16:57:32.950 Info $301112 Storing Device Configurations Device = 40176804
2021-01-07 16:57:33.034 Info $1131 Loading Device Settings List Value = Success
2021-01-07 16:57:33.048 Info $1130 Loading Custom Settings List Value = Failed to find SettingsCollection/Device node
2021-01-07 16:57:33.049 Info $1111 Loading Device Configurations Device = General
2021-01-07 16:57:33.049 Info $1110 Reading Device Configurations Device = General
2021-01-07 16:57:33.049 Info $1120 Loaded General Settings
LoadSettingsOption = 2
OutputDebugMask = 7
OutputLogMask = 31
2021-01-07 16:57:33.049 Info $1111 Loading Device Configurations Device = 40176804
2021-01-07 16:57:33.049 Info $1110 Reading Device Configurations Device = 40176804
2021-01-07 16:57:33.049 Info $1100 Loaded Device Settings
CollateLogging = 0
DeviceAlias =
LoadSettingsOption = 2
MustUseDeviceUnits = 0
OutputDebugMask = 7
OutputLogMask = 31
SettingsName = HDR50
2021-01-07 16:57:33.049 Info $1112 Storing Device Configurations Device = 40176804
2021-01-07 16:57:33.187 Diagnostic 40176804 LoadDevice Success
Device = 40176804
Handle = 000001A547E151C0
2021-01-07 16:57:37.146 Error 40176804 Device not responding Error Code = 33
2021-01-07 16:57:37.518 Diagnostic $100015 Opened Device Collection cwright
 (posted 2021-01-08 08:18:43.0) Response from Charles at Thorlabs: Hello Viktor, the most common causes for error 33 in general are that you are using old versions of Kinesis with new hardware, that the USB connection was interrupted and requires power cycling of the controller to establish communication again, or that the devices are not switched on/powered via their PSU. Technical supprot will reach out to you to help. Your local technical support team can also be contacted directly using the details on the following page: https://www.thorlabs.com/locations.cfm Per Augustsson
 (posted 2020-12-21 06:29:55.403) Hi. I am trying to control labjack MLJ150/M using the latest version of kinesis (32 bit for 64 bit Windows, v 1.14.24 (Build 17290). When attempting to load the jack (connected by USB), kinesis fails with error "Device not responding (Error Code- 33)". How do I solve this problem? I see in the previous Comments that this may be a hardware issue.
Here is the log:
2020-12-21 12:22:59.309 Info $109999 Application Details
Application = Thorlabs.MotionControl.Kinesis
Platform = 32 bit
Version = 1.14.24.17290
Path = C:\Program Files (x86)\Thorlabs\Kinesis
2020-12-21 12:22:59.311 Info $109999 Operating System
Operating System = Win32NT
Service Pack =
Platform = 64 bit
Version = Microsoft Windows NT 6.2.9200.0
2020-12-21 12:22:59.887 Info $301112 Loading Device Configurations Device = General
2020-12-21 12:22:59.893 Info $301110 Reading Device Configurations Device = General
2020-12-21 12:22:59.896 Info $301120 Loaded General Settings
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2020-12-21 12:22:59.896 Info $301112 Loading Device Configurations Device = 49176874
2020-12-21 12:22:59.896 Info $301110 Reading Device Configurations Device = 49176874
2020-12-21 12:22:59.914 Info $301131 Loading Device Settings ListSuccess
2020-12-21 12:22:59.914 Info $301131 Loading Custom Settings ListSuccess
2020-12-21 12:22:59.914 Info $301100 Loaded Device Settings
SettingsName = Default
DeviceAlias =
DeviceData =
CollateLogging = False
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2020-12-21 12:22:59.914 Info $301112 Storing Device Configurations Device = 49176874
2020-12-21 12:22:59.936 Info $301100 Loaded Device Settings
SettingsName = Default
DeviceAlias =
DeviceData =
CollateLogging = False
OutputDebugMask = StdOutput
OutputLogMask = StdLogging
LoadSettingsOption = UseFileSettings
2020-12-21 12:22:59.938 Info $1131 Loading Device Settings List Value = Success
2020-12-21 12:22:59.938 Info $1130 Loading Custom Settings List Value = Failed to find SettingsCollection/Device node
2020-12-21 12:22:59.944 Info $1111 Loading Device Configurations Device = General
2020-12-21 12:22:59.944 Info $1110 Reading Device Configurations Device = General
2020-12-21 12:22:59.944 Info $1120 Loaded General Settings
LoadSettingsOption = 2
OutputDebugMask = 7
OutputLogMask = 31
2020-12-21 12:22:59.944 Info $1111 Loading Device Configurations Device = 49176874
2020-12-21 12:22:59.944 Info $1110 Reading Device Configurations Device = 49176874
2020-12-21 12:22:59.944 Info $1100 Loaded Device Settings
CollateLogging = 0
DeviceAlias =
LoadSettingsOption = 2
MustUseDeviceUnits = 1
OutputDebugMask = 7
OutputLogMask = 31
SettingsName = Default
2020-12-21 12:22:59.944 Info $1112 Storing Device Configurations Device = 49176874
2020-12-21 12:23:04.452 Error 49176874 Device not responding Error Code = 33
Best,
Per cwright
 (posted 2021-01-06 11:11:45.0) Response from Charles at Thorlabs: Hello Per and thank you for contacting us. A hardware issue is the worst case scenario and not common. The most common causes for error 33 in general are that you are using old versions of Kinesis with new hardware, that the USB connection was interrupted and requires power cycling of the controller to establish communication again, or that the devices are not switched on/powered via their PSU. A less common reason can be that the main board has lost its programming and has to be returned. I will reach out to you to troubleshoot this. user
 (posted 2020-12-10 02:46:16.853) Dear sir,
We have purchased Thorlab linear stages DDSM100/M but facing problems in sequential operation through Kinesis software.
It operates an event perfectly with different motions.
I am using two motors for XY motion but it cant execute the different events in sequential form, it only operates the first event.
Can you help, it will be very thankful of you. DJayasuriya
 (posted 2020-12-11 04:59:02.0) Thank you for your inquiry. I will get in touch with you directly to resolve this issues. Urs Hofmann
 (posted 2020-12-08 09:04:56.4) Hi, I am currently trying to generate a MATLAB function to set the VelocityProfileParameters of a DDSM50/M through a self written class. Thereby I can easily change and adapt the jerk but I do not really know how I can adapt the property ProfileMode. Is there a way how I can change its value to e.g. S_Curve? Must be of type VelocityProfileParameters+VelocityProfileModes which I do not really know how to get from the .NET interface. Thanks a lot in advance. cwright
 (posted 2020-12-09 05:54:01.0) Response from Charles at Thorlabs: Hello Urs and thank you for your query. Unfortunately as Matlab is not officially supported by us we cannot guarantee that all DLL's will work in Matlab. That said, we will reach out to your directly to see how we can help you with this. user
 (posted 2020-12-07 21:23:36.447) (forgot if the E-mail address was right for the previous one)
hello, I have the same issue using python to control the Kinesis ( I am using DDS300 and KVS30); "DeviceManagerCLI.BuildDeviceList()" always gave me "None" while in the Kinesis software I can control the devices (which means the USB connection is okay) . cwright
 (posted 2020-12-09 04:49:37.0) Response from Charles at Thorlabs: Thank you for your query. BuildDeviceList() returns void, so the function will not return anything, It is used to build the device list internally. GetDeviceList returns a list of the serial numbers connected and GetDeviceListSize returns how many devices are connected. Chris Chan
 (posted 2020-12-07 21:14:47.673) hello, I have the same issue using python to control the Kinesis ( I am using DDS300 and KVS30);
"DeviceManagerCLI.BuildDeviceList()" always gave me "None" while in the Kinesis software I can control the devices (which means the USB connection is okay) . YLohia
 (posted 2020-12-29 03:30:43.0) Hello, thank you for contacting Thorlabs. BuildDeviceList() returns void, so the function will not return anything. It is used to build the device list internally. GetDeviceList returns a list of the serial numbers connected and GetDeviceListSize returns how many devices are connected. Vishal Bajaj
 (posted 2020-11-23 22:51:17.67) facing errors using LABView with Kinesis Simulator. cwright
 (posted 2020-11-24 10:24:02.0) Response from Charles at Thorlabs: There are a few reasons why a simulated device may not be working in LabVIEW. 1) There has not been an instance of the Simulation Manager created. 2) The serial number inputted in the Simulation Managers StartDevice invoke node does not match the serial number in the Kinesis Simulator. 3) The device is opened in Kinesis, close all instances of Kinesis and run the VI again. We will reach out to you with an example for connecting to a simulated device. Konstantin I
 (posted 2020-11-18 07:02:32.143) Hello, I want to control KPA101 using Python. Could you please provide me with example script? cwright
 (posted 2020-11-19 09:40:39.0) Response from Charles at Thorlabs: Thank you for contacting us. I have reached out to you by email with an example. Andi Tan
 (posted 2020-11-17 21:39:47.907) Hi, I am using a LTS300. Kinesis can control it perfectly. But I would like to control it with python. Can you provide some example scripts?
To be more specific, "DeviceManagerCLI.BuildDeviceList()" always return "None" even after I unloaded the stage from Kinesis. The python console can't really connect to the device. DJayasuriya
 (posted 2020-11-18 10:12:03.0) Thank you for your inquiry. I will get in touch with you directly with a python example and to trouble shoot your issue. Henry Rouse
 (posted 2020-11-05 04:22:27.11) Hi, I am trying to run the c# example project "KDC_KCubeDCServoMotor" under " Quick Start Device Control Examples" but I cannot run it.
I get the following error:
" System.BadImageFormatException
Could not load file or assembly 'ThorLabs.MotionControl.KCube.DCServoCLI' or one of its dependencies. An attempt was made to load a program with an incorrect format."
I copied all the .dll files and referenced them in the project but the issue persists.
Can you help me with this problem?
If you had any example on how to integrate UI in Windows Forms it would be very helpful.
Thank you cwright
 (posted 2020-11-06 08:49:22.0) Response from Charles at Thorlabs: thank you for your query. The most common reason for this is that the user has copied in 32 bit dll's and are trying to build the application in 64 bit or vice versa. You would need to change the platform you're targeting in the configuration manager to match the dll type. We will reach out to you to provide the example we have for WinForm. criustian medina
 (posted 2020-10-27 04:01:08.247) Good Day. I'm using the kDC101 on LabVIEW (windows). I'm using 3 channels and I need them to move simultaneously starting from the same trigger.
I can't do that, even when the commands on Labview suppose to start at the same time. Is that a problem with LabVIEW or with the controller?
thanks for your help. cwright
 (posted 2020-10-28 07:23:14.0) Response from Charles at Thorlabs: Hello Cristian and thank you for your query. This should be possible to do in LabVIEW. Since you are having difficulties with this we will need to reach out to you directly to view your code in order to troubleshoot your issue. Peter Coffell
 (posted 2020-10-25 20:45:53.163) Hello,
I am trying to integrate a KDC 101 with a Raspberry Pi.
Could you send some examples of how to interface the motor controller with Python? DJayasuriya
 (posted 2020-10-29 04:19:49.0) Thank you for your inquiry. We will get in touch directly to assist with interface examples. Michael Claus
 (posted 2020-10-04 16:54:30.56) Hi - I've attempted to get your software to work, but I cannot. Please provide some help. I've downloaded and installed the Win64 Kinesis SW - both the simulator and the GUI work OK.
I've download the the C# programming examples. I can load them in visual studio - they all compile just fine without errors, but none of then run without throwing exceptions. Explicitly - I get a System.Runtime.InteropServices.SEHException with the message "External component has thrown an exception." when the application attempts to execute DeviceManagerCLI.BuildDeviceList();. Can you help me to get this working?
Also - I am specifically looking for how to integrate the UI components into a WinForms Application - do you have any examples that demonstrate this? DJayasuriya
 (posted 2020-10-21 08:03:12.0) Thank you for your inquiry. Yes we have seen this issue with updated
version of interpreter used, this is due to the .dll search mechanism being changed. We do have a simple example of to integrate the UI components into a WinForms Application. I will get ion touch with you directly. user
 (posted 2020-10-01 17:33:36.77) Hello, are there coding examples for controlling a device through Kinesis using Visual Basic, like there are for C#? cwright
 (posted 2020-10-06 08:30:56.0) Response from Charles at Thorlabs: Hello and thank yo for your query. Unfortunately we do not currently have a set of examples written in Visual Basic. Chiranjeevi Chandrahas Dhananjaya
 (posted 2020-09-14 07:49:07.31) We have a Thorlabs NRT100 stage (controller BSC203), unfortunately I cant home the stage it goes into negative values can you please contact me on how to solve this issue. It seems very inconsistent.
Thank you cwright
 (posted 2020-09-14 08:48:28.0) Response from Charles at Thorlabs: Hello and thank you for contacting us. I am sorry to hear you are having trouble with your NRT100. A member of our technical support team will reach out to you to help with troubleshooting. user
 (posted 2020-08-27 01:32:42.903) This software is horrendous. I wasted an entire day rewriting code for various motor controllers that were previously accessed through an APT interface (because your website told me that it's "better"). I ended up with code that connects to the instruments only ~ 20% of the time and is about 10x slower and more bloated.
It seems that the function calls for connecting to the instruments via the .NET interface are not only less robust (compared to the Kinesis GUI) but also tend to leave the instruments in weird states which are hard to recover from. Please advise on how to improve my use of the .NET interface to at least match the behavior of the GUI where there aren't significant problems the majority of the time.
In spite of spending an entire day trying to get this to work, the documentation is so bad that I'm actually not sure if the API is garbage or if I'm just not using it properly. cwright
 (posted 2020-08-28 04:11:33.0) Response from Charles at Thorlabs: Thank you for your feedback and I am sorry to hear you having problems transitioning from APT to Kinesis.
One of the advantages provided by Kinesis is the ability to utilise the controllers GUI in a .NET compatible language without the need of extensive development.
There are also advantages if you are integrating into 3rd party software. Since the ActiveX controls which control our APT software are part of a legacy UI framework, and are subsequently becoming unsupported in many 3rd party software’s, we provide the option of transitioning to Kinesis and its .NET assemblies instead.
Since you are having problems connecting to the devices, it sounds like there may be something wrong within your initialisation sequence. We will contact you directly to assist with this.
The Kinesis API gives an in depth description of all class members and functions for all controllers and devices, because of this it can sometimes seem difficult to navigate, we will reach out to assist you further with this. Julia Sudyka
 (posted 2020-08-05 08:49:49.62) Hello, I would also like to ask for some Python scripts for controlling Kinesis SW. Thank you in advance. cwright
 (posted 2020-08-10 11:28:27.0) Response from Charles at Thorlabs: Hello Julia and thank you for contacting us. I will reach out to you to send you this example. TY Kim
 (posted 2020-07-29 11:49:01.743) Hi, I've been using KDC101 for motion control(1-axis, rotation:PRMTZ8/M). I want control these with command line level such as using within python script but not familiar with communication protocol. Can i get some example code for python script? Thanks. DJayasuriya
 (posted 2020-08-04 09:36:47.0) Thank you for your inquiry. We will get in touch with you directly with some python example scripts using the KDC101. Elliott Hastings
 (posted 2020-06-24 12:20:51.18) Hi, our Kinesis (64 bit, v1.14.23) software isn't recognizing our KBD101s. We have 3 of them on a power-bank (KCH601), and none of them are being recognized (i.e. all different cubes, all different leads) on any of the USB ports in my laptop.
Is there any chance you can help with this?
- Thanks, Elliott. cwright
 (posted 2020-07-03 09:42:50.0) Rsponse from Charles at Thorlabs: Hello Elliott and thank you for contacting us about this. It is possible you have a faulty KCH601. I will reach out to you directly to discuss your issue. Tianqi Zhang
 (posted 2020-05-19 18:18:53.297) Can you send me the Python example as well? DJayasuriya
 (posted 2020-05-20 09:13:40.0) Thank you for your inquiry we will contact you directly with more information. Min-An Chao
 (posted 2020-05-08 09:33:39.417) Hi, I am trying to run BSC203 3-channel benchtop with 3 motored stages by using DotNet API and Python script. Is there a way in DotNet API to control multiple channels simultaneously and synchronously? For example, I would like to move channel 1 to position1, channel 2 to position 2 sharing the same triggering time fired by my Python script. Is this possible and how would it be done? Many thanks, Min-An DJayasuriya
 (posted 2020-05-11 10:00:58.0) Thank you for your inquiry. I will get in touch directly to resolve your issue. George Hawker
 (posted 2020-04-09 05:02:13.08) I am trying to control the KIM101 controller using low level serial commands in Python as I need to control it from linux. I see from comments below that Thorlabs has example code for this and as such wanted to ask if I could be sent it? Many thanks, George DJayasuriya
 (posted 2020-04-09 10:30:17.0) Response from Dinuka at Thorlabs: Thank you for your inquiry we will contact you directly with more information. DJayasuriya
 (posted 2020-04-09 10:30:17.0) Response from Dinuka at Thorlabs: Thank you for your inquiry we will contact you directly with more information. Ethan Jung
 (posted 2020-02-28 12:27:32.12) I'm using NI Labview 2019 using KDC101 from Thorlabs. The operating system is Windows 10. Whenever I tried to load any .NET assemblies, within the Thorlabs.MotionControl.Controls.dll even if I already copied and pasted the dll files from Kinesis folder into the folder for the current project. I got this message: "An error occurred trying to load the assembly". Do you have any idea what's the source of the problem? AManickavasagam
 (posted 2020-03-02 12:06:54.0) Response from Arunthathi at Thorlabs: Thanks for your query. This might be because you are using different bit versions of LabVIEW and Kinesis. In case you have 64-Bit windows and 32-Bit LabVIEW then please ensure to use Kinesis 32-Bit software for 64-Bit windows. If you have the right bit versions and still have the issue then please contact your local technical support office and we will be able to assist in troubleshooting this for you. Gary Tarnowski
 (posted 2019-11-26 11:17:39.167) Our Kinesis software often doesn't recognize our KDC101s. We are using 1.14.18.
-Gary cwright
 (posted 2019-12-03 11:33:15.0) Response from Charles at Thorlabs: Hello Gary. This can be the result of many potential causes – most commonly a fault with the USB cable or port on either the PC, a hub, or the cubes themselves. I will contact you directly to help troubleshoot this. HJ Park
 (posted 2019-10-16 21:23:53.15) The Kinesis program does not seem to recognize my generic usb joystick that I have connected to my PC. In the "help" section, it appears to recognize Xbox 360 joysticks. I have a different model, and when I clicked on the "File" menu -> "Input Devices", it returns an error message: "No suitable input devices detected". How can I make Kinesis recognize my joystick? rmiron
 (posted 2019-10-16 10:54:57.0) Response from Radu at Thorlabs: In such cases, the first thing to check is whether this is an connectivity problem, or an Kinesis-related problem. If the joystick you are using is HID compliant and if you can see it in Control Panel\Game Controllers, then the problem is with Kinesis and you should contact your local technical support office for further assistance. If you are unsure whether the device is HID compliant, I suggest you check Device Manager. Compliant devices will either show up under "Human Interface Devices" or will have HID in their name.
If you can't see the device under Game Controllers, check whether you can see it in Device Manager. If yes, perhaps a driver installation or update will suffice to solve the problem. If you don't see it, I suggest you try a different USB cable, a different USB port and contacting the joystick's manufacturer. Kosuke Mizuno
 (posted 2019-09-27 01:52:02.507) I report two strange behaviors of Kinesis with TTC001.
Kinesis version is 1.14.18.
1)
According to the Kinesis software, a present current is over 65 A (not mA !), and the value is always 65 A.
The current shown in a TTC001 indicator seems correct.
I simultaneously measure the current by a digital multi-meter, and they coincide.
2)
On the Kinesis software, changing the display mode works incorrectly.
By clicking "diff", disp mode goes to "current".
By clicking "curret", disp mode goes to "diff".
Clicking "actual" works well. rmiron
 (posted 2019-10-03 06:32:27.0) Response from Radu at Thorlabs: This behaviour is quite unusual. We have not been able to replicate it internally. We will contact you directly in order to suggest potential fixes and to collect more information. David Kemper
 (posted 2019-09-13 05:43:40.327) I'd like to control the KDC101 motor controller and the K10CR1/M cage rotator with Python. Could you provide me some example code? rmiron
 (posted 2019-09-13 12:13:24.0) Response from Radu at Thorlabs: Hello David. I can provide you with example code for KDC101. For K10CR1 we have yet to write an example. However, we have one for LTS150 that is using the same C API library. I will contact you directly in order to provide these examples. jacky romano
 (posted 2019-09-06 00:06:18.16) Hi All,
I need to control KDC101 from Linux system - Is Kinesis or or other API library available for this platform?
Thanks in advance,
Jacky rmiron
 (posted 2019-09-06 05:08:19.0) Response from Radu at Thorlabs: Hello Jacky. Unfortunately, neither Kinesis, nor APT, nor their respective APIs are compatible with Linux. KDC101 can be controlled from a Linux system only via serial commands. The documentation of Kinesis' & APT's serial communications protocol can be found on our website. We also have plenty of examples, internally, of scripts written in various languages (C++, Python, MATLAB, LabVIEW) which make use of these commands. If you would like copies of these example scripts, please contact your local technical support office. user
 (posted 2019-08-14 14:27:03.797) This is a bug report for the Kinesis C API (version 1.14.18).
In all the header files, the TLI_DeviceInfo struct is defined with #pragma pack(1), which results in a 93-byte struct. However, the TLI_GetDeviceInfo() function fills in 100 bytes of data, as if TLI_DeviceInfo were defined without pack(1).
This results in memory corruption (writing beyond end of buffer) and also misalignment of all but the first 3 fields of TLI_DeviceInfo: only typeID, description, and serialNo contain valid data after calling TLI_GetDeviceInfo().
I believe the correct fix is to remove the #pragma pack(1) directives from all of the headers.
(I also note that several other structs also have pack(1) in the header, some of which only have it in the modular rack version. I have not yet checked how these behave.) rmiron
 (posted 2019-08-16 10:53:07.0) Response for Radu at Thorlabs: Thank you very much for bringing this issue to our attention and for spending time trying to find the source of the run-time check failure that was presumably raised while running our examples. Unfortunately, pragma pack(1) is required to ensure the data packing is byte-aligned so that transmission is consistent (on the USB or serial line) regardless of host architecture. We simply cannot remove it. Doing so would introduce padding bytes in the serial commands sent via our C API. With that being said, I am certain that we will be able to amend the inner workings of TLI_GetDeviceInfo such that we get rid of this problem. Thanks again for sharing your observations with us. Hyeongseok Yun
 (posted 2019-08-13 01:15:27.633) I was using TDC001 controller with Z285B actuator with kinesis software and Labview, and it worked successfully. Now I am trying to organize Labview to combine it with other devices. But when I connect TDC001 with my computer and run Kinesis, the status messages in Kinesis are suddenly shown as
2019-08-13 14:08:34.836 Info Device Scan T-Cube DC Motor Controller (S/N ********): Device scan started
2019-08-13 14:08:34.888 Warning Device Scan T-Cube DC Motor Controller (S/N ********): Issue detected ("Internal serial number is incorrect")
2019-08-13 14:08:35.442 Error Device Scan T-Cube DC Motor Controller (S/N ********): Unable to resolve issue ("Internal serial number is incorrect")
2019-08-13 14:08:35.442 Info Device Scan T-Cube DC Motor Controller (S/N ********): Device scan complete.
Because of the internal serial number problem, I could not run Labview code also. There's nothing about this issue anywhere, so I wrote comments here. rmiron
 (posted 2019-08-13 11:41:54.0) Response from Radu @ Thorlabs: Hello Hyeongseok. I am afraid that we require more information in order to identify the source of this error. I will contact you directly in order to provide support. Peter Freestone
 (posted 2019-07-18 21:18:57.47) I have developed a C# + WPF application using the Kinesis libraries. I am able to detect and communicate correctly with a real device (KST101), but a simulated device (created in Kinesis Simulator) is not detected. I am able to see the simulated device when using the Kinesis software.
Do simulated devices work with custom C# applications? Are additional libraries required?
Any help would be greatly appreciated. AManickavasagam
 (posted 2019-07-19 10:48:27.0) Response from Arunthathi at Thorlabs: Thanks for your query. Please could you check if the serial number you see in Kinesis simulator GUI is what you have used in your C# program. Also, in your application you will need to initialise the simulator using SimulationManager.Instance.InitializeSimulations();To use the simulator, run the Kinesis Simulator application and include the devices to be simulated. Run you application without closing the simulator,the simulated devices will be available for testing. On completion, disconnect the simulator using: SimulationManager.Instance.UninitializeSimulations();
If the issue still persists please contact your local tech support office for troubleshooting. Lionel Artinyan
 (posted 2019-07-15 03:24:40.163) Hello, Someone already asked on the 7th of July if there were any recommended ways to connect a motion control to Python and you answered you could provide example codes. Could you please send me these examples?
Best regards AManickavasagam
 (posted 2019-07-24 11:11:51.0) Response from Arunthathi at Thorlabs: Thanks for your query. We will contact you directly with the examples. Dario Quintero
 (posted 2019-07-11 08:48:26.873) Hello,
Could we have clearer instructions on using the Quick Start Code Examples with Kinesis Simulator? I am trying to write a C# .NET program but keep getting this error
Exception thrown: 'Thorlabs.MotionControl.DeviceManagerCLI.DeviceNotReadyException' in Thorlabs.MotionControl.DeviceManagerCLI.dll
Unable to connect to device
Thorlabs.MotionControl.DeviceManagerCLI.DeviceNotReadyException: Device is not connected
at Thorlabs.MotionControl.DeviceManagerCLI.ThorlabsGenericCoreDeviceCLI.VerifyDeviceConnected(Int32 functionDepth
even when Kinesis Simulator is running, and I add the serial number of the device simulated.
Thanks for any help provided or if you can contact me to get the connection working. I have documented series of steps to reproduce the error and any advice would be useful.
Dario rmiron
 (posted 2019-07-12 05:27:26.0) Response from Radu at Thorlabs: Hello, Dario. The "Kinesis with C# Quick Start Guide" has more detailed and clear instructions on how to get started. (link here: https://www.thorlabs.com/Software/Motion%20Control/KINESIS/Kinesis%20with%20C%20Quick%20Start%20Guide.pdf).
Those examples can't be run with a simulated device if left unmodified. You will have to add an InitializeSimlations() call at the beginning of the script and an UnitializeSimulations() call at the end of it. These methods belong to the SimulationManager class which is part of the DeviceManagerCLI. Cheolhee Han
 (posted 2019-07-08 08:31:08.57) Is there any method for Mac users to launch Kinesis program with Apple OS? AManickavasagam
 (posted 2019-07-09 03:35:52.0) Response from Arunthathi at Thorlabs. Using Serial commands you could control devices through a Mac system, but Unfortunately, Kinesis is only compatible with windows. Ben Lont
 (posted 2019-06-24 10:17:49.683) Dear Thorlabs,
In my current setups I am running pc's with 64Bit windows and 32Bit kinesis software.
For setup nr.1: I am using two BSC203s with three DRV001 stepper motors each. I use two nanomax 300 stages with open loop piezos being used as well.
For setup nr.2: I am using one BSC203 with three DRV001 stepper motors. Here, one nanomax 300 is used with open-loop piezos which are being used as well.
I run into the following issue with both setups: sometimes when I open the Kinesis software 1 or more of the stepper motors appear disabled. However, the front panel of the BSC203 shows only green leds, indicating that the stepper motors at least are enabled.
Sometimes, this can be resolved by reloading the stepper motors, or relaunching Kinesis. Other times however, the only way to enable the disabled motor is by turning the BSC203 off and on again.
I have tried replacing the BSC203 with another BSC203 (with different firmware), I replaced one of the motors and even one of the extension cables. None of this worked. I am running the newest version of Kinesis (1.14.18).
I receive the following message in KInesis:
Error 70897150-1 Command Error: 70897150-1: Settings failed to initialize Function Name = Thorlabs::MotionControl::DeviceSupport::CGenericDevice::WaitForSettingsInitialized
I have a few questions regarding this:
What can cause this behaviour? Is this related to firmware? Has this something to do with the USB connection?
Where can I find the latest firmware for the BSC203?
Thanks in advance,
Ben rmiron
 (posted 2019-07-10 06:31:58.0) Response from Radu at Thorlabs: Hello, Ben. I suspect that you stumbled upon a bug caused by an error in Kinesis' configuration files. I will contact you directly with troubleshooting instructions in order to find out whether that is indeed the case. Owen Smith
 (posted 2019-06-20 14:29:03.96) Hi, I am building a .NET application and encountered an error with dll dependencies on the 1.14.18 version of Kinesis. It appears the Thorlabs.MotionControl.DeviceManagerCLI.dll depends on an outdated version of the Thorlabs.MotionControl.PrivateInternal.dll (version 1.14.17.15330). The version of PrivateInternal supplied with the most current Kinesis download is version 1.14.18.15642. Is this an error in the release or an indicator of something I have missed? My temporary fix is to download the 1.14.17 version from the archive to provide the expected dll. rmiron
 (posted 2019-06-28 07:30:24.0) Response from Radu at Thorlabs: Hello Owen. Thank you for bringing this issue to our attention. Unfortunately, we are unable to replicate it. I will contact you directly in order to understand why you are seeing this error. Jonas Fauser
 (posted 2019-06-07 05:14:25.2) Hi
Is there official way (or recommended) to connect with a python script to a motion control? rmiron
 (posted 2019-06-07 05:38:12.0) Response from Radu at Thorlabs: Given that we do not have a Python API for our motion control software packages, there is no official way of doing it. With that being said, we do recommend one of two courses of action, for which we can provide example code. The first one would be to use the "ctypes" Python library in conjunction with Kinesis' C API. The other one would be to use the "pythonnet" package together with Kinesis' .NET API. I will contact you directly in order to provide you with suitable examples. Rolf Kaufmann
 (posted 2019-06-06 02:41:02.083) KDC101 with Kinesis and CR1/M-Z7 stage:
Dear Sir or Madam
Is there a possibility to write the actual position or encoder value into the log file of Kinesis software? I use the Kinesis sequencer, which is very easy to set up. I have no access to a C++ compiler or LabView.
with best regards
Rolf Kaufmann rmiron
 (posted 2019-06-06 12:09:38.0) Response from Radu at Thorlabs: Hello Rolf. Unfortunately, neither Kinesis, nor APT have this feature implemented. I do think it is a good idea and I shared it with our software development team. Hopefully it will be implemented later on this year. In the meantime, you could try using MinGW or the community version of Visual Studio, which are free to use. Paul M
 (posted 2019-04-22 23:04:00.507) Hi,
Can you please add a PDF of the Kinesis Help file to your website? You have a LabView guide online as well as a quick-start guide for C++. However there is little to no documentation for the Kinesis software online. I had to download the software to my personal laptop just to get some screenshots and information about the functionality of the software. Ideally this would be available in a PDF online instead.
Also I love Kinesis but I wish there were more mapping options or the ability to do custom mappings.
Thanks rmiron
 (posted 2019-04-23 05:41:12.0) Response from Radu at Thorlabs: Hello, Paul. Thank you for taking the time to share your ideas with us. I relayed your feedback internally and I expect that it will be taken into account and that the help files will be made available online. With regards to mapping, it is possible to create custom mapping files for input devices in Kinesis. I will contact you directly in order to check whether I misunderstood what you have in mind. Dan Oropeza
 (posted 2019-04-01 12:09:59.897) I'm using a KBD101 to drive a DDSM50/M and am having some issues with the triggering feature in Kinesis. I'm able to provide forward and backward triggering commands separately (only forward or only backward) but am unable to utilize the "both direction" trigger feature.
Could you direct me to assistance with this issue? user
 (posted 2019-04-02 05:12:46.0) Response from Arunthathi at Thorlabs: Thanks for your query. I have contacted you directly for some additional details to trouble this issue. sylvain.hermelin
 (posted 2019-02-19 09:02:10.737) Dear Sir or Madam,
I'm using a KSC101 to drive an SH05 shutter. It is driven by a significantly large program (in Labview 64 bits, 2017). When loading the .NET dlls, it appears that some of the dlls need be at the .lvproj file directory which is not viable due either to cluttering. It should not be too big a problem, when loading the sub dlls, to first try the current working directory, then the directory where the calling dll is placed.
I hope the update comes soon!
Best rmiron
 (posted 2019-02-20 08:10:55.0) Response from Radu at Thorlabs: Unfortunately, we are not able to update Kinesis such that the .NET assemblies provided with it no longer have to be placed in the same folder as the LabVIEW project. This can only be enabled by National Instruments, provided that they change the way in which their software handles .NET assemblies. As opposed to COM dlls or ActiveX controls, these dlls can't be made visible from anywhere by simply registering them in the Windows registry. The location in which they need to be placed will vary depending how the application is run and the nature of the application (LabVIEW in this case). With that being said, we noticed that placing these dlls in a sub-folder of the project also works for many applications. However, we can't guarantee that this will be the case for your project. mike.ellery
 (posted 2019-02-06 14:39:43.63) Is there a solution to the error dmiers posted about? I am getting the same "Could not load type 'Thorlabs.MotionControl.Tools.Common.ErrorLogger'" error message. Thanks bhallewell
 (posted 2019-02-13 03:48:50.0) Response from Ben at Thorlabs: Thank you for re-raising this issue with us. The problem is associated with the full correct dependencies not being included in the project. We will be updating the "C# Example Projects" on our website. I will contact you directly to provide you with the updated examples. junekj
 (posted 2019-01-31 07:57:15.947) Hello,
I would like to ask for help with shutter SH05 which I bought from you few weeks ago. I try to use it in combination with K-Cube (KSC101) and I want to control it in Matlab. I think I own all ".dll" files which are neccesary for using it that way. According to DotNet_API I need: Thorlabs.MotionControl.DeviceManagerCLI and Thorlabs.MotionControl.KCube.SolenoidCLI.
If I use just "Thorlabs.MotionControl.DeviceManagerCLI" I got serial number of SH05 device. So Matlab can see the device. But If I try to use somehow "Thorlabs.MotionControl.KCube.SolenoidCLI", program throw me an exception.
It works in Visual Studio, but I would appreciate if it will work in Matlab as well.
Have you got an idea how to solve this problem?
The code in Matlab looks like this: (it fails on last command line)
KinesisFolder='C:/KCubeSolenoid/';
tsm=NET.addAssembly([KinesisFolder 'Thorlabs.MotionControl.DeviceManagerCLI.dll']);
sol=NET.addAssembly([KinesisFolder 'Thorlabs.MotionControl.KCube.SolenoidCLI.dll']);
Thorlabs.MotionControl.DeviceManagerCLI.DeviceManagerCLI.BuildDeviceList();
list=Thorlabs.MotionControl.DeviceManagerCLI.DeviceManagerCLI.GetDeviceList();
deviceID=list.Item(0);
KCubeSolenoid_device = Thorlabs.MotionControl.KCube.SolenoidCLI.KCubeSolenoid.CreateKCubeSolenoid(deviceID);
I have tried also this: (but it fails on this line)
list=Thorlabs.MotionControl.DeviceManagerCLI.DeviceManagerCLI.GetDeviceList(Thorlabs.MotionControl.KCube.SolenoidCLI.KCubeSolenoid.DevicePrefix);
Thank you! rmiron
 (posted 2019-02-06 11:02:53.0) Response from Radu at Thorlabs: Thank you for bringing this problem to our attention, Mr Junek. I see that you are already in touch with our tech support team with regards to this issue. I will, therefore, attempt to offer assistance via that channel. rheller
 (posted 2019-01-29 18:39:58.233) Hello,
I am trying to control labjack MLJ150/M using the latest version of kinesis. When attempting to load the jack (connected by USB), kinesis reaches the "LoadDevice Success" message, but then immediately fails with error "Device not responding (Error Code- 33)". How do I solve this problem? rmiron
 (posted 2019-01-30 04:22:40.0) Response from Radu at Thorlabs: I am sorry to read that you are encountering this issue. I will contact you directly in order to help you troubleshoot the lab jack. In the worst-case scenario, its internal chip has become loose in transit or had its USB port damaged. If that is the case, we will send you a replacement unit. user
 (posted 2019-01-15 07:51:56.997) In the latest version of the Kinesis
Kinesis 32-Bit Software for 64-Bit Windows 1.14.12.0
when installing the Kinenis
the
Thorlabs.MotionControl.FilterFlipper.DLL
does not get installed in the kinesis software (C:\Program Files (x86)\Thorlabs\Kinesis) as it should.
I guess is a bug. I had to donwgrade kinesis to older version 1.14.11.0.
With version 1.14.11.0 I am doing a program that flip the mirror among other stuff. When I build a stand alone exe file, the software try to access C:\ProgramData\Thorlabs\MotionControl\ThorlabsSettingsOverrides.xml which does not exist in the folder. any suggestions why is calling this xml file? user
 (posted 2019-04-02 06:38:22.0) Response from Arunthathi at Thorlabs: Thanks for your query. I have checked with the most recent version (1.14.16) of Kinesis and this .dll appears to download in the specified path. So we would recommend to use this version. Regarding the xml file, Kinesis calls it in order to check whether it should apply custom settings instead of default settings to a given controller. The files is supposed to store that information. If custom settings were never persisted from your PC to any controllers, then that file was never generated. kobi.hasharoni
 (posted 2018-12-17 12:23:15.003) writing a code for the BCS203 using the 64bit version of labview. I keep getting error 1172 upon attempting to jog. Reading status/position etc. works fine. I've noticed that the error can be overcome if a homing command is issued first. However, this is not something that can be done. Can you explain what is wrong?
thanks rmiron
 (posted 2018-12-18 04:40:30.0) Response from Radu at Thorlabs: Hello, Kobi. Error 1172 is a generic error raised by LabVIEW to report that a .NET assembly has thrown an error. Therefore, we require more information about your application before we can provide useful advice. I will contact you directly in order to attempt troubleshooting your device or your virtual instrument. dmiers
 (posted 2018-12-04 21:37:01.02) I am trying to build the C# sample programs to run my KDC101 controller. I finally got it to build with no errors (KDC_Console_net_managed), but it throws a 'System.TypeLoadException' in Thorlabs.MotionControl.DeviceManagerCLI.dll. The next line says Could not load type 'Thorlabs.MotionControl.Tools.Common.ErrorLogger' from assembly 'Thorlabs.MotionControl.Tools.Common, Version=1.0.0.0, ... I am building the program in VS2017. I downloaded the 64 bit version of Kinesis. I'm building it as a 64 bit program. All of the dlls that are indicated by the using statements are included in the bin/Debug folder where the program executable is located.
What could be causing this and how do I fix it? rmiron
 (posted 2018-12-12 05:42:29.0) Response from Radu at Thorlabs: Thank you for bringing this issue to our attention. I have replicated this error. I noticed that a few of the dependencies of the DLLs indicated by "using" statements are missing in this example project. Having added the missing dependencies (they are listed in the DotNet API help file), such as Thorlabs.MotionControl.Tools.Common.dll, the error persists. Consequently, I brought it to the attention of our software development team. I will contact you directly once we have identified what is causing the error. cji912
 (posted 2018-11-26 12:55:25.323) Hello,
I am attempting to create a custom program in Labview 2015 32bit for the KCube Brushless DC Servo Driver (KBD101). The operating system is Windows 7. Whenever I try to load any .NET assembly, within the Thorlabs.MotionControl.Controls dll, I am given a 'file not found' error, despite being able to browse and select the file manually in the explorer (upon which I'm still given a file not found error). Do you have any idea as to the source of this problem? rmiron
 (posted 2018-11-26 09:40:31.0) Response from Radu at Thorlabs: In order for LabVIEW to find the .NET assemblies, they have to be placed in the root folder of the LabVIEW project in which you're attempting to use them. Therefore, if you try to write your virtual instrument outside of any saved projects and/or if the required DLLs are not placed in the correct location, LabVIEW will throw that error. This happens even if you specifically show it where the assemblies are located. If this is not the reason behind the error being raised in your application, please contact your local technical support team. bbeauclair93
 (posted 2018-10-30 12:48:34.887) Hello, I am building a LabVIEW program using Kinesis and it's associated guide in LabVIEW 2017 32-bit on a windows 10 machine. I have found though that the .NET programming in LabVIEW (the createdevice() invoke node specifically) does not work when LabVIEW is run in administrator mode. I was wondering if there was a reason for this anyone at thorlabs was aware of as I have exhausted all the methods to fix it I can think of and have to run this program in administrator mode. Thank you for your time. rmiron
 (posted 2018-11-02 11:31:46.0) Response from Radu at Thorlabs: I have tried and failed to replicate this error by running LabVIEW as administrator. Perhaps I am misunderstanding the issue that you are reporting. I will contact you directly in order to troubleshoot this problem. r.c.vanoosterhoudt
 (posted 2018-10-10 09:56:05.07) Hello, so I am trying to build a Matlab script to rotate the CR1/M-Z7 stage with a KDC101 controller. But I am very new to the .NET type of coding, so not much experience there. I found an example on Mathworks that does exactly what I want (included in the end), but it doesn't work for the KDC101.
What I want to achieve is a code where I connect the device to the Matlab script and just rotate it with steps I can vary in degree and an option where the stage keeps spinning in the background till the scripts says to stop. That's it, nothing more nothing less. But I can't find a good example to work from.
Any help would be appreciated.
https://nl.mathworks.com/matlabcentral/fileexchange/66497-driver-for-thorlabs-motorized-stages rmiron
 (posted 2018-10-17 12:07:54.0) Response from Radu at Thorlabs: Unfortunately, at the moment, we are not in a position to properly support MATLAB applications. With that being said, as resources become available, we aim to develop a tutorial and some examples for using our .NET API in MATLAB. I will contact you directly regarding this particular piece of code from Mathworks. ksunday8
 (posted 2018-08-30 18:19:00.54) Hello, I am building a labview application with the kinesis drivers on a Piezo microstage. Is the Kinesis program able to store values of distances and voltages to be viewed later in the future? I couldn't find anything on the Labview Kinesis manual or on the Kinesis software page. AManickavasagam
 (posted 2018-09-05 10:02:48.0) Response from Arunthathi @ Thorlabs: Thanks for your query. Yes, the values are logged with date and time stamps in Kinesis. You could find this in the GUI - File - Pack logs.
Alternatively for LabVIEW implementation you can use the GetPositionVoltage() method from the KCubePiezo class that can be found in the GenericPiezoCLI or the KCube.PiezoCLI files. Other potentially useful methods & attributes can be found in the same class. The documentation for this API can be found in the installation path of Kinesis (DotNet_API help file). You can feed the data outputted by that method (& others) into arrays that you can initialise & append using the built-in LabVIEW tools. There are also some built-in LabVIEW Vis that allow you to send the data stored in those arrays to text or Excel files (such as “WriteDelimitedSpreadsheet.vi). lmk
 (posted 2018-07-27 12:51:26.24) Hello
I am building a labview application using the Kinesis drivers.
It is working fine in the development environment, however when I compile to an executable it no longer connects to the stage controller (BBD202). It seems like the reference is not created properly from the .Net container on my front panel.
When compiling I put all the files from my Kinesis folder directly in the root directory of the application as the executable otherwise does not detect the dlls.
Any help would be appreciated. bhallewell
 (posted 2018-08-30 04:08:50.0) Response from Ben at Thorlabs: I see that you were able to solve your issue here by adjusting the format of your program.
https://forums.ni.com/t5/LabVIEW/Problem-with-NET-dlls-Thorlabs-Kinesis-when-building-executable/m-p/3822720/highlight/false#M1080437 przemek.gontar.7
 (posted 2018-07-25 13:39:54.287) Hello, can I use labview kinesis without creating control in front panel. I would like to use TDC001. Thanks bhallewell
 (posted 2018-07-27 06:50:53.0) Response from Ben at Thorlabs: It is possible to do this. The .NET API included with Kinesis will allow you to control Thorlabs Motion Control devices in a number of ways. To control the device without use of the Kinesis panel as seen in our Kinesis software User Interface, you could access the methods within the class Thorlabs.MotionControl.TCube.DCServoCLI.dll directly by creating an .NET Invoke Node & connecting the reference node to this .NET class within your Kinesis files. You can then simply Create an instance of the TDC001 & connect to it. I will email you over a simple example showing this. rattz666
 (posted 2018-06-02 04:41:24.56) I am new to the use of Thorlabs stages. I recently got an xyz motion stage with servoDC brushed motor controllers. I have downloaded kinesis software and used the motion controller. But my requirement lies in being able to program the movement, but I am unable to figure out how to begin. I read that the controller can be coded using C# but there is no guide which can help me out. I also downloaded the Quick Start and Kinesis example but they contain more C# documentation which are not loading on kinesis. Do I need a separate IDE to be to compile these programs? If yes then how do I access the motion controllers using them. Are there some separate libraries that i have to download. I would appreciate some sort of a comprehensive guide that runs me through the process and documentation. rmiron
 (posted 2018-06-06 04:39:51.0) Response from Radu at Thorlabs: You will, indeed, require a separate IDE in order to compile the Quick Start examples. Kinesis does not come with its own development environment. It would be easiest to use Visual Studio, since those example projects have been created in it, but any other IDEs should work as well. In the case of C# or LabVIEW programs, communication with the controllers can be established via the .NET assemblies that you can find in the installation path of Kinesis (the files ending in CLI). For C and C++ programs, we provide some other .dll, respectively header and .lib files that serve the same purpose. The documentation for the .NET assemblies can also be found in the installation path, in the .NET API help file. Some of the classes included in the assemblies have a Connect(string SerialNo) method. Creating an instance of one of those classes and calling the method will establish communication with the device. I will contact you directly for further assistance. jeff
 (posted 2018-02-23 17:21:57.853) I am using Visual Studio 2017 in a Visual Basic Project using KCube DC Servos. I have downloaded both the Kinesis 64/64 software as well as the APT 64/64 software and attempted to add the components to the VS toolbox. I tried all .dll and .exe in the downloads even the files I knew would not work. On ALL files I get either the message "(File Name) is not valid!" or "(File Name) contains no components!" What am I doing wrong? I even copied the .dll files into the folder where the virtual instrument resides to NO avail. mmcclure
 (posted 2018-06-20 02:03:33.0) Response from Ben at Thorlabs: Thank you for your question. With regards to creating a WinForms application using APT ActiveX Controls we have the following videos which should assist you. https://www.thorlabs.com/tutorials/APTProgramming.cfm With APT’s use of ActiveX controls, through Visual Studio you must also 'Add reference' to the KDC101 control before this can appear available in the Toolbox. In Solution Explorer for your created WinForms app, Click 'Add reference' & search in 'COM' for 'MG17Motor ActiveX Control module' & add this. Within the Toolbox, you should then be able to right-click in the body & select 'Choose Items...' & select from the 'COM Components' tab 'MGMotor Control'. This should need to be copied from your folder in C:\Program Files\Thorlabs\APT. Click 'OK' & the MGMotor Control container options should appear in your Toolbox as per the tutorial video above. With regards to use of Kinesis .NET components, for WinForms applications A WinForms UserControls Library has been provided which hosts the device's UI in WinForms UserControls. This library is named as Thorlabs.MotionControl.Controlls.dll. Further details of this library are outlined within the .NET Kinesis help file included with your Kinesis installation. I would also recommend taking a look at some of our WPF examples from our Examples found in the following link. https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=10285 Please free to contact Tech Support for further support. user
 (posted 2017-12-18 10:42:32.143) I am writing a custom C++ application using the DotNet_API application. It has been extremely difficult to figure out how various class properties and functions are related to each other. From the help document, it is not clear at all on the difference between device configuration vs. device settings vs. motor settings; serial number vs. device ID; device type ID vs. device prefix; Connect() vs. ConnectDevice(); etc. I wish the help document provides a detailed sequence of what functions are called and can be called. I did not find example codes to be quite helpful in figuring out the correct sequence to call and what functions and properties should be set before using the device. rmiron
 (posted 2017-12-21 12:37:05.0) Response from Radu at Thorlabs: Thank you for taking the time to give us your feedback. I have relayed your message to the team which is responsible for developing Kinesis. Once I have more information on the topic, I will give you an update regarding their future plans for improving the help file. johannes.thewes
 (posted 2017-11-10 11:10:01.87) Dear Sir or Madam, we recently purchased a BPC303 piezo controller. The Kinesis software is able to communicate with this device. Now, we want to change the default startup parameters for the Maximum Voltage of the BPC303 and tried to use the option "persist settings to the device" in the Settings tab. However, when repowering the controller, the initial default values are loaded and not the ones set by us. Can you assist us in solving this issue? bhallewell
 (posted 2017-12-01 08:34:56.0) Response from Ben at Thorlabs: Thank you for your feedback here. The Persist Settings option is for storing some discrete parameters in on-board memory of the controller, when not being used with the Kinesis server. As the BPC* unit however needs to be used with a PC & hence these values would be overwritten when the controller is connected to the APTServer. I'd suggest instead making use of the Device Startup Settings panel which is outlined within the following help document.
C:\Program Files\Thorlabs\Kinesis\Thorlabs.MotionControl.KinesisHelp
See Settings > Device Startup Settings. satayouri
 (posted 2017-11-06 05:42:11.613) Hi Dear Sir/Modom
We are using your setup including KPZ101 and we want to call the .dll files in LABVIEW(32-bit).we could not load files and assemblies in it.please help us
thanks rmiron
 (posted 2017-11-07 09:16:07.0) Response from Radu at Thorlabs: That usually occurs when users fail to copy the .dll files into the folder where the virtual instrument they are creating is saved. If that is not your case, please contact your local Tech Support office and we will gladly assist you. halverso
 (posted 2017-10-19 15:31:58.633) Where is the communications protocol for the kinesis drivers? I can only find drivers for APT and I have already written my code for Kinesis. I need to change the step rate for 3 channels of my TIM101 driver and I can't figure out what method or class to change and there's no documentation. I appreciate the kinesis-labview.pdf document, but that only starts the control. I need the documentation of the rest of the methods to fully control the device! rmiron
 (posted 2017-10-24 09:42:44.0) Response from Radu at Thorlabs: Despite its name, the APT communications protocol is entirely compatible with Kinesis as well. It seems, however, that you are in need of our DotNet API. We describe there all the methods that you can implement in LabVIEW with our Kinesis DLLs. This chm file is named Thorlabs.MotionControl.DotNet_API and can be found in the directory where Kinesis is installed. pfjarschel
 (posted 2017-10-10 08:02:47.603) Kinesis is awesome! A HUGE step forward from APT, specially because it's free from Active-X controllers, which honestly, are simply a pain. But... I recently noticed that our MDT693B units do not seem to be supported by Kinesis... Is there any fundamental reason why? Can I expect a new version to support the MDTs? Thank you very much! rmiron
 (posted 2017-10-11 09:02:27.0) Response from Radu at Thorlabs: We are delighted to hear that you are pleased with the transition from APT to Kinesis. These two software tools are developed for the motion control products manufactured by our UK division. The fundamental reason behind MDT693B using different software is that this controller is developed by our Mechanics division in the US. Therefore, you should not expect to see Kinesis supporting MDT units in the foreseeable future. semih
 (posted 2017-09-18 17:36:03.557) I also cannot find APT software (the older version). I'd be glad if you can update me in this, as I am having trouble with Kinesis. bhallewell
 (posted 2017-09-19 09:42:54.0) Response from Ben at Thorlabs: You can find current & archived version of Kinesis & APT in the following link.
https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control
If you are having problems with the software, please contact your local Tech Support office & we will assist you. hj
 (posted 2017-09-15 15:49:16.36) Hi,
I am trying to use a K-Cube with Kinesis or APT software.
But I happened to have a rather old computer with Windows XP. I tried to install the software that I downloaded from the Thorlabs website, but cannot install it on Windows XP.
Can I please get an old version of APT software so that I can use my k-cube on my computer?
Thanks a lot.
best wishes,
Hoon bhallewell
 (posted 2017-09-19 08:59:48.0) Response from Ben at Thorlabs: Unfortunately we do not have an archived Windows XP compatible version of software which also supports our new K-cube range of devices. You can use the version we have available with a more modern operating system or on your XP system try creating a Virtual COM port & communicating with the K-cube through use of our communications protocol.
https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf user
 (posted 2017-09-11 10:36:43.027) will there be a new release soon? Has anybody ever tested it before releasing? bhallewell
 (posted 2017-09-19 08:51:02.0) Response from Ben at Thorlabs: We thoroughly test the functionality of the software before each release however should a bug appear we do our best to rectify this with regular updates. We are anticipating a new software releases. We anticipate a new release (1.13.0) in the next 1-2 weeks.
If you have issue with the current version of Kinesis, please contact your local Tech Support team for support. user
 (posted 2017-08-07 23:02:28.477) this software is glitchy. even worse than APT and competing with the beam profiler bwood
 (posted 2017-08-10 04:50:45.0) Response from Ben at Thorlabs: Thank you for your feedback. I apologise if you have encountered difficulties with Kinesis, and I would invite you to contact you local tech support office to discuss this. Kinesis is in active development, and your feedback can have a material difference on the development of Kiensis. lh.ji
 (posted 2017-08-02 17:08:35.71) I had a BCS202 controller with two attached 360 degree nano rotator. I had two problems in programming it:
1. If the rotator has not been in the "Home" position I can't control it unless I powered the rotator power off and then on;
2. Is there any function in Kinesis C# DLL I can call to read back the angles to check the rotator has reached the targeting angle. bwood
 (posted 2017-08-03 06:23:24.0) Response from Ben at Thorlabs: Thank you for your feedback. I believe you have contacted us on another feedback page about this issue, and I have sent you an email about this. I will continue our troubleshooting there. intern
 (posted 2017-06-22 13:26:04.127) Similar to the first post on this thread (Poster:craig Posted Date:2017-01-13 13:33:10.697) I am trying to use Kinesis with LabVIEW to control a Benchtop Brushless DC Motor Controller. I am using a BBD201 that is controlling a Thorlabs DDS220 Stage. I can interact with the stage through the Kinesis Desktop Application, as well as through the front panel control of my LabVIEW program, but I cannot find where to access any methods for homing, absolute position moves, etc. I have followed the Kinesis LabVIEW guide and found that it lacks the information necessary to implement a Benchtop Brushless DC Motor. Updated documentaion would be greatly appreciated. Thank You bhallewell
 (posted 2017-06-26 07:04:31.0) Response from Ben at Thorlabs: I'd advise taking a look at the .NET API help file included within your Kinesis folder. Here we list & define all methods which can be accessed from the relevant class library. For BBD2* these class libraries are:
Thorlabs.MotionControl.Benchtop.BrushlessMotorCLI - Main namespace for the BBD* functionality
Thorlabs.MotionControl.Benchtop.BrushlessMotorUI - Namespace for access to the BBD103 User Interface
Thorlabs.MotionControl.GenericMotorCLI - Namespace for access to the Generic Motor classes
Thorlabs.MotionControl.DeviceManagerCLI - Namespace for access to the Generic Devices classes
We will look into adding some wording into the LabVIEW guide to reference this help file. encube
 (posted 2017-05-31 14:37:23.167) Kinesis 32 bit cannot be initialized when I start the software. Whenever the software is started, the software stops at the step "getting devices". I don't have this problem with Kinesis 64 bit. What is the reason for this irregular error? bwood
 (posted 2017-06-01 08:45:19.0) Response from Ben at Thorlabs: Thank you for your feedback, and I am sorry to hear about your difficulties here. To troubleshoot this issue, I will need details on the version of Kinesis you are using, your computer, and the stage you are using. I will contact you directly for these details. galberts
 (posted 2017-02-22 17:54:28.7) Is there any way to track the angle rotated in time? I see there is a window for the total angle but would like to know if I can gather information on the total angle and angular position over time through your software or something external. Thank you.
- Gabriel bhallewell
 (posted 2017-03-01 09:24:51.0) Response from Ben at Thorlabs: This is currently not a view which is available within the Kinesis or APT software package. You would need to extract this through a third party program which queries either the GetPosition method in APT or Thorlabs::MotionControl::GenericMotorCLI::PositionInfoStruct Class reference within Kinesis logged over time.
These SDKs are detailed & can be downloaded from the following area.
https://www.thorlabs.com/navigation.cfm?guide_id=2251 craig
 (posted 2017-01-13 13:33:10.697) Your Kinesis LabVIEW guide is missing some critical steps for use with a multi-axis controller, e.g. the BBD202. Starting on page 15, for example., the position property is not available from the device reference as indicated. I found that I needed to use a "Get Channel" method and then use that reference to get to the Position property node. But I am completely stuck on points past that as I can't find where to access the methods for homing, absolute position moves, etc. So it seems like this documentation and possibly the API need to be updated for multi-axis controllers. I already have a support ticket in on this, so this comment is an FYI to let you know about the documentation issues. Thanks. bhallewell
 (posted 2017-01-25 11:50:12.0) Response from Ben at Thorlabs: Thank you for your feedback regarding our LabVIEW guide for multi-channel controller applications. This guide is intended to provide an introduction into using LabVIEW to control our motion control devices & is not necessarily a total & comprehensive manual for controlling our full range of devices. We will however take this on board & I will feed this back to our Marketing team to see whether further material can be added to our guide which will cover use of LabVIEW with our Benchtop control options. We will contact you directly to solve your current issues outlined here. |