Create an Account  |   Log In

View All »Matching Part Numbers


Your Shopping Cart is Empty
         

Kinesis® Software


Kinesis® Software

Kinesis GUI Screen

Kinesis® Software Supports Our New Line of Kinesis Products and the Legacy APT™ Environment



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.

Tutorials

C#
This programming language is designed to allow multiple programming paradigms, or languages, to be used, thus allowing for complex problems to be solved in an easy or efficient manner. It encompasses typing, imperative, declarative, functional, generic, object-oriented, and component-oriented programming. By providing functionality with this common software platform, Thorlabs has ensured that users can easily mix and match any of the 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 Kinesis System Software allows two methods of usage: graphical user interface (GUI) utilities for direct interaction and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.

For a collection of example projects that can be compiled and run to demonstrate the different ways in which developers can build on the Kinesis motion control libraries, click on the links below. Please note that a separate integrated development environment (IDE) (e.g., Microsoft Visual Studio) will be required to execute the Quick Start examples. The C# example projects can be executed using the included .NET controls in the Kinesis software package (see the Kinesis Software tab for details).

C Sharp Icon Click Here for the Kinesis with C# Quick Start Guide
Click Here for C# Example Projects
Click Here for Quick Start Device Control Examples
C Sharp Icon

LabVIEW
LabVIEW can be used to communicate with any Kinesis- or APT-based controller via .NET controls. In LabVIEW, you build a user interface, known as a front panel, with a set of tools and objects and then add code using graphical representations of functions to control the front panel objects. The LabVIEW tutorial, provided below, provides some information on using the .NET controls to create control GUIs for Kinesis- and APT-driven devices within LabVIEW. It includes an overview with basic information about using controllers in LabVIEW and explains the setup procedure that needs to be completed before using a LabVIEW GUI to operate a device.

Labview Icon Click Here to View the LabVIEW Guide
Click Here to View the Kinesis with LabVIEW Overview Page
Labview Icon

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 Download

Software

Kinesis Version 1.14.19

The Kinesis Software Package, which includes a GUI for control of Thorlabs' Kinesis and APT™ system controllers.

Also Available:

  • Communications Protocol
APTConfig
Kinesis GUI Screen

Posted Comments:
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.
Log In  |   My Account  |   Contact Us  |   Careers  |   Privacy Policy  |   Home  |   FAQ  |   Site Index
Regional Websites: West Coast US | Europe | Asia | China | Japan
Copyright 1999-2019 Thorlabs, Inc.
Sales: 1-973-300-3000
Technical Support: 1-973-300-3000


High Quality Thorlabs Logo 1000px:Save this Image