05-08-2025 07:15 AM
I'm working in a laboratory and we use LabView for equipment integration and automation. We have a K10CR1/M stepper motor from Thorlabs. I used two different connectivity methodologies.
One through the .Net container (recommended by the manufacturer), however, I receive an apparent version error about Thorlabs.motioncontrol.controls.dll, "Expected assembly version 1.14.12.0 but found version 1.14.52.24173" when I try to open the examples provided by the manufacturer. And if I program my own example, I get an error "inserting object, not possible to load the archive or assembly thorlabs.motioncontrol.devicemanagerCLI.dll".
The other methodology was using "call library function" through the same path of the file thorlabs.motioncontrol.controls.dll. However, I get labview error code 15.
Anyway, the manufacturer's Kinesis software, the latest version installed, recognizes the stepper motor and can run it without problems. I looked for old versions of the software to downgrade but couldn't find any.
I'm stucked, any ideias?
Solved! Go to Solution.
05-08-2025 07:50 AM
You might try creating a blank project, adding the example to the project, and opening it from within the project.
I have not used Kinesis in a few years, but I have seen warning messages when updated dlls were used. My code was opened from within a project, and I think a dialog appeared warning that the dll version had changed. The dll should appear in the project dependencies list.
05-08-2025 09:54 AM - edited 05-08-2025 09:55 AM
Hi, thank you for your considerations!
I try to implement, but I received a new error (see attached image).
This is really frustrating because the .dll file is in the same local to the VI and blanck project.
It seems really a "version mismatch" problem. I mean, the example VI requires an older version and the .dll is a new one.
But it is strange that even in a blanck VI, adding .Net container, I am receiving error message (previously attached image).
I'm thinking in procced to a workaround solution, using an interface between labview and the hardware.
05-08-2025 10:04 AM
Thank you for your attention.
This is not so simple, we are talking about a high resolution stepper motor, with 0.128 µrad resolution. Probably this guy have positioning sensors to ensure that the desrible angle have been reached. I need to check if it is possible to perform a hardware interface. I was thinking about a software interface.
05-08-2025 06:32 PM
Hi,
I have used Thorlabs Kinesis a fair amount.
One of the big problems with it is that it has about 100 .NET DLLs that it uses. Some you call from LabVIEW directly, some are called by each other, so you do need all of them.
The first message, "Expected assembly version 1.14.12.0 but found version 1.14.52.24173", you should not worry too much about. It just means someone used an older version of Kinesis when they made the code you opened. By itself, this shouldn't cause problems.
The other message, about not being able to find a DLL, is the one you need to resolve.
Did you see this guide:
https://www.thorlabs.com/Software/Motion%20Control/Kinesis/Kinesis-labview.pdf
The earlier steps in the guide are about copying all the DLLs and creating a project. In theory, if you follow those instructions, you shouldn't get errors about missing DLLs.
05-14-2025 03:13 PM