Kinesis®とLabVIEW


Kinesis®とLabVIEW
  • Use Kinesis with LabVIEW
  • Download Example Virtual Instruments

KDC101 WinForm User Interface in LabVIEW

MAX301 3-Axis Flexure Stage with a Stepper Motor, Thumbscrew, and Differential Actuator Attached to the X, Y, and Z Axes, Respectively

KDC101

DC Servo Motor Controller

MTS50-Z8

50 mm DC Servo Translation Stage



Please Wait

LabVIEWはグラフィカルプログラミングインターフェイスであり、Kinesis .NETコントロールのコンポーネントを使用することで当社のあらゆるKinesis®対応のコントローラと通信することができます。これらの.NETコントロールは、Kinesisモーションコントロールソフトウェアパッケージに含まれています。

このチュートリアルでは、KinesisソフトウェアとのインターフェースになるLabVIEW VIの例について解説します。これらの例ではKinesisソフトウェアインストールパッケージに含まれるControls.dllファイルを利用しています。ダイナミックリンクライブラリ(DLL)形式のアセンブリには、Kinesisユーザーインターフェイスの要素や基本的なデバイス機能を含むWinFormsのコントロールが含まれます。これらのコントロールを使用することで、当社のKinesisソフトウェアをLabVIEWで簡単に使い始めることができます。

各タブの説明:

  • LabVIEW:KinesisをLabVIEWで使用するときの基本情報
  • 準備:サンプルVIを使用するために必要なソフトウェアのインストール方法
  • サンプルVI:当社の様々なコントローラのためのサンプルコード
  • DLL:機能向上のためにDLLを追加する方法に関する情報
  • その他のプログラム:KinesisとC#のインターフェースについてのチュートリアルおよびサンプルコード

KinesisをLabVIEWで使用するための総合的なガイドは、こちらまたは右側にあるボタンをクリックしてダウンロードできます。このガイドでは、LabVIEWにKinesis .NETコントロールによるカスタム仕様のVIを作成するための手順を段階的に説明しています。

LabVIEW GUI
Click to Enlarge

図1:KinesisデバイスパネルUIの「View」画面はLabVIEWのフロントパネルに表示されます。
LabVIEW GUI
Click to Enlarge

図2:Kinesisに対応するデバイスとの通信の初期化と終了を行うための
基本的なVIのブロックダイアグラム
LabVIEW GUI
Click to Enlarge

図3:マルチチャンネルのデバイスでは、各デバイスのチャンネルを適切に初期化できるように
ブロックダイアグラムにチャンネル番号を割り当てる必要があります。

LabVIEW

LabVIEWは、Kinesis .NET dllを介して当社のあらゆるKinesis®対応のコントローラとの通信に使用できます。付属する多くのダイナミックリンクライブラリ(.dlls)のうち「Controls.dll」は.NET WinFormsユーザーコントロールを提供しており、これらはデバイスのユーザーインターフェイス(UI)要素をサポートし、デバイスのメソッドやプロパティへのアクセスを可能にします。

その一例として、K-Cube DCサーボコントローラKDC101のKinesisグラフィカルユーザーインターフェイス(GUI)を図1に示しています。この「View」(UI)は、Kinesis.exeのアプリケーションで見るのと同様にLabVIEWのフロントパネルに表示され、またユーザはLabVIEWのブロックダイアグラムに示されるバックエンドで動くKinesis .NETのメソッドやプロパティにもアクセスできます。

.NETの「Controls.dll」をLabVIEWのフロントパネルに挿入すると、すべてのKinesis対応デバイスのユーザーインターフェイスを読み込めるようになります。K-Cube DCサーボコントローラKDC101の場合、デバイスのシリアル番号を入力して「CreateDevice()」を選択すると、このデバイスのUIは初期化されます(図2参照)。それによりデバイスは接続され、図1のようなUIが表示されます。

ベンチトップ型コントローラBSC202やラックモジュール型コントローラMPZ601のようなマルチチャンネル構造のコントローラは、チャンネル番号も指定する必要があります。図3の例のように、2つの独立したUIパネル(各チャンネルごとに1つ)が作成され、それぞれ独立に操作することができます。

ダウンロード可能なVIのサンプルについては、「サンプルVI」タブに注釈つきで記載されています。ご提供しているサンプルVIは特定のコントローラに関係しており、ハードウェアのタイプ(モータ、ピエゾおよびピエゾモータ、歪みゲージリーダなど)によって分類されています。Kinesisシミュレーターアプリケーションに接続可能なシミュレータVIもございます。これらのサンプルはLabVIEW 2012互換形式で保存されています。

当社のモーションコントロールハードウェアを用いて自作のVIを構築するヒントについてはKinesis LabVIEWガイドをご覧ください。

これらのサンプルに関する質問やご意見がございましたら、当社までご連絡ください。

 

LabVIEW GUI
Click to Enlarge

図6:フロントパネルに表示されたデバイスの「View」
LabVIEW GUI
Click to Enlarge

図5:お使いのデバイスの種類から
.NET Controlを選択します。
LabVIEW GUI
Click to Enlarge

図4:LabVIEWのフロントパネルに
.NET Containerを挿入します。

.NETコントロールの挿入方法

  1. フロントパネル上で右クリックして「.NET container」を選択し、フロントパネル上に置きます(図4)。
  2. .NET containerを右クリックして「Insert .NET control...」を選択します。
  3. 「Select .NET Control」ウィンドウの「Browse...」をクリックします。
  4. LabVIEWプロジェクトホルダにある「Thorlabs.MotionControl.Controls.dll」を選択します。
  5. 「Controls」のリスト内から使用するコントローラを選択します(図5)。
  6. LabVIEWのフロントパネルにKinesisデバイスのユーザーインターフェイスが表示されます(図6)。これで、ブロックダイアグラムを介してデバイスのメソッドとプロパティにアクセス可能になります。なおデバイスのUIには、VIが動作してコントロールが初期化されるまで「Disconnected」と表示されます。

 

