マニュアル/ascii プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/zaber/software...

120
1 マニュアル/ASCII プロトコルマニュアル ASCII プロトコルは、Zaber デバイスに情報を送受信するために使用できる 1 つのフォーマットです。ファ ームウェア 6.06 以降の A シリーズおよび X シリーズデバイスで使用可能です。簡単で直感的な方法でプ レーンテキストを使用し通信できるように設計されています。このマニュアルは、接続の設定、使用するソ フトウェアの選択、および Zaber デバイスの操作の開始に役立ちます。また、すべてのコマンド設定一覧と完全なメッセージ構造の参照があります。他の可能な通信プロトコルについてもっと知りたい場合、 またはデバイスが 6.06 より低いファームウェアを使用する場合は、Binary Protocol manual を参照してく ださい。 これらのプロトコルを切り替える方法については、Appendix C を参照してください。 Contents - 目次 1 Conventions Used Throughout this Document このマニュアルの表記規則について 2 Previous Versions 以前のバージョン 3 Quick Start クイックスタート 3.1 Connecting 接続 3.2 Talking to Zaber Devices Zaber デバイスとの通信 3.3 Making it Move デバイスを作動させる 3.4 Changing a Device Setting デバイス設定の変更 3.5 Talking to an Individual Device 個々のデバイスとの通信 3.5.1 Talking to an Individual Axis 個々の軸との通信 3.6 Built-in Help ビルトインヘルプ 3.7 Quick Command Reference コマンド早見表 3.7.1 Quick Commands クイックコマンド 3.7.2 Quick Device Settings クイックセッティング 4 Message Format メッセージ形式 4.1 Commands コマンド 4.2 Replies 応答 4.2.1 Warning Flags 警告フラッグ 4.3 Info 情報 4.4 Alerts 警告 5 Command Reference コマンドリファレンス 5.1 calibration 5.2 force 5.3 estop 5.4 get 5.5 help 5.6 home 5.7 io info 5.8 io get 5.9 io set 5.10 joystick 5.10.1 Axis Configuration 軸構成 5.10.2 Displaying Joystick Axis Information ジョイスティック軸情報の表示 5.10.3 Joystick Calibration ジョイスティックキャリブレーション 5.11 key 5.11.1 Saving commands to keys キーへのコマンドの保存 5.11.2 Sending key alerts to the computer コンピュータにキーアラートを入力する 5.11.3 Displaying key configuration キー構成の表示 5.11.4 Clearing keys キーの消去 5.12 lockstep 5.12.1 Setup セットアップ 5.12.2 Offset, Twist, and Tolerance オフセット、ねじれ許容範囲 5.12.3 Information 情報 5.12.4 Movement 動作 5.12.5 Homing and Sensors 原点復帰とセンサー 5.13 move 5.14 renumber 5.15 servo 5.15.1 Tuning Parameters チューニングパラメータ 5.15.2 Storing and Loading Tuning Presets チューニングプリセットの保存とロード

Upload: others

Post on 12-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

1

マニュアル/ASCII プロトコルマニュアル

ASCII プロトコルは、Zaber デバイスに情報を送受信するために使用できる 1 つのフォーマットです。ファ

ームウェア 6.06 以降の A シリーズおよび X シリーズデバイスで使用可能です。簡単で直感的な方法でプ

レーンテキストを使用し通信できるように設計されています。このマニュアルは、接続の設定、使用するソ

フトウェアの選択、および Zaber デバイスの操作の開始に役立ちます。また、すべてのコマンドと設定の

一覧と完全なメッセージ構造の参照があります。他の可能な通信プロトコルについてもっと知りたい場合、

またはデバイスが 6.06 より低いファームウェアを使用する場合は、Binary Protocol manual を参照してく

ださい。 これらのプロトコルを切り替える方法については、Appendix C を参照してください。

Contents - 目次

1 Conventions Used Throughout this Document

このマニュアルの表記規則について

2 Previous Versions 以前のバージョン

3 Quick Start クイックスタート

3.1 Connecting 接続

3.2 Talking to Zaber Devices Zaber デバイスとの通信

3.3 Making it Move デバイスを作動させる

3.4 Changing a Device Setting

デバイス設定の変更

3.5 Talking to an Individual Device

個々のデバイスとの通信

3.5.1 Talking to an Individual Axis

個々の軸との通信

3.6 Built-in Help ビルトインヘルプ

3.7 Quick Command Reference コマンド早見表

3.7.1 Quick Commands クイックコマンド

3.7.2 Quick Device Settings クイックセッティング

4 Message Format メッセージ形式

4.1 Commands コマンド

4.2 Replies 応答

4.2.1 Warning Flags 警告フラッグ

4.3 Info 情報

4.4 Alerts 警告

5 Command Reference コマンドリファレンス

5.1 calibration

5.2 force

5.3 estop

5.4 get

5.5 help

5.6 home

5.7 io info

5.8 io get

5.9 io set

5.10 joystick

5.10.1 Axis Configuration 軸構成

5.10.2 Displaying Joystick Axis Information

ジョイスティック軸情報の表示

5.10.3 Joystick Calibration

ジョイスティックキャリブレーション

5.11 key

5.11.1 Saving commands to keys

キーへのコマンドの保存

5.11.2 Sending key alerts to the computer

コンピュータにキーアラートを入力する

5.11.3 Displaying key configuration

キー構成の表示

5.11.4 Clearing keys キーの消去

5.12 lockstep

5.12.1 Setup セットアップ

5.12.2 Offset, Twist, and Tolerance

オフセット、ねじれ許容範囲

5.12.3 Information 情報

5.12.4 Movement 動作

5.12.5 Homing and Sensors

原点復帰とセンサー

5.13 move

5.14 renumber

5.15 servo

5.15.1 Tuning Parameters

チューニングパラメータ

5.15.2 Storing and Loading Tuning Presets

チューニングプリセットの保存とロード

Page 2: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

2

5.16 set

5.17 stop

5.18 stream

5.18.1 Setup セットアップ

5.18.2 Interpolated Movement 補間動作

(Lines, Arcs, and Circles)

5.18.3 Trajectory Control 軌道制御

5.18.4 IOs and Waiting IOと待機

5.18.5 Communication Flow Control and

Buffers 通信フロー制御とバッファ

5.18.6 Information 情報

5.19 system reset

5.20 system restore

5.21 tools detectholder

5.22 tools echo

5.23 tools findrange

5.24 tools gotolimit

5.25 tools parking

5.26 tools setcomm

5.27 tools storepos

5.28 trigger

5.28.1 Condition Configuration 条件設定

5.28.2 Command Configuration コマンド設定

5.28.3 Trigger Usage トリガーの使用方法

5.29 trigger dist

5.30 trigger time

5.31 virtual

5.31.1 Setup セットアップ

5.31.2 Information 情報

5.31.3 Movement 動作

5.31.4 Homing and Sensors 原点復帰とセンサー

5.31.5 Closed Loop Behaviour クローズドループ動作

5.32 warnings

6 Device Settings デバイス設定

6.1 accel

6.2 calibration.type

6.3 cloop.counts

6.4 cloop.displace.tolerance

6.5 cloop.duration.max

6.6 cloop.mode

6.6.1 Axes with Motor Mounted Encoders

エンコーダ内臓モータ軸

6.6.2 Axes with Direct Reading or Linear

Encoder ダイレクトリーディングまたは

リニアエンコーダ付き軸

6.6.3 Voice Coil Axes ボイスコイル駆動軸

6.7 cloop.stalltimeout

6.8 cloop.steps

6.9 comm.address

6.10 comm.alert

6.11 comm.checksum

6.12 comm.protocol

6.13 comm.rs232.baud

6.14 comm.rs232.protocol

6.15 comm.rs485.baud

6.16 comm.rs485.enable

6.17 comm.rs485.protocol

6.18 comm.usb.protocol

6.19 deviceid

6.20 driver.current.hold

6.21 driver.current.max

6.22 driver.current.run

6.23 driver.dir

6.24 driver.temperature

6.25 encoder.count

6.26 encoder.count.calibrated

6.27 encoder.dir

6.28 encoder.error

6.29 encoder.fault.type

6.30 encoder.filter

6.31 encoder.index.count

6.32 encoder.index.mode

6.33 encoder.index.phase

6.34 encoder.mode

6.35 encoder.pos

6.36 filter.holderid

6.37 force.average

6.38 joy.debug

6.39 knob.dir

6.40 knob.distance

6.41 knob.enable

6.42 knob.force

6.43 knob.forceprofile

6.44 knob.maxspeed

Page 3: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

3

6.45 knob.mode

6.46 knob.speedprofile

6.47 limit.approach.maxspeed

6.48 limit.cycle.dist

6.49 limit.detect.decelonly

6.50 limit.detect.maxspeed

6.51 limit.sensor.action

6.52 limit.sensor.edge

6.53 limit.sensor.pos

6.54 limit.sensor.posupdate

6.55 limit.sensor.preset

6.56 limit.sensor.state

6.57 limit.sensor.triggered

6.58 limit.sensor.type

6.59 limit.max

6.60 limit.min

6.61 limit.start.pos

6.62 limit.swapinputs

6.63 lockstep.numgroups

6.64 lockstep.tolerance

6.65 maxspeed

6.66 motion.accelonly

6.67 motion.decelonly

6.68 motion.index.dist

6.69 motion.index.num

6.70 peripheralid

6.71 peripheral.serial

6.72 pos

6.73 resolution

6.74 stream.numbufs

6.75 stream.numstreams

6.76 system.access

6.77 system.axiscount

6.78 system.current

6.79 system.led.enable

6.80 system.serial

6.81 system.temperature

6.82 system.voltage

6.83 version

6.84 version.build

6.85 virtual.numvirtual

7 Message IDs メッセージID

8 Checksumming チェックサム

8.1 Verification 検証

8.2 Example Code コードの例

8.2.1 C

8.2.2 Python

9 Advanced Feature Reference Manuals

拡張機能参照マニュアル

10 Appendix A - Communication Software

付録A-通信ソフトウェア

10.1 Zaber Console Zaberコンソール

10.2 PuTTY パティ

10.3 Minicom ミニコン

10.4 Troubleshooting トラブルシューティング

11 Appendix B - Available Serial Ports

付録B-使用可能なシリアルポート

11.1 Finding Installed Serial Ports

インストールされたシリアルポートの検索方法

11.1.1 Windows

11.1.2 Linux

12 Appendix C - Switching between Binary and ASCII

Protocols Binary

プロトコルと ASCII プロトコルの切換方法

12.1 Switching Protocols プロトコルの切換

12.2 Resetting to Default Protocol

デフォルトプロトコルへのリセット方法

Page 4: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

4

Conventions Used Throughout this Document

- このマニュアルの表記規則について

は、デバイスとの間で通信される ASCII文字を示します。

『 ↵ 』記号は改行を示します。これは、端末のプログラムを使用するときに Enterキーを

押すことで実現できます。

Previous Versions - 以前のバージョン

新しい機能が ASCII プロトコルに追加された場合、このマニュアルのアーカイブは以下にあります。

ご使用のデバイスのバージョンを確認し、正しいマニュアルを参照してください。

Version Manual Version Manual

6.06 - 6.08 ASCII Protocol Manual 6.06 - 6.08.pdf 6.16 ASCII Protocol Manual 6.16.pdf

6.09 - 6.10 ASCII Protocol Manual 6.09 - 6.10.pdf 6.17 ASCII Protocol Manual 6.17.pdf

6.11 ASCII Protocol Manual 6.11 - 6.11.pdf 6.18 ASCII Protocol Manual 6.18.pdf

6.12 ASCII Protocol Manual 6.12 - 6.12.pdf 6.19 ASCII Protocol Manual 6.19.pdf

6.13 ASCII Protocol Manual 6.13 - 6.13.pdf 6.20 ASCII Protocol Manual 6.20.pdf

6.14 ASCII Protocol Manual 6.14 - 6.14.pdf 6.21 ASCII Protocol Manual 6.21.pdf

6.15 ASCII Protocol Manual 6.15 - 6.15.pdf 6.22 ASCII Protocol Manual 6.22.pdf

6.16 ASCII Protocol Manual 6.16.pdf 6.23 ASCII Protocol Manual 6.23.pdf

6.17 ASCII Protocol Manual 6.17.pdf 6.24 ASCII Protocol Manual 6.24.pdf

6.18 ASCII Protocol Manual 6.18.pdf 6.25 ASCII Protocol Manual 6.25.pdf

Quick Start - クイックスタート

Connecting - 接続

Zaber 社 A シリーズおよび X シリーズデバイスは、判読可能なテキストベースのプロトコルを使用し、標

準的なシリアル接続を介してユーザー機器に接続することをサポートしています。これにより、これらのデ

バイスは、次のようなさまざまな機器やソフトウェアとのインターフェースをとることができます。

Zaber Console - Zaber コンソール

ターミナルエミュレータ

独自プログラム

PLC

自動化および計装パッケージ

Page 5: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

5

Zaber デバイスは、どのような環境で使用されていても数分で起動し、稼動することができます。

A シリーズと X シリーズのデバイスは、通常、9600 または 115200 のボーレート、8 ビット、1 ストップビッ

ト、パリティなしで RS232 を介し通信します。お使いのデバイスのユーザーマニュアルの RS232 通信セク

ションを参照してください。文字はデバイスによってエコーされないため、端末エミュレータを使用している

場合は、ローカルエコーをオンにすることをお勧めします。

さまざまな通信ソフトウェアの設定および設定方法の詳細については、下記の通信ソフトウェアのセクショ

ンを参照してください。

Talking to Zaber Devices - Zaber デバイスとの通信

Zaber デバイスは、シリアルポートを介して送信されたコマンドを受信し、すぐに返信、応答します。コマン

ドは常に『/』で始まり、改行で終わります。コマンドによっては、スペースで区切られたパラメータを使用す

るものがあります。2 つのコマンドの例を以下に示します。:

この場合 move コマンドのパラメータは abs と 10000 です。

返信は@で始まり、4 つ以上のパラメータを持ち、改行で終わります。 たとえば、最も一般的な回答は次

の通りです。

これは次のように分類できます。

返信フィールドの完全な説明は、Replies(応答)項目で説明します。

デバイスは 2 種類のメッセージを返信することもできます。:Alerts(警報)は『!』から始まり、Info(情

報)は『#』で始まります。Info(情報)メッセージは、通常 help コマンドに応答して表示されます。

/1 help↵

/1 move abs 10000↵

@01 0 OK IDLE -- 0

@ 返信を意味します。

01 返信するデバイスの ID。

0 適用範囲の応答。0はデバイス又は全ての軸、1以降は個々の軸です。

OK コマンドの成功を意味します。

IDLE デバイスは動いていません。動いている場合は BUSYを表示します。

-- デバイスに障害や警告はありません。

0 戻り値。通常は 0 と表示されます。

Page 6: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

6

Making it Move - デバイスを作動させる。

デバイスを移動するには、まずホーム(原点)ポジションへの参照を確立する必要があります。これは、以

下のように home コマンドを送信することで可能です。:

デバイスが home(原点復帰)されず、移動コマンドが試行されると、次に示すようにデバイスは拒否を応

答し、無効参照(WR)フラグがセットされます。:

デバイスがホームに移動したら、move コマンドを送信してデバイスを移動させることができます。例えば、

現在の位置から 10000 マイクロステップ前方に移動するには:

現在の位置に関係なく、ホームポジションから 10000 マイクロステップ移動した位置へ移動させるには:

Changing a Device Setting - デバイス設定の変更

すべてのデバイス設定は、get および set コマンドを使用することで読み取られ、変更されます。 例えば、

デバイスの maxspeed(最大速度)を照会するには、次のように入力します。:

最大速度の設定は現在 153600 です。マイクロステップ/秒の速度は data/1.6384 として計算され、データ

値 153600 の場合 93570 microsteps/sec に相当します。

多軸デバイスの場合、同じコマンドで各軸の値を返します。 例えば:

50000 マイクロステップ/秒の目標速度で移動するようにデバイスを設定するには、速度設定を次のよう

に変更します。

多軸デバイスでは、上記のコマンドでは全ての軸の速度を設定します。特定の軸の値を照会または設定

する場合には、次項の「Talking to an Individual Device - 個々のデバイスとの通信」を参照ください。

/home↵

@01 0 OK BUSY WR 0

/move rel 10000↵

@01 0 RJ IDLE WR BADDATA

/move rel 10000↵

@01 0 OK BUSY -- 0

/move abs 10000↵

@01 0 OK BUSY -- 0

/get maxspeed

@01 0 OK IDLE -- 153600

/get maxspeed

@01 0 OK IDLE -- 153600 153600

/set maxspeed 81920

@01 0 OK IDLE -- 0

Page 7: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

7

Talking to an Individual Device - 個々のデバイスとの通信

今まで、送信されたすべてのコマンドにはデバイスアドレスが含まれていません。デイジーチェーン内に複

数のデバイスがある場合、上記の『Making it Move - デバイスを作動させる』の例では一度にすべての

デバイスが移動し、複数の応答が受信されたことに気づいたかもしれません。これは初期設定に便利な

機能ですが、一般的には個々のデバイスだけに移動を指示する方法が必要です。

個々のデバイスへ指示したい場合、コマンドの前にデバイス番号を含めることで対処できます。 例えば、

次のコマンドはデバイス 1 のみに移動を指示します。

有効なデバイスアドレスは 1~99 で設定でき、デバイス 1~9 の先頭に「0」を含めることができます。たと

えば、「01」または「1」のどちらでもデバイス 1 を参照します。

Talking to an Individual Axis - 個々の軸との通信

多軸デバイスでは、上記のすべてのコマンドがデバイスのすべての軸に影響を与えていました。 単一の

軸だけを移動させるには、デバイス番号の後に軸番号を指定する必要があります。 次のコマンドは、デ

バイス上の軸1に home ポジションより 10000 マイクロステップの位置へ移動するよう指示します。

今回は応答スコープが 1 で、次の情報が軸 1 に適用されることを示しています。

有効な軸番号は 0~9 で、0 はコマンドまたは設定に応じてデバイスの全軸を意味します。

/1 move abs 10000↵

@01 0 OK BUSY -- 0

/1 1 move abs 10000↵

@01 1 OK BUSY -- 0

Page 8: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

8

Built-in Help - ビルトインヘルプ

ZABER 製品の A シリーズ、X シリーズデバイスにはヘルプが組み込まれており、デバイスが持つすべて

のコマンドと設定を素早く簡単に参照できます。 ヘルプコマンドでは、デバイス番号を指定する必要があ

ります。 たとえば、デバイス 1 のビルトインヘルプへアクセスするには、「 / 1help↵ 」を送信します。

デバイスは、次に示すように、コマンドと応答に関する特定の情報へのアクセス方法について、詳細な説

明を返信します。

/ 1 help コマンドを使用すると、デバイス 1 で利用可能なすべてのトップレベルコマンドのリストを表示でき

ます。特定のコマンド(move コマンドなど)のヘルプにアクセスするには、次のコマンドを送信します。

/1 help↵

@01 0 OK IDLE WR 0

#01 0 COMMAND USAGE:

#01 0 '/stop' stop all devices

#01 0 '/1 stop' stop device number 1

#01 0 '/1 2 stop' stop device number 1 axis number 2

#01 0

#01 0 Type '/help commands' for a list of all top-level commands.

#01 0 Type '/help reply' for a quick reference on reply messages.

#01 0 Visit www.zaber.com/support for complete instruction manuals.

/1 help move↵

@01 0 OK IDLE -- 0

#01 0 move abs {x} Move to absolute position

#01 0 move rel {x} Move by relative position

#01 0 move vel {x} Move at constant velocity

#01 0 move min Move to minimum position

#01 0 move max Move to maximum position

Page 9: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

9

Quick Command Reference - コマンド早見表

次の表は、ASCII デバイス用のコマンドと設定のリストです。詳細については、コマンドリファレンスまたは

デバイス設定を参照してください。

Quick Commands - クイックコマンド

『 [ ] 』のパラメータ(例:[clr])は、パラメータがオプションであることを示します。

イタリック字のパラメータ(例:value)は、データ(通常は数字)を入力する必要があることを示しています。

『|』で区切られたパラメータ(例:abs|rel)は、セット内のパラメータの 1 つを入力する必要があることを示

します。

Command Scope Parameter(s) Returns Firmware

Versions Description

calibration Device Calibration 項目参照 0 6.24+ リニアエンコーダの校正を設

定します。

estop Axis 0 6.06+ 移動を即座に停止します。

force Axis

abs value

sin amplitude period [count]

sin stop

off

0 6.25+ ボイスコイル装置に一定また

は正弦波の力を加えます。

get Device

and Axis setting value 6.06+

デバイス又は軸の現在の設定

値を取得します。

help Device

commands

reply

warnflags

enums

command ...

enum

0 6.06+ システムのヘルプ情報を表示

します。

home Axis 0 6.06+ 軸を原点位置に移動します。

io info Device [ai|ao|do|di] ports 6.06+ デバイスが持つ I/O チャネル

の数を返します。

io get Device ai|ao|do|di [channel] value 6.06+ 指定された I/O チャネルタイ

プの現在の値を返します。

io set Device

ao channel value

do channel value

do port value value2...

0 6.06+ 指定された出力 channel を

value に設定します。

joystick Device joystick 項目参照。 joystick

項目参照 6.16+

ジョイスティックの軸を設定

します。

Page 10: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

10

key Device key 項目参照。 Key

項目参照 6.16+

ジョイスティックキーを設定

します。

lockstep Device lockstep 項目参照。 lockstep

項目参照 6.15+

平行軸グループの同期動作を

設定、制御します。

move Axis

abs|rel|vel value

min|max

stored number

index number (6.21+)

sin amplitude period [count] (6.22+)

sin stop (6.22+)

0 6.06+ 軸を様々な位置に移動しま

す。

renumber Device value 0 6.06+ デイジーチェーン内の全ての

デバイス番号を変更します。

servo Axis servo 項目参照 Servo

項目参照 6.25+

ボイスコイル装置の位置制御

を設定します。

set Device

and Axis setting value 0 6.06+

指定した setting を value に設

定します。

stop Axis 0 6.06+ 軸を減速し停止させます。

stream Device stream 項目参照 Stream

項目参照 6.12+

ストリーミングされ補間され

たモーションに関連するアク

ションを実行します。

system reset Device 0 6.06+ 電源 ON 時の状態にデバイス

をリセットします。

system

restore Device 0 6.06+

一般的なデバイス設定をデフ

ォルト値に戻します。

tools

detectholder Axis 0 6.22+

現在取り付けられているフィ

ルターホルダーの検出。

tools echo Device (message) 0 6.06+ 提供されたメッセージをユー

ザーに返します。(ある場合)

tools

findrange Axis 0 6.10+

ホーム、アウェイセンサーを

使用し 1 軸の有効範囲を設定

します。

tools

gotolimit Axis limit dir action update 0 6.06+

1 軸をリミットセンサー位置

に移動し、指定された動作を

実行します。

tools parking Device state|park|unpark 0|1 6.06+

Parking を設定することで電源

オフにした際、原点へ戻さず

使用できます。

Page 11: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

11

tools

setcomm Device rs232baud protocol 0 6.06+

RS232 と USB 用の RS232 ボ

ーレートと通信プロトコルを

設定します。

tools

storepos Axis number [position|current] 0|position 6.06+

簡単に移動できるよう複数の

位置をストアします。

trigger Device Trigger 項目参照 0 6.06+

特定の条件が満たされたとき

にデバイスで実行されるアク

ションを設定します。

trigger dist Device

number axis displacement

number enable [count]

number disable

0 6.06+

displacement マイクロステッ

プ数毎にデジタル出力ライン

を切替えるようにトリガーを

設定します。

trigger time Device

number period

number enable [count]

number disable

0 6.06+

Period ミリ秒毎にデジタル出

力ラインを切替える定期的な

トリガーを設定します。

virtual Device Virtual 項目参照 Virtual

項目参照 6.18+

仮想軸に沿って移動する様、

一対の軸を設定、制御しま

す。

warnings Axis [clear] 0 6.06+

デバイスと軸のアラートを検

出した場合は表示。

削除も可能。

Page 12: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

12

Quick Device Settings - クイックデバイスセッティング

下記の設定は、上記の get コマンドと set コマンドを使用することで確認、変更が可能です。

Setting Scope Writable Firmware

Versions Description

accel Axis Yes 6.06+ 軸の加速度を設定

calibration.type Axis No 6.24+ 軸のキャリブレーションタイプを設定

cloop.counts Axis Yes 6.06+ 1 回転毎のエンコーダカウント数を設定

cloop.displace.tolerance Axis Yes 6.19+ 誤差として記録する、停止した軸位置の最小偏差

