Kinesis® K-Cube™ブラシ付きDCサーボモーターコントローラー


  • Drives Brushed DC Servo Motors up to 2.5 W
  • Encoder for Position Feedback
  • Control via Local Panel or USB Computer Connection

KDC101

Power Supply
Sold Separately

Application Idea

A KDC101 Controller can be
Used to Drive a PRM1Z8
Rotation Stage (Sold Separately)

Table Mounting Plate
(Included with the KDC101)

Related Items


Please Wait

Click to Enlarge

View Product List
型番数量Description
Universal Product List
KSC1011K-Cubeソレノイドコントローラ(電源別売)
KPZ1011K-Cubeピエゾコントローラ(電源別売り)
KCH3011USBコントローラーハブ&電源、K-CubeまたはT-Cube 3台用
KAP1011アダプタープレート、KCHシリーズ&幅60 mm T-Cube用
K-CubeならびにT-Cubeモジュールを取り付けたUSBコントローラーハブKCH301(T-Cubeを取り付けるにはアダプタKAP101が必要です)

Click to Enlarge

K-Cube KDC101の背面ならびに上面
(詳細は「ピン配列」のタブをご覧ください)

特長

  • コンパクトな設置面積:60 mm x 60 mm x 49.2 mm
  • 差動エンコーダーフィードバック(QEP入力)による閉ループ位置決め制御
  • 当社のすべてのDCサーボモータ付きのアクチュエータならびにステージに対応した自動設定機能(詳細は「仕様」のタブをご覧ください)
  • 操作しやすい手動制御
    • 速度ホイール:双方向制御
    • デジタル表示メニュー:位置のプリセットとジョグ動作の設定
  • Kinesis®またはAPT™制御用ソフトウェア一式(詳細は「モーションコントロールソフトウェア」のタブをご覧ください)
  • ソフトウェアはほかのKinesisならびにAPTコントローラにも対応しており、統合システムの開発が可能
  • 現在のモデルに加えて、旧モデルのT-Cube™コントローラにも対応
  • シングルならびにマルチチャンネルの電源を別途ご用意
  • USBコントローラーハブ(別売り)による多軸拡張も可能
  • 磁石と固定用クリップの付いた光学テーブル取付け用アダプタが付属

K-Cubeブラシ付きDCサーボモーターコントローラKDC101は、当社の新しいKinesis®シリーズの高性能でコンパクトなモーションコントローラです。DCサーボモータを簡単に手動および自動で制御できるよう設計されたこのシングルチャンネルドライバは、エンコーダーフィードバック機能を有する様々な低出力DCブラシ付きモータ(最大15 V/2.5 W)を駆動できます。また、DCサーボモータ付きの当社のオプトメカニクス製品と組み合わせてすぐにご使用になれるよう最適化されています。ソフトウェアの設定の柔軟性が高く、閉ループをチューニングすることで、サードパーティのDCサーボモータやそれに関連するステージやアクチュエータの操作にも幅広く対応します。

ユニットの設置面積は60.0 mm x 60.0 mm x 49.2 mmと非常にコンパクトで、上面パネルのコントローラを使用して手動でモータ位置を調整する際にシステムの近くに配置できるのも便利な点です。テーブル上で操作すれば駆動ケーブルの長さが短くなり、ケーブルの管理も楽になります。ユニットの前面には電源スイッチが付いており、電源をオフにするとユーザ設定が保存されます。ユニットの電源を切るときには、必ずこのスイッチをオフにするようにしてください。KDC101には長さ1.5 mのA-マイクロBタイプUSB 3.0ケーブルが1本付属します。

USB接続によるプラグアンドプレイが可能で、PC制御による操作が容易です。ソフトウェアプラットフォームとしては、当社の新しいKinesisソフトウェアパッケージと従来のAPT(Advanced Positioning Technology)ソフトウェアパッケージの2種類をご用意しております。 Kinesisソフトウェアでは新しい.NETコントロールが使用でき、最新のC#、Visual Basic、LabVIEW™、あるいはその他の.NETに対応する言語を使用してカスタムプログラムを作成するようなサードパーティの開発者も利用することができます。当社の従来のAPTソフトウェアを使用した場合は、ActiveX®プログラミング環境を利用して複雑な動作シーケンスを素早く設定できます。 例えば、当社のステージならびにアクチュエータ製品の動作パラメータは、すべてソフトウェアにより自動的に設定されます。これらのソフトウェアパッケージの詳細については、「モーションコントロールソフトウェア」ならびに「APTチュートリアル」タブをご覧ください。

光学テーブル取付け用プレート
ユニットにはコントローラのベース部分をクリップで固定できる取付けプレートが付属します。プレートには2つの磁石が付いており、光学テーブルに一時的に設置する際にご使用いただけます。また、2つのM6キャップスクリュ用ザグリ穴は、恒久的に取り付ける際にご使用ください。光学テーブル取付け用プレートの図面は「仕様」タブ、取り付け方法は「取付けオプション」タブでご覧いただけます。

Other DC Servo Controllers
K-Cube Single-Channel Controller1-, 2- and 3-Channel Benchtop Controller

電源の選択
必要な電源(シングルチャンネル、マルチチャンネル、あるいはハブベース)は、その用途とお客様が対応可能な電源をお持ちかどうかに依存します。上記の理由と当社の環境イニシアチブの考え方により、当社では電源をセット販売しておりません。これにより、例えばマルチチャンネルやハブをベースとしたシステムが適切な場合に、不要なシングルチャンネルの電源を受け取るようなことは無くなり、コストや煩わしさが省けます。

多軸のモーションコントロールの用途では、USBコントローラーハブKCH301またはKCH601(下記参照)をご使用になると、複数のユニットを1台のPCに接続することができます。右の写真のKCH301は、最大3台のT-CubeまたはK-Cubeコントローラが取り付けられます。右下の写真にあるKCH601は、最大6台まで使用可能です。

モーターコントローラKDC101に対応する電源は下記に掲載されています。