LabVIEW GUI
Click to Enlarge

図9:「Functions」パレットを使用した
プロパティとメソッドの挿入

プロパティとメソッドへのアクセス

コントロールのリファレンスノードから、CreateDevice()やCloseDevice()のようなコントロールのメソッドとプロパティにアクセスできます。ノードを右クリックするとデバイスとの通信を初期化または終了することができます。CloseDevice()はセッション終了時に通信を終了し、.NETライブラリをシャットダウンしてUIをリセットします。

デバイスのメソッドとプロパティはデバイスのプロパティリファレンスからアクセスできます(図7参照)。T-cubeまたはK-cube型のデバイスの場合は、このプロパティは「Device」と表示されます。ラックモジュール型およびベンチトップ型のハードウェアの場合は、デバイスのプロパティとメソッドはデバイスの種類ごとのプロパティラベル(「ModularPiezo」または「BenchtopStepperMotor」)からアクセスできます(図8参照)。

また、LabVIEW .NETの接続機能を利用してKinesis .NET SDKを作成して通信することができます。ファンクションパレット内で「Connectivity > .NET」を選択すると.NETオブジェクトと通信するためのすべての機能にアクセスできます(図9参照)。

LabVIEW .NETの接続機能の詳細についてはKinesis LabVIEW ガイドをご覧ください。

LabVIEW GUI
Click to Enlarge

図7:デバイスのプロパティリファレンスからの
プロパティとメソッドへのアクセス
LabVIEW GUI
Click to Enlarge

図8:K-Cube、モジュラーラック型、ベンチトップ型デバイスの
フォーマットからのプロパティおよびメソッドへのアクセス

 

LabVIEW GUI
図10:MotorStateUpdateのようなイベントをフロントパネルに登録

イベントに伴う動作

LabVIEWのレジスタイベントコールバックを使用してEvent Callback VIを作成できます。これにより、VIは特定の条件下で呼び出されることになります。モータのステータス更新(図10参照)、接続の変更、設定の更新、エラーの更新など、基本的なイベントがそれにあたります。これらのイベントについての詳細はKinesis .NET APIをご覧ください。この例はKDC101のモータのステータスの変更に関するチュートリアルでご提供しており、モータのステータスが変わった時にプログラミングされた通りに動作します。

LabVIEW GUI
Kinesis DLLファイル(上にリストアップされているようなファイル)はお客様のLabVIEWプロジェクトフォルダにコピーしておいてください。

準備

サンプルVI」タブ内のサンプル仮想計測器(VI)を使用する前に以下の手順に従って準備を行ってください。

  1. Kinesisソフトウェアをインストールします。Kinesis/コンポーネントDLLファイルのバージョン(32ビット版 or 64ビット版)がLabVIEWおよびOSのバージョンに適合しているかどうか確認してください。付属するサンプルは当社のモーションコントロールソフトウェアのバージョン1.14.12を使用して構築されています。
  2. サンプルVIを動作させるために、コンポーネントDLLファイルをKinesisインストールフォルダから「Kinesis LabVIEW Examples」フォルダにマニュアルでコピーしてください。Controls.dllは、一般にはすべてのKinesis DLLファイルがプロジェクトフォルダにコピーされていることを必要とします。
  3. Thorlabs.MotionControl.Controls.dllからユーザーインターフェイスを正しく読み込むために、「LabVIEW Project Explorer」を用いてVIを開きます。

 

サンプルVI - フロントパネルの概要

LabVIEW VIにはアプリケーションを構築するためのウィンドウとして、フロントパネルとブロックダイアグラムの2つがあります。LabVIEWのフロントパネルにはVIのフロントエンドユーザーインターフェイスのコンポーネントが表示されます。各サンプルVIのフロントパネルは、VIを簡単に使用できるように手順や機能が表示されるようにフォーマットされています。これらの機能の概要とLabVIEWのフロントパネルの主要なインターフェイス機能について以下で説明しています。

説明:

  1. LabVIEWのツールバー。VIはここで起動します。
  2. このサンプルVIを使用するデバイス名、およびWebページへのリンク
  3. サンプルVIの概要と操作手順の説明
  4. フロントパネルで機能するコントロールおよびインジケータ(なお、デバイスのUIにはVIが動作してコントロールが初期化されるまで「Disconnected」と表示されます。)
  5. サンプルVIを動作させる際のヒント

LabVIEW GUI

LabVIEW Sample VIs


Kinesis LabVIEWのサンプルVIをダウンロードするには、こちらまたは左側のボタンをクリックしてください。 これらのサンプルはLabVIEW 2012互換形式で保存されています。

注:Kinesis LabVIEWのサンプルVIは、当社の主要なデバイスに素早く接続して制御することを目的として作られています。プログラミングの練習を目的としたものではございません。シンプルにするために、ディレクトリの設定やエラー処理のような多くのプログラミング技術が省略されています。