cloop.duration.max Axis Yes 6.17+ 微細位置補正時間の設定

cloop.mode Axis Yes 6.06+ クローズドループ制御モード設定

cloop.stalltimeout Axis Yes 6.06+ 脱調/誤差発生から位置補正するまでの時間設定

cloop.steps Axis Yes 6.06+ モータ 1 回転するのに必要なステップ数設定

comm.address Device Yes 6.06+ デバイスアドレス設定

comm.alert Device Yes 6.06+ この設定が 1 の場合、デバイスはアラートメッセー

ジを送信します。

comm.checksum Device Yes 6.06+ この設定が 1 の場合、デバイスはメッセージにチェ

ックサムを含めます。

comm.protocol Device Yes 6.06+ 現在のインターフェースでデバイスが使用している

通信プロトコル。

comm.rs232.baud Device Yes 6.06+ RS232 の Prev 及び Next インターフェースで使用さ

れるボーレート。

comm.rs232.protocol Device Yes 6.09+ RS232 の Prev 及び Next インターフェースで使用さ

れるプロトコル

comm.rs485.baud Device Yes 6.09+ RS485 インターフェースで使用されるボーレート

comm.rs485.enable Device Yes 6.09+ RS485 インターフェースを有効

comm.rs485.protocol Device Yes 6.09+ RS485 インターフェースで使用されるプロトコル

comm.usb.protocol Device Yes 6.09+ USB インターフェースで使用されるプロトコル

deviceid Device No 6.06+ ユニットのデバイス ID 設定

driver.current.hold Axis Yes 6.06+ モータ位置保持電流(20mADC 単位で設定)

driver.current.max Axis No 6.16+ driver.current.hold、driver.current.run の最大有効値

driver.current.run Axis Yes 6.06+ モータ駆動電流(20mADC 単位で設定)

driver.dir Axis Yes 6.06+ モータ制御の回転方向を逆転

driver.temperature Axis No 6.06+ ドライバーの現在の温度(摂氏)

Page 13: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

13

encoder.count Axis Yes 6.06+ エンコーダのカウント数

encoder.count.calibrated Axis No 6.24+ エンコーダの較正されたカウント数

encoder.dir Axis Yes 6.06+ エンコーダのカウント方向を反転

encoder.error Axis No 6.17+ エンコーダによって測定された位置誤差

encoder.fault.type Axis Yes 6.24+ エンコーダからの fault シグナルのタイプ

encoder.filter Axis Yes 6.06+ エンコーダ信号のノイズフィルタリング設定

encoder.index.count Axis Yes 6.06+ エンコーダ信号のインデックスパルスのカウント数

encoder.index.mode Axis Yes 6.06+ エンコーダインデックス信号の動作モード

encoder.index.phase Axis Yes 6.06+ インデックスパルスをカウントする相線の設定

encoder.mode Axis Yes 6.06+ エンコーダの動作モード

encoder.pos Axis No 6.17+ エンコーダによって測定された位置

filter.holderid Axis Yes 6.22+ 取付けられたフィルターホルダーの ID

force.average Axis Yes 6.25+ 推力の平均値

joy.debug Device Yes 6.16+ ジョイスティックのデバッグモード

knob.dir Axis Yes 6.06+ 操作ノブの移動方向を設定

knob.distance Axis Yes 6.06+ 変位モードでのノブ 1 メモリあたりの移動量を設定

(マイクロステップ単位)

knob.enable Axis Yes 6.06+ 0 に設定することでノブ操作を無効

knob.force Axis Yes 6.25+ 推力モード時の操作ノブ使用時での最大推力

knob.forceprofile Axis Yes 6.25+ 推力モード時の操作ノブ 1 メモリあたりのプロファ

イルを設定

knob.maxspeed Axis Yes 6.06+ 速度モード時の操作ノブ使使用時での最大速度

knob.mode Axis Yes 6.06+ 操作ノブのモードを設定

knob.speedprofile Axis Yes 6.06+ 速度モード時の操作ノブ 1 メモリあたりのプロフィ

ルを設定

limit.approach.maxspeed Axis Yes 6.06+ リミットセンサー位置へ移動時の最大速度

limit.cycle.dist Axis Yes 6.20+ 1 回転時の長さ

limit.detect.decelonly Axis Yes 6.06+ リミットセンサーが作動し停止するときの減速度

limit.detect.maxspeed Axis Yes 6.06+ リミットセンサーから離れるときの最大速度

limit.home.action Axis Yes 6.06+ ホーム自動リミットスイッチ動作

limit.home.edge Axis Yes 6.06+ 端検出ホームセンサーの設定

limit.home.pos Axis Yes 6.06+ ホームセンサートリガー時の位置

limit.home.posupdate Axis Yes 6.06+ ホームセンサートリガー時の位置更新設定

Page 14: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

14

limit.home.preset Axis Yes 6.06+ ホームセンサーのデフォルト位置

limit.home.state Axis No 6.06+ ホームセンサーの状態

limit.home.triggered Axis No 6.06+ ホームセンサーのトリガーの有無確認

limit.home.type Axis Yes 6.06+ 接続されたホームセンサーのタイプ

limit.away.action Axis Yes 6.06+ アウェイセンサー自動リミットスイッチ動作

limit.away.edge Axis Yes 6.06+ 端検出アウェイセンサーの設定

limit.away.pos Axis Yes 6.06+ アウェイセンサートリガー時の位置

limit.away.posupdate Axis Yes 6.06+ アウェイセンサートリガー時の位置更新設定

limit.away.preset Axis Yes 6.06+ アウェイセンサーのデフォルト位置

limit.away.state Axis No 6.06+ アウェイセンサーの状態

limit.away.triggered Axis No 6.06+ アウェイセンサーのトリガーの有無確認

limit.away.type Axis Yes 6.06+ 接続されたアウェイセンサーのタイプ

limit.c.action Axis Yes 6.06+ cセンサー自動リミットスイッチ動作

limit.c.edge Axis Yes 6.06+ 端検出cセンサーの設定

limit.c.pos Axis Yes 6.06+ cセンサートリガー時の位置.

limit.c.posupdate Axis Yes 6.06+ cセンサートリガー時の位置更新設定

limit.c.preset Axis Yes 6.06+ cリミットセンサーのデフォルトの位置

limit.c.state Axis No 6.06+ cリミットセンサーの状態

limit.c.triggered Axis No 6.06+ cリミットセンサーのトリガーの有無確認

limit.c.type Axis Yes 6.06+ 接続されているcリミットセンサーのタイプ

limit.d.action Axis Yes 6.06+ dセンサー自動リミットスイッチ動作

limit.d.edge Axis Yes 6.06+ 端検出dセンサーの設定

limit.d.pos Axis Yes 6.06+ dセンサートリガー時の位置.

limit.d.posupdate Axis Yes 6.06+ dセンサートリガー時の位置更新設定

limit.d.preset Axis Yes 6.06+ dリミットセンサーのデフォルトの位置

limit.d.state Axis No 6.06+ dリミットセンサーの状態

limit.d.triggered Axis No 6.06+ dリミットセンサーのトリガーの有無確認

limit.d.type Axis Yes 6.06+ 接続されているdリミットセンサーのタイプ。

limit.max Axis Yes 6.06+ デバイスが移動できる最大位置

(マイクロステップ数で表示)

limit.min Axis Yes 6.06+ デバイスが移動できる最小位置

(マイクロステップ数で表示)

limit.start.pos Axis Yes 6.19+ 軸の始動位置

Page 15: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

15

limit.swapinputs Axis Yes 6.06+ ホームセンサーとアウェイセンサーを入れ替え、リ

ミット位置を逆転

lockstep.numgroups Device No 6.15+ デバイスで使用可能なロックステップ(同期動作)

の数

lockstep.tolerance Axis Yes 6.15+ 停止、ねじれ戻し前のロックステップ(同期動作)

グループの軸間での最大ねじれ距離

maxspeed Axis Yes 6.06+ デバイスの最大速度

motion.accelonly Axis Yes 6.06+ 加速度の設定

motion.decelonly Axis Yes 6.06+ 減速度の設定

motion.index.dist Axis Yes 6.21+ 連続するインデックス位置間の距離

motion.index.num Axis No 6.22+ 現在のインデックス番号

peripheralid Axis Yes 6.06+ 接続されているデバイスのペリフェラル ID

peripheral.serial Axis Yes 6.24+ 接続されているデバイスのシリアル番号

pos Axis Yes 6.06+ デバイスの現在の絶対位置

resolution Axis Yes 6.06+ マイクロステップ分解能

stream.numbufs Device No 6.14+ デバイスのストリームバッファの数

stream.numstreams Device No 6.14+ デバイスのストリームの数

system.access Device Yes 6.06+ ユーザーのアクセスレベルを設定

system.axiscount Device No 6.06+ デバイス内の軸の数

system.current Device No 6.06+ デバイスとモータの消費電流

system.led.enable Device Yes 6.06+ LED を有効にする

system.serial Device No 6.15+ デバイスのシリアル番号

system.temperature Device No 6.06+ ユニットの現在の温度(摂氏)

system.voltage Device No 6.06+ デバイスに印加される電圧

version Device No 6.06+ デバイスのファームウェアバージョン

version.build Device No 6.17+ デバイスのファームウェアのビルド番号

virtual.numvirtual Device No 6.18+ 仮想軸の数

Page 16: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

16

Message Format - メッセージ形式

このプロトコルでは、次のコマンドリプライモデルが使用されます。

通信は、デバイスにコマンドを送信するユーザーによって開始されなければなりません。

デバイスは、コマンドが受信された直後に常に 1 つの応答をします。(Message IDs 項目を参照)

明確に有効にしない限り、デバイスはコマンドへの応答以外のメッセージを送信しません。

メッセージの内容はスペースで区切られ、連続スペースは単一スペースとして扱われます。 メッセージご

とに 1 つのコマンドまたは応答しかありません。1 つのメッセージで複数のコマンドを送信することはサポ

ートされていません。 別のメッセージ形式オプションについては、Message IDs 項目を参照してください。

Commands - コマンド

コマンドは、ユーザーからデバイスに送信します。デバイスは、常に即座に返信で応答します。コマンドの

データフィールドは実行されているコマンドによって異なりますが、大文字と小文字が区別され、スペース

で区切られます。使用可能なすべてのコマンドについては、Command Reference を参照してください。

コマンドは、デバイスに操作を実行するように指示します。一般的なコマンドメッセージと関連するフィール

ドは次の通りです。

/ - メッセージタイプ

長さ: 1 byte.

コマンドのメッセージタイプは常に『/』です。

このフィールド(フッターも含め)は唯一の必須フィールドで、その他のフィールドはオプションです。

n - デバイスアドレス

長さ: 1 bytes 以上

アドレスは、コマンドを実行するデバイス番号を示します。 アドレスはオプションであり、省略された

場合、またはゼロに設定されている場合は、コマンドはデイジーチェーン上のすべてのデバイスに適用

されます。デバイスアドレスの範囲は 1〜99 です。

受け入れ可能なアドレスの例は次のとおりです。

0, 00, 1, 01, 000001, 76, 99, 0x00, 0x01, 0x5A, 0x5a

無効なアドレスは次のとおりです。

100, -1, 0x65 - アドレスが範囲外です。メッセージが有効な間は、デバイスは応答しません。

a - 軸番号

長さ: 1 bytes

軸番号は、デバイス内でコマンドを実行する軸を示します。軸番号はオプションです。省略した場合、又

はゼロに設定した場合は、コマンドはデバイスのすべての軸に適用されます。軸番号の範囲は 0〜9 です。

xxxx... - コマンド

長さ: 可変

コマンド情報を含むメッセージデータ。内容はスペースで区切られています。

Command Reference で使用可能なコマンドについて説明します。

/1 1 move abs 10000↵

/n a xxxx yyy yyyyy[:CC]ff

Page 17: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

17

yyy... - コマンドパラメータ

長さ: 可変

コマンドパラメータとデータを含むメッセージデータ。内容はスペースで区切られます。

数値は、頭が『0x』の場合は 10 進数または 16 進数で表すことができます。

負の値には『-』が付きます。正の値にはオプションで『+』を付けることができます。

Command Reference で、使用可能なコマンドのパラメータフィールドの内容について説明します。

CC - メッセージチェックサム

長さ: 3 bytes.

例えば送信中がメッセージ破損した場合、デバイスはこれを拒否します。

詳細とコード例は、Checksumming の項目を参照ください。

ff - メッセージフッター

長さ: 1 - 2 bytes.

改行。通常、Enter 又は Return キーを押します。便宜上、キャリッジリターン(CR, \r)または改行(LF,

\n)の ASCII 組合わせをメッセージフッターとして認識します。

Smallest Command - 最小コマンド

有効な最小のコマンドは、デイジーチェーン内の全てのデバイスからの応答を生成する『/↵』です。

これを使用することで、通信と全デバイスが期待どおりに機能していることを、簡単に早く確認できます。

Longest Command - 最長コマンド

コマンドの最大長は『/』と『↵』を含む 80 文字です。デバイスはこれより長いコマンドには応答しません。

Replies - 応答

応答はコマンドを受信するとすぐにデバイスによって送信され、応答すべきかどうかが決定されます。代

表的な応答メッセージと関連するフィールドは次の通りです。

@ - メッセージタイプ

長さ: 1 byte.

このフィールドには、応答メッセージの 『@』が常に含まれます。

nn - デバイスアドレス

長さ: 2 bytes.

このフィールドには、応答を送信するデバイスのアドレスが含まれます。常に 2 桁の形式です。

a - 軸番号

長さ: 1 byte

このフィールドには、0 から 9 の応答 scoop が含まれます。0 は次のフィールドがデバイス全体とそのす

べての軸に適用されることを示します。それ以外の場合は、指定された軸にフィールドが適用されます。

/↵

@01 0 OK IDLE -- 0

@03 0 OK IDLE -- 0

@02 0 OK IDLE -- 0

@01 0 OK IDLE -- 0↵

@nn a fl bbbb ww x[:CC]ff

Page 18: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

18

fl - 応答フラグ

長さ: 2 bytes

応答フラグは、メッセージが受け入れられたか拒否されたかを示し、次の値を返します。

OK - コマンドは有効であり、デバイスによって受け入れられました。

RJ - コマンドは拒否されました。メッセージには、次のいずれかの理由が表示されます。

o AGAIN - コマンドをすぐに処理することはできません。ユーザーまたはアプリケーションは、

コマンドを再送信する必要があります。streamed motion 中にのみ発生します。

o BADAXIS - このコマンドは、利用可能な軸数より大きい軸番号で送信されました。

o BADCOMMAND - コマンドまたは設定が不正、又は無効です。

o BADDATA -コマンドで指定されたデータが不正または範囲外です。

o BADMESSAGEID - message ID が指定されましたが、0〜99 のいずれでもありませんでした。

o DEVICEONLY - デバイスのみに適用されるコマンドを実行した時、軸番号が指定されました。

o FULL - デバイスの永久記憶域がなくなり、コマンドを受け入れることができません。ストリー

ムバッファに保存する時、又はジョイスティックキーにコマンドを保存するときに発生します。

o LOCKSTEP - ロックステップグループの一部であるため、通常のモーションコマンドを使用して

軸を移動することはできません。 モーションには lockstep コマンドを使用するか、最初にロッ

クステップグループを無効にする必要があります。

o NOACCESS - コマンドまたは設定は、現在のアクセスレベルでは使用できません。

o PARKED - デバイスは停止している為、動かすことができません。

o STATUSBUSY - 現在使用中のため、デバイスを停止することや、特定の設定を変更することはで

きません。

bbbb - デバイスステータス

長さ: 4 bytes.

このフィールドには、軸が可動しているときは BUSY が、それ以外のときは IDLE が表示されます。stop

を含むすべての移動コマンドは、実行中には BUSY 状態にします。ストリーミング動作中、待機コマンド

は IDLE ではなく BUSY とみなされます。 応答メッセージがデバイス全体に適用される場合は、チェー

ン内の軸が 1 つでも BUSY の場合は BUSY、すべての軸が IDLE の場合は IDLE になります。

ww - 警告フラッグ

長さ: 2 bytes.

デバイスまたは軸に対して現在アクティブな最優先の警告の表示、又は通常の状態を表す『--』が表示

されます。フラッグの詳細については、警告フラッグ項目を参照してください。

xxx.. - 応答データ

長さ: 1+ bytes.

実行されたコマンドの応答。このフィールドはコマンドによって異なりますが、通常は 0 です。

CC - メッセージチェックサム

長さ: 3 bytes.

comm.checksum 設定が 1 に設定されている場合、デバイスはすべての応答にチェックサムを追加します。

詳細情報とコード例は、以下のチェックサム項目を参照ください。

ff - メッセージフッター

長さ: 2 bytes.

このフィールドには、返信メッセージの CR-LF の組み合わせ(\r\n)が常に含まれます。

Page 19: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

19

多軸デバイスの応答

軸番号が 0 の応答の場合、ステータスフラグと警告フラグはデバイス全体に適用されます。デバイス上の

いずれかの軸が動いている場合、応答ステータスは BUSY 状態になります。同様に、警告フラグはすべて

の軸で最も重要性の高い警告を表示します。

軸番号が 1 以上の応答の場合、ステータスフラグと警告フラグは指定された軸にのみ適用されます。

Warning Flags - 警告フラッグ

デバイスの障害または警告がアクティブであるかどうかを示す警告フラグが各デバイス間の応答メッセー

ジに表示されます。複数の条件がアクティブな場合は、最も重要性の高い条件が表示されます。

警告フラグは、次のように定義されています。

FD - ドライバー無効

ドライバーは過熱により機能を無効にしています。

この警告は、ドライバーが通常の運転状態に戻るまで続きます。

FQ - エンコーダエラー

エンコーダ測定位置が信頼できない可能性があります。エンコーダは、センサーの位置合わせ不良、振

動、汚れ、または他の環境条件により読み取りエラーが発生しました。エンコーダの基準位置を再調整す

るには、原点復帰をお勧めします。

この警告は、warnings コマンドを使用してユーザーが確認、クリアするまで続きます。このエラーが解

消されない場合は、技術サポートにお問い合わせください。

FS - ストール、停止

ストールが検出され、軸が停止しました。

この警告は、warnings コマンドを使用してユーザーが確認、クリアするまで続きます。

FT - 過度なねじれ

ロックステップグループ内の軸間のねじれが許容値を超えた為、停止しました。

この警告は、warnings コマンドを使用してユーザーが確認、クリアするまで続きます。

FB - ストリーム境界エラー

以前のストリーミングされた動作は、前提条件に失敗したために実行できませんでした。(例えば、動作

がデバイスの境界を超え、呼び出しが深すぎる等)

この警告は、warnings コマンドを使用してユーザーが確認、クリアするまで続きます。また、警告がク

リアされるまで、それ以上のストリーム動作は失敗したストリームに送信できません。

FP - Interpolated Path Deviation

軸の滑りによって、デバイスが要求された経路から外れたため、ストリーミング又は正弦波動作が終了

しました。この警告は、warnings コマンドを使用してユーザーが確認、クリアするまで続きます。

FE - リミットエラー

ターゲットのリミットセンサーに到達できない、またはリミットセンサーに障害があります。

この警告は、warnings コマンドを使用してユーザーが確認、クリアするまで続きます。

WH - デバイスが原点復帰されていない

デバイスには位置フィードバック機能がありますが、原点復帰されていない為、キャリブレーションが

無効になっています。キャリブレーションを再度有効にするためにデバイスを原点復帰してください。

この警告は、デバイスが原点復帰するまで続きます。

Page 20: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

20

WL - 予期しないリミットセンサーのトリガー

リミットセンサーがトリガーされたため、移動操作が完了しませんでした。このフラッグは、移動操作が

リミットセンサーによって中断され、基準位置なし(WR)警告フラグが存在しない場合に設定されます。

このフラッグが設定された場合、軸が滑っているか、limit.min と limit.max のいずれかが間違っている可

能性があります。この警告は、warnings コマンドを使用してユーザーが確認、クリアするまで続きます。

WP - 無効なキャリブレーションタイプ

指定された peripheral.serial のキャリブレーションタイプは、現在設定されている peripheralid のサポー

ト対象範囲外です。この警告は、キャリブレーションデータ、peripheralid、peripheral.serial が有効な組

合わせに設定されるまで続きます。

WV - 電圧が許容範囲外

電源電圧がデバイスの推奨範囲外です。デバイスが損傷する可能性があります。

この警告は、状態が改善されるまで続きます。

WT - システムが高温状態

内部温度がデバイスの推奨限度を超えました。この警告は、過熱状態が改善されるまで続きます。

WM - 静止時に移動

デバイス停止時に、軸が強制的に動かされました。この警告は、軸が移動するまで続きます。

WR -基準位置なし

軸が現在位置を認識していません。この警告は、ホーミングまたは位置を設定するコマンド/アクション

を使用して軸の位置が更新されるまで続きます。

NC - 手動制御中

手動ノブによる操作中の為、軸が BUSY 状態です。この警告は、移動コマンドを送信するまで続きます。

NI - コマンドが中断されました

軸が別の移動コマンドを実行している間に、移動操作(コマンドまたは手動ノブ制御)が要求されまし

た。これは、移動コマンドが完了しなかったことを示します。この警告は、軸が IDOL 状態で移動コマ

ンドが指示される、又は手動ノブ操作をするまで続きます。

ND - ストリームの不連続性

キュー内の動作がなくなったため、デバイスはストリーミングモーションパスに従っている間に速度が

低下しました。この警告は、ストリームに十分なモーションがエンキューされ、その理由で減速する必要

がなくなるまで、またはストリームが無効になるまで続きます。

NU - 更新保留中の設定

設定が保留中であるか、リセットが保留中です。この警告は、設定が更新、又はデバイスがリセットされ

ると自動的に消去されます。

NJ - ジョイスティックキャリブレーション中

ジョイスティックキャリブレーションが進行中です。ジョイスティックを動かしても効果がありません。

この警告は、ジョイスティックのキャリブレーションが完了するまで続きます。

現在のすべての警告を表示、削除するには、warnings コマンドを使用してください。

Page 21: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

21

Info - 情報

このメッセージタイプには、テスト/デバッグ/プログラミングを目的とした、デバイスからの追加情報が含ま

れています。1 つまたは複数の情報メッセージが応答または警告メッセージの後に続くことができます。

このメッセージタイプは、ユーザーによる読取りのみで、ソフトウェアは無視するよう設計されています。

代表的な Info メッセージとそのフィールドは次の通りです。

# - メッセージタイプ

長さ: 1 byte.

このフィールドには、情報メッセージの『#』が常に含まれます。

nn - デバイスアドレス

長さ: 2 bytes.

このフィールドには、応答を送信するデバイスのアドレスが含まれます。常に 2 桁の形式です。

a - 軸番号

長さ: 1 byte.

Info メッセージの場合は常に 0 です。

xxx.. - データ

長さ: 1+ bytes.

info メッセージのデータです。通常は人が読解できるテキストで表示されます。

CC - メッセ―ジチェックサム

長さ: 3 bytes.

comm.checksum 設定が 1 に設定されている場合、デバイスはすべての応答にチェックサムを追加します。

詳細情報とコード例は、以下のチェックサム項目を参照ください。

ff - メッセージフッター

長さ: 2 bytes.

このフィールドには、返信メッセージの CR-LF の組み合わせ(\r\n)が常に含まれます。

info メッセージは一般的には下記のように help コマンドへの応答で確認できます。

#01 0 Visit www.zaber.com for instruction manuals.↵

#nn a xxxxxxxxxxxxx...[:CC]ff

/1 help↵

@01 0 OK IDLE WR 0

#01 0 COMMAND USAGE:

#01 0 '/stop' stop all devices

#01 0 '/1 stop' stop device number 1

#01 0 '/1 2 stop' stop device number 1 axis number 2

#01 0

#01 0 Type '/help commands' for a list of all top-level commands.

#01 0 Type '/help reply' for a quick reference on reply messages.

#01 0 Visit www.zaber.com/support for complete instruction manuals.

Page 22: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

22

Alerts - 警報

モーションコマンドが完了すると、デバイスからアラートメッセージが送信されます。アラートメッセージが

有効になっている場合、ユーザーのコマンドが先行することなく送信されます。このメッセージタイプは、情

報提供や時間のかかる操作に使用されます。アラートは comm.alert で設定可能です。アラートを有効に

する為には『1』でなければなりません。代表的な警告メッセージとそのフィールドは次のとおりです。

! - メッセージタイプ

Length: 1 byte.

このフィールドには常に警告メッセージを表す「!」が含まれます。

nn - デバイスアドレス

長さ: 2 bytes.

このフィールドには、アラートを送信するデバイスのアドレスが表示されます。必ず 2 桁の形式です。