KDC101 Specifications
Motor Output
Drive Voltage±12 to ±15 V (Depending on Supply)
Drive CurrentContinuous150 mA
Peak> 250 mA
Drive Type8-bit Sign/Magnitude PWM
Control AlgorithmDigital PID Filter (16 bit)
Position Feedback Quadrature
Encoder (QEP) Input
5 V, Single Ended
Encoder Feedback Bandwidth750 kHz
Position Counter32 bit
Operating ModulesPosition and Velocity
Velocity ProfileTrapezoidal
Motor Drive Connector (15 Way D-Type)
Motor Drive Outputs+ve & -ve
Quadrature Encoder
(QEP) Input
Single Ended
Limit Switch InputsForward, Reverse (+ Common Return)
Encoder Supply5 V
Front Panel Controls
Sprung Potentiometer WheelBidirectional Velocity Control, 
Forward/Reverse Jogging
or Position Presets
Input Power Requirements
Voltage15 V Regulated DC
Current500 mA (peak)
General
USB Connector TypeUSB 3.0
USB Connection SpeedUSB 1.1 Full Speed (12 Mbps)
Housing Dimensionsa
(W x D x H)
60.0 x 60.0 x 49.2 mm
(2.36" x 2.36" x 1.94")
  • 上面パネルのコントローラを含みます。
Compatible Motor Specifications
Motor TypeBrushed DC Servo
Peak Power2.5 W
Rated Current10 mA to 200 mA (Nominal)
Motor TypeBrushed DC
Coil Resistance5 Ω to 50 Ω (Nominal)
Coil Inductance250 mH to 1500 mH
Postition ControlClosed-Loop Encoder
ResolutionEncoder Specific
Compatible Thorlabs Stages and Actuators
Linear Translation StagesMT1-Z9, MT1/M-Z9, MT3-Z9, MT3/M-Z9, MTS25-Z8, MTS50-Z8, PT1-Z8PT3-Z8
Rotation StagePRM1Z8
GoniometersGNL10-Z8, GNL18-Z8GNL20-Z8
Linear ActuatorsZ906, Z806V, Z912, Z912B, Z912V,Z912BV, Z925BZ925BV

Click to Enlarge
KDC101と付属の光学テーブル用アダプタの図面

モータ制御コネクタ

Dタイプ メス型

DB15 Female
PinDescriptionPinDescription
1Ground9Resistive Identification
2Forward Limit Switch105 V Encoder Supply
3Reverse Limit Switch11Encoder Channel A
4Not Connected12Not Connected
5Motor -13Encoder Channel B
6Not Connected14Digital Identification I/O
7Motor +15Digital Identification GND
8Not Connected

TRIG 1

SMAメス型

TRIG 2

SMAメス型

SMC MaleSMC Male
+5 V TTL+5 V TTL
これらのコネクタからは5 Vのロジックレベルの信号を入出力します。トリガ信号を外部機器に出力する、あるいは外部機器から入力するかについては設定することができます。それぞれのポートでロジックレベルの調整や、トリガの入力あるいは出力の設定が可能です。

Computer Connection*

USB 3.0

*このUSBポートはUSB3.0対応ですが、USB2.0でもご使用いただけます。USB 2.0 を使用する際は、Micro-Bタイプコネクタを上図の網掛け部分に接続します。KDC101にはAタイプ - Micro-BタイプのUSB 3.0ケーブルが1本付属します。

K-Cube™取付けオプション

K-Cubeコントローラの光学テーブルへの固定方法を2種類ご用意しております。1つは光学テーブル取付けプレートで、すべてのK-Cubeに付属しており、1台のコントローラを光学テーブルに取り付けることができます。もう1つは、3ポートあるいは6ポートのUSBコントローラーハブ(別売り)で、当社のK-Cubeコントローラを取り付け、それらに電力を供給することができます。詳細は下記をご覧ください。

光学テーブル取付けプレート
各ユニットには、コントローラのベース部分をクリップで固定できる取付けプレートが付属します(右の動画参照)。プレートには2つの磁石が付いており、光学テーブルに一時的に設置する際にご使用いただけます。また、2つのM6キャップスクリュ用ザグリ穴は、恒久的に取り付ける際にご使用ください。光学テーブル取付けプレートの図面は「仕様」タブでご覧いただけます。

Kinesis USBコントローラーハブ
USBコントローラーハブKCH301やKCH601を用いると、複数のユニットを取り付けて、それらを1台のPCに接続することができます。 コントローラーハブは、3台(KCH301)もしくは6台(KCH601)のK-CubeやT-Cube™をサポートするハブ部分と、壁コンセントに接続して電力を供給する電源部分から構成されています。K-Cubeはユニットについているクリップで簡単にハブに取り付けられますが、T-Cube(現製品および旧製品)の取り付けには、上の動画のようにアダプタープレートKAP101が必要です。 複数のコントローラをお使いになるときには、ハブをご使用になるとUSB用と電源用のケーブル本数を大幅に削減することができます。

K-Cube用光学テーブル取付けプレート


T-Cubeと違い、すべてのK-Cubeには、コントローラのベース部分をクリップで固定できる取付けプレートが付属します。プレートには2つの磁石が付いており、光学テーブルに一時的に設置する際にご使用いただけます。また、2つのM6キャップスクリュ用ザグリ穴は、恒久的に取り付ける際にご使用ください。

Kinesis USBコントローラーハブ


3ポートまたは6ポートのUSBコントローラーハブを用いると、多軸の操作をする際に複数のコントローラを1台のPCに接続することができます。K-Cubeはハブに直接取り付けられますが、T-Cubeの取り付けにはアダプタープレートKAP101が必要です。
K-Cube™ vs. T-Cube™ Feature Comparison
FeatureKDC101 K-CubeTDC001 T-Cube
Kinesis Software CompatibilityYES!YES!
APT Software CompatibilityYES!YES!
Kinesis USB Controller
Hubs
Compatibility
YES!Requires KAP101 Adapter
TCH002 T-Cube USB
Controller Hubs Compatibility
N/AYES!
Power SwitchYES!N/A
Bidirectional SMA Trigger Port2N/A
Computer ConnectionaUSB 3.0 Micro B
(USB 2.0 Compliant)
USB 2.0 Micro B
(USB 2.0 Compliant)
Included Mounting PlateYES!YES!
Size
(L x W x H)
60.0 mm x 60.0 mm x 49.2 mm
(2.36" x 2.36" x 1.94")
60.0 mm x 60.0 mm x 49.2 mm
(2.36" x 2.36" x 1.94")
On-Unit Digital Display MenuYES!N/A
Go To PositionYES!Only via Software
Homing OptionsYES!Only via Software
Velocity ControlYES!Only via Software
Joystick ModeYES!Only via Software
Jog Step SizeYES!Only via Software
Teach PositionYES!Only via Software
Screen BrightnessYES!N/A
Disable MovementYES!N/A
Stage SelectYES!Only via Software
  • 詳細は、「ピン配列」タブをご覧ください。

Kinesis®モーションコントローラのご紹介

旧世代のT-Cube™製品から大幅に改良されたK-Cube™のラインナップでは、新しいKinesis ソフトウェアの導入だけでなく、物理的設計やファームウェアの全面的な見直しも行い、汎用性を高めています。

T-Cubeとは異なり、すべてのK-Cubeコントローラにはデジタルディスプレイが付いています。このディスプレイは基本的な入出力情報の表示を行うだけでなく、指定位置への移動コマンドや、ホーミング、速度制御、ジョグ動作などを含む様々なメニューオプションの選択機能も備えています。ユニットの速度ホイールとメニューボタンを使用して、利用可能な機能をスクロールしてご覧いただくことができます。各ユニットには電源スイッチがあり、これをオフにするとお客様が調整した設定はすべて保存されます。また、5 V TTLロジック信号を入出力する双方向性SMAトリガーポートが2つ付いています。

右の表では、K-Cube KDC101と旧世代のT-Cube TDC001の2種類のモーションコントローラの機能を比較しています。

Brushed DC Controller
Click to Enlarge

K-Cube Kinesis
DCサーボモーターコントローラ KDC101

Kinesis USBントローラーハブ
Kinesis USB 2.0コントローラーハブは、K-Cubeコントローラの機能を補完する製品です。USBハブには3台用と6台用の2種類があり、複数のK-CubeやT-CubeのコントローラがホストPCと通信できるように設計されております。これらのハブはT-Cube製品との後方互換性があります。

K-Cubeはユニットについているクリップで簡単にハブに取り付けられますが、T-Cube(現製品および旧製品)の取り付けには、右下の動画のようにアダプタープレートKAP101が必要です。 複数のコントローラをお使いになるときには、ハブをご使用になるとUSB用と電源用のケーブル本数を大幅に削減することができます。

K-Cube用光学テーブル取付けプレート


T-Cubeとは異なり、すべてのK-Cubeにはコントローラのベース部分をクリップで固定できる取付けプレートが付属します。プレートには2つの磁石が付いており、光学テーブルに一時的に設置する際にご使用いただけます。また、2つのM6キャップスクリュ用ザグリ穴は、恒久的に取り付ける際にご使用ください。

Kinesis USBコントローラーハブ


3ポートまたは6ポートのUSBコントローラーハブを用いると、多軸の操作をする際に複数のコントローラを1台のPCに接続することができます。K-Cubeはハブに直接取り付けられますが、T-Cubeの取り付けにはアダプタープレートKAP101が必要です。

当社では幅広い種類のモーションコントローラを駆動できるよう、Kinesis® ソフトウェアパッケージと従来のAPT™(Advanced Positioning Technology)ソフトウェアパッケージの2種類のプラットフォームをご用意しております。どちらのパッケージも小型で低出力のシングルチャンネルドライバ(K-Cube™やT-Cube™など)から高出力でマルチチャンネルのモジュール式19インチラックナノポジショニングシステム(APTラックシステム)まで幅広い種類のモーションコントローラをカバーするKinesisシリーズのデバイスを制御できます。

Kinesisソフトウェアには、最新のC#、Visual Basic、LabVIEW™またはその他の.NETに対応する言語を使用してカスタムプログラムを作成するサードパーティの開発者向けに、.NETコントロールが付属しています。また、.NETフレームワークを使用しない用途向けに低級言語用のDLLライブラリも付いています。センターシーケンスマネージャが、当社の全てのモーションコントロールハードウェアの統合と同期をサポートします。

Kinesis Software
KinesisのGUIスクリーン
APT Software
APTのGUIスクリーン

当社従来のAPTシステムソフトウェアプラットフォームは、C#、Visual Basic、LabVIEWまたはその他のActive-Xに対応する言語を使用してカスタムプログラムを作成するサードパーティの開発者向けに、ActiveXをベースとしたコントロールが付属しています。また、ハードウェア無しでカスタムプログラムの開発を行うためのシミュレーターモードも付いています。

これらの共通のソフトウェアプラットフォームにより、あらゆるKinesisとAPTコントローラをシングルアプリケーションに簡単に組み込むことができます。ソフトウェアツールは1セット習得するだけで共通した操作が可能です。シングルチャンネルシステムからマルチチャンネルシステムまで、あらゆるコントローラを組み合わせ、全てを1台のPCのソフトウェアインターフェイスから制御することが実現可能です。

このソフトウェアパッケージを使用するには2つの手段があります。GUI(グラフィカルユーザーインターフェイス)ユーティリティを使用したコントローラとの直接対話ならびに「out of the box」コントロール、またはご選択の開発言語でカスタム統合の位置決めやアライメントソリューションを簡単にプログラムできる一連のプログラミングインターフェイスです。

APTシステムソフトウェアをよりご理解いただけるために様々なチュートリアルビデオもご用意しております。ビデオではソフトウェアの概要とAPT Configユーティリティをご説明しています。また、ソフトウェアのシミュレーターモードを利用すると、コントローラを接続しないでソフトウェアを試すことができます。その方法を説明したビデオもあります。これらのビデオは「APTチュートリアル」タブ内のリンクからご覧いただけます。

ソフトウェア

Kinesis バージョン 1.14.47

このKinesisソフトウェアパッケージには、当社のKinesisならびにAPT™システムコントローラを制御するためのGUIが含まれています。

下記もご用意しております:

  • 通信プロトコル
Software Download

ソフトウェア

APT バージョン 3.21.6

このAPTソフトウェアパッケージには、当社のAPT™およびKinesisシステムコントローラを制御するためのGUIが含まれています。

下記もご用意しております:

  • 通信プロトコル
Software Download

Kinesis®ソフトウェアでは新しい.NETコントロールが使用でき、最新の最新のC#, Visual Basic, LabVIEW™、ほかの.NET対応言語を使用する開発者がカスタムにプログラムを作成することもできます。

C#
このプログラミング言語はマルチプログラミングパラダイムやマルチプログラミング言語が使用可能となるよう設計されているため、複雑な問題が簡単かつ効率的に解決できます。型付け、命令型、宣言型、関数型、ジェネリック、オブジェクト指向、そしてコンポーネント指向が含まれます。 この共通のソフトウェアプラットフォームにより、1セットのソフトウェアツールを習得するだけで、あらゆるKinesisコントローラを簡単に組み合わせることができます。このようにして1軸システムのコントローラから多軸システムのコントローラまで、様々なコントローラを組み合わせ、全てを1台のPCのソフトウェアインターフェイスから制御することが可能となりました。

Kinesisシステムソフトウェアを使用するには2つの手段があります。コントローラを直接つないで制御を行なう付属のGUI(グラフィカルユーザーインターフェイス)ユーティリティ、またはご希望の開発言語でカスタム仕様の位置決めやアライメントを簡単にプログラムできる一連のプログラミングインターフェイスです。

Kinesisモーションコントロールライブラリの構築の参考となる実行可能なプロジェクト機能拡張例については下のリンクをクリックしてください。なお、Quick Startのプロジェクト例の実行には別の統合開発環境(IDE)(Microsoft Visual Studioなど)が必要です。C#のプロジェクト例はKinesisソフトウェアパッケージに付属する.NETコントロールで実行可能です(詳細は「Kinesisソフトウェア」タブをご覧ください)。

C Sharp IconClick 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は、.Netコントロールを介してKinesisまたはAPTベースのコントローラとの通信に使用できます。LabVIEWでは、ツールとオブジェクトでフロントパネルとして知られるユーザーインターフェイスを構築した後、グラフィカル表記の関数を使ってコードを追加し、フロントパネルのオブジェクトを制御します。下記のLabVIEWチュートリアルでは.Netコントロールを使用してLabVIEW内KinesisまたはAPT駆動デバイス用の制御GUIを作成するための情報をご提供しています。 LabVIEWでコントローラを制御する基本的な方法や、LabVIEW GUIを用いてデバイスを操作する前に行うべき設定の手順についても解説しています。

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

こちらのページでご覧いただくAPTビデオチュートリアルは、付属のATPユーティリティに関する説明と、いくつかのプログラミング環境におけるAPTシステムのプログラミングに関する説明の2つの部分から構成されています。

免責事項:これらの動画は、当初はAdobe Flashによって作成されました。2020年のAdobe Flashのサポート終了後、これらのチュートリアルは再録画されています。各動画の下にはFlash Playerの操作ボタンが見えますが、機能はしません。

APTコントローラには、APTUserユーティリティとAPTConfigユーティリティが付いています。APTUserを用いると、直感的操作が可能なグラフィック制御パネルを介して、APTで制御するハードウェアに素早く簡単に接続することができます。APTConfigは「オフライン」ユーティリティで、メカニカルステージのタイプを事前に選択し、それらを特定のモーションコントローラに対応付けるなど、システム全体のさまざまな設定を行うことができます。

APT Userユーティリティ

下の左側の動画では、APTUserユーティリティの操作概要について説明しています。シングルチャンネルコントローラのOptoDriverは、制御用のPCが無くても前面パネルのコントローラを介して操作できます。前面パネルのコントローラに保存されている操作に関する設定は、APTUserユーティリティを使用して変更することができます。そのプロセスは下の右側の動画でご覧いただけます。

APT User - 概要
APT User - OptoDriverの設定


APT Configユーティリティ

シミュレートされたハードウェア構成のセットアップや、メカニカルステージの特定のモータードライブチャンネルへの対応付けなど、APT Configユーティリティを使用してAPTシステム全体の様々な設定ができます。下の最初の動画ではAPT Configの概要をご覧いただけます。シミュレートされたハードウェア構成の作成方法やステージと対応付ける方法についての詳細は、その右側の2つの動画でご覧いただけます。

APT Config - 概要
APT Config - シミュレータのセットアップ
APT Config - ステージとの対応付け


APTのプログラミング

APTソフトウェアシステムは、ActiveXコントロールのコレクションとして実装されています。ActiveXコントロールは言語に依存しないソフトウェアモジュールで、グラフィカルユーザーインターフェイスとプログラミングインターフェイスの両方を提供します。ハードウェアユニットのタイプごとにActiveXコントロールのタイプがあります。例えば、Motor ActiveXコントロールはすべてのタイプのAPTモーターコントローラ(DCまたはステッパ)の操作に対応します。ActiveXコントロールは多くのWindowsソフトウェア開発環境やソフトウェア言語で直接サポートされており、そのようなコントロールがカスタムアプリケーションに組み込まれると、そこに含まれるすべての機能が即座にアプリケーションで利用できるようになります。下の動画では、LabVIEW、Visual Basic、Visual C++によるAPT ActiveXコントロールの基本的な使用方法について説明しています。これ以外に、LabWindows CVI、C++ Builder、VB.NET、C#.NET、Office VBA、Matlab、HPVEEなどの多数の言語でもActiveXはサポートされています。これらの言語環境についてはチュートリアルのビデオでは特に取り上げていませんが、動画内の考え方の多くは他の言語環境でも適切に使用できます。

Visual Basic

Part 1ではVisual Basicで動作するAPT ActiveXコントロールを設定する方法について説明しており、Part 2では独自の位置決めシーケンスをプログラミングする方法について説明しています。

Visual BasicによるAPTプログラミング:Part 1
Visual BasicによるAPTプログラミング:Part 2


LabVIEW

LabVIEWはActiveXをフルサポートしています。下の一連のチュートリアルビデオでは、APTによる独自のモーションコントロールシーケンスを作製する際の基本的な構成要素を示しています。まずソフトウェア開発中にオンラインヘルプを呼び出す方法をご紹介します。Part 2ではAPT ActiveXコントロールの作成方法をご紹介します。ActiveXコントロールではメソッド(機能)とプロパティ(数値設定)の両方を設定できます。Part 3と4では、ActiveXコントロールで示されたメソッドとプロパティを作成してワイヤで接続する方法をご紹介します。最後に、Part 5では全体をまとめて、独自の移動シーケンスを実行するLabVIEWのプログラム例をご紹介します。

LabVIEWによるAPTプログラミング -
Part 1:オンラインヘルプへのアクセス方法
LabVIEWによるAPTプログラミング -
Part 2:ActiveXコントロールの作成方法
LabVIEWによるAPTプログラミング -
Part 3:ActiveXのメソッドの作成方法
LabVIEWによるAPTプログラミング -
Part 4:ActiveXのプロパティの作成方法
LabVIEWによるAPTプログラミング -
Part 5:ActiveXコントロールの開始方法


下のチュートリアルビデオでは、メソッドおよびプロパティのノードを作成する別の方法について説明しています。

LabVIEWによるAPTプログラミング -
ActiveXメソッドの作成方法(別の方法)
LabVIEWによるAPTプログラミング -
ActiveXプロパティの作成方法(別の方法)


Visual C++

Part 1ではVisualC++で動作するAPT ActiveXコントロールを設定する方法について説明しており、Part 2では独自の位置決めシーケンスをプログラミングする方法について説明しています。

Visual C++によるAPTプログラミング:Part 1
Visual C++によるAPTプログラミング:Part 2


MATLAB

当社のAPTポジショナにMATLABおよびActiveXコントロールを使用する場合は、こちらの資料をご覧ください。

プログラマー向けとして、LabVIEWでAPTソフトウェアをプログラミングする方法もこちらからご覧いただけます。


Posted Comments:
Philippos Balamatsias  (posted 2024-03-06 08:01:33.913)
Hello Thorlabs. I’m working with a KDC101 Brushed Motor Controller and a Z825B servo motor actuator. I also use LabView, as well as Kinesis Software. The purpose is to automate the Z825B’s position, and move it when triggering the controller through the two available INPUT ports. I cannot find how to specify their parameters through LabView, so when I trigger the port 1, the actuator does an absolute or a relative move. I have seen the available Methods for external triggering, but when I creat control of them, it needs to load a .NET file. I opened Kinesis .Net API document also, but it didn't help too much. I need some help with the sequence of these nodes as well. Thank you in advance.
cstroud  (posted 2024-03-12 12:39:55.0)
Thanks for reaching out. I will contact you directly to help support your setup.
Jee Kim  (posted 2024-02-29 10:30:28.733)
Hi, I am using KDC101 with MTS50/M-Z8 stage, and I noticed that the stage location number on the Kinesis does not match with the location number on the KDC101. The numbers get off more and more as I move away from 0, and by around 50mm the location on KDC101 and the location on Kinesis differ by 0.3mm. Is there a way to solve this issue? If not, could you tell me which number to trust?
cwright  (posted 2024-03-07 09:02:37.0)
Response from Charles at Thorlabs: This is most likely the result of outdated firmware and the software is correct. I will reach out to you to help with more information and to help with the firmware update.
Benjamin Zhang  (posted 2024-01-16 11:54:24.017)
Please help to check or show me how to use pytharm GUI to control the brushed motor controller. thanks very much.
do'neill  (posted 2024-01-22 07:53:21.0)
Thank you for your feedback, there are python examples for the KDC101 on our GitHub and 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 this with you and help you with this.
Phua YN  (posted 2024-01-13 16:10:43.923)
Hi, I have TDC001 with MTS50MZ8 stage. I have installed Kenssis and us able to control it. I have tried to work out using C# to control, following the examples given by Thorlabs and Github. However, when using Thorlabs.MotionControl.TCube.DCServoCLI.dll, the program shows error as below. "System.IO.FileNotFoundException HResult=0x8007007E Message=Could not load file or assembly 'Thorlabs.MotionControl.TCube.DCServoCLI.dll' or one of its dependencies. The specified module could not be found." Please advice. Thanks.
do'neill  (posted 2024-01-19 06:53:21.0)
Response from Daniel at Thorlabs. This is often due to the way the references are added. I will reach out to you directly to discuss this with you and help troubleshoot this with you.
kanami Takahashi  (posted 2024-01-11 17:17:18.967)
I use KDC101 to drive Z906. APT ActiveX control running in Visual Basic 6.0 was set up on my PC. I have two questions. MoveHome function does not move the motor, and the display changes to 0.0000 in that state. How do I set the motor to the home position? When I move 0.1mm with the APT motor controller, why does the APT display show "0.1" but the motor driver display shows "at 2458.0000mm"?
do'neill  (posted 2024-01-12 09:39:18.0)
Response from Daniel at Thorlabs. It looks like there may be a mix up between device units and real units. I will reach out to you directly to see why this might have been the case and help troubleshoot this with you.
user  (posted 2023-12-06 15:39:19.587)
Hi. I wonder if your motion control software for actuatores and piezostage nanomax can be interfaced with HORIBA Labspec control software. Do you have experience on that?
do'neill  (posted 2023-12-19 10:32:16.0)
Thank you for your enquiry. Unfortunately we do not have any experience with this combination, however, I will reach out to you via email regarding your application to see if we can assist you with your setup.
DAVID GOLDFISHER  (posted 2023-03-30 20:37:10.197)
Hi I have KDC101 and Z812B. I am working on laser development in the laboratory at the Lev Academic Center and want to show my professor the advantage of automation in the calibration procedure over manual work in order to convince him to purchase more motors. I want to control the motors using Python software. Do you have a short tutorial plus sample code on how to control the engine in question using Python?
JReeder  (posted 2023-03-31 05:42:32.0)
Thanks for your enquiry. You can find our Motion control examples on our GitHub page: https://github.com/Thorlabs. Specifically for the KDC101 you can find the examples here: https://github.com/Thorlabs/Motion_Control_Examples/tree/main/Python/KCube/KDC101. After installing our Kinesis software you can find the APIs, which give you a more in-depth description of individual functions, in the following installation folder: C:\Program Files\Thorlabs\Kinesis. You can also view a tutorial on how to control the Kinesis software through Python on our YouTube account: https://www.youtube.com/watch?v=VbcCDI6Z6go
Alyssa Kostadinov  (posted 2023-02-09 18:10:15.057)
Dear Thorlabs, Is there an installation APT package for WinXP? Maybe a previos version available? Thank you
do'neill  (posted 2023-02-10 06:34:18.0)
Response from Daniel at Thorlabs. Thank you for your enquiry, I will reach out to you with an XP compatible version.
Chris McGuffey  (posted 2023-01-04 08:57:43.91)
Hello Thorlabs, we are running 6 KDC101 units. One of the cubes gets hung up on startup after IDing the motor. It also does not shut down (for many minutes) when the red switch is toggled off. This only happens when it is plugged in on the KCH601- it works fine if plugged in to a separate power supply. Any ideas what is wrong?
DJayasuriya  (posted 2023-01-06 06:04:57.0)
Thank you for your inquiry. we have got in touch with you directly to trouble shoot your issue.
eric nuland  (posted 2022-12-14 17:29:11.623)
I just bought Kcube 27262769 2022 And the motor does move. Never measure voltage on the motor. The 5V output is only 3.5V. ?? what is wrong ?
JReeder  (posted 2023-01-05 10:42:24.0)
Thank you for your enquiry. I reached out to you help troubleshoot this issue. Further information that is helpful in troubleshooting this is: What motor are you using with the KDC101? What pins are you measuring the voltage on? What power supply are you using with this device? When using the KDC within our Kinesis software, do any error messages occur?
Laurent LE  (posted 2022-10-21 14:13:15.203)
Dear Thorlabs, I am using the KDC101 Controller with a PRM1Z8 Rotation stage. I want to use the TRIG 1 port as an input trigger. I create a Sequence thanks to Kinesis software. I want a routine in which the controller is waiting for a trigger input pulse (on TRIG 1 port) to move the rotation stage to a absolute position. However, there is no function to tell to the controller to wait for an input trigger pulse. There is I/O functions but only for Ouput triggering.
cwright  (posted 2022-10-24 09:23:23.0)
Response from Charles at Thorlabs: Thank you for your feedback. Unfortunately this is not possible in the Kinesis sequencer at the present time as it is a small utility for simple moves. If an input trigger must be used in a sequence then this would need to be written using our dlls.
Ben Pinoli  (posted 2022-10-14 07:53:57.747)
Dear Thorlabs, I am trying to code movement with the Kcube for an XYZ stage in C#. I can connect the device, home it, and move it, but the movement (from 0 to x) stops in an error at 71.12% of the coded x position, despite changing timeout times and x itself. Is there an easy fix to this? I'm using example setup code and movement code from your website.
cwright  (posted 2022-10-14 11:55:33.0)
Response from Charles at Thorlabs: Thank you for your query. We are sorry to hear you are having issues. Unfortunately we are not aware of an error with the DLLs which would cause this and a member of technical support will reach out to see your code.
Bohdan Bilash  (posted 2022-10-06 14:01:42.53)
Dear Thorlabs. Could you say, please, is it possible to write program code (for example in C#), make some sketch with a task, what I want my KDC101 to do continuously, and upload this sketch to KDC101, after it to disconnect USB, so KDC101 will work by itself with my sketch? Thank you!
cwright  (posted 2022-10-06 05:32:45.0)
Response from Charles at Thorlabs: Thank you for your query. It is not possible to upload code directly to the KDC101. It would be necessary to run the program on a PC which then communicates with the KDC101.
Daniel Brown  (posted 2022-07-21 20:34:55.82)
Hi Thorlabs, I'm using the KDC101 with Labview. Currently, the encoder position read time via the KCubeDCServo_GetPostionCounter in its own while loop is a bit slow (approx. 50ms per read). There is no 'wait' control in the loop. Is there any way of speeding up the readout? It can't be BAUD limited.
cwright  (posted 2022-07-22 06:49:11.0)
Response from Charles at Thorlabs: Thank you for your query. You can use the start polling method to set the polling rate to a lower value. LabVIEW and your operating system can add some delay but USB only sends packets at a rate of ~60Hz, so the practical limit is 15ms.
yuon song  (posted 2022-05-31 16:06:50.323)
Hello, I`m using KDC 101 with labview. I use 'MoveContinuous' for controlling. and after, I use 'StopImmediate' for stop moving. but controller does not get property or method like 'MoveAbsolute'. how can I move again after stoping motor?
cwright  (posted 2022-06-01 03:09:15.0)
Response from Charles at Thorlabs: Thank you for contacting us. It could be that the IsBusy property or one of the internal properties of the .NET library hasn't been updated by the device at the time the next move command is sent. There should be a short delay between stopping and starting a move again, at least as long as the polling time. We will need to see your program and any error codes/status messages you get in order to comment further and we will reach out to you for this.
Youngjoon Kim  (posted 2022-05-02 20:20:13.95)
Hi, I'm using KCH301 USB Controller Hub with two KDC101s and one of KDC101 is making a connection problem with PC. I could check from Kinesis software that the other KDC 101 was normally connected to PC but still above problematic KDC101 did not show up from "connect" window of Kinesis software. What can i do to solve this communication problem?
DJayasuriya  (posted 2022-05-04 04:38:06.0)
Thank you for your inquiry. We have got in touch with you for further information to resolve your issue.
John Smith  (posted 2022-04-06 15:23:35.77)
Hi Thorlabs, I am trying to control KDC and TDC cubes (with PRM1/MYZ8) through Labview and I am facing several issues: (i) I can change the rotation settings for the TDC through the methods property [TCubeDCServo, SetMovementSettings] but this does not work for the KDC equivalent. More precisely, when using [KCubeDCServo, SetMoveAbsolutePosition] followed by [KCubeDCServo, MoveAbsolute], the mode RotationalRange give the same result than LinearRange (i.e. I cannot quickly shift from 359 to 1 degree). Writing over the rotation settings through [KCubeDCServo -> MotorDeviceSettings, RotationSettings] does not work either. (ii) When performing a For loop, I tried to use the properties [K/TCubeDCServo, state] and [K/TCubeDCServo, IsDeviceBusy] to wait for the motion ending before performing the next iteration. This works most of the time but fails from time to time, which causes Labview to proceed with the next iterations while the stage is still moving and quickly terminates the For loop. Is there any quick solution to fix these issues or could you help me resolve it? Additionally I have not found any manual regarding the multiple properties and methods available, apart from the tutorial given on this page. I there such a thing somewhere? Thanks in advance and best regards.
DJayasuriya  (posted 2022-04-12 09:45:21.0)
Thank you for your inquiry. We will get in touch with you directly to resolve your issue.
Aaron Riede  (posted 2022-03-03 09:49:03.207)
Hi Thorlabs As many others, I would like to run the TDC001 in combination with the CR1/M-Z7 in Python. Could you provide me with some examples, how to do it? Thanks and best regards Aaron
cwright  (posted 2022-03-04 08:04:59.0)
Response from Charles at Thorlabs: Thank you for contacting us. We will reach out to you with what we can provide. The fastest way to request a software example is by contacting your local technical support team. Contact details can be found here: https://www.thorlabs.de/locations.cfm
user  (posted 2022-02-11 22:56:33.317)
I want to know how many Z812s can a KDC101 control? Do you have a KDC with more control channel?
DJayasuriya  (posted 2022-02-14 08:34:42.0)
Thank you for your inquiry, The KDC101 controller can only drive one actuator. However using a KCH301 or a KCH601 USB Controller Hub multiple controllers can be connected. Hope this helps. If you have any questions please get in touch with our tech support team who will be happy to help.
James Stotz  (posted 2022-01-25 19:12:00.597)
Hi, I was trying to run the sample Labview program "Kinesis - KDC101 - No Front Panel.vi" that uses the C# .DLL files so that I could access my T-Cube without embedding the larger interface in Labview. However, in the first function call in the program (DeviceManagerCLI.dll), I receive the error "Error 1386: The Specified .NET Class is Not Available in LabVIEW". I have tried to fix this using all points from this page: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019UnoSAE&l=en-CA with no success. Since this is a demo program from the Motor Controller page, I was hoping that Thorlabs may have some insight into the issue. Any help would be greatly appreciated. Of note, I am using Labview 2020 (64 bit) with the most recent versions of the Kinesis software and downloads from Thorlabs. (And using the 64 bit dll files from the C# package). Thanks for any help that you could provide. Cheers, James
DJayasuriya  (posted 2022-01-27 04:05:28.0)
Thank you for your inquiry. We will get in touch with you directly to trouble shoot.
DJayasuriya  (posted 2022-01-27 04:05:28.0)
Thank you for your inquiry. We will get in touch with you directly to trouble shoot.
Alan Wardle  (posted 2021-10-06 09:49:11.54)
Hi Thorlabs, We have four KDC 101s dating from 2016 all with the same two problems: 1. broken torsion spring in the velocity wheel. 2. displays not functioning KDCs will control a motor with a pc using Kinesis software, but cannot be used in standalone mode. Can you help?
DJayasuriya  (posted 2021-10-07 06:10:47.0)
Thank you for your inquiry. We will get in touch with you directly to resolve this issue.
user  (posted 2021-09-17 05:02:03.17)
Do You have Ethernet or RS-232 communication block to communicate via many USB inputs with KDC101 controllers? I will need control many KDC101 from distance in one control room.
DJayasuriya  (posted 2021-09-20 05:13:53.0)
thank you for your inquiry. Unfortunately, the KDC does not have the capability to use Ethernet or RS-232. We will get in touch with you to discuss your application.
Congjian Lin  (posted 2021-08-17 00:11:48.79)
Hi TLabs team, I’m currently working with a KDC101 to control a MTS50C-Z8 stage. I have been using Labview to control the KDC. Recently, I began to get an error related to overload/over current. The stage will work for a few movements of the same distance and then say overcurrent. Could you please get in touch with me directly to resolve my issue? Many thanks and best regards.
YLohia  (posted 2021-08-27 03:06:48.0)
Hello, a motor over current error typically results when something is preventing the motors from moving. This could be due to a large load, a hard stop or a stuck lead screw. There can also be electrical issues (such as a short) which would cause an over current error, but these are rare. Have you added a load or can see any grease build up on the lead screw? We have reached out to you directly to troubleshoot further.
user  (posted 2021-08-15 19:26:25.66)
Hello, I am using a Kinesis® K-Cube™ Brushed DC Servo Motor Controller KDC 101 on a program written using c# .net API and I'm trying to detect a state that the USB is unplugged after connection. For now I see that after a good connection and then unplugging the USB IGenericCoreDeviceCLI.IsConnected is still true and commands like move don't throw any exception. Any advice would be appreciated.
DJayasuriya  (posted 2021-09-03 04:50:23.0)
Thank you for your inquiry, we will get in touch with you directly to resolve your issue.
user  (posted 2021-07-20 15:36:55.4)
Hello, where can I find ActiveX control? Need to develop on MFC, but I can't find ActiceX control. Do you have a tutorial? looking forward to your reply.
DJayasuriya  (posted 2021-07-20 09:53:32.0)
Thank you for your inquiry. Wonder if you have seen : https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=9019. Hope this helps. Feel free to get in touch with your local tech support team if you have any questions regarding the tutorials.
Eugene Cheng  (posted 2021-06-25 23:42:37.47)
We use a KDC101 controller to drive Z825B. From menu operation, we can set max velocity from menu option 3 Velocity. On manual, it says "Subsequent moves will be performed at the velocity entered." But, we see only the Jog in Velocity control mode is affected by this Velocity setting. When we use Joystick in Jog in Step mode, it does not use the newly entered Velocity parameter, i.e. still use the old velocity setting. Same problem for using Joystick in Jog to position mode. It does not use the newly entered velocity. Is there any way to fix this problem?
jcater  (posted 2021-07-01 05:21:32.0)
Response from Jack at Thorlabs: Thank you for your feedback. When using the KDC101 in Joystick Mode all three options should use the velocity set in previously in the Velocity menu. I will reach out to you directly to help troubleshoot further.
Trung Nguyen  (posted 2021-06-21 21:20:26.71)
I am using a Kinesis® K-Cube™ Brushed DC Servo Motor Controller KDC 101 with actuator z825B, whenever I connect the Kcude with Kinesis, it shows "KCube DC Motor controller (S/N 27001120) Issue detected ("Internal serial number is incorrect")" I don't know how to fix the problem. Another problem is that the LCD display's light of the Kcube can not be turn on. Please help me.
DJayasuriya  (posted 2021-06-22 10:23:49.0)
Thank you for your inquiry. The serial number is stored gets pulled from the FTDI chip's EEPROM. The serial number saved in the cubes' flash memories are incorrect (27000000). Kinesis should be able to fix this issue if you load the devices once, then unload them, then load them again. We will get in touch with you directly to resolve the issue if it persists.
Taeyoung Kim  (posted 2021-04-26 22:15:19.463)
Hi, is there any example material for PRMTZ8 or MTS50-Z8 for linux with python? It doesn't work with dll file on linux, maybe i could use communication protocol but it is not familiar to me. Thanks
jcater  (posted 2021-04-27 05:53:35.0)
Response from Jack at Thorlabs: Thank you for your inquiry. Unfortunately the KDC101 is not controllable in a Linux environment using the Kinesis DLL's, you will have to use the communication protocol (https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf). I will reach out to you with an example for using the communication protocol in Python.
晨旭 陆  (posted 2021-04-05 22:40:41.747)
Hello TLabs team. We have a TDC001 product and for some reasons we have to use winXP. But the Version of the software for winXP is not available in your website. Can you send us a APT installation package for XP to my email which i am using now? Thanks
cwright  (posted 2021-04-08 06:17:25.0)
Response from Charles at Thorlabs: Thank you for your query. There is no 'single-click' way to install APT on XP but we will reach out to you to discuss how you may be able to install this.
user  (posted 2021-02-18 02:18:43.343)
Hello TLabs team, I’m currently working with a KDC101 to control a MTS25-Z8 stage. I have been using open-source Python to control the KDC, using Kinesis drivers from 2020. Recently, I began to get an error related to overload/over current. The stage will work for a few movements of the same distance and then say overcurrent. My load is very small, and the cables leading to the sample on the stage are also quite light. I’ve had this controller for a few months, and this is the first instance of this error with no major changes leading to the error. It sounded similar to the 2018 error that I’ve read about related to loading parameters? The error also occurred in the Kinesis software when I mimicked similar movements to my code. Any advice would be appreciated.
DJayasuriya  (posted 2021-03-04 03:48:30.0)
Thank you for your inquiry. The over current error typically results when something is preventing the motors from moving. This could be due to a large load, a hard stop or a stuck lead screw. For the For the Z8 motors, the most common cause is a stuck lead screw, from hitting the limit switch too quickly. We will get in touch with you directly to resolve your issue.
user  (posted 2021-01-04 05:36:07.117)
Hello, I would like to control a relative old Z625B DC motor using a TDC001 (our lab purchased it more than 10 years ago), S/N 83812357 on windows 7, 64 bit. I have downloaded in installed a version of APT (3.3.7060.19193). I'm able to control the motor manually through the commands on the T-cube, but it does not work when I try to use either the APT User Software or a Matlab script (activeX based). No light flashes when I click the Ident button on the APT User, but I can see that the controller and the motor are identified via USB. Have you any idea on what's happening? Thank you so much
cwright  (posted 2021-01-07 05:19:41.0)
Response from Charles at Thorlabs: Hello and thank you for your query. I can see that you have already been in contact with your local technical support team are now able to use this device in APT and via Python. Our technical support team will help you work through any remaining issues you may have.
Douglas Doughty  (posted 2020-11-30 17:46:02.303)
I am using the KDC101 with a Z825B actuator -- currently operating manually with the jog wheel. I want to control the motion through the Trig1 and 2 ports. I assumed I had to supply a 5V pulse to a port in order to execute the command set in the I/O tab of the Kinesis software -- this did not work. I have confirmed that the output mode works for both ports as I do get a 5V signal when I jog the device and the port is set to output upon motion. I noted that the port outputs a 5V signal when the port is configured for input (either absolute or relative motion). In this case it would seem then that the user supplies a switch and pull down resistor to use these ports -- is this the case?
DJayasuriya  (posted 2020-12-14 06:13:40.0)
Thank you for your inquiry. The triggers have a pull up resistor of few kohms. When they are in input mode (and therefore floating). If the input left floating it would go up to 5V. You would need to close that to ground or connect to an output that drives to 0 or 5V. Hope this helps, please get in touch with your local tech support team if you have any other questions regarding your application.
user  (posted 2020-10-21 12:48:07.63)
I am using the ThorLabs motor and its controller (Kinesis® K-Cube™ Brushed DC Servo Motor Controller, https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=2419). Specifically, I am using LabView to control this motor. However, I always met following error. Can you give me some suggestion about solving this error? The details of this error are: -------------------- 19:04:06:0655> Error [Code = 10003]:- [SN 27505090] CMGMotorCtrl::SetHomeParams(0,2,1,4.00,0.00); Internal Code = 17010707. Description: Invalid Parameter Notes: An invalid parameter has been passed. Extra Info: Home velocity parameter out of limits.
DJayasuriya  (posted 2020-10-22 08:09:02.0)
Thank you for your inquiry. Looking at the error message you are setting the homing velocity to 4mm/s, depending on the actuator/stage 4mm/s is too high a homing velocity. We will get in touch with you directly to discuss your application further.
ru zhang  (posted 2020-09-10 14:53:35.157)
I need Kinesis Communications Protocol.
cwright  (posted 2020-09-10 06:28:52.0)
Response from Charles at Thorlabs: Hello and thank you for contacting us. You can find the communications protocol at the following link. https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf Devices which can be controlled with either APT or Kinesis, both use the APT Communications Protocol, as the serial commands sent to the stages by the two pieces of software do not differ.
JINGJING ZHAO  (posted 2020-08-14 00:29:25.32)
Hi there, I just want to know whether the motor controller can be manipulated vai matlab or not and can you offer a package of Matlab codes? Our lab has several controllers of this series and I want to operate them by Maltab. Thank you~ Jingjing
cwright  (posted 2020-08-18 12:04:01.0)
Response from Charles at Thorlabs: Hello and thank you for contacting us. Unfortunately Matlab is not officially supported and there is limited compatibility between our software and Matlab. Our DLLs do sometimes work but we are aware that some releases of our DLLs do not appear to work with some releases of Matlab. We advise that you use Matlab to communicate via serial commands as these would be reliable. We will reach out to you with some examples.
user  (posted 2020-07-26 02:08:15.603)
Hello, It’s a good product, I have two questions with KDC101. Firstly, I made a VI from calling a .Net program from LabView. According to the guidance document downloaded by you in official website, the error code 1172 finally appeared ,it shows error calling method Secondly, when I run the example VI download from your website ,it shows that no suitable devices to found, In addition to the documents on your official website, are there any instructions about KDC101 and labview? I want to form a VI myself .thank you for your help.
DJayasuriya  (posted 2020-08-03 05:58:27.0)
Thank you for contacting us. If no suitable device pop up, this suggests that the dll's are not the same project folder. It may also be due to the the wrong serial number or using a simulated device without initializing simulations in the VI. Error 1172 in create device means there's something wrong within the VI. We will reach out to you directly to determine to diagnose this issue.
Tianyi Guo  (posted 2020-07-23 17:24:20.253)
I would like to use KDC101 to control CR1-Z7 stage. I have installed the right version for Kinesis (32bit for 64bit windows). However, I got the error message, "could not load file or assembly 'Thorlbas.MotionControl.Kcube.dcservo.dll'. We also have another stage Z825B and another controller TDC001. I could use the same KCD101 to control a linear stage Z825B using Kinesis. I have the same problem for TDC001 to control CR1-Z7.
DJayasuriya  (posted 2020-08-03 04:51:57.0)
Response from Charles at Thorlabs: thank you for contacting us. We will reach out to you directly to determine how the software is being used and to diagnose this issue. However, if you are using LabVIEW with our dll's then this would be the result of not putting the dll's in the project folder of the VI.
Jeffrey de Vlugt  (posted 2020-06-04 09:16:52.103)
Hello, Overall, I am quite happy with this controller as it typically runs very consistently. I am using it to control the MTS50-Z8. However, for my application, I am using a python module called thorlabs_apt (https://github.com/qpit/thorlabs_apt), and I am occasionally encountering the error: MG17_HWTIMEOUT_ERR: "Time out while waiting for hardware unit to respond." My computer is 64 bit windows 10 pro. The error occurs after numerous cycles of moving the stage back and forth between two points 10 mm apart. Unfortunately, I realize this is tricky to debug given that it happens so infrequently, but any advice you could give as to avoiding this error would be greatly appreciated. Thanks for your help, Jeff
DJayasuriya  (posted 2020-06-05 05:32:34.0)
Thank you for your inquiry. We will get in touch directly to resolve your issue.
Jean-Baptiste Le Bouquin  (posted 2020-06-02 10:37:43.76)
Hi, We have 6 of these controller. We need to talk to them from a remote control room, through the network. What would be the easiest way ? We have a local PC running next to the controller, and connected to the network. Thanks for you help, JB
DJayasuriya  (posted 2020-06-03 04:08:56.0)
Thank you for your inquiry. If you have a PC running with a network connection the easiest way would be to connect the have the 6 KDC's on a KCH601 hub (https://www.thorlabs.us/newgrouppage9.cfm?objectgroup_id=2424&pn=KCH601) and connect that to the PC. Then remote login to run the controllers. Hope this helps. Please get in touch with your local tech support team if you have any questions.
Youngjin Ahn  (posted 2020-05-11 00:55:48.893)
Hello, I am having 2 main issues with using KDC101 Brushed Motor Controller with kinesis software. Firstly, I made a VI from calling a .Net program from LabView. When I run the program, I get an Error 1172 explaining that .NET exception occurred in an external assembly. Secondly, my computer doesn't read KDC Brushed Motor Controller when I connect with the USB and shows an error saying "Brushed Motor Controller doesn't have a driver" Is there a way to download the driver? Best regards
DJayasuriya  (posted 2020-05-11 09:16:17.0)
Thank you for your query. I will get in touch directly to resolve your issue.
HYESANG KIM  (posted 2020-04-23 12:17:32.773)
KDC101 with Z825B. Wanted to control them with matlab, and it worked a bit successfully. I can use device.Home() and device.MoveTo(), but device.MoveToAt() or device.MoveContinuous() and several commands are not working with error : "Class 'Thorlabs.MotionControl.KCube.DCServoCLI.KCubeDCServo' does not have the appropriate method, property, field 'MoveToAt'.". How can I use them?
DJayasuriya  (posted 2020-04-24 09:29:41.0)
Response from Dinuka at Thorlabs: Thank you for your feedback, I will be in contact with you directly to help troubleshoot your programming issues.
Alexander Schultze  (posted 2020-03-30 12:22:50.81)
Hallo, ich war etwas überrascht bei meine TDC Controller, das die Aktualisierungsrate der Position über USB so langsam ist, etwa 5-10 Hz. Kann man da noch etwas machen? Als Abhilfe könnte ich mir den K-Cube mit Trigger vorstellen, allerdings wird nirgends spezifiziert mit welcher Timinggenauigkiet der Trigger ausgelöst wird.
DJayasuriya  (posted 2020-04-03 04:44:44.0)
Response from Dinuka at Thorlabs: Thank you for your feedback. Scheduling a trigger event only takes place after the completion of the trigger pulse. The scheduling itself would take place effectively immediately, within a few microseconds.   In general, the “firmware events” are handled by processor interrupts; these execute at processor speed (84 or 168 MHz depending on the product), so assuming an interrupt latency of 12 clock cycles and the following sequence of a few tens of instructions, even if we allow 100 processor clock cycles for the actual scheduling to take place, we are still only talking a few usec of latency. The whole triggering process is designed to be fast (low latency). Hope this helps. Please feel free to reach out to our local techsupport team if you have any questions.
Leon Islas  (posted 2020-01-24 23:30:41.98)
Hello I am using a KDC101 k-cube with a stepper motor and want to syncronize it with micro-manager software, but the APT driver doesn't seem to be able to support the new k-cube. Has something changed in APT software ? or are you not supporting micro-manager anymore? Can you suggest a solution? I have tried micro-manager 32 and 64 bit and it doesn't work with any. Thanks
cwright  (posted 2020-01-31 12:00:51.0)
Response from Charles at Thorlabs: Hello Leon, The KDC101 is designed to work with DC servo motors not stepper motors so this may be causing some issues for you. We also do not directly support micromanager as this is open source software which is frequently updated and compatibility can subsequently vary between different builds. We will reach out to you directly to see if we can help you get this controller working.
Martin Rothe  (posted 2019-09-24 08:07:06.64)
Hello, how does the trigger option of the KDC101 controller works? For example, can I somehow program it to wait for a TTL input (value, edge or whatever), so that it drive the mount to a certain position then. Afterwards wait for another TTL to drive to another position. Finally third TTL signal to move the mount back to the inital position and so on? Best regards
rmiron  (posted 2019-09-25 07:33:23.0)
Response from Radu at Thorlabs: Hello Martin. KDC101 has two triggering modes that are of interest for your application: IN - Move Relative and IN - Move Absolute. They do exactly what their names suggest: they initiate a move upon seeing a change from High to Low, or vice versa. Unfortunately, because the cube only has two trigger ports, it is possible to cycle between 3 positions or more only if these positions are equally spaced. If they are not equally spaced, you will have to employ one of Kinesis' APIs, or its serial commands protocol, in order to write a custom application.
Udai Singh  (posted 2019-07-16 12:31:10.367)
Hello, I am using the KDC101 cube with .NET in Labview. I have established a connection with the Kinesis interface using the .dll files. When I attempt to connect to the cube, I receive an error saying "No suitable devices found." When I use the Kinesis app, I can connect with the cube and use all the functions to power a rotational stage, but it fails to connect to my Labview VI. Can I please get some help with this?
AManickavasagam  (posted 2019-07-19 05:21:58.0)
Response from Arunthathi at Thorlabs: Thanks for reaching out to us. I suppose this is a USB connection error. I have contacted you directly with some troubleshooting steps.
ADRIEN MARCHANT  (posted 2019-07-03 05:00:18.343)
Hi, I'm using four KDC101 cubes since 2016 with KCH601 USB Controller Hub for Six K-Cubes and their display screens have completely faded. It is not a problem of brightness because I can see some pixels still works. Is this a problem of powering by the HUB controller? Do you know if it is possible to replace those four K-kubes. Thank you. Regards.
AManickavasagam  (posted 2019-07-05 06:40:06.0)
Response from Arunthathi at Thorlabs: Thanks for reaching out to us. We will follow up with you directly to resolve the issue and for further information.
Ronan Le Harzic  (posted 2019-05-27 10:52:21.723)
Hello, I would like to control a relative old PRM1/MZ8 using a TDC001 (I have purchased it for more than 10 years old), S/N 83812455 on windows 10, 64 bits. I have downloaded in installed the different versions of APT (3.21.4 or 3.21.3) as well as Kinesis Software (1.14.17 or 1.14.16) you provide online, but it does not work. need for an older version of APT or Kinesis Software ? Regards
rmiron  (posted 2019-05-29 04:26:52.0)
Response from Radu at Thorlabs: The latest versions of Kinesis & APT are still able to correctly command TDC001 cubes. An older version should not be required. I will contact you directly in order to provide troubleshooting instructions.
Ghaith Nasleh  (posted 2019-04-08 03:12:02.613)
Hello, I connected the GUI Kinesis for KDC101 with LabVIEW through .NET und .dll files. After that, the orignal GUI Kinesis stopped working und it gives false Information About the Position of the Angle. In Labview, the GUI still works, but thereis a small variation between the current Angle and the Angle in the labview at GUI. I can't determine and fix the Bug.Can you please help me?
rmiron  (posted 2019-04-10 11:39:35.0)
Response from Radu at Thorlabs: Hello Ghaith. We are sorry to hear that you are encountering such issues. I will contact you directly in order to gather more information and to attempt troubleshooting your software.
chetansr001  (posted 2019-03-08 03:38:09.037)
Hi, I'm trying to use the .NET API to program the KDC101 controller. When I create the device, SystemNullReferenceException is thrown. The following is the line I use exactly from examples. IGenericCoreDeviceCLI device = DeviceFactory.CreateDevice(serialNo); DeviceFactory.CreateDevice() is returning NULL. I did KCubeDCServo.RegisterDevice() before calling the CreateDevice(). Can somebody help? Can somebody help
user  (posted 2019-03-13 10:14:21.0)
Response from Radu at Thorlabs: Due to recent changes to our .NET API, you will have to copy over Thorlabs.MotionControl.PrivateInternal.dll from the installation path of Kinesis to Includes/DLLs/x64 (or x86) in the Kinesis Example Projects folder. That should get rid of the problem. If that is not the case, please contact your local technical support team for further assistance. We will shortly amend the zip folder containing the attachments accordingly.
e.chehura  (posted 2019-02-12 15:43:14.27)
The KDC101 is a very useful controller. However, the KDC101 that I recently bought from Thorlabs, with serial number 27500693, 2016 no longer displays properly. The LCD display does not work anymore, which makes the KDC difficult to use. Is there a way that I can replace the KDC101 display panel with a new one?
rmiron  (posted 2019-02-14 05:48:48.0)
Response from Radu at Thorlabs. Thank you for contacting us! We recently switched from an OLED display to an LCD display on all our K-Cubes. I will contact you to directly to troubleshoot and to discuss further options.
mmueller  (posted 2019-01-29 10:23:06.603)
hi, does the controller work with the obsolet PRM1-Z7 rotation stage? thank you
bhallewell  (posted 2019-02-13 09:57:40.0)
Response from Ben at Thorlabs: Yes it does. To operate the KDC101 in Kinesis with PRM1-Z7, you will need to select the stage type within the KDC101 as "Unknown" as this legacy stage does not hold an ID Resistor. With the device connected to your PC & powered, in Kinesis you will be able to select PRM1-Z7 from the Select Stage drop-down providing the "Show Legacy Stages" is ticked.
mikael.malmstrom  (posted 2018-10-11 07:12:50.487)
Is it possible to get the (relative) position in the format of a voltage? so I easily can feed it into my DAQ while measuring other variables? either from KDC101 or TDC001
rmiron  (posted 2018-10-15 06:34:57.0)
Response from Radu at Thorlabs: Hello, Mikael. Unfortunately, our controllers do not have the hardware capability to allow for this. One can, however, keep track of relative movements with the aid of 5V TTL signals output by KDC101 via its TRIG ports. The next generation of DC servo controllers might have this feature thanks to your feedback. I will relay it internally.
user  (posted 2018-10-02 16:51:23.533)
Hello, my lab has just purchased a KDC101 motor controller and are trying to use it with a Z825B motor. However, the computer we are using will not recognize the motor controller. We are using windows 10 on our computer and in the devices window it only refers to the controller as "Unknown USB Device (Device Descriptor Request Failied)". I was able to get an older machine running windows 7 to recognize the motor controller by simply plugging it in but our new computer with windows 10 refuses to recognize it. Is there anywhere that I could download the USB drivers to make the device work?
AManickavasagam  (posted 2018-10-03 03:59:59.0)
Response from Arunthathi at Thorlabs: Thanks for your query. This could be due to the incompatibility of the firmware version on the controller and Kinesis version installed. Please could you update the firmware on the controller, you could find it here: C:\ProgramFiles\Thorlabs\Kinesis\FirmwareUpdateUtility Once the firmware is updated please update Kinesis on your Windows 7 computer as well, if you intend to use this controller with that computer. If you still have any issue please contact us directly and we will be happy to assist.
a.opheij  (posted 2018-09-24 13:18:01.26)
Are the KDC101 controllers compatible with the old Z612B and Z712B DC Servo Motor Actuators? (For the Z612B I realize that an adapter for the connector would be required, so I mean if it is compatible using the appropriate rewiring)
bhallewell  (posted 2018-10-24 03:49:54.0)
Response from Ben at Thorlabs: The Z612B actuator is compatible with the KDC101 controller & is also a selectable device within our Kinesis Motion Control Software & APT legacy Motion Control Software. The only Z7 stage currently supported by KDC101 is CR1-Z7. Other Z7 actuators would not be recognised by the KDC101. As a result, you may find that that the conversion factors for position, velocity and acceleration are incorrect, providing you with incorrect trajectory feedback in software or on the LCD controller screen.
tkopmj  (posted 2018-08-12 12:27:40.75)
How can I send serial commands directly from MATLAB to KDC101 and control it? Could I have some revelant documentations? thanks!
rmiron  (posted 2018-08-15 06:21:51.0)
Response from Radu at Thorlabs: This page from Mathworks (link below) shows how you can send the serial commands. Before you attempt doing so, make sure you set the "APT USB Device" in Device Manager as a virtual communications port and you set the COM port as described in our communications protocol. I will contact you directly in case further assistance is required. Link: https://uk.mathworks.com/help/matlab/ref/serial.fprintf.html
srh18  (posted 2018-08-09 23:48:44.18)
Hello, I have a question KDC101 controller could be ready to run by using matlab,how I can control it in matlab? thanks!
rmiron  (posted 2018-08-10 11:21:06.0)
Response from Radu at Thorlabs: There are three possible paths for controlling KDC101 in MATLAB. One would be to use the ActiveX controls that come with APT, our legacy software. We have a short guide on how to get started. The second option would be to bypass our software and send serial commands directly from MATLAB to the device. Thirdly, our .NET API for Kinesis is fully compatible with MATLAB, but we don't have any guides or examples that can help you get started. I will contact you directly in order to send you all of the relevant documentation along with the guide for controlling the ActiveX controls from MATLAB.
shenwb  (posted 2018-08-02 18:43:06.853)
Hi, I am going to build up a 2D translation stage using MTS50. Is it possible to control this system using one APT in LabView? Thank you.
AManickavasagam  (posted 2018-08-03 11:50:39.0)
Response from Arunthathi at Thorlabs: Thanks for your query. Yes, it is possible to control the MTS using APT in LabView. I have contacted you directly with guide and help files.
luc.duempelmann  (posted 2018-07-24 17:20:48.837)
I am using a PRM1/MZ8 with the KDC101 and also with the old version TDC001. In the APT and Kinesis software, I can let it move to home position, and also to a certain position (by putting into the number), but jogging does not work. The light "active" flashes, so it should move, but nothing happens. I tried to adapt jog (5, 20, 40deg) and also other jog parameters. Also if I use the KDC101, moving it by using the wheel does not work, while it works for the TDC001 with the wheel. Can anyone help me with this problem. Best, Luc
AManickavasagam  (posted 2018-07-26 10:56:34.0)
Response from Arunthathi at Thorlabs: Thanks for your query. I have contacted you directly to troubleshoot and resolve this issue for you.
sethurajkr  (posted 2018-03-19 22:39:44.64)
While continuously running the KDC 101, using Labview, it stops working, showing an error as "overload". I am not getting any clue of why it is and hence could able to fix this problem. Can anyone suggest me some solutions? Regards, Sethuraj
bhallewell  (posted 2018-03-22 10:19:02.0)
Response from Ben at Thorlabs: Thank you for your feedback. I will contact you shortly to troubleshoot the problem & discuss your application. If this is a Motor Overcurrent error, this is typically associated with a large resistive force such as a heavy load or collision with something blocking travel of your connected stage.
marco.cammarata  (posted 2018-03-14 21:58:20.893)
Is it possible to have a pure-python driver ? I need to use it on linux. I have seen thorpy on github. It seems very nice but I refrain from buying a product for which I have to rely on the 3rd party very-altruistic effort. I could not find a similar library on this website. Did I miss it ? Thanks, marco
bhallewell  (posted 2018-03-16 08:50:43.0)
Response from Ben at Thorlabs: Thank you for your feedback. You can find our Kinesis support available in the following link which includes support for creating C# programmes through use of the Windows .NET framework as well as LabVIEW VIs. https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=10285 I'll contact you directly to see how I can assist you further.
sethurajkr  (posted 2018-03-13 18:41:53.85)
I am trying to program it by LabVIEW. I have gone through the document "GuideToLabVIEWandAPT.pdf" that provided on your website. This document often referring to another document, named "APT programming help file". But I could not find any such file. Can you provide the link to this file or can you please send this file to me. regards, SETHURAJ
bhallewell  (posted 2018-03-22 10:14:13.0)
Response from Ben at Thorlabs: This file is the APT Server help file which can be found in the APT software folder. This contains a full list of available APT methods sorted under each Motion Control device category.
alvin.garcia10  (posted 2017-08-29 18:07:21.213)
Hello, I am trying to insert a .NET control into LabVIEW by following the directions on the Kinesis-Labview.pdf file posted on your site. However, LabVIEW informs me that, "An error occurred trying to load the assembly." I have tried deleting all of the files on my computer related to Thorlabs, then reinstalling everything again. However, this cannot solve the issue. I am unsure on how to proceed. Please help.
bhallewell  (posted 2017-09-18 08:52:58.0)
Response from Ben at Thorlabs: I would recommend first ensuring that you have downloaded & installed the correct version of Kinesis which is compatible with your version of LabVIEW. e.g when using 64-bit LabVIEW, you will need to install 64-bit Kinesis. I would also recommend ensuring that you have copied over the necesary .dlls from C:\Program Files\Thorlabs\Kinesis into your project folder & saving your VI within this same project folder. Kinesis Software Location.... https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control
viteo  (posted 2017-08-08 12:16:13.74)
Trying to configure trigger synchronization on kdc101 via Kinesis C# API. Trying to setup port mode in TrigOUT_AtPositionBoth (every 1mm fwd and rev): getting ConfigParams and ParamsParams, editing them and setting back. I put the same values as in Kinesis application, but the trigger is silent. On the other hand TrigOUT_InMotion mode is working properly.
bwood  (posted 2017-08-10 10:56:53.0)
Response from Ben at Thorlabs: Thank you for your feedback. The best way to answer this question is for you to send your code to us, so we can review it. I will contact you directly to get your code, and help troubleshoot your program.
rxguo  (posted 2017-05-26 11:41:49.813)
Dear Sir, After I update my APT software recently, "APT user have stopped working" always happen when I run the controller. Please let me know how to solve this issue. Regards Ruixiang CDPT, NTU
bhallewell  (posted 2017-05-26 09:40:41.0)
Response from Ben at Thorlabs: I will contact you directly to troubleshoot this with you.
user  (posted 2017-04-06 16:56:45.693)
For the Kinesis software, there is a typo in the source code : In Thorlabs.MotionControl.KCube.DCServo.h (and also in Thorlabs.MotionControl.TCube.DCServo.h) line 632, _cdecl must be changed to __cdecl I don't know where to report it, so I am writing it here. Hopefully this message gets delivered to the right person.
bhallewell  (posted 2017-04-21 11:18:50.0)
Response from Ben at Thorlabs: Thank you for your comments. We have reviewed & changed the text in the necessary locations. This should be fixed in the available download.
niloycrj  (posted 2017-01-31 06:33:27.153)
I am using KDC101(bought few months ago) to control a motorized rotation stage. Initially it was being controlled using Kinesis software and was working fine. After installing APT software package, Thorlabs Firmware update utility was opened and "Flash Firmware" option was clicked. Following this , the the panel in the KDC101 unit turned off and during that time , by mistake the "Thorlabs Firmware Update Utility" application was closed forcefully. After this the Unit NEVER SWITCHES ON even after disconnection it from the PC. Is there any way to fix this? Or what at best can be done? And also suggest the best way to control KDC101 using matlab inside a matlab code.
pbui  (posted 2017-01-31 09:26:17.0)
Hello, as per the manual, interrupting the firmware update process can result in permanent damage to the device. We will contact you to discuss the options.
kke  (posted 2016-12-29 16:06:32.167)
I am using KDC101 with APT 3.16.0 to control Z825B in Windows 7. In APT, we can set the trigger mode, but I cannot find help document about this. If I need to use KDC101 to send a pulse once Z825 move 0.01 mm, could you please tell me how can I set the Settings? Thanks and Regards.
bhallewell  (posted 2016-12-29 03:21:54.0)
Response from Ben at Thorlabs: Thank you for your feedback here. I'd firstly advise updating your software package to V3.19.0 as we have adjusted the trigger pulse lower limit to respond to 100us pulse width signals. You can find details of the Trigger types on page 57-60 in the KDC101 product manual found in the link below. These can be adjusted in the APTUser Settings tab. https://www.thorlabs.com/drawings/3c6bf44e12a9edbb-E0C3553A-5056-0103-795596DB74DCC21E/KDC101-KDC101ManualforAPT.pdf We have available 'Trig Out for Abs. Move' whereby an absolute move can be set as 0.01mm & after the move is made a logic pulse is output - same applying for Rel. Move.
hallvard.angelskar  (posted 2016-11-28 08:04:21.95)
I am using the KDC101 with a CR1/M-Z7 rotational stage. I have set up the driver in Labview using the .NET Kinesis software. It runs fine, but the correct stage/actuator is not detected, instead it detects a linear translator stage. I am not able to change this in the settings within the Labview program. I have updated the KDC101 firmware but that did not help. Any help would be welcome, thank you.
bhallewell  (posted 2016-11-30 11:34:43.0)
Response from Ben at Thorlabs: Thank you for your question. Unlike our other motion control devices the CR1-Z7 does not hold an IDENT resistor to automatically deduce the stage type connected to the controller. The stage type selection can be accessed by pressing the MENU button on the top of the cube & manually selecting the stage type. I will contact you directly to review a method which can be used through your .NET app.
ahoj551  (posted 2016-10-21 05:30:33.977)
This product is very good, but I need documentation or datasheet to Labview method and property for KCubeDCservo.
msoulby  (posted 2016-10-24 03:23:16.0)
Response from Mike at Thorlabs: We will contact directly you will further details on how to use the controller in LabView.
yyh3190  (posted 2016-10-06 17:00:21.327)
I have one question. KDC101 controller could be ready to run by using matlab?
msoulby  (posted 2016-10-10 04:24:12.0)
Response from Mike at Thorlabs: The KDC101 controller can be run with two different software options. The first option is the older APT software which uses and ActiveX client/server model, it is possible to embed the ActiveX controls into Matlab in order to operate the controller. I have contacted you directly with a short introductory guide for using APT with Matlab. The second option is our newer Kinesis software, this uses .NET assemblies which, like the ActiveX objects can also be added to any .NET compatible language in order to operate our motion control hardware.
131120108  (posted 2016-08-02 20:48:09.9)
I have simple problem to ask. How can I get my 8 digit APT motor controller serial number. For example, what is the serial number of KDC101? Thank you very much.
bwood  (posted 2016-08-02 08:54:03.0)
Response from Ben at Thorlabs: Thank you for your feedback. There are several ways to find the serial number of your device. Firstly, it should be physically printed just above the motor control connector. You can also find it on the GUI of both Kinesis and APT. Finally, can use the command "SerialNo", if you are using Kinesis' .Net module. Please contact your local technical support office if you require further support with any of these techniques.
llewins  (posted 2016-06-24 14:48:32.557)
Hi, I have the same issue as vishnuk... When I try to connect the CR1/Z7 stage to the KDC101 it reads 'Error: Stage Unknown'. How can I fix this?
msoulby  (posted 2016-06-27 05:16:50.0)
We released a firmware update to correct this problem. To ensure you have the latest firmware you will first need to download the most up to date version of the APT software. This can be found at the following link https://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control&viewtab=1 once installed connected the KDC101 to your computer and then run the APT firmware utility. This program will allow you to update the firmware. Once this is complete you should now be able to connect your KDC101 and CR1/M-Z7 stage to the cube.
bmckissick  (posted 2016-06-08 10:53:09.977)
I am currently developing an application which is interfacing to a CR1-Z7 motorized stage via a KDC101 controller, using the 64 bit version of the Kinesis driver (I am linking to Thorlabs.MotionControl.KCube.DCServo.dll). I have code working to open the motor, start/stop polling, set/get position, and read status bits, but I don’t see how to set/get the GPIO (we have Trigger 1 and Trigger 2 configured to be general purpose input and output, respectively). In Thorlabs.MotionControl.KCube.DCServo.h, I see some reference in the trigger configuration sections (case 10 in struct KMOT_TriggerConfig: "10Trigger Output - General purpose output (set using MOT_SET_DIGOUTPUTS)" But I don’t see any other reference to MOT_SET_DIGOUTPUTS (other than trigger configuration blocks), and I don’t see any reference at all to reading GP inputs. Can you let me know how I can set GP outputs and read GP inputs? Thanks!
besembeson  (posted 2016-06-09 09:01:45.0)
Response from Bweh at Thorlabs USA: We have contacted you directly to address this.
vishnuk  (posted 2016-03-17 23:00:51.633)
Hi. While trying to connect CR1Z7 stage with KDC101 controller, the controller display shows "Error : Unknown Stage". Do you have any advice on how to use CR1Z7 with KDC101? Thanks and Regards, Vishnu
besembeson  (posted 2016-03-18 09:50:21.0)
Response from Bweh at Thorlabs USA: I will contact you directly to fix this please.
bhallewell  (posted 2016-03-18 11:54:57.0)
Response from Ben at Thorlabs: Thank you for posting your feedback here & we apologise for the problem that you have faced in using our newly released KDC101 with the CR1-Z7 stage. We have a firmware update which is to be released in our forthcoming APT/Kinesis releases which will rectify this. I will contact you directly to get this up & running.
adam.l.collins  (posted 2016-03-07 14:39:17.43)
Do you have a glossary of terms for the ActiveX controls for throlabs stages in labview? For example, the "SetAbsMovePos" Method under the MG17Motor invoke node presumably sets an absolute move position, but there are other input and output properties (for the given example, IchanID and fAbsPos) whose purpose is not obvious. A list of definitions would be very helpful. Thank you
msoulby  (posted 2016-03-08 08:23:14.0)
Response from Mike at Thorlabs: Yes we do have a list which can be found in the APT server help files. To access these help files please go to the start menu location for APT (All Programs>>Thorlabs>>APT>>Help>>APT Server Help). Once in the APT server help file you should expand the section called Programming Guide and then the sub section called Motor Control. In here there is a comprehensive list of all the ActiveX Properties, Events and Methods with full details of all the parameters and enumerations permitted for each.
simon.vassant  (posted 2015-09-16 16:58:06.58)
Hi, We already acquired the TDC001 servo controller that we use with a PRM1Z8 motorized rotation. So far we use it on a separate windows computer. Now we want to be able to control it from a linux computer using Jython (a version of Python). We have no choice there, as our main device (an Atomic Force Microscope) only runs on Linux/Jython. Do you have any advice on how to do this ? Do you know anyone who would have done this already ? With best regards Simon
bhallewell  (posted 2015-09-18 03:13:09.0)
Response from Ben at Thorlabs: Thank you for your feedback here. Unfortunately we do not provide direct support for Jython however I will contact you directly with our comms protocol & available software development support content.
elevine1480  (posted 2015-09-14 16:57:58.58)
Dear Thorlabs, I bought a TDC001 controller with PRM1/MZ8 motor. It worked perfectly for a week, then my PC went to sleep while connected, and since then I have had problems with usb connectivity. The connection is intermittent and the device disappears and reappears in device manager. While the device is connected, I can control it with the APT user software, then if it disconnects and I jog the motor with the software, my mouse stops working. I have tried flashing the firmware, rebooting, unplugging all other usb devices, disabling other USB ports, and disabling usb selective suspend. I am using the latest software from 9/14/15. This appears to be a bug with APT software related to USB connectivity. Can you please suggest steps to troubleshoot?
bwood  (posted 2015-09-16 08:02:19.0)
Response from Ben at Thorlabs: I am sorry to hear about this issue. I do not believe that computers going to sleep has affected our controllers in the past. I believe the best first step to test the TDC001 will be to test the device with a second computer. I will be contacting you directly to help you further troubleshoot the device and to resolve this problem.
matthias.wolf  (posted 2015-06-29 13:47:43.48)
I currently use two TDC001s, one with a linear stage, one with a rotary stage. Both are connected through a powered USB-Hub. I'm driving them through Matlab, with the ActiveX extension. About once a day, rather randomly, I get the following error: Type [code]: Error; [Code = 10055] Internal Code: 16390910 Description: USB Comms Error Notes: A USB communications error has occurred. Extra Info: FT_IO_ERROR. A USB communication problem has occurred with this controller. Communication to this controller is suspended. The software should be closed and the controller powered off and on to try re-establishing USB communication. As the error appears randomly, it's rather hard to debug. I did what is suggested in the error, but after a while figured out, that just closing the activeX window and reopening will make the component work again as well. Are there any suggestions what could cause this error? And, as the window pops up and basically stops my process, is there a way to retrieve the error in Matlab from the ActiveX directly, not displaying the message? My program never realizes the error.
msoulby  (posted 2015-06-30 09:31:30.0)
Response from Mike at Thorlabs: This error indicates that USB communication has somehow been interrupted with the device. There are a number of possible causes. The first thing to check would be to ensure that the sleep and hibernation settings on your computer are disabled, if the computer sleeps or hibernates this can interrupt the USB ports, the best way to avoid this is to disable this feature. It is also worth updating the firmware on your device, to do this you will need to open the APT firmware utility to reprogram the connected device, certain hardware bug fixes have been implemented over time to correct certain issues, including USB connectivity. Finally it could also mean that there is a fault with the FTDI USB chip on the device, this typically manifests itself as a randomly occurring error (similar to what you are seeing) if the problem persists after checking the above then unfortunately we would need to get the controller back for evaluation and repair. To disable to error pop-ups there is an ActiveX method called “EnableEventDlg” if the bEnable parameter is set to FALSE then the event dialog will be disabled. Whilst disabling the error pop ups can be handy it does hide any error conditions that may be present on the APT server or controller: therefore we would advise caution when implementing this particular method.
yodev11  (posted 2015-06-17 11:49:50.783)
I want to use the TDC001 with a C++ code but I find anything about library that I have to use to connect my code to the TDC001. Is it possible to have the library please. Kind regards Yoann
annemarie.haughey  (posted 2015-06-12 05:21:26.02)
I have been working with the TDC001 for a couple of days now, trying to get it working with labview. The usb connection with the device is poor as when I started using it, the hardware would only be detected intermittently, but it was working. Now I am getting the following error every time I try to open the APT Config (An COM related error has occurred. Restart the program.) and when I run the labview I get the same error followed by it telling me that it cannot see the hardware. Any suggestions?
bagresci  (posted 2015-05-22 23:15:14.32)
I programed a application working in linux with TDC001 using FTDI following "Communications protocol". It seems working well except encoding reading. When I command moving in velocity first, a position is read correctly. But if I change the direction, or I input a stop command, the values read are come out erroneously. Maybe there are right sequences in-between moving, stopping, and reading.
msoulby  (posted 2015-05-26 09:36:17.0)
Response from Mike at Thorlabs: We will contact you directly to help troubleshoot your problem.
alain.miffre  (posted 2015-04-07 16:01:51.403)
Dear Thorlabs, I bought a TDC001 controller with PRM1/MZ8 motor. It worked perfectly. I recently bought another one (TDC001 with PRM1Z8 (not metric this time)). Unfortunately, using the APT config, only in simulation mode the second motor is recognized : when using Discover Hardware, only the oldest motor is recognized. Could you please help me as quickly as possible ?! Regards,
bwood  (posted 2015-04-08 11:23:53.0)
Response from Ben at Thorlabs: Thank you for your feedback. I'm sorry to hear about your problems using our devices. It appears that you are having association issues with our APT software, which we should be able to resolve. However, we will require some further details on your setup to identify the exact causes and I will contact you directly to discuss the issue further.
david.panak  (posted 2015-03-17 18:34:04.403)
I am designing a control system that would have 24 T-Cube devices (TDC001). I need all controllers to move 'simultaneously'. Is the control system for the T-Cube devices compatible with hyper-threading and parallel processing? Do you have code examples? What kind of latency would I expect? How many processor cores should I look for in a control computer? Thanks David Panak L-3 Greenville
msoulby  (posted 2015-03-31 07:57:45.0)
Response from Mike at Thorlabs: The APT software used with our TDC001 is a single threaded application. The motors will move one after the other, even if they are all told to move at once. The latency will be about ~10ms between each motor beginning its move, for most application this is acceptable but for time critical applications or with applications using a large number of stages than this may become noticeable. Unfortunately we do not have a multi-threaded APT version at this time.
tomasz.bogusiak  (posted 2015-03-13 15:26:10.877)
I'm trying to synchronize the movement of two seperate stepper motors which are controlled by two seperate TDC001. My aim is to obtain a continuous movement in two dimensions instead of point-by-point. I'd like to know if it's possible at all at the software level. I tried LabView and asked for help at the NI forum, but I was told that it is impossible to synchronize the execution of the motors. Could you please provide me some suggestions how it can be done?
rcapehorn  (posted 2015-03-20 10:57:18.0)
Response from Robert at Thorlabs: Our stepper motors were designed to be driven by our TST and BSC controller ranges. The TDC001 is explicitly compatible with our range of brushed servo motors, for example our Z7 & Z8 range. Although our current software is unable to perform perfectly synchronised events, due to its single threaded design, the use of LabVIEW should still permit near synchronised movement, <20µs. By setting both events to start same time and selecting bWait to false, they should both start within a few µs of each. Unless you are performing a very time sensitive application, you should not even notice the delay.
rcapehorn  (posted 2015-03-20 11:43:26.0)
Response from Robert at Thorlabs: I would just like to correct myself from the previous response. The delay between the two events would be <20ms, rather than µs. I will contact you directly to discussed your second question, in regards to synchronised use of 24 T-Cubes.
rereao.hahe  (posted 2015-01-28 05:03:59.603)
Hello Thorlabs, We use LabVIEW to control TDC001. It was working properly on WinXP LabVIEW 7 configuration and we are migrating to Windows 7 32 bit/LabVIEW 2011. While the active X motor controller is working via LabVIEW and via APT user, we encounter issues when trying to automize the process by using "MG17 Motor" (SetAbsMovePos and MoveAbsolute methods). In fact when asked to do a X translation value, TDC001 will only do 75% of it, without displaying any error messages. We are working on the 3.1.0 version of APT Controller since the 3.4.0 didn't install properly (error window displays "1:" at the beginning of the installation). Other methods such as GetPosition aren't working properly either, with any error message. Can you help us ? Rereao
msoulby  (posted 2015-02-02 08:30:56.0)
Response from Mike at Thorlabs: If the stage is only moving 75% of the commanded move distance then one likely explanation is that the pitch setting is incorrect. This can be caused by not setting up the stage correctly in APT Config, please could you check that you have the correct stage association for the stage/actuator that you are using in APT Config. If the stage is correct then this will ensure that the correct settings are entered for the stage you are using including the pitch setting. We have contacted you directly to assist you further with this issue. The “1:” error can be resolved by first uninstalling your existing versions of APT, and manually removing all associated APT files. Then APT 3.4.0 should install correctly, please ensure that the program is ran as an administrator and the installation files should be save to your local machine before installation.
iman.vakili  (posted 2014-11-27 11:39:25.4)
Hello Thorlabs, I am trying to use a TDC001 connected to a CR1/M-Z7 rotation stage. APTFirmware detects the TDC001 motor controller but not the CR1/M-Z7. Could you please provide me some suggestions?
bhallewell  (posted 2014-12-02 05:07:09.0)
Response from Ben at Thorlabs: Thank you for your feedback Iman. The APTFirmware does not reveal stages connected to controllers. This utility is simply designed to detect the firmware version installed on the TDC001 & provides the function to install firmware updates onto your TDC001. By connecting your CR1/M-Z7 to your TDC001 & opening APTUser, you will be able to see a control panel citing your CR1/M-Z7 as a connected device.
xiaochuan.xu  (posted 2014-09-16 01:06:44.013)
Hello Thorlabs, we are trying to use APT to control TDC001. APT firmwave can detect the controller, but both APT config and user cannot. We uses 64-bit windows 8 and tried both 32bit and 64 bit APT for 64bit system. Could you kindly suggest what we could do? Thank you!
bhallewell  (posted 2014-09-16 09:24:10.0)
Response from Ben at Thorlabs: If the device is detected within APTFirmware then we would expect the device to be functioning as normal. At this point it would be worth checking if you are employing the TDC001 with an actuator/stage connected at this time. I will contact you directly to troubleshoot this with you.
federico.barabas  (posted 2014-08-15 17:14:19.303)
Hello Thorlabs! Is there any plan on giving python support/wrappers for these servo controller in the near future? Thanks!
bhallewell  (posted 2014-08-19 11:21:11.0)
Response from Ben at Thorlabs: Thank you for your software enquiry. We currently provide a full set of set of LabVIEW VI's and Visual Basic source code examples. We also hold further tutorial resources for these platforms as well as Visual C++ within the ‘Support’ tab through the ‘APT Software’ link on this webpage. At this time we do not provide support documentation for Python.
user  (posted 2014-06-04 11:22:18.993)
I recently purchased a translation stage with a Z812B motor driven with a TDC001 controller (serial number 83848320). I am trying to program it with Matlab using the Thorlabs-provided APT ActiveX toolbox. To check if the motor is moving, I call the GetStatusBits_Bits method and inspect the 5th and 6th bits of the returned binary number. First I find that the bit definitions are different from what I found described on Thorlabs online help file by Wei Wang which says the following: "The 5th bit shows if the motor shaft is moving clockwise (1- moving, 0 -stationary ), and the 6th bit shows if the motor shaft is moving counterclockwise (1- moving, 0 -stationary )." I find that when the motor is stationary the 5th and 6th bits are always 1. Furthermore, I find that sometimes when I call GetStatusBits_Bits, it returns a number showing that the stage is moving when, in fact, it is stationary. When I use the Thorlabs GUI, I have no such problem. When the stage is stationary the Thorlabs GUI shows it is stationary, but calling GetStatusBits_Bits shows it is moving. Has the GetStatusBits_Bits wrapper function been changed recently because I don't see this problem with older versions of motor+controller. Also please advice me how to solve this problem.
msoulby  (posted 2014-06-09 10:47:45.0)
Response from Mike at Thorlabs: I ran some tests on the LLGetStatusBits and GetStatusBit_Bits methods and both operated correctly. That is, bits both 5 and 6 return 0 when the motor is not moving and during movement clockwise bit 5 returns 1 and during anticlockwise movement bit 6 returns 1, as expected. This is on the latest version of the software that is available to download from our website. If you can provide an email address perhaps we can then contact you directly to troubleshoot this further, also it would be useful to see your APT event log and you are welcome to send this us at techsupport.uk@thorlabs.com and we will be happy to review this log to identify any potential issues.
simon.poliquin.1  (posted 2014-06-03 00:01:52.07)
I'm working on 64bit window 7 and on a 32bit Labview. When i'm installing the APT 64 bit (WOW emulated version). The following message appear Error 1904.Module C:\Program File\Thorlabs\APT\APTServer\MG17Comms.dll failed to register. HRESULT-2147220473. Contact you support personnel. I can't change my computer or my 32bitlabview version. The 64 bit or 32 bit version of your APT software won't work as well on my computer. Do you have any solution?
msoulby  (posted 2014-06-09 04:56:00.0)
Response from Mike at Thorlabs: We are aware of the current issues with our APT software and are currently working on a solution to correct this, In the meantime we have put back up the earlier version which will work on 64 bit SO and 32bit client applications, this can be downloaded from here http://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=APT if you select the ‘Archive’ tab you can then download version 2.23.0. it would be worth uninstalling any previous installations of APT before you install this. Please accept our apologies for any inconvenience caused whilst we correct this issue.
talshawi  (posted 2014-05-25 17:28:19.39)
Same problem as the last customer "APT v3.3 doesn't work with Labview - Labview can not find ActiveX controller."
msoulby  (posted 2014-05-27 09:37:37.0)
We updated the software on our website last week which should have corrected some of the recent bug we have been seeing and you can now download one of three versions, depending on your operating system and also what application environment you are using. 1) ATP 32 bit - for 32 bit operating systems and 32bit client applications (labview 32bit, Matlab 32bit, etc..) http://www.thorlabs.de/software/apt/Application/X86/Setup.exe 2) APT 64 bit (WOW emulated version) - for 64bit operating systems that are running 32bit client apps (labview 32bit, Matlab 32bit, etc..) http://www.thorlabs.de/software/APT/Archive/X64/Setup.exe 3) FULL 64 bit - for 64bit operating systems that are running 64bit client apps (labview 64bit, Matlab 64bit, etc..) http://www.thorlabs.de/software/apt/Application/X64/Setup.exe I have also contacted you directly with these details.
kiwa  (posted 2014-05-07 12:47:36.677)
The next sofware APT v3.3 doesn't work with Labview - Labview can not find ActiveX controler. Tried three different computers, and three versions of Labview (9.0, 2011, and 2013). When re installed to old software (APT v2.3) - everything works smoothly
msoulby  (posted 2014-05-09 04:56:27.0)
Response from Mike at Thorlabs: I have contacted you directly to assist you in installing this software.
gar  (posted 2014-02-14 18:59:41.553)
We have a TDC001 controller with APT software running on winxp, the motor controller pane is not coming up on the APTuser software when launched. It is configured for automatic detection, and I have tried re-installing and re-booting as well as re-istalling the USB driver. 'puter says the driver is installed and functioning correctly. Something is not right, we use these in conjunction with Matlab, so I am wondering if Matlab changed something possibly. Your help with this would be greatly appreciated. Thanks, Gar Fisher University of British Columbia-Physics
msoulby  (posted 2014-02-18 04:04:49.0)
Response from Mike at Thorlabs: There are a couple of things that you should be able to check quickly in order to check connectivity. Firstly I would check in the APT configuration utility that the simulator mode is disabled, if this is enabled then the system will not look for any connected devices and potentially give you the black screen. If simulator mode is disabled and correct stage association set in APT configuration then the GUI should appear in APT user when run (please ensure to close APT config first). If nothing is displayed then please look in the VIEW menu then GRAPHICAL PANELS>>MOTOR any connected motors without a GUI will be listed here. If this fails then you will need to check connectivity in APT firmware. To do this open the APT firmware utility and click discover hardware; correctly connected devices will then be listed. I have also contacted you directly with a short troubleshooting guide and contact details if you encounter any further problems.
jordan.miles  (posted 2014-01-16 10:53:54.183)
Hi, I have just purchased the T-Cube DC Servo Motor Controller and the motorized Precision Rotation Mount. I am trying to control the rotation stage using lab view. I found the guide to labview and apt pdf which was great for getting started. I now have the activex control in lab view working but I'd like to specify some user input values to change the rotation by and can't seem to find any documentation or example programs like this. Could you point me in the right direction please?
msoulby  (posted 2014-01-16 10:59:22.0)
Response from Mike at Thorlabs: The programming guide for our motor controllers can be found in the APT server help file; this is located in the thorlabs start menu folder. This contains a detailed list of all the methods, events and properties that can be used with our controller, plus details of all the enumeration values that can be used for each command. There is also a developer package that can be downloaded from our website at the following address http://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=APT if you look under the ‘Support’ tab you will be able to access the download page for this developer support package.
jacksonhalley  (posted 2014-01-14 04:46:17.54)
Hello, We have a TDC001 T-Cube DC Servo Motor Controller and a motorized actuator z812B in possesion. We will use this with other equipment of thorlab to set up a test. Therefore we need too use labview to combine the motor with another hardware (not from thorlab). Currently i use "guidetolabviewandapt" pdf document to get the motor too work in labview. And i use mgmmotor control from activex in labview. Are there any other vi's examples, documentation or activex controls specific for this product available that i can use? And where can i find the apt programming guide, as stated in the "guidetolabviewandapt" pdf document. Any answer is welcome. With kind regards, J. Halley Sonion BV
msoulby  (posted 2014-01-14 10:24:45.0)
Response from Mike at Thorlabs: To access the programming guide please go to the following start menu location. Start Menu>>All Programs>>Thorlabs>> APT>>Help>>APT Server help. Once the windows help file opens in order to access the motor control guide please expand the following categories: Programming Guide>>Motor Control>>Motor Control Methods. In here you will find a comprehensive list of available commands that can be used with our motor controllers. I have also contacted you directly with links to our software development package which contains some example .VIs that you are free to use for your application.
izdebski.pawell  (posted 2014-01-04 13:51:15.17)
Hi ! I'm using CR1/M-7 rotating stages with TDC001 contoler , and I'm trying write a simple application in labview to control my device. I have found 'USBRawControl.vi' from NI website, but I have an issue with USB communication. Does anyone here,have written a similar labview vi's to control a stages using USB communications protocols? Regards, Paul.
msoulby  (posted 2014-01-06 05:28:18.0)
Response from Mike at Thorlabs: I have contacted you directly with detailed instructions on how to setup one of our TDC001 controllers in labview.
jvdw  (posted 2013-11-19 16:42:40.687)
64bit drivers needed here as well! I read in a previous post: "I have contacted you directly with the latest version of our USB communications protocol document." Could I receive that document please? Regards, Jvdw
msoulby  (posted 2013-11-19 11:47:08.0)
Response from Mike at Thorlabs: I have sent you the document in an email, for the benefit of other customers this protocol document can be found on our website at the following address http://www.thorlabs.de/software/apt/APT_Communications_Protocol_Rev_9.pdf
jconnors  (posted 2013-11-04 15:14:48.587)
I am attempting to build upon the tutorial on APT to include a switch which can set the jog mode on the controller. When doing this, an error is always thrown stating that the value given to SetJogMode is out of range, however I am giving this input either a 1 or 0. Any help is appreciated!
msoulby  (posted 2013-11-06 09:15:41.0)
Response from Mike at Thorlabs: The enumeration for the SetJogMode method needs to be set to either 1 or 2, the value 0 is not allowed by this method and will produce the error you are seeing. The correct enumeration is as follows: 1 = JOG_CONTINUOUS (When a jog command is received, the motor moves by the step size specified in the SetJogStepSize method (or the GUI)). 2 = SINGLE_STEP (Only applies to remote handset operation. When a jog command is received, the motor continues to move until the jog signal is removed (i.e the jog button is released)).
jeff.davis  (posted 2013-11-01 12:37:10.7)
I'm using two APT DC servo controllers on a servo controller hub. I can configure the drives using APT config and I can flash the firmware using the firmware flash application, but when I try to drive the stages using the APT user application, the application fails and gives a COM error. The device seems to be failing to start the controller at the CMGMotorCtrl::StartCtrl() line. This throws an error with code 10054. Multiple reboots and restarts have not resolved the issue. I have moved the USB to various ports on the computer, but the device remains non-functional. Any thoughts on what the issue might be?
msoulby  (posted 2013-11-06 03:52:52.0)
Response from Mike at Thorlabs: Please can you make sure you have the latest version of the software installed; there were some issues with recent earlier versions that would caused an immediate COM error on startup. To download the latest software please go to the following page http://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=APT I have also contacted you directly rgarding this issue
mbakker  (posted 2013-10-28 09:48:59.58)
I am trying to use 2 TDC001 (that control PRM1Z8 stages) in combination with a TCH002 controller hub. However, when all is plugged in I can see the 2 'USB:APT DC motor controller' appear in the 'Thorlabs APT Firmware reprograming utility'. But I can not 'flash firmware'. Also when using python to control the devices, it seems that it does see the two, but that commands to make them do something are not recognized. Somehow, all these issues are resolved when I connect the two TDC001's directly to a USB hub; they are recognized, "I can flash the firmware, ad everything works well in python. My feeling is it is related to issues with the USB connection, but what to do against it? Can I still use my nice controller hub? (I operate Windows 7.)
msoulby  (posted 2013-10-29 10:29:00.0)
Response from Mike at Thorlabs: We will contact you directly to dicuss the issue you are having with the TCH002 control hub.
katonag  (posted 2013-10-24 20:24:31.377)
I use TDC001 With Z812 mirror positioner. I don't want to home them just adjust position around the current position in fine small steps. If I turn on the device it will feel as staying at 0. Now I'd like to move it a bit to negative direction. APT user could do the job (when changing settings), but when using it from program, MOT_MoveAbsolute_Ex returns an error. Can I somehow circumvent this? thx!
msoulby  (posted 2013-10-28 13:02:00.0)
Response from Mike at Thorlabs: If you are not using your motor in APT then you will need to use the SetStageAxisInfo method, this will allow you to set minimum and maximum positions of your stages travel as you can in APT. Also an alternative to using absolute movements would be to use the move relative methods so the stage will move a set distance relative to its current position rather than the absolute position based home datum. I have contacted you directly with further details.
hdev736  (posted 2013-10-20 17:00:30.407)
I am building a multi-axis laser cutting system with three MTS25/M-Z8 controlled via TDC001 motor. I have coded the entire control software in LabView. Individual motor control works fine but when I try to move two stages simultaneously, the command parsed to the second stage is not recognized until after the first stage's movement is completed. What labView command would enable me to control two stages at the same time.
msoulby  (posted 2013-10-22 04:45:00.0)
Response from Mike at Thorlabs: All the ActiveX move methods have a timeout or bWait parameter, this is a boolean constant that can be set by the user in Labview. If set to false this means the move method will return as soon as the move is initialed and the program will not wait for the move to finish. If set to True then the method will only return after the move has completed, holding up your program. If you are trying to sequence a number of motors it is better practice to set this value to false.
h.r.g.w.verstraete  (posted 2013-10-18 05:40:50.34)
Is there any progress in the development of a 64 bit driver? I need to access the controls from labview 64 bit (32 bit labview is not an option). We have several components from Thorlabs. Another solution is also an option as long as we can control the rotation stages from labview.
msoulby  (posted 2013-10-21 10:27:00.0)
Response from Mike at Thorlabs: we are still in the development phase of our new motion control software package that will replace APT. We do not currently have any firm release dates but expect to have an advanced beta version available within the next 6 months. Until this new software package is released to customers unfortunately the current APT will remain 32bit. One option could be to use the low level USB communications protocol which uses the USB as a virtual com port to allow direct serial communication with our controllers. You would need to speak to National Instruments on how to use a VCP in LabView. I have contacted you directly with the latest version of our USB communications protocol document.
user  (posted 2013-10-12 21:28:38.903)
We have DC Servo Motor Actuators Z825B and controller TDC001. Is it possible to combine movements of several motors in the APT software in the Move Sequences? I need it for scanning in XY plane.
msoulby  (posted 2013-10-14 11:30:00.0)
Response from Mike at Thorlabs: Each motor GUI in APT user acts independently, whilst each can be programmed with its own move sequence by clicking on the 'move sequencer' tab unfortunately this will only control one motor and it may prove difficult to synchronise them using only the move sequencer. In order to synchronise multiple motors you will need to use a programming environment such as labview or VB to make your own customised scan sequence.
honzatko  (posted 2013-09-20 16:27:08.637)
Hi, I'm using CR1/M-7 rotating stages with TDC001 cubes and running the APT software 2.3.4701.37075 on Windows XP. Running the APT Config utility (v.1.3.0) I see the serial numbers of all the units. Trying to add stage association selecting CR1-Z7, I get an error message "Stage type selected is not compatible with driver selected. Select stage type not prefixed by BMS ZST or TST". Do you have any hint how to proceed? Best regards, Pavel
jlow  (posted 2013-09-20 11:07:00.0)
Response from Jeremy at Thorlabs: I believe this is a bug with an earlier version of APT software. There's a patch to fix the bug. The links to the patch are below (please choose the correct operating system you have). Download links for service pack 32bit OS: http://www.thorlabs.com/Software/APT/Service%20Packs/Update%20v2.18.0%20SP3/32%20bit%20SP3/Update.exe 64bit OS: http://www.thorlabs.com/Software/APT/Service%20Packs/Update%20v2.18.0%20SP3/64%20bit%20SP3/Update.exe
jalocha  (posted 2013-09-13 12:18:11.657)
Dear, CILAS, the French company in which I work currently, is developing a system in which a THORLABS motor (PRM1/MZ8) and its driver (TDC001) are integrated. We encounter a random problem at the initialization of the whole system. From time to time, the motor is not recognized by the PC neither by the APT user software nor by our own software. Contact me for more information, please. My phone number is 00 (0) 2 38 64 59 09, 00 (0) 6 79 24 04 72 and mail email address jalocha@cilas.com. Sincerely, Alain Jalocha
jlow  (posted 2013-09-13 16:14:00.0)
Response from Jeremy at Thorlabs: We will get in contact with you directly to troubleshoot this.
mics  (posted 2013-09-09 10:29:07.097)
Hello, our group purchased a TDC001 controller with Z825B actuator. I tried to program it in C both using the C dll libraries and using the low-level FTD2xx commands. I did not succeed. The program using the C libraries (including the software aptdllclient) crashed after calling the function "InitHWDevice" (AptInit was used before to initialize the dll). Using the low level functions I can blink the controller, home the device etc - to run SET commands. However, I cannot get any response on REQ commands. I would appreciate if you could send me some working example programs in C using the low-level commands or correct the bug in the C libraries. Thank you!
jlow  (posted 2013-09-11 13:30:00.0)
Response from Jeremy at Thorlabs: I will get in contact with you directly to provide a simple example using the serial commands.
cdburgess  (posted 2013-07-30 09:25:59.82)
Please can you issue an update on when Thorlabs are releasing versions of the ActiveX that will run with 64 bit development software (e.g. Matlab)?
tcohen  (posted 2013-08-01 12:47:00.0)
Response from Tim at Thorlabs: Thank you for contacting us! We are currently in the middle of development work on a completely new software package for our motion control stages and controllers that will be both 32 and 64bit compatible. We do not have a time frame for the release but it is likely we will have an advanced beta release available for customers to download by the end of the year.
m.morac  (posted 2013-07-30 11:10:20.82)
Hi. I'm developing an application for controlling the TDC001. I need the documentacion, examples, and header/library in C++. Thanks!
tcohen  (posted 2013-08-01 10:31:00.0)
Response from Tim at Thorlabs: The full support download can be found on the APT software downloads page (second tab): http://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=APT. The provided software tools are our APT GUI, 32bit ActiveX components for use in client environments such as LabVIEW or Matlab and a low level communication protocol. I will contact you to discuss this further.
maciejrobertmrozowski  (posted 2013-07-26 14:01:15.643)
Hello, cuurently im trying to estabilish a low level communication with TDC001 Motor Controller using enclosed host-controller protocol via VISA interface in labview. However, the information provided there seems not to be sufficient and im encountering unexpected problems. I would be grateful if you could either send or publish on the website the advanced communication protocol. Thank you in advance
tcohen  (posted 2013-08-01 10:16:00.0)
Response from Tim at Thorlabs: You can find the communications protocol on the third tab of the software download page: http://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=APT. I will contact you to troubleshoot.
shaun  (posted 2013-06-16 16:17:26.44)
Hi there, We have a couple of the TDC001 drives that we are using to move a MTS50-Z8 stage (serial number 83836876) and a Z806 stage (serial number 83836164). We have previously had these devices running on an older PC running Win XP, but we have recently migrated to a brand new Windows 7 64-bit box. I have developed a LabVIEW application (32-bit) to controls these two devices, but am having some issues communicating with them on this new PC. My LabVIEW application was developed using the examples provided in the Developer Support for APT Software version V2.13.0 (23/3/2012). On the new PC I can see two devices listed in the Windows Control Panel  Devices and Printers (2 x “APT USB Device” are listed), and I can also see two devices listed if I run the APT Firmware application (see attached screenshot, which also shows the serial numbers). Note that in APT Firmware there is no option to “Flash Firmware”, and there is no tree structure below each Motor Controller. [I’m not sure if this is normal? Your documentation suggests that each device should have items listed underneath...] If I run the “APT User” application, I get only one of the two devices appearing (currently I can just see 83836876, although yesterday I could only see 83836164, so the problem doesn’t seem to be limited to just the one device), even though both of them are detected by APT Firmware. When I had one device appearing in APT User, I could also communicate to this same device from my LabVIEW application (once I’d shut down APT User of course). However, if I tried to communicate to the second device from y LabVIEW application then I get a bunch of errors. Subsequently, if I rerun APT User I have no devices appearing, even though both of them are still being detected by APT Firmware. I’ve have tried cycling the power to the drives and the PC. Sometimes this will work and I will be able to see one of the devices again (although never both). The last time I tried cycling th
jlow  (posted 2013-06-18 09:17:00.0)
Response from Jeremy at Thorlabs: I apologize for the issue you are having with the APT software. We will get in contact with you directly to troubleshoot this.
lukas.drzewietzki  (posted 2013-05-28 21:23:51.7)
Hello. We use a "TDC001" together with the stage "MTS50/M-Z8" in a LabView environment via ActiveX. Unfortunately we have some issues with this combination and would appreciate any help. - The "APT Config" cannot perform a configuration/mating with _above_ devices. The Error reads: "Stage type selected is not compatible with driver selected. Select stage type not prefixed by BMS ZST or TST." --> We circumvent this by manually setting the stage parameters in Labview via "SetStageAxisInfo". - The "bWait"=TRUE option for the "Move"-methods works but creates 100% CPU core load and freezes the Labview _front_ panel while waiting. - All "status-bit" methods return movement-status-bit=TRUE (#4) only when moving in positive directions but not in negative direction. - Is an event handling/catching of the "MoveComplete" event-callback possible inside the _same_ VI the methods "Move..." are called? Thank you in advance.
tcohen  (posted 2013-05-30 13:00:00.0)
Response from Tim at Thorlabs: Thank you for contacting us. 1) The config reads from the .ini file to set the stage parameters and the TDC001 should be found when you open APT Config. Afterwards associating the stage should be possible. Please make sure that the simulator is off and that the .ini file has not been modified. 2) The bWait bug is a known error. You can possibly change the execution mode in LabVIEW to user interface. I will send you documentation on this. 3) There are actually individual status bits for clockwise and counter clockwise (1-moving, 0-stationary) and so either bit should not be T for the opposite direction. 4) In LabVIEW, the register event call back icon will typically be placed in the top level vi. What the event does upon being triggered is carried out in a sub .vi known as the event call back .vi. A sub .vi within your main program will have to be created when using ActiveX events. I will contact you to continue this discussion.
sewell  (posted 2013-03-19 21:28:43.473)
Hi, I just read that the APT software runs native under windows 32 but cannot be used with LabVIEW 64-bit. We have a near term (2 months) application where we'd like to use both. Are they any plans for making these two products compatible? Any timeline? Thanks! Scott
tcohen  (posted 2013-03-21 13:29:00.0)
Response from Tim at Thorlabs to Scott: This is an active project and although we can’t provide a formal release as of yet, the scope is such that it is highly unlikely that it will be released within 2 months. I will contact you to keep you updated on the timeline.
lschmidt  (posted 2013-03-07 09:44:53.307)
We have two of the TCD001 controllers connected to z806v actuators. We are trying to control them using the hex commands defined in the command reference. We are experiencing sporadic behavior, in that sometimes the commands will work, but most of the time they do not. We don't get any errors from our program, the controllers just don't respond. We are using linux/python, which I know you don't really support, but I was wondering if you have any example programs, even if they are in another programming language that we could look at? Moving to windows is not really an option as all other devices we are controlling work fine with linux/python.
cdaly  (posted 2013-03-07 15:18:00.0)
Response from Chris at Thorlabs: Thank you for using our web feedback. The most likely cause of this is that an initial function has not been completed before you are trying to initiate a subsequent one. The controller will return a message (ID 0464) when a function is complete. Your program will need to take this account and should not try to continue until it has read this to verify that it is now able to continue with its sequence.
leg2137  (posted 2013-01-29 09:49:08.14)
I have used this motor control for about three years with no problems integrated into my microscope control system. We recently updated our computers and software to allow increased performance in 64-bit windows. Unfortunately, it seems I am no longer able to communicate with the APT software using MATLAB. As a temporary solution, we have to open a second 32-bit matlab window to control this one component. We will most likely have to buy a different rotation stage altogether. Are there known solutions or new products available that address this problem? Are there any plans to update the APT software? Thank you
tcohen  (posted 2013-01-30 13:20:00.0)
Response from Tim at Thorlabs: Thank you very much for your feedback. You are correct that the current version must be opened in 32-bit MATLAB. The APT software is a 32bit application that was developed before 64bit windows became available. APT runs under 64bit Windows through a 32bit emulator layer, WoW64. However, there are currently no 64bit .DLLs or .LLBs and the ActiveX components will not run within a 64bit client environment, such as MATLAB. We understand that a new software version that supports 64bit is needed and we have a beta version that we are actively working on.
jlow  (posted 2012-12-20 09:01:00.0)
Response from Jeremy at Thorlabs: Yes, it is certainly possible to control the TDC001 via virtual comms port. If you already have the APT software package installed on your computer, then the drivers required to communicate with the TDC001 are already installed and the only thing that is required is to enable the TDC001 as a virtual comms port device. The details of how to do this are described in this document: http://www.thorlabs.com/Thorcat/23900/BBD202-Manual.pdf Please note that although the document is for the BBD202, the principle is exactly the same as both controllers use the same USB interface. If you do not have the APT software installed installed, then the device drivers can be downloaded from the FTDI website (the USB interface in the TDC001 is based on the FTDI implementation): http://www.ftdichip.com/FTDrivers.htm. Finally, the communications protocol used in the TDC001 controller (and for all other controllers as well) is described here in detail: http://www.thorlabs.com/software/apt/APT_Communications_Protocol_Rev_6.zip.
jonathan  (posted 2012-12-07 08:56:00.55)
Hello, I would like to control the TDC001 in our custom C++ software without using the ActiveX interface. Is there any way to control the device using a virtual COM port (i.e. serial port) in a similar way than with the DC3100 FLIM LED Controller (for example). If it does, could you provide me with the appropriate driver required for windows to detect the TDC001 as a serial (COM) device ? In that case, could you also send me any documentation related to serial port configuration parameters and header/library files ? If only USB communication is possible, could you send me any documentation and files that could help to communicate with the device directly from c++ commands ? Many thanks and best regards, Jonathan.
jlow  (posted 2012-11-05 13:26:00.0)
Response from Jeremy at Thorlabs: You can download the communications protocol and the driver at http://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=APT, under the "Communications Protocol" and "Drivers" tab.
johannes.renner  (posted 2012-11-02 06:14:31.837)
Since we had to update to win7/ Matlab 64-bit we cannot use the ActiveX interface anymore. Could you send me the USB serial interface drivers and protocol documentation?
tcohen  (posted 2012-10-18 14:28:14.983)
Response from Tim at Thorlabs: You are correct that this will not work under 64bit Matlab (APT can run under 64bit windows). This is a project we are working on, but as it requires more than an update because the program is intrinsically 32bit, it is a long term project. Programming can still be done in 32bit Matlab and the supplied GUI is fully operational in 64bit Windows.
paris  (posted 2012-10-18 13:12:30.193)
i've tried to run the ATP software under Win7 with Matlab 2011b (both 64bit). does not work, since the programm is written in 32bit. please provide an update, otherwise the product does not make any sense to me.
tcohen  (posted 2012-09-13 09:47:00.0)
Response from Tim at Thorlabs: If the bWait parameter is set to 'False', the method returns as soon as the move has been initiated. If bWait is set to 'True', MoveAbsoluteEx returns only after the motors have completed their moves. More information can be found in the APT Server Help located in the install directory. You can get down to about ~14ms for updating GetPosition. This limit is a combination of the FTDI chips, the USB bus and your own system. Once the function has obtained the position it will return the function with the pfPosition parameter. As for 64bit .DLLs or .LLBs, this is a long term project. 64bit windows can currently be used with the APT GUI via the WoW emulator.
florenthaissgmx.de  (posted 2012-09-08 09:58:56.0)
When will the 64bit .DLLs or .LLBs be available? Most new computers are now installed with win7 64 bit and it is extremely inconvenient not to have support for 64bit labview/windows.
hanxu1981  (posted 2012-09-07 09:09:53.0)
I am using C++ command lines to control the motor. The first question is about the method "MOT_MoveAbsoluteEx": long WINAPI MOT_MoveAbsoluteEx ( long lSerialNum, float fAbsPos, BOOL bWait ) If I put bWait to true, will the program wait until the stage stop at the position of fAbsPos? Another question is about "MOT_GetPosition". How long does it take to get a response from TDC001 after I use this method? Will the program stop working until the TDC001 returns the position?
tcohen  (posted 2012-08-23 16:21:00.0)
Response from Tim at Thorlabs: Please ensure that the TDC001 is connected to the PC before connecting to the power supply. Grounding issues can cause the order to matter. A more detailed troubleshooting note can be found in my last post on this feedback wall. I will contact you with this information to make sure the problem is resolved.
ch31037  (posted 2012-08-23 12:02:35.0)
Dear Service engineer, Hi, I have a problem in communication with computer. My application is 3D imaging using 2-axis motors which controlled simultaneously by LabVIEW. So, it is very important to solve it. I wrote my situation. 1. When I connect it with computer, APTUser usually did not show any graphical Panels. However, computer device conceive APT device. 2. APT Frimware can find the hardware 3. Sometimes, it worked. But, when I try again, it stopped. 4. If it works, motor move normally. Therefore, I think that there is no problem in DC motor. I tried to connect with different several computer which has different OS and specification. Theoretically, it have to work. But, it also show same symptom. Therefore, I think that the controller has some problem in connection with computer. How can I solve it?
jlow  (posted 2012-07-31 13:29:00.0)
A response from Jeremy at Thorlabs: We have a fairly detailed document online that shows a way to do the error handling in LabVIEW. You can view it at http://www.thorlabs.com/images/TabImages/GuideToLabVIEWandAPT.pdf, starting on page 31.
huw.major  (posted 2012-07-31 10:00:34.0)
Hi I am trying to use your apt software in labview. I have a question regarding error handling. According to your example in 'User Guide to LabVIEW & APT' your labview vi property and invoke nodes should pass back standard error messages on a failure. However, I get no labview error messages, only an event panel pops up detailing the error. How do I force the apt to use the labview error reporting mechanism? I am unable to halt the labview program on an error as labview cannot see an error. Any help would be much appreciated.
tcohen  (posted 2012-07-11 12:25:00.0)
Response from Tim at Thorlabs: Thank you for contacting us! First, please ensure that you close any APT software. Connect the TDC001 to the PC and only connect the power afterwards. Grounding issues can cause the order to matter. After this, you can configure your motor and stage in APTConfig. If you still experience problems in LabVIEW with this error, please make sure that the “Enable Simulator Mode” is unchecked in APTConfig. If the simulator mode is on, APT will be looking for the simulator serials which will be wrong with respect to your physical motor’s serial number. If you still experience issues, please make sure the controls have finished enumerating (increase the server enumeration dwell time in APT Config). Adding a wait between the start control method and the first command will eliminate problems with the controller trying to be used before it is properly initialized and reporting this error. This should solve nearly all problems associated with this error. If you are still having trouble or would like personal assistance please contact us at techsupport@thorlabs.com and we would be more than happy to troubleshoot with you directly to find the source of any error.
spectoad  (posted 2012-07-11 09:15:46.0)
I am having problems with the APT software as well as controlling the motors with Labview. After starting the APT User programs none of the control panels are displayed and there doesn't appear to be a method for bringing them up. Also, in Labview an error appears in the APT system log that there is no device present despite the fact that the device is plugged into a working usb port and the serial numbers are correctly input to the program.
tcohen  (posted 2012-07-03 10:04:00.0)
Response from Tim at Thorlabs: The APT software is a 32bit application that runs under 64bit windows through WoW64. The software can run on 64bit systems but cannot be used in 64bit client environments. 32bit LabVIEW must be used in order to recognize ActiveX components. We have put a note in the “Software” tab explaining this.
user  (posted 2012-07-02 17:01:05.0)
Is the 64bit version of the software not compatible with active x controls in labview 2011? When I insert an activex container in labview and go to insert an active x object the MG17 motor does not appear in the list of controls.
tcohen  (posted 2012-06-28 14:43:00.0)
Response from Tim at Thorlabs to Ben: Thank you for your feedback. These are unusual observations that we have not replicated. I would like to discuss your vi with you and go over each of these three in detail with the program in hand. If there is still some error, we will of course take a look at your TDC001 for you.
ben.aernouts  (posted 2012-06-21 20:01:25.0)
Dear, We are using the TDC001 controller in combination with the MTS25M-Z8 motorized translations stage. We bought one in December last year and again two last week. Serial numbers are: * December 2011: S/N83833698 * June 2012: S/N83836159 and S/N83836222 The old one was and is still working fine, while the new ones are working totally different and they give very strange movements. Combining the 'old' controller with one of the new translation stage works very good and is not giving any problems. That's where we concluded that the new controllers are not the same as the 'old' ones, while they are of exactly the same type and are accompanied by exactly the same information, software and manual. Since both new controllers are giving the same 'errors', I assume that is not a production fault. When comparing the 'old' controller with the new ones we have the following remarks: * when homing (the stage in combination with a new controller) in the forward direction at the forward hardware limit switch with an offset of 0, it does a forward movement right after the homing at the forward HW limit switch outside the working range of the stage until it (mechanically) blocks. This is not happening for the 'old' controller. * When doing an movement (for the stage in combination with a new controller) to an absolute position (with MoveAbsolute in Labview) after setting the 'relative move distance' (with SetRelMoveDist in Labview) it will go to the absolute position equal to the 'relative move distance', independent from the 'absolute move position' setting (with SetAbsMovePos in Labview). This is not happening when we use the 'old' controller. * For the new controller I have to wait at least 100ms between the end of a movement and sending the command for beginning the next movement (MoveHome, MoveAbsolute and/or MoveRelative). If I don't do this it will pass over this next movement. For the 'old' controller this was not necessary, I could just give a new command after finishing the last movement without waiting. The 'old' controller in combination with the stage was working very good for our application and that's why we decided to order two more of these. But with the new controller, we cannot use it anymore (because of the many errors). Are the controllers from the 'old' type still available (see serial number)? Or have can we solve these problems? Moreover, I just started to test the new controller this week and therefore I presume that there are more differences between the two controller types than the ones I discovered... Many thanks and best regards, Ben Aernouts Catholic University Leuven, Belgium
bdada  (posted 2012-06-08 12:06:00.0)
Response from Buki at Thorlabs to kueifulai: Thank you for participating in our Feedback Forum. I have contacted you with a troubleshooting guide but the issue may be that you are in simulator mode and/or you connected teh USB before the power supply.
kueifulai  (posted 2012-06-07 08:28:45.0)
Hi, I'm using CR1-7 with TDC001 cube and running the latest APT software on Windows XP. The thing is that APT config cannot get the serial number of the cube. Windows does recognize TDC as the APT USB device but there is nothing on the APT config list. However, the APT firmware is able to detect the cube when APT config is off. I tried to reinstall and reboot several times but that doesn't help. Is there any standard procedure to solve this problem?
tcohen  (posted 2012-05-23 11:56:00.0)
Response from Tim at Thorlabs to Doron: Thank you for your feedback. I have contacted you directly to provide support.
doron.azoury  (posted 2012-05-17 09:31:30.0)
Hi, I'm using Z625B stage, and control it with ActiveX in Labview. Every time I run the program after switching on the system the position display shows zero, although it is not at it's home position. Is there a way to save the last position before switching off and restore it when switching on the system. Thank you, Doron
tcohen  (posted 2012-05-03 12:10:00.0)
Response from Tim at Thorlabs to Nicolas: You are correct. ActiveX is 32bit which cannot be recognized by 64bit MatLab. This is not something with a simple work-around. We will work to make this information more apparent for future users.
nicolas.chiaruttini  (posted 2012-05-02 19:55:27.0)
Hi, I've been trying hard to use an active X controller of my solenoid controller on Matlab. APT User is working fine, but I can't detect Active X on Matlab. I wonder if I miss something or if this is related to the fact that Matlab is 64 bit whereas your drivers are 32 bits. Any suggestions ? Thanks
tcohen  (posted 2012-04-19 13:42:00.0)
Response from Tim at Thorlabs to Barry: The Host-Controller Communications Protocol document can be found on our downloads page at http://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=APT. Here you will find the protocol under the "Software and Support" tab.
tcohen  (posted 2012-04-19 09:27:00.0)
Response from Tim at Thorlabs: I have contacted you directly with this information. Please note, however, that as of right now this is still an incomplete DLL.
igkiou  (posted 2012-04-18 23:19:35.0)
Hi, like other posters, I am interested in controlling this device without ActiveX. Could you please provide the relevant C++ header/lib files and documentation (win32)? Thank you in advance for your assistance.
tcohen  (posted 2012-04-09 11:45:00.0)
Response from Tim at Thorlabs: We have plans to make these files available on the website and we are currently preparing supporting documentation before its release. The APT software is intrinsically 32bit. APTUser and APTConfig will run on 64bit Windows on a 32bit emulator layer, WoW64. 64bit versions of Windows do not support 32bit drivers and our 64bit version of APT has the drivers specifically compiled for a 64bit system. However, there are currently no 64bit .DLLs or .LLBs and therefore the ActiveX components will not run within a 64bit client environment. We are looking into developing a true 64bit platform for our motion control stages in the future, but are currently unable to provide this. I have contacted you with the files.
tcohen  (posted 2012-03-27 14:44:00.0)
Response from Tim at Thorlabs: I have sent you the files directly. We’re currently discussing with our engineers to see if this is a file that can be supported directly on the web. In the meantime, our Applications Engineers will be more than happy to assist with obtaining the C++ header files and libraries and can be reached directly at techsupport@thorlabs.com.
john.travers  (posted 2012-03-27 11:29:11.0)
Like previous posters, I am looking for C/C++ header files and libraries to control this device. Can you send them to me, or point me in the right direction to find them? Thanks.
tcohen  (posted 2012-03-27 10:44:00.0)
Response from Tim at Thorlabs: Thank you for your feedback! I have contacted you for more information, including your event logs, to diagnose the problem.
cha07jcc  (posted 2012-03-23 11:45:47.0)
I am using TDC001 with Z812 to control the wavelength output of TLK780M. Occasionally and unexpectedly, the Z812 will contract to the hardware limit and attempts to contract some more. This only happens when APT user is running and enabled and the Z812 does not respond to any commands except for "home" and "enable". I have checked that by not using the APT user program, the Z812 does not contract on its own accord. Any help/ workaround? APT user version 1.0.22.
tcohen  (posted 2012-03-21 19:33:00.0)
Response from Tim at Thorlabs to the last two posters: Thank you for contacting us. I have sent you both the files with some instructions. We are currently looking into making this publicly available for future users.
katonag  (posted 2012-03-21 15:27:56.0)
I am also having difficulty finding C++ headers and lib files for applications without ActiveX. Is it possible to build a true 64bit application with these? Please contact me. thanks.
Allan.McCombs  (posted 2012-03-21 13:52:37.0)
My purchasing dept. purchased a TDC001 for me today. I am also having difficulty finding C++ headers and lib files for applications without ActiveX. Thanks,
bdada  (posted 2012-03-16 12:41:00.0)
Response from Buki at Thorlabs to cha07jcc: Thank you for using our feedback tool. We have contacted you to provide the files.
cha07jcc  (posted 2012-03-16 05:39:41.0)
Hi, would it be possible to have C++ lib and header files for use with the TDC001 as I can't locate them directly from the software and support tab. Thanks.
bdada  (posted 2012-03-13 13:45:00.0)
Response from Buki at Thorlabs: Thank you for your participation in our feedback forum and for sharing solutions with other customers.
epetrik  (posted 2012-03-12 14:51:26.0)
Thanks, Thorlabs, for your prompt response to my earlier post! In case anyone else is having trouble running APT on a 32bit Windows 7 machine, here is the workaround we came up with: Install this Windows XP simulator from Microsoft: http://www.microsoft.com/windows/virtual-pc/download.aspx, and then install and run the software from the virtual XP machine. (Simply running APT with the computer's built-in XP compatibility mode did not work for us.)
tcohen  (posted 2012-03-07 11:25:00.0)
Response from Tim at Thorlabs: Thank you for contacting us. The documentation and c++ files are available on the "Software and Support" tab at http://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=APT. I have also sent you the files directly.
tcohen  (posted 2012-02-29 11:13:00.0)
Response from Tim at Thorlabs: Thank you for your feedback. It seems that when upgrading to Windows 7 the values for the file directory may have been changed (can't find DLL file). APT Config and APT User are compatible with Windows 7, so the first thing to try would be uninstalling and reinstalling the program. I have contacted you directly for further troubleshooting.
epetrik  (posted 2012-02-28 17:05:01.0)
APT Config and APT User stopped working when I upgraded to Windows 7. When I run APT Config using Windows XP compatibility mode on my machine, it gives the following error on startup: Error [Code = 10105]; [MG17Comms.DLL] Internal Code 19411409. Thanks for any help you can offer!
bdada  (posted 2012-02-08 20:30:00.0)
Response from Buki at Thorlabs: Thank you for your feedback. We do not have your contact information, so please email TechSupport@thorlabs.com so we can assist you further.
bdada  (posted 2012-02-07 14:05:00.0)
Response from Buki at Thorlabs: I am sorry you have not received the files yet. I have emailed you a link to our ftp site where you can download the files. It is possible the earlier email was not delivered due to the size of the files. Please contact TechSupport@thorlabs.com if you have any questions.
hanxu1981  (posted 2012-02-06 21:20:36.0)
Dear Tyler, I am still waiting for the files you promised to send me. Thess files should include "C++ header file, DLLs and libs" for controlling TDC001. Can you send them to me as soon as possible? Best Regards, Han Xu ============================================= Poster: Posted Date: 2011-12-05 18:47:39.0 A response from Tyler at Thorlabs to hanxu1981: We do have a beta version that is not part of our official SDK. We will send you the files and the supporting documentation that we currently have available.
user  (posted 2012-02-01 09:28:07.0)
hard to find accuracy/error on specifications
bdada  (posted 2012-01-24 12:46:00.0)
Response from Buki at Thorlabs: Thank you for using our feedback forum. We have sent you the dll files. Please contact TechSupport@thorlabs.com if you have any questions.
chris  (posted 2012-01-23 16:44:30.0)
Hello, We are using the TDC001 with the MTS50-Z8. I would also like to request the beta, non-ActiveX libraries/headers. Thanks, Chris
ian.mcdowall  (posted 2012-01-07 00:52:16.0)
Hi - I have the PRM1Z8 & TDC001 and would please like the C++ (non ActiveX) interface please. Thank you Ian
bdada  (posted 2012-01-06 12:00:00.0)
Response from Buki at Thorlabs: Thank you for your feedback. We have sent you a dll file. Please contact TechSupport@thorlabs.com if you have any questions.
j.borbely  (posted 2012-01-06 08:47:52.0)
Hi, I would like the C++ libraries/headers/dll for controlling the rotation stage (PRM1/MZ8) via the DC servo controller (TDC001) so that I can control the rotation stage without using ActiveX
bdada  (posted 2011-12-28 11:55:00.0)
Response from Buki at Thorlabs: To the customer who just bought TDC001 and Z825B, the problem you described is a known error that we are currently reviewing. For the time being a work around would be to install previous version of the software, please install version V2.11.0 from the archives tab on the APT download page http://www.thorlabs.us/software_pages/ViewSoftwarePage.cfm?Code=APT The add the stages to APT user: 1) please connect the stage then power up. 2) open APT config, 3) check that simulator mode is DISABLED. 4) Click on the stage tab 5) go to the motor drop down menu and select the serial number of your TDC001. 6) Select the stage from the stage drop down list. 7) Exit APT config 8) Open APT user and the controls should be present Please contact TechSupport@thorlabs.com if you still experience any problems.
bdada  (posted 2011-12-19 16:01:00.0)
Response from Buki at Thorlabs: The StartCtrl method does take a long time to enumerate, unfortunately there is no real way around this using activex. The start control needs to run through a number of housekeeping tasks before the controller can be initialised. The start control method is required APT server operation and used in APT user and Labview. The only thing that might speed this up is if you open APT config and go to the Server Settings tab. In here you will be able to change the enumeration dwell time. This is the time that the system takes to enumerate all the devices on the USB bus. If you are running many devices this will need to be increased to ensure that all the stages are fully initialised. You can also decrease this dwell time, however reducing this too much will cause communications and time out errors if APT is not given enough time to start correctly. It may need to be changed several times before a satisfactory result is achieved, the default is 5000ms. Please contact techsupport@thorlabs.com if you have additional questions.
bdada  (posted 2011-12-15 12:31:00.0)
Response from Buki at Thorlabs: When inserting the activex control into the container please select “MGMotor Control”. This will insert the motor control GUI and will make all the relevant motor activex available to you. Please also refer to our Labview and APT guide, which is linked in the "APT Tutorials" tab on the product page: http://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=2419 Please contact TechSupport@thorlabs.com if you have further questions.
jahnruehrig  (posted 2011-12-14 18:54:18.0)
@ftam: Just select the MG17 Motor like in the Tutorials... It will notice to be a rotation stage and change to the right GUI. But i have another Question. I implemented the stages (PRM1Z8) into labview and i can rotate them using NumCtrl Box where i can write angles and then run the program. But i noticed that this is really slow. From execution of the program until first movement of the stage it takes ~6s !!! The thing is i dont want to use the GUI supplied (and cant use it) for i have another GUI running. I just want to call a subVI and tell it "go to that absolute angle". Is it possible to kind of low level talk to the stage/controller and tell it FAST to rotate to a desired abs angle without loading the whole GUI (at least i think loading the GUI is what it makes slow)? Thanks in andvance
bartosz.marszalek  (posted 2011-12-14 10:16:28.0)
Hello, I just bought TDC001 and Z825B motor. I installed software that was included and I report the same problem as byung.yang.lee and Sebastian_Brake - more information: Error: [CODE: 10112]; [MG17Core.DLL] Internal Internal code: 19312709 Extra info:Hardware unit (S.N. 83******), detected firmware version 1.0.1, latest firmware version is 1.0.5 This occurs even when I uninstalled whole device (including its driver) and turned APT Config tool without (!) connecting my TCD001 to USB port. Moreover I don't have access to firmware upgrade (in APT Firmware tool) as Sebastian_Brake (no '+' sign nor Flash Upgrade button activated) Thank you in advance, Bart
ftam  (posted 2011-12-12 08:42:13.0)
Hello all! I have a DC servo controller (TDC001) and a rotation stage (PRM1/MZ8) and I'm not being able to use the Active-X to control it via Labview. I've followed the video examples but I don't know which Active-X object I shall select from the list because PRM1/MZ8 is not present there. Any help on this? Thank you very much in advance!
user  (posted 2011-12-09 13:55:57.0)
A response from Tyler at Thorlabs: Thank you for the great feedback on our beta DLLs. I will pass it on to our programing team along with your email address so that they can send any updates directly to you.
trose  (posted 2011-12-09 05:43:59.0)
Thanks a lot! I got it running nicely. One question, though: all movement dll methods are synchrounous (blocking). This is not a huge issue for me but it prevents for instance a emergency stop command from being registered during movement. Furthermore, since I am loading the library under matlab all further program execution is also blocked during moves and I cannot address my two motors at the same time to do diagonal moves. This was possible with the ActiveX controls. Is there any chance that you will implement asynchroneous (non-blocking) methods in the future? Thanks a lot, Tobias
bdada  (posted 2011-12-07 14:43:00.0)
Response from Buki at Thorlabs: We have sent the attachments to the new email address you provided. Please contact TechSupport@thorlabs.com if you have any questions.
user  (posted 2011-12-06 09:09:36.0)
A response from Tyler at Thorlabs: We would be happy to send you our beta SDK. Thank you for your interest.
trose  (posted 2011-12-06 03:58:30.0)
Hi Tyler! Could you please send me the c++ header file, dlls and libs (plus any documentation you might have) as well? I am trying to implement low-level control in Matlab and do not want to use the ActiveX controls for that. Thanks a lot, Tobias (trose@neuro.mpg.de)
user  (posted 2011-12-05 18:50:01.0)
A response from Tyler at Thorlabs: Hello Sebastian, I will have an application engineer contact you to help troubleshoot the problem that you are experiencing. Thank you for contacting us.
user  (posted 2011-12-05 18:47:39.0)
A response from Tyler at Thorlabs to hanxu1981: We do have a beta version that is not part of our official SDK. We will send you the files and the supporting documentation that we currently have available.
Sebastian_Brake  (posted 2011-12-05 17:34:09.0)
I have the same problem with TDC001 that "byung.yang.lee" might have. I'm trying to use TDC001 with PRM1-Z7 motor. The APT Config gives me error (Code 10112) of incompatible firmware version, that I should upgrade from 1.0.1 to 1.0.5. However, when I use APT Firmware, only the USB item line (one line) appears, and I cannot get the firmware upgrade button (Flash Firmware) activated. There is no "+" sign to expand the node and display the available controllers. What is the solution?
hanxu1981  (posted 2011-12-01 18:55:45.0)
Dear Sir, Can you send me a C++ header file, DLLs and libs? Because I don't want to use the ActiveX platform, and would like to use command line in C++ to control the motor. If it is possible, can you also send me some example of the command line contrl? My email address is Hanxu1981@gmail.com. Best, Han Xu
user  (posted 2011-11-29 20:19:01.0)
A response from Tyler at Thorlabs to katonag: We will contact you to work through some troubleshooting steps with you. I am sorry for the delay that this is causing, we will get you back on track quickly.
katonag  (posted 2011-11-29 17:01:12.0)
I have the same freezing problem with TDC001 that rpearson might have. The cube sometimes freezes, and can not be contacted again: It can be seen in the device manager, but not in the APT config. This freezing might be somehow related with power - it appears usually at system startup, and being fine once working. Im controllling PRM1z7/PRM1z8 with the cube. Repowering the cube usually helps, but not always.
bdada  (posted 2011-11-15 17:59:00.0)
Response from Buki at Thorlabs.com: Thank you for your feedback. The issue may be related to your installation of the latest version of the APT software. Please try installing the previous version, which can be found under the APT software page under the archives tab, until we resolve the issue: http://www.thorlabs.hk/software_pages/ViewSoftwarePage.cfm?Code=APT The issue also seems to occur more often in simulator mode, so please check that this is not enabled when trying to use the stage. We have contacted you to provide further support.
byung.yang.lee  (posted 2011-11-14 16:23:43.0)
I'm trying to use TDC001 with Z812B motor. The APT Config gives me error (Code 10112) of incompatible firmware version, that I should upgrade from 1.0.1 to 1.0.5. However, when I use APT Firmware, only the USB item line (one line) appears, and I cannot get the firmware upgrade button activated. What is the solution?
bdada  (posted 2011-11-08 10:10:00.0)
Response from Buki at Thorlabs: Thank you for using our Feedback Tool. The settings are saved in the registry under Thorlabs\APT Server. Please contact TechSupport@thorlabs.com if you still have any problems locating the settings file.
stripa3  (posted 2011-11-04 03:09:30.0)
I am trying to control a PRM1-Z7 motorized stage with a TDC001 controller through APT user. However, amount of rotation observed and amount requested are not the same, prior being roughly one third of the later. Strange thing is that with the same settings another set of TDC001 and PRM1-Z7 works fine. I would appreciate if you could give me some pointers.
stripa3  (posted 2011-11-03 23:05:37.0)
How can I locate the settings file saved using the APT user.
bdada  (posted 2011-10-27 19:02:00.0)
Response from Buki at Thorlabs: To the last two posters, thank you for your feedback. We have contacted you with troubleshooting tips and will consider adding the information to our website and manual to assist other customers that may experience the same issues. Please contact TechSupport@thorlabs.com if you have any questions.
jeulin  (posted 2011-10-26 11:36:30.0)
I'm having the same problem as 'rpearson' with one of our TDC001. We using another TDC001 we had from before to control the motorized rotating stage. It seems to work so far. But it appears to be a recurent issue, do you know what to do to fix the damaged TDC001?
rpearson  (posted 2011-10-25 13:41:35.0)
I'm using a TDC001 with the PRM1-7S Motorized Rotating Stage. the same computer is also fitted with a BSC103 3 axis stepper stage controller. I'm using the ActiveX controls from within MS VC++ 2008, the BSC103 and three axis perform great, but the rotating stage periodically looses communication and either keeps spinning or doesn't move at all causing a crash. Using APT User the same results are occurring if I try to jog, or move the rotating stage to a particular angle, it spins uncontrollably. Restarting the computer sometimes resolves the issue but not always. Is this a driver issue? or a conflict between the two? Have you seen this sort of behavior before? Thanks, any advice appreciated! When the device works it is tremendous. -Rich
bdada  (posted 2011-10-12 19:03:00.0)
Response from Buki at Thorlabs: Thank you for notifying us of the problems you have experienced while using the APT software. We have contacted you to resolve the issue.
bdada  (posted 2011-10-12 19:00:00.0)
Response from Buki at Thorlabs: Thank you for using our Feedback tool. Yes, you can use the CR1-Z7 with the TDC001 cube and select CR1-Z6. The drift you see could be related to the gear and thrust plate. You could reduce it by tightening the screw that holds them together. We have contacted you directly to provide further support.
kk106046  (posted 2011-10-05 00:46:32.0)
I got same problem as below.The system environment is windows 7 (32bit). I having problems loading the APT user and APT config that comes with TDC001 Servo Motor. It takes an hour or even more for the APT user / APT config to load. The system environment is windows 7 (32bit). The device is detected and works fine after an hour. I also made clean install (re-installing all drivers and software) but this did not help. Please advise. I got this error during APT config software loading "Failed to read values". Although after hours of loading, APT config can still detect the device. May be the APT config is looking for a missing file. Please advise.
jesus.alvarez  (posted 2011-09-29 11:21:30.0)
Is there support for using the CR1-Z7 with the APT for Labview? We are using the CR1-Z7 with the TDC001 cube and there is no possible to choose the CR1-Z7 station in the list, so we choose the CR1-Z6 but there is a drift in the angle feedback.
bdada  (posted 2011-09-27 20:50:00.0)
Response from Buki at Thorlabs: Yes the Z6 motor will work with the TDC001 and the part number for the adapter is 161699. This adapter is in stock and can be ordered by calling our Sales Department at 973 300 3000 or by emailing sales@thorlabs.com
mgroom  (posted 2011-09-26 09:09:44.0)
We have a CR1-Z6 rotation stage controlled from a DCX-PCI100 board. Our DCX-MC110B driver module appears to be damaged and my understanding is that Thorlabs no longer supports this product. Question: If we purchase a TDC001 module can we operate our CR1-Z6 (not the CR1-Z7) rotation stage from it? If so, what is the part number of the adapter cable that will allow us to connect the CR1-Z6 rotation stage to your TDC001 module?
bdada  (posted 2011-08-25 13:14:00.0)
Response from Buki at Thorlabs: We have contacted you to troubleshoot the issues you're experiencing with the APT software.
alvarado.tarun  (posted 2011-08-25 03:11:47.0)
I got this error during APT config software loading "Failed to read values". Although after hours of loading, APT config can still detect the device. May be the APT config is looking for a missing file. Please advise.
alvarado.tarun  (posted 2011-08-25 03:02:28.0)
I having problems loading the APT user and APT config that comes with TDC001 Servo Motor. It takes an hour or even more for the APT user / APT config to load. The system environment is windows 7 (32bit). The device is detected and works fine after an hour. I also made clean install (re-installing all drivers and software) but this did not help. Please advise.
jjurado  (posted 2011-08-04 16:39:00.0)
Response from Javier at Thorlabs to David: Thank you very much for your feedback. There are a couple of parameters to consider in order to ensure that the APT Configuration utility effectively detects the T-Cube controllers. The first one is to make sure that the Simulator Mode is not active. This mode can be disabled in the Simulator Configuration tab of the APT Config. Utility. The second point, and perhaps the most important one, is to keep in mind that the order in which the T-Cube is connected to the wall outlet (via the power supply) and the PC (via USB cable) matters. Due to the internal circuitry of the T-Cubes, it is necessary to connect the USB cable before powering up the controller. In the majority of instances, the APT Config can then effectively detect the device. I will contact you directly for further support.
david  (posted 2011-08-04 04:18:29.0)
THE TCUBE APT CONFIG CAN NOT FIND USB AGAIN AND AGAIN YET DEVICE MANGER CAN FIND IT!!!!!!!!!!
bdada  (posted 2011-07-28 15:56:00.0)
Response from Buki at Thorlabs: It sounds like the PC has lost communication with the T cubes. Please try to connect the T cubes with USB cables instead of the TCH001 HUB. We have contacted you to troubleshoot this further.
bdada  (posted 2011-07-28 14:14:00.0)
Response from Buki at Thorlabs. Thank you for your feedback. We have contacted you with the beta version of the files you need.
zlatko.mickovic  (posted 2011-07-28 12:04:57.0)
We are having hardware timeout issues with our TCH001 HUB with 3 TDC001 servo motors on it. They work fine with the APT User program, but recently stopped working when I access them through Labview. Midway through a program execution, it stopped and I got the error code 14422805, "Hardware response timeout." Any ideas of how to troubleshoot? This program had been working for several years and now nothing.
mhansen  (posted 2011-07-27 10:26:15.0)
I would also like to communicate directly with the motor using C++. Can you send me any available documentation for doing this, the header file referenced in other comments, and any examples you have? Why isnt this included with the standard software download/install? Thanks!
jjurado  (posted 2011-07-22 17:09:00.0)
Response from Javier at Thorlabs to kruckenbergj: Thank you very much for contacting us. You can access our video tutorials for Visual C++ through the following link: http://www.thorlabs.com/tutorials/APTProgramming.cfm. We also offer documentation for developing your own application in C++ when the ActiveX platform is not desired. I will contact you directly with this information.
kruckenbergj  (posted 2011-07-21 18:09:57.0)
Hello. Do you have examples of C++/C# communication interfaces for a TDC001?
jjurado  (posted 2011-06-27 13:34:00.0)
Response from Javier at Thorlabs to dherst: I will send you our advanced communications protocol for direct C++ communication shortly.
dherst  (posted 2011-06-24 04:24:13.0)
Hi, Im struggling with the TDC001 for some time now. I couldnt use the Active interface so I tried to use a C++ interface. My ultimate goal is to use a C++/Python wrapper. But for now I cant find a way to send commands to the TDC through ftd2xx.h even if it seems to be the way to go according to this helpful page. Can you send me some documentation or even better an example of a working programm? As of today I can only use this motor manually which is far from satisfactory. Thanks in advance! Customer Email: dherst@yopmail.com This customer would like to be contacted.
jjurado  (posted 2011-05-24 17:00:00.0)
Response from Javier at Thorlabs to draper: Than you very much for contacting us. We have compiled a series of files and documentation that might be helpful for your application. I will contact you directly with this info.
draper  (posted 2011-05-25 03:36:09.0)
Hi-- Our lab has been using your shutters and shutter controllers for many years with great success. Weve been controlling them via the Activex interface, but for increased flexibility, are trying to move all our software control to a combination of C++/Python. For now Ive accomplished this using ftd2xx.h, but its not a long term solution. Are there C++ libraries/headers for controlling the TDC001, or some details on the parameters and serial commands to use through ftd2xx? Thanks!
bdada  (posted 2011-04-28 09:14:00.0)
Response from Buki at Thorlabs: Thank you for your feedback. We have sent you an advanced communications protocol document. Please contact TechSupport@thorlabs.com if you have further questions.
tobias.gresch  (posted 2011-04-27 17:44:02.0)
I prefer the TDC001 to the bulky DCX-PCI100 card. However, without possiblity of driving the motor from linux it has no use for us! Is there a good controller interface documentation available such that we can access to it over a wrapped libusb or c/c++? If yes I would be interested in it in order to evaluate if we can use the TDC001 or if we need to go on with the DCX-MC110B/DCX-PCI100 from PMC. Thanks.
jjurado  (posted 2011-03-28 08:55:00.0)
Response from Javier at Thorlabs to dirk.taillaert: I will send you this documentation shortly. Best regards.
dirk.taillaert  (posted 2011-03-25 13:23:12.0)
I understand the documentation and c++ lib/header files for using the TDC001 controller without the ActiveX control are available upon request. I would also like them. Thanks.
jjurado  (posted 2011-03-17 16:02:00.0)
Response from Javier at Thorlabs to sschafer: I will contact you directly for assistance with your application.
sschafer  (posted 2011-03-17 12:38:32.0)
Hi, I finally was able to check the communication via the serial commands you sent me (thanks for that!) - but I was wondering, how exactly the position steps are defined? Im using the TDC with a PRM1-7Z (and want to add a CR1 soon) and get weird results with the absolute move command (often not moving at all, sometimes it keeps rotating forever). Am I wrong that the structure of the data packet should look like 0x01 (for the channel) 0x[5byte-long number for the position steps]? If you could tell me the stepsize or range over which the position is defined, Id be really grateful. Cheers.
jjurado  (posted 2011-03-11 10:47:00.0)
Response from Javier at Thorlabs to quod17: I will send you this documentation shortly.
quod17  (posted 2011-03-11 01:30:01.0)
I would also like a list of commands (and documentation) for using the TDC001 controller with USB or serial commands without ActiveX.
jjurado  (posted 2011-03-10 17:43:00.0)
Response from Javier at Thorlabs to otobrzo: Thank you for contacting us with your request. A complete list of methods with their respective descriptions is included with the APT software utility's help file. You can find the information via the following path in your computer: Start > All Programs > Thorlabs > APT > Help > APT Server Help. Under the Programming Guide, expand the Motor Control section. Once there, you will find the Motor Control Methods.
otobrzo  (posted 2011-03-10 17:29:06.0)
Hello, I have bought TDC001 controller together with the actuator. I have followed the labview tutorial and I got very basic program. I need a list of Methods with description. Especially I need control the starting of jogging and its direction. A setting od Step Size I have solved. Please could you send me such List.
jjurado  (posted 2011-02-15 09:22:00.0)
Response from Javier at Thorlabs to ktwelker: Thank you for submitting your request. I will send these files and instructions to your e-mail shortly. A full release is coming soon.
ktwelker  (posted 2011-02-14 21:10:41.0)
I would also like the lib and headers for C++. Thanks!
jjurado  (posted 2011-02-11 09:52:00.0)
Response from Javier at Thorlabs to m.j.rossewij: Thank you very much for contacting us with your request. This could be one of two possibly related issues, either APT Config enumeration or Timeout error. The first thing to do is to open the APT Configuration Utility. Click 'Server Settings' tab, and increase the Enumeration Dwell Cycles from 5000 to 10000, click set (basically double the present value). Also ensure the 'Log Hardware Communications' box is checked. This will generate an error log file. If the problems persist, you can send us the this file in order to monitor the communications prior to the fault. I hope this helps.
m.j.rossewij  (posted 2011-02-10 15:50:18.0)
We have a setup with the following items connected to a PC: - BSC103 - HUB TCH001 with 1x TQD001 quad cell PID & 2x TPZ001 piezo driver - HUB TCH001 with 4 x TDC001 servo driver When using APTUser or our own Active-X application, the servo stop responding after some time (might work fine for hours). It also happens that the system is powered for some time and when the APTUser is started, some/all servo drivers are not present (although present in the windows device manager) or do not respond. The other items (stepper, quad cell and piezos units) always work fine. What could be the reason for this? This might be of relevance: 1) Before, we encountered the problem that one of the TDC001 servo Cubes velocity potentiometer did not return to its stationary position resulting in spontaneous movement of the stage. We could fix this by increasing the velocity 1 pot deflection from 20 to > 25. 2) We access/login onto the PC with a remote desktop session.
heidemann  (posted 2011-02-10 12:13:19.0)
Yet another user that would be very happy to recieve lib and headers for non-activeX purpose. Any addtional documentation on the serial interface would be nice, too. Best regards Carsten
jjurado  (posted 2011-02-04 17:30:00.0)
Response from Javier at Thorlabs to Leif: We will send you this documentation shortly.
leif  (posted 2011-02-04 16:41:34.0)
Yet another user that would be very happy to recieve lib and headers for non-activeX purpose ... Best regards Leif
tor  (posted 2011-01-10 14:27:19.0)
Response from Tor at Thorlabs to sschafer: Thank you for your suggestions, as they are always very much appreciated. I will send you the requested file shortly.
tor  (posted 2011-01-10 14:22:30.0)
Response from Tor at Thorlabs to Justin: I will send you the file shortly.
sschafer  (posted 2010-12-23 11:37:31.0)
Hi, I also would like to implement computer control of the TDC001 without using ActiveX, but rather just sending commands via the virtual serial interface the usb bus provides. Id be grateful, if you could send me a list of the commands or sth similar. In addition, you might consider to put additional info on that in your documentation? The problem with activeX is not only that it only works on Win, but rather that it is not reliable and causes some serious timing and error handling problems when implemented in Labview.. Thank you very much.
justin.m.gregory  (posted 2010-12-22 14:37:31.0)
I would also like to have the relevant C++ header files and examples, please.
Thorlabs  (posted 2010-12-02 09:23:28.0)
Response from Javier at Thorlabs to willtalmadge: I will send you the file shortly.
willtalmadge  (posted 2010-12-01 16:34:49.0)
I see that the c++ header files used for communicating with the TDC001 are available on request. I understand they arent supported and would like to be provided with them if possible. I would like to write software that controls this device without the use of the activex control.
tor  (posted 2010-11-12 16:47:08.0)
Response from Tor at Thorlabs to moskalev: Thank you for your inquiry; per our email correspondence, the CR1-Z7 is not configured for limit switch use. Please do not hesitate to contact us if you have further inquiries.
moskalev  (posted 2010-11-12 13:16:51.0)
Hello. We are using CR1-Z7 rotation stages in some of our systems with TDC001 controller. We rotate the stages within a limited angle range. I know there is a setting in the APT User software to define min and max rotation angle. However, for safety reasons we must have hardware limit switches. We are planning to implement our own external limit switches for CR1-Z7 stages. As it follows from the TDC001 User Manual, the controller is capable of detecting hardware switches. My question is: how these limit switches work? Can we use simple push-button switches for that purpose? Thank you.
Thorlabs  (posted 2010-09-08 17:19:50.0)
Response from Javier at Thorlabs to marc.cizeron: There is no additional dll file that is needed. The file that you reference is part of the USB drivers for the TDC001. I would strongly recommend using the ActiveX interface, since there is a lot of user development necessary in order to control the system using low level language. You can find the APT programming guide under Start > Thorlabs > APT > Help > APT Server Help.
marc.cizeron  (posted 2010-09-07 15:54:40.0)
Thanks for your answer. After some research Im able to understand better my problem. There is a .dll file I have to use with this header ? I guess its the file ftd2xx.dll, located in "C:\Program Files\Thorlabs\APT\APT Drivers\USB Driver\i386" ? I havent got any APT Programming Manual. Where can I find it ?
Thorlabs  (posted 2010-09-03 16:45:55.0)
response from Javier at Thorlabs to marc.cizeron: the header file that we have put together basically consists of the declarations described in the APT Programming Manual. Low level programming in general will require the user to adapt the given information to the specific local requirements. Code might have to be changed or created by the user in such case since the intended way of communicating with the device is via the supported Active X container. We will contact you directly to check if we can give further advise for your specific configuration.
marc.cizeron  (posted 2010-09-03 10:59:11.0)
Im sorry to bother you, but the header you sent me have a lot of C++ error. I cant understand how can I use it. Could you resend-me a correct header, or somme documentation about how to use it ?
Thorlabs  (posted 2010-08-20 10:54:29.0)
Response from Javier at Thorlabs to bob.m.robertson: Thank you for your feedback. All of the APT software support documents and files are available for download on the web (see Software tab). We can send a C++ header file to customers who prefer bypassing the ActiveX platform and would like to develop their application in C++. We do not support Python, so we do not have example programs developed in this environment.
bob.m.robertson  (posted 2010-08-20 05:26:10.0)
I want to use a TDC001 with a low level serial library to use it in a python programm. Sadly, I havent figured how to do that correctly. From the other feedback I understant that there is some low-level communication manual or even an example program. Could you send them to me? (Why those documents are not easily downloadable?) Thank in advance
Thorlabs  (posted 2010-08-18 13:19:23.0)
Response from Javier at Thorlabs to julien.jaeck: I will send you the C++ header shortly.
julien.jaeck  (posted 2010-08-18 10:21:58.0)
Hi, like many people I cant use the ActiveX control correctly with my programs. Is it possible to have C++ headers and/or a library? Thanks in advance.
Thorlabs  (posted 2010-08-16 13:05:02.0)
Response from Javier at Thorlabs to colm.fallon5: Thank you for your feedback. We can certainly take your control unit back for inspection and repair. I will contact you directly.
colm.fallon5  (posted 2010-08-16 09:18:15.0)
Hi, I have an old faulty product. IS there anywhere I can get it repaired?
Thorlabs  (posted 2010-07-29 17:55:58.0)
Response from Javier at Thorlabs to marc.cizeron: I will send you the files shortly.
marc.cizeron  (posted 2010-07-29 18:25:58.0)
Dear Sirs, like Zoltán Vörös, I dont whant to use the ActiveX module, and I you like to whrite my own programme in C++ or C#. Where can I find the c++ headers and library file. Sincerely yours, Marc Cizeron.
Thorlabs  (posted 2010-07-21 15:20:44.0)
Response from Javier at Thorlabs to elgooga: I will send you the document shortly.
elgooga  (posted 2010-07-21 15:00:51.0)
Can I also get the guide too? Thanks.
Thorlabs  (posted 2010-07-19 11:19:45.0)
Response from Javier at Thorlabs to Steven: I will send you a guide for the implementation of our APT software into LabVIEW. It should help clarify most, if not all, of the questions that might arise in your application.
stevenpaulmaxkeith  (posted 2010-07-14 17:04:08.0)
Thanks a million Oli, that really did the trick! Now all that seems to be needed is a more detailed breakdown of all the ActiveX methods and properties available in LabView. Findings of good examples of their specific uses outside the official documentation are sparse and generally lackluster. Oh well. Thanks again for the help!
user  (posted 2010-07-14 06:19:44.0)
A response from Oli at Thorlabs to Steven: Hi, you can alter this by changing the zero offset of the home position. This can be found under the stage/axis tab. If you alter it by 0.7351, this should solve the problem. If not, dont hesitate to contact us!
stevenpaulmaxkeith  (posted 2010-07-13 16:06:41.0)
Hello, I want to reset the GUI so that when I press Home the motor moves my PRM1Z8 to the physical location of zero. It currently moves to -0.7351 and I havent found a simple explanation of a way to change this. Thanks ThorLabs!
user  (posted 2010-07-08 08:24:17.0)
A response from Oli at Thorlabs: Hi, the latest release (v 2.10.0) is compatible with 32 bit windows 7 (download X86). Unfortunately the 64 bit version is not yet released (which is why we dont state compatibility), but is due in the next few weeks. The download is here; http://www.thorlabs.co.uk/software_pages/ViewSoftwarePage.cfm?Code=APT
user  (posted 2010-07-07 15:18:22.0)
When will support for windows 7 be added? I see below that it was meant to arrive by the end of June--is there a new software release pending, or has the deadline been shifted? Thanks!
Thorlabs  (posted 2010-07-07 15:42:24.0)
Response from Javier at Thorlabs to claude.lemen: thank you for your feedback. The actuator should run at the desired velocity below, but you are approaching the motion limits of the device. These actuators are not constant velocity so there will always be a delay in the acceleration start and the de-acceleration stop. Also, the response of the motor changes as it undergoes wear an tear over time. Modifying the PID settings would help, although we are not sure to which extent, since each actuator performs slightly different due to the mechanics.
claude.lemen  (posted 2010-07-04 12:59:59.0)
I use a TDC controller with a Z812 motor ... Very easy implementation was done using Labview and DirectX Control ... However, due to the very precise closed loop control (0.0001mm), the Step I want to do (typ. 0.15mm) are a bit slow to me(0.5s) ... PID could be adjusted in the Settings, but do not allow to accelerate so much, due to the precision of 0.1 microns required by the closed loop ... I dont need such a precision, 1 micron or less would be enough for me ... Is there a possibility to adjust this parameter so that PID could be increased to accelerate the jog (0.15mm) to something like 0.1 s (or better) Many thanks Claude
Thorlabs  (posted 2010-06-28 15:39:40.0)
Response from Javier at Thorlabs to zvoros: I will send you a file with C++ header and library files for developing your own command line application. Also, I would encourage you to sign up for our open forum, where you will find more useful information about application development. You can sign up through this link: http://forums.thorlabs.com/index.php
zvoros  (posted 2010-06-28 09:00:07.0)
Dear Sirs, I would actually like to ask a technical question related to TDC001. I would like to write a command line application for Windows in C++, and I was wondering where I should find the header and library files for that. I have searched for them in the folders that were installed with the APT package, but couldnt find anything relevant. I definitely dont want to write an application with GUI, therefore, the supplied ActiveX module is out of question. Sincerely yours, Zoltán Vörös
Javier  (posted 2010-06-21 16:33:34.0)
Response from Javier at Thorlabs to last poster: we will make sure to update the documents for our motion control software with the correct instructions.
user  (posted 2010-06-21 15:47:51.0)
Regarding Stephens comments from March, I had the exact same problem, and fortunately, unplugging the device and plugging it back in cleared the error. I should note that this operation is the opposite of what the installation instructions say in numerous places, and there is no mention of power cycling the device after the initial setup is complete. It would be very helpful to future users to revise the installation instructions.
Adam  (posted 2010-05-28 09:37:05.0)
A response from Adam at Thorlabs to mrubio: I can send this data to your email address. I will contact you immediately.
mrubio  (posted 2010-05-28 06:39:13.0)
I would like to use a unix box to control a PT1/M-Z8 actuator attached to a TDC001. Where can I find the low level communications reference manual or programming examples?
Adam  (posted 2010-05-03 09:20:33.0)
A response from Adam at Thorlabs to johann: We do have a Labview programming guide that we can send to you. I will send it immediately. Please also note that programming tutorials can be found on this website under the tab video tutorials.
johann.georges-des-aulnois  (posted 2010-05-03 04:37:13.0)
Hello, I use a TDC1 with a PRM1/MZ8 since a few months. Ill have to use a labview RT infrastructure very soon and I would like to have a labview exemple that will work with it. Please contact me by email about that
jens  (posted 2010-04-01 17:59:14.0)
A reply from Jens at Thorlabs to Wing: yes, the TDC001 can be used with the DC motors in the T25 stage. Since the stage was originally used with the ODC controller you will need an adapter cable Z600-TCab1 which can be requested via techsupport@thorlabs.com. We will send price information via email.
wwong  (posted 2010-04-01 17:22:51.0)
Dear Sir: Can TDC001 drive T25XYZ linear stage? Thanks, Wing Wong 310 349 2465
jens  (posted 2010-03-29 17:48:37.0)
A reply from Jens at Thorlabs to Stephen: a possible reason could be that the controller was switched on before the USB cable was connected to the control PC. Please close the APT configuration software and power cycle the controller, i.e. simply switch off and wait a few seconds, than turn on again. The link should now be established.
stephen.roberson2  (posted 2010-03-29 17:38:13.0)
I just got the TDC001 motor, Z825B stage, and APT software earlier today. Im trying to get my TDC001 to work using the computer, but Im not having much success. I installed the software like the manual says, but when I run the APT configuration utility program, the TDC001 does not even show up as a choice in the motor pop-up menu. Additionally, my stage is a Z825B and there is not a choice for that stage in the APT configuration utility program. I have uninstalled and reinstalled the software three times with the same result. I am running version 2.9.0 according to the disk I installed. I dont know what more to do. Please help me.
user  (posted 2010-03-17 06:48:54.0)
A response from Oli at Thorlabs to Michaelorger: Unfortunately we dont currently support 64 bit Windows 7. The next release will support Win 7 64bit via its 32bit emulation (WOW) and should be ready by the end of June. As a quick fix until then you should be able to get it to run in a virtual XP environment on your windows 7 machine.
michaelorger  (posted 2010-03-16 20:33:44.0)
When I connect my tdc001 controller to a computer running windows 7 64bit, I go straight to a blue screen of death. When I try to install the APT software, the installer aborts mid-install. Is this expected, and if so, will Windows 7 64 bit support be added soon?
jens  (posted 2010-02-28 14:56:54.0)
A reply from Jens at Thorlabs to Vladimir: I will send you an example program in C++. Also in the APT help folder there is a link to the APT Server Help, which inlucdes descriptions for all the methods used for the different T-cube products. Further on if you are interested you can register at http://forums.thorlabs.com/ to get access to a forum where some of our customers have posted their programming examples.
vladimirlee  (posted 2010-02-27 22:42:45.0)
I am interested in using c++ or python combined with serial library to talk with TDC001, but havent really figured out how to do that. Could you show me an c++ example if possible?
jens  (posted 2010-02-05 12:20:03.0)
A reply from Jens at Thorlabs: the controller chips is a USB 2.0, but it also supports USB1.1. A distance of 50 meter with a USB cable connection will not work due to the general design of USB links. It was basically optimized for desktop applications. After at most 5 meter you will have to use a powered USB hub and with that you can extend the lenght from about 5 meter for a single cable to about 25 meter using 5 hubs. It should work if you could place a computer/laptop closer and go via a network link to the final location.
neil.roberts  (posted 2010-02-05 10:51:40.0)
Is the TDC001 USB2.0 or USB1.1? And is it compatible with USB extenders as I would need to mount it about 50m away from the PC?
leichner  (posted 2009-08-04 17:23:32.0)
The APT software(s) are ActiveX controls, by default there are no individual programming libraries including VIs for LabView. Once an AcitveX control is imported into an application programming environment that supports ActiveX then all the methods (functions) will be created in that application. There are tutorial videos that can start you off in LabView, LabWindows CVI, VB and Visual Studio C++ 2008 (MFC, Microsoft Foundation Classes). These are typical helpful and can be downloaded fromt eh Thorlabs webpages. You can also find some sample programs that we included onthe distribution software CDROM. They are also typical and more then likely will not be sufficient but they are sample code and will assist you in developing your own application.
jens  (posted 2009-06-18 18:36:45.0)
A reply from Jens at Thorlabs: indeed for a non-Windows system the standard APT software will not be useful, but it is still possible to use the unit even without Active X controls and other Microsoft related features. At the moment an ethernet based solution is not available but I can share with you some low level programming example which would allow you to run the TDC001 on a unix system using standard C++ and libserial library features
marc.dubois  (posted 2009-06-18 11:43:49.0)
I cannot use this product (and other cubes) because its using only USB interface for communication. For non-Windows applications (I am running Real-time OS), it is useless. Most universal and best communication is Ethernet.
maruko  (posted 2008-09-06 12:22:48.0)
I have some questions. I have written the program as shown in the APT Programming using LabView - Part 5 How to Start an ActiveX Control, by using Labview 8.5.1. But the error appears in the property node which sets the serial number of the TDC001. Are there some problems in my understanding, or in the version of the labview. And also, I gess whether it is nessesary to set the configuration of the motor and the stage, before the use of the method node of "startCtrl" and "stopCtrl".
Tyler  (posted 2008-06-06 09:49:09.0)
A response from Tyler at Thorlabs to hansm: The APT software includes apt controllers that can be easily implemented into a programming environment like LabVIEW. The APT software also includes a graphical interface that gives the user full access to all of the capabilities of the device driver. The graphical interface for the TDC001, TST001, and TPZ001 controllers also allows the user to enter sequences of movements that can be repetitively executed. Thank you for your interest in the TDC001 and if you have any further questions feel free to post them here or contact an applications engineer.
hansm  (posted 2008-06-05 18:46:34.0)
Does the APT software include a labview program, i.e., is there a simple way of controlling the TDC001 from a labview program? Thanks, Hans
technicalmarketing  (posted 2008-01-22 16:31:49.0)
The ActiveX controls that are part of the apt software suite included with the TDC001 are compatible with LabVIEW 6.1 as well as other programming environments like Visual C++, Borland C++, HP VEE, Visual Basic, Matlab, and Microsoft office via VBA. The software is available for download at http://www.thorlabs.com/Support.cfm?Section=7&pageRef=5.
michael.heer  (posted 2008-01-22 11:36:46.0)
i plan to buy a tdc001. does tdc001 support labview 6.1?
Back to Top

K-Cube™ブラシ付きDCサーボモーターコントローラ


Click to Enlarge

View Product List
型番数量Description
Product List
KCH6011USBコントローラーハブ&電源、K-CubeまたはT-Cube 6台用
KDC1011K-Cubeブラシ付きDCサーボモーターコントローラ(電源別売り)
KST2011K-Cubeステッピングモーターコントローラ(電源別売り)
KPZ1011K-Cubeピエゾコントローラ(電源別売り)
TSG0011T-Cube歪ゲージリーダ(電源別売)
TSC0011T-Cubeソレノイドコントローラ (電源別売)
KAP1012アダプタープレート、KCHシリーズ&幅60 mm T-Cube用
K-CubeならびにT-Cube™モジュールを取り付けたUSBコントローラーハブKCH601(別売り)
(T-CubeにはアダプタKAP101が必要)
  • 前面パネルに電動ステージやアクチュエータ制御用の速度ホイールとデジタル表示画面
  • 2つの双方向トリガーポート(外部機器からの信号読み取りや外部機器の制御用)
  • 付属のUSBケーブルでPCに接続
  • Kinesis®ならびにAPT™ソフトウェアパッケージに対応
  • コンパクトな設置面積:60 mm x 60 mm x 49.2 mm
  • 電源は付属しません(下記参照)

当社のK-Cube™ブラシ付きDCモーターコントローラKDC101は、1台のモータの回転軸を手動またはPCで制御します。上面のコントロールパネルには速度ホイールがあり、位置のプリセットに加えて、順方向ならびに逆方向のジョグ動作と双方向の4段階速度制御が可能です。上面パネルのデジタル表示にはバックライトが付いており、メニュー選択により暗くしたり消灯したりすることが可能です。ユニット前面には双方向のトリガーポートが2つあり、5 Vの外部ロジック信号を読み取ることや、5 Vロジック信号を出力して外部機器を制御することができます。それぞれのポートの機能は独立に設定することができます。

このユニットは当社の新しいKinesisソフトウェアパッケージならびに従来のAPTコントロールソフトウェアに対応します。詳細は「モーションコントロールソフトウェア」のタブをご覧ください。

このコントローラには電源が付属しませんのでご注意ください。対応可能な電源は下記に掲載されています。

+1 数量 資料 型番 - ユニバーサル規格 定価(税抜) 出荷予定日
KDC101 Support Documentation
KDC101K-Cubeブラシ付きDCサーボモーターコントローラ(電源別売り)
¥105,854
Today
Back to Top

電源

photo of power supply options
Click to Enlarge

電源ユニットKPS201(日本国内向けアダプタと共に発送します)
  • 電源(単体)
    • KPS201: K-Cubes™ 、T-Cubes™ 用、3.5 mmジャック付き
  • 電源供給と通信機能を備えたUSBコントローラハブ
    • KCH301: 3台までのK-CubeまたはT-Cube用
    • KCH601: 6台までのK-CubeまたはT-Cube用

電源KPS201の出力電圧は+15 VDC、最大電流は2.66 Aで、3.5 mmジャックで1台のK-CubeまたはT-Cubeに電力を供給します。標準的な壁コンセントに接続して使用します。

USBコントローラーハブKCH301およびKCH601は次の2つの機能を有しています。1つはハブ機能で、最大3台(KCH301)または6台(KCH601)までのK-CubeまたはT-Cubeをサポートします。もう1つは電源機能で、標準的な壁コンセントに接続するだけで必要な電力の供給を行います。ただし、ハブが供給できる最大電流は10 Aです。お使いになる全Cubeの必要電流が合計で10 A以上にはならないことをお確かめください。 また、このハブに取り付けられたすべてのT-CubeやK-Cubeに対して、1本のUSBケーブルで接続することができます。

USBコントローラハブの詳細は、製品ページをご参照ください。

+1 数量 資料 型番 - ユニバーサル規格 定価(税抜) 出荷予定日
KPS201 Support Documentation
KPS201K-Cube&T-Cube単体用電源、15 V、2.66 A、3.5 mmジャック付き
¥5,525
Today
KCH301 Support Documentation
KCH301USBコントローラーハブ&電源、K-CubeまたはT-Cube 3台用
¥82,012
Today
KCH601 Support Documentation
KCH601USBコントローラーハブ&電源、K-CubeまたはT-Cube 6台用
¥99,259
Today