サンプルVI
Item #, Typeサンプル名説明
Motor Controllers
KDC101
K-Cube, Brushed DC Servo
Build Device ListこのサンプルVIは、お使いのデバイスのシリアル番号をマニュアルで入力することを要求します。ただし、このVIは接続されているデバイスのリストを作成し、ユーザが制御するデバイスのシリアル番号を選択するまで待機します。
Connectブラシ付きDCサーボモータ駆動のステージやアクチュエータを制御するために必要な、KDC101との通信の初期化や切断の方法についてデモンストレーションします。
Get PositionGet Positionは、ステージの位置をデバイスの単位で出力するGetPositionCounter()メソッドを用いて、デバイスの位置をポーリングします。この位置情報はデバイスの単位(エンコーダーのカウント数)から実空間の単位(ミリメートル)に変換されますが、そこではモータ1回転あたりのエンコーダーのカウント数、変速機の減速比、送りネジのピッチなどが考慮されます。
Motor Status ChangedこのVIはモータのイベントを利用できるようにします。イベントにはモーターステータスのアップデート、接続の変更、設定の更新、エラーの更新などが含まれます。このVIはモーターステータスのアップデートを利用します。LabVIEWのレジスタイベントコールバックを用いて、イベントコールバックサブVIを作成できます。
Move Absoluteデバイスをホーム位置に戻し、また任意の場所に移動させることができます。
No Front PanelThorlabs.MotionControl.Controls.dllファイル内のWinFormsUIコントロールに含まれない当社のモーションコントロールデバイスとの通信方法を示します。このVIは、Kinesisをインストールした際に含まれるより範囲の広い一般的なDLLコンポーネントとデバイス固有のDLLコンポーネントに焦点を当てています。
KBD101
K-Cube, Brushless DC Servo
Get Status BitsGetStatusBitsメソッドによってステータスビットをポーリングします。
Set Trigger Parameters当社のあらゆるK-Cubeデバイスで利用可能なトリガーパラメータの検索を可能にします。
Set Velocity Parameters接続されているデバイスの速度パラメータのモニタおよび設定を行います。
BBD202
Benchtop, Brushless DC Servo
Two-Axis Scanユーザが定義した開始位置から2次元正方形のラスタ走査を行います。ユーザはステップ数、ステップサイズ、および走査位置でのステージの停止時間を設定できます。
KST101a
K-Cube, Stepper
Move Relativeデバイスのホーミングをはじめとして、ホーム位置から前方(時計回り)または後方(反時計回り)に向けて、有効範囲内の任意の位置(距離)に移動させることができます。
Piezo / Piezo Motor Controllers
KPZ101
K-Cube, Piezo Controller
ConnectピエゾコントローラKPZ101との接続方法および切断方法のデモンストレーションを行います。
Waveform LUTControls.dllに含まれていないピエゾデバイスに利用可能なLUTWave機能が使用できるようになります。LabVIEWに組み込まれているSine Waveform.VIを利用して、振幅調整可能な正弦波を出力することができます。この機能の詳細については、.NET APIのLUTWaveParams()ストラクチャで説明されています。
KPZ101 w/ KSG101
K-Cube, Piezo Controller and Strain Gauge Reader
Set PositionピエゾコントローラKPZ101を歪みゲージコントローラKSG101と組み合わせて使用した時の、開ループおよび閉ループでの操作についてデモンストレーションします。開ループモードの時はピエゾアクチュエータの電圧を調整できます。閉ループモードの時はSetPercentageTravel()関数を用いて位置調整ができます。
BPC301
Benchtop, 1 Channel Piezo Controller
ConnectコントローラBPC301との接続方法および切断方法についてデモンストレーションします。
Waveform LUTControls.dllに含まれていないピエゾデバイスに利用可能なLUTWave機能が使用できるようになります。LabVIEWに組み込まれているSine Waveform.VIを利用して、振幅調整可能な正弦波を出力することができます。この機能の詳細については、.NET APIのLUTWaveParams()ストラクチャで説明されています。
BPC303
Benchtop, 3 Channel Piezo Controller
Two-Axis ScanBPC303のあらかじめ選択したチャンネルを用いて2次元正方形のラスタ走査を行います。このVIにはエラー処理用のクラスタがあり、エラーメッセージや対応するコードをプリントアウトします。
MPZ601
Rack, Modular 2 Channel Piezo Controller
ConnectコントローラMPZ601との接続方法および安全な切断方法についてデモンストレーションします。
PPC001, PPC102b
Benchtop, Precision Piezo Controller
Continuous Scanデバイスとの接続を可能にし、ユーザが指定した遅延およびステップ幅でピエゾの位置を直線的にインクリメントします。ステージを前方に5000ステップ移動し、その後、後方に5000ステップ移動します。このサンプルVIはPFM450E、PGM1SE、LPS710Eaに対応しています。
KIM101
K-Cube, Inertial Piezo Controller
Set Jogジョグパラメータの設定とジョグモードの切換えを行うことができます。またコントローラKIM101の特定のチャンネルに対する制御をアサートすることができます。
Strain Gauge Reader
KSG101
K-Cube, Strain Gauge Reader
Get Max Travel Range接続された歪みゲージコントローラの最大移動量を取得できます。
Get Reading表示モードを、位置、力、電圧のどれかに設定し、選択したモードに基づいて読み取りを行います。
Nanotrak Auto-Alignment Controllers
KNA-VIS, KNA-IR
K-Cube, Nanotrak Controller
Latch Trak操作モードをトラックモードまたはラッチモードに設定できます。
Set Circle Diameter走査するサークル径を0~10 NTの範囲で設定できます。
Set Loop Gainループ利得の設定と読取りを行います。ループ利得は0~32767の間で設定できます。
Set Phase ComponentHおよびV成分の位相補償または走査サークルの角度の設定ができます。
BNT001/IR
Benchtop, Nanotrak Controller
ConnectデバイスBNT001との接続および安全な切断についてデモンストレーションします。
Set Circle Home PositionGetCircleHomePosition()メソッドを用いて走査サークルのホーム位置を設定できます。
MNA601 w/ MST602
Rack, Nanotrak Controller with Stepper Motor Controller
Two-Axis Scan自動ファイバーアライメントシステムのためにコントローラMNA601およびMST602と接続する方法をデモンストレーションします。MAX381のようなステッピングモータ付きフレクシャーステージと組み合わせて使用すると、ファイバーアライメントの自動調整ができます。このVIでMPZ601のピエゾ出力によるシンプルな2次元ラスタ走査が開始されます。その走査はMNA601が十分な光電流を検知すると停止します。
Two-Axis Revector自動ファイバーアライメントシステムのためにコントローラMNA601およびMST602と接続する方法をデモンストレーションします。MAX381のようなステッピングモータ付きフレクシャーステージと組み合わせて使用すると、ファイバーアライメントの自動調整ができます。このVIでMPZ601のピエゾ出力によるシンプルな2次元ラスタ走査が開始されます。その走査はMNA601が十分な光電流を検知すると停止します。
MNA601 w/ MPZ601
Rack, Nanotrak Controller
Two-Axis Scan自動ファイバーアライメントシステムのためにコントローラMNA601およびMST602と接続する方法をデモンストレーションします。MAX381のようなステッピングモータ付きフレクシャーステージと組み合わせて使用すると、ファイバーアライメントの自動調整ができます。このVIでMPZ601のピエゾ出力によるシンプルな2次元ラスタ走査が開始されます。その走査はMNA601が十分な光電流を検知すると停止します。
Solenoid Controller
KSC101
K-Cube, Solenoid Controller
Set Operating ModeこのVIはデバイスを「Auto」モードに設定します。このモードでは、上面パネルのホイールを上げるとソレノイドが連続的に開閉します。設定されたモードは「Set Operating Mode」ボタンで変更することができます。プログラムはブロックダイアグラムのケースストラクチャを制御する「Set Operating Mode」ボタンの更新をポーリングします。これを行うと、コントロールの下に入力された「Auto」モードのパラメータによりデバイス設定が更新されます。
Laser Sources
KLS635KLS1550
K-Cube, Laser Sources
Set Powerレーザ出力のOn/Off設定やレーザ光源の出力パワーの設定ができます。
Simulator
Simulated Hardware
-このシミュレーションでは、Kinesis simulator applicationを使用してVIを挿入し、シミュレートされたハードウェアを利用することができます。
  • KST101は旧製品のステッピングモーターコントローラです。
  • これらのコントローラは対物レンズ用スキャナ PFM450E、Z軸移動ステージLPS710E/Mに含まれています。