a - 軸番号

長さ: 1 byte.

ssss - デバイスステータス

長さ: 4 bytes.

このフィールドには、軸が移動しているときは BUSY、軸が停止しているときは IDLE と表示されます。

ww - 警告フラッグ

長さ: 2 bytes.

デバイスまたは軸に対して現在アクティブな最優先の警告の表示、又は通常の状態を表す『--』が表示

されます。フラッグの詳細については、警告フラッグ項目を参照してください。

CC - メッセ―ジチェックサム

長さ: 3 bytes.

comm.checksum 設定が 1 に設定されている場合、デバイスはすべての応答にチェックサムを追加します。

詳細情報とコード例は、以下のチェックサム項目を参照ください。

ff - メッセージフッター

長さ: 2 bytes.

このフィールドには、返信メッセージの CR-LF の組み合わせ(\r\n)が常に含まれます。

Multi axis Alerts - 多軸デバイスのアラート

完了アラートが有効になっている多軸デバイスでは、軸が停止するたびにアラートが生成されます。 以

下の例では、軸 2 は軸 1 よりも最大位置に近い位置にあります。

最初のアラートは軸 2 が停止すると生成され、その軸は IDLE 状態であるため、軸 1 の移動によってデバイス全体

がまだ BUSY 状態であっても、軸-スコープの応答はその ssss フィールドに IDLE を表示します。 2 番目のアラート

は、軸 1 が停止すると生成されます。

!01 1 IDLE --↵

!nn a ssss ww[:CC]ff

/move max↵

@01 0 OK BUSY -- 0

!01 2 IDLE --

!01 1 IDLE --

Page 23: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

23

Command Reference - コマンドリファレンス

次の項目では、ASCII プロトコルで使用可能なすべてのコマンドについて詳しく説明します。特定のデバイ

スのコマンドについては、そのデバイスのユーザーマニュアルを参照してください。

デバイススコープのコマンドの場合、コマンドにゼロ以外の軸番号を指定すると、以下に示すように

DEVICEONLY エラーが発生します。

軸-スコープを持つコマンドでは、軸番号に『0』指定する、又は軸番号を指定しない場合は、デバイスのす

べての軸にコマンドが適用されます。1 つでも軸がコマンドを完了できない場合、BADDATA 応答が返さ

れ、どの軸もコマンドを実行しません。例えば、1 つの軸をそのデバイスの可動範囲外に移動させようとし

た場合、そのターゲット位置が別の軸の可動範囲内であってもエラーが発生します。

角括弧内のパラメータ(例: [clr] )は、パラメータが選択式であることを示します。イタリック体のパラメー

タ、(例: value ) は、データ(一般的には数字)を入力する必要があることを示します。『|』によって区切

られたパラメータ、(例: abs|rel )は、区切られたパラメータのどちらか 1 つのパラメータを入力する必要

があることを示します。

calibration

リニアエンコーダのキャリブレーションを設定します。

リニアエンコーダ内臓デバイスは、標準品ではデバイスにキャリブレーションデータがプリロードされた状

態で出荷されます。これは、calibration.type が 1 に設定されていることを確認することで確認できます。

ほとんどのユーザーはこのキャリブレーションデータを設定する必要はありません。キャリブレーションデ

ータの読み込み、印刷、削除が必要な場合は、技術サポートにお問い合わせください。

/1 tools parking park↵

@01 0 OK IDLE -- 0

/1 0 tools parking park↵

@01 0 OK IDLE -- 0

/1 1 tools parking park↵

@01 1 RJ IDLE -- DEVICEONLY

/1 get limit.max↵

@01 0 OK IDLE -- 3038763 6062362

/1 move abs 4750000↵

@01 0 RJ IDLE -- BADDATA

Page 24: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

24

force

ボイスコイル内臓のデバイスに、一定、又は正弦波の力を加えます。

Scope 軸

Parameters abs value

sin amplitude period [count]

sin stop

off

Firmware Versions 6.25+

value と amplitude は単位のない力の計数値です。

abs は、軸に定常力(value 値)を加えるよう設定します。一定の力を加えると、軸の device status デバイ

スステータスは IDLE と表示されます。正弦波の力が加えられている間、定常力(abs)を設定すると、正弦

波の平均値が設定された value 値になるよう調整されます。Value は、[ -700 ~ 700 ]の範囲内でなけ

ればなりません。

sin は既存の定常力に正弦波の力を加えます。軸が位置による制御中の場合、force.average で設定され

た値が定常力として設定されます。

amplitude は、正弦波出力に適用されるピーク to ピークの力の半分(最大振幅)を指定します。完全

なサイクルの開始時と終了時の力は、必ず有効な定常力となります。正の amplitude は、正弦波の力

が正の方向から始まることを意味し、負の amplitude は、正弦波の力が負の方向から始まることを意

味します。amplitude は[ -700 ~ -1 ]または[ 1 ~ 700 ]の範囲内でなければなりません。

period は、正弦波の周期を ms(ミリ秒)で指定します。分解能は 0.1ms です。確実な分解能を指示した

い場合は、1ms 以上を推奨します。period は[ 0.2 ~ 429496729.5 ]の範囲内でなければなりません。

count(選択式のパラメータ)は、反復サイクル数を指定します。サイクルが終了すると、定常力で継

続されます。count が指定されていない場合は、別のコマンドが割込むまで続行されます。現在のサイ

クルが完了した後に正弦波の力の適用のアプリケーションを停止するには、下記で説明する force sin

stop コマンドを参照してください。count は[ 1 ~ 4294967294 ]の範囲内で指定してください。

出力は下記の式によって決まります。

正弦波出力中に出力可能な最大出力を超えると、これらの範囲内で最大の力が出力されます。

Page 25: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

25

sin stop は、現在のサイクルが完了したときに正弦波の力を終了させます。それが完了すると、一定の力

は依然として継続されます。推力が正弦波出力の状態でない場合、コマンドは response data(応答デー

タ)が NOTSIN となり、拒否されます。

off はモータへの電流をすべて除去し、force コマンド又は move コマンドを先取りします。位置制御モード

により軸が静止していた場合、静止位置は能動的に維持されません。

使用例:

正の方向に 200 の定常力を加える:

300 の一定の力を中心に 10Hz で正弦波の力を加え、50 サイクル後、300 の定常力のままにする。

すべての力出力を取り除く:

estop

自動操作を即座に停止します。

Scope 軸

Parameters 無

Firmware Versions 6.06+

軸は減速設定を無視し、直ちに運転を停止、現在位置を保持します。

使用例:

注意: 軸の電源は維持され、次の移動コマンドに応答します。

注意: このコマンドを過度に使用すると、製品に損傷を与え、寿命が短くなる可能性があります。

軸に負荷がかかっている場合は、使用しないでください。

/force abs 200↵

@01 0 OK IDLE -- 0

/force abs 300↵

@01 0 OK IDLE -- 0

/force sin 200 100 50↵

@01 0 OK BUSY -- 0

/force off↵

@01 0 OK IDLE -- 0

/1 1 estop↵

@01 1 OK BUSY -- 0

Page 26: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

26

get

デバイスまたは軸設定の現在の値を取得します。

Scope デバイスと軸

Parameters setting Device Settings デバイス設定項目の 1 つ

Firmware Versions 6.06+

詳細なリストや設定については、Device Settings デバイスの設定を参照してください。

使用例:

デバイス ID の表示:

無効な設定を取得した場合:

cloop.mode はエンコーダを持つデバイスでのみ有効で、このデバイスにはエンコーダはありません。

無効な設定を読み込もうとすると、BADCOMMAND の拒否応答が返されます。

help

ビルトインヘルプを表示します。

Scope デバイス

Parameters [commands|reply|warnflags|enums|command|enum]

Firmware Versions 6.06+

該当するシステム、commands(コマンド)、reply(応答)、warnflags(警告フラッグ)、enums(列挙

型)、または特定の command と enumeration のヘルプ情報を表示します。このコマンドは常に正常な応

答を返し、ヘルプ情報は情報メッセージに返されます。

help reply は、reply message のフォーマットに関する情報を表示します。

help warnflags は、可能性のある warning flags(警告フラッグ)に関する情報を表示します。

help enums は、コマンドパラメータに存在する列挙型のリストを表示します。

/get deviceid↵

@01 0 OK IDLE -- 20022

Device ID is 20022 (A-LSQ150B)

/get cloop.mode↵

@01 0 RJ IDLE -- BADCOMMAND

Page 27: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

27

ビルトインヘルプは各デバイスに固有のものなので、コマンドを送信する場合にはデバイス番号が必要で

す。デバイス番号なしで help コマンドを送信すると、デイジーチェーン内の各デバイスにより、次のように

デバイス番号を指定するように要求されます。:

使用例:

estop コマンドのビルトインヘルプを表示する。

無効なコマンドのヘルプを要求した場合でも、下記の内容で正常に返されます。

home

軸を原点位置に移動します。

Scope 軸

Parameters 無

Firmware Versions 6.06+

軸は、 limit.approach.maxspeed と maxspeed の内、設定値の小さい方の速度で原点(モータに最も近い

ポジション)に向かって移動します。原点に達すると、現在の位置は limit.home.preset の値にリセットされ

ます。さらに、limit.home.triggered は『1』に設定され、基準位置なし (WR)の警告フラッグはクリアされま

す。 このコマンドは、tools gotolimit home neg 2 0.と同等です。

使用例:

注意: 電源投入時、または設定の変更時に、このコマンドを発行して基準位置を取得する必要がありま

す。しなかった場合、モーションコマンドは拒否応答で応答するか、または予期しない動作をとる可

能性があります。

/help↵

@01 0 OK IDLE -- 0

#01 0 Please provide a device address for querying help

@02 0 OK IDLE -- 0

#02 0 Please provide a device address for querying help

/1 help estop↵

@01 0 OK IDLE -- 0

#01 0 estop Emergency stop

/1 help dlkjsfbi↵

@01 0 OK IDLE -- 0

#01 0 No help found

/home↵

@01 0 OK BUSY WR 0

Page 28: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

28

io info

デバイスが持つ I / O チャネルの数を返します。

Scope Device

Parameters [ao|ai|do|di]

Firmware Versions 6.06+

このコマンドのパラメータでは、アナログ入力の場合は『ai』、アナログ出力の場合は『ao』、デジタル入力

の場合は『di』、デジタル出力の場合は『do』を使用し、チャンネルのポートタイプを指定します。チャネル

番号はタイプごとに 1 から始まります。

チャンネルタイプが指定されていない場合は、アナログ出力、アナログ入力、デジタル出力、デジタル入

力の順にすべてのチャンネルが返されます。

使用例:

利用可能な io 設定の取得:

デバイスには、アナログ出力が 0、アナログ入力チャンネルが 4 つ、デジタル出力が 4 つ、デジタル入力

が 4 つあります。

特定のポートタイプの設定を取得する:

デバイスにはアナログ出力機能がありません

無効なポートタイプの場合:

/io info↵

@01 0 OK IDLE -- 0 4 4 4

/io info ao↵

@01 0 OK IDLE -- 0

/io info as↵

@01 0 RJ IDLE -- BADCOMMAND

Page 29: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

29

io get

指定された I / O チャネルタイプの現在の値を取得します。

Scope デバイス

Parameters ao|ai|do|di [channel]

Firmware Versions 6.06+

channel が指定されていない場合、要求されたタイプの全てのチャネルのリストがスペース区切りで返さ

れます。

デジタルチャネルの場合、『0』は入力または出力が導通していないことを示し、『1』はチャネルが導通して

いることを示します。

アナログチャネルの場合、返される値は、使用可能な分解能の桁数を持つ入力電圧の測定値です。使用

可能な分解能を確認するには、デバイスの製品データシートを参照してください。

製品情報はこちら:http://www.technology-link.jp/category/1988878.html

使用例:

アナログ入力値の取得:

アナログ入力 2 は 7.5V です。

すべてのデジタル出力値の取得:

デジタル出力 3 は 1(High)、残りは 0(Low)です。

無効なポートタイプ:

チャネル番号が無効です。上記の io info コマンドで表示される利用可能なチャネルを使用してください。

アナログ出力ポートにはチャネルがなく、表示できません。

/io get ai 2↵

@01 0 OK IDLE -- 7.5

/io get do↵

@01 0 OK IDLE -- 0 0 1 0

/io get as 0↵

@01 0 RJ IDLE -- BADCOMMAND

/io get ai 5↵

@01 0 RJ IDLE -- BADDATA

/io get ao↵

@01 0 RJ IDLE -- BADDATA

Page 30: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

30

io set

指定した出力を設定します。

Scope Device

Parameters do channel value

do port value value2...

Firmware Versions 6.06+

指定した出力 channel に value を設定します。

デジタルチャネルの場合、value を『0』に設定した場合、出力値はクリアされ、その他の値を設定した場合は、その

値が設定されます。

port を指定した場合は、すべてのデジタル出力を同時に設定できます。

使用例:

デジタル出力 3 をクリア:

ポートコマンドを使用してデジタル出力 1、3、4 を設定、出力 2 をクリア:

ポートタイプが無効だった場合

出力ではない、またはチャネルを持たないポートタイプを指定した場合:

無効なチャンネル番号だった場合:

/io set do 3 0↵

@01 0 OK IDLE -- 0

/io set do port 1 0 1 1↵

@01 0 OK IDLE -- 0

/io set ad 2 50↵

@01 0 RJ IDLE -- BADCOMMAND

/io set ai 2 50↵

@01 0 RJ IDLE -- BADDATA

/io set ao 2 50↵

@01 0 RJ IDLE -- BADDATA

/io set do 8 1↵

@01 0 RJ IDLE -- BADDATA

Page 31: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

31

joystick

ジョイスティックの軸を設定します。

Scope Device

Parameters 1|2|3 target device axis

1|2|3 target device lockstep index

1|2|3 target device virtual index

1|2|3 speedprofile 1|2|3

1|2|3 maxspeed max

1|2|3 invert 0|1

1|2|3 resolution steps

1|2|3 info

calibrate limits|deadbands start|save

Firmware Versions 6.16+

Axis Configuration - 軸構成

joystick コマンドを使用することで、ユーザーはジョイスティックの各軸を設定することができます。

各軸には、変更可能な 5 つのパラメータがあります。

『target』は、ジョイスティックで制御するデバイスと軸を設定します。target コマンドを使用し

て、lockstep group(ロックステップグループ)または virtual axis 仮想軸を指定することもできます。

『speedprofile』は、ジョイスティック操作時のデバイスの速度変化量を指定します。

o 1 - 比例(線形)

o 2 - 2 乗(工場出荷時のデフォルト)

o 3 - 3 乗

『maxspeed』 は、ジョイスティック操作時におけるデバイスの最大速度を指定します。

invert 『invert』 は、ジョイスティック軸を操作した時にターゲットデバイスが移動する方向を指

定します。『invert』が 0(デフォルト値)に設定されている場合:

o Joystick axis 1 - 左が負、右が正です。

o Joystick axis 2 - 下が負、上が正です。

o Joystick axis 3 - 反時計回りは負で時計回りは正です。

『resolution』は、新しく速度が送信される場合の各方向のディスクリートステップ数を設定しま

す。『resolution』が高いほど感度が高くなります。設定可能な最大ステップ数は、『maxspeed』又

は〜500(正確な値はジョイスティックのキャリブレーションに依存します。)の小さい方です。

使用例:

ジョイスティック軸 1 をデバイス 2 の軸 1 を制御するように設定する:

/1 joystick 1 target 2 1

@01 0 OK IDLE -- 0

Page 32: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

32

ジョイスティック軸 2 をデバイス 3 のロックステップグループ 1 を制御するために設定する:

ジョイスティック軸 3 をデバイス 3 の仮想軸 1 を制御するように設定する:

ジョイスティック軸 2 のジョイスティック傾け量に比例した速度操作に設定する:

ジョイスティック軸 3 の最大速度を 200000 に設定する:

ジョイスティック軸 3 操作時のターゲット軸の移動方向をデフォルトから切り替える:

各方向のディスクリートステップ数を 20 に減らし、ジョイスティック軸 3 の感度を下げる:

Displaying Joystick Axis Information - ジョイスティック軸情報の表示

『info』コマンドを使用することで、joystick は以下の順番にスペース区切りで構成されたリストを返します。

ジョイスティック軸のターゲット(デバイス番号と軸番号、またはデバイス番号、lockstep、ロック

ステップグループのロックステップインデックスのいずれか)

ターゲットの最大速度

ターゲットの速度プロファイル

反転状態

ジョイスティックの動きの各方向のディスクリートステップ数

/1 joystick 2 target 3 lockstep 1

@01 0 OK IDLE -- 0

/01 joystick 3 target 3 virtual 1↵

@01 0 OK IDLE -- 0

/1 joystick 2 speedprofile 1

@01 0 OK IDLE -- 0

/1 joystick 3 maxspeed 200000

@01 0 OK IDLE -- 0

/1 joystick 3 invert 1

@01 0 OK IDLE -- 0

joystick 3 resolution 20

@01 0 OK IDLE -- 0

Page 33: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

33

使用例:

Joystick Calibration - ジョイスティックキャリブレーション(校正)

Zaber のジョイスティックは出荷前に校正されています。なのでジョイスティックが中立位置にあるときに動

きが発生等、ジョイスティックが完全に変位しても最高速度に達しないなどの問題が発生しない限り、再

校正はお勧めしません。calibrate コマンドは、ジョイスティックのリミットと不感帯をリセットすることができ

ます。リミットをキャリブレーション中に不感帯のキャリブレーションを開始しようとすると、BADDATA で応

答され、コマンドが拒否されることに注意してください。

リミットをキャリブレーション(較正)するには:

1. 『/01 joystick calibrate limits start』を送信します。

2. ジョイスティックを左右いっぱいまで移動させます。(axis1)

3. ジョイスティックを上下いっぱいまで移動させます。(axis2)

4. ジョイスティックハンドルを反時計回り、時計回り共に限界まで回します。(axis3)

5. 『/01 joystick calibrate limits save』を送信します。

不感帯をキャリブレーション(較正)するには:

1. 『/01 joystick calibrate deadbands start』を送信します。

2. ジョイスティックを中立位置から左右にわずかに振ってください。あそびの限界をわずかに超えるよう

動かしてください。

3. ジョイスティックを中立位置からわずかに上下に振ってください。

4. ジョイスティックハンドルを中立位置から少しだけ反時計回りおよび時計回りに振ってください。

5. 『/01 joystick calibrate deadbands save』を送信します。

/1 joystick 1 info

@01 0 OK IDLE -- 2 1 10000 2 1 50

/1 joystick 2 info

@01 0 OK IDLE -- 3 lockstep 1 10000 2 0 50

/01 joystick 3 info↵

@01 0 OK IDLE -- 3 virtual 1 10000 2 0 50

Page 34: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

34

key

ジョイスティックキーを設定します。

Scope デバイス

Parameters index event add command

index event alert 0|1

index event info

index event clear

clear all

Firmware Versions 6.16+

key コマンドを使用することで、ジョイスティックのキーの設定をすることができます。キーを押す、離すこと

により、そのキーの押す長さによって一連のイベントが発生します。1 秒以内にキーを押して離すと、イベ

ントシーケンスは①-②になります。 キーを 1 秒以上押してから離した場合、イベントシーケンスは①-③

-④となります。(キーが 1 秒以上押された後にイベント 3 が発行され、離した後にイベント 4 が発行され

ます。)下図を参照ください。キーの保留時間は、ユーザーによって変更することはできません。

Saving commands to keys - キーへのコマンドの保存

各キーイベントには、実行するコマンドのリストを保存できます。イベントをキーに保存する前に、以下に

示すように、以前に保存したコマンドをすべてクリアしてください。

すべてのコマンドが連続して送信されることに注意してください。複数の移動コマンドが同じ軸に送信され

た場合は、最後のコマンドだけが完了します。複雑な動作が必要で、デバイスが stream(ストリーム)コマ

ンドをサポートしている場合は、ターゲットデバイスの stream(ストリーム)バッファに一連のモーションを保

存し、ジョイスティックキーを使用してこのバッファを呼び出します。

使用例:

キー2 を 1 秒間以上長押し時に全てのデバイスに stop(停止)コマンドを送信するように設定:

/1 key 2 3 add 0 stop

@01 0 OK IDLE -- 0

Page 35: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

35

キー4 をデバイス 2 でストリームバッファ 1 を呼び出すように設定

保存されたコマンド(ターゲットデバイス、ターゲット軸を除く)が 60 文字を超える場合、コマンドは

BADDATA で拒否されます。

Sending key alerts to the computer - コンピュータにキーアラートを送信する

各キーイベントは、発生時に前のポートを介してコンピュータに alert message を送信するように設定でき

ます。この機能を利用するには、最初に comm.alert を 1 に設定する必要があります。

使用例:

特定のキーイベントに対してアラートを有効にするには、まずデバイス上でアラートを有効にします。:

次に、key alert コマンドを使用して、目的のキーイベントごとにアラートを有効にします。:

キー2 を押すと、次のアラートが送信されます。:

アラートを無効にするには、代わりにコマンドデータ 0 を送信します。

/1 key 4 1 add 2 stream 1 setup disable

@01 0 OK IDLE -- 0

/1 key 4 1 add 2 stream 1 setup live 1 2

@01 0 OK IDLE -- 0

/1 key 4 1 add 2 stream 1 call 1

@01 0 OK IDLE -- 0

/1 set comm.alert 1

/1 key 2 1 alert 1

@01 0 OK IDLE -- 0

!01 0 key 2 1

/1 key 2 1 alert 0

@01 0 OK IDLE -- 0

Page 36: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

36

Displaying key configuration - キー構成の表示

info コマンドを使用して、プログラムされたキーイベントを表示します。応答メッセージは、そのキーイベン

トに対してアラートが有効になっているかどうかを示します。保存されたコマンドは info メッセージとして送

信されます。

使用例:

キー4 のイベント 1 に関する情報を表示するには:

Clearing keys - キーのクリア

clear コマンドは、指定されたキー、およびイベントに保存されているすべてのコマンドを削除します。

使用例:

キー4のイベント 1 に保存されたすべての指示をクリアする:

すべてのキーに保存されているすべてのコマンドをクリアする:

/1 key 4 1 info

@01 0 OK IDLE -- alerts disabled

#01 0 cmd 02 0 stream 1 setup disable

#01 0 cmd 02 0 stream 1 setup live 1 2

#01 0 cmd 02 0 stream 1 call 1

/1 key 4 1 clear

@01 0 OK IDLE -- 00

/1 key clear all

@01 0 OK IDLE -- 00

Page 37: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

37

lockstep

ガントリーシステム等の平行軸の同期動作を設定、制御します。

Scope デバイス

Parameters number setup enable axis1 axis2

number setup disable

number info

number estop

number home

number move abs|rel|vel value

number move min|max

number move stored number

number stop

Firmware Versions 6.15+

lockstep コマンドを使用することにより、平行ガントリー機構の両側のデバイスを駆動するのに適した、常

に正確に同じ速度で、lockstep でデバイスの 2 つの軸を駆動することが可能です。

Setup - セットアップ

lockstep コマンドを使用可能なデバイスには、lockstep.numgroups 設定が 0 以外になっており、 デバイ

ス上で lockstep 軸のグループを同時にいくつ表示できるかを示します。アドレス指定しているロックステッ

プグループの番号は、上記の lockstep コマンドの最初の数字のパラメータです。lockstep コマンドは、2

軸以上のシステムでのみ使用できます。

ロックステップグループで設定するデバイスを機械的に接続、固定する前に、最初に個々に原点を設定し

ます。次に、システムを整列させ、固定します。機械的にセットアップした後、axis1 と axis2(セットの一部

になる軸)を使用して setup enable コマンドをデータ値と共に送信します。軸は 1 つのロックステップグ

ループ内にのみ存在することができ、セットが有効なときは IDLE 状態になっている必要があります。そう

でない場合、setup enable コマンドが拒否されます。軸位置の値の差は、オフセット値として記録されま

す。(オフセットの詳細については、以下の項目を参照してください)

電源入切をしてもこの設定は有効のままになり、setup disable コマンドが送信されるまでロックステップ

で制御し続けます。

使用例:

2 軸のロックステップ制御のセットアップ:

軸 1 と軸 2 がペアになりました。

/01 lockstep 1 setup enable 1 2↵

@01 0 OK IDLE -- 0

Page 38: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

38

2 軸ロックアップ制御の解除:

lockstep 1 でペアになった軸は同期制御が解除され、再び独立して動くことができます。

Offset, Twist, and Tolerance - オフセット、ねじれ、許容差

ロックステップグループの各軸は、それぞれの位置を追跡し続けます(pos 設定)。グループが使用可能

