OSCコマンドリファレンス

概要

Open Sound Controlで制御する際のコマンド一覧です。コマンドはSTEP400とSTEP800で共通ですが、STEP400でのみ利用可能なコマンドがあるほか、設定値が異なるコマンドもあります。詳しくは「STEP400とSTEP800で異なる部分」をご確認ください。

STEP400でのみ利用可能なコマンドは STEP400のみ と表記されています。

OSC Bundle(複数のOSC Messageを束ねたもの)ではなく単体のOSC Messageとして送ってください。

モータのID

コマンドをやり取りする際のモータIDは基板に印刷してある番号と一致しています。コマンドによっては全モータに一斉に同じ指令を送ることができるものがあり、その場合はIDに255を指定します。

ですので、コマンドの一部として送ることができるモータIDは以下の通りです。

機種 モータIDの範囲
STEP400 1-4, 255
STEP800 1-8, 255

表記

アーギュメントの数値

表記 説明
(int) 整数の値。コマンドによって実際に送ることができる範囲は異なります。
(float) 浮動小数点数の値。コマンドによって実際に送ることができる範囲は異なります。
(bool) 論理値。1または0のどちらかの整数です。
値の範囲を明確にするためにboolと表記しています。
(Symbol) 文字列 (OSC-string) です。

アーギュメントのタイプ

基板から送信されるメッセージ

OSCの規格では、アーギュメントのタイプとして整数(int32)、浮動小数点数(float32)、文字列(OSC-string)などのほかに、非標準のタイプとして論理値のTrue/Falseなどが定められています。STEPシリーズからの返答メッセージは論理値であってもTrue/Falseは使用せず、整数として送信しています(Universal Firmware 1.1.0以降)。

/setDestIp メッセージを送るまでは基板側からのOSCメッセージの送信は行いません。

基板へ送信されるメッセージ

OSC受信時にタイプの変換をしていますので、例えば1または0の論理値の場合でも、整数や浮動小数点数で送信することが可能です。文字列の場合はエラーになります。

Type 1と判定 0と判定
int32 1以上 0以下
float32 1.0以上 1.0未満
論理値 True False
OSC-string Error Error

同様に整数や浮動小数点数の場合も相互に変換をしています。この場合は論理値と文字列の場合がエラーになります。

コマンドを実行可能なタイミング

コマンドによっては実行できるタイミングが限られているものがあります。各コマンドのリファレンスに「実行可能タイミング」として表示してあります。

表記 説明
常時 いつでも実行できる。
BUSY解除時 BUSY状態ではないときに実行できる。
モータ停止時 モータが停止しているときに実行できる。
HiZ状態 ドライバ出力がHiZ状態になっているときに実行できる。
動作開始条件時 モータ動作の開始条件がそろったときに実行できる。

動作開始条件

以下の条件を満たしている状態です。

  • 電磁ブレーキが解除されている
  • サーボモードではない

また送ろうとしているコマンドの設定値は以下の条件を満たしている必要があります。

  • /setProhibitMotionOnHomeSwが設定されていて、HOMEスイッチが反応しているときにhomingDirectionへ動作しようとしていない
  • /setProhibitMotionOnLimitSwが設定されていて、LIMITスイッチが反応しているときにhomingDirectionの逆方向へ動作しようとしていない

留意点

基板側からあて先に到達できないOSCメッセージを大量に送ると挙動がおかしくなることがあるため、/setDestIp メッセージを送るまでは基板側からのOSCメッセージの送信は行いません。

Back to top