このチュートリアルでは、UIパネルをロードしてKinesisハードウェアを利用するための直接的な方法として主にWinForms User Controls library (Controls.dll)を使用していますが、Kinesisソフトウェアのインストール時に含まれている他の.NET DLLによるより高度な機能にアクセスすることも可能です。この機能の詳細はKinesis .NET APIのヘルプファイルに記載されています。

サンプルVI」タブの以下のサンプルはControls.dllライブラリ以外の機能を利用しています。

  • KDC101 - No Front Panel
  • BPC301 - Waveform LUT
  • KPZ101 - Waveform LUT
  • KPZ101 w/ KSG101 - Set Position
LabVIEW GUI
BuildDeviceListメソッドはDeviceManagerCLIコンストラクタノードにドロップすることでアクセスできます。
LabVIEW GUI
「KCube.DCServo.dll」内のメソッドに直接アクセスできます。

当社のKinesis®ソフトウェアでは.NETコントロールが使用できるため、C#、Visual Basic、LabVIEW™、その他の.NET対応言語を使用できる開発者はカスタムプログラムを作成することができます。このソフトウェアは当社の新しいラインナップであるKinesisシリーズのデバイスだけでなく、APT™シリーズ製品にも対応しています。すべてのKinesisコントローラは、統一されたグラフィカルユーザーインターフェイス(GUI)とプログラミングAPIがサポートされており、カスタムプログラムの作成が可能です。USB接続によるプラグ&プレイでPC制御の操作を簡単に行うことができ、複数のユニットを接続した多軸モーションコントロールの構築も容易です。

C#を利用してKinesisソフトウェアと通信するサンプルは下記にございます。

チュートリアル

C#このプログラミング言語は複数のプログラミングパラダイムに対応するように設計されているため、複雑な問題を簡単かつ効率的に解決することができます。このパラダイムには型付け、命令型、宣言型、関数型、ジェネリック、オブジェクト指向、およびコンポーネント指向が含まれます。この一般的なソフトウェアプラットフォームにより、ユーザは1つのソフトウェアツールに関する知識があれば、単一のアプリケーションの中であらゆるKinesisコントローラを簡単に組み合わせることができます。低出力の1軸システムのコントローラから高出力の多軸システムのコントローラまで、あらゆるコントローラを組み合わせ、全てを1台のPCのソフトウェアインターフェイスから制御することができます。

Kinesisシステムソフトウェアには2つの使い方があります。1つはGUI(グラフィカルユーザーインターフェイス)ユーティリティを用いる方法で、すぐにコントローラの直接的な操作と制御を行なうことができます。もう1つは一連のプログラミングインターフェイスを用いる方法で、選択した開発言語によりカスタム仕様の位置決めやアライメント用のプログラムを簡単に作成することができます。

下のリンクをクリックすると、コンパイルして実行できるプロジェクト例をダウンロードできます。そこでは開発者がKinesisモーションコントロールライブラリを基に構築できる様々な方法を見ることができます。なお、Quick Startのプロジェクト例を実行するには、別に統合開発環境(IDE)(Microsoft Visual Studioなど)が必要です。C#のプロジェクト例はKinesisソフトウェアパッケージに付属する.NETコントロールを用いて実行することができます(詳細は「Kinesisソフトウェア」タブをご覧ください)。

C Sharp IconClick Here for C# Example Projects
Click Here for Quick Start Device Control Examples
C Sharp Icon