になったときの軸間の位置の差は、オフセット値と呼ばれます。これは軸構成上の位置の差であり、シス

テムは両方の軸が一緒に駆動されるため、動作コマンドを通じてこの差を維持し続けます。

軸が完全に一緒に動かない状態が生じることがあります。原因としては、動作中に片方の軸がスリップ脱

調、ストールした場合、片方の軸に外力が加えられた場合、ステージの位置がずれた場合、片方の軸の

動きに障害がある場合などです。両軸間に生成される予期しない位置相違の成分をねじれと呼びます。

位置フィードバックがなければ、ねじれの量は検出、補正できません。このため、エンコーダを内蔵したク

ローズドループ制御装置を使用してシステムを構築し、ねじれ量を管理できるようにすることを強く推奨し

ます。

コントローラを使用しねじれを補正するためには 2 つの方法があります。1 つ目は、まず動作コマンド、手

動ノブ動作、原点復帰などのロックステップ動作を実行する前に移動させ解消する方法です。解くには、

axis2 が移動して補正を行います(axis2 がその限界外に移動しない場合は、axis1 が移動します)。

第 2 の方法は、ねじれが axis2 の lockstep.tolerance 設定によって規定される特定の値を超える場合、移

動を停止するように設定する方法です。cloop.mode が 4(停止の回復)以上の場合、コントローラは軸の

ねじれを解き、動きを再開します。それ以外の場合、軸は停止し、warning flag 警告フラッグ(FT)が設定

されます。lockstep.tolerance の値はデフォルトで『0』となっています。これは、移動中に無制限のねじれを

許容する特別な値です。システムの許容誤差は、軸の長さ、負荷、システムの剛性、誤差許容誤差など、

システムの構成に応じてユーザーが設定する必要があります。

上記の両方の補正では、閉ループモードに位置補正(cloop.mode 設定が 3 以上)が必要です。軸に通常

適用される他のクローズドループモード機能(ストール検出、回復など)はすべて引き続き適用されます。

ロックステップグループを有効にして set pos コマンドを使用している場合は、注意してください。オフセッ

ト量以外の位置の差は、位置設定を変更した結果であっても、ねじれとして扱われ、ステージは次の動作

コマンドで修正しようとします。位置の値がオフセットと機械的なシステム内の実際のねじれとの和に一致

しない場合、修正しようとするとシステムにねじれが生じる可能性があります。

電源を入れ直すと、軸の 1 つは電源投入時に limit.max の位置になり、その他の軸の位置はオフセット値

に基づいて設定されます。これにより、システムが基準位置になるまで位置を後退させることのみの、通

常適用されている制約が適用されます。電源オンオフに関わらず、ねじれを検出させるには、tools

parking コマンドを使用します。

/01 lockstep 1 setup disable↵

@01 0 OK IDLE -- 0

Page 39: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

39

Information - 情報

アクティブ中のロックステップグループに関する情報を読み取るには、lockstep info コマンドを使用しま

す。 このコマンドは、スペースで区切られた値のリストを返します。:

1. axis1(軸 1)の設定に使用する軸番号

2. axis2(軸 2)の設定に使用する軸番号

3. axis1 と比較した axis2 のオフセット値

4. axis1 と比較した axis2 の現在のねじれ値

使用例:

2 つの軸を持つロックステップグループの情報を要求する:

この場合、axis1 は軸 1 に対応し、axis2(軸 2 に対応する)は 525 マイクロステップ軸からオフセットし

ています。現在のところ、軸の間にねじれはありません。

ロックステップグループが有効になっていない場合の応答:

Movement - 動作

デバイスのロックステップグループが有効になっていると、グループ内の個々の軸への動作コマンド制御

ができなくなります。その代わりに、すべての標準動作コマンドには、move、home、stop、estop を含む、

デバイスに送信できる同等のロックステップがあります。これらそれぞれのコマンドは、ロックステップグル

ープ内の軸の動作を同期作動させます。

move abs や move stored などの参照位置を必要とする移動コマンドは、axis1 位置を参照します。移動

先を保存するには、axis1 として使用される軸に tools storepos コマンドを指定します。

制限設定は、グループ内の全軸の最大限界位置((limit.min、limit.max)、最大速度(maxspeed)、最大加

速度(accel)それぞれの最小値が lockstep motion コマンドに適用されます。例えば、軸 1 が 20000 の

maxspeed(最大速度)設定と 205 の accel(加速度)設定を有し、軸 2 が 10000 の maxspeed(最大速度)

設定と 300 の accel(加速度)設定を有する場合、それらの lockstep motion は 205 の加速度で 10000

の最高速度まで達します。

/01 lockstep 1 info↵

@01 0 OK IDLE -- 1 2 525 0

/01 lockstep 1 info↵

@01 0 OK IDLE -- disabled

Page 40: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

40

使用例:

ロックステップの移動コマンドをロックステップグループに送信する:

ロックステップグループ内の軸に非ロックステップ移動コマンドを送信する:

ロックステップグループ内の軸に対してロックステップ移動コマンドのみが許可されるため、move abs

コマンドは拒否され、LOCKSTEP が返されます。

すべての軸の最大制限が適用される:

30000 の絶対移動指示が、limit.max を軸 2 の 500 オフセット値分だけ超えてしまうため、move abs コ

マンドは拒否され、BADDATA が返されます。

Homing and Sensors - 原点復帰とセンサー

lockstep home コマンドがグループに送信されると、ホームセンサーが検出されるまで全軸同時に後退し

ます。1 つの軸のホームセンサーが検出されると、グループは、そのホームセンサーの動作を追従し、そ

の軸の pos を limit.home.preset に設定します。グループ内のその他の軸のオフセット値は、それらの軸

の位置を設定するために使用されます。場合によっては、軸の位置制限範囲外に pos 設定を置くことが

できますが、この場合、ロックステップグループは、軸の位置が制限範囲内に戻るまで超えてしまったリミ

ット位置に向かってのみ移動することができます。

同様に、動作中に他のセンサーが検出された場合、ロックステップグループはそのセンサー設定で規定さ

れた動作に従い、相対的なオフセット値に基づいて他の軸の位置を更新します。センサーの

limit.sensor.posupdate 設定はそのセンサーの軸にのみ適用され、他の軸の制限は変更されません。

/01 lockstep 1 move vel 10000↵

@01 0 OK BUSY -- 0

/01 lockstep 1 stop↵

@01 0 OK BUSY -- 0

/01 lockstep 1 setup enable 1 2↵

@01 0 OK IDLE -- 0

/01 1 move abs 1000↵

@01 0 RJ IDLE -- LOCKSTEP

/01 lockstep 1 info↵

@01 0 OK IDLE -- 1 2 500 0

/01 get limit.max↵

@01 0 OK IDLE -- 300000 300000

/01 lockstep 1 move abs 300000↵

@01 0 RJ IDLE -- BADDATA

Page 41: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

41

move

デバイスをその仕様に沿ってさまざまな位置に移動します。

Scope 軸

Parameters abs|rel|vel value

min|max

stored number

index number

sin amplitude period [count]

sin stop

Firmware Versions 6.06+

move index: 6.21+

move sin: 6.22+

value はマイクロステップ数です。

abs は、絶対位置の value に移動します。value は[ limit.min, limit.max ]の範囲内にある必要があります。

rel は、現在の位置を基準にして、軸を value マイクロステップ移動します。value は[ limit.min - pos,

limit.max - pos ]の範囲内でなければなりません。

vel は、制限位置に達するまで、value で指定された速度で軸を移動します。value は[ -resolution *

16384, resolution * 16384 ]の範囲内である必要があります。

min は、limit.min で指定されている最小位置に軸を移動します。

max は、limit.max で指定されている最大位置に軸を移動します。

stored は、以前に保存された位置に軸を移動します。Number には 1〜16 の位置保存番号を指定しま

す。詳細については、tools storepos コマンドを参照してください。

index は、軸をインデックス位置に移動します。number を指定した場合、このコマンドは軸が絶対位置

( number - 1)* motion.index.dist に移動するよう指示します。number は正の値のみ指定できます。

0 以外の limit.cycle.dist を持つロータリーデバイスの場合、ターゲット位置が 0 以上 limit.cycle.dist 以

下の場合、コマンドが受け入れられます。ターゲット位置までの最短距離に応じて、デバイスは時計回

りまたは反時計回りに移動します。すべてのインデックス位置を円の周りに等間隔に配置する場合は、

limit.cycle.dist を limit.cycle.dist の約数に設定します。

limit.cycle.dist が 0 であるリニアデバイスまたはロータリーデバイスの場合、ターゲットの位置がデバ

イスの有効な移動範囲内、[ limit.min, limit.max ]の範囲内にある場合、コマンドが受け入れられます。

上記のモーションコマンドの速度は、vel または maxspeed の value パラメータによって指定されます。実

際の速度は(speed/ 1.6384)マイクロステップ/秒として計算されます。

Page 42: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

42

sin は正弦波運動を開始します。

amplitude は、動きのピーク to ピーク振幅の半分をマイクロステップ単位で指定します。正の数は、

正弦運動が最小位置で開始し、開始位置から正の方向に移動することを意味します。負の数は、正弦波

運動が最大位置で開始し、開始位置から負の方向に移動することを意味します。デバイスの開始位置と

正弦波動作(現在の位置+amplitude×2)の限界は、両方とも[ limit.min, limit.max ]の範囲内になけれ

ばなりません。

period は、正弦波の周期を ms(ミリ秒)で指定します。分解能は 0.1ms です。確実な分解能を指示した

い場合は、1ms 以上を推奨します。period は[ 0.2 ~ 429496729.5 ]の範囲内でなければなりません。

count(選択式のパラメータ)は、反復サイクル数を指定します。count は[ 1 ~ 4294967294 ]の範囲

内で指定してください。count が指定されていない場合、別の動作コマンドまたは stop コマンドが入

力されるまで反復動作は継続します。現在のサイクルが完了した後に正弦運動を停止するには、move

sin stop コマンドを参照してください。

正弦運動の速度と加速度は、次の式に示すように、コマンドで指定された振幅(amplitude)と周期

(period)で決まります。ステージが脱調しまうのを防ぐために最大加速度が十分に低いことを確認し

てください。

注意: 正弦運動は、ストール状態から回復する能力が制限されています。

現在のサイクルが完了すると、正弦波動作は終了します。

使用例:

デバイス上のすべての軸を 200000 マイクロステップだけ前進させます:

参照点なしの場合:

WR フラッグは、基準点がなく、軸が原点復帰していないことを示します。home コマンドを送信するこ

とで、move コマンドが成功するようになります。

/move rel 200000↵

@01 0 OK BUSY -- 0

/move rel 2000000↵

@01 0 RJ IDLE WR BADDATA

Page 43: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

43

無効な位置の場合:

指定された位置が軸の有効範囲を超えているため、BADDATA と応答し拒否されました。

停止状態:

デバイスが PARKED 状態のときは、軸を移動できません。unpark 又は home コマンドを参照ください。

無期限に動く正弦波運動を開始し、完全なサイクルの終わりにそれを停止する:

デバイスが BUSY であるために正弦波動作が拒絶された場合:

/get limit.max↵

@01 0 OK IDLE -- 305381

/move abs 305888↵

@01 0 RJ IDLE -- BADDATA

/move abs 10000↵

@01 0 RJ IDLE -- PARKED

/move sin 200 1000↵

@01 0 OK BUSY -- 0

/move sin stop↵

@01 0 OK BUSY -- 0

/move vel 20↵

@01 0 OK BUSY -- 0

/move sin 200 1000 1↵

@01 0 RJ BUSY -- STATUSBUSY

Page 44: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

44

renumber

デバイス、またはチェーン内のすべてのデバイス番号を変更します。

Scope デバイス

Parameters [value] Valid range: 1 - 99.

Firmware Versions 6.06+

このコマンドのグローバルバージョンでは、値が指定されている場合は 1 から順にチェーン内のすべての

デバイスが順に番号が付けられます。グローバル renumber コマンドは、デイジーチェーンをサポートする

インターフェースでのみ機能します。デイジーチェーンをサポートしていないインターフェースでグローバル

リナンバーコマンドを発行すると、BADCOMMAND で拒否されます。デイジーチェーン接続をサポートして

いるインターフェースを調べるには、デバイスのユーザーマニュアルを参照してください。

特定のデバイスアドレスに renumber コマンドが送信されると、デバイス番号を value に変更します。(こ

の場合は value が必要になります。)

デバイスが renumber コマンドを受信すると、デバイスは新しいデバイス番号を応答します。

使用例:

チェーン内のすべてのデバイスの番号を変更する:

デバイスは番号が付け替えられ、デイジーチェーン接続内でコンピュータに最も近いデバイスはアドレ

ス 1 となり、その次のデバイスはアドレス 2 になります。

特定のデバイスの番号を変更する:

デバイス 2 は番号を 4 に変更されました。

これは『/2 set comm.address 4↵』と同じです。

無効なデバイス番号:

要求されたデバイス番号は許容範囲外です。

注記:デバイスは、コマンドが送信された時点での番号ではなく、新しい番号で応答します。

/renumber↵

@01 0 OK IDLE -- 0

@02 0 OK IDLE -- 0

/2 renumber 4↵

@04 0 OK IDLE -- 0

/renumber 999↵

@01 0 RJ IDLE -- BADDATA

Page 45: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

45

servo

ボイスコイル内臓デバイスの位置制御サーボチューニングを設定します。

Scope 軸

Parameters get param

set param value

preset get param

preset store param

preset store param value

preset store all

load preset

set default preset

get default

Firmware Versions 6.25+

ステッピングモータは直接的な位置制御を有しますが、ボイスコイル内臓デバイスは推力制御されます。

これらのデバイスは、正確な位置決めをする為に位置フィードバック制御を必要とします。最適な制御は

デバイスの負荷に基づいて変わる為、パフォーマンスを最適化するために設定できるいくつかのパラメー

タがあります。サーボコマンドは、これらのパラメータの保存、変更、ストアなどの設定に使用されます。

Tuning Parameters - チューニングパラメータ

各々の位置制御チューニングパラメータは、servo get 及び servo set コマンドを介して個別に照会、調

整することができ、異なる負荷条件に合わせて頻繁に調整することができます。ただし、これらのパラメー

タはこのセッションにのみ適用され、電源をオフにした後は持続しません。チューニングパラメータを不揮

発性メモリに保存するには、以下に説明する、servo preset store コマンドの 1 つを使用します。

param は ae1, be1, bv1, ai1, bi1, ah1, ah2, bh1, bh2, gain, ilimit のいずれかを使用可能です。

servo set コマンドが発行されると、新しいパラメータ値が直ちに有効になります。

デバイスが位置制御モード(モーションコマンドの実行または静止位置の維持)中に servo set を使用す

る場合は、ご注意ください。パラメータの組み合わせによっては、制御動作が不安定になる可能性があり

ます。servo set コマンドを使用して複数のパラメータを連続して更新する場合は、最初に force off コ

マンドを送信して位置制御を無効にすることをお勧めします。または、複数のチューニングパラメータを瞬

時に設定する方法については、後述する load preset コマンドを参照してください。

使用例:

アクティブゲインパラメータの照会と設定:

/servo get gain↵

@01 0 OK IDLE -- 14430

/servo set gain 30000↵

@01 0 OK IDLE -- 0

Page 46: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

46

位置制御の無効化と複数のパラメータの調整:

軸は新しいチューニングパラメータによって現在の位置を保持しています。

Storing and Loading Tuning Presets - チューニングプリセットの保存とロード

アクティブ(揮発性)パラメータの設定に加え、コントローラは、プリセットと呼ばれる不揮発性のパラメータ

の設定も保存できます。プリセット内の個々のパラメータは、servo preset store param コマンドを使用

して調整することができます。value を指定すると、パラメータは value 値と一致するように調整されます。

value を省略すると、param 設定のアクティブ値が使用されます。アクティブなパラメータの完全な設定は、

servo preset store all コマンドを使用してプリセットにアップロードすることが可能です。servo

preset get param コマンドは、プリセット内の特定のパラメータの値を参照するためにも使用できます。

servo load preset を使用してプリセットをロードすると、すべてのアクティブ・チューニング・パラメータが

一度に更新され、プリセットに保存されているパラメータと一致します。

プリセットを使用することで、安定することが確認できているパラメータ設定値に素早く修正や、切り替える

ための完全なパラメータセットを一度にロードしたりするなどの場合に便利です。負荷の異なるアプリケー

ションでは、プリセットを使用して、2 組のチューニングパラメータをすばやく切り替えることができます。

preset は 1、2 のどちらかになります。servo set default preset コマンドは、デバイスの電源投入時

にロードされるプリセットを指定します。servo get default コマンドはデフォルトでロードされたプリセット

を応答します。

使用例:

特定のパラメータ値とアクティブなパラメータ値をプリセットに保存する:

すべてのアクティブパラメータをプリセットに保存する:

/force off↵

@01 0 OK IDLE -- 0

/servo set ae1 -392915749↵

@01 0 OK IDLE -- 0

/servo set be1 4096↵

@01 0 OK IDLE -- 0

/stop↵

@01 0 OK BUSY -- 0

/servo 1 store gain 10000↵

@01 0 OK IDLE -- 0

/servo 2 store gain↵

@01 0 OK IDLE -- 0

/servo 1 store all↵

@01 0 OK IDLE -- 0

Page 47: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

47

プリセット 2 に保存されたゲインパラメータを確認します:

アプリケーション中のプリセットの切り替え:

move max モーションは、プリセット 1 に保存されたチューニングパラメータで実行されます。

move min モーションは、プリセット 2 に保存されたチューニングパラメータで実行されます。

電源投入時にどのプリセットがロードされるかの確認と変更:

set

デバイス設定を設定します。

Scope デバイス、軸

Parameters setting value

Firmware Versions 6.06+

デバイスの setting を value に設定します。詳細なリストや設定については、Device Settings - デバイス

の設定を参照してください。

使用例:

デバイス設定を書き込む:

デバイス設定が正常に設定されました。

/servo 2 get gain↵

@01 0 OK IDLE -- 30000

/servo load 1↵

@01 0 OK IDLE -- 0

/move max↵

@01 0 OK BUSY -- 0

/servo load 2↵

@01 0 OK IDLE -- 0

/move min↵

@01 0 OK BUSY -- 0

/servo get default↵

@01 0 OK IDLE -- 1

/servo set default 2↵

@01 0 OK IDLE -- 0

/set knob.enable 1↵

@01 0 OK IDLE -- 0

Page 48: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

48

無効な値を書き込んだ場合:

無効な設定の場合:

いくつかの設定を読み込むことはできますが、書き込むことはできません。

stop

軸を減速して停止させます。

Scope 軸

Parameters 無

Firmware Versions 6.06+

軸をすばやく停止するには、estop コマンドを参照してください。

使用例:

/set knob.enable 7↵

@01 0 RJ IDLE -- BADDATA

/get system.voltage↵

@01 0 OK IDLE -- 0

/set system.voltage 0↵

@01 0 RJ IDLE -- BADCOMMAND

/stop↵

@01 0 OK BUSY -- 0

Page 49: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

49

stream

ストリーミング、補間されたモーションに関連するアクションを実行します。

Scope デバイス

Parameters number setup live axes

number setup store buf axiscount

number setup disable

buffer buf erase

buffer buf print

number arc abs|rel cw|ccw centrex centrey endx endy

number call buf

number circle abs|rel cw|ccw centrex centrey

number fifo cork|uncork

number info

number io set do channel value

number io set do port value value2…

number line abs|rel endx endy…

number set maxspeed value

number set tanaccel value

number set centripaccel value

number wait milliseconds

number wait io ai|di channel ==|<>|<|>|<=|>= value

Firmware Versions 6.12+

ほとんどのコマンドは、発行した場合、前のコマンドと入れ替わりますが、stream コマンドは、一連の後続

のコマンド、動作を順番に実施していきます。ストリーミングされる動作コマンドは、補間された線形または

円形の動きであってもかまいません。

Setup - セットアップ

stream コマンドを使用できるデバイスは、0 以外の stream.numstreams 設定を持ち、同時にいくつのスト

リームを持つことができるかを表示します。、上記の stream コマンドの number パラメータはアドレッシン

グしているストリームの番号を意味します。

stream は、setup パラメータで開始および終了されます。setup live コマンドは入力時に stream コマン

ドを実行し、axes パラメータは stream に応答する軸を設定します。ライブストリーミングは、原点復帰さ

れ、IDLE 状態の軸に対してのみ開始できます。

setup store コマンドはバッファ buf にコマンドを保存します。(stream.numbufs 設定は使用可能なバッフ

ァの数を示します)。axiscount はストリーム内の軸の数を示します。バッファの詳細については、バッファ

リングの項目を参照してください。

Page 50: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

50

setup disable コマンドはストリームを終了します。ストリーム動作に対応していないコマンドがストリーム

中の軸に送信された場合も、ストリームは自動的に終了します。

ダイレクトリーディング(フルクローズドループ)、またはリニアエンコーダを備えた(encoder.mode が 2 で

ある)ステッパモータ内臓デバイスでは、cloop.mode が 2 または 0 に設定されている場合にのみストリー

ミング動作コマンドを実行することができます。

使用例:

ライブストリームの開始:

軸 1 および軸 2 に対応したストリーム 1 が開始ます。

原点復帰前にストリーミングを開始した場合:

1 つ以上の軸が原点復帰していない場合、ストリームコマンドは拒否され、BADDATA が返されます。

ストリームの終了:

ストリームは使用しなくなった場合、無効にする必要があります。

1つの軸でのストリーミング動作:

単一軸を制御するストリームを作成することも可能です。

Interpolated Movement (Lines, Arcs, and Circles) - 補間された動き(線、円弧、円)

直線、円弧、完全円の 3 つの基本的なストリーミングモーションが利用可能です。abs パラメータが使用さ

れる場合、終点/中心点は原点を基準にし、rel パラメータは終点/中心点は開始位置を基準とします。

cw パラメータが使用されている場合、円運動は時計回りに動き、ccw は反時計回りに動きます。

line を使用すると、軸を終点 endx、endy ... に直線動作で移動します。line コマンドは、ストリーム内の

軸数を調整します。

arc を使用すると、開始位置から終了位置 endx と endy まで円弧動作で移動し、円弧は centrex と

centrey を中心とします。円周上と一致しない座標を入力することが可能ですので、点が円周上と一致す

/01 stream 1 setup live 1 2↵

@01 0 OK IDLE -- 0

/01 stream 1 setup live 1 2↵

@01 0 RJ IDLE WR BADDATA

/01 stream 1 setup disable↵

@01 0 OK IDLE -- 0

/01 stream 1 setup live 1↵

@01 0 OK IDLE -- 0

Page 51: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

51

ることを確認してください。点座標と円周上との差が一定の許容範囲内にある場合、僅かな修正が行わ

れることがあります。そうでない場合、コマンドは拒否されます。

circle を使用すると、最初の位置で始まり、終わる完全な円で移動します。 円の中心は centrex、

centrey で指定され、円の半径も定義されます。

使用例:

絶対位置に直線移動させる:

ライブストリームの場合、ND フラッグは動作がパスの終わりに向かって遅くなることを示します。

詳細については、warning flags(警告フラッグ)を参照してください。

時計回りの円動作:

初期位置から Y 軸方向に 10000 マイクロステップ離れた点を中心とする円運動をします。この場合の半

径も 10000 マイクロステップでです。

円弧移動する:

開始位置から終了位置座標 5000, -5000(マイクロステップ)まで 1/4 円弧運動します。1/4 円の中心は、

開始位置から 5000, 0(マイクロステップ)離れた点です。

無効な円弧:

座標 10000, 10000 を通過する、現在位置から 5000, 0(マイクロステップ)離れた中心点を持つ円はあ

りません。無効なコマンドが送信されている間、コントローラがパスが無効であると判断すると、FB fault

フラッグがアクティブになります。

単軸での移動:

単軸ストリームでは line コマンドは使用できますが、circle コマンドと arc コマンドは 2 軸ストリ

ームでのみ使用できます。

/01 stream 1 line abs 5000 5000↵

@01 0 OK IDLE ND 0

/01 stream 1 circle rel cw 0 10000↵

@01 0 OK IDLE -- 0

/01 stream 1 arc rel ccw 5000 0 5000 -5000↵

@01 0 OK IDLE -- 0

/01 stream 1 arc rel ccw 5000 0 10000 10000↵

@01 0 OK IDLE -- 0

/↵

@01 0 OK IDLE FB 0

/01 stream 1 line abs 5000 ↵

@01 0 OK IDLE -- 0

Page 52: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

52

Trajectory Control - 軌道制御

ストリーム動作には、3 つの物理的限界が定義されています。:

maxspeed は動作方向の最大速度です。明示的に設定されていない場合、これはデフォルトで軸の

maxspeed 設定値の低い方に設定されます。

tanaccel は、デバイスの最大加速度です。明示的に設定されていない場合は、軸の motion.accelonly

設定および motion.decelonly 設定の内、低い方を√2 で割った値になります。

centripaccel は、円弧運動と円運動に使用される最大加速度です。明示的に設定されていない場合

は、軸の motion.accelonly 設定、motion.decelonly 設定の内、低い方を√2 で割った値になります。

これらの設定は、stream set コマンドで変更できます。 設定は直ちに変更されるのではなく、前のストリ

ームコマンドが完了した後、順番に変更されます。

デバイスは、すべての制限が常に遵守されるように速度を管理します。 例えば、2 つの移動コマンドをス

トリーミング中に maxspeed が増加すると、デバイスは 1 つ目の動作の終了位置を過ぎた後にスピードア

ップしますが、減少した場合、1 つ目の動作の終了位置に達する前にデバイスは減速します。

使用例:

動作中の速度の変更:

速度と加速度は、1 つ目の動作後に有効になります。新しく設定する速度が現在の速度より遅い場合、1

つ目の line が完了する前に減速します。

IOs and Waiting - IO と待機

一定時間待機させる(wait milliseconds)、出力を変更する(io set do)、入力を待機させる(wait

io)等、他のコマンドを順番に挿入することもできます。(wait io)は 0.1mV 刻みで設定可能です。

使用例:

デジタル出力を設定する:

デジタル出力 4 は、ストリームの設定したポイントで有効になります。

/01 stream 1 line rel 5000 0↵

@01 0 OK IDLE -- 0

/01 stream 1 set maxspeed 50000↵

@01 0 OK IDLE -- 0

/01 stream 1 set tanaccel 200↵

@01 0 OK IDLE -- 0

/01 stream 1 line rel 10000 0↵

@01 0 OK IDLE -- 0

/01 stream 1 io set do 4 1↵

@01 0 OK IDLE -- 0

Page 53: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

53

一定時間待機させる:

ストリームは、ストリーム内の設定したポイントで 1000ms 待機してから続行します。

アナログ値が一定値以上になるのを待ちます。

ストリームは停止し、アナログ入力 1 が 5V を超えるまで待機します。 Wait io コマンドは、最後のコ

マンドが完了するまで入力がチェックされないため、減速、停止します。

Communication Flow Control and Buffers - 通信フロー制御とバッファ

コマンドが連続して実行されるように、デバイスはストリームコマンドのキューを保持できます。

キューがいっぱいになると、デバイスは実行を終了するまでコマンドを受け入れなくなります。キュー

がいっぱいの状態で送信された場合は、AGAIN メッセージで拒否され、受け入れられるまでコマンド

を再送信する必要があります。再送信する場合は、アプリケーション側で処理する必要があります。

キューが空の場合、最後に利用可能な移動コマンドが終了すると、減速、停止します。減速を開始する

とすぐに、warning flag(警告フラッグ)ND が設定され、動きが不連続であることが示されます。

fifo cork コマンドを使用することで動作を開始する前にキューを貯めることができます。キューが

いっぱいになることで自動的に実行を開始させるか、fifo uncork コマンドを使用してその前に開始

することが可能です。

実行中のストリームコマンド(ライブモード)を送信する代わりに、setup store コマンドを使用し、一連の

ストリームコマンドをデバイス上のバッファ領域に保存することが可能です。ストアモードでストリームを設

定した後、保存するストリームコマンドを送信してからストリームを無効にします。 ライブストリーミング中

は、call コマンドを使用して、保存されたストリームコマンドを実行することができます。buffer buf

erase を使用して、バッファ位置から保存されたコマンドをクリアしてから、その場所に再度保存してくださ

い。buffer buf print コマンドで保存されたコマンドのシーケンスを表示することができます。

使用例:

cork を使用してキューにコマンドを追加する場合:

uncork が送信されるか、キューがいっぱいになるまで、

line の動作は実行されません。

/01 stream 1 wait 1000↵

@01 0 OK IDLE -- 0

/01 stream 1 wait io ai 1 > 50000↵

@01 0 OK IDLE -- 0

/01 stream 1 fifo cork↵

@01 0 OK IDLE -- 0

/01 stream 1 line rel 5000 1000↵

@01 0 OK IDLE -- 0

/01 stream 1 line rel -5000 -1000↵

@01 0 OK IDLE -- 0

/01 stream 1 fifo uncork↵

@01 0 OK IDLE -- 0

Page 54: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

54

コマンドの実行中に cork の使用:

コマンドがすでに実行されている場合、cork コマンドは拒否されます。

後で実行するコマンドの保存:

line の動作は、バッファ 3 がライブストリームで呼び出された後に実行されます。

バッファを削除する:

バッファの内容を出力する:

各"行の#01 0 を/01 stream 1 に置き換えると、別のデバイス(バッファが最初に消去された場合は同

じデバイス)に送信されたときに、保存されたシーケンスを完全に再現する一連のコマンドを生成でき

