コマンド(モーター動作)一覧
モーターの動作に関するコマンドの一覧です。
byte[0] | Command Name | 説明 |
---|---|---|
0x50 | disable | モーターの動作を不許可とする |
0x51 | enable | モーター動作を許可する |
0x58 | speed | 速度の大きさを設定する |
0x5A | presetPosition | 位置のプリセットを行う(原点設定) |
0x60 | runForward | 正回転する(反時計回り) |
0x61 | runReverse | 逆回転する(時計回り) |
0x62 | runAtVelocity | 指定した速度で回転する |
0x66 | moveToPosition | 絶対位置に移動する |
0x68 | moveByDistance | 相対位置に移動する |
0x6C | free | モーターの励磁を停止する |
0x6D | stop | 速度ゼロまで減速し停止する |
0x72 | holdTorque | トルク制御を行う |
0x81 | doTaskset | タスクセットを実行する |
0x86 | preparePlaybackMotion | モーション再生の開始地点に移動する |
0x87 | startPlaybackMotion | モーションを再生する |
0x88 | stopPlaybackMotion | モーション再生を停止する |
コマンド(モーター動作)詳細
0x50 : disable
モーターの動作を不許可とする
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x50 | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |
この命令を実行した場合、モーターは動作しません。
モーター起動時は disable 状態のため、enable で動作を許可する必要があります。
このコマンドはタスクセットに記録することはできません。
モーター起動時は disable 状態のため、enable で動作を許可する必要があります。
このコマンドはタスクセットに記録することはできません。
0x51 : enable
モーターの動作を許可する
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x51 | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |
この命令を実行することで、モーターの動作を許可します。
KeiganMotor起動時は disable 状態のため、本コマンドで動作を許可する必要があります。
このコマンドはタスクセットに記録することはできません。
KeiganMotor起動時は disable 状態のため、本コマンドで動作を許可する必要があります。
このコマンドはタスクセットに記録することはできません。
0x58 : speed
モーターの速度の大きさ(速さ)を設定する
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] |
---|---|---|---|---|---|---|---|---|---|
値 | 0x58 | uint16_t identifier | float speed | uint16_t crc16 | |||||
説明 | コマンド | タスク管理用ID | 速さ [radian / second] (正の値) |
巡回冗長検査 (データ誤り検出用) |
以下のコマンドを実行する前に本コマンドで速さを設定して下さい。
0x60:runForward, 0x61:runReverse, 0x66:moveTo, 0x68:moveBy
0x60:runForward, 0x61:runReverse, 0x66:moveTo, 0x68:moveBy
0x5A : presetPosition
モーターの現在位置を指定の絶対位置としてプリセットする
(原点にする場合はゼロをセット)
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] |
---|---|---|---|---|---|---|---|---|---|
値 | 0x5A | uint16_t identifier | float position | uint16_t crc16 | |||||
説明 | コマンド | タスク管理用ID | 絶対位置 [radian] | 巡回冗長検査 (データ誤り検出用) |
0x60 : runForward
0x58: speed で設定された速さで正回転する(反時計回り)
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x60 | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |
0x61 : runReverse
0x58: speed で設定された速さで逆回転する(時計回り)
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x61 | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |
0x62 : runAtVelocity
指定した速さで回転する(正の値: 反時計回り、負の値: 時計回り)
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] |
---|---|---|---|---|---|---|---|---|---|
値 | 0x62 | uint16_t identifier | float velocity | uint16_t crc16 | |||||
説明 | コマンド | タスク管理用ID | 速度 [radian/second] | 巡回冗長検査 (データ誤り検出用) |
0x66 : moveTo
指定の絶対位置に移動する
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] |
---|---|---|---|---|---|---|---|---|---|
値 | 0x66 | uint16_t identifier | float position | uint16_t crc16 | |||||
説明 | コマンド | タスク管理用ID | 絶対位置 [radian] | 巡回冗長検査 (データ誤り検出用) |
0x68 : moveBy
現在位置からの相対位置移動を行う
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] |
---|---|---|---|---|---|---|---|---|---|
値 | 0x68 | uint16_t identifier | float distance | uint16_t crc16 | |||||
説明 | コマンド | タスク管理用ID | 相対位置 [radian] | 巡回冗長検査 (データ誤り検出用) |
0x6C : free
モーターの励磁を停止する
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x6C | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |
0x6D : stop
速度ゼロまで減速し停止する
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x6D | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |
0x72 : holdTorque
指定したトルクを出力する
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] |
---|---|---|---|---|---|---|---|---|---|
値 | 0x72 | uint16_t identifier | float torque | uint16_t crc16 | |||||
説明 | コマンド | タスク管理用ID | トルク [N*m] | 巡回冗長検査 (データ誤り検出用) |
速度や位置を同時に制御する場合は、モーター設定の 0x0E: maxTorque と 0x60: runForward 等を併用して下さい。
0x81 : doTaskSet
指定したインデックスのタスクセットを実行する
タスクセットの記録は、コマンド(タスクセット)を参照下さい。repeating については 0 を設定すると、無限に繰り返し再生を行います。
KM-1本体ファームウェア 1.12以降にて対応済みです。(20180131)
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [10] |
---|---|---|---|---|---|---|---|---|---|---|---|
値 | 0x81 | uint16_t identifier | uint16_t index | uint32_t repeating | uint16_t crc16 | ||||||
説明 | コマンド | タスク管理用ID | インデックス | 繰り返し回数 | 巡回冗長検査 (データ誤り検出用) |
0x86 : preparePlaybackMotion
指定したインデックスのモーションの再生準備を実行する
byte | [0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [10] | [11] |
---|---|---|---|---|---|---|---|---|---|---|---|---|
値 | 0x86 | uint16_t identifier | uint16_t index | uint32_t repeating | uint8_t option | uint16_t crc16 | ||||||
説明 | コマンド | タスク管理用ID | インデックス | 繰り返し回数 | オプション | 巡回冗長検査 (データ誤り検出用) |
ティーチング(動作の記録)は、コマンド(ティーチング)を参照下さい。
repeating, option についてはファームウェア ver1.13以降にて対応済みです。option 引数を 1 とすると、現在位置を開始地点として相対的に動作を再生します。(2018年3月13日)
typedef enum option =
{
PLAYBACK_OPTION_ABS = 0, // 再生開始位置を記録された絶対位置とする
PLAYBACK_OPTION_RELATIVE = 1, // 開始位置は現在位置とする(開始位置以外は全てオフセットされる)
}
0x87 : startPlaybackMotion
直前の preparePlaybackMotion の条件でモーションの再生を開始する
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x87 | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |
0x88 : stopPlaybackMotion
モーションの再生を停止する
byte | [0] | [1] | [2] | [3] | [4] |
---|---|---|---|---|---|
値 | 0x88 | uint16_t identifier | uint16_t crc16 | ||
説明 | コマンド | タスク管理用ID | 巡回冗長検査 (データ誤り検出用) |