TIPS 2024年2月6日

IWS450-USからTDSN450への制御コマンドの移植方法

IWS450-USとTDSN450は赤外線の反射光の強度により物体の有無を検出するセンサです。 検出距離などの仕様についてTDSN450はIWS450の上位互換となっていますが、制御コマンドの仕様が異なります。本文章では、IWS450-USの制御コマンドであるiws450ctlコマンドと、 TDSN450の制御コマンドであるtd-usbコマンドについて、機能ごとにコマンド書式な対応関係について述べます。プログラム移行の参考としてください。

コマンドの詳細についてはそれぞれのデータシートをご確認ください。

1. 反射光の数値を取得する

反射光の数値を直接取得するにはiws450ctlコマンドではRAWオプションを使用します:

iws450 RAW ANY 0 <Interval=100>
321
325
431

td-usbの代替コマンドは次の通りです:

td-usb tdsn450 get --loop=<Interval>

※td-usbコマンドでは取得回数の指定はできません。

2. 検出のスレッショルドを設定する

iws450ctlコマンドのSENSオプションで物体検出をしている場合について、 td-usbコマンドへの移行方法を述べます。

iws450ctlコマンドでスレッショルドを設定するにはSETオプションを使用します:

iws450ctl SET ANY 

td-usbコマンドでは2回つのコマンドを組み合わせます。 最初に、検出したい位置に物体を置いてget操作を実行し、スレッショルドに設定すべき値を取得します。次に、set操作によってスレッショルド値およびヒステリシス値を本体に書き込みます。

td-usb tdsn450 get
400 ←スレッショルドに設定すべき値が返る

td-usb tdsn450 set THRESHOLD=400 ←取得した値を設定する
td-usb tdsn450 set HYSTERESIS=0  ←ヒステリシスを0に設定するとiws450ctlと同じ挙動になる

3. 物体を検出する

iws450ctl SENS ANY <Interval=100>

iws450ctlコマンドのSENSオプションはtd-subコマンドのlisten操作に代替されます:

td-usb tdsn450 listen --loop
1
0
1
0

4. シリアル番号を列挙・制御対象の個体を指定する

iws450ctlコマンドでシリアル番号を取得するにはLISTオプションを使用します:

iws450ctl LIST 

td-usbの代替コマンドは次のlist操作です:

td-usb tdsn450 list

1つのPCに複数台接続されている場合には、シリアル番号はカンマ区切りで出力されます。

td-usbコマンドでシリアル番号を指定するには、 td-usbコマンドの第一引数にコロン文字区切りでシリアル番号を結合します。

td-usb tdsn450:<Serial> get

この記事に関連する商品

この記事をシェア

最近のTIPS