ます。

空のバッファを表示した場合:

バッファ 3 は消去されたか使用されていない為、表示できません。

/01 stream 1 fifo cork↵

@01 0 RJ BUSY ND BADCOMMAND

/01 stream 1 setup store 3 2↵

@01 0 OK IDLE -- 0

/01 stream 1 line rel 10000 50000↵

@01 0 OK IDLE -- 0

/01 stream 1 setup disable↵

@01 0 OK IDLE -- 0

/01 stream 1 setup live 1 2↵

@01 0 OK IDLE -- 0

/01 stream 1 call 3↵

@01 0 OK IDLE -- 0

/01 stream buffer 3 erase↵

@01 0 OK IDLE -- 0

/01 stream buffer 2 print↵

@01 0 OK IDLE WR 0

#01 0 setup store 2 2

#01 0 line abs 400000 500000

#01 0 io set do 4 1

#01 0 wait 100

#01 0 arc rel ccw 100000 -100000 200000 0

#01 0 setup disable

/01 stream buffer 3 print↵

@01 0 RJ IDLE WR BADDATA

Page 55: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

55

Information - 情報

ストリームに関する情報を読み取るには、stream info コマンドを使用します。このコマンドは、以下に説

明するスペースで区切られた値のリストを返します。:

1. ストリームモード(disabled, live, store のいずれか)

2. 軸の数、ストリームが無効の場合は-を表示。

3. 最大向心加速度、又はストリームがライブモードではない場合は-を表示。

4. 最大接線方向加速度、またはストリームがライブモードでない場合は-を表示。

5. 最大速度、またはストリームがライブモードでない場合は-を表示。

6. フラッグ FB が設定された理由、またはこのストリームに FB が設定されていない場合は-を表示。

フラッグ FB が設定された、考えられるエラーの理由は次のとおりです。

axislimit

動作がデバイスを位置制限を超えて移動させようとしました。

setting

stream set が設定を不正な値に設定しようとしました。

stackdepth

ストリーム操作がネストされすぎています。ほとんどの場合、バッファがお互いに深いレベル

で呼び出しているためです。

arcradius

円弧は円と一致しませんでした。弧の径が弧の始点と終点で大きく異なることを意味します。

bufempty

stream call が空のバッファを呼び出そうとしました。

buflocked

stream call が書き込み中または消去中にバッファを呼び出そうとしました。

bufaxes

stream call が間違った軸数で保存されているバッファを呼び出そうとしました。

system reset

電源投入後の状態に、デバイスをリセットします。

Scope デバイス

Parameters 無

Firmware Versions 6.06+

このコマンドは、Setting Update Pending (NU)警告フラッグと応答を設定します。すべての通信チャネルの

通信が 500ms 間途切れた場合、デバイスは Setting Update Pending (NU)をリセットし削除します。

使用例:

/system reset↵

@01 0 OK IDLE -- 0

Page 56: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

56

system restore

一般的なデバイス設定をデフォルト値に戻します。

Scope デバイス

Parameters 無

Firmware Versions 6.06+

このコマンドは、一般的な設定をデバイスのデフォルト値にリセットします。 通信設定は変更されません。

使用例:

tools detectholder

現在取り付けられているされているフィルターホルダーを検出します。

Scope 軸

Parameters 無

Firmware Versions 6.22+

フィルターホルダーのホーム(原点)センサーとアウェイセンサーの位置間距離をテストしてフィルターホル

ダーを検出し、filter.holderid と motion.index.dist を更新します。このコマンドが呼び出されると、デバイス

は次のような動作を行います。:

ホームセンサーが検出されるまで後方に移動します。

ホームポジションからアウェイセンサーが検出されるまで前進します。

ホームセンサーとアウェイセンサーの距離が既知のフィルターホルダーと一致する場合は、

filter.holderid と motion.index.dist をそのフィルターホルダーの適切な値に設定します。

ホームポジションに戻ります。

1 回転後にアウェイセンサーが見つからない場合、または予期せぬ場所でアウェイセンサーが検出され

た場合は、「リミットエラー」警告フッラグ(FE)が設定されます。 この場合、filter.holderid と

motion.index.dist は変更されません。

このコマンドは、フィルタホイールデバイスでのみ使用できます。

/system restore↵

@01 0 OK IDLE -- 0

Page 57: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

57

tools echo

提供されたメッセージ(存在する場合)をユーザーに返します。

Scope デバイス

Parameters [message]

Firmware Versions 6.06+

このコマンドは、常にユーザーから提供されたメッセージとともに、正常な応答を返します。連続するスペ

ースは一つのスペースとして扱われます。データにスペース区切りの単語が多数含まれている場合、最

初の 17 文字だけが返信に含まれます。

使用例:

tools findrange

ホームセンサーとアウェイセンサーを使用し、現在使用中の軸の有効範囲を設定します。

Scope 軸

Parameters 無

Firmware Versions 6.10+

このコマンドは、ホームセンサー、アウェイセンサー両方のリミットセンサーを備えた軸で home コマンドの

原点位置を置き換えます。軸は最初に原点へ戻され、その位置が limit.home.preset に設定されます。ア

ウェイセンサーを備えている場合、アウェイセンサー位置まで移動します。アウェイセンサーがトリガーさ

れると、limit.max 設定が現在のセッションの現在の位置に更新されます。

このコマンドは、下記の一連のコマンドと同じです。

tools gotolimit home neg 2 0 ( home と同様に)

tools gotolimit away pos 1 1

注意:電源投入時または設定変更時に、このコマンドを使用し基準位置と有効範囲を取得する必要があ

ります。しなかった場合、モーションコマンドは拒否応答で応答するか、または予期しない動作をする可能

性があります。

/tools echo hi there↵

@01 0 OK IDLE -- hi there

Page 58: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

58

tools gotolimit

軸をリミットセンサー位置に移動し、指定された動作を実行します。

Scope Axis

Parameters sensor direction action update

Firmware Versions 6.06+

sensor には、移動先のリミットスイッチの 1 つを指定します。ホームセンサー、アウェイセンサー、c また

は d センサーのいずれかを指定することができます。

direction はセンサーへの移動方向を指定します。 ポジティブまたはネガティブ方向のそれぞれに対し

て pos または neg のいずれかを指定します。

action は、リミットセンサーがトリガーされたときに実行するアクションを指定します。このパラメータは、

limit.sensor.action 設定と同じ値と効果を共有しますが、0(無効)にすることはできません。

update はセンサーの位置設定を更新する方法を設定します。このパラメータは、limit.sensor.posupdate

設定と同じ値と効果を共有します。

このコマンドは、指定された direction (方向)へ軸を移動し、指定した sensor がトリガーされるのを待ちま

す。軸は、limit.sensor.edge で指定されたセンサーエッジにアライメントし、action と update で指定されたリ

ミットスイッチアクションと位置更新を実行します。limit.sensor.triggered は 1 に設定されます。action が 2

(現在位置の後退および更新)の場合、No Reference Position (WR)警告フラグはクリアされます。

limit.sensor.action および limit.sensor.posupdate に指定されている自動アクション設定は無視されます。

使用例:

原点復帰し、現在の位置をリセットする:

home コマンドに相当します。

有効移動距離を調整する:

既に参照が確立されている場合、上のコマンドは、アウェイセンサーがトリガしたときのように、現在の

位置をそのまま残します。limit.max 設定は現在の位置に更新されます。

/tools gotolimit home neg 2 0↵

@01 0 OK BUSY -- 0

/tools gotolimit away pos 1 1↵

@01 0 OK BUSY -- 0

Page 59: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

59

tools parking

デバイスをパーク(固定)します。

Scope Device

Parameters state|park|unpark

Firmware Versions 6.06+

tools parking は、最初に軸を原点復帰 home せずとも、デバイスをオフにした後に使用可能です。

パーキング状態は、state オプションで照会することができ、パーキングされている場合は 1 を返し、パー

キングされていない場合は 0 を返します。

デバイスは park オプションでパークすることができます。 一度パーキングすると、移動コマンドは

PARKED エラーになりますが、原点復帰 home を除き、それぞれの軸がホームになり、パーキング状態

が解除されます。

パーキングされたデバイスは、電源をオンにし、unpark コマンドを発行することで復元できます。

使用例:

パークに設定:

パーキングを解除:

BUSY 状態のときにパーキング設定:

デバイスが BUSY 状態のときは、デバイスをパークできません。

注記:モータホールド電流がオフのときにスリップする可能性のある負荷がデバイスにかかる場合、

Parking コマンドを使用しないでください。

/tools parking park↵

@01 0 OK IDLE -- 0

/tools parking unpark↵

@01 0 OK IDLE -- 0

/tools parking park↵

@01 0 RJ BUSY -- STATUSBUSY

Page 60: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

60

tools setcomm

RS232 と USB の RS232 ボーレートと通信プロトコルを設定します。

Scope Device

Parameters rs232baud protocol

Firmware Versions 6.06+

rs232baud は、希望の RS232 ボーレートを指定します。 このパラメータは、comm.rs232.baud と同じ値を

共有します。

有効な設定は次のとおりです。:

9600(Zaber Console での Binary プロトコル使用時のデフォルト値)

19200

38400

57600

115200 (Zaber Console での ASCII プロトコル使用時のデフォルト値)

protocol は、USB と RS232 でサポートされている必要がある通信プロトコルを指定します。 このパラメ

ータは、comm.rs232.protocol および comm.usb.protocol と同じ値を共有します。

有効な設定は次のとおりです。:

1 - Binary Only.

レガシーT-シリーズバイナリプロトコルのみ。

2 - ASCII Only.

A-シリーズと X-シリーズの ASCII プロトコルのみ

このコマンドは、comm.rs232.baud、comm.rs232.protocol、comm.usb.protocol を設定します。

このコマンドは、設定更新保留 (NU)通知フラッグを設定し、現在の通信設定に応答します。 すべての通

信チャネルが 500 ミリ秒間通信せずにいると、デバイスは新しい設定に切り替わり、設定更新保留 (NU)

フラッグをクリアします。

Zaber Console でこのコマンドを使用してこれらのプロトコルを切り替える方法については、Appendix C の

手順を参照してください。

使用例:

RS232 ボーレートとプロトコルの切り替え:

デバイスが 9600 ボーレート、Binary プロトコルで通信するように設定します。

/tools setcomm 9600 1↵

@01 0 OK IDLE NU 0

Page 61: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

61

tools storepos

操作を簡略化する為、軸の位置を保存します。

Scope Axis

Parameters number [position|current]

Firmware Versions 6.06+

number は、設定、検索する保存されたポジション番号です。有効数字は 1〜16 です。

position は有効な軸の位置です。limit.min〜limit.max の範囲内でなければなりません。設定されていな

い場合のデフォルトの位置は 0 です。

current は、指定された位置保存番号を現在の位置 pos に設定することを指定します。.

任意の引数が指定されていない場合は、保存されている位置番号の現在の値が返されます。

使用例:

位置の保存:

74290 マイクロステップの位置を軸 1 のポジション 1 に保存します。

位置の設定:

保存されたポジション 1 は、軸 1 に対して 150000 マイクロステップの位置に設定されています。

保存された位置の取得:

保存されたポジション 1 は、軸 1 の値が 150000 です。

保存位置への移動:

デバイス上のすべての軸は、それぞれの保存された位置に移動しま

す。上記の例では、軸 2 はポジション 1 に設定された値を持たず、

0 の位置に移動しました。

/1 1 move abs 74920↵

/1 1 tools storepos 1 current↵

@01 1 OK IDLE -- 74920

/1 1 tools storepos 1 150000↵

@01 1 OK IDLE -- 0

/1 1 tools storepos 1↵

@01 1 OK IDLE -- 150000

/move stored 1↵

@01 0 OK BUSY -- 0

/get pos↵

@01 0 OK IDLE -- 150000 0

Page 62: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

62

trigger

イベントがトリガーされたときに実行されるアクションを設定します。

Scope Device

Parameters info

show

number enable [count]

number disable

number when condition configuration

number action act command configuration

Firmware Versions 6.06+

trigger を使用することで、イベントが発生したときに特定のアクションを実行できます。

trigger info コマンドは 4 つの値、デバイス内の trigger の数、trigger ごとに使用可能なアクションの数、

time trigger の数、distance trigger の数を返します。 例えば:

合計 6 つの trigger があり、それぞれ 2 つの action が実行できます。使用可能な time trigger は 2 つあ

り、distance trigger は 2 つあります。この場合、number は 1〜6 の範囲、act は a〜b の範囲を持ちます。

trigger show コマンドは、デバイスの trigger の状態を返します。 例えば:

trigger1 が有効になると、trigger3 は無効の前に 500 回以上 trigger し、残りの trigger は無効になります。

enable コマンドは、指定された trigger をオンにし、trigger が起動するたびに action を実行します。count

パラメータが指定された場合、trigger action は count 回数だけ実行されます。

注意:count パラメータ自体は不揮発性ですが、trigger が起動しても値は更新されません。リセット時、値

は設定された値に復元され、PC 接続なしでデバイスを設定してから電源をオフにしてインストールするこ

とができます。

disable コマンドは、指定された trigger をオフにします。

次の設定は、trigger 条件や action で使用できるできないに関わらず、重要な設定の為注意してください。

accel(加速度)- motion.accelonly と motion.decelonly の使用

comm.protocol(通信プロトコル)- comm.rs232.protocol, comm.rs485.protocol, comm.usb.protocol の使用

driver.temperature(ドライバ温度)

motion.index.num(インデックス番号)

peripheralid(周辺機器識別 ID)

/1 trigger info↵

@01 0 OK IDLE -- 6 2 2 2

/1 trigger show↵

@01 0 OK IDLE -- e d 500 d d d

Page 63: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

63

system.current(システム電流値)

system.temperature(システム温度)- trigger 条件で使用の場合、1/10℃単位で測定されます。

system.voltage(システム電圧値)- トリガー条件で使用する場合、1/10V 単位で測定されます。

version(バージョン)

Condition Configuration - 条件設定

有効なパラメータ

when io ao|ai|do|di chan trigger_condition value

when setting trigger_condition value

when axis setting trigger_condition value

trigger 条件

== Equal To

<> Not Equal To

< Less Than

> Greater Than

<= Less Than or Equal To

>= Greater Than or Equal To

when io パラメータは、io タイプとチャネルが指定された値と比較したときに起動する trigger の設定をし

ます。 各 io タイプ (ai|ao|do|di) で使用可能なチャネルは、io info コマンドで照会できます。 アナログ

入力(ai)条件は 0.1mV 単位で設定します。

when setting パラメータは、デバイス設定値が指定した値と比較された時に起動する trigger の設定を

行います。

when axis setting パラメータは、軸の設定が指定された値と比較されたときに起動する trigger を設定

します。axis パラメータは、設定が適用される軸番号を示します。

6.11 より前のファームウェアバージョンでは、『等しくない』は“<>”の代わりに“!=”と記載しなければなら

ないことに注意してください。

使用例:

アナログ入力が設定電圧を超えたときにトリガー(0.1mV 単位):

trigger1 は、アナログ入力 2 が 7.5V を超えると有効になります。

軸の位置が設定値を超えたときにトリガー:

trigger1 は、軸 1 の位置が 750000 マイクロステップに達すると有効になります。

/1 trigger 1 when io ai 2 > 75000

@01 0 OK IDLE -- 0

/1 trigger 1 when 1 pos >= 750000

@01 0 OK IDLE -- 0

Page 64: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

64

Command Configuration - コマンド設定

有効なパラメータ

action act none

action act io do chan toggle|value

action act stream number setup live axes

action act stream number call buf

action act axis stop|move value|force value

action act axis setting =|+= value

The action ... none パラメーターは、指定された action を trigger から削除します。

The action ... io パラメータは、io デジタル出力チャネルを指定された値に設定するか、またはそれ

をトグルします。各 io タイプ(ai|ao|do|di)で使用可能なチャネルは、io info コマンドで照会できます。

The action ... stream ... setup パラメータは、ライブモードストリームを設定します。 利用可能なス

トリーム番号を選択することができ、ストリームは通常許容される任意の数の軸で構成することができま

す。 関連するすべての軸が原点復帰されていない限り、ストリームを設定することはできませんので、

trigger を起動させる前に必ず軸を原点復帰してください。

The action ... stream ... call パラメータは、設定ストリーム上に格納されたストリームバッファを呼

び出します。 使用可能なストリーム番号とバッファ番号を選択できます。 トリガーが起動する前に、ストリ

ームを有効にする必要があり、バッファを埋める必要があります。

The action ... stop|move|force パラメータは、指定された軸上で move コマンドまたは force コマン

ドのいずれかを停止または実行します。

The action ... setting パラメータは、指定された軸の設定を調整します。この設定は、=オプションを

使用して特定の値に設定するか、+ =オプションを使用して設定した値だけ増分することができます。

注意:範囲のチェックや有効性は、どの value パラメータでも実行されません。指定された値が常に有効

であることを確認してください。特定の条件下でトリガーが目的のアクションを実行できなくなります。

使用例:

ポジションへの移動:

trigger 1 が起動すると、デバイスの軸 1 が最初の動作として 10000 マイクロステップ進む。

デジタル出力回線の切り替え:

trigger 1 が起動すると、デバイスはデジタル出力 1 の状態を 2 番目の動作として切り替えます。

/1 trigger 1 action a 1 move rel 10000

@01 0 OK IDLE -- 0

/1 trigger 1 action b io do 1 toggle

@01 0 OK IDLE -- 0

Page 65: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

65

Trigger Usage - トリガーの使用方法

下記の例は、さまざまな trigger コマンドを使用してアクションを実行する方法を示しています。

デジタル入力がアクティブになったときに停止する

次のコマンドは、デジタル入力 1 がアクティブになったときに軸 1 を停止します。

2 番目のアクションも停止している場合、デバイスは emergency stop(非常停止)を実行します。

前後方向の往復移動

次のコマンドは、0~100000 マイクロステップの間で軸 1 の往復運動を繰り返します。最大速度は、前方

移動が後方移動の 2 倍になるように調整されます。

trigger の置換

トリガーを無効にしても、その手順は消去されません。 既存のトリガーを置き換え、1 つのアクションステ

ップのみを使用する場合は、2 番目のステップのアクションを none に設定して、誤って前のアクションを引

き継ぐことを避けることをお勧めします。

trigger dist

軸が指定したマイクロステップ数移動すると、デジタル出力チャネルを切り替えます。

Scope Device

Parameters number enable [count]

number disable

number axis interval

Firmware Versions 6.06+

/1 trigger 1 when io di 1 == 1

/1 trigger 1 action a 1 stop

/1 trigger 1 action b 1 stop

/1 trigger 1 enable

/1 trigger 1 when 1 pos == 0

/1 trigger 1 action a 1 move abs 100000

/1 trigger 1 action b 1 maxspeed = 150000

/1 trigger 2 when 1 pos == 100000

/1 trigger 2 action a 1 move abs 0

/1 trigger 2 action b 1 maxspeed = 75000

/1 trigger 1 enable

/1 trigger 2 enable

Page 66: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

66

一旦構成され enable されると、distance(距離)trigger は interval 数のマイクロステップごとにデジタル出

力チャンネルをトグルします。trigger は、enable コマンドに count パラメータを指定することで、特定の回

数だけ起動するように設定できます。それ以外の場合は、無効になるまで trigger されます。

デジタル出力チャネルはハードコードされており、trigger time1 は最後のデジタル出力をトグルし、trigger

time 2 は 2 番目の最終出力をトグルします。チャネルの初期状態は、io set コマンドを使用して設定でき

ます。trigger time は、同じデジタル出力を使用する他のコマンドと競合し、その結果、ラインの状態が任

意に変化します。

使用例:

軸 1 の距離トリガー1 を 1000 のマイクロステップごとにトグルを有効にする設定:

trigger time

一定の間隔でデジタル出力チャンネルを切り替えます。

Scope Device