Posted Comments:
Cheolhee Han  (posted 2024-01-26 18:35:10.183)
Hello, I have the same problem raised by Tomas Popelar in the comments posted below. My Labview version is LV 2016 32 bit.
cstroud  (posted 2024-01-30 07:13:04.0)
Thanks for reaching out. Unfortunately we do not have any 32-bit versions of our Labview examples. I'll contact you directly to help guide you through creating 32-bit VIs.
ISHAN PANDEY  (posted 2024-01-21 22:26:13.11)
We bought MPC220 , motorized polarization controller. We are able to detect and control using kenesis software but not able to detetct by labview program. We have made the program in the same way given in the instruction. Please help how to do it ?
cstroud  (posted 2024-01-29 03:23:35.0)
Thanks for reaching out. I'll contact you directly to assist with your Labview program.
Tomas Popelar  (posted 2024-01-17 14:25:12.2)
Hello, I would like to have a version of "Kinesis with LabVIEW Examples.lvproj" that is compatible with my LabVIEW 2016 64-bit installation. I get the error message that it is newer than my installation. The VIs itself can be opened outside the Labview project, but cannot be accessed properly without opening the .lvproj. Thank you very much for your help in advance. Kind regards.
cstroud  (posted 2024-01-19 04:35:41.0)
Thanks for reaching out. I will contact you directly to send over a compatible version of the project.
Jia-Jung Ho  (posted 2023-08-29 15:12:56.66)
Hi, I was trying to use the Kinesis simulator example of LabView. However, I have trouble to wire the reference output of the simulated device to another example code (ex: Kinesis - KDC101 - Get Position) even if I have properly setup the Kinesis simulator. Could you please guide me through it?
do'neill  (posted 2023-08-31 04:17:28.0)
Response from Daniel at Thorlabs. I will reach out to you directly to help you with this and talk you through this.
Ganjaboy Boltaev  (posted 2023-07-03 19:45:42.8)
Hello, I am from American University of Sharjah, I would like to ask about LabVIEW driver (for LabVIEW 2020 version) for BSC201 motion controller. These item we recently bought from Thorlabs. here is model number (S/N 40358474) and for stage number is (S/N 168422), thank you in advance Ganjaboy
do'neill  (posted 2023-07-06 07:19:54.0)
Response from Daniel at Thorlabs. I will reach out to you directly to discuss this for you and help you with your application.
user  (posted 2023-05-24 15:03:41.453)
Hi Thorlabs, I am using Labview 2014. I downloaded Kenesis with Labview Examples LV12-v3. When I opened the main project, it displayed "File version is later than the current Labview version." And when I tried to insert the .NET control, I encountered the Error: "Error creating an instance of TCubeDCServoControl in assembly Thorlabs.MotionControl.Controls, Version=1.14.37.21486..... I am using TDC001 and successfully connected by using Kenesis. Please help. Thank you.
do'neill  (posted 2023-06-05 07:44:50.0)
Response from Daniel at Thorlabs. I will reach out to you directly with a backwards compatible example for the TDC001 and to further help with your application.
user  (posted 2023-05-13 11:01:44.52)
Howdy, I use the labjack MLJ150 for controlling vertical movement. However, I do not think there is correct labview VI in the example file to use that tool. Please send me propriate controlling file. I submitted this request two weeks ago, while still not figured out.
do'neill  (posted 2023-05-15 05:49:12.0)
Response from Daniel at Thorlabs. I will reach out to you directly to provide an example and discuss your particular application to try and get this resolved for you.
Bruno Ramirez  (posted 2023-01-19 10:24:54.69)
Hi! I am having trouble controlling a KCube DC Motor (KDC101) via LabVIEW (2022 Q3) with the Kinesis .NET container. I have followed the instructions in the "Kinesis with LabVIEW" guide and constructed the virtual instrument just as presented. However, when I run the program the .NET object doesn't start up and the message "No Suitable Devices Found" pops out. The Kinesis (1.14.36) program does recognize the KCube, but the LabVIEW .NET container never does. Any idea what might be happening?
JReeder  (posted 2023-01-19 10:34:52.0)
Thank you for your enquiry. I have reached out to you directly to help troubleshoot the issues you are having. Common troubleshooting questions are as follows: Have you used the correct serial number? Are the bit versions of LabVIEW and Kinesis the same? Have you saved the LabVIEW project and is the VI being written as part of that project? Have you copied across all the DLLs using the DLL Utility to the folder where the project is saved?
Richard Hainzl  (posted 2022-09-07 13:48:24.08)
I think it would good to have more complete examples for how to use the Kinesis motor controls from LabVIEW. I would have been very happy if there would be examples for all ways of moving the motor and maybe some special cases where you want to interrupt the motion and what to do when there have been hickups.
DJayasuriya  (posted 2022-09-08 04:46:21.0)
Thank you for your feedback. We do have some example but we would be happy to help with if you do have any issues. May we ask if you can get in touch with your local tech support team if you do have any issues.
Matthew Engstrom  (posted 2022-07-21 15:23:41.82)
Hello! My group is interested in using a Thorlabs piezo controller for a project, however the computer we plan on interfacing the controllers to is running Ubuntu (we won't be able to use DLLs) - is there any info available to help me get started with using Kinesis/APT devices in Linux? Thanks in advance!
cwright  (posted 2022-07-22 06:13:40.0)
Response from Charles at Thorlabs: Thank you for your query. Currently the only option for programming these devices in Linux is to use the serial command protocol found at the following link: https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf
Zahra Navabi  (posted 2022-06-02 18:15:05.133)
Hi, I'm using kinesis with lab view and I'm trying to change the velocity profile of our stages (a KcubeDCservo and a BenchtopDCservo). But I can't find the method for changing the velocity profile. I can set up the max velocity and acceleration but acceleration is not changing as fast as expected (I think there is a jerk limit). I would be thankful if you could help me with that.
cwright  (posted 2022-06-22 05:53:37.0)
Response from Charles at Thorlabs: Thank you for your query. Unfortunately it is not possible to change the velocity profile on these controllers. We will reach out to you to help you work around this.
Pawel Aleszkiewicz  (posted 2022-04-26 13:54:50.377)
When I try insert .NET control to my program I have error: Error creating instance of KCubeDCServoControl in assembly Thorlabs.MotionControl.Controls.KCubeDCServoControl, Thorlabs.MotionControl.Controls, Version 1.12.24.17290
DJayasuriya  (posted 2022-04-29 09:43:16.0)
Thank you for your inquiry. we will get in touch with you directly for a bit more information to resolve your issue
Ism Z  (posted 2021-12-07 08:57:06.93)
We are controlling two traverses simultaneously in LabView with Kinesis. However, It doesnt seem to be possible to Move/Home two devices at the same time. Only one after another. The VI locks up during one of these commands until the move is completed. Is it possible to move both simultaneously?
YLohia  (posted 2021-12-23 12:25:46.0)
Thank you for your feedback. This should be possible if you are using two controllers/channels. We have reached out to you directly to troubleshoot this further.
Andreas Hutter  (posted 2021-11-15 02:18:01.553)
Dear Support, In LabVIEW I'm not able to connect device (TLD001), LabVIEW crashes and I have to restart again. I'm able to get device list from DeviceManagerCLI and am able to write SerialNumber to TCubeLaserDiodeController. But as soon as I want to create/connect the device LabVIEW needs to close (crash). info from crash report: #OSName: Windows 10 Enterprise #OSVers: 10.0 #OSBuild: 18363 #AppName: LabVIEW #Version: 20.0f1 64-bit I'm using x64 dll, version 1.14.30. I'm able to run and operate with Kynesis App directly.
cwright  (posted 2021-11-15 06:46:31.0)
Response from Charles at Thorlabs: Thank you for your query. I will reach out to you directly to help troubleshoot this issue.
Wei Wang  (posted 2021-11-09 15:12:40.96)
Dear engineer Here I meet a problem when I tried to control KDC101 by Labview. I want to add .NET control to the front panel following the "Kinesis LabView Guide". When I try to insert "Thorlabs.MotionControl.Controls.dll", the LabVIEW 2012 shows errors tip "System. BadImageFormateException " Hope can get some help from you. Thank you!
Minh Pham  (posted 2021-10-13 14:13:37.11)
Hi, I am working on the LabVIEW for the K10CR1 rotator. I faced the same problem with one of the users reported here. I follow the guideline "Kinesis LabView Guide". Initially everything is fine, but after the VIs is restarted, it shows the error "Error 1172 occurred at Property Node (Arg :1) Error accessing property Thorlabs.MotionControl.Controls.CageRotatorControl.SerialNumber, (System.ArgumentNullException: Key cannot be null. Parameter name: key) Possible reason(s): LabVIEW: (Hex 0x494) A .NET exception occurred in an external assembly. For information about correcting this error, copy the following exception (in bold), and search the Microsoft Developer Network (MSDN) Web site or the Web for a possible explanation. System.ArgumentNullException in rotation2.vi" May you assist me to solve it?
cwright  (posted 2021-10-14 11:39:20.0)
Response from Charles at Thorlabs: Thank you for your query. In cases like this it is best to reach out to your local technical support directly with a copy of your VI so we can investigate. I will reach out to you to help troubleshoot.
Lukasz Ambrozinski  (posted 2021-10-13 12:54:45.52)
Hello, I would like to use the .Net C# code for controlling Kinesis-based hardware. I would like to work with the Kinesis simulator at the beginning. I was able to run Kinesis simulator and Kinesis control software and control the simulated device. I was trying to do a similar thing with the C# examples, but I was not able to connect to the simulated device. Are there any step-by-step examples of how to compile the C# example and control a simulated hardware? Regards, Lukasz
cwright  (posted 2021-10-14 11:25:12.0)
Resopnse from Charles at Thorlabs: Hello and thank you for your query. Usually an inability to connect to a simulation is due to not having the simulation currently initialised in the Kinesis simulator or by having the Kinesis GUI, or other software, already accessing the simulation. I have reached out to you to help troubleshoot.
shangqing shi  (posted 2021-09-17 10:55:01.263)
Hi. I purchased the Optical Delay ODL220(/M) and BBD301 Benchtop Controller from Thorlabs several weeks ago. I need to read the phase-locked amplifier(SR830)'s data while the delay line is moving.Now,I know how to control the ODL by Kinesis® with LabVIEW and I can read the phase-locked amplifier(SR830)'s data by labview. However,I can not read the phase-locked amplifier(SR830)'s data while the delay line is moving.Once the ODl starts running by Kinesis® with LabVIEW, the process reading the data is interrupted. I need your help!Thank you!
DJayasuriya  (posted 2021-09-17 10:44:28.0)
Thank you for your inquiry. We will get in touch with you directly to resolve this issue.
Baojia Wang  (posted 2021-08-30 18:04:41.753)
你好! 我目前正在进行对TSC系列的控制器使用LabVIEW进行二次开发。虽然使用例程中.net的方式能够很快在LabVIEW中实现控制界面。 但目前我期望可以通过LabVIEW中单独的布尔输入控制电磁阀的开闭,而不是.net界面。请问对于TSC系列的控制器可否实现此功能,若可以不知能否告知。若不可以,还希望能推荐一款可以实现该功能的控制器。谢谢! 祝好 王宝嘉
cwright  (posted 2021-08-31 08:08:08.0)
Response from Charles at Thorlabs: Thanks you for your query. Your local team will reach out to you with an example for controlling the TSC.
user  (posted 2021-08-09 19:27:08.707)
I'm trying to transfer my labview project to another computer and when I load my VI I keep on getting the error message: "LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Ma OS X, and / on Linux. Verify that the path is correct using the command prompt or file explorer. The file 'Thorlabs.MotionControl.Controls.dll' could not be loaded." I tried reinstalling the Kinesis software from the Thorlabs page, but that didn't help. I'm pretty sure I installed the correct software for my computer and labview. How can I fix this problem?
cwright  (posted 2021-08-12 06:27:11.0)
Response from Charles at Thorlabs: Thank you for your query. This is not related to Kinesis but is LabVIEW telling you a file is not where it is supposed to be. The project will be expecting the VI to be in a specific location. If the path address is different to the old PC then this will occur. The project file does not contain the VIs themselves, only references to them, so if you only moved the project file then you must copy all the files across to the expected locations.
R  (posted 2021-08-09 19:12:18.803)
Hello. I'm using KDC101 and when I try to run my file I keep on getting this error: "Error 1172 occurred at Invoke Node Error calling method Thorlabs.MotionControl.KCube.DCServoCLI.KCubeDCServo.Home, (System.ArgumentNullException: Key cannot be null. Parameter name: key) LabVIEW: (Hex 0x494) A .NET exception occurred in an external assembly. For information about correcting this error, copy the following exception (in bold), and search the Microsoft Developer Network (MSDN) Web site or the Web for a possible explanation." Do you have any suggestions of how I can fix this problem? Thank you in advance.
cwright  (posted 2021-08-12 06:42:04.0)
Response from Charles at Thorlabs: Thank you for your query. I would expect the controller not being recognised. Please make sure you have put in the correct serial number of the K-cube rather than the stage. When requesting software support it is always best to contact technical support directly with a copy of the VI so we can view what you are doing. That will usually save a lot of time. I will reach out to you to check this fixes your issue and to request the VI.
Ashish Vasil  (posted 2021-05-21 13:33:24.98)
Trying to use Kinesis with Labview. Is there a documentation anywhere that captures all the errors that might be thrown by the hardware and the associated possible causes and resolutions? I can be reached at 330-418-1763
jcater  (posted 2021-05-24 12:02:19.0)
Response from Jack at Thorlabs: Thank you for your feedback, we will reach out to you directly to help further.
Vishal Bajaj  (posted 2021-05-03 18:52:45.18)
I am using Labview 2019 64 bit to control 2 NanoMax 600 stages, but everytime I stop the program or the program finishes running Labview crashes and I need to recover my files. This is really annoying, I initially thought it was because of not closing the devices but even if the devices are closed properly I face this issue.
cwright  (posted 2021-05-05 10:53:16.0)
Response from Charles at Thorlabs: Thank you for contacting us. Technical support will reach out to you for details of your VI and help troubleshoot this. Technical support can also be contacted directly using the details on this page: https://www.thorlabs.com/supportcontact.cfm
user  (posted 2021-02-09 15:32:43.013)
Hello, I've faced a similar issue as some people below. Are there updated .dll files for the 32 bit version of Kinesis for 64 bit windows? There's a discrepancy between the 64 and 32 bit assemblies. For instance, while there is a 64 bit version of Thorlabs.MotionControl.Controls.dll, there is not a 32 bit version, and it's causing the same "An error occurred trying to load the assembly" message to appear while I attempt to follow the guide and create a .NET control in the 32 bit version of LabVIEW 2020.
cwright  (posted 2021-02-10 09:38:31.0)
Response from Charles at Thorlabs: Thank you for your query. There is a 32-bit Controls.dll in the newest install from the web. If the Thorlabs.MotionControl.Controls.dll or other dll's have not been installed this may be a result of having an old version already installed. Please completely uninstall and reinstall Kinesis. When copying the dll's over to the LabVIEW project folder, you can either do this manually or using the Kinesis DLL Copy Tool.
WEN-RUEY Hwang  (posted 2021-01-22 15:20:13.367)
Hi, I have the same error message when I insert "Thorlabs.MotiomControl.Cotrols(1.4.1.0)" I am running on the Labview 2020 and I downloaded "Kinesis 32-bit for 64-bit Windows" because my computer is 64-bit and the Labview 2020 is 32-bit. Can you explain why I still have the same error message. Do you have new .dll files for labview 2020 32-bit? Thanks, Wen-Ruey
cwright  (posted 2021-01-25 09:19:49.0)
Response from Charles at Thorlabs: Thank you for your query. There are a few reasons as to why this error can occur, most commonly is that the incorrect bit version is being used. Another common reason for this error is that the .NET assemblies have not been copied over to the same directory as where the LabVIEW project is saved. We will reach out to you directly to help troubleshoot further.
Sophie ROUGELOT  (posted 2021-01-11 11:59:48.59)
Hello, I followed the Kinesis LabView Guide and I get an error message at step 5 saying that "Une erreur a eu lieu au chargement de l'assembly" in the Controls window of the "Select .NET Control" dialog window. I use Labview 2017 (32 bits). Version of 'Thorlabs.MotionControl.Controls.dll' is 1.14.24.17290. What do you think? What could be the root cause? Thank you. Best regards, Sophie Rougelot
cwright  (posted 2021-01-12 04:46:08.0)
Response from Charles at Thorlabs: Hello Sophie and thank you for your query. Receiving the error message 'An error occurred while loading the assembly' whilst trying to load a control into a .NET container is usually the result of trying to load a 64-bit .NET dll into a 32-bit version of LabVIEW or vice-versa. In your case please ensure you are using either Kinesis 32-bit for 32-bit Windows or Kinesis 32-bit for 64-bit Windows depending on the bit version of your OS.
user  (posted 2020-11-12 23:55:17.17)
Hello, I would like to have a version of "Kinesis with LabVIEW Examples.lvproj" that is compatible with my LabVIEW 2016 64-bit installation. I get the error message that it is newer than my installation. Thank you very much for your help in advance. Kind regards.
DJayasuriya  (posted 2020-11-13 08:18:42.0)
Thank you for your inquiry. The files on here are LabView 2012 version but should work with LabView 2016 version. I will get in touch with you directly with a LabView 2016 version.
Paul Konings  (posted 2020-08-31 05:13:19.067)
Hi, I'm trying to control a LTS from LabVIEW. I'm experiencing an "system.I0.FileNotFoundException" when I try to load the code from another project than the original one. I've created a project that contains the LV code that contains the .Net calls so that these can be used by other projects. It appears that the .Net dll's need to be besides the project before all dll's are loaded. If I inspect the loaded .net assemblies in LV then the expected ones are loaded (the ones that I actually use). It also appears that some dll try's to load another DLL and does that relative to th e project file and not the already loaded Dll's. To be clear, I can get the code to run if all the DLL's are located besides the project file. This however limits the re-use possibilities of the code. How can I have only 1 set of DLL's and use the code in multiple LV projects?
cwright  (posted 2020-09-02 10:12:28.0)
Response from Charles at Thorlabs: Hello and thank you for your query. Unfortunately our .dll files do require that they be copied into the same folder as the project calling them, as described in the Kinesis LabVIEW Guide which can be found on our site at the following link. https://www.thorlabs.com/Software/Motion%20Control/Kinesis/Kinesis-labview.pdf
Tianyi Guo  (posted 2020-07-27 14:44:31.61)
We have two kinds of controller, kcube and tcube. I also installed the correct versions of the APT and Kinesis software. However, for tcube, I have error of loading dll (kinesis) using LabView. For kcube, we have problem of connecting to LabView using APT. We would like to control both cubes using the same program by controlling the velocity, acceleration, and stepping distance/rotation.
cwright  (posted 2020-07-28 11:22:12.0)
Response from Charles at Thorlabs: Thank you for your query. We will contact you directly to help diagnose the issue, however a common reason for receiving an error when loading dll's is due to using incompatible bit versions of Kinesis and LabVIEW. The Kinesis bit version should match that of your LabVIEW bit version. We provide 32-bit and 64-bit versions of Kinesis as well as a 32-bit for 64-bit Windows version for those running 32-bit LabVIEW on 64-bit Windows.
user  (posted 2020-07-20 07:20:58.43)
Examples using callback are version over 2012. So I cannot see that VI and example project file provided.
DJayasuriya  (posted 2020-07-24 06:56:00.0)
Thank you for your inquiry. I will get in touch with you directly to resolve your issue.
DJayasuriya  (posted 2020-07-24 06:56:00.0)
Thank you for your inquiry. I will get in touch with you directly to resolve your issue.
Joanna Oracz  (posted 2020-06-09 12:42:13.36)
Dear Labview Team, I am trying to program yours Cage Rotator K10CR1/M with Labview 2014. I started with Kinesis software & NET programing. However, I cannot load the dlls (Step 6 of your Kinesis Lsbview Guide). I also cannot load any of your examples as they are not compatible with my Labview version... Do you have maybe some dlls compatible with labview 14? Sincerely, Joanna
cwright  (posted 2020-06-11 08:08:15.0)
Response from Charles at Thorlabs: Hello Joanna and thank you for your query. The Dll’s should be compatible with your version as long as the bit type is correct so I will reach out to you directly to diagnose your issue.
Jakob Weber  (posted 2020-03-09 06:24:57.53)
Our K-Cube Laser Diode Controller does work with the Thorlabs.MotionControl.Kinesis.exe very well. But if i try to start a own labview.vi (like your "getting started") Labview crashes at method: "CreateDevice".
cwright  (posted 2020-03-11 10:09:00.0)
Response from Charles at Thorlabs: Hello Jakob, thank you for letting us know you are having this issue. We will look into this and reach out to you directly with further troubleshooting and support.
Chris Purves  (posted 2019-12-13 13:32:40.68)
I was able to determine that the problem was I had the .dlls 2 subdirectories below the LabVIEW project file. Moving the directory containing the dlls to the same directory as the project file allowed LabVIEW to find the dependencies.
DJayasuriya  (posted 2019-12-16 08:08:17.0)
Response from Dinuka at Thorlabs: Thanks for your query I'm happy you were able to resolve the issue. If you have any further questions feel free to contact us directly on techsupport@thorlabs.com
Chris Purves  (posted 2019-12-13 10:57:04.18)
Having trouble getting Kinesis driver to work with LabVIEW. After copying .dlls to project subdirectory and creating .NET container, when I try to insert .NET control to container I get the following error: Error inserting ActiveX or .NET object: Error creating instance of BenchtopPiezoControl in assembly Thorlabs.MotionControl.Controls.BenchtopPiezoControl, Thorlabs.MotionControl.Controls, Version=1.14.19.16340, Culture= neutral, PublicKeyToken=c7ec6d6d6e243Se7, (System.Windows.Markup.XamlParseException: Set property 'System.Windows.ResourceDictionary.Source' threw an exception. Inner Exception: System.lO.FileNotFoundException: Could not load file or assembly 'Thorlabs.MotionControl.Tools.WPF.UI, Culture= neutral' or one of its dependencies. The system cannot find the file specified.) System.I0.FileNotFoundExceptionOf course, the WPF.UI is present in the directory containing all the .dlls.
DJayasuriya  (posted 2020-01-27 11:11:35.0)
Response from Dinuka at Thorlabs: Thanks for your query. I will contact you directly to have a look at your VI to see if we can replicate the issue and solve it.
user 0  (posted 2019-09-26 15:57:17.603)
Good afternoon. I make a diagram in the lab clearly according to the instructions. But when the device is connected to the computer via yusb in the lab, it is not visible. That is, a window pops up without buttons for adjusting the speed and position of the slide and others. At this time, everything works in the kinesis program itself. What could be the problem?
AManickavasagam  (posted 2019-09-27 11:30:09.0)
Response from Arunthathi at Thorlabs: Thanks for your query. I have contacted you directly for further details.