PMX PythonLib MemREADToUint32()

『PMX Library for Python』のMemREADToUint32()関数について解説します。

 

【解説】

MemREADコマンドは、メモリマップのRAM領域から情報を読み出すためのコマンドです。PMXサーボのメモリマップにはRAM領域とROM領域があります。サーボ起動時にROM領域からRAM領域にデータが展開され、サーボの制御にはRAM領域のデータが使用されます。

この関数は、アドレスで指定したRAM領域から2バイトのデータを読み出すことができます。また、MemREAD()関数では、2バイト以上のデータはリトルエンディアン方式に分かれて1バイトずつ返しますが、この関数は内部で変換して返しますので2バイトのデータとしてそのまま使用することができます。符号なし4バイトデータを読み出す際にご利用ください。

 

【構文】

[status, data] = MemREADToUint32(ID, address)

 

【例】

 

【パラメータ】

引数1:ID(int型)

第一引数の「ID」はサーボIDです。「ID」は、MemREADコマンドの命令の対象になるサーボを指定しています。「ID」を0に指定すると、ID0のサーボを指定することができます。

 

引数2:address(int型)

第二引数の「Address」は先頭アドレスです。「先頭アドレス」とは、メモリマップのアドレスを指し、読み出すデータの先頭のアドレスを指定することができます。上記の例では「PMX.RamAddrList.PositionKp」と書いていますが、これはライブラリ内で定義された変数で、メモリマップのアドレスを指定しています。「PMX.RamAddrList.PositionKp」には0が代入されていますので、実行の際は0に変換されます。また数値で0と指定しても同じ番地からデータを読み出すことができます。アドレスは『オンラインマニュアル』をご参照ください。

 

【戻り値】

戻り値1:status(int型)

一つ目の戻り値は、サーボとの通信状態とサーボの状態が正常かどうかのステータスを足したものが返ってきます。データが0であれば問題ありません。0以外の場合は、なんらかの問題が発生していますので、ステータス部がエラーの場合はオンラインマニュアルの『5.エラー状態』を、通信部がエラーの場合は『ComError』を参照してください。

 

戻り値2:data(int型(符号なし4バイトデータ))

二つ目の戻り値として読み出した4バイトのデータが返ってきます。

 

 

リファレンスの目次に戻る