Parameters number enable [count]

number disable

number interval

Firmware Versions 6.06+

一旦構成され有効にされると、時間トリガーはデジタル出力を interval ミリ秒ごとに切り替えます。各

trigger は、enable コマンドに count パラメータを指定することによって、特定の回数だけ起動するように設

定できます。そうしない場合、disable コマンドまで起動し続けます。

デジタル出力チャネルはハードコードされており、trigger time1 は最後のデジタル出力をトグルし、trigger

time 2 は 2 番目の最終出力をトグルします。チャネルの初期状態は、io set コマンドを使用して設定でき

ます。trigger time は、同じデジタル出力を使用する他のコマンドと競合し、その結果、ラインの状態が任

意に変化します。

使用例:

trigger time 1 を設定して、250ms(2Hz 出力レート)毎に 60 秒間(60 / 0.25 = 240 カウント)トグルを有効:

/trigger dist 1 1 1000↵

@01 0 OK IDLE -- 0

/trigger dist 1 enable↵

@01 0 OK IDLE -- 0

/trigger time 1 250↵

@01 0 OK IDLE -- 0

/trigger time 1 enable 240↵

@01 0 OK IDLE -- 0

Page 67: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

67

virtual

仮想軸に沿って移動できるように一対の軸を設定、制御します。

Scope Device

Parameters number setup angle axis1 axis2 angle

number setup ratio axis1 axis2 multiplier1 multiplier2

number setup clear

number info

number move rel|vel value

number move min|max

number move axis abs|rel|vel value

number move axis min|max

number move axis stored number

number stop

number get maxspeed

number set maxspeed value

Firmware Versions 6.18+

Setup - セットアップ

仮想軸を設定可能なデバイスには、デバイスに設定できる仮想軸の数がいくつあるかを示す、0 以外の

virtual.numvirtual 設定があります。アドレッシングしている仮想軸の番号は、上記の仮想軸コマンドのい

ずれかの最初の number パラメータです。virtua コマンドは、2 軸以上のデバイスでのみ使用できます。

仮想軸は、デバイスまたはコントローラ上の任意の物理軸の間で設定できます。axis1 および axis2 パラメ

ータは、どの軸が仮想軸に含まれるかを設定するために使用され、component axes コンポーネント軸とも

呼ばれます。

setup angle コマンドを使用して仮想軸を有効にすると、単位円の周りの angle 角度(X 軸に対応する

axis1 と Y 軸に対応する axis2)が使用されます。angle パラメータの有効範囲は-360.0〜360.0 度で、小

数点以下 1 桁の精度で指定できます。

setup ratio コマンドを使用して仮想軸を有効にすると、multiplier パラメータを使用して、整数倍率(負数

でも可)としての軸間の関係が設定されます。axis1 が 1 単位移動すると、axis2 は(multiplier1 /

multiplier2)単位を移動します。軸 multiplier が負の場合、その軸の移動方向は反転されます。これは、移

動コマンドの最小位置と最大位置の選択に影響します。両方の multiplier パラメータの有効範囲は、-

2147483648~2147483648 です。

setup clear コマンドが送信されるまで、仮想軸は enable(電源オンオフサイクルを含む)されたままにな

ります。仮想軸を解除すると、仮想軸が無効になり、設定が削除されます。setup clear コマンドは、仮想

軸 maxspeed をデフォルト値にリセットします。

仮想軸を設定しても、コンポーネント軸が単独で使用されることはありません。

Page 68: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

68

使用例:

角度を定義して仮想軸を設定する:

28.5 度の仮想軸が軸 1 と軸 2 の間に設定されます。仮想軸動作コマンドは、軸 1 から 28.5 度で正方向に

両方の軸を動作させます。

比率を定義して仮想軸を設定する:

仮想軸が軸 2 と軸 1 の間で 5 対 1 の比率で設定されました。距離軸 2 が移動するたびに、軸 1 はその 5

倍移動します。

仮想軸の削除:

仮想軸 1 がクリアされました。

Information - 情報

アクティブな仮想軸に関する情報を読み取るには、info を使用します。 このコマンドは、仮想軸がどのよ

うに設定されたかによって異なる、スペースで区切られた値のリストを返します。

setup angle コマンドを使用して設定した場合、値は次のようになります。:

1. axis1 の軸番号

2. axis2 の軸番号

3. 仮想軸の angle(角度)

4. 仮想軸の maxspeed

setup ratio を使用して設定した場合の値は次のとおりです。:

1. axis1 の軸番号

2. axis2 の軸番号

3. multiplier1 に使用される値

4. multiplier2 に使用される値

5. 仮想軸の maxspeed

アドレス指定された仮想軸が設定されていない、又は削除された場合、コマンドは無効に戻ります。

使用例:

設定角度 30 度で設定された仮想軸の情報を要求する:

/01 virtual 1 setup angle 1 2 28.5↵

@01 0 OK IDLE -- 0

/01 virtual 1 setup ratio 2 1 1 5↵

@01 0 OK IDLE -- 0

/01 virtual 1 setup clear↵

@01 0 OK IDLE -- 0

/01 virtual 1 info↵

@01 0 OK IDLE -- 1 2 30 6000000

Page 69: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

69

maxspeed が 45000 に設定されている 5 対 1 で setup ratio 設定された仮想軸の情報を要求する:

仮想軸が設定されていない場合の応答:

Movement - 動作

仮想軸のモーションは、仮想軸またはそのコンポーネント軸の 1 つに対して相対的に定義できます。axis

パラメータが仮想軸動作コマンドに含まれている場合、絶対位置、距離、速度はそのコンポーネント軸を

基準にしており、min、max、および stored コマンドも axis から値を取ります。axis が指定されていない場

合、距離と速度は仮想軸を基準とします

仮想軸の速度は、コンポーネント軸と仮想軸の maxspeed 設定によって制限されます。仮想軸の

maxspeed は、virtual number set maxspeed コマンドで設定できます。デフォルト値は 2000000000 で

す。したがって、デフォルトでコンポーネント軸の maxspeed が速度を制限します。set maxspeed または

setup clear コマンドを使用し変更するまで、仮想軸が設定され、その値が持続する(電源オンオフサイ

クルを含む)かどうかを設定できます。有効範囲は 1~2147483647 です。

コンポーネント軸の最も制限的な位置(limit.min, limit.max)、速度(maxspeed)、加速度(accel)制限設定は、

仮想軸モーションコマンドに適用されます。

仮想軸の最小位置と最大位置は、その方向によって決定されます。例えば、第 2 象限(または負の

multiplier1、正の multiplier2)の角度を有する仮想軸に沿って正の移動を実行する場合、axis1 はその最

小位置に向かって移動(方向は反転)し、axis2 は最大位置に向かって移動します。この場合の virtual

axis move max コマンドは、axis1 の limit.min または axis2 の limit.max に達するまで軸を移動させます。

仮想軸 move および stop コマンドは、実行中の他の仮想軸移動コマンドを先取りしますが、コンポーネン

ト軸の 1 つが非仮想軸動作を実行している場合には拒否されます。なぜなら、比率を尊重しながらの新し

い動きは明確に定義されていないからです。

使用例:

仮想軸相対動作コマンド:

仮想軸に沿って 1000 移動するために、各現物軸は 707 移動する。

/01 virtual 1 info↵

@01 0 OK IDLE -- 2 1 1 5 45000

/01 virtual 1 info↵

@01 0 OK IDLE -- disabled

/01 virtual 1 setup ratio 1 2 1 1↵

@01 0 OK IDLE -- 0

/01 virtual 1 move rel 1000↵

@01 0 OK IDLE -- 0

Page 70: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

70

現物軸相対動作コマンド:

仮想軸は 1:3 の比率で軸 1 の位置 1000 に移動します。

軸 1 は位置 0 にあり、軸 2 は位置 300000 にあり、ほぼ最大位置の限度に存在する場合:

動作によって軸 2 が limit.max を超えてしまうため、コマンドは拒否されます。

コンポーネント軸の仮想軸 move vel コマンド:

軸 1 の速度は-1000、軸 2 の速度は-1732、仮想軸の速度は-2000 になります。

コンポーネント軸が独立して動いているときの仮想軸動作コマンドの送信:

仮想軸移動コマンドは、コンポーネント軸の移動を先取りすることができないため、拒否されます。な

ぜならば、そのような動きに対して期待される行動を定義することは困難であるからです。

仮想軸動作の目標速度の設定:

/01 virtual 1 setup ratio 1 2 1 3↵

@01 0 OK IDLE -- 0

/01 virtual 1 move 1 abs 1000↵

@01 0 OK IDLE -- 0

/01 get limit.max↵

@01 0 OK IDLE -- 301000 301000

/01 virtual 1 move 1 abs 1000↵

@01 0 RJ IDLE -- BADDATA

/01 virtual 1 setup ratio 2 1 60↵

@01 0 OK IDLE -- 0

/01 virtual 1 move 1 vel -1000↵

@01 0 OK IDLE -- 0

/01 1 move vel 1000↵

@01 0 OK IDLE -- 0

/01 virtual 1 move rel 1000↵

@01 0 RJ BUSY -- STATUSBUSY

/01 virtual 1 get maxspeed↵

@01 0 OK IDLE -- 6000000

/01 virtual 1 set maxspeed 50000↵

@01 0 OK IDLE -- 0

Page 71: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

71

Homing and Sensors - 原点復帰とセンサー

仮想軸に明確な原点がないため、仮想軸の原点復帰はサポートされていません。 仮想軸を使用する前

に、コンポーネント軸を個別に原点復帰する必要があります。

すべてのリミットセンサーは、仮想軸の軸が動いている間に適用されます。 仮想軸の移動中にリミットセ

ンサーが検出された場合は、移動が中断され、そのセンサーの設定で指定された動作が実行されます。

Closed Loop Behaviour - クローズドループ動作

仮想軸は、axis1 パラメータに使用される軸のクローズドループモード設定を使用します。クローズドルー

プモードにストール(脱調)リカバリ(cloop.mode 4 以上)が含まれ、ストール(脱調)が検出された場合、仮

想軸は停止し、元の動作パスに戻り、動作を再開します。

warnings

デバイスと軸のアクティブな警告を表示します。

Scope Device and Axis

Parameters [clear]

Firmware Versions 6.06+

warnings は、2 桁のアクティブな警告を出力し、その後、すべてのアクティブな警告フラッグを出力します。

(Warning Flags を参照)これをデバイス上のすべての軸に送信すると、すべての軸のアクティブな警告が

表示されます。そうでない場合は、指定された軸の警告のみが表示されます。

オプションの clear パラメータを指定した場合、全ての削除可能な警告フラッグがリセットされます。

使用例:

通常の応答:

デバイス上でアクティブな警告はありません。

軸の警告:

軸 2 には 3 つの警告があり、失速(FS)、変位警告(WM)、無効な参照(WR)警告があります。

/1 warnings↵

@01 0 OK IDLE -- 00

/1 2 warnings↵

@01 2 OK IDLE FS 03 FS WM WR

Page 72: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

72

Device Settings - デバイス設定

次のセクションでは、ASCII プロトコルで使用可能のすべてのデバイス設定について説明します。これらの

設定の一部は、特定のデバイスでは使用できない場合があります。利用可能な設定を確認するには、製

品マニュアルのデバイス設定セクション又は組み込みヘルプ『/1 help get↵』を参照してください。

以下にリストされているすべての設定は、get および set コマンドとともに使用され、値を読み取り、変更し

ます。 変更可能なすべての設定には、有効な範囲内の整数値が必要です。一部の設定では、小数点付

きの小数点または複数の値が返されることがあります。

特定の軸番号が指定されていない軸に適用される設定の get コマンドは、軸ごとに値が返されます。

たとえば、2 軸デバイスの場合:

同様に、軸番号を指定せずに軸設定を構成すると、その値がデバイスのすべての軸に適用されます。

たとえば、2 軸デバイスの場合:

指定された値がその軸の有効範囲外にある場合、軸は設定されず、BADDATA 応答が返されます。

又、読み取り専用の設定値は変更できず、set コマンドを使用すると、BADCOMMAND エラーが返されま

す。指定された範囲外の値で設定を構成すると、BADDATA 応答が返されます。

設定のデフォルト値については、Device と Peripheral ページを参照してください。

accel

速度を変更するときに使用される加速度と減速度を決定します。

Scope: Axis

Valid Range: 0 - 32767

Write Access Level: Normal

Firmware Versions: 6.06+

移動コマンドが発行されると、軸はこの設定で決定された速度で速度を増減します。 実際の加速度は

(accel * 10000 / 1.6384)microsteps / sec ^ 2 として計算されます。 値 0 は無限の加速を指定します。

加速または減速のみを変更するには、motion.accelonly および motion.decelonly の設定を参照してくださ

い。照会されると、accel 設定は減速設定に関係なく、加速度の設定値を返します。

/1 get pos↵

@01 0 OK IDLE -- 10000 15000

/1 set maxspeed 75000↵

@01 0 OK IDLE -- 0

/1 get maxspeed↵

@01 0 OK IDLE -- 75000 75000

Page 73: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

73

calibration.type

利用可能な calibration(較正)のタイプを設定します。

Scope: Axis

Valid Range: 0 - 2

Write Access Level: Read-Only

Firmware Versions: 6.24+

現在の軸で使用可能なキャリブレーションのタイプを返します。可能な応答値は次のとおりです。

0 - None:

この軸は calibration されていません。

1 - Linear encoder:

リニアエンコーダ較正データは、この軸で使用できます。

デバイスが接続されている外付けコントローラの場合、キャリブレーションタイプは peripheralid と

peripheral.serial の両方に依存するため、この値を読み取る前にこれらの設定が正しいことを確認してくだ

さい。現在のキャリブレーションデータによって指定されたキャリブレーションタイプが現在の peripheralid

に対して無効である場合、この設定は 0 を返し、WP 警告フラッグがセットされます。

cloop.counts

1 回転あたりのエンコーダカウント数。

Scope: Axis

Valid Range: 1 - 65535

Write Access Level: Advanced

Firmware Versions: 6.06+

クローズドループモードのエンコーダカウントとモータのステップ比で使用するエンコーダカウント数を指定

します。

通常、この数値は、1 回転あたりのエンコーダラインの 4 倍です。

この値は、encoder.pos =encoder.count * resolution * cloop.steps / cloop.counts に従って、

encoder.count を指定した場合の予想される pos を決定するために使用されます。

リニアエンコーダキャリブレーションの軸の場合、上記の計算内で encoder.count が

encoder.count.calibrated に置換わります。

この設定はコントローラでは読み書き可能ですが、エンコーダ内蔵デバイスでは読み取り専用です。

Page 74: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

74

cloop.displace.tolerance

変位として登録される固定軸の位置の最小偏差。

Scope: Axis

Valid Range: 0 - 65535

Write Access Level: Advanced

Firmware Versions: 6.19+

変位は、固定軸が強制的に停止したときに発生し、この設定の値よりも大きい位置誤差(pos 単位)を生

じます。 変位が検出されたときに実行されるアクションは、軸の cloop.mode 設定によって決定されます。

cloop.duration.max

微細な位置補正時間。

Scope: Axis

Valid Range: 0 - 65535

Write Access Level: Advanced

Firmware Versions: 6.17+

