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