How to define the step size when using the method that take an integer argument as an input move in terms of device steps? Because my device can only use open-loop operation.
@user-zh8gf1tv3v The movement method demonstrated in this video uses the conversion factors that are loaded with the motor settings. Due to this, conversions between device units (encoder counts or steps) and real units (mm or degrees) are performed automatically. It is possible to instead instruct the motor to move a specific number of steps/counts. To do this, swap the method for setting the jog parameters with their "_DeviceUnit" versions. For example, SetJogParams() would become SetJogParams_DeviceUnit() and GetJogParams() would become GetJogParams_DeviceUnit().
Do you have these optical shutters (www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=927) in mind? We do not currently have example programs for them, but adding this code to our official Thorlabs GitHub account (github.com/Thorlabs) is on our list. We will reply back here when the code becomes available. If these are not the shutters you are thinking of, would you help us understand which you are interested in?
@user-zh7ej5gm1i If the stage is moving, but the position in the program is not updating, this is usually because the StartPolling method was not included in the code. The StartPolling method needs to be included, because this method begins the polling loop that updates the values available to the program from the Kinesis SDK.
It appears there’s a spelling error in the constructor. It should be CreateKCubeDCServo instead of CreateKCubeServo. Please feel free to contact Tech Support (techsupport@thorlabs.com) if you would like additional assistance.
Perfect! This is what I was looking for. First time in my life I do have a need to communicate programatically with laboratory equipment (PM101 in my case). I hope that this very nice and step-by-step tutorial will help with my task.
@ArchitheFA Thanks for letting us know! Another resource is Thorlabs’ GitHub account ( github.com/Thorlabs), which includes additional example code for various products. There is a Python example for the optical power meters (OPM) in the OPM software download ( www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=OPM ), but we have asked our software group to create additional power meter examples for the GitHub collection. Please feel free to contact Tech Support ( techsupport@thorlabs.com ) if you’d like additional assistance.
Our software group has just uploaded a power meter example to Thorlabs’ GitHub account. You can find it here: github.com/Thorlabs/Light_Analysis_Examples/tree/main/Python/Thorlabs%20PMxxx%20Power%20Meters
Is there anyway to increase the accuracy? My pwoermeter is showing one value but the captured data is showing another value? Like the power on the power meter is diplaying -51 dBm but the captured data is showing -48 dBm.
@ghazalehdibifard6004 This is unexpected behavior, and it could be due to various factors that include differences between the settings in your power meter and application. Please contact Tech Support (techsupport@thorlabs.com) so we can discuss your setup with you.
how to check these class methods in these DLL files. I want to know what methods they have and what are the functions and input parameters of these class methods?
@xiaowang7243 The documentation for the dll's in the Kinesis SDK can be found in the Kinesis installation location. For 64-bit Windows, this location is C:\Program Files\Thorlabs\Kinesis and for 32-bit this is C:\Program Files (x86)\Thorlabs\Kinesis. The Thorlabs.MotionControl.DotNet_API.chm file contains information on the methods and classes used in this video. If you have any further questions about the Kinesis SDK or documentation, you can also contact Technical Support at TechSupport@Thorlabs.com.
@gurudaki Please make sure that you have version 4.5.2 (minimum) of the .NET Framework installed on your PC and that pythonNET is being installed to the correct Python version, in the case that you have more than one installed. If you continue to see this error, please contact Thorlabs’ Technical Support ( techsupport@thorlabs.com ) for more assistance.
Unfortunately, a Python wrapper to control the UpLed Driver is not currently available. We have informed our engineers of your interest and will reply back here if one becomes available.
@zeddii7126 Unfortunately, we have not yet filmed a Video Insight that demonstrates C++ software control of a K-Cube. However, Thorlabs’ official GitHub account includes C++ examples for the K-Cubes. These examples can be accessed from the C++ landing page of the motion control repository ( github.com/Thorlabs/Motion_Control_Examples/tree/main/C%2B%2B ). The landing page also includes a full C++ programming guide developed specifically for Thorlabs’ products. Information about which libraries are needed for the K-Cubes and where to find them are included in these resources. Thanks for letting us know you’d be interested in a video demonstration that includes C++ and a K-Cube! Is there a particular application that interests you most?
@@thorlabs Thank you for this informations! Yes, I would like to be able to control the KDC101 K-Cube (Motorized Rotation Stage/Mount with a half-wave plate) with C++ code for a project. I'm still not familiar with C++. :)
@@thorlabs Hello again, I installed and followed the GitHub guide. I built the project but when I run the code in Visual studio C++, it displays that the device is homing and that's it (it detected my KDC101), I can't move/rotate the mount (I tried to change the step position value and velocity). I'm failry new to C++.
@zeddii7126 We are sorry to hear you are having difficulty with the code. Since the best way we can help is to share the code and speak with you, could you contact us at techsupport@thorlabs.com ?
@niladriganguly8601 The Motion Control libraries imported into the Python script are only designed to work with Thorlabs’ controllers and motors and will not be compatible with hardware from other manufacturers. If you would like to determine the compatibility of your device and supporting libraries with Python, please contact the manufacturer of the controller.
How to define the step size when using the method that take an integer argument as an input move in terms of device steps? Because my device can only use open-loop operation.
@user-zh8gf1tv3v The movement method demonstrated in this video uses the conversion factors that are loaded with the motor settings. Due to this, conversions between device units (encoder counts or steps) and real units (mm or degrees) are performed automatically. It is possible to instead instruct the motor to move a specific number of steps/counts. To do this, swap the method for setting the jog parameters with their "_DeviceUnit" versions. For example, SetJogParams() would become SetJogParams_DeviceUnit() and GetJogParams() would become GetJogParams_DeviceUnit().
Is there any resource on how to control Thorlab's high-speed shutter?
Do you have these optical shutters (www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=927) in mind? We do not currently have example programs for them, but adding this code to our official Thorlabs GitHub account (github.com/Thorlabs) is on our list. We will reply back here when the code becomes available.
If these are not the shutters you are thinking of, would you help us understand which you are interested in?
This is a very useful tutorial! But why my code "controller.position" cannot print the correct current position but repeat one value?
@user-zh7ej5gm1i If the stage is moving, but the position in the program is not updating, this is usually because the StartPolling method was not included in the code. The StartPolling method needs to be included, because this method begins the polling loop that updates the values available to the program from the Kinesis SDK.
I'm getting a AttributeError in "controller = KCubeDCServo.CreateKCubeServo(serial_num)". Does KCubeDCServo exist in the .dll?
It appears there’s a spelling error in the constructor. It should be CreateKCubeDCServo instead of CreateKCubeServo. Please feel free to contact Tech Support (techsupport@thorlabs.com) if you would like additional assistance.
Perfect! This is what I was looking for. First time in my life I do have a need to communicate programatically with laboratory equipment (PM101 in my case). I hope that this very nice and step-by-step tutorial will help with my task.
@ArchitheFA Thanks for letting us know! Another resource is Thorlabs’ GitHub account ( github.com/Thorlabs), which includes additional example code for various products. There is a Python example for the optical power meters (OPM) in the OPM software download ( www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=OPM ), but we have asked our software group to create additional power meter examples for the GitHub collection. Please feel free to contact Tech Support ( techsupport@thorlabs.com ) if you’d like additional assistance.
Our software group has just uploaded a power meter example to Thorlabs’ GitHub account. You can find it here: github.com/Thorlabs/Light_Analysis_Examples/tree/main/Python/Thorlabs%20PMxxx%20Power%20Meters
Is there anyway to increase the accuracy? My pwoermeter is showing one value but the captured data is showing another value? Like the power on the power meter is diplaying -51 dBm but the captured data is showing -48 dBm.
@ghazalehdibifard6004 This is unexpected behavior, and it could be due to various factors that include differences between the settings in your power meter and application. Please contact Tech Support (techsupport@thorlabs.com) so we can discuss your setup with you.
how to check these class methods in these DLL files. I want to know what methods they have and what are the functions and input parameters of these class methods?
@xiaowang7243 The documentation for the dll's in the Kinesis SDK can be found in the Kinesis installation location. For 64-bit Windows, this location is C:\Program Files\Thorlabs\Kinesis and for 32-bit this is C:\Program Files (x86)\Thorlabs\Kinesis. The Thorlabs.MotionControl.DotNet_API.chm file contains information on the methods and classes used in this video. If you have any further questions about the Kinesis SDK or documentation, you can also contact Technical Support at TechSupport@Thorlabs.com.
Thanks, it was verry usefull for me to make a custom user interface to set the power of my lasers.
@thibaultbrugiere1622 Thank you for your feedback. If you have any suggestions for other Video Insights or examples, please let us know!
I installed pythonnet but i always get " import clr
ModuleNotFoundError: No module named 'clr'"
@gurudaki Please make sure that you have version 4.5.2 (minimum) of the .NET Framework installed on your PC and that pythonNET is being installed to the correct Python version, in the case that you have more than one installed. If you continue to see this error, please contact Thorlabs’ Technical Support ( techsupport@thorlabs.com ) for more assistance.
Is there any Python wrapper to control the UpLed Driver?
Unfortunately, a Python wrapper to control the UpLed Driver is not currently available. We have informed our engineers of your interest and will reply back here if one becomes available.
Hello, is there a tutorial for the Kcube with C++ ? And what about the libraries to install ?
@zeddii7126 Unfortunately, we have not yet filmed a Video Insight that demonstrates C++ software control of a K-Cube. However, Thorlabs’ official GitHub account includes C++ examples for the K-Cubes. These examples can be accessed from the C++ landing page of the motion control repository ( github.com/Thorlabs/Motion_Control_Examples/tree/main/C%2B%2B ). The landing page also includes a full C++ programming guide developed specifically for Thorlabs’ products. Information about which libraries are needed for the K-Cubes and where to find them are included in these resources.
Thanks for letting us know you’d be interested in a video demonstration that includes C++ and a K-Cube! Is there a particular application that interests you most?
@@thorlabs Thank you for this informations! Yes, I would like to be able to control the KDC101 K-Cube (Motorized Rotation Stage/Mount with a half-wave plate) with C++ code for a project. I'm still not familiar with C++. :)
@@thorlabs Hello again, I installed and followed the GitHub guide. I built the project but when I run the code in Visual studio C++, it displays that the device is homing and that's it (it detected my KDC101), I can't move/rotate the mount (I tried to change the step position value and velocity). I'm failry new to C++.
@zeddii7126 We are sorry to hear you are having difficulty with the code. Since the best way we can help is to share the code and speak with you, could you contact us at techsupport@thorlabs.com ?
Does this python program work with other controllers from different companies?
@niladriganguly8601 The Motion Control libraries imported into the Python script are only designed to work with Thorlabs’ controllers and motors and will not be compatible with hardware from other manufacturers. If you would like to determine the compatibility of your device and supporting libraries with Python, please contact the manufacturer of the controller.