cloop.mode 3 以上で直接読み取りまたはリニアエンコーダ((encoder.mode 2)を使用する軸は、この時間

(単位:ミリ秒)のモーションコマンドの最後に精密な位置補正を試みます。 encoder.error が閾値内の場

合、この持続時間に達する前に微調整が終了します。

この設定の適正値は、10ms~60ms です。この範囲の下端に設定されていると、動作が速く完了します。

上限に設定されている場合、終了位置は目標位置に最も近い可能性が高くなります。

注記:この設定は継続時間上限ではありません。補正ルーチンが指定された持続時間を超えると、実行

中の補正反復が完了することが許可されます。この場合、全体的な補正時間は指定された時間より長く

なります。

cloop.mode

クローズドループ(スリップ、ストール、変位検出および回復)制御モード。

Scope: Axis

Valid Range: 0 - 5

Write Access Level: Normal

Firmware Versions: 6.06+

このコマンドは、軸のクローズドループ動作を設定し、スリップ、ストール、変位条件に対するアクションを

決定します。動作と使用可能な設定は、encoder.mode によって異なります。

設定値は以下に表記します。

Page 75: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

75

Axes with Motor Mounted Encoders - エンコーダ内臓モータ付き軸

クローズドループ

モード スリップ検出(1) ストール検出(2) 静止中に位置が移動

0 - 無効 動作無し 動作無し 動作無し

1 - パッシブモード スリップ中に青色 LED が

点灯し続けます。

動作無し WM 警告フラッグ設定。

青色 LED が 1 秒間に 2 回

点滅します。

2 - ストール検出 スリップ中に青色 LED が

点灯し続けます。

軸は、cloop.stalltimeout で

指定された時間が経過す

ると停止します。

FS 警告フラッグが設定。

青色 LED は 2 秒毎にオン

オフを繰返します。

WM 警告フラッグ設定。

青色の LED が 1 秒に 2 回

点滅します。

3 -位置補正(標準) pos は、エンコーダの情報

に基づいて更新されます。

スリップ中に青色 LED が

点灯し続けます。

軸は、cloop.stalltimeout で

指定された時間が経過す

ると停止します。

FS 警告フラッグが設定。

青色 LED は 2 秒毎にオン

オフを繰返します。

WM 警告フラッグ設定。

青色の LED が 1 秒に 2 回

点滅します。

4 - ストールリカバリ pos は、エンコーダの情報

に基づいて更新されます。

スリップ中に青色 LED が

点灯し続けます。

軸は、cloop.stalltimeout で

指定された時間が経過す

ると停止後、再開します。

WM 警告フラッグ設定。

青色 LED が 1 秒に 2 回点

滅します。

5 - 変位リカバリー pos は、エンコーダの情報

に基づいて更新されます。

スリップ中に青色 LED が

点灯し続けます。

軸は、cloop.stalltimeout で

指定された時間が経過す

ると停止後、再開します。

青色 LED が 1 秒に 2 回点

滅します。

軸は、cloop.stalltimeout で

指定された時間が経過す

ると停止します。

WM 警告フラッグは、軸が

移動すると設定され、軸が

位置の復元を開始すると

クリアされます。

(1) - encoder.pos がモータの 2 ステップ pos 以上遅れ、ステッピングモータが滑る。(脱調)

(2) - モータが cloop.stalltimeout 期間の目標位置に向かって進まず、軸が停止。

Page 76: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

76

Axes with Direct Reading or Linear Encoder - ダイレクトリーディングまたはリニアエンコーダ付き軸

クローズドループ

モード 目標位置へのアプローチ ストール検出(3) 静止中に位置が移動

0 - 無効 動作無し 動作無し 動作無し

1 - パッシブモード 利用不可 利用不可 利用不可

2 - ストール検出 動作無し 軸は、cloop.stalltimeout

で指定された時間が経過

すると停止します。

FS 警告フラッグ設定。

青色 LED は 2 秒毎にオ

ンオフを繰返します。

WM 警告フラッグ設定。

青色 LED が 1 秒間に 2

回点滅します。

3 -位置補正(標準) 軸は、encoder.error を最

小限に抑えるために小補

正を行います。

補正後、pos は

encoder.pos と一致するよ

うに更新されます。

軸は、cloop.stalltimeout

で指定された時間が経過

すると停止します。

FS 警告フラッグ設定。

青色 LED は 2 秒毎にオ

ンオフを繰返します。

WM 警告フラッグ設定。

青色 LED が 1 秒間に 2

回点滅します。

4 -ストールリカバリ 軸は、encoder.error を最

小限に抑えるために小補

正を行います。

補正後、pos は

encoder.pos と一致するよ

うに更新されます。

cloop.stalltimeout で指定

した時間が経過すると、

軸が停止してから再開し

ます。

WM 警告フラッグ設定。

青色 LED が 1 秒間に 2

回点滅します。

5 - 変位リカバリー 軸は、encoder.error を最

小限に抑えるために小補

正を行います。

補正後、pos は

encoder.pos と一致するよ

うに更新されます。

cloop.stalltimeout で指定

した時間が経過すると、

軸が停止してから再開し

ます。

青色 LED が 1 秒間に 2

回点滅します。

軸は、cloop.stalltimeout

で指定された時間、静止

したまま元の位置に復元

されます。

WM 警告フラッグは、軸

が移動すると設定され、

位置の復元を開始すると

クリアされます。

(3) - モータが cloop.stalltimeout 期間の目標位置に向かって進まず、軸が停止。

Page 77: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

77

Voice Coil Axes - ボイスコイル駆動軸

クローズドループ

モード ストール検出(4) 静止中に位置が移動(5)

0 - 無効 利用不可 利用不可

1 - パッシブモード 利用不可 利用不可

2 - ストール検出 利用不可 利用不可

3 - 位置補正 軸は、cloop.stalltimeout で指定された

時間が経過すると停止します。

pos は encoder.pos と一致する停止位置

に更新されます。

FS 警告フラッグ設定

青色 LED は 2 秒毎にオンオフを繰返

します。

pos は encoder.pos と一致する停止位置に

更新されます。

WM 警告フラッグ設定

青色 LED が 1 秒間に 2 回点滅します。

4 -ストールリカバリ pos は encoder.pos と一致するように更

新されます。

軸は目標位置に近づいていきます。

pos は encoder.pos と一致する停止位置に

更新されます。

WM 警告フラッグ設定

青色 LED が 1 秒間に 2 回点滅します。

5 -変位リカバリー

(標準)

pos は encoder.pos と一致するように更

新されます。

軸は目標位置に近づいていきます。

軸は常に元の位置に復元されます。

(4) -ボイスコイル駆動軸が、位置制御モードでの動作間に cloop.stalltimeout 期間にモータが最大出力を出力したときに停止したと考えられます。

(5) - ボイスコイル駆動軸が、位置制御モードで cloop.stalltimeout 期間の新しい位置に保持されている場合、ボイスコイル駆動軸が移動された。

クローズドループ(スリップ/ストール/変位リカバリー)モードは、エンコーダ内蔵の軸でのみ有効にできま

す。汎用エンコーダでクローズドループモードを使用するには、encoder.mode を有効にして、すべてのエ

ンコーダ関連設定を構成する必要があります。encoder.count が pos と同じ方向に増分するように

encoder.dir を設定、cloop.steps と cloop.counts を調整し、モータのフルステップとエンコーダカウントの間

の正しい比率を反映させてください。

cloop.stalltimeout

ストールリカバリーのタイムアウト設定。

Scope: Axis

Valid Range: 0 - 65535

Write Access Level: Normal

Firmware Versions: 6.06+

クローズドループモードのストール/変位状態から回復するまでの時間を ms(ミリ秒)単位で指定します。

Page 78: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

78

cloop.steps

1 回転あたりのステップ数

Scope: Axis

Valid Range: 1 - 255

Write Access Level: Advanced

Firmware Versions: 6.06+

クローズドループモードのエンコーダカウントとモータステップ比に使用される、ステッパモータのフルステ

ップ数を指定します。この値は、通常モータが 1 回転するのに必要なフルステップ数です。

この値は、 に従って、

encoder.count を指定した場合の予想される pos を決定するために使用されます。

リニアエンコーダキャリブレーションの軸の場合、上記の計算で encoder.count は

encoder.count.calibrated に置換わります。

この設定はコントローラでは読書き可能ですが、エンコーダ内蔵デバイスでは読取り専用になります。

comm.address

デバイスアドレス。

Scope: Device

Valid Range: 1 - 99

Write Access Level: Normal

Firmware Versions: 6.06+

デバイスはそのアドレスを変更し、設定されたときに応答します(例:

comm.alert

警告メッセージ。

Scope: Device

Valid Range: 0 - 1

Write Access Level: Normal

Firmware Versions: 6.06+

この設定が 1 の場合、デバイスは警告メッセージを送信します。

encoder.pos = encoder.count * resolution * cloop.steps / cloop.counts

/01 set comm.address 5↵

@05 0 OK IDLE -- 0

Page 79: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

79

comm.checksum

メッセージのチェックサムを送信します。

Scope: Device

Valid Range: 0 - 1

Write Access Level: Normal

Firmware Versions: 6.06+

この設定が 1 の場合、メッセージにチェックサムが含まれます。

comm.protocol

現在のインターフェースでデバイスが使用している通信プロトコル。

Scope: Device

Valid Range: 現在のインターフェースのプロトコル設定を参照してください

Write Access Level: Normal

Firmware Versions: 6.06+

この設定に書き込むと、デバイスは設定更新保留(NU)通知フラッグを発生し、現在のプロトコルで応答し

ます。すべての通信インターフェースがアイドル状態になると、デバイスは新しいプロトコルに切替わり、

設定更新保留(NU)フラッグを消去します。

comm.rs232.baud

RS232 Prev および Next インターフェースで使用されるボーレート。

Scope: Device

Valid Range: 9600 - 115200

Write Access Level: Normal

Firmware Versions: 6.06+

有効な設定:

9600 (default for Binary in Zaber Console)

19200

38400

57600

115200 (default for ASCII in Zaber Console)

他のすべてのシリアルパラメータは 8 ビット、1 ストップビット、パリティなし、フロー制御なしです。

この設定に書込むと、デバイスは設定更新保留(NU)通知フラッグを発生させ、現在のボーレートで応答し

ます。すべての通信インターフェースが IDOL 状態になると、デバイスは新しいボーレートに切り替え、設

定更新保留(NU)フラグを消去します。

RS232 のボーレートとプロトコルを同時に設定するには、tools setcomm コマンドを使用します。

Page 80: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

80

comm.rs232.protocol

デバイスが RS232 Prev および Next インターフェースで使用する通信プロトコル。

Scope: Device

Valid Range: 下記参照

Write Access Level: Normal

Firmware Versions: 6.09+

有効な設定は:

1 - Binary Only.

レガシーT-シリーズバイナリプロトコルのみ。

2 - ASCII Only.

A-シリーズと X-シリーズの ASCII プロトコルのみ。

この設定に書き込むと、デバイスは設定更新保留(NU)通知フラグを発生し、現在のインターフェースで応

答します。 すべての通信インターフェースがアイドル状態になると、デバイスは指定されたインターフェー

ス上のプロトコルに切り替え、設定更新保留(NU)フラグを削除します。

comm.rs485.baud

RS485 インターフェースで使用されるボーレート。

Scope: Device

Valid Range: 1200 - 115200

Write Access Level: Advanced

Firmware Versions: 6.09+

有効な設定:

1200

4800

9600

19200

38400

57600

115200

他のすべてのシリアルパラメータは 8 ビット、1 ストップビット、パリティなし、フロー制御なしです。

この設定に書き込むと、デバイスは設定更新保留(NU)通知フラグを立て、現在のボーレートで応答しま

す。すべての通信インターフェースがアイドル状態になると、デバイスは新しいボーレートに切り替え、設

定更新保留(NU)フラグをクリアします。

Page 81: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

81

comm.rs485.enable

RS485 インターフェースを有効にします。

Scope: Device

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.09+

1 に設定すると、RS485 インターフェースが有効になります。 優先度の低いインターフェースが現在使用

されている場合、デバイスは現在のインターフェースで応答し、RS485 インターフェースに切り替えて、優

先度の低いインターフェースを無効にします。 サポートされているインターフェースと優先順位について

は、デバイスのユーザーマニュアルを参照してください。

この設定に書き込み、現在のインターフェースが RS485 より低いプライオリティである場合、デバイスは

設定更新保留(NU)通知フラッグを発生させ、現在のインターフェースで応答します。すべての通信インタ

ーフェースがアイドル状態になると、デバイスは新しいインターフェースに切り替わり、設定更新保留(NU)

フラッグを消去します。

comm.rs485.protocol

デバイスが RS485 インターフェースで使用する通信プロトコル。

Scope: Device

Valid Range: 下記参照

Write Access Level: Advanced

Firmware Versions: 6.09+

有効な設定は次のとおりです。:

2 - ASCII Only.

A-シリーズと X-シリーズの ASCII プロトコルのみ。

この設定に書き込むと、デバイスは設定更新保留(NU)通知フラグを発生させ、現在のインターフェースで

応答します。すべての通信インターフェースがアイドル状態になると、デバイスは指定されたインターフェ

ース上のプロトコルに切り替え、設定更新保留(NU)フラグを消去します。

comm.usb.protocol

デバイスが USB インターフェースで使用する通信プロトコル。

Scope: Device

Valid Range: 下記参照

Write Access Level: Normal

Firmware Versions: 6.09+

Page 82: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

82

有効な設定は次のとおりです。:

1 - Binary Only.

レガシーT-シリーズバイナリプロトコルのみ。

2 - ASCII Only.

A-シリーズと X-シリーズの ASCII プロトコルのみ。

この設定に書き込むと、デバイスは設定更新保留(NU)通知フラグを発生させ、現在のインターフェースで

応答します。すべての通信インターフェースがアイドル状態になると、デバイスは指定されたインターフェ

ース上のプロトコルに切り替え、設定更新保留(NU)フラグを消去します。

deviceid

ユニットのデバイス ID。

Scope: Device

Valid Range: Zaber Support - Device IDs で定義されている値

Write Access Level: Read-Only

Firmware Versions: 6.06+

Zaber デバイスのモデルを指定する ID。 各デバイスとその関連 ID 番号は Zaber Support - Device IDs

にリストされています。

driver.current.hold

モータを所定の位置に保持するために使用される電流。

Scope: Axis

Valid Range: 0 - driver.current.max

Write Access Level: Normal

Firmware Versions: 6.06+

ステッピングモータは一般的に、動いているときは定格電流で駆動し(電流を流す)、アイドル状態のとき

は電流を抑え(電流を保持する)ます。デバイスの動作が停止すると、0.1 秒後に駆動電流を保持電流に

切り替えます。この設定値は 20 mA DC 単位で設定され、各モータ位相で使用できる最大保持電流を指

定します。モータの位置が完全にステップ間にある場合、各フェーズはこの設定で指定された電流の何分

の 1 かを使用します。通常、保持電流は動作電流の約 25〜50%に設定されます。いくつかの用途では、

駆動システムの摩擦のみでモータのマイクロステップ位置を保持するのに十分で、保持電流を完全にオ

フにすることができます。driver.current.hold の設定値を 0 にすることで、ホールド電流をオフにすることが

できます

例として、800mA DC の保持電流をこの設定のデータ値に変換するには:

データ値 = 800 mA DC ÷ 20 mA DC/data = 40

与えられたデータ値 40 により実際の電流を決定するには:

電流値 = 40 × 20 mA DC/data = 800 mA DC

Page 83: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

83

driver.current.max

driver.current.hold と driver.current.run の最大有効値

Scope: Axis

Valid Range: 0 - 255

Write Access Level: Read-Only

Firmware Versions: 6.16+

デバイスがサポートする最大電流を報告します。これは、保持電流と駆動電流の現在の設定値で設定で

きる最大値です。

driver.current.run

モータを駆動するために使用される電流。

Scope: Axis

Valid Range: 0 - driver.current.max

Write Access Level: Normal

Firmware Versions: 6.06+

この設定の値は、14.1 mA RMS(20 mA ピーク)単位で表されます。 指定された電流制限がモータ位相ご

とに適用されます。アプリケーションで高いトルクが要求されない場合は、消費電流、振動、モータの発熱

を低減するために、駆動電流を低く設定することをお勧めします。より高いトルクが必要な場合は、連続

運転されていても熱が発生しすぎない限り、モータをオーバードライブするのが一般的に安全です。電流

および温度の制限については、製品の仕様を参照してください。

例えば、1.2 A RMS の運転電流をこの設定のデータ値に変換するには、次のように計算します。:

データ値 = 1200 mA RMS ÷ 14.1 mA RMS/data = 85

与えられたデータ値 40 により実際の電流を決定する計算は:

電流値 = 40 × 14.1 mA RMS/data = 564 mA RMS

driver.dir

モータドライバの出力方向。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.06+

モータドライバの出力方向を反転します。

Page 84: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

84

driver.temperature

ドライバーの現在の温度(摂氏)。

Scope: Axis

Valid Range: 0 - 150

Write Access Level: Read-Only

Firmware Versions: 6.06+

使用例:

ドライバーは現在 53.5℃です。

encoder.count

軸エンコーダによって報告される位置。

Scope: Axis

Valid Range: −140737488355328 - 140737488355327

Write Access Level: Advanced

Firmware Versions: 6.06+

エンコーダカウントが存在する場合。

この無単位の値は、 に

従って予測される pos を決定するのに役立ちます。

リニアエンコーダのキャリブレーションを使用する軸の場合、encoder.count はエンコーダによって報告さ

れる生値のエンコーダカウントで、encoder.count.calibrated は上の計算で encoder.count の代わりに使用

されるキャリブレーションされたカウント値です。

/1 1 get driver.temperature↵

@01 1 OK IDLE -- 53.5

encoder.pos = encoder.count * resolution * cloop.steps / cloop.counts

Page 85: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

85

encoder.count.calibrated

キャリブレーション後、軸エンコーダによって報告される位置。

Scope: Axis

Valid Range: −140737488355328 ~ 140737488355327

Write Access Level: Read-Only

Firmware Versions: 6.24+

較正されたエンコーダカウント値が存在する場合。単位は任意で、使用するエンコーダに依存します。

この設定は、現在の位置でキャリブレーションエラーテーブル値を使用して、生のエンコーダカウントの読

み取り(encoder.count)をキャリブレーションした結果です。 特に、

エンコーダカウント値がキャリブレーションエラーテーブルにない場合、エラーは最も近いテーブルの値か

ら線形に補間されます。

この設定は、ダイレクトエンコーダキャリブレーションが使用されている場合にのみ有効です。それ以外の

場合は、encoder.count に設定されます。

encoder.dir

エンコーダカウントの方向。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.06+

軸エンコーダのカウント方向を反転します。

encoder.error

エンコーダによって測定された位置誤差。

Scope: Axis

Valid Range: -1000000000 ~ 1000000000

Write Access Level: Read-Only

Firmware Versions: 6.17+

encoder.pos と pos の差。この値はエンコーダによって測定された、pos からの軸の位置誤差を表します。

encoder.count.calibrated = encoder.count - 誤差

encoder.error = pos - encoder.pos

Page 86: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

86

encoder.fault.type

エンコーダによって提供される障害信号のタイプ。

Scope: Axis

Valid Range: 0 - 3

Write Access Level: Advanced

Firmware Versions: 6.24+

エンコーダによって提供される障害信号のタイプを指定します。 有効な設定は次のとおりです。

0 - 無し:

エンコーダには障害信号がありません。

1 - アクティブ Low:

アクティブになると、センサーは専用の障害信号線上で論理 Low を出力します。

2 - アクティブ High:

アクティブになると、センサーは専用の障害信号線上で論理 High を出力します。

3 - トライステート信号線:

エンコーダには専用の障害信号線がありません。障害状態を示すために、センサーはエンコーダ信号線

をトライステートにします。

この設定は、スタンドアロンコントローラーでのみ使用できます。 コントローラがエンコーダの障害状態を

報告するには、limit.d.type も 3 に設定する必要があります。

encoder.filter

エンコーダ入力のデジタルフィルタリングを有効にして設定します。

Scope: Axis

Valid Range: 0, 1, 2, 4, 8, 16, 32, 64, 256

Write Access Level: Advanced

Firmware Versions: 6.06+

0 の値を指定するとフィルタリングが無効になり、他の値はノイズを比例的に拒否し、エンコーダが更新で

きる最大速度を低下させます。

Page 87: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

87

encoder.index.count

軸エンコーダインデックスパルスの記録されたカウント数。

Scope: Axis

Valid Range: -32768 ~ 32767

Write Access Level: Advanced

Firmware Versions: 6.06+

インデックスパルスをサポートするエンコーダの場合、この設定は受信したインデックスパルスの数を追

跡します。

encoder.index.mode

エンコーダインデックスパルスの動作モードを指定します。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.06+

有効な設定は次のとおりです。:

0 - 無効

エンコーダインデックスはありません。

1 - ノーマル

エンコーダインデックスパルスがカウントされます。

encoder.index.phase

有効なインデックスパルスのエンコーダフェーズの値を指定します。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.06+

この設定を 0 にすると、インデックスパルスをカウントするために、エンコーダの位相ラインが両方とも

Low の場合、エンコーダのインデックスラインを High にする必要があります。

この設定を 1 にすると、インデックスパルスがカウントされるためにエンコーダの位相ラインが両方とも

High のときエンコーダのインデックスラインが High になる必要があります。

Page 88: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

88

encoder.mode

エンコーダの動作モードを指定します。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.06+

有効な設定は次のとおりです。:

0 - 無効

エンコーダは存在しません。

1 - モーターマウントエンコーダ

モータの位置を読み取るために、エンコーダ入力が有効になっています。

2 - ダイレクトリーディングまたはリニアエンコーダ

エンコーダ入力は、軸の位置を読み取るために有効になります。

encoder.pos

エンコーダによって測定された位置。

Scope: Axis

Valid Range: -1000000000 - 1000000000

Write Access Level: Read-Only

Firmware Versions: 6.17+

現在の絶対位置は、エンコーダによって測定され、マイクロステップに変換されます。 この値は、位置補

正が無効になっているか、位置誤差が補正許容値内にある場合に pos と異なる場合があります。

リニアエンコーダキャリブレーションが使用されている場合、この値はキャリブレーションされたエンコーダ

位置を使用して計算されます。

filter.holderid

取り付けられているフィルターホルダーの ID。

Scope: Axis

Valid Range: 0 - 65535

Write Access Level: Normal

Firmware Versions: 6.22+

encoder.pos = encoder.count * resolution * cloop.steps / cloop.counts

encoder.pos = encoder.count.calibrated * resolution * cloop.steps / cloop.counts

Page 89: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

89

現在取付けられているフィルターホルダーを指定します。この設定を書き込むと、motion.index.dist もフィ

ルターホルダーの視覚的な間隔に合わせて更新されます。あるいは、tools detectholder コマンドを使用

して、識別子を入力せずに、取り付けられたフィルターホルダーを自動的に検出することができます。

有効な設定は次のとおりです。

25 - フィルターホルダーモデル FH0625.

32 - フィルターホルダーモデル FH0632.

このコマンドは、フィルタホイールデバイスでのみ使用できます。

force.average

ボイスコイル駆動軸によって直近で加えられた平均力。

Scope: Axis

Valid Range: -2147483648 - 2147483647

Write Access Level: Read-Only

Firmware Versions: 6.25+

直近の 1 - 2 秒間に軸が出力した平均力を返します。 これは、force abs コマンド、force sin コマンド、

knob.force 設定と互換性のある無単位の値です。

joy.debug

ジョイスティックデバッグモード。

Scope: Device

Valid Range: 0 - 1

Write Access Level: Normal

Firmware Versions: 6.16+

有効な設定は次のとおりです。:

0 - ノーマル

ジョイスティックから送信されたコマンド、およびそれらのコマンドへの応答は、コンピュータによっ

て受信されません。

1 -デバッグモード

ジョイスティックから送信されたコマンド、およびそれらのコマンドへの応答は、両方ともコンピュー

タによって受信されます。

一般に、joy.debug は 0 に設定する必要があります。そのため、コンピュータは予期しない応答を受信しま

せん。たとえば、期待どおりに動作しない場合など、すべての通信を見たい場合もあります。その場合は

joy.debug を 1 に設定すると、すべての通信を監視できます

Page 90: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

90

knob.dir

ノブ操作による動作方向。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Normal

Firmware Versions: 6.06+

ノブの移動方向を設定します。0 は、時計回り、正方向に移動します。1 は方向を逆転させます。

knob.distance

変位モード時ノブ操作で移動する距離。

Scope: Axis

Valid Range: 0 - 2000000000

Write Access Level: Normal

Firmware Versions: 6.06+

変位モード時のノブの各ステップで、軸がマイクロステップでどのくらい移動するかを設定します。

この設定が 0 に設定されている場合、ノブの各ステップは、move index の動作と同様に、前後のインデッ

クス位置に移動します。

knob.enable

ノブ操作を有効にします。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Normal

Firmware Versions: 6.06+

1 に設定するとノブを有効にします。

knob.force

推力モードでノブを使用して到達できる最大の力。

Scope: Axis

Valid Range: 0 - 700

Write Access Level: Normal

Firmware Versions: 6.25+

推力モードでは、この設定によって決定される最大の力まで軸が適用されます。

Page 91: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

91

knob.forceprofile

推力の増分プロファイル。

Scope: Axis

Valid Range: 1 - 3

Write Access Level: Normal

Firmware Versions: 6.25+

推力モードで増分ごとに使用されるプロファイルを設定します。 有効な設定は次のとおりです。

1 - 比例

2 - 2乗

3 - 3乗

knob.maxspeed

速度モードでノブを使用して時の最高速度です。

Scope: Axis

Valid Range: 1 - resolution * 16384

Write Access Level: Normal

Firmware Versions: 6.06+

速度モードでは、この設定で決定された最大速度まで軸が移動します。 実際の速度は、

(knob.maxspeed / 1.6384)マイクロステップ/秒として計算されます。

knob.mode

マニュアルコントロールノブのモードを設定します。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Normal

Firmware Versions: 6.06+

有効な設定:

0 - 速度モード

ノブの回転量に応じて軸の速度を変化させ制御します。

速度モードは、knob.speedprofile と knob.maxspeed の設定で定義されます。

1 - 変位モード

ノブの各インデックスにより、knob.distance 設定で示す通り、軸を特定の距離だけ移動させます。

2 - 推力モード(ボイスコイル駆動軸のみ対応)

ノブ操作によりボイスコイル軸によって加えられる力を制御し、回転量に応じて変化します。

推力モードは、knob.forceprofile と knob.force の設定で定義されます。

Page 92: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

92

knob.speedprofile

速度の増分プロファイル。

Scope: Axis

Valid Range: 1 - 3

Write Access Level: Normal

Firmware Versions: 6.06+

速度モード時に各ステップで使用されるプロファイルを設定します。有効な設定は次のとおりです。

1 - 比例

2 - 2乗

3 - 3乗

limit.approach.maxspeed

リミットセンサーに接近するときに使用される最大速度。

Scope: Axis

Valid Range: 1 - resolution * 16384

Write Access Level: Advanced

Firmware Versions: 6.06+

リミットセンサーに近づくと、軸は limit.approach.maxspeed 設定と maxspeed 設定のうち小さな方で移動し

ます。実際の速度は(maxspeed / 1.6384)マイクロステップ/秒として計算されます。

limit.cycle.dist

一周の長さ。

Scope: Axis

Valid Range: 0 - 2147483647

Write Access Level: Advanced

Firmware Versions: 6.20+

ロータリーデバイスが 1 回転するために動作する必要のあるマイクロステップ数。この設定はコントローラ

とロータリーデバイスにのみ存在します。内蔵ロータリーデバイスでは、読み取り専用です。

limit.detect.decelonly

リミットセンサーがトリガーされたときに使用される減速度。

Scope: Axis

Valid Range: 0 - 32767

Write Access Level: Advanced

Firmware Versions: 6.06+

Page 93: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

93

リミットセンサーがトリガーされると、軸は指定された速度で停止するまで減速します。実際の減速度は

(decel * 10000 / 1.6384)microsteps / sec ^ 2 として計算されます。値 0 は無限の減速度を指定します。

limit.detect.maxspeed

リミットセンサーから離れるときに使用される最大速度。

Scope: Axis

Valid Range: 1 - resolution * 16384

Write Access Level: Advanced

Firmware Versions: 6.06+

リミットセンサーがトリガーされると、軸は指定された速度でセンサーから遠ざかります。実際の速度は

(maxspeed / 1.6384)マイクロステップ/秒として計算されます。

limit.sensor.action

自動リミットセンサー動作。

Scope: Axis

Valid Range: 0 - 2

Write Access Level: Advanced

Firmware Versions: 6.06+

軸移動中に sensor がアクティブになったときに実行されるリミットセンサーの自動アクションを指定しま

す。センサーは、原点、アウェイ、c、d のいずれかのセンサーです。有効な設定は次のとおりです:

0 - 無効

このセンサーがアクティブになっても、何も実行されません。

1 - 後退

limit.sensor.edge で指定されたセンサーの側に後退します。

2 - 後退後、現在の位置を更新

上記 1 に加え、limit.sensor.preset の値は pos に書込まれ、位置が更新されます。基準位置なし(WR)警告

フラッグは消去されます。

3 - まだ原点復帰していない場合、後退させて現在の位置を更新(6.21+ only)

モード 2 と同じように動作しますが、基準位置なし(WR)警告フラグが設定されています。この警告が消

去された(デバイスが基準位置を有する)後、このセンサーがトリガーされた場合、何も行われません。

limit.sensor.state 設定が 1 の場合、sensor はアクティブです。

自動リミットセンサー動作がトリガーされ、基準位置なし(WR)警告フラッグが存在しない場合、予期しない

リミットトリガ (WL)警告フラッグがセットされます。

Page 94: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

94

limit.sensor.edge

リミットセンサー動作時の補正移動する際のセンサー側を指定します。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.06+

センサーがトリガーされたときの位置調整時にセンサーの側面を指定します。sensor は、センサーは、原

点、アウェイ、c、d のいずれかのセンサーです。0 の値を指定すると、センサーの正側へ軸を整列させ、1

の値を指定すると、センサーの負側へ整列させます。正負の方向は、軸の位置の向きに従います。

limit.sensor.pos

センサーにより更新された位置。

Scope: Axis

Valid Range: -1000000000 - 1000000000

Write Access Level: Advanced

Firmware Versions: 6.06+

limit.sensor.posupdate の設定に応じて、センサーの現在の位置に更新することができます。sensor は、

センサーは、原点、アウェイ、c、d のいずれかのセンサーです。

limit.home.pos と limit.away.pos の設定には、それぞれ limit.min と limit.max の代替名があります。これら

の 2 つの設定は、pos の限界端を表し、軸の有効な動作範囲を決定します。これらの設定を変更する場

合は、範囲を軸の物理的限界よりも大きな値に設定することができてしまう為、注意してください。

limit.sensor.posupdate

自動リミットスイッチ動作後のセンサー位置の更新方法を指定します。

Scope: Axis

Valid Range: 0 - 2

Write Access Level: Advanced

Firmware Versions: 6.06+

自動リミットスイッチ動作後にセンサー位置設定を更新するかどうかを指定します。sensor は、原点、アウ

ェイ、c、d のいずれかのセンサーです。有効な設定は次のとおりです。:

0 - 無効

センサーの位置は更新されません。

1 - 現在の値に設定

現在の位置(pos)は、このセッションでのみ limit.sensor.pos に書き込まれます

2 - 現在の値を設定し保存

現在の位置(pos)は limit.sensor.pos に書き込まれます。limit.sensor.pos の値は不揮発性メモリに保存さ

れ、電源を切っても持続します。

Page 95: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

95

センサーの位置は、自動リミットセンサー動作が実行された後に更新されます。自動リミットセンサーの動

作が無効の場合(limit.sensor.action が 0(無効))、この設定は無効です。

原点またはアウェイセンサーの場合、このメカニズムは軸の有効な移動範囲に影響します。limit.min と

limit.max を参照してください。

limit.sensor.preset

リミットセンサー動作によって pos に書き込まれた値。

Scope: Axis

Valid Range: -1000000000 - 1000000000

Write Access Level: Advanced

Firmware Versions: 6.06+

リミットセンサーの動作によって pos に書き込まれた値を指定します(limit.sensor.action, home, tools

gotolimit など)。sensor は、原点、アウェイ、c、d のいずれかのセンサーです。

limit.sensor.state

センサーの現在の状態。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Read-Only

Firmware Versions: 6.06+

この設定は、センサーがアクティブな場合は 1、それ以外の場合は 0 になります。sensor は、原点、アウェ

イ、c、d のいずれかのセンサーです。

limit.sensor.type が 0(無効)の場合、この設定は常に 0 です。

limit.sensor.triggered

センサーが以前にトリガーされたかどうか。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Read-Only

Firmware Versions: 6.06+

この設定は起動時に 0 に設定されます。home などのリミットセンサーコマンドや自動リミットセンサー動作

後、設定は 1 に設定されます。sensor は、原点、アウェイ、c、d のいずれかのセンサーです。

Page 96: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

96

limit.sensor.type

接続されたセンサーのタイプ。

Scope: Axis

Valid Range: 0 - 3

Write Access Level: Advanced

Firmware Versions: 6.06+

接続されたセンサーのタイプを指定します。sensor は、原点、アウェイ、c、d のいずれかのセンサーです。

有効な設定は次のとおりです。

0 - 無効: センサーは接続されていません。

1 - アクティブ: アクティブになると、センサーは理論 Low を出力します。

2 - アクティブ High: アクティブになると、センサーは理論 High を出力します。

3 - エンコーダフォルト(センサーd のみに適用):ダイレクトリーディング機能、またはリニアエンコ

ーダからのエンコーダフォルト線が接続されています。ラインがアクティブなときに FQ フラッグを

セットします。接続されたフォルト信号のタイプを指定するには、 encoder.fault.type を使用します。

このタイプは、ダイレクトリーディング機能内臓、またはリニアエンコーダを備えた Zaber 製品に標準

で設定されています。

limit.max

デバイスの最大位置(マイクロステップ数)。

Scope: Axis

Valid Range: -1000000000 - 1000000000

Write Access Level: Normal

Firmware Versions: 6.06+

この設定を使用して、動作範囲をデフォルト値以外の値に制限します。この設定は、limit.away.pos 設定

の代替名です。注記:この設定を変更する場合は、軸の物理的限界より大きな値に範囲を設定可能のた

め、注意してください。

limit.min

デバイスが移動できる最小位置。マイクロステップ数で測定されます。

Scope: Axis

Valid Range: -1000000000 - 1000000000

Write Access Level: Normal

Firmware Versions: 6.06+

動作範囲( limit.max - limit.min )は軸に依存します。この設定は、limit.home.pos 設定の代替名です。

注記:この設定を変更する場合は、軸の物理的限界より大きな値に範囲を設定可能のため、注意してく

ださい。

Page 97: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

97

limit.start.pos

軸の始動位置。

Scope: Axis

Valid Range: 0 - 2

Write Access Level: Advanced

Firmware Versions: 6.19+

この設定は、電源投入時の軸の初期位置を変更します。

有効な設定は次のとおりです。:

0 - pos は 0 に初期化されます。

1 - pos は limit.min に初期化されます。

2 - pos は limit.max に初期化されます。

limit.swapinputs

ホームセンサーとアウェイセンサーの入力を入れ替えます。

Scope: Axis

Valid Range: 0 - 1

Write Access Level: Advanced

Firmware Versions: 6.06+

1 に設定すると、ホームセンサー入力ピンとアウェイセンサー入力ピンが入れ替わります。

lockstep.numgroups

ロックステップグループの数

Scope: Device

Valid Range: 0 – 1

Write Access Level: Read-Only

Firmware Versions: 6.15+

デバイスに用意されているロックステップグループの数を報告します。

lockstep.tolerance

ロックアップ制御時の軸の最大ねじれ。

Scope: Axis

Valid Range: 0 – 2147483647

Write Access Level: Normal

Firmware Versions: 6.15+

Page 98: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

98

ロックステップグループが停止する前にスレーブ軸の許容最大ねじれ値を選択し、動作中にねじれを解消

します。0 に設定すると、無制限のねじれが許可され、ロックステップグループは停止したり解けたりしま

せん。この設定はマスター軸では無視されます。

maxspeed

動作時の軸の最大速度。

Scope: Axis

Valid Range: 1 - resolution * 16384

Write Access Level: Normal

Firmware Versions: 6.06+

動作コマンドが発行されると、この設定によって決定された速度で軸が移動します。 実際の速度は(速度

/ 1.6384)マイクロステップ/秒として計算されます。

motion.accelonly

速度上昇時に使用する加速度を決定します。

Scope: Axis

Valid Range: 0 - 32767

Write Access Level: Normal

Firmware Versions: 6.06+

動作コマンドが発行されると、この設定で決められた加速度で maxspeed まで加速します。実際の加速度

は(accel * 10000 / 1.6384)microsteps/sec^2 として計算されます。値 0 は無限の加速を指定します。

motion.decelonly

減速時に使用する減速度を設定します。

Scope: Axis

Valid Range: 0 - 32767

Write Access Level: Normal

Firmware Versions: 6.06+

動作コマンドが発行されると、この設定で決められた減速度で軸が減速します。実際の減速度は(decel *

10000 / 1.6384)microsteps/sec^2 として計算されます。値 0 は無限の加速を指定します。

Page 99: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

99

motion.index.dist

連続するインデックス位置間の距離。

Scope: Axis

Valid Range: 1 - 2147483647

Write Access Level: Advanced

Firmware Versions: 6.21+

move index コマンドで移動可能な位置間の、マイクロステップ数で測定された距離。

limit.cycle.dist 設定値が 0 以外のロータリーデバイスの場合、move index コマンドを使用するには、

motion.index.dist を limit.cycle.dist より小さく設定する必要があります。

リニアデバイス、または limit.cycle.dist 設定値が 0 のロータリーデバイスの場合、limit.max は move index

コマンドを使用するには、motion.index.dist は limit.max より小さく設定する必要があります。

リニアデバイスまたはロータリーデバイスの設定値が 0 の場合は、コマンドを受け入れるためには正また

は負の値を設定する必要があります。

motion.index.num

現在のインデックス番号。

Scope: Axis

Valid Range: 0 - 2147483647

Access Level: Read-Only

Firmware Versions: 6.22+

現在の位置がインデックス位置の場合、((pos / motion.index.dist) + 1)として計算されたインデックス番号

が返されます。pos が motion.index.dist の倍数でない場合、この設定は 0 を返します。

limit.cycle.dist が 0 以外のロータリーデバイスの場合、インデックス番号がラップアラウンドします。

つまり、値が{x}の pos と{x + limit.cycle.dist}の pos は両方とも同じインデックス番号を返します。

リニアデバイス、または limit.cycle.dist 設定値が 0 のロータリーデバイスでは、pos が負の場合、この

設定は 0 を返します。

peripheralid

コントローラに接続された Zaber デバイスのペリフェラル ID。

Scope: Axis

Valid Range: Zaber Support - Peripheral IDs に記載されている値 or 0

Write Access Level: Normal

Firmware Versions: 6.06+

すべての Zaber ペリフェラル ID は、Zaber Support - Peripheral IDs で指定されています。

軸が BUSY 状態の場合、ペリフェラル ID の設定は拒否されます。

Page 100: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

100

peripheral.serial

接続されているデバイスのシリアル番号。

Scope: Axis

Valid Range: 0 - 2147483647

Write Access Level: Normal

Firmware Versions: 6.24+

接続されているデバイスのシリアル番号です。この値は、特定のデバイスを個別に識別するために使用

されます。

較正されているデバイスでは、この値を正しく設定して較正を有効にする必要があります。

この値は、peripheralid が変更されたときに 0 にリセットされます。

pos

軸の現在の絶対位置(マイクロステップ数単位)。

Scope: Axis

Valid Range: -1000000000 - 1000000000

Write Access Level: Normal

Firmware Versions: 6.06+

注記:この設定値を変更すると、軸が物理的限界を超えて動作しようとする可能性があります。

注記:軸が lockstep group の一部である場合、この設定をマニュアルで変更してもロックステップのオフ

セットは更新されません。つまり、変更がねじれ値に寄与します。

resolution

マイクロステップ分解能。

Scope: Axis

Valid Range: 1 - 256

Write Access Level: Normal

Firmware Versions: 6.06+

モータの 1 ステップあたりのマイクロステップ数を定義します。一般的な A シリーズまたは X シリーズに

使用されているステッパモータには、1 回転あたり 200 ステップ、標準のマイクロステップ分解能は 64 が

あります。したがって、モータを 1 回転させるには 12800 マイクロステップが必要になります。特定のデバ

イスのパラメータについては、デバイス固有の製品ページ(http://www.zaber.com/products)を参照してく

ださい。

注記:解像度が更新されると、motion.accelonly 、motion.decelonly 、limit.min 、limit.max 、

limit.n.pos 、limit.n.preset 、knob.maxspeed 、knob.distance 、maxspeed 、および

motion.index.dist の設定は、現在の値ではなく、デフォルト値に従って更新されます。 この設定を変

更した後は、動作を実行する前に軸を原点復帰させる必要があります。

Page 101: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

101

stream.numbufs

ストリームバッファの数。

Scope: Device

Valid Range: 0 - 4

Write Access Level: Read-Only

Firmware Version: 6.14+

デバイスに提供されているストリームバッファの数を報告します。

stream.numstreams

ストリームの数。

Scope: Device

Valid Range: 0 - 1

Write Access Level: Read-Only

Firmware Version: 6.14+

デバイスに提供されているストリームの数を報告します。

system.access

ユーザーのアクセスレベルを指定します。

Scope: Device

Valid Range: 1 - 2

Write Access Level: Normal

Firmware Versions: 6.06+

デバイスやステージに損傷を与える可能性があるため、'advanced'(高度な)アクセスレベルが必要なコマ

ンドも存在します。これらのコマンドと設定を使用するには、system.access 設定をアクセスレベル 2 に設

定する必要があります。

すべての設定は、アクセスレベルに関係なく読み取り可能です。

system.axiscount

デバイス内の軸の数を報告します。

Scope: Device

Valid Range: 1 - 2

Write Access Level: Read-Only

Firmware Versions: 6.06+

この設定は、照会されたデバイス内の軸の数を報告します。

Page 102: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

102

system.current

デバイスとモータによる消費電流。

Scope: Device

Valid Range: 0 - 5

Write Access Level: Read-Only

Firmware Versions: 6.06+

A-MCB2 および X-MCB2 で利用可能です。

system.led.enable

インジケータ LED を有効または無効にします。

Scope: Device

Valid Range: 0 - 1

Write Access Level: Normal

Firmware Versions: 6.06+

0 に設定すると、デバイスのすべてのフロントパネル LED が無効になります。

system.serial

デバイスのシリアル番号。

Scope: Device

Valid Range: 0 - 4294967295

Write Access Level: Read-Only

Firmware Versions: 6.15+

使用例:

デバイスのシリアル番号は 35542 です。

/get system.serial↵

@01 0 OK IDLE -- 35542

Page 103: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

103

system.temperature

ユニットの現在の温度(摂氏)。

Scope: Device

Valid Range: 0 - 150

Write Access Level: Read-Only

Firmware Versions: 6.06+

使用例:

デバイスは現在 26.8℃です。

system.voltage

デバイスに印加されている電圧。

Scope: Device

Valid Range: 10 - 50

Write Access Level: Read-Only

Firmware Versions: 6.06+

使用例:

デバイスは現在、電源から 47.1V を印加されています。

version

デバイスの Firmware Versions。

Scope: Device

Valid Range: 6.0 - 6.99

Write Access Level: Read-Only

Firmware Versions: 6.06+

使用例:

デバイスの現在のファームウェアバージョンは 6.06 です。

/get system.temperature↵

@01 0 OK IDLE -- 26.8

/get system.voltage↵

@01 0 OK IDLE -- 47.1

/get version↵

@01 0 OK IDLE -- 6.06

Page 104: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

104

version.build

デバイスのファームウェアのビルド番号。これは、カスタムエンジニアリング部品など、複数のビルドが同

じバージョンを共有する場合でも、ファームウェアビルド固有のものです。通常、ビルド番号を調べる必要

はありません。

Scope: Device

Valid Range: 0 - 4294967295

Write Access Level: Read-Only

Firmware Versions: 6.17+

使用例:

virtual.numvirtual

仮想軸の数。

Scope: Device

Valid Range: 0-1

Write Access Level: Read-Only

Firmware Versions: 6.18+

デバイス上で同時に利用可能な仮想軸の数を報告します。

/get version.build↵

@01 0 OK IDLE -- 203

Page 105: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

105

Message IDs - メッセージ ID

応答を特定のコマンドに一致させたい場合や、デバイスが特定のコマンドに応答しないようにする場合が

あります。そのために、メッセージ ID が用意されています。

標準的なコマンド形式に加えて、ASCII プロトコルは、メッセージ ID がコマンドに含まれる形式のバリエー

ションを許可します。メッセージ ID を持つコマンドが送信されるたびに、そのコマンドによって生成された

すべての応答にも同じメッセージ ID が含まれます。これは reply 応答と info メッセージに適用されます

(alerts 警告には、コマンドに直接応答して送信されないため、メッセージ ID は含まれません)。

コマンドにメッセージ ID が含まれている場合は、デバイスのアドレスと軸番号の後に続けて指定する必要

があります。メッセージ ID が含まれている場合は、デバイス番号と軸番号の両方が明示的である必要が

あります。有効なメッセージ ID の範囲は 0〜99 です。応答のメッセージ ID は 2 桁で、デバイスのアドレス

と軸番号にも続き、返信の reply フラッグまたは Info メッセージのデータに先行します。

使用例:

メッセージ ID を含む場合:

デバイス 2 の軸 1 に対して、上記のコマンドでメッセージ ID 8 が指定されています。

すべてのデバイスと軸にメッセージ ID を持つコマンドを送信する場合:

ブロードキャストコマンドを送信中にメッセージ ID を含めるには、デバイスアドレスと軸番号に 0 を使

用します。

コマンドに対して、メッセージ ID を使用し、応答は要求しない場合:

メッセージ ID に--を使用することで、デバイスにコマンドに対し応答を送信しないよう指示できます。

/2 1 8 move rel 10000↵

@02 1 08 OK IDLE -- 0

/0 0 25 stop↵

@01 1 25 OK BUSY -- 0

@01 2 25 OK IDLE -- 0

@02 1 25 OK BUSY -- 0

/1 1 -- set maxspeed 200000↵

Page 106: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

106

Checksumming - チェックサム

Longitudinal Redundancy Check (LRC)が採用されています。これにより、壊れたメッセージの検出が可能

になりますが、エラーの訂正は行われません。

メッセージにチェックサムが含まれていると、デバイスはメッセージのチェックサムを確認します。

デバイスは、comm.checksum 変数が 1 に設定されている場合にのみチェックサムを送信します。

コマンドの 3 番目の最後の文字(フッターを除く)がコロン『:』の場合、デバイスはチェックサムを

検証します。

コロン『:』はチェックサム表示のための予約文字であり、メッセージデータには表示されません。

チェックサムは 2 桁の 16 進数で表され、大文字と小文字は区別されません。

チェックサムは、メッセージタイプ後の最初の byte から計算され、先頭の/ @!#は無視されます。

チェックサムが無効な場合、デバイスはメッセージを無視し、次のコマンドが受信されるまで黄色 LED を

点滅させます。

たとえば、メッセージが次の場合:

チェックサムは次のとおりに計算されます。:

(((48 + 49 + 32 + 116 + 111 + 111 + 108 + 115 + 32 + 101 + 99 + 104 + 111) ^ 0xFF) + 1)

& 0xFF = (((1137 & 0xFF) ^ 0xFF) + 1) & 0xFF = 143 = 0x8F

最後のメッセージは次のとおりです。

Verification - 検証

メッセージチェックサムを検証するために、メッセージ内の全 byte の 8 ビットの合計が計算され、整数に

変換された送信チェックサムに追加されます。メッセージは、合計の 8 ビット結果がゼロのときに有効で

す。メッセージのコロン『:』は区切りとしてのみ使用され、それ以外の場合は無視されます。

上記の例を使用すると:

(1137 + 0x8F) & 0xFF = 0

01 tools echo

/01 tools echo:8F\r\n

Page 107: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

107

Example Code - コードの例

次の例は、メッセージチェックサムを計算し、受信したメッセージを複数の言語で検証する方法を示してい

ます。

C

チェックサムの計算

#define CSUM_NOTPRESENT (-2)

#define CSUM_NOSPACE (-1)

#define CSUM_FAIL (0)

#define CSUM_OK (1)

int csum_message(char *message, unsigned int max_length)

{

unsigned char c_sum = 0; // assuming 8-bit chars

char *p = message + 1; // skip the type character

if (strlen(message) + 6 < max_length) // is there room for the checksum?

{

while (*p != 0x00)

{

c_sum += (unsigned char)*p++; // calculate the checksum

}

c_sum = ~c_sum + 1; // negate, increment and char size truncates

// add the checksum to the message

sprintf(p, ":%02X\r\n", c_sum);

return CSUM_OK;

}

return CSUM_NOSPACE;

}

Page 108: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

108

受信したメッセージの確認

int csum_verify(char *message)

{

unsigned char c_sum = 0; // assuming 8-bit chars

char *p = message + 1; // skip the type character

while (*p != 0x00)

{

c_sum += (unsigned char)*p++; // calculate the sum

if (*p == ':') // found the checksum field, process

{

c_sum += strtol(++p, NULL, 16); // convert the sent checksum

return ((c_sum == 0) ? CSUM_OK : CSUM_FAIL);

}

}

return CSUM_NOTPRESENT;

}

Page 109: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

109

Python

メッセージチェックサムの計算

受信したメッセージの確認

def csum_verify(msg):

c_sum = 0

if msg.find(':') < 0:

return None # return nothing if the checksum isn't present

x_msg, x_sum = msg.split(':', 1) # separate out the message and checksum

for c in x_msg[1:]:

c_sum += ord(c) # recalculate the sum of the received message

c_sum = (c_sum + int(x_sum, 16)) & 0xFF # add in the received checksum and truncate to a 8-bit result

return (c_sum == 0) # return true if the message passed checksum verification

def csum_message(msg):

c_sum = 0

for c in msg[1:]:

c_sum += ord(c) # calculate the sum of the message to be transmitted

c_sum = (256 - (c_sum & 0xFF)) & 0xFF # take the ones compliment and truncate to 8 bits

return '%s:%02X\r\n' % (msg, c_sum) # return the full message

Page 110: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

110

Advanced Feature Reference Manuals - 拡張機能参照マニュアル

Zaber ASCII プロトコルの一部の機能とコマンドは、まれにしか必要とされないため、上記マニュアルには

記載されていません。これらの高度な機能セットは、以下にリストされた別々のマニュアルに記載されてい

ます。 アプリケーションでこれらの機能セットの 1 つが必要な場合は、コマンドを実行する前に Zaber テ

クニカルサポートに連絡することをお勧めします。

Firmware Upgrade Manual

Page 111: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

111

Appendix A - Communication Software 付録 A - 通信ソフトウェア

Zaber Console - Zaber コンソール

Zaber コンソールは、Windows システム上で Zaber デバイスを制御するための推奨アプリケーションです。

1. Zaber コンソールをダウンロード、インストールします。

2. Zaber コンソールを起動します。

3. リストからシリアルポートとプロトコルを選択し、[開く] Open をクリックします。

4. Zaber コンソールは、以下に示すように、チェーン内のデバイスを自動的に検索して一覧表示します。

[Advanced](詳細設定)タブを使用すると、テキストコマンドをデバイスに送信できます。

Page 112: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

112

PuTTY - パティ

PuTTY(ターミナルエミュレータ)を使いことで、Windows 上 ASCII モードで Zaber デバイス制御できます。

1. 最新の Windows インストーラを http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

からダウンロードし、インストールします。

2. PuTTY を起動してください。

3. Terminal category 下で:

o Local echo を Force on に設定。

o Local line editing を Force on に設定。

4. Session category 下で

o connection typ を Serial に設定。

o speed を 115200 に設定。

o デバイスが接続されている COM ポートを入

力します。 通常、コンピュータに直接接続

されている場合は COM1、USB アダプタを

使用している場合は COM3 と思われます。

o 接続の説明(例では Zaber Device Chain)を

入力し、save「保存」をクリックします。次

回からは、Saved Sessions リストの「Zaber

Device Chain」をダブルクリックして接続を

開くことができます。

Page 113: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

113

5. Open [開く]をクリックします。以下に示すようなウィンドウが表示されます。コマンド(この場合は

/)を送信し、Enter キーを押します。デバイスは以下のように応答する必要があります。

接続を確認するためのテストコマンドを送信します。この例では、/ help が送信され、データが受信さ

れました。

Page 114: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

114

Minicom - ミニコン

Minicom は Linux の ASCII モードで Zaber デバイスを制御するための推奨アプリケーションです。

1. 配布パッケージマネージャーを使用して Minicom をインストールします。Debian と Ubuntu の場合:

2. 端末から Minicom を実行。

3. Ctrl + A を押してから O を押し、オプションメニューを開きます。

o Serial port setup を選択します。

serial device (A)を正しいデバイスに設定。

baud rate (E) を 9600 に設定。

hardware flow control と software flow control (F, G)を無効にします。

Enter キーを押して、設定メニューに戻ります。

o Modem and dialing を選択します。

Init strings と Reset strings (option A, B)を消去します。

Enter キーを押して、設定メニューに戻ります。

sudo apt-get install minicom↵

Page 115: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

115

o Screen and keyboard を選択します。

Local echo (Q) を Yes に設定。

Enter キーを押して、設定メニューに戻ります。

o デフォルトとして設定を保存してください。

o Exit

4. テストコマンドを入力(この例では / )し、Enter キーを押します。

5. デバイスは以下のように応答すれば成功です。

Minicom は Ctrl-A、X を押して終了することができます。

Page 116: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

116

Troubleshooting - トラブルシューティング

デバイスからデータが受信されない場合は、以下を確認してください。

o 正しいシリアルポートとボーレートが使用されている。正しい設定については、各々のデバイ

スのユーザーマニュアルを参照してください。

o デバイスの電源が入っている。各デバイスは、前面パネルに緑色のライトが付いている必要が

あります。

o デバイスがコンピュータに正しく接続されているかどうか。

Page 117: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

117

Appendix B - Available Serial Ports 使用可能なシリアルポート

Finding Installed Serial Ports - インストールされたシリアルポートの検索方法

Windows

1. スタートメニューまたはタスクバーから「検索」または「実行」を開

き、「デバイスマネージャー」と入力して Enter を押します。

2. ポート(COM および LPT)カテゴリを展開します。

o この例では、2 つのシリアルポート(COM1 と

COM15)があり、どちらも USB アダプタです。

Page 118: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

118

Linux

1. デバイスの検索

o 端末を開き、次のコマンドを実行します。:

o 応答は次のようになります。

o これは、利用可能な 3 つのシリアルポートがあることを示しています:ttyS0、ttyS4、ttyUSB0

(USB アダプタ)

2. ポート権限の確認

o 上記のポートを使用して、次のコマンドを実行します

o 以下に示す権限は、これらのデバイスにアクセスするには、ユーザーがルートまたはダイヤル

アウトグループのメンバーでなければならないことを示しています。

3. グループメンバーシップの確認

o 出力は次のようになります。:

ダイヤルアウトがリストにないことに注目してください。

o 次のコマンドでユーザーをダイヤルアウトグループに追加できます

o グループメンバーシップは、次のログオンまで有効になりません。

dmesg | grep -E ttyU\?S↵

[ 2.029214] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

[ 2.432572] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

[ 2.468149] 0000:00:03.3: ttyS4 at I/O 0xec98 (irq = 17) is a 16550A

[ 13.514432] usb 7-2: FTDI USB Serial Device converter now attached to ttyUSB0

ls -l /dev/tty{S0, S4, USB0}↵

crw-rw---- 1 root dialout 4, 64 Oct 31 06:44 /dev/ttyS0

crw-rw---- 1 root dialout 4, 68 Oct 31 06:45 /dev/ttyS4

crw-rw---- 1 root dialout 188, 0 Oct 31 07:58 /dev/ttyUSB0

groups↵

adm cdrom sudo dip plugdev users lpadmin sambashare

sudo adduser $USER dialout↵

Page 119: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

119

Appendix C - Switching between Binary and ASCII Protocols

Binary プロトコルと ASCII プロトコルの切り替え

デフォルトでは、A-MCB2 コントローラを除くすべての T シリーズおよび A シリーズデバイスは Binary コ

マンドプロトコルを使用し、X シリーズ(および A-MCB2)デバイスは ASCII コマンドプロトコル で起動しま

す。 A シリーズデバイス(ファームウェア 6.06 以上)および X シリーズデバイスは、バイナリコマンドプロト

コルまたは ASCII コマンドプロトコルを使用するように設定できます。Zaber Console ソフトウェアを使用し

て、使用するプロトコルを設定することをお勧めします。ただし、プロトコルを設定するコマンドはどのソフト

ウェアでも利用できます。

Switching Protocols - プロトコルの切換

プロトコル間でデバイスを変更するには、次の手順を実行します。

1. Zaber Console を開きます。

2. COM port のドロップダウンリストからデバイスが接続されている COM ポートを選択し、Open を押

します。

3. デバイスリストから変更したいデバイスを選択します(または、All Devices を選択し、接続されている

すべてのデバイスを変更します)。

4. Options タブに移動します。

5. ‘Switch to ASCII’ 又は ‘Switch to Binary’ ボタンを押します。

6. ポートが閉じた後に再び開き、デバイスが新しいプロトコルで表示されます。

Page 120: マニュアル/ASCII プロトコルマニュアルtechnology-link.sakura.ne.jp/docs/Zaber/software support...この場合move コマンドのパラメータはabs と10000 です。

120

Resetting to Default Protocol - デフォルトプロトコルへのリセット

上記の手順でデバイスが Zaber コンソールに表示されない等、問題が発生した場合は、次の手順でデバ

イスを出荷時のデフォルトにリセットすることができます。

1. デバイスの電源を切ります。

2. 手動ノブを押したまま保持します。

3. ノブを押したまま電源プラグを再び差し込みます。

4. 青色 LED が点灯するまで(約 5 秒)ノブを押したままにし、その後ノブを放します。

それでもデバイスが表示されない場合は、Zaber の技術サポートにお問い合わせください。

注記:X-JOY3 を使用している場合は、上記の手順でノブではなく 1 と 8 のキーを押し続けてください。